У нас есть приложение ASP.NET, которое выполняет различные клиенты во всем мире. В этом приложении у нас есть словарь для каждого языка. В словаре у нас есть слова в нижнем регистре и иногда нас верхний регистр это в коде по типографским причинам.
var greek= new CultureInfo("el-GR");
string grrr = "Πόλη";
string GRRR = grrr.ToUpper(greek); // "ΠΌΛΗ"
Проблема:
... если Вы используете прописные буквы затем, они должны появиться как это: f.e. ΠΟΛΗ и не как ΠΌΛΗ, то же для всех других слов, записанных в прописных буквах
Таким образом, действительно ли это возможно в общем к прописным греческим словам правильно в.NET? Или должен я записал свой собственный алгоритм для греческого верхнего регистра?
Как они решают эту проблему в Греции?
Я подозреваю, что вам придется написать свой собственный метод, если el-GR
не сделает то, что вы хотите. Не думаю, что Вам нужно идти на всю длину , создавая пользовательский CultureInfo, если это все, что Вам нужно. Что хорошо, потому что это выглядит довольно кропотливо.
Что я предлагаю вам сделать, так это прочитать этот пост в блоге Майкла Каплана и все остальное, что вы можете найти у него - он работал и писал об i18n и языковых проблемах годами и годами, и его комментарий - это мой первый звонок по любым подобным проблемам в Windows.
.Я мало что знаю о ASP.Net, но знаю, как бы я делал это на Java.
Если бы символы были Unicode, я бы просто обработал вывод с ToUpper
с некоторыми простыми заменами, одной из которых является преобразование \u038C (Ό
) в \u039F (Ο
) или \u0386 (Ά
) в \u0391 (Α
).
Судя по виду греческой/коптической кодовой страницы (\u0370 через \u03ff), нужно изменить только несколько символов (6 или 7).
.