2015-01-27 2 views
0

번역을위한 간단한 코드가 있습니다. 그것은 우분투 14.04에서 실행됩니다.Qt 언어 전문가가 우분투 14.04에서 문자열을 번역하지 않습니다

#include <QtGui> 
#include <QApplication> 
#include <QLabel> 
#include <QTextCodec> 
int main (int argc,char *argv[]) 
{ 
    QApplication app(argc,argv); 
    QTranslator qtr; 
    qtr.load("hello.qm"); 
    app.installTranslator(&qtr); 
    //QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); 
    QLabel *label=new QLabel(QObject::tr("hello")); 
    label->show(); 
    retrun app.exec(); 
} 

나는 Qt는 언어 학자에 의해 중국어 你好 인사를 번역하기 위해 아래의 단계를 따라했다 :

  1. 이 hello.pro 및 lupdate하는 TRANSLATIONS +=hell0.ts를 추가합니다.
  2. 는 Qt는 언어 학자를 열고 인터페이스 그것은 일반 Qt는 언어 학자 인터페이스처럼되지 않습니다

http://chuantu.biz/t/63/1422351082x-954498824.png

는 사실을 알게 될 것입니다. 이것이 나의 첫 번째 문제이다. 어떻게 해결할 수 있습니까?

그렇다면 '안녕하세요'를 번역하려면 你好을 인쇄하지만 아무 것도 빈칸에 표시되지 않습니다. 나는 여전히 'done'버튼을 누른다.

저는 gedit을 사용하여 hello.ts 파일을 열고이 파일이 你好로 변환되었음을 확인합니다.

사진은 aboved로 내가 코드를 실행,

http://chuantu.biz/t/63/1422354035x1822611189.png

(3) 내가 명령 'lrelease'를 사용하고 hello.qm

마지막을 얻을 수있다. 그러나 결과는 '안녕하세요'를 인쇄하는 것입니다. '안녕하세요'를 你好로 번역하지 않습니다. 이것이 제 두 번째 문제입니다.

나는 또한 Qt 언어 학자 대신 QtTextCodec :: setCodecForTr과 같은 다른 방법을 사용했지만 여전히 작동하지 않습니다.

+0

는 "ubuntu14.04에서 문자열을 번역하지 않습니다"업데이트됩니다 retranslateUI(this)를 호출하는 - 그래서 윈도우에서 작동? – sashoalm

+0

"hello.qm"파일은 어디에 있습니까? 너는 안녕. ts ... – UmNyobe

+0

@sashoalm 그것은 창문에서 작동합니다. –

답변

0

시도 그래서 번역

관련 문제