2012-06-16 4 views
2

현재 iOS 애플리케이션을 현지화하고 있습니다. 이것은 꽤 괜찮은 지금까지 작동합니다.iOS의 코드에서 localizable.strings 만들기

이미 localizable.strings 및 여러 xib 파일을 만들었으므로 앱의 약 80 %가 이미 번역되었습니다.

그러나 App은 또한 "TITEL 1"은 물론 "Titel One" "Titel Eins" "Titel Eins"와 같은 모든 지원되는 언어 (값)와 같은 키를 전달하는 WebService에서 데이터를로드합니다. ".

이제 해당 값을 localizable.strings 파일에 저장하고 싶습니다.

예를 들어

:

Localizable.strings (영어)를 포함해야합니다 :

"TITLE 1" = "Title One"; 

Localizable.strings (독일어)를 포함해야합니다

"TITLE 1" = "Titel Eins"; 

Localizable.strings (이탈리아어)에는 다음을 포함해야합니다.

"TITLE 1" = "Titolo Uno"; 

어떻게하면됩니까?

답변

2

웹 서버가 사용자에 의해 관리되고 있다면, 난 당신이 느릅 나무의 언어를 보낼 것을 제안 당신은 런타임에 지역화 문자열에 삽입 할 수 없습니다가 이 예

//Get the language code 
NSString* languageCode = [[NSLocale preferredLanguages] objectAtIndex:0]; 
//Now send the request to the server with the language you want 
NSString *str = [NSString stringWithFormat:@"www.yourserve.com/yourfunctiom?lang=%@", languageCode]; 
//Request it 
을 고려하시기 바랍니다 사용하여 사용자입니다

지금 당신은 당신이 적절한 문자열

+0

서버를 제어 할 수없는 경우 해당 언어 코드를 사용하여 해시에서 적절한 문자열을 얻을 수도 있습니다. – henrikhodne

0

이 프레임 워크 조금 스트레칭 될 수를 반환합니다 서버에받는 언어에 내놓고 있지만, 애플의 문자열 로딩 기능을 사용하려는 경우 당신은 NSBundle의 구축을 시도 할 수 있습니다 귀하의 문서 디렉토리 (번들은 단지 디렉토리입니다, 결국) 서버의 파일로 채운 다음 NSLocalizedStringFromTableInBundle을 사용하여 문자열을 가져옵니다.

Omar Abdelhafith의 대답에 비하면 가치가있는 것인지 잘 모르겠다.

관련 문제