问题描述
translations
/common
/messages.en.xlf
/messages.fr.xlf
/messages.es.xlf
/thing.en.xlf
/thing.fr.xlf
/thing.es.xlf
/TenantA
/messages.fr.xlf
/TenantB
/thing.es.xlf
有时,TenantA 或 TenantB 需要专门化 xlf 文件的重命名子集。
对于 TenantA,translations/TenantA/messages.fr.xlf
中的每个键都需要覆盖 translations/common/messages.fr.xlf
中的键并从 translations/common/messages.fr.xlf
中获取所有其他值。
每个文件和每个键都存在于 translations/common
中,并且是每种语言。
我正在寻找一种通过 webpack 在 javascript 中做到这一点的方法。
在这个列表中,Symfony 将“消息”和“事物”称为域,所以我将使用域这个词。
为了解决这个问题,我正在寻找一种方法来观察 /translations/ 文件夹中的变化,并为每个租户和每个域编译一个包含该域中所有内容的地图;以便我可以在我的资产中使用:
import translations from 'translations/messages'
翻译看起来像:
{"fr":{...},"en":{...},"es":{...}}
or
{"key":{"en":"value","fr":"valeur","es":"..."}}
来自专用键。
如何插入一些东西来将这些文件编译成 json ?
我的 webpack.config.json 看起来像这样:
const tenants = ['TenantA','TenantB',...];
const modules = []
tenants.foreach(tenant =>
{
modules.push(/*webpack config accumulation*/)
})
module.exports = modules
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)