discourse/test/javascripts/initializers/localization-test.js.es6
Régis Hanol a2c04be718 FIX: eradicate I18n fallback issues 💣
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
2017-02-24 11:31:21 +01:00

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");
});