İçeriğe geç

Uluslararasılaştırma

Uygulamanıza çok dilli destek ekleyin. Editoryal yerelleştirme için Proyecta Content API’yi kullanın ya da AI’dan doğrudan koda bir i18n framework bağlamasını isteyin.

Proyecta, geliştirdiğiniz uygulamaları uluslararasılaştırmak için birbirini tamamlayan iki yaklaşımı destekler:

  1. Proyecta Content API aracılığıyla içerik yerelleştirme — birden fazla dile çevrilmesi gereken editoryal içerikler için (blog yazıları, SSS’ler, pazarlama metinleri)
  2. Bir çeviri framework’ü ile kod düzeyinde i18n — UI metinleri, tarihler, para birimleri ve çalışma zamanında dil değiştirme için

Her ikisi de şu anda kullanılabilir. Hangisine ihtiyacınız olduğu, neyi çevirdiğinize bağlıdır.

Proyecta’nın kendisi 24 yerel ayarla gelir; bu yüzden ürün i18n konusunda oldukça deneyimlidir. Aynı örüntüler, içinde oluşturduğunuz uygulamalar için de geçerlidir.

1. Seçenek: İçerik yerelleştirme (Proyecta Content API)

Section titled “1. Seçenek: İçerik yerelleştirme (Proyecta Content API)”

Blog, bilgi tabanı, pazarlama sayfaları veya ürün kataloğu gibi içerik ağırlıklı bir site oluşturuyorsanız Content API’nin yerleşik yerel ayar desteğini kullanın.

// Desteklediğiniz yerel ayarları oluşturun
await proyecta.content.locales.create({
/* code: 'en', name: 'English' */
});
await proyecta.content.locales.create({
/* code: 'es', name: 'Español' */
});
await proyecta.content.locales.create({
/* code: 'fr', name: 'Français' */
});
// Ardından birden fazla yerel ayarda var olan içerikler oluşturun — kullanıcının
// yerel ayarına göre her istekte doğru çeviriyi getirin.

Bu yaklaşım şu durumlarda doğru seçimdir:

  • Kod yazmayan editörlerin içerikleri çevirmesi gerekiyorsa
  • Çevirilerin versiyonlanabilir olmasını istiyorsanız
  • Yerel ayara özgü yayımlama ihtiyacınız varsa (zamanlanmış yayımlama yakında geliyor — içerikler şu an API üzerinden manuel yayımlamayı gerektiriyor)

Content API’nin tamamı için İçerik Yönetimi sayfasına bakın.

2. Seçenek: Kod düzeyinde i18n framework

Section titled “2. Seçenek: Kod düzeyinde i18n framework”

UI metinleri — etiketler, düğmeler, hata mesajları, tarihler, para birimleri — için AI’dan doğrudan projenize bir i18n framework bağlamasını isteyin:

Add internationalization to my app.
Support English, Spanish, French, and Arabic.
Add message catalogs in src/locales/.
Add a language switcher in the header.
Use locale-prefixed URLs like /en/about and /es/about.
Make sure RTL layout works correctly for Arabic.

AI şunları yapacaktır:

  1. Bir framework seçer — AI, i18next ve react-i18next kullanır (Proyecta standardı)
  2. src/locales/ altında katalog dosyaları oluşturur (her dil için bir JSON)
  3. Metinleri t() çağrılarıyla sarar (react-i18next’in useTranslation hook’undan)
  4. Dil değiştirici bileşeni ekler
  5. URL yönlendirmesini yerel ayar önekleriyle bağlar
  6. RTL düzenlerini (dir="rtl") Arapça, İbranice vb. için ayarlar
  7. Sayıları, tarihleri ve para birimlerini yerel ayara göre biçimlendirir

Temel diliniz hazır olduğunda AI, diğer katalog dosyalarını oluşturmak için oldukça kullanışlıdır:

  • "Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names."
  • "My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."

Hukuki metinler, sağlık veya finans gibi kritik içerikler için AI çıktısını yayımlamadan önce bir insan çevirmen tarafından gözden geçirtin.

Gerçek dünyadaki uygulamaların çoğu her ikisini de kullanır: UI tarafı (düğmeler, hatalar, navigasyon) için kod düzeyinde i18n, editoryal içerikler (makaleler, ürün açıklamaları) için ise Content API. İkisi bir arada sorunsuz çalışır — i18n framework’ünüz katalog dosyalarını build sırasında işlerken, Content API yerelleştirilmiş içerikleri çalışma zamanında sunar.

  1. Önce temel dilinizi belirleyin ve metinleri kesinleştirin. Sürekli değişen bir hedefi çevirmek can sıkıcıdır.
  2. Çevirileri toplu yapın. Süreç içinde tek tek çeviri yapmayın — bir özellik kararlı hale gelene kadar bekleyin.
  3. Arapça veya İbranice destekliyorsanız RTL’yi erken test edin. RTL hatalarını gerçekten bakmadan fark etmek zordur.
  4. <html> üzerinde lang ve dir belirtin. Tarayıcılar ve ekran okuyucular buna ihtiyaç duyar.
  5. Biçimlendirme için Intl kullanın. Tarih veya para birimi biçimlendirmesini elle yazmayın — Intl.DateTimeFormat, Intl.NumberFormat kullanın.
  • Builder içi yerel ayar yönetim arayüzü — Proyecta’dan çıkmadan yerel ayarları seçin, çeviri kapsamını görün, katalogları düzenleyin
  • Yeni metinler için kayıt sırasında otomatik çeviri
  • Framework önceden bağlanmış i18n’e hazır proje şablonları