Language agnostic 是否有处理可本地化助记符的模式/算法?

Language agnostic 是否有处理可本地化助记符的模式/算法?,language-agnostic,localization,user-interface,mnemonics,Language Agnostic,Localization,User Interface,Mnemonics,我使用的web应用程序产品允许助记符(即字符“C”下方的下划线,允许键盘组合和键C触发“关闭”按钮) 表单由不同的开发人员创建,每个开发人员都可以静态设置按钮的助记符 表单可以嵌套,因此在设计时不一定知道一页所需的确切助记符 在包含许多表单的页面上,最多可以有一个使用任何字符的助记符 这是最重要的一点,表格必须能够被本地化为任何语言,这意味着“C”表示结束语甚至可能不会出现在。。。[插入语言]用于“关闭”的单词 理想的解决方案是开发人员不必手动指定助记符的算法,而是在运行时计算出助记符,将它

我使用的web应用程序产品允许助记符(即字符“C”下方的下划线,允许键盘组合和键C触发“关闭”按钮)

  • 表单由不同的开发人员创建,每个开发人员都可以静态设置按钮的助记符
  • 表单可以嵌套,因此在设计时不一定知道一页所需的确切助记符
  • 在包含许多表单的页面上,最多可以有一个使用任何字符的助记符
  • 这是最重要的一点,表格必须能够被本地化为任何语言,这意味着“C”表示结束语甚至可能不会出现在。。。[插入语言]用于“关闭”的单词
理想的解决方案是开发人员不必手动指定助记符的算法,而是在运行时计算出助记符,将它们本地化,并且它们既方便又一致(我确实说过理想的解决方案;-D)

所以我想知道,有什么好的策略可以实现接近理想解决方案的目标吗


编辑:为了澄清

  • 我不是说键盘加速器,比如Ctrl+S保存,它隐藏在菜单上。助记符仅用于屏幕上显示的操作,例如按钮标签下的操作。没有隐藏的键盘快捷键,这些快捷键在本地化时会发生变化(无论如何都没有,我们是在web浏览器中运行的,所以唯一的加速器是那些正在使用的浏览器的一部分)
  • 在设计时尝试选择助记符的问题是,负责开发UI的人员不知道本地化,因为几个月后可能会这样做。此外,使用嵌套和模块化形式的问题意味着即使没有本地化,也可能存在冲突
我讨论过的一些想法包括建立一个全局助记符注册中心,表单可以根据它的本地化标签申请某个助记符,然后注册中心会计算出可用字符的最佳用途。不知何故,它必须保持这种状态——这样,在应用程序使用过程中,同一个表单不会以不同的助记符集出现,甚至可能是静态的和持久的


当然,如果我想做这样的事情,它会适合一个更通用的算法——我只是不知道是哪一个!:-)

我看到这样做的问题是在运行时,当您部署一个具有新表单的版本,并从alt-c更改为ctrl-c时会发生什么。或者,当您在两个不同的页面上有两个操作,但它们都已关闭时,您需要确保“关闭”始终为alt-c。更糟糕的是,如果算法是基于一些不确定的东西,并且可以随着时间的推移而改变,而不需要部署


看起来您可能会花更多的时间尝试为设计时应该决定的事情构建算法

这实际上是一个设计问题,而不是算法问题。事实证明,大多数应用程序并没有本地化键盘加速器,包括大多数微软的,尽管在某些市场上也有一些例外。并非每个键盘快捷键都是助记键;事实上,只有少数最常见的是

我应该注意到,这次不将加速器本地化的选举是最近的趋势;在2000年左右之前,在某些产品中本地化快捷键仍然很常见(例如,在德国和瑞典产品中,ctrl-F表示“Fett”,而不是“bold”)。但钟摆却向相反的方向摆动,这可能是MUI和类似特征的结果

一些本地化工具将在这方面帮助您;我将此功能视为我从未使用过的一款产品上的一个要点,该产品名为VisualLocalize。我不确定自动赋值有多有用,因为在没有特定产品的领域知识的情况下,自动决定哪个字符是最好的助记表示是一个相当困难的问题

一般来说,只有在对话框上,也可能在菜单中本地化带下划线的助记字符才有意义。大多数本地化服务公司都熟悉这个过程,有些公司有工具在交付本地化资源包之前检测任何构建时资源中的重复项。实际上,您可能希望投资于查找或构建一个可以在运行时执行此重复检查的工具,并将该工具作为验收标准的一部分运行


对于常规菜单项或键盘命令序列,它可能会让人困惑而不是有用,除非您有一个完全烘焙的键盘到命令映射自定义功能。

我在过去的项目中尝试过类似的操作,但放弃了它。这太复杂了,在任何合理的时间内都无法完成

其中一个挑战是,有些语言没有一个可显示的“字母”映射到键盘上的一个键。英语中的另一个挑战是可用性标准要求助记字母与其他应用程序中类似按钮/菜单中的字母保持一致。如果动态选择字母,这可能会很困难

我不知道它是否可以被称为“最佳实践”,但是考虑一下微软Internet Explorer在日语中所做的事情。注意菜单和工具栏上熟悉的F、E、V、A和D助记符。我想,在适当的情况下,表单上的按钮等也遵循同样的惯例


(来源:)


(我从一个网站上截取了这个屏幕截图。如果它过时了,你可以很容易地找到jp-本地化IE的其他图片。)

希望我的编辑能让你更深入地理解我的意思,以及在设计时分配的限制。干杯