
Ich suche nach einem Tool, einer App oder Schritten zum Erstellen eines benutzerdefinierten Sprachpakets für OSX. Ich versuche beispielsweise, alle Systemdialoge „Ja“ durch „Jupp“ zu ersetzen.
Antwort1
Es gibt keine zentrale, einfache Möglichkeit, dies zu tun, und der Versuch, dies zu tun, kann Ihre Software beschädigen, da die Code-Signierung verletzt würde. Fast alle Software in macOS ist kryptografisch signiert, um sicherzustellen, dass das System keine Software ausführt, die gehackt/infiziert/beschädigt wurde.
Der Systemintegritätsschutz (SIP, auch bekannt als Rootless-Modus) ist seit macOS 10.11 El Capitan vorhanden und erschwert die Bearbeitung des Großteils des Betriebssystems.
Wenn Sie das ignorieren, können Sie es etwa wie folgt angehen:
In jedem .app- und ähnlichen Software-„Bundle“- oder „Paket“-Verzeichnis befindet sich eine Reihe von „.lproj“-Verzeichnissen mit Sprachressourcen, eines für jede unterstützte Sprache.
Beispielsweise würden sich die Lokalisierungsressourcen für US-Englisch in /Applications/MyCoolApp.app/Contents/Resources/en-us.lproj befinden (oder vielleicht einfach in „en.lproj“ oder „English.lproj“).
Sie enthalten normalerweise .strings-Dateien, die meines Wissens UTF-16-codierte Name/Wert-Paare für viele der Zeichenfolgen in der Benutzeroberfläche dieser App sind. Es können auch .xib- oder .nib-Dateien vorhanden sein, bei denen es sich um UI-Fenster-/Widget-Layoutdateien handelt, die ebenfalls Zeichenfolgen enthalten können und in Xcode bearbeitet werden können.
Für jede .app- oder ähnliche Paketdatei, die Sie „übersetzen“ möchten, können Sie eines dieser .lproj-Verzeichnisse duplizieren, ihm einen anderen Sprachnamen geben, die .strings- und .xib-Dateien bearbeiten und dann dem Betriebssystem mitteilen, dass Sie auf die Anzeige in dieser anderen Sprache umstellen möchten.
Insgesamt ist der Aufwand sehr hoch und die Erfolgs-/Zufriedenheitschancen sind gering.