我想在Drupal站点上用JavaScript进行翻译。我正在使用js功能Drupal.t()
。一切似乎都奏效; Drupal被加载,函数被调用,占位符被替换,但翻译不会发生。单词保持英文,单词不会添加到翻译数据库中。有谁知道为什么会发生这种情况,以及如何解决它?Drupal.t不会显示在翻译之间
3
A
回答
2
我知道你的帖子相当老,但我的回答可能会帮助其他人。
我注意到Drupal.locale.strings
没有被填充JavaScript调用。
所以我通常做的只是创建一部分在服务器端完成这项工作的PHP代码。你可以在你的PHP代码中的任何地方执行它。但最好的做法是在你正在编写的模块中进行。然后将它与Potx模块一起导出,以便您可以在某些*.po
文件中包含字符串,以便稍后用于模块。
如果你赶时间,你可以简单地做一个虚拟节点(只是做一个“预览”)与PHP输入格式的身体:
<?php
print t('Example : %variable', array('%variable' => 'test'));
?>
一旦这已经完成后,您应该能够找到您的字符串并在管理页面中翻译它们。
要重新生成JavaScript文件,您必须清除所有缓存(使用Devel或访问模块页面)。
0
Drupal.t()
函数非常小,所以我打赌我们可以在这里解剖它。
function (str, args) {
// Fetch the localized version of the string.
if (Drupal.locale.strings && Drupal.locale.strings[str]) {
str = Drupal.locale.strings[str];
}
if (args) {
// Transform arguments before inserting them
for (var key in args) {
switch (key.charAt(0)) {
// Escaped only
case '@':
args[key] = Drupal.checkPlain(args[key]);
break;
// Pass-through
case '!':
break;
// Escaped and placeholder
case '%':
default:
args[key] = Drupal.theme('placeholder', args[key]);
break;
}
str = str.replace(key, args[key]);
}
}
return str;
}
所以你可以看到,它会检查Drupal.locale.strings
找到当前区域的翻译字符串。你可以在你的Drupal站点上打开一个控制台,然后键入Drupal.locale
,看看它吐出了什么?
在Drupal中,要添加一种新语言,您必须先启用Locale
模块。你做到了吗?
接下来,您必须通过admin/build/translate中的翻译界面导入您的语言。你做到了吗?
在这里,您可以看到我已经进口的法语和德语:http://grimhappy.com/i/ce75ca.png
1
不知道的JavaScript的一部分,但我用的T功能可按很多。如果您希望字符串显示在翻译表中,则必须先使用两种不同的语言加载相应的页面,然后才能翻译它们。希望有所帮助。
0
¿你压缩了js吗?检查您网站的效果部分。
清除缓存应该现在使用正确的翻译重新生成js。
相关问题
- 1. NSLocalisedString在显示键和翻译文本之间切换
- 2. 翻译模块不会翻译文档
- 3. 在Java和python之间翻译功能
- 4. 如何修复在翻译网页上显示翻译键的角度翻译?
- 5. Microsoft.Cognitive Services翻译API API不显示
- 6. Osclass类别翻译不显示前端
- 7. Magento的 - 翻译产品不显示
- 8. 角度翻译显示键
- 9. Symfony FOSUserBundle翻译未显示
- 10. gettext没有翻译显示
- 11. 谷歌网站翻译 - 等待翻译完成之前显示页面
- 12. htaccess翻译WordPress的翻译网址slu but,但不显示在浏览器栏
- 13. Poedit翻译在使用angular ng时不会翻译-include
- 14. Python affine_transform不会翻译?
- 15. 3D模型不会翻译
- 16. 在翻译动画期间OnTouchListener不翻译
- 17. 大会翻译
- 18. 了解R和rpy2之间的翻译
- 19. Angular-Translations:动态查找翻译键的显示翻译
- 20. Wordpress +多语言插件(qtranslate)在切换语言时不会显示翻译
- 21. Drupal不在前台显示翻译,但它在后台上显示
- 22. Joomla翻译文件不会翻译所有单词
- 23. 旋转之前翻译或翻译之前旋转吗?它有什么不同?
- 24. TYPO3在后端显示语言键而不是翻译目标
- 25. ngx-translate在服务器模式下不显示翻译
- 26. Django管理显示错误的翻译
- 27. 新增加的翻译未显示
- 28. 翻译显示奇怪的字符
- 29. 谷歌翻译突出显示效果
- 30. Symfony翻译只显示英文