@@ -4,16 +4,24 @@ import { writableStored } from "./writable.store";
44import { building } from "$app/environment" ;
55import { i18n } from "@lingui/core" ;
66import { MacroMessageDescriptor , ChoiceOptions } from "@lingui/core/macro" ;
7- import { availableLocales } from "$lib/constants/locale.constants" ;
7+ import {
8+ availableLocales ,
9+ enabledLocales ,
10+ } from "$lib/constants/locale.constants" ;
11+ import { ENABLE_ALL_LOCALES } from "$lib/state/featureFlags" ;
12+
13+ export const locales = get ( ENABLE_ALL_LOCALES )
14+ ? availableLocales
15+ : enabledLocales ;
816
917export const browserLocales = building
10- ? [ availableLocales [ 0 ] ] // Fallback during SSG
18+ ? [ locales [ 0 ] ] // Fallback during SSG
1119 : ( navigator . languages ?? [ navigator . language ?? availableLocales [ 0 ] ] ) ;
1220export const availableBrowserLocale =
1321 // Exact match
14- browserLocales . find ( ( ul ) => availableLocales . includes ( ul ) ) ??
22+ browserLocales . find ( ( ul ) => locales . includes ( ul ) ) ??
1523 // Language-only match
16- availableLocales . find ( ( al ) =>
24+ locales . find ( ( al ) =>
1725 browserLocales . some ( ( ul ) => ul . split ( "-" ) [ 0 ] === al . split ( "-" ) [ 0 ] ) ,
1826 ) ??
1927 // Fallback
@@ -37,7 +45,6 @@ export const localeStore: LocaleStore = {
3745 const validLocale = availableLocales . includes ( locale )
3846 ? locale
3947 : availableLocales [ 0 ] ;
40- console . log ( "validLocale" , validLocale , locale ) ;
4148 const { messages } = await import ( `$lib/locales/${ validLocale } .po` ) ;
4249 i18n . loadAndActivate ( { locale : locale , messages } ) ;
4350 } ,
@@ -55,14 +62,14 @@ export const localeStore: LocaleStore = {
5562 internalStore . set ( locale ) ;
5663 } ,
5764 reset : async ( ) => {
58- const { messages } = await import ( `$lib/locales/${ availableLocales [ 0 ] } .po` ) ;
59- i18n . loadAndActivate ( { locale : availableLocales [ 0 ] , messages } ) ;
65+ const { messages } = await import (
66+ `$lib/locales/${ availableBrowserLocale } .po`
67+ ) ;
68+ i18n . loadAndActivate ( { locale : availableBrowserLocale , messages } ) ;
6069 internalStore . set ( null ) ;
6170 } ,
6271} ;
6372
64- console . log ( "local" , localeStore ) ;
65-
6673// Derives based on localeStore so that translations update on language change
6774export const t = derived (
6875 localeStore ,
0 commit comments