2010-06-16 27 views

回答

2

任何運行t()的文本都是可翻譯的。

E.g.在你的主題代碼:

<title><?php print "my title"; ?></title> 

是不可翻譯的,而

<title><?php print t("my title"); ?></title> 

是跑低谷翻譯系統。

對於任何通過t()函數運行的字符串,Drupal允許以多種方式覆蓋它們。幾乎所有的Drupal核心接口字符串都通過翻譯界面運行。有任何用戶輸入數據(手動添加的菜單項,站點標語,標題etceteras)的例外。

要覆蓋,您可以使用admin(admin> site building>本地化)中的現場界面或使用您描述的方法在settings.php中對其進行硬編碼。 你應該儘量避免後者在完全多語言的網站。該方法僅用於如果您不想啓用整個翻譯界面來更改一個或兩個字符串的情況。

但是從一開始就應該確保字符串是可翻譯的。只有這樣,你才能在每個語言的基礎上改變它。

如果除了需要翻譯用戶輸入字符串的core -t() - ed字符串外,還需要i18​​n模塊。一個大型模塊,但它允許翻譯諸如口號和網站標題等內容。

+0

一個很好的補充是爲某些頁面添加't()',或者節點的標題會添加很多可翻譯的字符串。很好的答案順便說一句,幫了我很多! – 2012-06-22 14:05:15

0

添加site_slogansite_missiong$conf['i18n_variables']應該工作,如果你已經安裝了(和啓用)Internationalization模塊。完成後,您應該可以通過訪問網站信息管理頁面,並使用您想要編輯其值的語言設置界面來設置每種語言的值(例如,用法語編輯值,您應該去至http://example.com/?q=fr/admin/settings/site-information),詳見模塊手冊的「Multilingual Variables」。

2010/06/21:添加國際化要求和鏈接到手冊頁。

+1

我做了同樣的事情,但它不工作:( – viMaL 2010-06-18 08:13:26