2012-06-15 4 views
4

안드로이드 라이브러리 (jar 파일)를 만들고 싶습니다. jar 파일은 현지화되어야합니다. 나는 수업을 같이 :안드로이드 라이브러리에서 지역화 지원 방법

class MyMessageService 
{ 
    //Needs to return different languages message according to locale 
    String getMessage1(); 
} 

나는 항아리에 res/values/string.xmlR.class을 패키지로했습니다.

그러나 단지를 참조 내 주요 응용 프로그램에서

, 난 내 주요 프로젝트 (자원 ID의 충돌)에서이다 "s"를 가지고

String s = this.getResources().getString(mylibrary.localize.R.string.hello); 

를 호출합니다.

현지화를 지원하는 Android 라이브러리를 만드는 방법이 있습니까? 내 응용 프로그램은 내 라이브러리가 혼자 배송되기 때문에 메인 응용 프로그램에서 내 라이브러리의 리소스를 가져올 수 없습니다. 당신은 안드로이드에 길을 잘못 lib에는 일을

+0

이 문서를 읽었습니까? http://developer.android.com/guide/topics/resources/localization.html – hovanessyan

+0

아마도 다음과 같이 도움이 될 수 있습니다. http://www.kobu.com/i18n/android/index-en.htm – saini

+2

도서관에서 일하고 있어요. 위의 두 링크는 ​​모두 라이브러리에 관한 것이 아니라 라이브러리에 관한 것입니다. – goodier

답변

1

.. 나는 당신이 다른 프로젝트 사이의 UI 구성 요소를 재사용하는 등의도 직면 한 문제 그냥 안드로이드 도서관 프로젝트 시도 (패키지 예를 들어 lib.jar.path)를 보내기를 구축 lib proj 이제 R 클래스가 생성되고 lib proj를 응용 프로그램 proj (프로젝트 속성 Android 탭에서)로 참조하고 lib.jar.path.R을 사용하여 문자열 등을 찾습니다.

0

불행하게도 이것은 항아리가있는 표준 방식으로 수행 될 수 없습니다. 그러나 로컬라이제이션을 직접 구현할 수 있습니다. 현재 사용자 로켈은 Locale.getDefault()로 검색 할 수 있습니다. 그런 다음 스위치를 만들고 로켈 문자열에 해당하는 결과를 반환 할 수 있습니다 (코드 또는 일부 외부 파일에 간단히 저장할 수 있음).

관련 문제