0
A
回答
0
簡答:目前還不支持類別翻譯。作爲解決方法,您可以使用joomla的字符串分隔功能。我對設計的快速和骯髒接觸的藉口:主要目標是能夠在後臺管理員更改翻譯而不對管理代碼進行任何更改。下面的示例採用德國作爲它的基本語言,這意味着:
- 每一個類別名稱在德國進入(如「Katgeorie 1」)
- 我們創建了一個新的常數與等名稱,比如它的德國版本,但修改爲命名空間可能性(例如「CATEGORY1」)。這將允許自動匹配。
- 在模板代碼中,我們替換了類別輸出,如果我們在另一個語言頁面上比原來的(這裏是德語)。
以下函數有助於自動獲取其他語言中的正確常量值。
/**
* Remove umlauts and special chars.
*/
if(!function_exists('toASCII')) {
function toASCII($str) {
$str = mb_strtolower($str,'UTF-8'); // Useful if the current server setting is not UTF-8
//$str = strtolower($str);
$str = preg_replace('#ß#' , "ss", $str); // maps German ß onto ss
$str = preg_replace('#ä#' , "ae", $str); // Æ => AE
$str = preg_replace('#ö#' , "oe", $str); // Œ => OE
$str = preg_replace('#ü#' , "ue", $str); // œ => oe
$str = preg_replace('#Ä#' , "ae", $str); // Æ => AE
$str = preg_replace('#Ö#' , "oe", $str); // Œ => OE
$str = preg_replace('#Ü#' , "ue", $str); // œ => oe
$str = preg_replace('# #' , "", $str); // remove spaces
$str = preg_replace('#-#' , "", $str); // remove hyphens
$str = preg_replace("#'#" , "", $str); // remove apostrophs
$str = preg_replace("#/#" , "", $str); // remove apostrophs
$str = preg_replace("#\(#" , "", $str); // remove apostrophs
$str = preg_replace("#\)#" , "", $str); // remove apostrophs
$str = preg_replace("#\.#" , "", $str); // remove apostrophs
$str = preg_replace("#,#" , "", $str); // remove apostrophs
$str = preg_replace("#\[#" , "", $str); // remove apostrophs
$str = preg_replace("#\]#" , "", $str); // remove apostrophs
// Process all other special chars
$str = strtr(utf8_decode($str),
utf8_decode('ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
return strtoupper($str);
}
}
function translate($de_string) {
// Translate all JoomGallery category names
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$activeItemLanguage = $active->language;
$lang = substr($activeItemLanguage, 0, 2);
// Do not translate german category names
$trans_str = $de_string;
if ($lang != "de") {
// Parse all category names and replace them with an existing override-string.
$const = toASCII($trans_str);
$trans_str = JText::_($const);
}
return $trans_str;
}
如何使用:替換模板中的字符串函數,顯示類別名稱:
<?php echo translate($this->escape($row->name)); ?>
,而不是
<?php echo $this->escape($row->name); ?>
相關問題
- 1. woocommerce類別翻譯
- 2. 未找到翻譯類別
- 3. 翻譯magento後端的類別屬性
- 4. woocommerce產品,類別和子類別是如何翻譯成其他語言的?
- 5. Django的翻譯:如何翻譯語言
- 6. Osclass類別翻譯不顯示前端
- 7. 在JoomGallery中顯示沒有類別的所有圖片
- 8. 如何在Prestashop中爲類別名稱添加翻譯?
- 9. 如何從TextBlob檢索翻譯翻譯
- 10. 如何實施「智能」翻譯:翻譯?
- 11. Jinja2無法識別翻譯
- 12. CATransform3DTranslate如何翻譯?
- 13. 如何翻譯SecurityContext:AUTHENTICATION_ERROR?
- 14. Shapefiles:如何翻譯
- 15. 如何翻譯org.eclipse.compare?
- 16. 如何翻譯OlCategoryColor?
- 17. 如何修復在翻譯網頁上顯示翻譯鍵的角度翻譯?
- 18. 如何禁用TYPO3 8.7翻譯嚮導中的翻譯內容翻譯選項?
- 19. 如何翻譯TWTweetComposeViewController的UI
- 20. 如何翻譯的CoffeeScript Promise.try
- 21. 如何在Rails I18n的任何級別找到翻譯?
- 22. 角度翻譯 - 翻譯翻譯值attr
- 23. 如何確定Google翻譯翻譯的網頁的新語言?
- 24. three.js - 如何翻譯幾何
- 25. 分類術語未在翻譯的過濾器塊中翻譯
- 26. 如何使用角度翻譯翻譯頁面標題的值?
- 27. 如何從java翻譯器中獲取翻譯的單詞?
- 28. 屏幕翻譯或光標翻譯是如何實現的?
- 29. 如何添加觸發翻譯的Google翻譯鏈接?
- 30. 如何翻譯含有Google翻譯的fontawesome網頁?