apostrophe是国外一款免费的开源cms网站搭建框架,基于express实现,含有大量实用的插件。但是目前发现国内相关的资料非常少,所以撰写此文。本文的主题是实现apostrophe的多国语化。
apostrophe官方版中已经自带apostrophe-i18n模块,只需要在app.js中如下设置即可实现多国语。
modules: {
'apostrophe-i18n': {
locales: ['zh','en'],
defaultLocales: 'zh',
cookie: 'apos_language'
}
}
上面,locales表示存在的几种语言,zh表示有中文,en表示有英文;defaultLocales表示网站默认选择哪种语言。在这里的设置都会经过apostrophe-i18n传递给node的i18n。更多设置可以查看这里。
如此设置以后,在根目录下的locales文件夹中会自动生成对应语言的配置文件,并且网站后续新增加的句子等都会在这些文件中更新,格式为json,我们只需要将键值翻译为对应的语言即可。
在网站中,需要多国语的地方需要这样写
{{__('New Page') }}
最终的效果是这样的