本地化
Serene 允许你在程序运行时通过右上角的设置菜单切换语言。
试试将语言切换为西班牙语。
当你切换了语言,页面会重新加载,这和切换主题不需要重新加载页面是不同的。
Serene会添加一个叫做“LanguagePreference”的cookie到浏览器,里面的内容是“es”,因此下次你在进入网站,网站会记住你上次选择的语言。
当你第一次启动 Serene 网站,你可能看到网站使用的是英语,其实也可以让它启动时使用西班牙语、土耳其语或者俄语(这些是当前可用的示例语言)如果你的操作系统或者浏览器是使用那种语言。
这个行为通过 web.config 控制。
<globalization culture="en-US" uiCulture="auto:en-US" />
这里我们设置 UI culture 为自动,en-US 为默认(如果系统检查不到浏览器的语言设置就使用 en-US)。
也可以设置其他语言为默认。
<globalization culture="en-US" uiCulture="auto:tr-TR" />
或者固定设置一个语言,不管访问者的浏览器使用的是何种语言都不做改变。
<globalization culture="en-US" uiCulture="es" />
如果你不想让用户修改语言,那么你需要删掉语言选择下拉框。 你可以通过 Administration 菜单下的 Languages 页面为语言选择下拉框添加更多语言选择。
本地化 UI 上的文字
Serene包含一个在线翻译文字资源的能力。
点击 Administration 下的菜单项 Translations。
在表格上面的搜索框输入 navigation 查找与导航菜单相关的文字。选择 English 为源语言 Spanish 为目标语言。
在 Navigation.Dashboard local text key 旁边输入 Welcome Page 。
点击 Save Changes 按钮。
当你切换语言到西班牙语,Dashboard菜单项会由原来的西班牙 Salpicadero 变成 Welcome Page 。
当你保存修改,Serene 在 app_data/texts 下创建名为 user.texts.es.json 文件,内容类似如下:
{
"Navigation.Dashboard": "Welcome Page"
}
在 ~/scripts/site/texts
文件夹下还有一些类似的JSON文件是 Serene 界面的默认翻译:
- site.texts.es.json
- site.texts.invariant.json
- site.texts.tr.json
建议你在发布之前将 user.texts.xx.json 转换为 site.texts.xx.json 。如果 App_Data 文件夹被源代码管理工具忽略,通过这种方式你也可以将你的翻译保存在源代码管理工具中。