Skip to main content
AI agent network visualization

Uygulamanızı bozmadan .strings dosyalarını çevirin

Anahtarlara dokunulmaz. Biçim belirteçleri korunur. Çoğul kuralları doğru uygulanır. Localizable.strings dosyanız günler yerine saniyeler içinde çevrilir.

Apple .strings çevirisi zahmetli ve hataya açıktır

Localizable.strings dosyanızı dışa aktarır, bir çevirmene verir veya genel amaçlı bir araca yapıştırırsınız. Karşılığında bozulmuş biçim belirteçleri, hatalı kaçış dizileri ve değiştirilmiş çoğul kuralları alırsınız. Ardından uygulamanızın Japonca sürümünün açılışta neden çöktüğünü saatlerce ayıklarsınız.

%@, %d ve %1$@ gibi biçim belirteçleri genel amaçlı araçlar tarafından çevrilir, yeniden sıralanır veya kaldırılır

Kaçış dizileri (\n, \", \t) bozulur veya bu dizilere iki kez kaçış karakteri eklenir; bunun sonucunda dize ayrıştırma bozulur

Stringsdict çoğul kuralları, çoğu aracın tamamen göz ardı ettiği dile özgü CLDR kategorileri gerektirir

Çevirmen yorumları ve bağlam ipuçları kaldırılarak hatalı çevirilere yol açar

Kaynak (İngilizce)
Base.lproj/Localizable.strings
/* Localizable.strings (English) */

"welcome_title" = "Welcome to MyApp";
"login_button" = "Sign In";
"greeting" = "Hello, %@!";
"items_count" = "%d items in your cart";
"transfer" = "Send %1$@ to %2$@";
Çeviri (Japonca)
ja.lproj/Localizable.strings
/* Localizable.strings (Japanese) */

"welcome_title" = "MyAppへようこそ";
"login_button" = "サインイン";
"greeting" = "%@さん、こんにちは!";
"items_count" = "カートに%d個のアイテム";
"transfer" = "%2$@に%1$@を送信";

i18n Agent neleri korur?

Biçim belirteçleri

Konumsal (%1$@) ve türe özgü (%d, %f, %@) belirteçler algılanarak değiştirilmeden bırakılır

Kaçış dizileri

Yeni satırlar (\n), sekmeler (\t), tırnak işaretleri (\") ve Unicode kaçışları doğru şekilde korunur

Stringsdict çoğulları

CLDR çoğul kategorileri (zero, one, two, few, many, other) hedef dile göre doğru şekilde ayarlanır

Yorumlar ve bağlam

Çeviri bağlamının korunması için çevirmen yorumları ve geliştirici notları saklanır

Apple platformlarının tamamında çalışır

SwiftUI
UIKit / AppKit
Xcode String Catalogs
macOS uygulamaları
watchOS / tvOS
Swift paketleri

iOS yerelleştirmesi için açık kaynaklı araçlar

Xcode için i18n Agent

Xcode'a tek tıklamayla yerelleştirme ekleyen bir macOS menü çubuğu uygulamasıdır. Etkin projenizi otomatik olarak algılar, .strings, .xcstrings ve .stringsdict dosyalarınızı çevirir ve doğru .lproj klasörlerine yazar. Projenizin tamamında tutarlı sonuçlar elde etmek için mevcut çevirileri çeviri belleğine gönderebilirsiniz.

Etkin Xcode projenizi AppleScript aracılığıyla otomatik olarak algılar
Pull: dosyaları çevirir ve doğru .lproj klasörlerine yazar
Push: mevcut çevirileri çeviri belleğine yükler
Menü çubuğunuzda çalışır; .strings, .xcstrings ve .stringsdict dosyalarını destekler
GitHub'da görüntüleyin

LocaleChain

iOS'ta bilinen bir eksiklik vardır: Kullanıcının bölgesel yerel ayarı (pt-BR gibi) bulunmadığında sistem, ilişkili bir yerel ayarı (pt-PT gibi) denemek yerine doğrudan İngilizceye geçer. LocaleChain, yapılandırılabilir geri dönüş zincirleriyle bu sorunu gideren bir Swift paketidir. Tek satırda kurulur ve mevcut kodunuzda hiçbir değişiklik gerektirmez.

Tek satırda kurulum: LocaleChain.configure()
NSLocalizedString, SwiftUI Text ve .stringsdict ile sorunsuz çalışır
Portekizce, İspanyolca, Fransızca, Almanca ve daha fazlası için yerleşik geri dönüş zincirleri sunar
Swift Package Manager aracılığıyla kurulur ve MIT lisanslıdır
GitHub'da görüntüleyin

Nasıl çalışır?

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Elle kopyalayıp yapıştırmanız veya dizeleri ayıklamanız gerekmez. Yalnızca çevrilmiş dosyalar.

i18n Agent'ı şimdi deneyin

Çeviri dosyanızı buraya bırakın

JSON, YAML, PO, XML, CSV, Markdown, Properties

veya göz atmak için tıklayın

Hedef diller

Kayıt gerekmezAnında fiyat tahmini

Sık sorulan sorular

Geliştirici misiniz?

CLI aracını kurun ve ilk dosyanızı 2 dakika içinde çevirin.

CLI aracını kurun

Kurumsal ekip misiniz?

Hâlâ bir TMS sözleşmesine bağlı mısınız? Geçiş hakkında görüşelim.