Skip to main content
AI agent network visualization

Terjemahkan String Catalog Xcode dalam Hitungan Detik

Bentuk jamak benar menurut CLDR. Variasi perangkat dipertahankan. Status terjemahan dilacak. File .xcstrings Anda diterjemahkan tanpa meninggalkan IDE.

Penerjemahan String Catalog Ternyata Kompleks

String Catalog Xcode 15 menggantikan .strings dan .stringsdict dengan satu file JSON, tetapi kerumitannya tidak hilang. Bentuk jamak memerlukan kategori CLDR yang benar untuk setiap bahasa, variasi perangkat (iPhone vs iPad vs Mac) harus tetap dipasangkan dengan kuncinya, dan pelacakan status Xcode membuat satu bidang yang salah membatalkan seluruh entri.

Setiap bahasa memerlukan kategori bentuk jamak CLDR berbeda—bahasa Arab memerlukan keenam kategori, Jepang hanya 'other', dan Rusia memerlukan empat bentuk berbeda

Variasi string spesifik perangkat (iPhone, iPad, Mac, Apple Watch) harus tetap terkait dengan kunci induknya secara benar

Xcode melacak status terjemahan (new, needs_review, translated, stale)—nilai status yang salah membuat Xcode mengabaikan atau menandai terjemahan secara keliru

Migrasi dari .strings/.stringsdict lama ke .xcstrings menimbulkan perbedaan format yang tidak ditangani alat umum

Sumber (Inggris)
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"
                }
              }
            }
          }
        }
      }
    }
  }
}
Diterjemahkan (Jerman)
Localizable.xcstrings (dengan de)
{
  "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"
                }
              }
            }
          }
        }
      }
    }
  }
}

Yang Dipertahankan i18n Agent

Bentuk Jamak

Kategori bentuk jamak CLDR yang benar dibuat untuk setiap bahasa target—dari bahasa Jepang dengan satu kategori hingga Arab dengan enam kategori

Variasi Perangkat

Variasi string iPhone, iPad, Mac, dan Apple Watch tetap terkait dengan kunci induknya secara benar

Pemahaman Status

Status terjemahan (new, needs_review, translated) diatur dengan benar agar alur kerja lokalisasi Xcode berfungsi semestinya

Kompatibilitas Format

Keluaran sepenuhnya kompatibel dengan editor String Catalog Xcode serta terintegrasi dengan baik ke proyek baru maupun hasil migrasi

Berfungsi di Seluruh Pengembangan Apple

String Catalog Xcode 15+
Lokalisasi SwiftUI
UIKit / AppKit
Paket Swift

Cara Kerjanya

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.

Tanpa salin-tempel manual. Tanpa ekstraksi string. Hanya file terjemahan.

Coba i18n Agent Sekarang

Lepaskan file terjemahan Anda di sini

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

atau klik untuk menjelajahi

Bahasa target

Tidak perlu mendaftarEstimasi instan

Pertanyaan yang Sering Diajukan

Pengembang?

Instal alat CLI dan terjemahkan file pertama Anda dalam 2 menit.

Instal Alat CLI

Tim enterprise?

Masih terikat kontrak TMS? Mari bicarakan migrasi Anda.