amis/docs/zh-CN/extend/i18n.md

84 lines
1.5 KiB
Markdown
Raw Normal View History

---
title: 多语言
---
amis 内置对英文的支持,同时你也可以扩展其他语言。
## JS SDK
从 1.1.0 版本开始已经自带英文翻译,所以只需要在 props 里设置 locale 即可。
```javascript
let amisScoped = amis.embed(
'#root',
{
type: 'page',
title: '表单页面',
body: {
type: 'form',
mode: 'horizontal',
api: '/saveForm',
controls: [
{
label: 'Name',
type: 'text',
name: 'name'
}
]
}
},
{
locale: 'en'
}
);
```
## React
React 中没有内置英文版本,需要自己 import使用如下方法
```javascript
import 'amis/lib/locale/en';
```
在渲染 amis 组件的时候设置 locale 为 en
```javascript
{
renderAmis(
{
type: 'page',
title: '简单页面',
body: '内容'
},
{
locale: 'en'
}
);
}
```
## 扩展其它语言
如果想扩展其他语言,首先参考 `https://github.com/baidu/amis/blob/master/src/locale/en.ts` 文件,了解需要翻译哪些文字,以中文为 key然后参考后面的示例注册新语言未翻译的文字都将使用默认语言即中文。
> 目前这种方式将会在未来修改,为了支持更多语言而不再使用中文为 key
### JS SDK 扩展方法
```javascript
let amisLib = amisRequire('amis');
amisLib.registerLocale('jp', {
提交: '送信'
});
```
### React 扩展方法
```javascript
import {registerLocale} from 'amis';
registerLocale('jp', {
提交: '送信'
});
```