簡體   English   中英

.NET是否具有內置的多元化機制?

[英]Does .NET have a built-in pluralisation mechanism?

為了正確處理復數,Qt具有QObject :: tr() ,gettext具有ngettext ,Rails具有良好的i18n API ,Cocoa具有.stringsdict文件 所有這些系統都考慮了實際數字(數量)以確定給定語言的適當復數形式。

我了解HumanizerNGettextPluralNet,但是我正在尋找.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM