@@ -50,11 +50,14 @@ export function initCommonComposableOptions(i18n?: I18n): CommonComposableOption
5050 }
5151}
5252
53- export async function loadAndSetLocale ( newLocale : Locale , initial : boolean = false ) : Promise < boolean > {
53+ export async function loadAndSetLocale (
54+ nuxtApp : NuxtApp ,
55+ newLocale : Locale ,
56+ initial : boolean = false
57+ ) : Promise < boolean > {
5458 const logger = /*#__PURE__*/ createLogger ( 'loadAndSetLocale' )
55- const nuxtApp = useNuxtApp ( )
5659 const { differentDomains, skipSettingLocaleOnNavigate } = nuxtApp . $config . public . i18n
57- const opts = runtimeDetectBrowserLanguage ( )
60+ const opts = runtimeDetectBrowserLanguage ( nuxtApp . $config . public . i18n as I18nPublicRuntimeConfig )
5861
5962 const oldLocale = unref ( nuxtApp . $i18n . locale )
6063 const localeCodes = unref ( nuxtApp . $i18n . localeCodes )
@@ -124,17 +127,17 @@ export async function loadAndSetLocale(newLocale: Locale, initial: boolean = fal
124127}
125128
126129export function detectLocale (
130+ nuxtApp : NuxtApp ,
127131 route : string | CompatRoute ,
128132 routeLocale : string ,
129133 currentLocale : string | undefined ,
130134 localeCookie : string | undefined
131135) {
132- const nuxtApp = useNuxtApp ( )
133136 const { strategy, defaultLocale, differentDomains, multiDomainLocales } = nuxtApp . $config . public . i18n
134137 const _detectBrowserLanguage = runtimeDetectBrowserLanguage ( )
135138 const logger = /*#__PURE__*/ createLogger ( 'detectLocale' )
136139
137- const detectedBrowser = detectBrowserLanguage ( route , localeCookie , currentLocale )
140+ const detectedBrowser = detectBrowserLanguage ( nuxtApp , route , localeCookie , currentLocale )
138141 __DEBUG__ && logger . log ( { detectBrowserLanguage : detectedBrowser } )
139142
140143 // detected browser language
@@ -167,6 +170,7 @@ export function detectLocale(
167170}
168171
169172type DetectRedirectOptions = {
173+ nuxtApp : NuxtApp
170174 to : CompatRoute
171175 from ?: CompatRoute
172176 /**
@@ -184,9 +188,12 @@ type DetectRedirectOptions = {
184188 *
185189 * @param inMiddleware - whether this is called during navigation middleware
186190 */
187- export function detectRedirect ( { to, from, locale, routeLocale } : DetectRedirectOptions , inMiddleware = false ) : string {
191+ export function detectRedirect (
192+ { to, nuxtApp, from, locale, routeLocale } : DetectRedirectOptions ,
193+ inMiddleware = false
194+ ) : string {
188195 // no locale change detected from routing
189- if ( routeLocale === locale || useNuxtApp ( ) . $i18n . strategy === 'no_prefix' ) {
196+ if ( routeLocale === locale || nuxtApp . $i18n . strategy === 'no_prefix' ) {
190197 return ''
191198 }
192199
0 commit comments