Я разрабатываю сайт с несколькими языками. Поэтому некоторые маршруты также должны быть локализованы, и я не уверен, как это сделать правильно.
Я использую @koa/router
для маршрутизации.
В данном примере это только английский и шведский, но сайт поддерживает и другие языки.
Я могу настроить маршруты для соответствия словам на разных языках, например
router.get('/(create-account|skapa-konto)/', (ctx, next) => {
ctx.body = translate('signup_welcome');
await next();
});
Но я хочу, чтобы английский сайт отвечал только на «/ sign-up» и отправлял 404 на «/ skapa-konto» (и наоборот).
В реальном мире маршрут указывал бы на какую-то функцию контроллера. Поэтому, если я настрою отдельные маршруты для каждого языка, мне придется вручную изменить все локализованные маршруты, если функция контроллера изменится в будущем. Это то, чего я хотел бы избежать;)
Какие-либо предложения?