JMSI18nRoutingBundle 和可翻译路由目录位置
JMSI18nRoutingBundle and translatable routes catalog location
我正在使用 JMSI18nRoutingBundle 来内部化应用程序的路由,这是一个不错的软件,但不幸的是没有很好的文档记录,我不确定如何实现路由中字符串的翻译以适应不同的应用程序语言环境不管它在文档中作为示例给出的事实。
我想要的是(没有前缀的默认本地,所有其他翻译和语言环境前缀):
/联系人
/de/kontakt
问题出在以下配置上:
jms_i18n_routing:
default_locale: en
locales: [en, de]
strategy: prefix_except_default
路由生成为:
/联系人
/de/contact
我看不到为路由输入 kontakt 的设置,它是某些特殊消息目录或每个路由配置选项的一部分吗?
我发现它是由翻译目录处理的。路线是从它加载的。有一个命令可以从路由器中提取它们并将它们放入目录中:
php bin/console translation:extract LANGUAGE --bundle=BUNDLE --enable-extractor=jms_i18n_routing --output-format=xliff --dir=RESOURCE_FOLDER --domain=routes
LANGUAGE 是目标语言,BUNDLE 是从中提取路由的包,RESOURCE_FOLDER 是放置翻译的位置。
我正在使用 JMSI18nRoutingBundle 来内部化应用程序的路由,这是一个不错的软件,但不幸的是没有很好的文档记录,我不确定如何实现路由中字符串的翻译以适应不同的应用程序语言环境不管它在文档中作为示例给出的事实。
我想要的是(没有前缀的默认本地,所有其他翻译和语言环境前缀):
/联系人
/de/kontakt
问题出在以下配置上:
jms_i18n_routing:
default_locale: en
locales: [en, de]
strategy: prefix_except_default
路由生成为:
/联系人
/de/contact
我看不到为路由输入 kontakt 的设置,它是某些特殊消息目录或每个路由配置选项的一部分吗?
我发现它是由翻译目录处理的。路线是从它加载的。有一个命令可以从路由器中提取它们并将它们放入目录中:
php bin/console translation:extract LANGUAGE --bundle=BUNDLE --enable-extractor=jms_i18n_routing --output-format=xliff --dir=RESOURCE_FOLDER --domain=routes
LANGUAGE 是目标语言,BUNDLE 是从中提取路由的包,RESOURCE_FOLDER 是放置翻译的位置。