我目前正在使用每个模块的翻译方法。即,我分别为每个模块提供翻译文件。但是我注意到,如果我们在模块'foo'中使用translate('x')
并且在模块'bar'中将'x'翻译为'y',translate('x')
将在模块foo中返回'y'。所以我的问题是,如果我为所有模块创建一个目录,是否存在问题?因为现在更新语言文件有点烦人。
由于
答案 0 :(得分:1)
每个模块翻译的使用点是单独的translation domains,因此模块是独立的,并且消除了关键冲突。
您基本上做的是translate('x', 'default')
,如果您在域'y'
中定义'x'
到'y'
的翻译,则会始终返回'default'
。< / p>
如果您将模块编写为独立模块,则应使用不同的翻译域。 如果您不打算单独使用这些模块,则只能使用一个翻译域和一个翻译文件,例如: G。在应用程序模块中或使用数据库进行翻译存储/更新。