문제

나는 내가 작업중 인 Flex 응용 프로그램을 국제화하는 것을 조사하고 있으며, 그렇게하는 모범 사례 나 권장 사항이 있는지 궁금합니다.

이러한 정보에 대한 인터넷 검색으로 인해 소수의 작은 기사와 블로그 게시물이 다르게 수행되는 것에 대한 소수의 작은 기사 및 블로그 게시물이 발생하며 장점과 단점은 명확하지 않습니다.

좁은 범위로 편집 :

  • 두 언어 만 지원해야합니다 (EN_CA 및 FR_CA)
  • 런타임에 전환 할 수 있어야합니다
도움이 되었습니까?

해결책

물론, 조금 더 인터넷 검색 후에 나는 기사를 만난다. 런타임 현지화.

그리고 다음 단계를 따랐습니다.

컴파일러 인수에 다음을 추가하여 지원되는 로케일과 그 경로를 지정하십시오.

-locale=en_CA,fr_CA -source-path=locale/{locale}

다음 파일을 만듭니다.

src/locale/en_CA/resources.properties
src/locale/fr_CA/resources.properties

그리고 컴파일러는 다음과 같습니다. unable to open 'C:\Program Files\Adobe\Flex Builder 3\sdks\3.1.0\frameworks\locale\en_CA'

버그와 관련이있는 것 같습니다 SDK-12507

작업 :
에서 sdks\3.1.0\bin 디렉토리, 다음 명령을 실행하십시오.

copylocale en_US en_CA  
copylocale en_US fr_CA

이렇게하면 Flex Builder 설치에서 로케일 디렉토리가 생성되고 필요한 리소스를 구축합니다.

그럼 당신의 .mxml 파일, 리소스 번들 참조 :

<mx:Metadata>
    [ResourceBundle("resources")]
</mx:Metadata>

문자열을 국제화하십시오.

<mx:TitleWindow title="Window Title">

:

<mx:TitleWindow 
    title="{resourceManager.getString('resources', 'windowTitle')}">

그리고

var name:String = "Name";

:

var name:String = resourceManager.getString("resources", "name");

그리고 당신의 src/locale/en_CA/resources.properties 파일:

windowTitle=Window Title
name=Name
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top