我正在使用最新版Drupal 6中的双语网站。我安装了国际化模块和视图翻译模块等。
问题:在/ admin / build / translate / search上,一些元素(例如视图标题)出现在文本组“Views”中,而Drupal假定它们是德语,需要英文翻译。
其他元素(例如曝光的滤镜标签)出现在文本组“内置界面”中,Drupal假定它们是英文的,需要德语翻译。但事实上所有的字符串都是德语:
要清楚,我没有看到语言选择或视图显示的问题。问题是当语言系统首次解析页面并且任何可翻译的字符串被插入到转换表中时。 Drupal为同一页面上的元素分配不同的源语言。一旦这些字符串被翻译,结果就是各种语言。
我认为可能是首先点击该页面的用户的语言偏好干扰了这一点,但是一旦我开始更改它,我就遇到了this issue(阅读该帖子令人大开眼界 - 它对于任何考虑使用Drupal进行企业级解决方案的人来说,应该是必读的。好的,现在我在混合中有URL前缀,这意味着当用户更改语言首选项时,站点语言在手动更改URL之前不会更改。 一旦我设法用英语呈现页面,事实证明当显示语言等于源语言时,Drupal不会获取翻译字符串。那里没有运气。
我准备用两种语言编写我的视图,这取决于Drupal认为源语言是针对各种元素的,但即使这样也行不通。还有其他人经历过这个吗?
答案 0 :(得分:3)
我认为您可能在Drupal多语言系统如何工作方面存在基本错误。我在我建立的第一个多语言Drupal网站上犯了同样的错误。
最重要的是 - 如果您的某种语言是英语 - 请在您的代码中使用英语。如果您需要将“房间”一词放在其中一个模板中使用t('room')而不是t('zimmer')。你的视图标题?用英语标签名称和描述?用英语主要语言应该是英语。设置英文网站后,您可以使用翻译界面翻译您的网站。我知道一个人说他的母语不是英语,这听起来很奇怪,但是我使用i18n制作了几个多语言网站,这是一种正确的方法,只需要很少的并发症。
更改管理界面语言只会更改界面 - 而不是值。如果您将界面更改为德语(即yoursite.com/de/admin/views),则并不表示您使用的是“德语视图”。这是相同的观点。
有一些例外 - 我在这里解释的多语言变量:How can I set a different homepage per language in Drupal?
我希望这有用。