Skip to main content
AI agent network visualization

Xcode String Catalogs fordítása másodpercek alatt

A többes számú alakok megfelelnek a CLDR-nek. Az eszközváltozatok megmaradnak. A fordítási állapotok nyomon követhetők. .xcstrings fájljai az IDE elhagyása nélkül készülnek el.

A String Catalog fordítása megtévesztően összetett

Az Xcode 15 String Catalogs egyetlen JSON-fájllal váltotta fel a .strings és .stringsdict fájlokat, az összetettség azonban nem tűnt el. A többes számú alakoknak minden nyelvnél a megfelelő CLDR-kategóriákat kell használniuk, az eszközváltozatoknak — iPhone, iPad vagy Mac — a saját kulcsukhoz kell kapcsolódniuk, az Xcode állapotkövetésében pedig egyetlen hibás mező érvénytelenné teszi a teljes bejegyzést.

Minden nyelv más CLDR többes számú kategóriákat igényel — az arabnak mind a hat, a japánnak csak az „other”, az orosznak négy különböző alak szükséges

Az eszközspecifikus karakterlánc-változatoknak (iPhone, iPad, Mac, Apple Watch) megfelelően a szülőkulcsukhoz kapcsolva kell maradniuk

Az Xcode nyomon követi a fordítási állapotokat (new, needs_review, translated, stale) — a hibás állapotértékek miatt figyelmen kívül hagyhatja vagy tévesen megjelölheti a fordításokat

A régi .strings/.stringsdict formátumról .xcstrings formátumra történő átállás olyan eltéréseket hoz, amelyeket az általános eszközök nem kezelnek

Forrás (angol)
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"
                }
              }
            }
          }
        }
      }
    }
  }
}
Fordítás (német)
Localizable.xcstrings (némettel)
{
  "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"
                }
              }
            }
          }
        }
      }
    }
  }
}

Amit az i18n Agent megőriz

Többes számú alakok

Minden célnyelvhez helyes CLDR többes számú kategóriákat hoz létre — az egykategóriás japántól a hatkategóriás arabig

Eszközváltozatok

Az iPhone-, iPad-, Mac- és Apple Watch-karakterláncváltozatok megfelelően a szülőkulcsukhoz kapcsolva maradnak

Állapotok ismerete

A fordítási állapotokat (new, needs_review, translated) helyesen állítja be, így az Xcode lokalizációs munkafolyamata megfelelően működik

Formátumkompatibilitás

A kimenet teljesen kompatibilis az Xcode String Catalog szerkesztőjével, és az új, valamint az átállított projektekbe is problémamentesen illeszkedik

Minden Apple-fejlesztési környezetben működik

Xcode 15+ String Catalogs
SwiftUI-lokalizáció
UIKit / AppKit
Swift-csomagok

How It Works

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.

No manual copy-paste. No string extraction. Just translated files.

Try i18n Agent Now

Drop your translation file here

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

or click to browse

Target languages

No signup requiredInstant estimate

Gyakran Ismételt Kérdések

Developer?

Install the MCP server and translate your first file in 2 minutes.

Install MCP Server

Enterprise team?

Still stuck on a TMS contract? Let's talk about migrating.