System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多语言配置文件自动生成方法、文件转换方法及装置制造方法及图纸_技高网

多语言配置文件自动生成方法、文件转换方法及装置制造方法及图纸

技术编号:42985347 阅读:5 留言:0更新日期:2024-10-15 13:18
本发明专利技术属于计算机技术领域,具体涉及一种多语言配置文件自动生成方法、文件转换方法及装置。其中,多语言配置文件自动生成方法,包括:提取出配置文件中所有文本内容以及对应的唯一标识,将文本内容翻译成各语言后,以预设格式对象插入至各语言配置文件中;获取源代码文件,在源代码文件中查找出模板语法,并检测模板语法中的文本内容是否存在于各语言配置文件中,若不存在,则对文本内容生成一个新的唯一标识,将文本内容翻译成各语言后,以预设格式对象插入至各语言配置文件中。本发明专利技术在前端开发时不需要手动的对配置文件进行添加、查询和维护,能极大的降低多语言相关开发成本。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种多语言配置文件自动生成方法、文件转换方法及装置


技术介绍

1、当下的web前端软件开发中,已经存在了很多种根据用户选择的语言来对网站的文本进行对应语言的实时转换及展示给用户的实现方案。通常是人为的来维护每种语言的不同的文字文本来展示的,比如一个网站如果要能切换中文和英文,那么就需要维护中文文本、英文文本,在web前端的开发中,当增加一个新的文本,比如“产品描述”,那么开发人员需要手动去维护中文以及英文的配置文件,同时为了建立文本之间的关联关系,也需要创建一个key来表示该文本,当网站切换为中文时就去中文配置文件中获取此key对应文本,英文也是如此。当网站支持的语言变多时,前端开发需要维护文本的工作量就是语言数量的倍数。


技术实现思路

1、本专利技术针对上述技术问题,目的在于提供一种多语言配置文件自动生成方法、文件转换方法及装置。

2、一种多语言配置文件自动生成方法,包括:

3、获取配置文件,将所述配置文件进行解析,提取出所有文本内容以及对应的唯一标识,将所述文本内容翻译成各语言后,将不同语言的文本内容及对应的唯一标识以预设格式对象插入至预设的多语言配置文件目录下的各语言配置文件中;

4、获取源代码文件,在所述源代码文件中查找出模板语法,并检测所述模板语法中的文本内容是否存在于各语言配置文件中,若不存在,则对所述文本内容生成一个新的唯一标识,将所述文本内容翻译成各语言后,将不同语言的文本内容及对应的新的唯一标识以预设格式对象插入至各语言配置文件中。

5、可选地,还包括:

6、扫描多语言配置文件目录,根据预先配置的语言类型,分别创建各语言类型对应的空的语言配置文件,若所述多语言配置文件目录内已经存在某一语言配置文件,则不再创建该语言配置文件。

7、可选地,当所述文本内容及对应的唯一标识插入至各语言配置文件中时,不存在语言配置文件,则先在所述多语言配置文件目录下建立一个空的语言配置文件后,再进行插入动作。

8、可选地,在所述源代码文件中查找模板语法时,通过正则匹配的方式读取到所有的模板语法。

9、可选地,对所述文本内容生成一个新的唯一标识,包括:

10、获取源代码文件所在目录路径中的指定的模块级别对应的模块名作为前缀,生成预设长度的随机数作为后缀,生成新的唯一标识。

11、可选地,所述随机数由26位大写字母、26位小写字母、0-9数字随机组合生成。

12、可选地,所述模板语法为预设格式的文本内容且所述文本内容采用预设第一语言。

13、可选地,所述模板语法为预设格式的文本内容且所述文本内容采用预设第一语言以及与所述第一语言具有对应关系的第二语言。

14、一种文件转换方法,包括:

15、获取源代码文件,在所述源代码文件中查找出模板语法,提取出所述模板语法中的文本内容,从本专利技术上述多语言配置文件自动生成方法得到的语言配置文件中获取所述文本内容对应的唯一标识,将所述源代码文件中的模板语法转换成当前语言配置文件执行代码,所述当前语言配置文件执行代码中含有所述唯一标识。

16、可选地,还包括:

17、在触发代码提交指令后,遍历所述源代码文件,查找是否存在所述模板语法未被转换,若存在,则展示未被转换的模板语法,若不存在,则保存所述源代码。

18、可选地,在所述源代码文件中查找出模板语法之后,还包括:

19、判断所述模板语法是否属于忽略替换范围,若属于,则忽略模板语法,继续进行下一个模板语法的查找;

20、在触发代码提交指令后,遍历所述源代码文件,查找是否存在所述模板语法未被转换时,忽略属于忽略替换范围内的模板语法。

21、可选地,所述忽略替换范围对应具有若干特殊语法,所述特殊语法可通过注释的形式书写在所述源代码文件中。

22、可选地,所述忽略替换范围包括忽略一行代码、忽略代码块和忽略整个文件中的至少一种。

23、一种文件转换装置,包括:

24、配置文件解析器,用于获取配置文件,将所述配置文件进行解析,提取出所有文本内容以及对应的唯一标识,将不同语言的文本内容及对应的唯一标识以预设格式对象插入至预设的多语言配置文件目录下的各语言配置文件中;

25、模板语法转换器,用于获取源代码文件,在所述源代码文件中查找出模板语法,并检测所述模板语法中的文本内容是否存在于各语言配置文件中,从语言配置文件中获取所述文本内容对应的唯一标识,将所述源代码文件中的模板语法转换成当前语言配置文件执行代码,所述当前语言配置文件执行代码中含有所述唯一标识。

26、配置文件生成器,用于在所述模板语法中的文本内容不存在于各语言配置文件中时,对所述文本内容生成一个新的唯一标识,将不同语言的文本内容及对应的新的唯一标识以预设格式对象插入至各语言配置文件中。

27、有益效果:本专利技术具有如下至少一项或多项优点:

28、1、本专利技术能检测开发人员在代码中的文本内容,并自动生成一个对应文本的唯一标识,将唯一标识和对应文本自动生成到所有语言的配置文件中,前端开发就不需要在开发过程中手动的将文本一个个的添加到所有配置文件中了,开发人员也不需要去多语言文件中手动查找是否是已经存在的文本,也不需要手动去维护每个语言配置中的文本及唯一标识,能极大的降低多语言相关开发成本。

29、2、通过模板语法的书写方式,可以让开发人员十分方便的进行开发,不会影响原先的开发体验。并且能控制哪些文本需要被提取转换,哪些不需要。使得本专利技术具备灵活性和自主性。同时在整个功能模块的开发过程中因为不需要关心配置文件,就可以专注于页面功能本身,而不会被打断开发的心流状态,只需要专注于过程编码,这将极大的提升开发效率。

30、3、本专利技术将模板语法转换成当前语言配置文件执行代码,使用时,执行的是转换后的源代码文件,在页面最终展示的时候,直接通过当前语言配置文件执行代码,通过唯一标识调用方式去读取当前语言下的文本,相比函数调用更节省内存,性能相对更优,代码更简洁。

31、4、本专利技术的模板语法额外提供具有两种语言的文本内容,提供更灵活的对同一个文本内容在不同语境、不同语种以及不同的业务场景下的翻译需求。

32、5、本专利技术提供的“需要转换但未转换的文本”检测功能,能有效防止网站不正确的展示语言文本,同时不需要人工去检查代码,在代码提交的时候会自动检测出这些问题文本,极大的提高了开发人员的错误检查效率,以及保障网站页面中正确展示设置语言的文本正确性。

33、而本专利技术提供的若干可忽略转换的特殊语法又能支持特殊的不需要转换的场景,兼顾了稳定性以及高可扩展性。

本文档来自技高网...

【技术保护点】

1.一种多语言配置文件自动生成方法,其特征在于,包括:

2.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,还包括:

3.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,在所述源代码文件中查找模板语法时,通过正则匹配的方式读取到所有的模板语法。

4.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,对所述文本内容生成一个新的唯一标识,包括:

5.如权利要求1至4中任意一项所述的多语言配置文件自动生成方法,其特征在于,所述模板语法为预设格式的文本内容且所述文本内容采用预设第一语言;

6.一种文件转换方法,其特征在于,包括:

7.如权利要求6所述的文件转换方法,其特征在于,还包括:

8.如权利要求6所述的文件转换方法,其特征在于,在所述源代码文件中查找出模板语法之后,还包括:

9.如权利要求8所述的文件转换方法,其特征在于,所述忽略替换范围对应具有若干特殊语法,所述特殊语法可通过注释的形式书写在所述源代码文件中;

10.一种文件转换装置,其特征在于,包括:

...

【技术特征摘要】

1.一种多语言配置文件自动生成方法,其特征在于,包括:

2.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,还包括:

3.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,在所述源代码文件中查找模板语法时,通过正则匹配的方式读取到所有的模板语法。

4.如权利要求1所述的多语言配置文件自动生成方法,其特征在于,对所述文本内容生成一个新的唯一标识,包括:

5.如权利要求1至4中任意一项所述的多语言配置文件自动生成方法,其特征在于,所述...

【专利技术属性】
技术研发人员:沈勇张栩王立端吴穹孔德强
申请(专利权)人:智研工软杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1