feat(i18n): add French language support and enhance localization
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s

- Introduced French as a supported language across the application, updating locale files and adding translations for various components.
- Enhanced language handling logic to accommodate French, ensuring proper detection and fallback mechanisms.
- Updated UI elements to include French language options, improving accessibility for French-speaking users.
- Refactored SEO handling to include French in hreflang links, enhancing search engine indexing for multilingual content.
- Added new scripts for managing French translations and ensuring consistency across language files.
This commit is contained in:
Torsten Schulz (local)
2026-04-07 18:04:03 +02:00
parent f715c6125d
commit f7030bbabe
56 changed files with 5220 additions and 175 deletions

View File

@@ -10,6 +10,16 @@
"windy": "Mahangin",
"clear": "Klaro"
},
"conditionBand": {
"excellent": "Maayo kaayo",
"veryGood": "Maayo kaayo",
"good": "Maayo",
"moderate": "Kasarang",
"bad": "Daotan",
"veryBad": "Daotan kaayo",
"catastrophic": "Grabeng daot",
"unknown": "Wala mahibalo-i"
},
"debtorsPrison": {
"actionBlocked": "Kini nga aksyon gi-block samtang naa ka sa debtors' prison.",
"globalWarning": "Ang imong kalangan sa utang nagsugod na og limit sa imong mga aksyon. Posible nga mosunod dayon ang pinugos nga mga lakang.",
@@ -109,7 +119,8 @@
"loading": "Nag-load sa posibleng mga manununod…",
"noHeirs": "Walay available nga mga manununod.",
"select": "Pilia isip play character",
"error": "Sayop sa pagpili sa manununod."
"error": "Sayop sa pagpili sa manununod.",
"success": "Karon nagduwa ka na isip napiling manununod."
},
"metadata": {
"title": "Personal",
@@ -174,6 +185,32 @@
"stock": "Mga posisyon sa stock",
"stockHint": "Mubo nga tan-aw sa mga baligya ug stock sa tanang rehiyon.",
"open": "Ablihi"
},
"routine": {
"branch": {
"kicker": "Rutina",
"title": "Ablihi ang branch",
"description": "Pinakapaspas nga agianan padulong sa produksyon, bodega, baligya ug transporte.",
"cta": "Adto sa operasyon"
},
"finance": {
"kicker": "Overview",
"title": "Tan-awa ang kwarta",
"description": "Balanse, kasaysayan ug ekonomikanhong kalamboan nga dili na kinahanglan pa dugay pangita.",
"cta": "Kasaysayan sa kuwarta"
},
"family": {
"kicker": "Karakter",
"title": "Pamilya ug panununod",
"description": "Mga importante nga personal nga desisyon ug kahimtang sa panimalay sa usa ka dapit.",
"cta": "Ablihi ang pamilya"
},
"house": {
"kicker": "Kabtangan",
"title": "Balay ug palibot",
"description": "Puy-anan ug adlaw-adlaw nga kahimtang isip kaugalingong larangan sa trabaho.",
"cta": "Adto sa balay"
}
}
},
"health": {
@@ -463,21 +500,59 @@
}
},
"nobility": {
"title": "Kadungganan / status",
"tabs": {
"overview": "Overview",
"advance": "Motikas"
},
"highestPoliticalOffice": "Pinakataas nga politikal nga opisina",
"highestOfficeAny": "Pinakataas nga opisina sa kinatibuk-an",
"none": "wala",
"nextTitle": "Sunod nga posibleng titulo",
"advanceNoNext": "Sayop: walay impormasyon bahin sa sunod nga titulo. Palihug i-reload ang panid.",
"cooldown": "Makapaningkamot ka pag-usab sa {date}.",
"requirement": {
"money": "Wealth sa least {amount}",
"cost": "Kantidad: {amount}",
"branches": "At least {amount} sangang opisinaes",
"reputation": "Popularity sa least {amount}",
"house_position": "Balay status sa least level {amount}",
"house_condition": "Balay condition sa least {amount}",
"office_rank_any": "Highest politikal o simbahan opisina sa least rank {amount}",
"office_rank_political": "Highest politikal opisina sa least rank {amount}",
"lover_count_min": "At least {amount} lovers o favorites",
"lover_count_max": "At most {amount} lovers o favorites"
"money": "Bahanding bisan {amount}",
"cost": "Gasto: {amount}",
"branches": "Bisan {amount} ka branch",
"reputation": "Popularidad bisan {amount}",
"house_position": "Kinahanglan ang lebel sa panimalay: {label}",
"house_condition": "Kahimtang sa balay bisan {quality}",
"office_rank_any": "Pinakataas nga politikal o simbahan nga opisina bisan ranggo {amount}",
"office_rank_political": "Pinakataas nga politikal nga opisina bisan ranggo {amount}",
"lover_count_min": "Bisan {amount} ka minyo o pinalabi",
"lover_count_max": "Dili molapas sa {amount} ka minyo o pinalabi",
"unknown": "{type}: {amount}"
},
"housePosition": {
"1": "Nagpuyo ubos sa tulay",
"2": "Usa ka payag nga lawasi",
"3": "Usa ka balay nga kahoy",
"4": "Usa ka lawak sa likod-balay",
"5": "Usa ka gamay nga pamilya nga balay",
"6": "Usa ka townhouse",
"7": "Usa ka villa",
"8": "Usa ka manor",
"9": "Usa ka kastilyo",
"fallback": "Lebel sa balay {level}"
},
"houseConditionQuality": {
"nearPerfect": "hapit perpekto",
"veryGood": "maayo kaayo",
"good": "maayo",
"decent": "maayo ra",
"usable": "gamiton pa"
},
"houseConditionPercent": "{pct}%",
"officeWithRank": "{label} (ranggo {rank})",
"advance": {
"confirm": "Hangyo og pag-uswag",
"processing": "Nagproseso…"
},
"errors": {
"tooSoon": "Dili pa mapa-uswag karon.",
"unmet": "Kulang pa kini nga mga kinahanglanon:",
"generic": "Adunay sayop sa pag-uswag."
}
},
"mood": {
@@ -571,6 +646,9 @@
"elections": "Mga eleksiyon"
},
"bookmarkCandidate": "Timan-i kining kandidatura",
"voteSuccess": "Malampuson nga gihatag ang boto.",
"voteAllSuccess": "Malampuson nga gihatag ang tanang boto.",
"applyBookmarkSuccess": "Malampuson nga natiman-an ang mga kandidatura.",
"voteError": "Sayop sa paghatag sa boto",
"voteAllError": "Sayop sa paghatag sa mga boto",
"applyError": "Dili mapadala ang aplikasyon.",