xcode4에서 Settings.bundle을 현지화하는 방법은 무엇입니까?
-
28-10-2019 - |
문제
나는 xcode4에서 작업 중이며 Settings.bundle
내 프로젝트를 위해.편집할 수 있어요 Root.plist
xcode4에 파일이 있지만 편집이 불가능합니다. Root.strings
파일.편집기에도 표시되지 않습니다.
확장이 안되네요 en.lproj
사진에 보이는 폴더에요.
하지만 내가 할 때 마우스 오른쪽 버튼 클릭, 외부 편집기에서 열기 그것은 나에게 다음을 제공합니다 :
더블 클릭 ~에 Root.strings
나에게 제공 :
새로운 윈도우 기반 애플리케이션 프로젝트를 생성하고 새로운 Settings.bundle을 생성하면서 여러 번 시도했습니다.항상 현지화할 수 없습니다.어떤 아이디어가 있나요?
해결책
편집하다:Apple은 다시 한 번 잘못된 버그를 수정했습니다.그들의 변경으로 인해 내 해결 방법이 쓸모 없게 되었습니다.더 이상 작동하지 않으며, Settings.bundle에 파일을 추가할 수 없습니다.
의 답변을 참고해주세요 하비 작동하는 것 같은 방법을 위해.
추악한 해결 방법이 마음에 드시기를 바랍니다.
- 사이드바에서 설정 번들을 마우스 오른쪽 버튼으로 클릭합니다.
- 선택하다
New File
- 리소스/문자열 파일 선택
- 이름을 Root.strings로 지정하고 settings.bundle 안에 있는지 확인하세요.
- 사이드바에 파일이 두 번 표시됩니다."루트" 섹션 및 Settings.bundle에 있습니다.그러나 둘 다 동일한 파일을 가리킵니다.
- 루트 섹션에서 Root.strings 파일을 선택합니다.(AFAIR는 UTF16으로 변환해야 합니다)
- 현지화를 추가하면 xcode에서 파일을 교체할지 묻습니다.예, 당신은 이것을 원합니다.
- 원하는 만큼 현지화를 추가하세요.사이드바의 루트 섹션에서 파일을 편집할 수 있어야 합니다.
이것이 당신에게 효과가 있기를 바랍니다. 나에게도 효과가 있습니다.
아직 수행하지 않으셨다면 다음 주소로 버그를 신고해 주세요. bugreport.apple.com
이제 새 릴리스를 설치하겠습니다. 이 문제가 해결되었는지 살펴보겠습니다.편집하다:고정되지 않았습니다.
편집하다:두 번째 질문을 올바르게 이해했는지 모르겠습니다.그러나 번들 외부에 나타나는 파일에 현지화를 추가하면 settings.bundle에 현지화 폴더가 추가됩니다.
스페인어 현지화를 추가한 후 Root.strings
:
실제 파일은 foo.lproj 폴더에 있지만 xcode 사이드바에는 표시되지 않습니다.파일 시스템의 위치를 확인하면 설정 번들 내에 있음을 알 수 있습니다.
어제 영어와 독일어 파일을 확인했는데 시뮬레이터에서 제대로 작동했습니다.사이드바 레이아웃이 잘못된 것 같아요.기본 위치와 파일 처리가 올바른 것 같습니다.
다른 팁
XCode 4.2에서는이 단계를 따라야합니다 ( Xcode 3.2.2 및 Settings.bundle 현지화 )
- Finder에서 Settings.bundle을 공개합니다.
- 오른쪽 클릭 (또는 Ctrl- 클릭)하고 패키지 내용보기를 선택합니다.
- 원하는 언어 (예 : fr.lproj)라는 새 폴더를 만듭니다.
- en.lproj 폴더에서 Root.strings 파일을 복사하여 fr.lproj 폴더에 붙여 넣습니다.
저는 "en.lproj"폴더의 파일 유형 (파일 검사기에서)을 "Default / Directory"에서 "Directory"로 변경하는 작업을했습니다.마술.
Xcode 4는 이진 속성 목록으로 "Root.strings"를 생성합니다.그래서 내가해야 할 일은 파일 유형을 "속성 목록 (이진)"으로 설정하여 올바르게 표시되도록하는 것입니다.
Root.strings로 무언가를하려는 시도를 포기했습니다.대신 plist를 각 * .lproj에 복사했는데 작동했습니다!
영어와 제 모국어로 번역하는 한 문제 없습니다.
그렇다면 라코 디스
좋은 소식은 Root.plist가 utf8이라는 것입니다.
이미 "속성 목록 (이진)"인 Root.strings 파일이 있고이를 적절한 텍스트 기반 문자열 파일로 변환하려는 경우 터미널 응용 프로그램에서 plutil
를 사용하여 변환 할 수 있습니다.인스턴스를 JSON 형식으로 :
라코 디스
N.B.사용 도움말을 위해 plutil -h
를 실행할 수 있습니다.
그러나 그런 다음 JSON 형식을 변환해야합니다. 라코 디스
문자열 파일로 : 라코 디스
텍스트 편집기에서 몇 가지 검색 / 바꾸기 작업으로 쉽게 수행 할 수 있습니다.