SORU
21 HAZİRAN 2010, PAZARTESİ


Nasıl JavaScript yerelleştirme çalışır?

JavaScript yerelleştirme başa çıkmak için nasıl merak ediyorum. Ama ikna edici cevaplar alamıyorum araştırdım:

  • JavaScript yerelleştirme desteği var mı?
  • JavaScript i18n nedir?
  • Nasıl takvimleri, para birimi, tarih, vb ile başa çıkmak için.?

Zaten Internationalization inside Javascript okudum.

CEVAP
21 HAZİRAN 2010, PAZARTESİ


Eski tarayıcılarda yerelleştirme desteği zayıf. Aslında, bu gibi ECMA dil spec: ifadeler nedeniyle oldu

Numarası.prototip.() toLocaleString
Sayı değeri temsil eden bir dize değeri göre biçimlendirilmiş üretir bilgisayar ortamında mevcut yerel kongreler. Bu işlev, uygulama-bağımlı ve bu aynı şey gibi geri dönmek için izin, ama değil tavsiye edilirsağlar.

Her yerelleştirme yöntemi spec tanımlı olarak tanımlanan "uygulama-bağımlı tutarsızlıklar birçok sonuçları.", Bu durumda, Chrome, Opera ve Safari .toString() aynı şey geri döner. Firefox ve IE yerel olarak biçimlendirilmiş bir dize döndürür, ve IE bile binlerce ayırıcı () para birimi dizeleri için mükemmel içerir. Chrome son zamanlarda sabit ondalık rağmen dönüş için binlerce ayrılmış bir dize bir güncelleme oldu.

Modern ortamlar içinECMAScript Internationalization API spec, yeni bir standart olan V-ECMA Dil spec sağlar, çok daha iyi destek için dize karşılaştırma, sayı biçimi, tarih ve saat biçimlendirme, aynı zamanda giderir ilgili işlevleri Dil Spec. Giriş here bulunabilir. Uygulamalarda kullanılabilir:

  • Chrome 24
  • Firefox 29
  • Internet Explorer 11
  • Opera 15

Ayrıca, zaten var olmayan ortamlarda API sağlayan bir uyumluluk uygulanması, Intl.js var.

Kullanıcının seçtiği dil belirleme geçerli bir dil elde etmek için belirtim yok beri bir sorun olmaya devam ediyor. Her tarayıcı dili bir dize elde etmek için bir yöntem kullanır, ama bu kullanıcının işletim sistemi veya tarayıcı dili sadece dayalı olabilir:

// navigator.userLanguage for IE, navigator.language for others
var lang = navigator.language || navigator.userLanguage;

Bunun için iyi bir çözüm istemciye sunucudan Kabul-Dili Başlığı terk etmektir. Eğer bir JavaScript olarak biçimlendirilmiş, otomatik olarak (ya da ilk destekli) en iyi yerel seçecek olan Uluslararası API kurucular geçirilebilir.

Kısacası, Kendin bir sürü koymak zorunda, ya da edemiyor çünkü framework/library kullan tarayıcı sizin için bunu yapmak için kullanır.

Yerelleştirme için çeşitli kütüphaneler ve eklentileri:

Eklemek/düzenlemek için çekinmeyin.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • mist64

    mist64

    30 Mayıs 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • spederson7

    spederson7

    17 Temmuz 2006