mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 05:03:40 +08:00
a2c04be718
FIX: client's translation overrides were not working when the current locale was missing a key FIX: ExtraLocalesController.show was not properly handling multiple translations FIX: JsLocaleHelper#output_locale was not properly handling multiple translations FIX: ExtraLocalesController.show's spec which was randomly failing FIX: JsLocaleHelper#output_locale was muting cached translations hashes REFACTOR: move 'enableVerboseLocalization' to the 'localization' initializer REFACTOR: remove unused I18n.js methods (getFallbacks, localize, parseDate, toTime, strftime, toCurrency, toPercentage) REFACTOR: remove all I18n.pluralizationRules and instead use MessageFormat's pluralization rules TEST: add tests for localization initializer TEST: add tests for I18n.js
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import PreloadStore from 'preload-store';
|
|
import LocalizationInitializer from 'discourse/initializers/localization';
|
|
|
|
module("initializer:localization", {
|
|
_locale: I18n.locale,
|
|
_translations: I18n.translations,
|
|
|
|
setup() {
|
|
I18n.locale = "fr";
|
|
|
|
I18n.translations = {
|
|
"fr": {
|
|
"js": {
|
|
"composer": {
|
|
"reply": "Répondre"
|
|
}
|
|
}
|
|
},
|
|
"en": {
|
|
"js": {
|
|
"topic": {
|
|
"reply": {
|
|
"help": "begin composing a reply to this topic"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
},
|
|
|
|
teardown() {
|
|
I18n.locale = this._locale;
|
|
I18n.translations = this._translations;
|
|
}
|
|
});
|
|
|
|
test("translation overrides", function() {
|
|
PreloadStore.store('translationOverrides', {"js.composer.reply":"WAT","js.topic.reply.help":"foobar"});
|
|
LocalizationInitializer.initialize(this.registry);
|
|
|
|
equal(I18n.t("composer.reply"), "WAT", "overrides existing translation in current locale");
|
|
equal(I18n.t("topic.reply.help"), "foobar", "overrides translation in default locale");
|
|
});
|