2017-12-09 12 views
0

작은 Xcode 프로젝트 (Xcode 9 및 Swift 4)를 현지화하려고합니다. 그 프로젝트에는 복수형을 사용하는 곳이 있으므로, 지역화해야합니다. 이를 위해 stringsdict 파일을 사용합니다. 코드에서 StringlocalizedStringWithFormat(_:,fromat,:argument) 정적 메서드를 사용합니다. Xcode에서 프로젝트를 지역화하려고 할 때 XLIFF에 여러 가지 양식이 포함되어 있지 않습니다.

let localizedString = NSLocalizedString("%d apple(s)", comment: "The number of apples") 
    print(String.localizedStringWithFormat(localizedString, 0)) 
    print (String.localizedStringWithFormat(localizedString, 1)) 
    print(String.localizedStringWithFormat(localizedString, 2)) 
    print(String.localizedStringWithFormat(localizedString, 10)) 

그럼 내가 stringsdict 파일을 생성 : 여기 내 코드는 복수의 외모에 대한 (난 그냥 테스트에 대 한 단어를 인쇄)하는 방법. 그것은 다음과 같습니다

WWDC 2017 우리가 (이 경우 다른 언어로 복수형을 로컬 라이즈 stringsdict 파일을 사용하는 경우, 내가 원하는 것을 말한다 현지화에 대해 (세션 401)의 비디오에서

enter image description here

러시아어로 현지화) 우리는 개발 언어 (영어)의 경우 값을 제공하면되고, 지역화를 위해 내보낼 경우 Xcode는 자동으로 현지화 할 언어를 XLIFF 파일에 작성합니다. 그래서 저는 0, 1, 그리고 다른 값을 부여했습니다. (세션 값의 데모에서는 키 하나와 다른 것에 대해서만 주어집니다. 그러나 문제의 이유는 아닙니다.) 내가 XLIFF 파일을 만들 때 이제

, 그것은 다음과 같습니다 (사과의 부분 만) : 당신이 볼 수 있듯이

enter image description here

는, 엑스 코드가 (자동으로 특정 언어에 대한 케이스를 생성하지 않습니다 러시아에게는 4)가 있어야합니다. 나는 stringsdict 파일을 사용하고 있으며 처음에는 복수형을 현지화하려고했기 때문에 내가 잘못하고있는 것을 알아낼 수는 없습니다. 문제가있는 곳을 아시거나 제안 사항이있는 경우 도움을 주시면 감사하겠습니다.

답변

0

Xcode에서 할 수있는 일은 거의 없습니다. XLIFF는 보유 할 세그먼트를 보유합니다.

더 좋은 방법은 복수형이 덜되도록 문자열을 바꿔하는 것 문제, 같은 :

하지 "% d 개의 사과 (들)"

하지만 "사과의 수 : % d 개"

apple에 관한 버그를 신고해야합니다.

Xcode에서 XLIFF로 작업해야하는 요구 사항이 없으면 문자열 파일을 사용하지 말고 대신 사용하는 것이 좋습니다.

+0

나는 단지 덜 복수 한 소리를내는 복수형을 원했다. 그렇다면 제 구현에는 아무런 문제가 없습니까? –

+0

구현에 문제가 있다고 생각하지 않습니다. Xcode는 처음부터 복수형을 수출 해본 적이별로 없습니다. https://stackoverflow.com/questions/26179269/xcode-6-localization-of-plurals-genders-with-xliff?rq=1 – brandelune

+0

본 적이 있습니다. 사과 dev에 포럼에서 모든 이들에 대해 비슷한 문제. 회사의 한 남자가 버그라고 쓰고 다른 사람들에게 그 버그에 대해보고하도록 요청합니다. 희망이 미래의 업데이 트 에서이 문제는 해결 될 것입니다. 어쨌든, 세션 비디오에서 매우 시원하고 도움이되기 때문에 이것이 작동하지 않는다는 것은 꽤 슬프다 –