11import { inject , Injectable , LOCALE_ID } from '@angular/core' ;
2- import { DEFAULT_LANGUAGE } from '~core/constants/language.constants' ;
32import { Router } from '@angular/router' ;
43import { Language } from '~core/enums/language.enum' ;
54import { Locale } from '~core/enums/locale.enum' ;
@@ -18,17 +17,24 @@ export class LanguageService {
1817 return Language . EN_US ;
1918 }
2019
21- navigateWithUserLanguage ( userLanguage : string , path : string ) {
22- const localeToRedirect = this . getLocaleFromUserLanguage ( userLanguage ) ;
23- if ( userLanguage === this . localeId || userLanguage === ( DEFAULT_LANGUAGE as string ) ) {
24- void this . router . navigate ( [ path ] ) ;
20+ navigateWithUserLanguage ( language : Language , pathToRedirect : string ) {
21+ const localeToRedirect = this . getLocaleFromLanguage ( language ) ;
22+ if ( this . doesLocaleMatchLanguage ( language ) ) {
23+ void this . router . navigate ( [ pathToRedirect ] ) ;
2524 } else {
26- window . location . href = `/${ localeToRedirect } ${ path } ` ;
25+ window . location . href = `/${ localeToRedirect } ${ pathToRedirect } ` ;
2726 }
2827 }
2928
30- private getLocaleFromUserLanguage ( userLanguage : string ) {
31- if ( userLanguage === ( Language . ES_ES as string ) ) {
29+ private doesLocaleMatchLanguage ( language : Language ) {
30+ if ( this . localeId === ( Locale . ES as string ) ) {
31+ return language === Language . ES_ES ;
32+ }
33+ return language === Language . EN_US ;
34+ }
35+
36+ private getLocaleFromLanguage ( language : Language ) {
37+ if ( language === Language . ES_ES ) {
3238 return Locale . ES ;
3339 }
3440 return Locale . EN ;
0 commit comments