2014-06-10 42 views
5

Numaraları yerel olarak yazarak yerelleştirip ICU4J kullanarak sona erdirmek istiyorum. Birçok yerelde başarılı oldum ancak birkaç Gürcü, Türkçe veya Arapça gibi bir şey yapmadım.icu4j ile biçimlendirme numaraları (spellout)

ULocale locale = new ULocale("Tr"); //Turkish 
Double d = Double.parseDouble(input); 
NumberFormat formatter = new RuleBasedNumberFormat(locale, RuleBasedNumberFormat.SPELLOUT); 
String result = formatter.format(d); 

Ben biçimlendiricisine tarafından içeriye kural setine hata ayıklama nesnesi boş görünüyor ve İngilizce olarak yazdırır (varsayılan olarak sanırım). yoğun bakım ancak yoğun bakım önceden tanımlanmış kural türleri destekler değil, yerel tümü için, birkaç yerel ayarlar için numara heceleme kurallarını sağlamaktadır:

yoğun bakım web yılında yazılıdır. Ayrıca, sürüm 2.6'dan itibaren, sağlanan kuralların bazılarının eksik olduğu bilinir.

Ama bundan Ben de .m2 altında .RES icu5j-53.1.jar içinde dosyaları bulabilirsiniz çok (http://demo.icu-project.org/icu4jweb/numero.jsp)

yerel ayarlar için ICU kendi demo sayfası yapabilir görünüyor klasör (\ icu4j-53.1 \ com \ IBM \ icu \ impl \ data \ icudt53b \ rbnf)

demo sayfası yapmak nasıl yönetebilecekleri hakkında herhangi bir yardım takdir ve misiniz neden yapamıyorum?

+0

Kodunuzla yerel olarak denedim ve icu4j'nin aynı sürümü ve doğru Türkçe çıktısını aldım. –

+0

Ayrıca, 3.4.4 sürümü ile denedim ve daha sonra çıktı İngilizce. (Geçişli) bağımlılıklarınızı kontrol edebilir ve bir şekilde eski bir versiyonu çekmediğinizden emin olabilir misiniz? –

+0

Cevabınız için teşekkürler. Haklıydın, bağımlılık ağacımı kontrol ettim ve başka bir kütüphane daha önceki (4.0) versiyonuna bağlı. Düzeltdikten sonra, Türk çıktısını almaya başladım. –

cevap

3

Kodunuzu 53.1 sürümüyle test ettim ve doğru Türkçe çıktı aldım. Daha sonra 3.4.4 sürümü ile tekrar test ettim ve sorunuzda açıkladığınız gibi İngilizce çıktı aldım.

Büyük olasılıkla, geçişli bir maven bağımlılığı aracılığıyla eski bir sürümde çekiyorsunuz.

+1

Versiyon 56.1, bana yardımcı olması durumunda aşağıdaki "Ma", Maven bağımlılığı da dahil olmak üzere çoğu yereller için oldukça iyi çalışıyor: ' com.ibm.icu icu4j 56,1 ' – realPK