Ben başarılı üç projede JavaScript dosyaları çeviri için GetText kullandık.
Tabii GetText doğal JavaScript desteklemiyor ve JavaScript ayrıca GetText desteklemiyor. Benim çözüm şu olmuştur.
- JavaScript I
gettext("your text here")
ile çevrilebilir dizeleri çevreliyor.
- Sonra JavaScript dosyaları dışarı dizeleri çeker ve C gettext tarafından desteklenen, çünkü, bir C dosyasını oluşturan bir komut dosyası var.
- Sonra
xgettext
oluşturulan C dosyaları ve POT ve PO dosyaları üretmek için projemde başka dosyalarını kullanmak.
PO dosyalarını çevrilmesinden sonra, geri JavaScript çeviriler almak zorunda ...
- Ben o zaman her yereli için, çevrilebilir dizeleri listesini hatırlayarak, yine JavaScript dosyalarını ayrıştırmak:
- GetText desteği ile bir dil kullanarak (benim durumumda PHP) JavaScript dosyası tüm dizeleri ve çıkış çevirmek.
Örneğin, Estonya (örneğin et_EE.js
) gibi görünebilir bir yerel dosya:
var LOCALE = {
"Hello": "Tere",
"My name is %s": "Minu nimi on %s",
"Enter your credit card number": "Sisesta oma krediitkaardi number"
};
function gettext(string) {
return LOCALE[string] ? LOCALE[string] : string;
}
Eğer et_EE.js
veya en_US.js
ya da içeren ya seçilen yerele bağlı ...
en_US.js
muhtemelen sadece aşağıdaki içerecektir:
function gettext(string) {
return string;
}
Biraz ngettext()
için yanıltıcıdır, ama genel bir fikir almalısınız.
Müthiş bir şey zaten mevcut tüm gettext araçlarını kullanabilirsiniz olmasıdır. Ben her ikisini de çeviri için aynı aracı kullanmak ve aynı zamanda aynı dize JavaScript ve PHP hem de aynı şekilde çevrilmiştir sağlayabilirsiniz - PHP ve JavaScript hem de çevrilebilir metinleri var özellikle.
Eğer bir JavaScript yoğun web uygulaması ile ilgili değilse NOTE:, sen ilk etapta JavaScript tarafından oluşturulan sayfa içeriğine sahip önce iki kere düşünmek gerekir.