Extracted english translations

This commit is contained in:
Renan LE CARO 2025-03-15 21:29:38 +01:00
parent 7999777f69
commit 7555ed0ff1
14 changed files with 10224 additions and 2910 deletions

29
src/i18n/i18n.ts Normal file
View file

@ -0,0 +1,29 @@
import fr from './fr.json'
import en from './en.json'
import {getSettingValue} from "../settings";
type translationKeys = keyof typeof en
type translation= { [key in translationKeys] : string }
const languages:Record<string, translation>= {fr,en}
export function t(key: translationKeys, params: {[key:string]:any} = {}):string {
const lang = getSettingValue('lang',getFirstBrowserLanguage())
let template=languages[lang]?.[key] || languages.en[key]
for(let key in params){
template=template.split('{{'+key+'}}').join(`${params[key]}`)
}
return template
}
function getFirstBrowserLanguage() {
const preferred_languages = [
...navigator.languages,
navigator.language,
'en'
].filter(i => i)
.map(i => i.slice(0, 2).toLowerCase())
const supported = Object.keys(languages)
return preferred_languages.find(k=>supported.includes(k)) || 'en'
};