31 Zeilen
Kein EOL
727 B
JavaScript
31 Zeilen
Kein EOL
727 B
JavaScript
import I18n from "I18n";
|
|
|
|
const getThemeId = () => {
|
|
let themeId = parseInt($("meta[name=discourse_theme_ids]")[0].content, 10);
|
|
|
|
if (!isNaN(themeId)) {
|
|
return themeId.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
const translationExists = (key) => {
|
|
return I18n.findTranslation(key, { locale: I18n.locale }) ||
|
|
I18n.findTranslation(key, { locale: I18n.defaultLocale });
|
|
}
|
|
|
|
const WizardI18n = (key, params={}) => {
|
|
const themeId = getThemeId();
|
|
if (!themeId) return I18n.t(key, params);
|
|
|
|
const themeKey = `theme_translations.${themeId}.${key}`;
|
|
|
|
if (translationExists(themeKey)) {
|
|
return I18n.t(themeKey, params);
|
|
} else {
|
|
return I18n.t(key, params);
|
|
}
|
|
}
|
|
|
|
export default WizardI18n;
|