Можно ли переопределить данные JSON Symfony Intl?

Можно ли переопределить данные JSON в symfony/src/Symfony/Component/Intl/Resources? Например, в data/languages/en.json Я хотел бы изменить "zh": "Chinese" быть более конкретным "zh": "Mandarin Chinese",

2 ответа

Я не профессионал в Symfony, но у меня такой же вопрос, и я нашел способ, который работает. Я не использовал его в формах, я использую его только для отображения.

Я создал Модель под названием Страна для доступа и управления 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')

Возможно, это не "современный" подход, но я часами искал другое решение, но не нашел ни одного подходящего для меня.

Вы пытались скопировать этот файл в app/Resources/data/languages ​​/en.json, чем изменить его там?

Также не забудьте очистить кеш

Другие вопросы по тегам