나는 base.lproj 스토리 보드와 3 개의 문자열 파일을 작성하여 응용 프로그램의 일부를 현지화했습니다. 한 달 전과 후에 앱에 새보기 컨트롤러를 추가했지만이 컨트롤러의 버튼과 레이블이 문자열 파일에 나타나지 않습니다.
이 3 개의 스토리 보드 첨부 문자열 파일을 업데이트 할 수 있습니까? 아니면 NSLocalizableString 및 Localizable.strings를 사용하여 프로그래밍 방식으로 새 문자열 번역을 추가해야합니까?
답변
두 가지 옵션이 있습니다.
옵션 1
Xcode는 파일을 [Interface Builder Cocoa Touch Storyboard] 파일 형식 또는 [Localizable Strings] 파일 형식 으로 변환하여 파일을 “재로드”할 수 있습니다 .
- 프로젝트 네비게이터에서 기본 스토리 보드 파일을 선택하십시오.
- 파일 관리자에서 현지화 섹션을 찾습니다
- 파일이 현재 [Localizable Strings] 인 경우 [Interface Builder Cocoa Touch Storyboard]로 변경하거나 그 반대로 변경하십시오.
- Xcode는 스토리 보드를 현재 버전으로 변환하면서 이전 현지화 노력을 유지해야합니다. 원하는 경우 여기에서 파일을 원래 파일 형식으로 다시 변경할 수 있습니다.
옵션 2
스토리 보드에서 문자열을 추출하려면 ibtool을 사용하십시오.
-
터미널 응용 프로그램을 엽니 다
-
Base.lproj 디렉토리를 찾으십시오
-
이 줄을 사용하여 문자열을 추출하십시오.
ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings
-
ibtool이 문자열을 file_name.strings로 추출한 후이를 복사하여 원래 .strings 파일에 붙여 넣을 수 있습니다
자세한 정보를 보려면 다음 사이트를 방문하십시오 : https://conyac.cc/business/columns/localization_guide_ios
답변
BartyCrouch를 확인하면 문제가 완벽하게 해결됩니다. 또한 오픈 소스 이며 적극적으로 유지 관리 되며 프로젝트 내에 쉽게 설치 및 통합 할 수 있습니다 .
Homebrew 를 통해 BartyCrouch를 설치 하십시오 .
brew install bartycrouch
또는 Mint 를 통해 설치하십시오 .
mint install Flinesoft/BartyCrouch
Storyboards / XIBs Strings 파일을 점차적으로 업데이트 하십시오.
$ bartycrouch update
이것은 당신이 찾고 있던 것을 정확하게 할 것입니다.
하기 위해 계속 하여 스토리 보드를 / XIBs 문자열은 파일 시간이 지남에 따라 업데이트 내가보기 엔 빌드 스크립트를 (빌드 스크립트를 추가하는 방법에 대한 지침을 추가하는 것이 좋습니다 여기를 )
if which bartycrouch > /dev/null; then
bartycrouch update -x
bartycrouch lint -x
else
echo "warning: BartyCrouch not installed, download it from https://github.com/Flinesoft/BartyCrouch"
fi
점차적으로 당신의 스토리 보드를 업데이트 외에도 / XIBs 문자열이는 것 파일을 확인하십시오 할 Localizable.strings
파일이 업데이트 유지 새로 추가하여 코드에서 키 NSLocalizedString
중복 키 또는 빈 값 및 경고보기.
자세한 내용 은 GitHub 또는 이 자세한 기사 에서 BartyCrouch를 확인하십시오 .
답변
현지화 파일에 키를 수동으로 추가 할 수 있습니다. 스토리 보드 편집기에서 키 오브젝트를 선택하여 찾을 수 있습니다. Object-ID
아이덴티티 인스펙터를 봅시다 . 마치"nwc-b2-19c"
현지화 업데이트 또는 번역 추가 예를 들면 다음과 같습니다.
"nwc-b2-19c.title" = "Translated title";
답변
이것은 모두를위한 것은 아니지만 터미널에 추가 도구가 필요하지 않으며 수동으로 작은 변경을하기가 쉽습니다. 프로세스를 자동화하려는 경우이를 고려하지 마십시오.
0 단계 : 스토리 보드 언어 설정
- 베이스 (영문 텍스트 포함)
- 영어 (기본 파일이 영어이기 때문에 지역화 가능한 문자열 파일이 없습니다)
- 다른 언어 (지역화 가능한 문자열 파일)
이 단계는 한 번만 수행됩니다.
스토리 보드에 무언가를 추가하면 다음을 수행합니다.
1 단계 : 영어 지역화 가능 문자열 파일 추가
영어 광고 항목 만 표시하면됩니다.
이것은 모든 줄을 가진 완전히 새로운 영어 지역화 문자열 파일을 만듭니다.
2 단계 : 새 광고 항목을 다른 언어 파일로 복사
번역 해
3 단계 : 영어 표시를 해제하고 해당 지역화 가능 문자열 파일 제거
파일은 새 광고 항목을 가져 오는 데만 필요했습니다.
이것은 쉽고 빠른 프로세스이며 스토리 보드 편집기에서 모든 작업이 완료됩니다.
편집하다:
이 프로세스는 작은 스토리 보드에서 매우 잘 작동합니다. 예를 들어, 탭 기반 프로젝트가 있고 각 탭에 대한 스토리 보드가 있습니다.
“스토리 보드 참조”를 검색하여 학습서를 찾으십시오.
좋은 예 : Xcode의 스토리 보드 참조, 어디에서 사용해야합니까?
따라서 작은 스토리 보드마다 현지화 할 문자열이 몇 개 밖에 없습니다.
답변
마지막으로, 내 솔루션은 (초보적이지만 효과적인) 이전 번역을 복사하여 현지화 언어 상자를 선택 취소하고 확인하여 만든 새 파일에 붙여 넣었습니다.
하나 또는 두 개의 텍스트 만 변경해야하는 경우와 같은 일부 경우에 유용합니다.
답변
가장 좋은 방법은 내장 내보내기 / 가져 오기 현지화를 사용하는 것입니다.
- 프로젝트 네비게이터에서 프로젝트 폴더를 선택하십시오.
- 편집기> 현지화를 위해 내보내기를 선택하십시오.
- 자신의 자리에 남겨진 모든 번역과 XCode는 누락 된 문자열을 자동으로 추가합니다. 또한, 수입하기 전에, 당신은 (온라인 – 예를 들어, XLIFF 편집기에서 .xliff 편집 할 수 있습니다 http://xliff.brightec.co.uk ) 그리고 당신은 엑스 코드에서이 작업을 수행 할 필요가 없습니다.
- 그런 다음 Editor> Import Localizations를 선택하고 저장된 .xliff 파일을 선택하십시오.
PS XLIFF 편집기에서 편집하지 않고 3 단계를 건너 뛰면 XCode가 새 문자열을 저장할 수 없습니다. 이 경우 XLIFF 편집기에서 .xliff를 열고 변경없이 다시 저장하고 새 파일을 가져옵니다.