i18n:gettext + Zend_Translate - 命名空间/分组字符串?

时间:2009-11-24 20:51:06

标签: zend-framework internationalization gettext zend-translate

我正在从Localization类更新我当前框架的i18n方法,该类将数组中的语言字符串存储到gettext + Zend_Translate

有一种情况让我感到困惑,单字符串输出很简单但是使用我当前的方法我将某些字符串组合在一起,对于诸如城市,州,前缀之类的集合,以便它们可以被轻易地操纵和转换进入html(如下拉选项)。

我是否别无选择,只能存储下面的数组,以便它们仍然组合在一起?或者在使用gettext时我是否遗漏了某种方法,这使我能够以更方便的方式做到这一点?

class Localization
{
    var $prefixes = array(
        ""=>"Prefix", 
        "Mr."=>"Mr.", 
        "Mrs."=>"Mrs.", 
        "Ms."=>"Ms.", 
        "Dr."=>"Dr."
    );

重申一下,我希望能够基本上保留我的方法,其中使用调用:

<label for="prefixes"><?php echo $local->_('Prefix');?></label>
<?php echo Class::grab_prefixes(); // generates a dropdown of prefixes ?>

这将从本地化的字符串集合中获取包含文本值和实际表单值的前缀集合。

我目前仍然依赖数组,然后对它们应用Zend_Translate调用。

1 个答案:

答案 0 :(得分:0)

实际上正在重新考虑它,因为我选择性地将某些字符串组合在一起以使它们成为<option value="value">text</option>唯一可行且实用的方法可能是存储它们,因为我已经将它们作为数组。

这是其他框架为州,城市,国家生成整个下拉列表的方式。不是吗?