Системы подсчета и упорядочения языков / культур - PullRequest
1 голос
/ 21 октября 2011

Есть ли собственный .NET способ поиска чисел в различных системах подсчета / заказа, языках и культурах.Например, у меня есть номера 1, 2 и 3. Если я хочу их на арабском языке, я могу получить их с помощью NumberInfo, например,

Public Sub PrintNumbers()
    Dim currentCI As CultureInfo = New CultureInfo("ar-LB")
    Dim nfi As NumberFormatInfo = currentCI.NumberFormat
    Dim nativeDigitList As String() = nfi.NativeDigits
    For i = 1 To 3
        System.Diagnostics.Debug.WriteLine(String.Format("{0}: {1}", i, nativeDigitList(i)))
    Next
End Sub

, который печатает: 1: ١, 2: ٢, 3: 100

Это хорошее начало для того, что я ищу, но я ищу гораздо более полную систему производства собственных цифр (и других счетчиков) для других систем подсчета в языках /Culture.

Собственные цифры, как в .NET, используя тот же код для китайского языка ("zh-CN"), выдает 1: 1, 2: 2, 3: 3. Но я ищу 1: 一, 2: 二, 3: 三.Или даже китайский финансовый: 1: 壹, 2: 贰, 3: 叁.(Примечание: китайские образцы в упрощенном виде ).

В английском языке мы также используем римские цифры: 1: I, 2: II, 3: III.

Естьнечисловые системы подсчета, такие как 1: A, 2: B, 3: C на английском языке, ت ، ث‌ на арабском языке или система Abjad на арабском языке: ، ‌ج ، ‌د‌.

I'mКонечно, есть много других способов рассчитывать на разные языки, сценарии и культуры.Массив NativeDigits не предусматривает подсчета выше 9 и не предлагает другие системы подсчета культур / сценариев.

Поэтому вопрос: знаете ли вы какой-либо способ добиться этого в .NET, который явозможно, не смог найти или уже работал над проектом с открытым исходным кодом, который позволил бы мне указать культуру (например, «fa-IR»), число (например, «49») и систему подсчета, поддерживаемую этим.культура?

Так что, если бы это были "en-US", "27" и "abc-system", это дало бы мне "aa".

Ответы [ 2 ]

0 голосов
/ 23 октября 2011

Если не найдется лучшего ответа, лучшее, что я смог найти для подсчета списков, это http://www.w3.org/TR/css3-lists. Хотя это и не .NET, я могу быть достаточно просто реализован в .NET.

0 голосов
/ 21 октября 2011

Я смотрел на это раньше и нашел то же самое, что и вы.

Закрытие, которое вы можете сделать, это использовать NativeDigits для перевода западных чисел в их эквиваленты - в BCL нет ничего более всеобъемлющего, и я не знаю ни одной библиотеки, которая реализует такую ​​вещь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...