我正在使用Kohana Framework 3.x.它支持I18n,您可以通过为每个给定语言定义一个数组来本地化您的Web应用程序,如下所示:
// application/i18n/de.php adds support for the german language like so
return array
(
'language' => 'Sprache',
'house' => 'Haus'
//more key-value pairs
);
在我的php代码中,我可以得到适当的翻译:
// define current language somewhere, for example german
i18n::lang("de");
// get the translation for a given key
echo I18n::get('house'); // the key "house" obviously has to be the same for all languages
但是,如果我需要翻译包含日期或时间的句子,该怎么办?例如:“2天前”需要翻译成德语中的“vor 2 Tagen”。我在运行时得到数字“2”(可能是任何给定的数字),所以我不能在我的翻译数组中指定它。 Kohana是否支持某种本地化,我可以在运行时添加值?
答案 0 :(得分:4)
使用__()
中的SYSPATH/base.php
功能:
echo __('house'); // just translate 'house'
echo __(':count days ago', array(':count' => 2)); // translate with values replacement