Skip to content

Commit 4dff41b

Browse files
TornadoGamesNowclaude
andcommitted
feat: automatikus nyelvfelismerés navigator.language alapján, fallback angol
Első látogatásnál a böngésző nyelvéből (hu/ru/en) állapítja meg a wiki nyelvét és elmenti localStorage-ba. Ismeretlen nyelveknél angolra vált. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 510b8db commit 4dff41b

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

src/i18n/lang.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ const LANG_KEY = 'mite-wiki-lang';
44
const LANG_EVENT = 'mite-lang-change';
55

66
export function getCurrentLang(): Lang {
7-
if (typeof window === 'undefined') return 'hu';
8-
return (localStorage.getItem(LANG_KEY) as Lang) ||
9-
(document.documentElement.getAttribute('data-lang-init') as Lang) ||
10-
'hu';
7+
if (typeof window === 'undefined') return 'en';
8+
const stored = localStorage.getItem(LANG_KEY) as Lang;
9+
if (stored === 'hu' || stored === 'en' || stored === 'ru') return stored;
10+
const nav = (navigator.language || '').toLowerCase();
11+
const detected: Lang = nav.startsWith('hu') ? 'hu' : nav.startsWith('ru') ? 'ru' : 'en';
12+
localStorage.setItem(LANG_KEY, detected);
13+
return detected;
1114
}
1215

1316
export function setCurrentLang(lang: Lang): void {

src/layouts/BaseLayout.astro

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ const ogImageURL = new URL(`${base}/img/og-banner.png`, Astro.site).href;
3535
<script is:inline>
3636
(function(){
3737
var l = localStorage.getItem('mite-wiki-lang');
38-
if (l === 'hu' || l === 'en' || l === 'ru') document.documentElement.setAttribute('data-lang-init', l);
38+
if (!(l === 'hu' || l === 'en' || l === 'ru')) {
39+
var nav = (navigator.language || '').toLowerCase();
40+
l = nav.startsWith('hu') ? 'hu' : nav.startsWith('ru') ? 'ru' : 'en';
41+
localStorage.setItem('mite-wiki-lang', l);
42+
}
43+
document.documentElement.setAttribute('data-lang-init', l);
3944
})();
4045
</script>
4146
</head>

0 commit comments

Comments
 (0)