SORU
4 AĞUSTOS 2008, PAZARTESİ


Projelerinizde uluslararası

Nasıl gerçek projelerde uygulanan Uluslararası (i18n) üzerinde çalıştınız mı?

Joel ünlü post The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) okuduktan sonra yazılım kültürler arası yapımında bir ilgi duydum. Ancak, henüz mümkün, mümkün olan yer ve Unicode dizeleri kullandım emin ayrıca gerçek bir proje bu yararlanmak lazım. Ama tüm dizeleri Unicode yapmak ve çalışmak, her şeyi kodlama ne olduğunu anlamak sağlanması i18n sadece buzdağının görünen kısmı.

Bugüne kadar üzerinde çalıştığım her şeyi BİZE kontrollü bir set İngilizce kullanımı için konuşan insanlar olmuştur, ya da i18n sadece canlı proje itmeden önce çalışmak için zaman vardı bir şey değildi. Herhangi bir ipucu veya savaş hikayeleri aradığım bir çok kişi bu Yazılım gerçek dünya projelerine daha fazla yerelleştirilmiş bir yapım var.

CEVAP
4 AĞUSTOS 2008, PAZARTESİ


Bu kapsamlı değil o yüzden bir süre oldu.

Karakter Kümeleri

Unicode harika, ama diğer karakter kümeleri görmezden yapamazsın. Varsayılan karakter Windows XP (İngilizce) Cp1252. Web, bir tarayıcı umarım konteyner bu en idare edecek olsa da) gönderir ne olduğunu bilmiyorsun. Ve kullandığınız ne olursa olsun hataları olduğunda şaşırmayın. Karakter kümeleri makineleri arasında hareket ettiklerinde dosya ile ilginç bir etkileşim var.

Dizeleri Çevirmek

Çevirmenler, genel olarak konuşursak, kodlayıcılar. Eğer bir kaynak bir çevirmen için dosya gönderirseniz, onlar kıracak. Dizeleri kaynak dosyaları (örneğin, özellikler, Visual C ya da Java kaynak DLL dosyaları) elde edilmelidir. Çevirmenler kırmak için zor olan dosyaları ve onları kırmak izin vermeyin o araçları verilmelidir.

Çevirmenler dizeleri bir ürünün nereden geldiğini bilmiyorum. Zor bir bağlam olmadan bir dize çevirmek için. Eğer rehberlik yaparsanız, çeviri kalitesi yaşayacaktır.

Süre konusunda konunun içeriği görebilirsiniz aynı dize "foo" crop up birden çok kez ve olacak daha verimli tüm durumlarda UI noktanın aynı kaynak. Bu kötü bir fikir. Kelimeler çok duyarlı bağlamında bazı dillerde olabilir.

Çeviri dizeleri para maliyeti. Eğer bir ürünün yeni bir sürümü yayınlarsanız, sense eski sürümleri kurtarmak için yapar. Eski kaynak dosyaları dizeleri kurtarmak için araçlar var.

Dizeleri dize birleştirme ve manuel manipülasyon minimize edilmelidir. Geçerli biçim fonksiyonları kullanın.

Çevirmenler kısayol tuşlarını değiştirmek gerekiyor.CtrlPİngilizce baskı; Almanlar kullanınCtrlD.

Eğer herhangi bir zamanda biri el ve dizeleri yapıştırın gerektiren bir çeviri süreci varsa, sorun için soruyorsun.

Tarihler, Saatler, Takvimler, Para Birimi, Sayı Biçimleri, Saat Dilimleri

Bu ülkeden ülkeye farklılık gösterebilir. Bir virgül, ondalık basamak belirtmek için kullanılabilir. Kat 24saat gösterimde olabilir. Herkes Gregoryen takvimi kullanır. Net, sen de öyle olmalısın. Eğer Kendine iyi bak görüntülemek için tarih olarak aa/GG/YYYY için ABD ve GG/AA/YYYY için UK web sitesi, tarihler belirsiz sürece kullanıcı bilir sen yapmışsın.

Özellikle Para Birimi

Yerel işlevleri sağlanan sınıf kitaplıkları verecektir yerel para birimi simgesi, ama yapamazsın sadece sopa bir pound (sterlin) ya da euro karşısında değer veren bir fiyat dolar.

Kullanıcı Arayüzleri

Düzeni dinamik olmalıdır. Sadece dizeleri çeviri uzunluğunda çift büyük bir olasılıkla, tüm UI kontrolleri soldan sağa çalıştırmak (; Arapça, İbranice) ters olabilir. Ve bu Asya geçmeden önce.

Çeviri Öncesinde Test

  • Kodunuzu statik analiz problemleri bulmak için kullanın. Az kaldı, bir kaldıraç araçları IDE yerleşik. (Eclipse kullanıcıları Pencere ^ gidebilirsiniz . Tercihler ^< Java . Derleyici >Hatalar/Uyarılar ve olmayan externalised dizeleri için kontrol edin.)
  • Çeviri taklit ederek duman testi. Kaynak dosyası ayrıştırma ve uzunluğu ve ekler funky karakterler iki sözde çevrilmiş hali ile dizeleri değiştirmek zor değil. Yabancı işletim sistemi kullanmak için bir dil konuşmak zorunda değilsin. Modern sistemler Çevrilmiş Yabancı ve yerel ile yabancı bir kullanıcı olarak oturum açmanızı sağlar. Eğer işletim sisteminiz hakkında bilginiz varsa, ne dil, tek bir kelime bilmeden anlayabilirsiniz.
  • Klavye haritalar ve karakter referansları ve çok yararlı.
  • Sanallaştırma çok faydalı olacaktır.

Teknik olmayan Konular

Bazen kültürel farklılıklar (suç ya da anlamama neden olabilir) duyarlı olmak zorunda. Seni sık sık görmek bir hata görsel bir ipucu web sitesi dil ya da bir coğrafya seçimi olarak bayraklar kullanılır. Yazılım küresel siyasette taraf ilan etmek istemiyorsan, bu kötü bir fikir. Eğer Fransız ve sunulan seçenek için İngilizce ile St. George bayrağı bayrağı İngiltere kırmızı Haç üzerinde bir beyaz alan), bu neden olabilir karışıklık için birçok İngilizce konuşanlar alması, benzer konuları ortaya çıkması ile yabancı diller ve ülkeler. Simgeler kültürel alaka için hazırdı. Thumbs-up ya da bir yeşil bir tik ne anlama geliyor? Dil nispeten tarafsız olmalıdır - belirli bir şekilde ele kullanıcıları bir bölge olarak kabul edilebilir, ama başka bir kaba olarak kabul edilir.

Kaynaklar

C ve Java programcıları YOĞUN bakım web sitesi yararlı olabilir: http://www.icu-project.org/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ampisound

    Ampisound

    12 Kasım 2006
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • Fuse

    Fuse

    21 Kasım 2005