跳转到主要内容
cat_leah 提交于 6 August 2014

当你需要把自己的Drupal网站配置成多语言站点, 在创建内容之前选择合适的默认语言是很重要的。如果设置了默认语言,通常默认语言将会应用到你的内容上,然后任何翻译将会在默认语言的基础上进行翻译。所以在内容创建之后改变语言设置并非一个好主意,因为你无法判断翻译是在语言配置改变之前或者之后完成的。(此问题已在Drupal 8中得到解决)

所以,当你考虑过你的多语言站点需要什么之后,下一步就是选择合适的默认语言,特别是在开始进行任何的其他设置之前, 因为‘任何东西’都可能和语言相关。通常语言的选择是很明了的, 但是你知道吗?Drupal系统本身和它的模块们都是使用美国英语完成的。

这意味着任何界面上来自于代码的文字翻译,都必须以美国英语为源头来进行。其他地方的文本(例如:通过编辑器添加到节点的内容)都将使用已配置的默认语言,或者文本的特定语言(例如:节点的语言)。因为界面的语言为美国英语,内容语言设置为不同的语言经常会引起混乱,特别是界面与内容混杂的情况下(例如: 由模块代码生成的文本)。所以特意将站点的默认语言设置为美国英语可能是比较好的选择,这样所有的语言都统一由英语翻译成其他的语言。虽然,在许多案例中这种选择并不合适,但是选择美国英文为默认语言还是值得考虑的。

例如,我创建了一些以英式英语为默认语言的网站,优先服务来自欧洲的受众。然而英式英语和美式英语非常相似,这种情况下,经常不知道该输入何种版本(英,美)的英语。当翻译机构进行翻译的时候,单一的工作流程对任何形式的翻译非常有帮助, 因为这种情况下根本不用判断到底文本来自于代码或是编辑器。

界面中的文本只能被翻译成美国英语以外的语言,所以请使用String Overrides模块来复写它们而不是直接翻译文本(使用此模块请先打上这个补丁)。

String Overrides模块非常适合用来个性化站点中的界面文本,不管你的站点使用何种语言。这个模块非常好用,它直接从原文进行复写,从而可以保留已经翻译好的文本片段。改写文本的原文就意味着翻译工作也要重做。 小心处理此类工作,因为将来你将来可能需要修改这些文本。使用String overrides模块来改写文本而不是在代码中直接修改,这样做对于你的内容编辑,翻译和使用其他语言的用户都是好事情。

 

原文: http://www.computerminds.co.uk/drupal-code/language-lessons-default-language

作者:James Williams

Drupal 版本