I18n in Kohana 3.x:翻译包含日期/时间等附加值的字符串

时间:2010-12-03 15:56:58

标签: internationalization translation kohana-3

我正在使用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是否支持某种本地化,我可以在运行时添加值?

1 个答案:

答案 0 :(得分:4)

使用__()中的SYSPATH/base.php功能:

echo __('house'); // just translate 'house' 
echo __(':count days ago', array(':count' => 2)); // translate with values replacement