Skip to main content
AI agent network visualization

Prevedite kataloge nizov Xcode v nekaj sekundah

Množinske oblike so pravilne po CLDR. Različice naprav se ohranijo. Stanja prevodov se spremljajo. Vaše datoteke .xcstrings se prevedejo, ne da bi zapustili okolje IDE.

Prevajanje katalogov nizov je varljivo zapleteno

Katalogi nizov Xcode 15 so datoteke .strings in .stringsdict nadomestili z eno samo datoteko JSON, vendar zapletenost ni izginila. Množinske oblike potrebujejo pravilne kategorije CLDR za vsak jezik, različice naprav (iPhone, iPad ali Mac) morajo ostati povezane s svojimi ključi, spremljanje stanja v Xcode pa pomeni, da eno napačno polje razveljavi celoten vnos.

Vsak jezik zahteva drugačne množinske kategorije CLDR — arabščina potrebuje vseh šest, japonščina samo 'other', ruščina pa štiri različne oblike

Različice nizov za posamezne naprave (iPhone, iPad, Mac, Apple Watch) morajo ostati pravilno povezane z nadrejenimi ključi

Xcode spremlja stanja prevodov (new, needs_review, translated, stale) — napačne vrednosti stanja povzročijo, da Xcode prevode prezre ali nepravilno označi

Selitev iz starejših .strings/.stringsdict v .xcstrings prinese razlike v obliki, ki jih splošna orodja ne obvladajo

Izvirnik (angleščina)
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"
                }
              }
            }
          }
        }
      }
    }
  }
}
Prevod (nemščina)
Localizable.xcstrings (z 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"
                }
              }
            }
          }
        }
      }
    }
  }
}

Kaj i18n Agent ohrani

Množinske oblike

Za vsak ciljni jezik ustvari pravilne množinske kategorije CLDR — od japonščine z eno kategorijo do arabščine s šestimi

Različice naprav

Različice nizov za iPhone, iPad, Mac in Apple Watch ostanejo pravilno povezane z nadrejenimi ključi

Upoštevanje stanj

Stanja prevodov (new, needs_review, translated) so pravilno nastavljena, zato lokalizacijski proces Xcode deluje pravilno

Združljivost oblik

Izhod je popolnoma združljiv z urejevalnikom katalogov nizov Xcode ter se brez težav vključi v nove in preseljene projekte

Deluje v celotnem razvojnem okolju Apple

Katalogi nizov Xcode 15+
Lokalizacija SwiftUI
UIKit / AppKit
Paketi Swift

Kako deluje

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.

Brez ročnega kopiranja in lepljenja. Brez izločanja nizov. Samo prevedene datoteke.

Preizkusite i18n Agent zdaj

Spustite prevajalsko datoteko sem

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

ali kliknite za izbiro

Ciljni jeziki

Registracija ni potrebnaTakojšnja ocena

Pogosta vprašanja

Ste razvijalec?

Namestite orodje CLI in svojo prvo datoteko prevedite v dveh minutah.

Namestite orodje CLI

Ste poslovna ekipa?

Ste še vedno vezani na pogodbo TMS? Pogovorimo se o prehodu.