我目前正在使用按模块翻译的方法。即,我分别为每个模块提供翻译文件。但是我注意到如果我们translate('x')
在模块'foo'中使用并且'x'在模块'bar'中被翻译成'y',则translate('x')
在模块foo中返回'y'。所以我的问题是,如果我为所有模块创建一个目录会有问题吗?因为现在更新语言文件有点烦人。
谢谢
我目前正在使用按模块翻译的方法。即,我分别为每个模块提供翻译文件。但是我注意到如果我们translate('x')
在模块'foo'中使用并且'x'在模块'bar'中被翻译成'y',则translate('x')
在模块foo中返回'y'。所以我的问题是,如果我为所有模块创建一个目录会有问题吗?因为现在更新语言文件有点烦人。
谢谢
使用每个模块翻译的要点是具有单独的翻译域,以便模块是独立的并且消除了关键冲突。
你基本上在做的是,如果你在域中定义to的翻译translate('x', 'default')
,那总是返回。'y'
'x'
'y'
'default'
如果您将模块编写为独立的,则应使用不同的翻译域。如果您不打算单独使用模块,您可以只使用一个翻译域和一个翻译文件,例如在应用程序模块中或使用数据库进行翻译存储/更新。