mozilla

比较版本

属性文件

更改版本

修订版 275829:

由 alzhu 在 进行的修订 275829

修订版 222940:

由 alzhu 在 进行的修订 222940

标题:
属性文件
属性文件
网址缩略名:
XUL_教程/属性文件
XUL_教程/属性文件
内容:

修订版 275829
修订版 222940
t7    <div id="page-top">t
8      <div class="pageText" id="pageText">
9        <p>
10          &nbsp;&nbsp;&nbsp; 在脚本中,不能使用实体,用属性文件代替。
11        </p>
12        <div id="section_1">
13          <h3 class="editable" id="_.E5.B1.9E.E6.80.A7">
14            <span>属性</span>
15          </h3>
16          <div class="editIcon">
17            <h3 class="editable" id="_.E5.B1.9E.E6.80.A7">
18              <a href="../../../../en/XUL_Tutorial/Property_Files
>#" style="visibility: hidden;" title="Edit section"><span class=" 
>icon"><img alt="Edit section" class="sectionedit" src="../../../. 
>./skins/common/icons/icon-trans.gif"></span></a> 
19            </h3>
20          </div>
21          <p>
22            &nbsp;&nbsp;&nbsp; 当你在XUL文件中使用DTD文件是恰当的。然而,脚本不解析实体。也就
>是说,如果你希望在脚本中显示信息而且你不知道到底要显示什么,请使用属性文件 
23          </p>
24          <p>
25            &nbsp;&nbsp;&nbsp; 一个属性文件包含一系列字符串。你可以在DTD文件旁边找到属性文件(.
>properties后缀)。属性按照以下语法定义 name=value。实例如下。 
26          </p>
27          <pre>
28notFoundAlert=No files were found matching the criteria.
29deleteAlert=Click OK to have all your files deleted.
30resultMessage=%2$S files found in the %1$S directory.
31</pre>
32          <p>
33            &nbsp;&nbsp;&nbsp; 上例中,属性文件包含桑属性,可以由脚本读取显示给用户。
34          </p>
35        </div>
36        <div id="section_2">
37          <h3 class="editable" id="_Stringbundles_">
38            <span>Stringbundles</span>
39          </h3>
40          <div class="editIcon">
41            <h3 class="editable" id="_Stringbundles_">
42              <a href="../../../../en/XUL_Tutorial/Property_Files
>#" style="visibility: hidden;" title="Edit section"><span class=" 
>icon"><img alt="Edit section" class="sectionedit" src="../../../. 
>./skins/common/icons/icon-trans.gif"></span></a> 
43            </h3>
44          </div>
45          <p>
46            &nbsp;&nbsp; 你可以写一段代码手动来读取属性,而在XUL中有一个 <code><span cl
>ass="lang lang-en"><a href="../../../../en/XUL/stringbundle" rel= 
>"internal">stringbundle</a></span></code> 元素来帮你做。这个元素有一系列函数有属性文件中 
>获取属性并得到本地化信息。这个元素有属性文件读取内容并为你建立一个属性列表。你可以通过名字来查找属性。 
47          </p>
48          <pre>
49&lt;stringbundleset id="strbundles"&gt;
50&lt;stringbundle id="strings" src="strings.properties"/&gt;
51&lt;/stringbundleset&gt;
52</pre>
53          <p>
54            &nbsp;&nbsp;&nbsp; 这个元素会从与该XUL文件系统的目录中读取名为 'strings.p
>roperties'的文件。像其他非显示元素一样你可以使用一个 <code><span class="lang lang-en"> 
><a href="../../../../en/XUL/stringbundleset" rel="internal">strin 
>gbundleset</a> <span style="font-family: Verdana,Tahoma,sans-seri 
>f;">来包含所以的</span></span></code><code><span class="lang lang-en">< 
>a href="../../../../en/XUL/stringbundle" rel="internal">stringbun 
>dle</a></span></code> <code><span class="lang lang-en"><span styl 
>e="font-family: Verdana,Tahoma,sans-serif;">。</span></span></code 
>> 
55          </p>
56          <div id="section_3">
57            <h4 class="editable" id="_.E7.94.B1_stringbundle.E8.8
>E.B7.E5.8F.96.E5.AD.97.E7.AC.A6.E4.B8.B2"> 
58              <span>由</span> <code><span class="lang lang-en"><a 
>href="../../../../en/XUL/stringbundle" rel="internal">stringbundl 
>e</a>获取字符串</span></code> 
59            </h4>
60            <div class="editIcon">
61              <h4 class="editable" id="_.E7.94.B1_stringbundle.E8
>.8E.B7.E5.8F.96.E5.AD.97.E7.AC.A6.E4.B8.B2"> 
62                <a href="../../../../en/XUL_Tutorial/Property_Fil
>es#" title="Edit section"><span class="icon"><img alt="Edit secti 
>on" class="sectionedit" src="../../../../skins/common/icons/icon- 
>trans.gif"></span></a> 
63              </h4>
64            </div>
65            <p>
66              &nbsp; &nbsp;&nbsp; <code><span class="lang lang-en
>"><a href="../../../../en/XUL/stringbundle" rel="internal">string 
>bundle</a></span></code> 元素有一系列方法。首先是 <code>getString</code> 用于脚本 
>读取字符串。 
67            </p>
68            <pre>
69var strbundle = document.getElementById("strings");
70var nofilesfound=strbundle.getString("notFoundAlert");
71 
72alert(nofilesfound);
73</pre>
74            <ul>
75              <li>本例首先使用 <code>id 获得字符串束的一个引用</code>
76              </li>
77              <li>然后在属性文件中查找 'notFoundAlert' 字符串 <code>getString(
>)</code> 函数返回字符串的值或 null (字符串不存在)。 
78              </li>
79              <li>最后把职工文本显示在提示框里。
80              </li>
81            </ul>
82          </div>
83          <div id="section_4">
84            <h4 class="editable" id=".E6.96.87.E6.9C.AC.E6.A0.BC.
>E5.BC.8F"> 
85              <span>文本格式</span>
86            </h4>
87            <div class="editIcon">
88              <h4 class="editable" id=".E6.96.87.E6.9C.AC.E6.A0.B
>C.E5.BC.8F"> 
89                <a href="../../../../en/XUL_Tutorial/Property_Fil
>es#" style="visibility: hidden;" title="Edit section"><span class 
>="icon"><img alt="Edit section" class="sectionedit" src="../../.. 
>/../skins/common/icons/icon-trans.gif"></span></a> 
90              </h4>
91            </div>
92            <p>
93              &nbsp;&nbsp;&nbsp; <code>getFormattedString()</code
>>方法也根据名字从文本束中查找字符串,此外会按照格式控制代码 (如 <code>%S</code>) 将其后给出的数组内容替换入字 
>符串。 
94            </p>
95            <pre>
96var dir = "/usr/local/document";
97var count = 10;
98 
99var strbundle = document.getElementById("strings");
100var result = strbundle.getFormattedString("resultMessage", [ dir,
> count ]); 
101 
102alert(result);
103</pre>
104            <p>
105              &nbsp;&nbsp;&nbsp; 本例显示如下。
106            </p>
107            <pre>
10810 files found in the /usr/local/document directory.
109</pre>
110            <p>
111              &nbsp;&nbsp;&nbsp; 你会注意到格式化代码 <code>%1$S</code> 及 <
>code>%2$S</code>被使用,替换顺序也和在数组中的不同。格式化代码 %<em>n</em>$S 直接描述替换参数的位置 
>。尽管在不同语言中词序可能不同通过 <code>getFormattedString()</code>描述的顺序可以被写入属性文件 
> 
112            </p>
113          </div>
114        </div>
115        <div id="section_5">
116          <h3 class="editable" id="_.E9.9D.9EASCII.E7.A0.81.E7.9A
>.84.E6.8D.A2.E7.A0.81.E7.AC.A6_"> 
117            <span>非ASCII码的换码符</span>
118          </h3>
119          <div class="editIcon">
120            <h3 class="editable" id="_.E9.9D.9EASCII.E7.A0.81.E7.
>9A.84.E6.8D.A2.E7.A0.81.E7.AC.A6_"> 
121              <a href="../../../../en/XUL_Tutorial/Property_Files
>#" style="visibility: hidden;" title="Edit section"><span class=" 
>icon"><img alt="Edit section" class="sectionedit" src="../../../. 
>./skins/common/icons/icon-trans.gif"></span></a> 
122            </h3>
123          </div>
124          <p>
125            &nbsp;&nbsp;&nbsp; (这可能不再正确:在 <a href="../../../../en
>/Localizing_extension_descriptions" rel="internal">Localizing ext 
>ension descriptions</a>中说 “使用 UTF-8 编码(而非 BOM) 保证外文正确显示。” UTF-8 编 
>码文本有效, 换码符同样有用。一些新想法的引入会更有用。) 
126          </p>
127          <p>
128            &nbsp;&nbsp;&nbsp; 尽管大多数语言使用非ASCII字符集。属性文件只能使用ASCII字符
>集编制。然而,属性文件支持其他字符的换码形式: <code>\uXXXX</code> 这里的 XXXX 是字符码,因此,你的属性 
>文件可以包含非ASCII字符,不过你需要把他们转换为换码形式。你可以使用 Sun's Java Development Kit ( 
>JDK)的 native2ascii 命令来完成它。 
129          </p>
130          <p>
131            Gecko 1.8.x (or later) 支持属性文件以 UTF-8编码。你可以直接写入非ASCII字
>符。 
132          </p>
133          <p>
134            <br>
135            下一章,我们将讨论 XBL,它用于定义元素的行为( <a href="../../../../en/XUL
>_Tutorial/Introduction_to_XBL" rel="internal">behavior of an elem 
>ent</a>.) 
136          </p>
137          <div class="prevnext">
138            <p>
139              <span style="float: left;">« <a href="../../../../e
>n/XUL_Tutorial/Localization" rel="internal">Previous</a></span> < 
>span style="float: right;"><a href="../../../../en/XUL_Tutorial/I 
>ntroduction_to_XBL" rel="internal">Next</a> »</span> 
140            </p>
141          </div>
142          <p>
143            &nbsp;&nbsp;
144          </p>
145        </div>
146      </div>
147    </div>
148    <div class="printfooter" id="printfooter">
149      <hr>
150      <p>
151        Retrieved from "<a href="../../../../En/XUL_Tutorial/Prop
>erty_Files">https://developer.mozilla.org/En/XUL_Tutorial/Propert 
>y_Files</a>" 
152      </p>
153    </div>
154    <div class="collapsed" id="languages">
155      <h5 id="Languages">
156        Languages
157      </h5>
158      <ul style="display: none;">
159        <li>
160          <a href="../../../../fr/Tutoriel_XUL/Les_fichiers_de_pr
>opri%c3%a9t%c3%a9s" rel="internal">Français</a> 
161        </li>
162        <li>
163          <a href="../../../../pl/Kurs_XUL/Plik_w%c5%82asno%c5%9b
>ci" rel="internal">Polski</a> 
164        </li>
165        <li>
166          <a href="../../../../ja/XUL_Tutorial/Property_Files" re
>l="internal">日本語</a> 
167        </li>
168      </ul>
169    </div>

返回历史