Я хотел бы иметь возможность транслитерации немецких символов умлаутатранслитерация немецких умляутов с использованием ICU4J в их DIN 5007-2 альтернативы
Ü ü ö ä Ä Ö
в их DIN 5007-2 альтернатив
ä → ae
ö → oe
ü → ue
Ä → Ae
Ö → Oe
Ü → Ue
ß → ss (or SZ)
как в этом случае:
Наиболее актуальный случай использования я нашел: https://github.com/elastic/elasticsearch-analysis-icu/blob/master/src/test/java/org/elasticsearch/index/analysis/SimpleIcuCollationTokenFilterTests.java
, где на линии 208 они
String DIN5007_2_tailorings =
"& ae , a\u0308 & AE , A\u0308"+
"& oe , o\u0308 & OE , O\u0308"+
"& ue , u\u0308 & UE , u\u0308";
Я хотел бы, чтобы избежать создания сложного кода Java, как определение пользовательских tailorings и все, что требуется. Я хочу, чтобы код был как можно более простым, потому что я должен использовать этот код внутри приложения ColdFusion.
Я экспериментировал немного с
var instance = Transliterator.getInstance("Latin-ASCII");
и
var instance = Transliterator.getInstance("any-NFD; [:nonspacing mark:] any-remove; any-NFC");
и их вариантов, все они результат:
writeDump(instance.transliterate('Häuser Bäume Höfe Gärten daß Ü ü ö ä Ä Ö ß '));
Hauser Baume Hofe Garten dass U u o a A O ss
Если это возможно, я хотел бы придерживаться использования .getInstance(). Вопрос: что такое строка ID для метода .getInstance(), которая приведет к транслитерации umlauts в их эквиваленты по DIN 5007-2?
Извините, что вы пытаетесь избежать с помощью строки 208? –
Я хотел бы избежать создания индивидуального пошива. –