gpt4 book ai didi

asp.net - 从源代码、aspx、xaml 中提取可本地化的字符串到资源文件

转载 作者:行者123 更新时间:2023-12-02 20:48:35 26 4
gpt4 key购买 nike

作为基于 asp.net、c#、silverlight、XBAP 的应用程序国际化的一部分,我正在评估开始的方法。我必须在 GNU gettext()(PO files) 之间做出选择以及微软基于资源(resx)的方法。因此,在这个时刻,如果我必须采用 MS 方式,我试图了解从 .cs 文件、aspx、ascx、xaml(silverlight)文件自动提取可本地化字符串到资源文件(resx)的最佳方法是什么。

我有以下选择:

  1. Resource Refactoring tool ,但它会提取所有字符串(无论您是否必须翻译),例如页眉等。并且我们无法标记或排除特定字符串。或者我们必须手动选择每个字符串然后提取(右键单击并单击提取)。
  2. Resharper's Localization assistance ,这里我没有看到自动提取,但我必须手动逐字符串提取。

我知道必须有一些手动干预,但任何建议都有助于在 gettext()( gnu gettext() c# or fairlylocal 或 MS 本地化方法之间选择正确的方向。

最佳答案

两种方法各有利弊,我们一起讨论。

相当本地化

(GNU Gettext) 首先,需要进行初始调整:

  1. 下载库和工具并转储到与您的项目相关的某个位置
  2. 修改网站的基页对象(手动干预)
  3. 向您的网络项目添加一个构建后步骤,该步骤将运行 xgettext 并更新您的 .po 文件

第二,字符串提取已由 FairlyLocal 本身负责。第三,字符串的翻译可以在内部完成,也可以外包,因为 PO 文件已为语言学家所熟知。 第四,一些UTF-8字符(如果有)的渲染依赖于webfonts {eot (trident), svg (webkit 壁虎急速)}。 第五,需要维护语言环境(例如 pa-IN languageCode-countryCode)。 第六,几个 converters可用于 PO 文件。 第七,默认逻辑将回退到该值的默认区域设置 (en-US) 资源。 问题The .po files that the build script generates won't be UTF8 by default. You'll need to open them in POEdit (or similar) and explicitly change the encoding the first time you edit them if you want your translated text to correctly show special characters .

微软本地化

首先,使用资源重构工具提取字符串非常容易。 第二,resgen.exe命令行工具可用于使.resx文件语言学家友好。

resgen /compile examplestrings.xx.resx,examplestrings.xx.txt

第三,.NET 中的本地化(不特定于 ASP.NET Proper 或 ASP.NET MVC)实现了标准回退机制。 第四,不依赖于GNU Gettext Utils第五,可以实现从字符串日期货币等的本地化,使用当前 UI 文化和当前文化。 第六,这里也推荐使用网络字体。

谢谢。

关于asp.net - 从源代码、aspx、xaml 中提取可本地化的字符串到资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14050249/

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