Python 2.7 atau lebih disukai Python 3 harus diinstal pada mesin Anda dengan perintah pip juga tersedia.
Klon Repositori dan jalankan pip install -r requirements.txt .
gslocalization dengan Google Sheetsservice account key File JSON dari Konsol Pengembang Google AndaGoogle Drive API dan Google Sheets API diaktifkanCredentials dan dari menu Create credentials , pilih Service account keyApp Engine Admin )JSON dipilih dalam opsi Key type .CreateJSON akan mulai mengunduh. Simpan file ini dan gunakan nanti untuk otentikasi. 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 - path ke file .xcodeproj Andaxcodebuild (mengekspor dan mengimpor lokalisasi)XLIFF_OUTPUT_DIRXLIFF_OUTPUT_DIR - Direktori Output untuk file XLIFF yang dihasilkanJSON_AUTH_FILE_PATH - jalur ke Service account key Google SheetsSHARE_EMAIL_ADDRESS - alamat email untuk membagikan spreadsheet yang dibuatService account key , semua spreadsheet dibuat dan dimiliki oleh akun layanan (mis. [email protected])LOCALIZATION_LANGUAGES - Sebuah string yang berisi beberapa kode bahasa yang digunakan untuk lokalisasiDEV_LANGUAGE (opsional, default ke en ) - kode bahasa untuk bahasa perkembangan proyek Script ini mengekspor lokalisasi saat ini untuk proyek Anda menggunakan xcodebuild .
Ini mem -parsing file Xliff yang diperoleh dan mengunggahnya ke Google Sheets.
Ada satu spreadsheet untuk setiap bahasa, dengan format nama berikut: {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Russian_localizations MyProject_Spanish_localizations . Di dalam setiap spreadsheet, ada satu lembar kerja per platform (mis. ios_strings , android_strings ). {PROJECT_NAME} disimpulkan dari nama file xcodeproj .
Semua string ditambahkan ke spreadsheet yang sesuai, dengan header berikut:
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | Example | Comment | String Key | File Path
Source: SOURCE_LANGUAGE = teks dalam bahasa sumberTarget: TARGET_LANGUAGE = teks diterjemahkan dalam bahasa targetExample = Kosong Jika string berisi placeholder ( %@, %d, etc. ). Ini adalah tempat untuk memberikan contoh bagi penerjemah.Comment = Komentar NSLocalisedStringString Key = ID dari stringFile Path = jalur relatif ke file sumber dari string (file .strings atau .storyboard )Setelah memperbarui terjemahan di Google Sheets, jalankan skrip yang sama lagi untuk mengimpor string baru ke proyek XCODE Anda.
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 - Nama Proyek (Digunakan untuk mengawali nama spreadsheet)PATH_TO_RES_FOLDER - Path to Android res Anda Folder Andastrings.xmlstrings.xml apa pun, bahasa target terdeteksi oleh nama folder Parrent (ex. values-es untuk bahasa Spanyol)JSON_AUTH_FILE_PATH - jalur ke Service account key Google SheetsSHARE_EMAIL_ADDRESS - alamat email untuk membagikan spreadsheet yang dibuatService account key , semua spreadsheet dibuat dan dimiliki oleh akun layanan (mis. [email protected])DEVELOPMENT_LANGUAGE - Kode bahasa bahasa pengembangan Anda (default = en ) Script ini memuat semua file strings.xml di dalam PATH_TO_RES_FOLDER .
Ini mem -parsing file XML yang diperoleh dan mengunggahnya ke Google Sheets.
Ada satu spreadsheet untuk setiap bahasa, dengan format nama berikut: {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Russian_localizations MyProject_Spanish_localizations . Di dalam setiap spreadsheet, ada satu lembar kerja per platform (mis. ios_strings , android_strings ).
Semua string ditambahkan ke spreadsheet yang sesuai, dengan header berikut:
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | String ID
Source: SOURCE_LANGUAGE = teks dalam bahasa sumberTarget: TARGET_LANGUAGE = teks diterjemahkan dalam bahasa targetString ID = ID string Setelah memperbarui terjemahan di Google Sheets, jalankan skrip yang sama lagi untuk menimpa file strings.xml di folder sumber daya Anda.
# 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 , gunakan NSLocalizedStringWithDefaultValue(@"KEY", nil, [NSBundle mainBundle], @"DEFAULT_VALUE", @"COMMENT")] bukan NSLocalizedString(@"KEY", @"COMMENT")]Swift , gunakan NSLocalizedString("KEY", tableName: nil, bundle: Bundle.main, value: "DEFAULT_VALUE", comment: "COMMENT") bukan NSLocalizedString("KEY", comment: "COMMENT")NSLocalizedString untuk memasukkan nilai default