如何本地化cakePhp中的字符串?我沒有在線文檔取得任何成功。謝謝你的幫助。在cakephp中使用本地化
2
A
回答
3
有幾個步驟:
- 首先,設置使用
- 該語言創建一個或多個
.po
文件的語言環境 - 包裝所有與您的本地化,能夠串
__()
或__d()
輔助方法
下面是我的一個項目的摘錄:
# app/app_controller.php
uses ('L10n');
class AppController extends Controller {
public function beforeFilter() {
/**
* Derive the desired locale by reading the subdomain from
* the HTTP_HOST server variable. Locale subdomains can use
* either the 2 or 3 character ISO code. Information on locale
* ISO codes is at http://www.loc.gov/standards/iso639-2/php/code_list.php.
*/
$this->L10n = new L10n();
/** Auto-detect the request language settings */
$this->L10n->get();
/**
* Set the default "domain" for translations. The domain is the
* same as the po file name in a given locale directory. e.g.
* __d('homepage', 'message_id') would look for the
* message_id key in homepage.po. Using the __() convenience
* function will always look in default.po.
*/
$this->set('domain', 'default');
}
# The rest of your AppController code
}
該代碼段將設置語言。您只需在/app/locale/eng/LC_MESSAGES/
目錄中提供相應的.po
文件即可。我認爲CakePHP書提供了sufficient information on this。
如果您選擇僅使用一個.po
文件,則會將您的字符串與__()
幫助程序包裝在一起。爲了避免一個大文件,我選擇了多個.po
文件,因此我使用__d()
幫助程序,以便我可以指定哪個域(域== == .po
文件的名稱,而不包含.po
擴展名)。
UPDATE
我要補充一點,你需要使用Translate
行爲,以幫助您需要翻譯數據庫的內容。
相關問題
- 1. CakePHP的本地化
- 2. CakePHP使用Set ::與本地化結合
- 3. 在CakePHP中本地化時間AgoInWords
- 4. Cakephp 3本地化問題
- 5. CakePHP本地化問題
- 6. 如何做本地化 - CakePHP
- 7. CakePHP中的數組值本地化
- 8. 用於在cakephp中進行本地化的GUI
- 9. 在PCL中使用本地化
- 10. 如何在C中使用本地化#
- 11. 如何在RubyMotion中使用本地化?
- 12. 在FormPanel中使用formLabel本地化
- 13. 使用FireFox在asp.net 4.0中本地化
- 14. 在庫中使用本地化文件
- 15. CakePHP的國際化的本地代碼
- 16. 如何本地化CakePHP插件?
- 17. 使用NDK在Android上進行本地化/本地化
- 18. CakePHP 2.1中的國際化和本地化
- 19. 中的CakePHP%實用CakeTime本地化niceshort JS
- 20. i18n在cakephp shell任務文件中的本地化
- 21. 我無法在cakephp 2.3中獲得本地化工作
- 22. 使用cakephp和angularjs在mysql中存儲格式化文本
- 23. 在cakephp中格式化文本框(使文本框變大)
- 24. 使用DecimalFormat(#。#)與本地化
- 25. 使用Storyboard本地化UIViewController
- 26. 使用SSRS本地化
- 27. 如何使用本地化
- 28. 使用節點本地化
- 29. 使用本地化的故事板動態本地化
- 30. Xcode - 本地化不起作用,當點擊「使本地化」
'「沒有任何成功的在線文檔」'?正如在「我無法在我的粗略掃描中找到正確的部分」或「我嘗試了幾件我不會告訴你的事情,但它們不起作用」?無論哪種方式,不好的問題。在Cake手冊中記錄了L10n。 – deceze 2010-04-19 05:58:21