[ios] 현지화 된 스토리 보드 문자열을 업데이트 할 수 있습니까?

나는 base.lproj 스토리 보드와 3 개의 문자열 파일을 작성하여 응용 프로그램의 일부를 현지화했습니다. 한 달 전과 후에 앱에 새보기 컨트롤러를 추가했지만이 컨트롤러의 버튼과 레이블이 문자열 파일에 나타나지 않습니다.

이 3 개의 스토리 보드 첨부 문자열 파일을 업데이트 할 수 있습니까? 아니면 NSLocalizableString 및 Localizable.strings를 사용하여 프로그래밍 방식으로 새 문자열 번역을 추가해야합니까?



답변

두 가지 옵션이 있습니다.

옵션 1

Xcode는 파일을 [Interface Builder Cocoa Touch Storyboard] 파일 형식 또는 [Localizable Strings] 파일 형식 으로 변환하여 파일을 “재로드”할 수 있습니다 .

  1. 프로젝트 네비게이터에서 기본 스토리 보드 파일을 선택하십시오.
  2. 파일 관리자에서 현지화 섹션을 찾습니다
  3. 파일이 현재 [Localizable Strings] 인 경우 [Interface Builder Cocoa Touch Storyboard]로 변경하거나 그 반대로 변경하십시오.
  4. Xcode는 스토리 보드를 현재 버전으로 변환하면서 이전 현지화 노력을 유지해야합니다. 원하는 경우 여기에서 파일을 원래 파일 형식으로 다시 변경할 수 있습니다.

옵션 2

스토리 보드에서 문자열을 추출하려면 ibtool을 사용하십시오.

  1. 터미널 응용 프로그램을 엽니 다

  2. Base.lproj 디렉토리를 찾으십시오

  3. 이 줄을 사용하여 문자열을 추출하십시오.

    ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings

  4. 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의 스토리 보드 참조, 어디에서 사용해야합니까?

따라서 작은 스토리 보드마다 현지화 할 문자열이 몇 개 밖에 없습니다.


답변

마지막으로, 내 솔루션은 (초보적이지만 효과적인) 이전 번역을 복사하여 현지화 언어 상자를 선택 취소하고 확인하여 만든 새 파일에 붙여 넣었습니다.

하나 또는 두 개의 텍스트 만 변경해야하는 경우와 같은 일부 경우에 유용합니다.


답변

가장 좋은 방법은 내장 내보내기 / 가져 오기 현지화를 사용하는 것입니다.

  1. 프로젝트 네비게이터에서 프로젝트 폴더를 선택하십시오.
  2. 편집기> 현지화를 위해 내보내기를 선택하십시오.
  3. 자신의 자리에 남겨진 모든 번역과 XCode는 누락 된 문자열을 자동으로 추가합니다. 또한, 수입하기 전에, 당신은 (온라인 – 예를 들어, XLIFF 편집기에서 .xliff 편집 할 수 있습니다 http://xliff.brightec.co.uk ) 그리고 당신은 엑스 코드에서이 작업을 수행 할 필요가 없습니다.
  4. 그런 다음 Editor> Import Localizations를 선택하고 저장된 .xliff 파일을 선택하십시오.

PS XLIFF 편집기에서 편집하지 않고 3 단계를 건너 뛰면 XCode가 새 문자열을 저장할 수 없습니다. 이 경우 XLIFF 편집기에서 .xliff를 열고 변경없이 다시 저장하고 새 파일을 가져옵니다.


답변

스토리 보드 (예 : Main.storyboard)를 클릭하면 오른쪽에 현지화 메뉴가 표시됩니다 (첨부 된 이미지 참조). 언어를 선택 취소했다가 다시 확인하면 파일이 다시 생성됩니다. 그래서 나는 보통 내용을 복사하고 파일을 다시 생성 한 다음 복사하고 이미 번역 한 내용을 붙여 넣습니다.

이것이 사전을 업데이트하는 데 사용되는 방법입니다.

여기에 이미지 설명을 입력하십시오