gpt4 book ai didi

web-applications - 如何在 Web 应用程序上进行本地化?

转载 作者:行者123 更新时间:2023-12-04 05:21:24 25 4
gpt4 key购买 nike

有几种方法可以做到这一点,我可以定义所有文本元素,并从 javascript 加载本地化字符串 json,并使用一些 javascript 替换文本来这样做......另外,我检查了还有其他方法可以做也是。例如,有些人正在使用平台依赖的方式来做到这一点。例如,J2EE 有它自己的实现方式。此外,我可以为每种语言创建单独的页面。

但是有什么方法可以灵活或建议本地化吗?谢谢你。

最佳答案

在我看来,您真正要求的是:如何正确实现可本地化?或者如何编程以使本地化应用程序变得容易。

这实际上是与国际化相关的问题。为了使您的应用程序易于本地化,您需要牢记以下几点:

  • 不要对字符串进行硬编码(这很明显)
  • 不要硬编码样式信息(不要使用格式标记,如 等;不要使用:<p style="font-weight: bold;color: green;">Success!</p>)。这将防止本地化人员修改它们(即从 CJKV 翻译中删除粗体文本)
  • 避免使用复合消息(例如“函数 [A,B,C] 执行 [a,b,c]”)。它们很难正确翻译。如果您没有很多变量,那么在资源中添加更多字符串不会有什么坏处。
  • 不要使用连接运算符或仅通过将字符串彼此相邻放置(即不要这样做:String message = "Function " + function + " does " + whatItDoes; 或此:#{['something']}<a href="whatever">#{['some_link']}</a>#{['something_else']})来连接复合消息,而是使用格式(即 MessageFormat.format("Hello, {0}. You have {1} new messages.", name, mailCount);)。这将不允许翻译人员重新排序句子,并且由于目标的语言语法规则可能需要这样做。
  • 如果句子中有多个此类占位符,请勿使用原始占位符(例如 %s %i %u)(实际上最好使用编号占位符,例如 {0}、{1})。同样,有时翻译人员需要重新排序句子...
  • 不要使用特定于英语的语言结构(即“Paweł 的仪表板”,其中 Paweł 是我在注册期间提供的名称)。无法将其正确翻译成多种语言

  • 此外,还有一些事情要做:
  • 提供样式表覆盖机制(以便本地化人员可以修改元素的样式)
  • 为呈现的 HTML 页面的每个元素分配唯一的 id(这将允许他们使用覆盖的样式定位确切的控件)
  • 尽可能使用 UTF-8 编码(显然是 HTML 页面、电子邮件,如果有的话,但也可能是资源文件 [即属性])

  • 还有更多与本地化无关的事情,例如语言检测工作流程、格式化和验证数字、货币、日期(包括设置适当的时区),您需要在适当的全局化应用程序中关心这些,但这实际上是不同的故事。

    关于web-applications - 如何在 Web 应用程序上进行本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4421027/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com