Python 2.7 또는 바람직하게는 Python 3을 pip 명령을 사용하여 컴퓨터에 설치해야합니다.
저장소를 복제하고 pip install -r requirements.txt 실행하십시오.
gslocalization 승인합니다service account key JSON 파일 얻기Google Drive API 및 Google Sheets API 활성화되어 있는지 확인하십시오.Credentials 으로 이동 및 Create credentials 메뉴에서 Service account key 선택하십시오.App Engine Admin 역할을 가진 새 계정 만들기)Key type 옵션에서 JSON 선택되어 있는지 확인하십시오.Create 클릭합니다JSON 파일이 다운로드가 시작됩니다. 이 파일을 저장하고 나중에 인증에 사용하십시오. 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 .xcodeproj 파일로가는 경로xcodebuild 에 전화하는 데 사용됩니다 (현지화 수출 및 수입)XLIFF_OUTPUT_DIR 에 저장됩니다XLIFF_OUTPUT_DIR 생성 된 XLIFF 파일의 출력 디렉토리JSON_AUTH_FILE_PATH Google 시트 Service account key 는 경로SHARE_EMAIL_ADDRESS 생성 된 스프레드 시트를 공유 할 이메일 주소Service account key 사용하고 있으므로 모든 스프레드 시트는 서비스 계정 (예 : [email protected])에 의해 생성되고 소유됩니다.LOCALIZATION_LANGUAGES 현지화에 사용되는 여러 언어 코드가 포함 된 문자열DEV_LANGUAGE (선택 사항, 기본값으로 en ) - 프로젝트 개발 언어의 언어 코드 이 스크립트는 xcodebuild 사용하여 프로젝트의 현재 현지화를 내 보냅니다.
획득 한 XLIFF 파일을 구문 분석하고 Google 시트에 업로드합니다.
다음 이름 형식의 모든 언어에 대한 스프레드 시트 MyProject_Spanish_localizations 하나 있습니다. {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Russian_localizations 각 스프레드 시트 내부에는 플랫폼 당 하나의 워크 시트가 있습니다 (예 : ios_strings , android_strings ). {PROJECT_NAME} 은 xcodeproj filename에서 추론됩니다.
모든 문자열은 다음 헤더와 함께 해당 스프레드 시트에 추가됩니다.
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | Example | Comment | String Key | File Path
Source: SOURCE_LANGUAGE = 소스 언어의 텍스트Target: TARGET_LANGUAGE = 대상 언어로 번역 된 텍스트Example = 비어 문자열에 자리 표시 자 ( %@, %d, etc. )가 포함 된 경우 비워집니다. 이곳은 번역가에게 예를 제공 할 수있는 곳입니다.Comment = NSLocalisedString 댓글String Key = 문자열의 IDFile Path = 문자열의 소스 파일에 대한 상대 경로 ( .strings 파일 또는 .storyboard )Google Sheets에서 번역을 업데이트 한 후 동일한 스크립트를 다시 실행하여 새 문자열을 Xcode 프로젝트로 가져 오십시오.
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 프로젝트 이름 (스프레드 시트 이름을 접두사에 사용하는 데 사용)PATH_TO_RES_FOLDER Android res 로가는 경로strings.xml 파일에 대한이 폴더를 살펴 봅니다strings.xml 파일의 경우 대상 언어는 Parrent 폴더 이름으로 감지됩니다 (스페인어의 values-es )JSON_AUTH_FILE_PATH Google 시트 Service account key 는 경로SHARE_EMAIL_ADDRESS 생성 된 스프레드 시트를 공유 할 이메일 주소Service account key 사용하고 있으므로 모든 스프레드 시트는 서비스 계정 (예 : [email protected])에 의해 생성되고 소유됩니다.DEVELOPMENT_LANGUAGE 개발 언어의 언어 코드 (default = en ) 이 스크립트는 PATH_TO_RES_FOLDER 내부에 모든 strings.xml 파일을로드합니다.
획득 한 XML 파일을 구문 분석하고 Google 시트에 업로드합니다.
다음 이름 형식의 모든 언어에 대한 스프레드 시트 MyProject_Spanish_localizations 하나 있습니다. {PROJECT_NAME}_{LANGUAGE_NAME}_localizations MyProject_Russian_localizations 각 스프레드 시트 내부에는 플랫폼 당 하나의 워크 시트가 있습니다 (예 : ios_strings , android_strings ).
모든 문자열은 다음 헤더와 함께 해당 스프레드 시트에 추가됩니다.
Source: SOURCE_LANGUAGE | Target: TARGET_LANGUAGE | String ID
Source: SOURCE_LANGUAGE = 소스 언어의 텍스트Target: TARGET_LANGUAGE = 대상 언어로 번역 된 텍스트String ID = 문자열의 ID Google 시트에서 번역을 업데이트 한 후 동일한 스크립트를 다시 실행하여 리소스 폴더에서 strings.xml 파일을 덮어 씁니다.
# 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")] 대신 NSLocalizedString(@"KEY", @"COMMENT")]Swift 의 경우 NSLocalizedString("KEY", tableName: nil, bundle: Bundle.main, value: "DEFAULT_VALUE", comment: "COMMENT") NSLocalizedString("KEY", comment: "COMMENT") 사용하십시오.NSLocalizedString 호출을 변환하십시오.