[英]Does .NET have a built-in pluralisation mechanism?
為了正確處理復數,Qt具有QObject :: tr() ,gettext具有ngettext ,Rails具有良好的i18n API ,Cocoa具有.stringsdict文件 。 所有這些系統都考慮了實際數字(數量)以確定給定語言的適當復數形式。
我了解Humanizer , NGettext和PluralNet,但是我正在尋找.NET中的內置等效項。 它存在還是我不走運?
這不是一個完全內置的解決方案,但是有一個Visual Studio擴展ReswPlus (在Visual Studio Marketplace上 ),它利用PluralNet並生成以數字為參數的方法來自動為給定的本地化選擇正確的復數形式。
這是自述文件中有關復數的摘錄:
資源:
| Key | Value | Comment |
|-------------------|------------------|-------------------|
| MinutesLeft_One | {0} minute left | #ReswPlusTyped[Q] |
| MinutesLeft_Other | {0} minutes left | |
將自動生成以下代碼:
#region MinutesLeft
/// <summary>
/// Get the pluralized version of the string similar to: {0} minute left
/// </summary>
public static string MinutesLeft(double number)
{
return Huyn.PluralNet.ResourceLoaderExtension.GetPlural(_resourceLoader, "MinutesLeft", (decimal)number);
}
/// <summary>
/// Format the string similar to: {0} minute left
/// </summary>
public static string MinutesLeft_Format(double pluralCount)
{
return string.Format(MinutesLeft(pluralCount), pluralCount);
}
#endregion
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.