Skip to main content
AI agent network visualization

Xcode String Catalogs dosyalarını saniyeler içinde çevirin

Çoğul biçimler CLDR'ye göre doğru uygulanır. Cihaza göre değişen dizeler korunur. Çeviri durumları izlenir. .xcstrings dosyalarınız IDE'nizden ayrılmadan çevrilir.

String Catalog çevirisi göründüğünden daha karmaşıktır

Xcode 15 String Catalogs, .strings ve .stringsdict dosyalarının yerine tek bir JSON dosyası getirdi, ancak karmaşıklık ortadan kalkmadı. Çoğul biçimler her dil için doğru CLDR kategorilerini gerektirir, cihaza göre değişen dizeler (iPhone, iPad veya Mac) anahtarlarıyla eşleştirilmiş olarak kalmalıdır ve Xcode'un durum izleme sistemi nedeniyle tek bir yanlış alan tüm girdiyi geçersiz kılar.

Her dil farklı CLDR çoğul kategorileri gerektirir; Arapçada altı kategorinin tümü, Japoncada yalnızca 'other', Rusçada ise dört ayrı biçim kullanılır

Cihaza göre değişen dizeler (iPhone, iPad, Mac, Apple Watch) üst anahtarlarıyla doğru şekilde ilişkilendirilmiş olarak kalmalıdır

Xcode çeviri durumlarını (new, needs_review, translated, stale) izler; yanlış durum değerleri Xcode'un çevirileri göz ardı etmesine veya hatalı şekilde işaretlemesine neden olur

Eski .strings/.stringsdict dosyalarından .xcstrings biçimine geçiş, genel amaçlı araçların işleyemediği biçim farklılıkları ortaya çıkarır

Kaynak (İngilizce)
Localizable.xcstrings
{
  "sourceLanguage": "en",
  "version": "1.0",
  "strings": {
    "welcome_title": {
      "extractionState": "manual",
      "localizations": {
        "en": {
          "stringUnit": {
            "state": "translated",
            "value": "Welcome to the App"
          }
        }
      }
    },
    "item_count": {
      "localizations": {
        "en": {
          "variations": {
            "plural": {
              "zero": {
                "stringUnit": {
                  "state": "translated",
                  "value": "No items"
                }
              },
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld item"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld items"
                }
              }
            }
          }
        }
      }
    },
    "device_greeting": {
      "localizations": {
        "en": {
          "variations": {
            "device": {
              "iphone": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Tap to continue"
                }
              },
              "ipad": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Tap or click to continue"
                }
              },
              "mac": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Click to continue"
                }
              }
            }
          }
        }
      }
    }
  }
}
Çeviri (Almanca)
Localizable.xcstrings (de ile)
{
  "sourceLanguage": "en",
  "version": "1.0",
  "strings": {
    "welcome_title": {
      "extractionState": "manual",
      "localizations": {
        "de": {
          "stringUnit": {
            "state": "translated",
            "value": "Willkommen in der App"
          }
        }
      }
    },
    "item_count": {
      "localizations": {
        "de": {
          "variations": {
            "plural": {
              "zero": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Keine Elemente"
                }
              },
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Element"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Elemente"
                }
              }
            }
          }
        }
      }
    },
    "device_greeting": {
      "localizations": {
        "de": {
          "variations": {
            "device": {
              "iphone": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Tippen zum Fortfahren"
                }
              },
              "ipad": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Tippen oder klicken zum Fortfahren"
                }
              },
              "mac": {
                "stringUnit": {
                  "state": "translated",
                  "value": "Klicken zum Fortfahren"
                }
              }
            }
          }
        }
      }
    }
  }
}

i18n Agent neleri korur?

Çoğul biçimler

Tek kategorili Japoncadan altı kategorili Arapçaya kadar her hedef dil için doğru CLDR çoğul kategorileri oluşturulur

Cihaza göre değişen dizeler

iPhone, iPad, Mac ve Apple Watch'a özgü dizeler üst anahtarlarıyla doğru şekilde ilişkilendirilmiş olarak kalır

Durum farkındalığı

Xcode'un yerelleştirme iş akışının doğru çalışması için çeviri durumları (new, needs_review, translated) uygun şekilde ayarlanır

Biçim uyumluluğu

Çıktı, Xcode'un String Catalog düzenleyicisiyle tamamen uyumludur ve hem yeni hem de taşınmış projelerle sorunsuz şekilde bütünleşir

Apple geliştirme ortamlarının tamamında çalışır

Xcode 15+ String Catalogs
SwiftUI yerelleştirmesi
UIKit / AppKit
Swift paketleri

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.