silverstripe-framework/client/src/i18nx.js
Ingo Schommer 19de22f427 API Moved frontend assets into admin/client/
admin/javascript => admin/client
admin/javascript/src => admin/client/src/legacy (mostly)
admin/scss/_variables.scss => admin/client/styles/_variables.scss
admin/scss => admin/client/styles/legacy/
admin/css/editor.css => admin/client/dist/css/editor.css
admin/css/screen.css => admin/client/dist/css/bundle.css
admin/images => admin/client/dist/images
admin/images/sprites/src => admin/client/src/sprites
admin/images/sprites/dist => admin/client/dist/sprites
admin/font => admin/client/dist/font
2016-04-20 21:13:10 +12:00

56 lines
985 B
JavaScript

/**
* Stub implementation for i18n code.
* Use instead of framework/javascript/src/i18n.js
* if you want to use any SilverStripe javascript
* without internationalization support.
*/
class i18nx {
constructor() {
this.currentLocale = 'en_US';
this.defaultLocale = 'en_US';
}
_t(entity, fallbackString, priority, context) {
return fallbackString;
}
sprintf(s, ...params) {
if (params.length === 0) {
return s;
}
const regx = new RegExp('(.?)(%s)', 'g');
let i = 0;
return s.replace(regx, function (match, subMatch1, subMatch2, offset, string) {
// skip %%s
if (subMatch1 === '%') {
return match;
}
return subMatch1 + params[i += 1];
});
}
inject(s, map) {
const regx = new RegExp('\{([A-Za-z0-9_]*)\}', 'g');
return s.replace(regx, function (match, key, offset, string) {
return (map[key]) ? map[key] : match;
});
}
addDictionary() {
}
getDictionary() {
}
};
let _i18nx = new i18nx();
export default _i18nx;