猿问

vue-i18n 等多语言组件,直接使用中文作为参数会有什么不妥吗 ?

js可以直接使用中文作为变量名,这样在定于语言文件时直接使用中文,感觉非常方便。但是这样做会不会有什么问题呢?
一般是这样:
//英文
exportdefault{
LIST:'List',
SETTING:'Setting',
DISABLE:'Disable',、
}
//中文
exportdefault{
LIST:'列表',
SETTING:'设置',
DISABLE:'禁用',、
}
然后调用:$t('LIST');
如果直接使用中文位key:
//只需要定义英文
exportdefault{
列表:'List',
新建:'Create',
设置:'Setting',
禁用:'Disable',、
}
$t('列表');不加载语言文件,就直接显示“列表”;加载语言文件就会显示“List”;
那种方法好?使用中文定义key,会不会有什么大坑?
米脂
浏览 1350回答 2
2回答

德玛西亚99

关于这个问题,我曾经亲自实践过,用中文作键名,不是不可以,技术上是完全可行的。但是我后来面临的一个很大的问题是:这不是中文和英文的问题,而是国际化的问题。如果只是中英文互转,用什么语言作主键都是可以的。但是后来当我们要把网站翻译成日文、法文、西班牙文、阿拉伯文的时候,问题就来了,现在英文基本是一种中介语言,基本上什么语言为母语的人都有懂英语的,可以根据英文键名把内容翻译成相应文字,而如果以中文为键名,则需要该人要懂得中文,短期之内中文还没有强大到可以成为通用型中介语言的地步,所以最合适的做法还是以英文为键名。

MMTTMM

明显第一种好……以后List不叫“列表”呢?然后它又关联了多种语言……你就需要一个一个的改key么使用一个统一的key将他们关联起来,这样的话,你还是会建一个中文的对应"列表":"列表"……这样没啥意义。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答