多语言文件能分多个吗?发现多语言文件只有一个的话,多人编辑很容易冲突

如下图,一般项目多语言文件只有两个
image
如果人多编辑就很容易冲突,能否可以使用多个这样的文件,每个开发有自己的这个文件,然后使用include类似函数导入文件?

感觉这种处理必要性不是很大,但是也是可以的。
研究一下 JmixMessageSource 类, Jmix message 文件加载大概是通过这个类处理的。 这个类在构造器中设置了要加载的message文件所在的包,如下:

  public JmixMessageSource(JmixModules modules, Resources resources) {
        this.resources = resources;
        setDefaultEncoding("UTF-8");
        setResourceLoader(resources);
        setFallbackToSystemLocale(false);

        ListIterator<JmixModuleDescriptor> iterator = modules.getAll().listIterator(modules.getAll().size());
        while (iterator.hasPrevious()) {
            JmixModuleDescriptor module = iterator.previous();
            addBasenames(addModuleBasename(module.getBasePackage()));
        }
    }

可根据需要重写这个逻辑,然后使用新的类创建一个 MessageSource 类型的 bean 来覆盖框架提供的 Bean。
但是这自定义的message文件,Jmix Studio 可能识别不到,也是麻烦。

多个文件容易造成重复key的问题,建议还是单文件处理好一点,冲突问题用idea开发会有合并冲突的可视化操作,基本不是什么问题

1 个赞

消息包 :: Jmix 文档
这里不是有吗。
image

1 个赞