home *** CD-ROM | disk | FTP | other *** search
- <?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:spring">
- <implementation name="XStringBundle">
-
- <method name="getString">
- <parameter name="aStringKey"/>
- <body>
- <![CDATA[
- return this.stringBundle.GetStringFromName(aStringKey);
- ]]>
- </body>
- </method>
-
- <method name="getFormattedString">
- <parameter name="aStringKey"/>
- <parameter name="aStringsArray"/>
- <body>
- <![CDATA[
- return this.stringBundle.formatStringFromName(aStringKey, aStringsArray, aStringsArray.length);
- ]]>
- </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="_bundle">null</property>
-
- </implementation>
- </binding>
-
- </bindings>
-