Можно ли переопределить данные 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, чем изменить его там?
Также не забудьте очистить кеш