Çeviriler
Ember'ın karşılama banner'ı şu anda yalnızca İngilizce konuşuyor. Her yerden oyuncuların olduğu bir survival sunucusunda bu, kaçırılmış bir fırsat. Ember'ın her ziyaretçiyi kendi dilinde karşılamasını sağlayalım.
İyi haber: tema çekirdeği, desteklediği diller için eksiksiz çevirilerle gelir. Yalnızca sizin eklediğiniz veya değiştirdiğiniz parçaları yazarsınız. Tam referans: Çeviriler.
Tek bir resimde nasıl çalıştığı
Temanız yalnızca farklılıkları taşır, lang-overrides/ adlı bir klasörde, her dil için bir dosya:
lang-overrides/
├─ en-US.json
├─ tr.json
└─ ru.jsonbun run sync çalıştırdığınızda Pano, override'larınızı tema çekirdeğinin çevirilerinin üzerine birleştirir. Birleştirme eklemelidir: yeni metin ekleyebilir veya mevcut metni değiştirebilirsiniz, ama asla bir tema çekirdeği anahtarını kaybedemezsiniz. Bahsetmediğiniz her şey tema çekirdeğinin varsayılanını korur.
Adım 1 — görünümde çeviri anahtarlarını kullanın
Önceki sayfada Ember'ın banner'ını sabit yazmıştık. Bu metinleri çeviri anahtarlarıyla değiştirelim. src/views/HomeView.svelte içinde $_, temanızın ad alanı içindeki bir anahtarı arar — biz ember ad alanını kullanacağız:
<section class="ember-hero">
<h1>{$_("ember.hero-title")}</h1>
<p>{$_("ember.hero-subtitle")}</p>
</section>Adım 2 — İngilizce metni ekleyin
lang-overrides/ klasörü başlangıçta boştur — içinde en-US.json adında bir dosya oluşturun ve anahtarları ekleyin:
{
"ember": {
"hero-title": "Welcome to Ember SMP",
"hero-subtitle": "Grab a torch. Your adventure starts at the campfire."
}
}Adım 3 — diğer dillere çevirin
Aynı anahtarları diğer dosyalara ekleyin. Türkçe, lang-overrides/tr.json içinde:
{
"ember": {
"hero-title": "Ember SMP'ye hoş geldin",
"hero-subtitle": "Bir meşale kap. Maceran kamp ateşinde başlıyor."
}
}Rusça, lang-overrides/ru.json içinde:
{
"ember": {
"hero-title": "Добро пожаловать на Ember SMP",
"hero-subtitle": "Бери факел. Твоё приключение начинается у костра."
}
}Şimdi yeni anahtarlarınızın alınması için birleştirmeyi çalıştırın:
bun run syncSiteyi yenileyin. Şimdi görmelisiniz ki banner aktif dilinizde görünüyor ve site dilini değiştirmek karşılamayı da değiştiriyor.
Yepyeni bir dil ekleme
Ember'ın topluluğunda çok sayıda Alman oyuncu mu var? Yerleşik üç dille sınırlı değilsiniz. Adı yerel ayar kodu (locale code) olan yeni bir dosya oluşturun — Almanca için de:
lang-overrides/
└─ de.json{
"ember": {
"hero-title": "Willkommen auf Ember SMP",
"hero-subtitle": "Schnapp dir eine Fackel. Dein Abenteuer beginnt am Lagerfeuer."
}
}bun run sync sonrasında yeni bir dil, tema çekirdeğinin İngilizce temeli üzerine inşa edilir — böylece henüz çevirmediğiniz herhangi bir anahtar, ham anahtarı göstermek yerine İngilizce'ye geri düşer.
Hangi dillerin görüneceğine panel karar verir
Yalnızca de.json eklemek Almanca'nın görünmesini sağlamaz. Mevcut dillerin listesi Pano'nun kendisinden gelir: bir yönetici önce panelde aynı kodla (de) bir yerel ayar tanımlamalıdır. O yerel ayar var olduğunda ziyaretçiler onu seçebilir ve de.json'unuz kullanılır. Eşleşen bir panel yerel ayarı olmadan dosya basitçe yok sayılır.
Eksik bir çeviriyi yakalama
Bir anahtarın hiçbir yerde çevirisi yoksa, ham anahtar adı (örneğin ember.hero-title) ekranda görünür — kolay bir ipucu. bun run check ayrıca görünümlerinizin kullandığı ama asla çevirmediğiniz anahtarlar hakkında da uyarır; böylece bunları yayınlamadan önce yakalarsınız.
Ember artık hem rolüne yakışıyor hem de dili konuşuyor. Geriye kalan tek şey onu paketleyip dünyayla paylaşmak.
Sıradaki: Yayına Çıkar →