midwayjs-Koa-v3使用@midwayjs/i18n@3
时间: 2023-07-16 15:16:46 浏览: 158
如果你想在midwayjs-Koa-v3中使用@midwayjs/i18n@3,可以按照以下步骤进行配置:
1. 安装@midwayjs/i18n@3依赖:
```bash
npm install @midwayjs/i18n@3 --save
```
2. 在`src/configuration.ts`文件中添加以下内容:
```typescript
import * as i18n from '@midwayjs/i18n';
import { ILifeCycle } from '@midwayjs/core';
export class ContainerLifeCycle implements ILifeCycle {
async onReady() {
// 添加i18n中间件
this.app.use(i18n({
defaultLocale: 'en',
directory: `${process.cwd()}/locales`,
}));
}
}
```
3. 在`locales`文件夹中添加语言文件,例如`en.json`:
```json
{
"hello": "Hello, {name}!"
}
```
4. 在控制器中使用`ctx.__()`函数获取翻译后的文本:
```typescript
import { Provide, Controller, Get } from '@midwayjs/decorator';
@Provide()
@Controller('/')
export class HomeController {
@Get('/')
async index(ctx) {
const name = 'Midway';
const message = ctx.__('hello', { name });
return message;
}
}
```
这样,当用户访问根路由时,会返回翻译后的文本"Hello, Midway!"。
阅读全文