在Magento中翻译客户前缀

在Magento中翻译客户前缀,magento,translation,Magento,Translation,我正在尝试翻译前缀,如“mr.”和“mrs.”,它们设置在:系统>>配置>>客户配置>>前缀下拉选项中 我需要英语、荷兰语和德语。每种语言都是一个单独的storeview。 我已经将翻译添加到多个.csv文件中,如themes translate.csv和Mage_Core.csv 默认设置与签出一样在前端工作。但在后端和电子邮件中,它没有被翻译 有办法翻译吗?我找到了两种方法来解决这个问题 删除内置前缀并添加带有自定义前缀的新前缀。 否决Mage_Customer_Helper_数据类及其ge

我正在尝试翻译前缀,如“mr.”和“mrs.”,它们设置在:系统>>配置>>客户配置>>前缀下拉选项中

我需要英语、荷兰语和德语。每种语言都是一个单独的storeview。 我已经将翻译添加到多个.csv文件中,如themes translate.csv和Mage_Core.csv 默认设置与签出一样在前端工作。但在后端和电子邮件中,它没有被翻译


有办法翻译吗?

我找到了两种方法来解决这个问题

删除内置前缀并添加带有自定义前缀的新前缀。 否决Mage_Customer_Helper_数据类及其getNamePrefixOptions方法。 我用了Nr2

NR 1:如果需要更多的工作,您需要更新tempaltes。但是,如果客户需要为新的翻译做广告,就更容易管理

NR2:您可以在配置中添加更多前缀值。然后在类中进行切换,在哪个存储/语言中使用哪个。添加新语言可能需要在类中添加更多代码

我曾经否决过getNamePrefixOptions

我在前缀下拉选项设置中填写的内容:Dhr。;Mevr。;先生;夫人 这是一个有点硬编码,但工作,并允许您更改值

public function getNamePrefixOptions($store = null)
{
    $pre_val = $this->_prepareNamePrefixSuffixOptions(
      Mage::helper('customer/address')->getConfig('prefix_options', $store)
    );

    // Show all prefixes in the admin
    if (Mage::app()->getStore()->isAdmin()) {
        return $pre_val;
    }

    // Transform array keys to integers
    $pre_val = array_values( $pre_val );

    $lang_code = Mage::app()->getLocale()->getDefaultLocale();

    $new_prefixes_values = array();

    // Add language codes here, and add their prefix key's, count starts at 0
    switch ( $lang_code ) {
      case "nl_NL":
        // Set key the same as the value, that's how Magetnto gives it at first
        $new_prefixes_values = array( $pre_val[0] => $pre_val[0], $pre_val[1] => $pre_val[1]);
        break;
      case "de_DE":
        $new_prefixes_values = array( $pre_val[2] => $pre_val[2], $pre_val[3] => $pre_val[3]);
        break;
      default: // other languages
        $new_prefixes_values = array( $pre_val[0] => $pre_val[0], $pre_val[1] => $pre_val[1]);
        break;
    }

    return $new_prefixes_values;
}