2013-05-09 4 views
1

안녕하세요 저는 Blackberry 10 플랫폼을 처음 사용하며 아랍어로 응용 프로그램을 개발하고 있습니다. 내 응용 프로그램에 아랍어 텍스트를 표시하는 방법을 모르겠습니다. 그러나 Blackberry 사이트에는 로캘을 변경하여 아랍어 텍스트 표시에 대한 정보가 있지만 아무 것도 얻지 못했습니다. 제발 도와주세요응용 프로그램의 아랍어 텍스트 방법

답변

3

이미 국제화에 대해 BlackBerry's 페이지에 익숙한 것 같습니다. Qt 페이지를 살펴 봐야합니다.

당신은에 - 응용 프로그램의 텍스트에 초점을 맞춤으로써 시작해야

: 대신 tr("A string")를 사용하는 대신 C++ 파일에서 "A String"

  • qsTr("A string")을 사용 QML 파일에서

    • "A String"
      • tr()' is part of QObject, so it only works for classes that herit QObject`. 해결 방법이 있습니다.

    는 Momentics에서 막대 응용 프로그램 설명자 파일, 이름 바 descriptor.xml 파일을 열고 지역화 탭에서 지원하려는 모든 로케일을 추가합니다.

    Momentics Locale Editor

    그런 명확하고 프로젝트를 다시 빌드합니다. 빌드 프로세스에서는 번역 디렉토리에 프로젝트 이름과 일치하지만 로케일 코드가 접미사 인 파일 .ts을 만들어야합니다.

    누락 된 번역에 대한 응용 프로그램을 빌드 할 때마다 .ts 파일을 업데이트해야합니다.

    .ts 파일은 화면에 표시해야하는지와 소스 파일 (.cpp 또는 .qml)에 무엇이 일치하는 XML 파일입니다.

    <?xml version="1.0" encoding="utf-8"?> 
    <!DOCTYPE TS> 
    <TS version="2.0" language="fr_FR"> 
    <context> 
        <name>Page</name> 
        <message> 
         <source>Like</source> 
         <translation type="unfinished"></translation> 
        </message> 
    </context> 
    </TS> 
    

    다음 코드는 aready 당신의 MAIN.CPP에, 그것은 당신의 응용 프로그램이 응용 프로그램에 대한 적절한 번역을 찾습니다 있는지 확인해야합니다. 기기 로캘을 변경하고 애플리케이션을 다시로드하면 모든 번역 가능한 텍스트가 .ts 파일에서로드됩니다.

    // localization support 
    QTranslator translator; 
    QString locale_string = QLocale().name(); 
    QString filename = QString("ProReader_%1").arg(locale_string); 
    if (translator.load(filename, "app/native/qm")) { 
        app.installTranslator(&translator); 
    } 
    

    주의는, 루트 하위 디렉토리에 있지 않은 소스 파일을 발견하지 못하게 Momentics의 알려진 제한이있다. .pro 파일을 업데이트해야합니다.

    lupdate_inclusion { 
        SOURCES += \ 
         $$quote($$BASEDIR/../assets/qml/*.qml) \ 
         $$quote($$BASEDIR/../assets/720x720/qml/*.qml) \ 
         $$quote($$BASEDIR/../src/*.cpp) \ 
         $$quote($$BASEDIR/../src/app/*.cpp) \ 
         $$quote($$BASEDIR/../src/feedreader/*.cpp) \ 
         $$quote($$BASEDIR/../src/feedreader/storage/*.cpp) \ 
         $$quote($$BASEDIR/../src/piwik/*.cpp) 
    } 
    
  • +0

    "Momentics에서 .bar 파일과 지원하려는 모든 로캘을 엽니 다." 나는이 문장을 .bar 파일에 로케일을 추가하는 방법을 이해하지 못했다. – pranavjayadev

    +0

    @PranavJDev 나는 BAR 응용 프로그램 설명자 파일 (bar-descriptor.xml)을 의미했으며 명확한 스크린 샷을 추가했다. – Jean

    +0

    나는이 모든 단계를 완료했지만 내 전화 (Blackberry Q10)에는 아랍어 텍스트가 표시되지 않습니다. 기본 (영어) 언어로 텍스트를 표시합니다. – pranavjayadev

    관련 문제