是否可以覆盖Symfony Intl JSON数据?

时间:2015-07-21 21:47:37

标签: symfony intl

是否可以覆盖symfony/src/Symfony/Component/Intl/Resources下的json数据?例如,在data/languages/en.json中,我想更改"zh": "Chinese"更具体地"zh": "Mandarin Chinese"

2 个答案:

答案 0 :(得分:1)

我不是Symfony的专业人士,但我得到了同样的问题,对我来说,我找到了一个有效的解决方法。我没有在表单中使用它,我只用它来显示。

我确实创建了一个名为Country的模型来访问和操作RegionBundle:

namespace AppBundle\Model;

use Symfony\Component\Intl\Data\Bundle\Reader\BufferedBundleReader;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader;
use Symfony\Component\Intl\Data\Bundle\Reader\JsonBundleReader;
use Symfony\Component\Intl\Intl;
use Symfony\Component\Intl\ResourceBundle\RegionBundle;


class Country
{

    public static function getCountryName($countryCode, $locale='de')
    {
        $test = new RegionBundle(
            __DIR__.'/../Resources/Intl/data'.'/'.Intl::REGION_DIR,
            new BundleEntryReader(new BufferedBundleReader(
                new JsonBundleReader(),
                Intl::BUFFER_SIZE
            )),
            Intl::getLocaleBundle()
        );

        return $test->getCountryName($countryCode, $locale);

    }

}

从控制器,我可以用:

打电话给他们
Country::getCountryName('AF')

也许这不是最先进的"方法,但我花了几个小时搜索另一个解决方案 - 但没有找到任何可用于我的方法。

答案 1 :(得分:0)

您是否尝试在 app / Resources / data / languages / en.json 下复制该文件,而不是在那里进行更改?

另外不要忘记清除缓存