После долгих исследований я, наконец, решил использовать Angular Интернационализация (i18n) .
Текущие маршруты (как вы можете видеть, они не зависят от языка):
const routes: Routes = [
{
path: '',
canActivate: [AuthGuardService],
loadChildren: () => import('./commercial-layout/commercial-layout.module').then(m => m.CommercialLayoutModule)
},
{path: 'maintenance', component: MaintenanceComponent},
{
path: 'auth',
loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)
},
{path: '**', redirectTo: 'water', pathMatch: 'full'}
];
Сейчас у меня есть поддержка двух языков: en и fr.
ПРИМЕЧАНИЕ. Мой веб-сайт уже работает, и я добавляю i18n сейчас.
Однако я столкнулся со следующей проблемой и не смог найти никаких ресурсов, чтобы ее исправить:
Если я вручную введу «en» или «fr» после окончания моего URL (www.myUrl.com/en OR www.myUrl.com/fr ), он работает нормально.
Однако, если я попытаюсь использовать go URL-адрес по умолчанию без языка (www.myUrl.com), веб-сайт выйдет из строя / не загрузится.
Также все маршруты внутри моего приложения LAZY LOADED также не работают должным образом.
Ошибка при переходе к моему основному маршруту: 403 Forbidden
Нужно ли мне переписывать все мои маршруты для поддержки i18n или есть способ лучше?
Спасибо!