【问题标题】:Is there a .NET equivalent to MediaWiki's 'PLURAL' construct for dealing with parameters in localized text?是否有与 MediaWiki 的“PLURAL”构造等效的 .NET 来处理本地化文本中的参数?
【发布时间】:2011-01-18 23:39:49
【问题描述】:

我正在为 ASP .NET Web 应用程序的本地化获取资源文件 (resx)。这些资源文件稍后将提供给翻译人员,以便将内容翻译成我们需要支持的所有语言。

据我了解,当您开始处理不同的语言时,处理多元化等问题可能会很困难。考虑希望向用户显示确认消息的示例,询问他们是否要删除当前屏幕上的一条或多条记录。作为该消息的一部分,我们希望包含要删除的记录数,因此我们可以将资源文本定义为:

您确定要删除这 {0} 条记录吗?

这回避了使用“记录”一词与记录的问题。这有点语法技巧,但我想它在英语中足够好用。也就是说,我不想假设同样的方法也适用于其他语言。在某些情况下(如中文),复数甚至不是问题,但在其他语言中肯定会出现问题,并且使用 (s) hack 可能不会解决问题。

我一直在阅读 MediaWiki wiki 上的 Localization Article(dogfooding!),发现他们实际上能够根据参数的值是否为复数,在消息中嵌入不同的文本以使用。所以上面的资源文本会变成(注意参数占位符使用$1而不是{0},但概念是一样的):

您确定要删除这些 $1 {{PLURAL:$1|record|records}} 吗?

我喜欢这种语法,并且想知道是否有任何 .NET 库可以解释这一点,我可以将其插入到我的 Web 应用程序的自定义资源管理器中以支持此类功能。

【问题讨论】:

    标签: .net localization internationalization


    【解决方案1】:

    目前 System.Data.Entity.Design.PluralizationServices 仅支持英文 =(

    http://msdn.microsoft.com/en-us/library/system.data.entity.design.pluralizationservices.pluralizationservice.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-15
      • 2011-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 2011-03-11
      • 2011-09-21
      相关资源
      最近更新 更多