5
A
回答
4
此示例應用程序(https://github.com/phalcon/php-site)使用多爾康實現翻譯。
2
爾康不提供的I18n功能。有一個PECL擴展提供了這種功能,稱爲intl(請參閱manual)。
但是,如果你是在呈現不同語言的網站最感興趣,你可以使用
\Phalcon\Translate\Adapter\NativeArray
組件。該組件使用包含語言感知字符串的鍵/值的數組。例如,你可以在你的配置使用:
$trans_config = array(
'en' => array(
'bye' => 'Good Bye',
'song-key' => 'This song is %song% (%artist%)',
),
'es' => array(
'bye' => 'Adiós',
'song-key' => 'La canción es %song% (%artist%)',
),
);
一個試驗來證明上述用法是:
public function testVariableSubstitutionTwoEnglish()
{
$language = $trans_config['en'];
$params = array('content' => $language);
$translator = new \Phalcon\Translate\Adapter\NativeArray($params);
$vars = array(
'song' => 'Dust in the wind',
'artist' => 'Kansas',
);
$expected = 'This song is Dust in the wind (Kansas)';
$actual = $translator->_('song-key', $vars);
$this->assertEquals(
$expected,
$actual,
'Translator does not translate English correctly - many parameters'
);
}
以上只是說明一下如何翻譯與佔位符變量的消息。要簡單地獲取不同語言的字符串,只需在翻譯器上用相關密鑰調用_()
,並且不傳遞任何變量。
編輯在視圖中你可以工作,只要你喜歡。您可以設置顯示在視圖圖層中的變量或傳遞翻譯對象並在那裏執行翻譯。由你決定。
HTH
2
我認爲最好的辦法是使用Phalcon Gettext Adapter。 Gettext最重要的優點是處理複數。
相關問題
- 1. 如何實施「智能」翻譯:翻譯?
- 2. 龍捲風翻譯設施和javascript
- 3. 翻譯實施方式
- 4. 施普雷翻譯屬性
- 5. 升級到Django的1.7:獲得AppRegistryNotReady翻譯基礎設施
- 6. 角度翻譯 - 翻譯翻譯值attr
- 7. 翻譯層的設計
- 8. 設置Symfony2的翻譯
- 9. 翻譯NDesk.Options.OptionSet建設的PowerShell
- 10. angular-translate在翻譯文件中翻譯
- 11. 在線翻譯
- 12. 翻譯在JS?
- 13. 翻譯在UIImagePickerController.cameraViewTransform
- 14. 翻譯在python
- 15. 翻譯在
- 16. 設置谷歌翻譯不翻譯名稱
- 17. 儘管設置了語言,無q翻譯翻譯
- 18. 如何在Phalcon中設置伏編譯的目錄路徑?
- 19. JmsI18NBundle - 在翻譯都必須設置
- 20. 翻譯頁面與jquery「翻譯」,谷歌翻譯等
- 21. 如何修復在翻譯網頁上顯示翻譯鍵的角度翻譯?
- 22. 翻譯URL在.htaccess
- 23. 與翻譯在AngularJs
- 24. 翻譯
- 25. 翻譯
- 26. 我只想要phalcon翻譯對象屬性中的所有數組?
- 27. 編譯器設計和施工課
- 28. 網站翻譯體系結構和實施
- 29. 日食錯誤 - 有意不實施的javascript翻譯
- 30. 翻譯 - 標準軟件菜單和條款實施
如何在Phalcon架構中使用gettext? – PHPst
讓我爲你創造 – twistedxtra
爲例但是,請記住,gettext的不是線程安全的,如果你在Apache運行的應用程序,你可能有問題 – twistedxtra