我想在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翻譯只顯示英文