polardbxengine/storage/ndb/mcc/frontend/dojo/dojox/mobile/i18n.js.uncompressed.js

55 lines
1.6 KiB
JavaScript

define("dojox/mobile/i18n", [
"dojo/_base/lang",
"dojo/i18n",
"dijit/_WidgetBase"
], function(lang, di18n, WidgetBase){
// module:
// dojox/mobile/i18n
var i18n = {
// summary:
// An internationalization utility for applications based on dojox/mobile.
};
lang.setObject("dojox.mobile.i18n", i18n);
i18n.load = function(/*String*/packageName, /*String*/bundleName, /*String?*/locale){
// summary:
// Loads an nls resource bundle and returns an array of localized
// resources.
return i18n.registerBundle(di18n.getLocalization(packageName, bundleName, locale));
};
i18n.registerBundle = function(/*Array*/bundle){
// summary:
// Accumulates the given localized resources in an array and returns
// it.
if(!i18n.bundle){ i18n.bundle = []; }
return lang.mixin(i18n.bundle, bundle);
};
i18n.I18NProperties = {
// summary:
// These properties can be specified for any widget once the dojox/mobile/i18n module is loaded.
// mblNoConv: Boolean
// Disables localization by dojox/mobile/i18n for the widget on which the property is set.
mblNoConv: false
};
// Since any widget can have properties localized by dojox/mobile/i18n, mix I18NProperties
// into the base widget class. (This is a hack, but it's effective.)
// This is for the benefit of the parser. Remove for 2.0. Also, hide from doc viewer.
lang.extend(WidgetBase, /*===== {} || =====*/ i18n.I18NProperties);
// Mixin the _cv method which is called by property setters.
lang.extend(WidgetBase, {
_cv: function(s){
if(this.mblNoConv || !i18n.bundle){ return s; }
return i18n.bundle[lang.trim(s)] || s;
}
});
return i18n;
});