Python 2.7 oder vorzugsweise muss Python 3 auf Ihrem Computer installiert werden, wobei auch der pip -Befehl verfügbar ist.
Klonen Sie das Repository und führen Sie pip install -r requirements.txt aus.
gslocalization mit Google Sheetsservice account key von Ihrer Google Developer -KonsoleGoogle Drive API und Google Sheets API aktiviert sindCredentials und wählen Sie im Menü Create credentials Service account keyApp Engine Admin -Rolle).JSON in den Key type ausgewählt ist.CreateJSON -Datei beginnt mit dem Herunterladen. Speichern Sie diese Datei und verwenden Sie sie später zur Authentifizierung. python ios-gslocalization.py -x {PATH_TO_XCODEPROJ} -o {XLIFF_OUTPUT_DIR} -a {JSON_AUTH_FILE_PATH} -e {SHARE_EMAIL_ADDRESS} -l {LOCALIZATION_LANGUAGES} -d {DEV_LANGUAGE}
PATH_TO_XCODEPROJ - Pfad zu Ihrer .xcodeproj -Dateixcodebuild (Exportieren und Importieren von Lokalisationen) verwendet)XLIFF_OUTPUT_DIR gespeichertXLIFF_OUTPUT_DIR - Ausgabeverzeichnis für die generierten XLiff -DateienJSON_AUTH_FILE_PATH - Pfad zum Google Sheets Service account keySHARE_EMAIL_ADDRESS - die E -Mail -Adresse zum Freigeben der erstellten TabellenkalkulationenService account key verwenden, werden alle Tabellenkalkulationen erstellt und im Service -Account (z. B. [email protected]) erstellt.LOCALIZATION_LANGUAGES - eine Zeichenfolge, die mehrere Sprachcodes enthält, die für die Lokalisierung verwendet werdenDEV_LANGUAGE (optional, standardmäßig an en ) - Der Sprachcode für die Entwicklungssprache des Projekts Dieses Skript exportiert die aktuellen Lokalisierungen für Ihr Projekt mit xcodebuild .
Es analysiert die erhaltenen XLiff -Dateien und lädt sie in Google -Blätter hoch.
Für jede Sprache gibt es eine Tabelle mit dem folgenden Namensformat: {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Spanish_localizations MyProject_Russian_localizations . In jeder Tabelle befindet sich ein Arbeitsblatt pro Plattform (z. B. ios_strings , android_strings ). Der {PROJECT_NAME} wird aus dem xcodeproj -Dateinamen abgeleitet.
Alle Saiten werden ihrer entsprechenden Tabelle mit dem folgenden Header hinzugefügt:
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | Example | Comment | String Key | File Path
Source: SOURCE_LANGUAGE = Text in der QuellspracheTarget: TARGET_LANGUAGE = Text in der Zielsprache übersetztExample = leer, wenn die Zeichenfolge Platzhalter enthält ( %@, %d, etc. ). Dies ist ein Ort, an dem Übersetzer ein Beispiel geben können.Comment = NSLocalisedString KommentareString Key = die ID der ZeichenfolgeFile Path = Relative Pfad zur Quelldatei der String ( .strings -Datei oder .storyboard )Führen Sie nach der Aktualisierung der Übersetzung in Google Sheets das gleiche Skript erneut aus, um die neuen Zeichenfolgen in Ihr Xcode -Projekt zu importieren.
python android-gslocalization.py -p {PROJECT_NAME} -r {PATH_TO_RES_FOLDER} -a {JSON_AUTH_FILE_PATH} -e {SHARE_EMAIL_ADDRESS} -l {DEVELOPMENT_LANGUAGE}
PROJECT_NAME - Projektname (verwendet zum Präfix des Tabellenkalkulationsname)PATH_TO_RES_FOLDER - Pfad zu Ihrem Android res -Ordnerstrings.xml -Dateien anstrings.xml wird die Zielsprache vom Namen des Parrent-Ordners festgestellt (z. B. values-es für Spanisch)JSON_AUTH_FILE_PATH - Pfad zum Google Sheets Service account keySHARE_EMAIL_ADDRESS - die E -Mail -Adresse zum Freigeben der erstellten TabellenkalkulationenService account key verwenden, werden alle Tabellenkalkulationen erstellt und im Service -Account (z. B. [email protected]) erstellt.DEVELOPMENT_LANGUAGE - Der Sprachcode Ihrer Entwicklungssprache (default = en ) Dieses Skript lädt alle strings.xml -Dateien in PATH_TO_RES_FOLDER .
Es analysiert die erhaltenen XML -Dateien und lädt sie in Google Sheets hoch.
Für jede Sprache gibt es eine Tabelle mit dem folgenden Namensformat: {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Spanish_localizations MyProject_Russian_localizations . In jeder Tabelle befindet sich ein Arbeitsblatt pro Plattform (z. B. ios_strings , android_strings ).
Alle Saiten werden ihrer entsprechenden Tabelle mit dem folgenden Header hinzugefügt:
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | String ID
Source: SOURCE_LANGUAGE = Text in der QuellspracheTarget: TARGET_LANGUAGE = Text in der Zielsprache übersetztString ID = die ID der Zeichenfolge Führen Sie nach der Aktualisierung der Übersetzung in Google Sheets das gleiche Skript erneut aus, um die Dateien von strings.xml in Ihrem Ressourcenordner zu überschreiben.
# parsing arguments
argparse
# provides access to Google Sheets API
pygsheets
# XML parsing for XML/XLIFF files
lxml
# type hinting
typing
# colored output in consolde
colorama
# conversion between language code and language name
langcodes; python_version>'3'
langcodes-py2; python_version<'3'
Objective C NSLocalizedStringWithDefaultValue(@"KEY", nil, [NSBundle mainBundle], @"DEFAULT_VALUE", @"COMMENT")] anstelle von NSLocalizedString(@"KEY", @"COMMENT")]Swift NSLocalizedString("KEY", tableName: nil, bundle: Bundle.main, value: "DEFAULT_VALUE", comment: "COMMENT") anstelle von NSLocalizedString("KEY", comment: "COMMENT")NSLocalizedString -Aufrufe zu konvertieren, um einen Standardwert zu enthalten