代码之家  ›  专栏  ›  技术社区  ›  andri

管理Java属性文件的本地化

  •  25
  • andri  · 技术社区  · 17 年前

    .properties 包含本地化字符串的文件,我们目前的程序是在进行重大更新之前,将特定语言的文件通过电子邮件发送给我们的合作伙伴进行更新。

    然而,这个过程很容易出错,因为有时人们会忘记翻译新字符串,有时新字符串不会添加到每个语言文件中,因此很容易出现小错误。

    至少,我在想一种方法,可以让你加载一个主文件(例如,英语),一个本地化的文件,然后突出显示添加到主文件或从主文件中删除的密钥。

    13 回复  |  直到 17 年前
        1
  •  9
  •   ChssPly76    17 年前

    我用过 Jinto 为此目的,以及 EPFE (旧版本,尚未尝试最新版本)。

    这两个都是Eclipse插件,如果你能克服它们会对资源包中的键进行重新排序的事实,那么这两个插件都是相当不错的。然后还有 Babel -我没有亲自尝试过,所以我不知道它有多好。

        2
  •  5
  •   ahus1    14 年前

    我们正在使用 https://webtranslateit.com/ 作为托管服务。

    每当有更改时,我们的持续集成服务器都会上传我们的(英文)Java属性文件。然后,不同语言的用户可以登录并更新他们的翻译。

    有一个很好的API,它允许我们为web应用程序“即时”获取翻译,但这只是目前的内部解决方案。

    当有发布时,我们下载文件,将它们与我们的应用程序捆绑在一起并部署它。

    该解决方案突出了翻译、未翻译、需要验证的内容,提供了翻译记忆库,并集成到谷歌翻译中。

    顺致敬意, 亚历山大。

        3
  •  3
  •   Mike Sickler    17 年前

    Netbeans 有一个非常优秀的Java属性编辑器,可以并排显示每个语言环境。您可以很容易地看到不同语言缺少哪些属性。

        4
  •  3
  •   mromaine    15 年前

    对于您没有内部翻译的语言的导入、管理甚至订购翻译,myGengo的String(http://mygengo.com/string/about)是一个免费托管的解决方案。支持为各种平台导入各种语言文件。(完全披露-我是myGengo的联合创始人)

        5
  •  3
  •   Omnaest    15 年前

    即使这超出了原始海报的时间范围:

    i18nBinder

    语言环境被放置在每个键(行)的列中。

    然后,它将xls文件中的更改写回原始文件。这非常方便,因为你使用Excel进行编辑,所以每个人都很熟悉。

    顺致敬意,

        6
  •  2
  •   DylanYi    13 年前

    那...呢 localizedproperties Eclipse插件?它类似于Jinto,但支持高达3.6的Eclipse版本。

        7
  •  2
  •   lapo    11 年前

    Eclipse ResourceBundle Editor 似乎是“Eclipse插件”部门中最新(更好,依我之见)的选择。

    enter image description here

        8
  •  1
  •   richj    16 年前

    有时人们会忘记翻译新字符串,有时新字符串不会添加到每个语言文件中,因此很容易出现小错误。

    我使用了一种略有不同的方法,即我按照我想要的顺序发送包含现有本地化字符串与新的未翻译字符串合并的.properties文件。

    新字符串标记有“伪翻译”字符,因此通过简单的文本搜索很容易找到未翻译的字符串。

    这个系统工作得很好,现在它是半自动化的,每次本地化更新大约需要一个小时,而不是以前完全手动时需要的1-2天。

    我编写了自己的工具来生成合并文件,并在新的母版、旧的本地化文件和新生成的合并文件之间进行三方比较,但任何以相同方式合并更改的工具都可以使用此过程。

        9
  •  1
  •   Aravind Yarram    15 年前

    我一直在使用 JRC Editor 用于管理资源包。它将突出显示缺少值的键,如下所示 screen shot .

    它还允许您使用本机语言处理捆绑包(因此最终用户友好),并在幕后将字符转换为等效的“\uxxx”。

        10
  •  1
  •   nicolimo86    9 年前

    我试过了 Everit - i18n Props XLS Converter 它完成了这项工作。

    您可以指定包含翻译的.properties的位置,您将得到一个.xls,其中填充了其中包含的所有值。

    此时,您可以将xls发送给翻译人员,翻译人员将用正确的翻译填充它,然后将其转换回.properties以在您的java项目中使用。

    该项目托管在github上,需要使用maven和jdk8构建。

        11
  •  0
  •   Ceki    17 年前

    这 CAL10N 该项目旨在解决这个问题。它通过添加验证原语来构建资源包。它也很容易使用。

        12
  •  0
  •   Ben Sion    15 年前

    答案有点晚了,但为了将来参考,还有 Tongue-Tied 它是一个开源的、基于网络的应用程序,用于管理静态资源和翻译。翻译可以通过web界面输入。它支持导入/导出多种格式,如java属性文件、excel文件、csv等。如果需要,它还内置了一个小型工作流。

    免责声明 :我是项目负责人。

        13
  •  -1
  •   user1152262    13 年前

    转到Excel->导入->选择属性文件(选择打开的文件类型中的所有文件)。

    在导入过程的下一个屏幕上,它会询问您想要哪种分隔符,选择other并在框中放入“=”(不带引号)

    选择下一步,瞧。您有一个excel表格,其中包含可以使用的属性。