반응형
<출처 : http://aggressive-mediocrity.blogspot.com/2010/03/custom-localization-system-for-your.html >
How the new system works
a. The iphone SDK way
: iphone SDK 에서는 NSLocalizableString("tag", "alternative") 을 제공한다. 이 함수는 Localizable.strings 으로부터 localized string을 취득하기위한 메크로이다. "tag"는 에 해당하는 문자열을 확인하지 못하면 "alternative" 로 대체한다.
b. The new way
: 기본시스템의 기능에 따라 LocalizationSystem.h 와 LocalizationSystem.m 을 추가하면
● 이미 완성된 것들에 대해 완벽하게 대응된다.
● run-time 시 언어가 변경된다.
● iphone OS 에서는 추가되어있지 않은 지원하지 않는 언어에 대해서 지원된다.
기본 함수에서 추가된 4가지 defined된 매크로를 사용함으로써 쉽게 적용할 수 있다.
1. LocalizationSetLanguage("language")
: 이 매크로를 사용하면 원하는 언어로 app의 언어가 변경될 것이다.
2. AMLocalizedString("tag", "alternative")
: 지역화된 언어를 얻기 위해서는
3. LocalizationReset
: OS의 기본셋팅으로 Localization을 리셋한다.
4. LocalizationGetLanguage
: 현재 언어 설정을 가져온다.
How the new system works
a. The iphone SDK way
: iphone SDK 에서는 NSLocalizableString("tag", "alternative") 을 제공한다. 이 함수는 Localizable.strings 으로부터 localized string을 취득하기위한 메크로이다. "tag"는 에 해당하는 문자열을 확인하지 못하면 "alternative" 로 대체한다.
b. The new way
: 기본시스템의 기능에 따라 LocalizationSystem.h 와 LocalizationSystem.m 을 추가하면
● 이미 완성된 것들에 대해 완벽하게 대응된다.
● run-time 시 언어가 변경된다.
● iphone OS 에서는 추가되어있지 않은 지원하지 않는 언어에 대해서 지원된다.
기본 함수에서 추가된 4가지 defined된 매크로를 사용함으로써 쉽게 적용할 수 있다.
1. LocalizationSetLanguage("language")
: 이 매크로를 사용하면 원하는 언어로 app의 언어가 변경될 것이다.
- // Sets the desired language of the ones you have.
- // example calls:
- // LocalizationSetLanguage(@"Italian");
- // LocalizationSetLanguage(@"German");
- // LocalizationSetLanguage(@"Spanish");
- //
- // If this function is not called it will use the default OS language.
- // If the language does not exists y returns the default OS language.
- NSLog(@"preferredLang: %@", l);
- if (path == nil)
- //in case the language does not exists
- [self resetLocalization];
- else
- }
2. AMLocalizedString("tag", "alternative")
: 지역화된 언어를 얻기 위해서는
- // Gets the current localized string as in NSLocalizedString.
- //
- // example calls:
- // AMLocalizedString(@"Text to localize",@"Alternative text, in case hte other is not find");
- {
- return [bundle localizedStringForKey:key value:comment table:nil];
- }
3. LocalizationReset
: OS의 기본셋팅으로 Localization을 리셋한다.
- // Resets the localization system, so it uses the OS default language.
- //
- // example call:
- // LocalizationReset;
- - (void) resetLocalization
- {
- }
4. LocalizationGetLanguage
: 현재 언어 설정을 가져온다.
- // Just gets the current setted up language.
- // returns "es","fr",...
- //
- // example call:
- // NSString * currentL = LocalizationGetLanguage;
- return preferredLang;
- }
반응형