Files
animated_wallpaper/i18n.js
T

64 lines
2.8 KiB
JavaScript

/* Internationalization dictionary
*
* Each key is the ENGLISH text. To add a new language, just add
* a translation under the language's two-letter code (e.g. de, it, fr).
*
* Example:
* TRANSLATIONS['Sunrise'] = { en: 'Sunrise', de: 'Aufgang', it: 'Alba' };
*
* The current language is taken from window.CONFIG.language.
* Fallback order: requested language → 'en' → first available → key.
*/
window.TRANSLATIONS = {
'Sunrise': { en: 'Sunrise', de: 'Aufgang' },
'Sunset': { en: 'Sunset', de: 'Untergang' },
'Sun Zenith': { en: 'Sun Zenith', de: 'Zenit Sonne' },
'Moon Phase': { en: 'Moon Phase', de: 'Mondphase' },
'Moonrise': { en: 'Moonrise', de: 'Mond auf' },
'Moonset': { en: 'Moonset', de: 'Mond unter' },
'today': { en: 'today', de: 'heute' },
'tomorrow': { en: 'tomorrow', de: 'morgen' },
'New Moon': { en: 'New Moon', de: 'Neumond' },
'Waxing Crescent': { en: 'Waxing Crescent', de: 'Zunehm. Sichel' },
'First Quarter': { en: 'First Quarter', de: 'Erstes Viertel' },
'Waxing Gibbous': { en: 'Waxing Gibbous', de: 'Zunehm. Gibbous' },
'Full Moon': { en: 'Full Moon', de: 'Vollmond' },
'Waning Gibbous': { en: 'Waning Gibbous', de: 'Abnehm. Gibbous' },
'Last Quarter': { en: 'Last Quarter', de: 'Letztes Viertel' },
'Waning Crescent': { en: 'Waning Crescent', de: 'Abnehm. Sichel' },
'Mo.': { en: 'Mo.', de: 'Mo.' },
'Tu.': { en: 'Tu.', de: 'Di.' },
'We.': { en: 'We.', de: 'Mi.' },
'Th.': { en: 'Th.', de: 'Do.' },
'Fr.': { en: 'Fr.', de: 'Fr.' },
'Sa.': { en: 'Sa.', de: 'Sa.' },
'Su.': { en: 'Su.', de: 'So.' },
'Humidity': { en: 'Humidity', de: 'Feuchte' },
'Wind': { en: 'Wind', de: 'Wind' },
// 2-letter time-of-day labels
'Morning': { en: 'Mo', de: 'Mo' },
'Noon': { en: 'No', de: 'Mi' },
'Evening': { en: 'Ev', de: 'Ab' },
'Night': { en: 'Ni', de: 'Na' }
};
window.getTranslation = function(key) {
var lang = (window.CONFIG && window.CONFIG.language) || 'en';
var entry = window.TRANSLATIONS[key];
if (!entry) return key;
// Fallback chain: requested language → 'en' → first available → key
if (entry[lang]) return entry[lang];
if (entry.en) return entry.en;
for (var k in entry) {
if (entry.hasOwnProperty(k) && entry[k]) return entry[k];
}
return key;
};
window.t = window.getTranslation;