blob: 3365bd61f60113a0ee6cd8412acb049c427b69a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<bindings id="stringBundleBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="stringbundleset" extends="xul:box"/>
<binding id="stringbundle" extends="xul:spacer">
<implementation name="XStringBundle">
<method name="getString">
<parameter name="aStringKey"/>
<body>
<![CDATA[
try {
return this.stringBundle.GetStringFromName(aStringKey);
}
catch (e) {
dump("*** Failed to get string " + aStringKey + " in bundle: " + this.src + "\n");
throw e;
}
]]>
</body>
</method>
<method name="getFormattedString">
<parameter name="aStringKey"/>
<parameter name="aStringsArray"/>
<body>
<![CDATA[
try {
return this.stringBundle.formatStringFromName(aStringKey, aStringsArray, aStringsArray.length);
}
catch (e) {
dump("*** Failed to format string " + aStringKey + " in bundle: " + this.src + "\n");
throw e;
}
]]>
</body>
</method>
<property name="stringBundle" readonly="true">
<getter>
<![CDATA[
if (!this._bundle) {
try {
this._bundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle(this.src);
}
catch (e) {
dump("Failed to get stringbundle:\n");
dump(e + "\n");
}
}
return this._bundle;
]]>
</getter>
</property>
<property name="src">
<getter>
<![CDATA[
return this.getAttribute("src");
]]>
</getter>
<setter>
<![CDATA[
this._bundle = null;
this.setAttribute("src", val);
return val;
]]>
</setter>
</property>
<property name="strings">
<getter>
<![CDATA[
// Note: this is a sucky method name! Should be:
// readonly attribute nsISimpleEnumerator strings;
return this.stringBundle.getSimpleEnumeration();
]]>
</getter>
</property>
<field name="_bundle">null</field>
</implementation>
</binding>
</bindings>
|