번역을위한 간단한 코드가 있습니다. 그것은 우분투 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는 언어 학자에 의해 중국어 你好 인사를 번역하기 위해 아래의 단계를 따라했다 :
- 이 hello.pro 및 lupdate하는
TRANSLATIONS +=hell0.ts
를 추가합니다.
는 Qt는 언어 학자를 열고 인터페이스 그것은 일반 Qt는 언어 학자 인터페이스처럼되지 않습니다
는 사실을 알게 될 것입니다. 이것이 나의 첫 번째 문제이다. 어떻게 해결할 수 있습니까?
그렇다면 '안녕하세요'를 번역하려면 你好을 인쇄하지만 아무 것도 빈칸에 표시되지 않습니다. 나는 여전히 'done'버튼을 누른다.
저는 gedit을 사용하여 hello.ts 파일을 열고이 파일이 你好로 변환되었음을 확인합니다.
사진은 aboved로 내가 코드를 실행,
(3) 내가 명령 'lrelease'를 사용하고 hello.qm
마지막을 얻을 수있다. 그러나 결과는 '안녕하세요'를 인쇄하는 것입니다. '안녕하세요'를 你好로 번역하지 않습니다. 이것이 제 두 번째 문제입니다.
나는 또한 Qt 언어 학자 대신 QtTextCodec :: setCodecForTr과 같은 다른 방법을 사용했지만 여전히 작동하지 않습니다.
는 "ubuntu14.04에서 문자열을 번역하지 않습니다"업데이트됩니다
retranslateUI(this)
를 호출하는 - 그래서 윈도우에서 작동? – sashoalm"hello.qm"파일은 어디에 있습니까? 너는 안녕. ts ... – UmNyobe
@sashoalm 그것은 창문에서 작동합니다. –