File: stringbundle.xml

package info (click to toggle)
iceweasel 2.0.0.19-0etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 298,784 kB
  • ctags: 317,912
  • sloc: cpp: 1,796,902; ansic: 987,677; xml: 109,036; makefile: 47,777; asm: 35,201; perl: 26,983; sh: 20,879; cs: 6,232; java: 5,513; python: 3,249; pascal: 459; lex: 306; php: 244; csh: 132; objc: 97; yacc: 79; ada: 49; awk: 14; sql: 4; sed: 4
file content (107 lines) | stat: -rw-r--r-- 3,147 bytes parent folder | download | duplicates (10)
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
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.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 {
                var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
                                                    .getService(Components.interfaces.nsIStringBundleService);
                this._bundle = stringBundleService.createBundle(this.src, this.appLocale);
              }
              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="appLocale">
        <getter>
          <![CDATA[
            try {
              var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
                                            .getService(Components.interfaces.nsILocaleService);
              return localeService.getApplicationLocale();
            }
            catch (ex) {
              return null;
            }
          ]]>
        </getter>
      </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>