问题标签 [localization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
10741 浏览

设计字符串本地化的最佳方法

这是一个笼统的问题,欢迎发表意见。我一直在尝试想出一种好方法来设计用于 Windows MFC 应用程序和相关实用程序的字符串资源本地化。我的愿望清单是:

  • 必须在代码中保留字符串文字(而不是用宏 #define 资源 ID 替换),以便消息仍然可以内联读取
  • 必须允许本地化字符串资源(duh)
  • 不得施加额外的运行时环境限制(例如:对 .NET 的依赖等)
  • 对现有代码的干扰应该最小(修改越少越好)
  • 应该是可调试的
  • 应生成可用常用工具编辑的资源文件(即:常用格式)
  • 不应使用复制/粘贴注释块来保留代码中的文字字符串或任何其他可能导致去同步的内容
  • 允许静态(编译时)检查每个“注释”字符串是否在资源文件中会很好
  • 允许跨语言资源字符串池会很好(适用于各种语言的组件,例如:本机 C++ 和 .NET)

除了静态检查之外,我有一种方法可以在某种程度上满足我的所有愿望,但我不得不开发一些自定义代码来实现它(并且它有局限性)。我想知道是否有人以特别好的方式解决了这个问题。

编辑:我目前拥有的解决方案如下所示:

然后,我有一个自定义实用程序来解析“RESTRING”块中的字符串并将它们放入一个 .resx 文件中以进行本地化,并使用一个单独的 C# COM 对象从本地化资源文件中加载它们并返回。如果 C# 对象不可用(或无法加载),我会回退到代码中的字符串。该宏扩展为一个模板类,该类调用 COM 对象并进行格式化等。

无论如何,我认为添加我现在的参考资料会很有用。

0 投票
4 回答
1318 浏览

本地化/国际化工具

我希望以最少的努力将本地化添加到网站(asp.net /c#,如果这会产生影响)。我看过像wiztom multilizer 这样的工具,我很好奇其他人使用它们的经验。

您是否成功使用过此类工具,如果是,您会采取哪些不同的做法?

0 投票
2 回答
2054 浏览

.Net 后台工作进程本地化帮助

在我的 Windows 窗体应用程序中,我的后台工作进程报告了本地化消息,我遇到了一些奇怪的行为。

该应用程序是一个带有 Windows 窗体的设置应用程序。该应用程序启动一个后台工作程序来执行和 IIS 重置,然后安装 MSI。

我第一次在西班牙语 Win Server 2003 VM 上运行应用程序时,表单是西班牙语,但不是 BWP 消息。如果我立即再次运行它,则消息为西班牙语。

.Resources 文件是嵌入式资源,在应用程序启动时被提取到 temp 目录。

我的代码通过自定义资源管理器类检索本地化字符串。此类为临时目录中的 .Resources 文件创建基于文件的资源。这工作正常,因为 Windows 窗体标签和标题每次都本地化。

有没有人经历过这个?我完全卡住了,请帮忙。谢谢,安德鲁

0 投票
6 回答
6408 浏览

数据库本地化

如果以下问题可能有更好/不同/常见的解决方案,我正在寻找意见:


我有一个产品数据库,其中包含英文(此应用程序的默认语言)产品名称,如果可用,我需要名称的翻译。

目前我有这个设置:

产品表

和产品本地化表

我使用以下查询检索本地化产品列表(在本例中为德语),并回退到默认英文名称:

SQL 代码是 postgres 方言。数据存储为 UTF-8。

0 投票
6 回答
1248 浏览

本地化测试,用 XXXXX 格式化所有字符串

我们正在尝试优化我们的本地化测试。

我们的 QA 小组提出了一种特殊模式的建议,强制资源中的所有字符串完全包含在 X 中。我们已经 API 劫持了 LoadString,以及它的 MFC 实现,所以这样做应该不是主要障碍。

我的问题是如何解决格式问题?

因此,总而言之,如果在 printf 或 Format 语句中使用该字符串应该可以工作,它应该尊重转义字符。

所以这是一个纯代码问题,C++/MFC,

我知道这可以使用 .RC 文件上的工具来完成,但我们想构建英语,然后像这样运行 -

应用程序-L10NTEST

0 投票
9 回答
67777 浏览

如何本地化 ASP.NET MVC 应用程序?

本地化 ASP.NET MVC 应用程序的最佳实践是什么?

我想介绍两种情况:

  • IIS 中的一个应用程序部署,可以处理多种语言
  • 一种语言/应用程序部署。

在第一种情况下,您是否应该使用某种基于视图的东西,例如~/View/EN、~/View/FI、~/View/SWE 或不同的东西?

第二种情况呢,只是通过 Web.config 进行基于应用程序的配置并将这些不同的语言指向不同的 URL?

0 投票
7 回答
14233 浏览

将 Visual Studio 资源文件转换为文本文件?

我知道有一些工具可以将文本文件获取到 Visual Studio 的资源文件。但我想将我的资源文件中的文本转换为文本文件,以便翻译它们。还是有更好的方法来做到这一点?

0 投票
4 回答
159 浏览

您知道任何本地化为西班牙语的 IDE 吗?

我有一个朋友在语言障碍方面遇到了困难。我试图想出任何也有西班牙语版本的 IDE,但什么也想不出来。有任何想法吗?

0 投票
26 回答
22860 浏览

用其他(口语)语言编码

这是我一直想知道的事情,我在网上的任何地方都找不到任何提及。当一家来自日本的商店写代码时,我能用英文阅读吗?或者像 C、PHP 之类的语言有他们编写的日语翻译吗?

我想我要问的是世界上每个编码员是否都知道足够的英语来使用与我完全相同的保留字?

这段代码:

显示与我现在用英语看到的完全相同,或者其他非英语国家的人会看到“if”、“switch”、“case”、“default”、“print”和“其他”用他们的母语?

编辑 - 是的,这很严重。我不知道一种语言的不同本地化是否有不同的关键字。或者是否有不同的本地化。

0 投票
5 回答
4264 浏览

如何以编程方式操作 DLGTEMPLATE?

什么?

我有一个从资源 DLL 加载的 DLGTEMPLATE,如何以编程方式在运行时更改分配给控件的字符串?

我希望能够在创建对话框之前执行此操作,这样我就可以知道显示的字符串来自资源 DLL,而不是初始化对话框时对 SetWindowText 的调用。

谷歌已经找到了在代码中创建 DLGTEMPLATE 的示例,或者在编辑内存中的字符串时没有处理简单的样式位。

如何?

我通过挂钩对话框/属性表创建 API 来做到这一点。这使我可以在创建实际对话框之前以及在它具有 HWND 之前访问 DLGTEMPLATE。

为什么?

我希望能够进行运行时本地化和本地化测试。我已经为加载字符串(包括 MFC 7.0 包装器)、菜单和加速器表实现了此功能,但我正在努力处理对话框/属性表的创建。

代码示例将是完美的答案,理想情况下是一个围绕 DLGTEMPLATE 的类,如果我制定出自己的解决方案,我会发布它。