0

我有一个应用程序,它应该可以在 Windows 和 Mac 上运行,并且本地化为葡萄牙语、西班牙语和德语。我有一个 ini 文件,从中读取本地化字符串。但是 ini 文件不适用于两个平台上的文件的相同编码。对于 Windows,我必须拥有 ANSI 格式的文件,否则本地化字符串中的重音字母会变得混乱,并且在 Mac 上,相同的文件应该采用西方(Mac OS)编码,否则结果相同。有什么办法可以让一个文件在两个平台上工作?

4

4 回答 4

3

(1) 不存在ANSI 格式之类的东西。对于 Windows 上的“本地代码页”来说,这是一个不幸的术语。特别是,这意味着在欧洲,将字节 128-255 解释为“ANSI 格式”在不同国家/地区之间会有所不同。因此,我强烈倾向于认为它甚至无法在您的第一个平台上运行,更不用说两者了。

您最终将迁移到的解决方案是 Unicode。这适用于所有字符,字符数不取决于国家或当前日期(参见 € 的介绍)。

于 2008-10-03T14:20:58.153 回答
1

在 Mac 上,您可以将本地化资源(文本文件等)放在 .lproj 文件夹中,Cocoa 库将找到用户语言的版本。例如 English.lproj、Spanish.lproj 等。最好使用这个系统而不是拥有自己的自定义本地化机制。

如果您使用的不是 Cocoa,并且出于可移植性原因需要使用自定义本地化内容,那么您可以尝试加载指定文本编码的文件。在 Windows 上,它通常是 ISO-8859-1(也称为 Windows Latin 1)。或者,您可以将文本文件转换为 Unicode 并指定其为 UTF-8 来读取它们。您没有告诉您为此使用什么语言或框架,因此如果没有更多信息,我们将无法为您提供任何进一步的帮助。

于 2008-12-18T18:10:37.723 回答
0

欢迎来到痛苦的世界。我还建议切换到 Unicode,它会给你一个可验证的基础,让你以后的生活更轻松

于 2009-04-28T07:35:29.013 回答
0

gettext是一个广泛使用的框架,用于翻译应用程序、网站等。

于 2008-10-03T14:30:40.787 回答