Localization i18n应用程序的测试工具

Localization i18n应用程序的测试工具,localization,internationalization,globalization,Localization,Internationalization,Globalization,有没有关于测试国际化/本地化应用程序的工具的建议?应用程序的UI是通过web界面实现的。本地化字符串存储在xml文件中 致以最诚挚的问候我不确定您到底想测试什么,但对于桌面应用程序,我正在处理一些可翻译字符串,这些字符串用于菜单。这些字符串可能包含键盘快捷键,例如:“Open\tCtrl-O”。我们需要包括键盘快捷键,因为Ctrl-O可能需要翻译成其他语言的其他键盘快捷键。然而,一些翻译人员(当然不是故意的)会引入bug。例如,它们将在\t和Ctrl-O之间包含一个空格,或者它们将转换“Ctrl

有没有关于测试国际化/本地化应用程序的工具的建议?应用程序的UI是通过web界面实现的。本地化字符串存储在xml文件中


致以最诚挚的问候

我不确定您到底想测试什么,但对于桌面应用程序,我正在处理一些可翻译字符串,这些字符串用于菜单。这些字符串可能包含键盘快捷键,例如:“Open\tCtrl-O”。我们需要包括键盘快捷键,因为Ctrl-O可能需要翻译成其他语言的其他键盘快捷键。然而,一些翻译人员(当然不是故意的)会引入bug。例如,它们将在\t和Ctrl-O之间包含一个空格,或者它们将转换“Ctrl”。我们的解决方案是创建少量的单元测试,并在每种语言的每一个英语字符串翻译的字符串组合上运行这些测试。这是很多测试(在我们的例子中超过50000个),但是它们运行得非常快(10秒左右),因为它主要是字符串比较

我们测试的内容包括:

  • 在\t和键盘快捷键之间没有空格
  • 如果英文字符串中有键盘快捷键,翻译中也应该有
  • 如果英文字符串没有换行符,翻译也不应该
  • 如果英文字符串以“…”结尾(表示打开对话框的菜单项),则翻译也应以“…”结尾

我希望这仍然有用,因为您正在谈论web应用程序,而我的经验是使用桌面应用程序。

我不确定您到底想要测试什么,但对于桌面应用程序,我正在处理一些可翻译字符串,以供菜单中使用。这些字符串可能包含键盘快捷键,例如:“Open\tCtrl-O”。我们需要包括键盘快捷键,因为Ctrl-O可能需要翻译成其他语言的其他键盘快捷键。然而,一些翻译人员(当然不是故意的)会引入bug。例如,它们将在\t和Ctrl-O之间包含一个空格,或者它们将转换“Ctrl”。我们的解决方案是创建少量的单元测试,并在每种语言的每一个英语字符串翻译的字符串组合上运行这些测试。这是很多测试(在我们的例子中超过50000个),但是它们运行得非常快(10秒左右),因为它主要是字符串比较

我们测试的内容包括:

  • 在\t和键盘快捷键之间没有空格
  • 如果英文字符串中有键盘快捷键,翻译中也应该有
  • 如果英文字符串没有换行符,翻译也不应该
  • 如果英文字符串以“…”结尾(表示打开对话框的菜单项),则翻译也应以“…”结尾

我希望这在您谈论web应用程序时仍然有用,而我的经验是使用桌面应用程序。

对i18n应用程序进行“测试”的一种方法是确保您解决了所有特定于语言环境的行为和翻译的资源。这通常需要制定质量保证计划

您必须执行的步骤之一是确保基于每个区域设置正确设置货币、数字、日期、时间或其他度量的格式。据我所知,没有专门的工具来检查这一点

另一个方面是确保所有用户可见的字符串确实在代码之外和资源包中,无论是哪种类型(从.properties到.po到.xml…选择很大)。一些QA团队建立了一种“伪本地化”策略,这意味着资源包是用原始字符串创建的,但带有前缀和后缀“特殊”字符,例如日语平假名。然后使用伪区域设置调用应用程序,显示所有带有前缀和后缀的字符串,同时允许开发人员查看缺少的内容(那些没有平假名的字符串)以及布局管理的行为(裁剪不应该的文本)

有很多工具可以做到这一点,比如Lingoport的Globalyzer,它通常处理i18n,伪本地化是其中的一部分(在菜单中,它实际上被称为“伪柔道”)。它允许文本按给定的百分比增长,只在原始字符串中添加前缀或后缀或两者


希望这至少部分地回答了您的问题。

对i18n应用程序进行“测试”的一种方法是确保您解决了所有特定于语言环境的行为和翻译的资源。这通常需要制定质量保证计划

您必须执行的步骤之一是确保基于每个区域设置正确设置货币、数字、日期、时间或其他度量的格式。据我所知,没有专门的工具来检查这一点

另一个方面是确保所有用户可见的字符串确实在代码之外和资源包中,无论是哪种类型(从.properties到.po到.xml…选择很大)。一些QA团队建立了一种“伪本地化”策略,这意味着资源包是用原始字符串创建的,但带有前缀和后缀“特殊”字符,例如日语平假名。然后使用伪区域设置调用应用程序,显示所有带有前缀和后缀的字符串,同时允许开发人员查看缺少的内容(那些没有平假名的字符串)以及布局管理的行为(裁剪不应该的文本)

有很多工具可以做到这一点,比如Lingoport的Globalyzer,它通常处理i18n,伪本地化是其中的一部分(在菜单中,它实际上被称为“伪柔道”)。它允许文本按给定的百分比增长,只在原始字符串中添加前缀或后缀或两者

希望这至少部分地回答了你的问题