小编Ric*_*ard的帖子

如何让翻译在课外工作?

我正在编写一个API,用于在工作中创建接口.API允许用户从一组预先构建的小部件和布局中进行选择,以便可以在短时间内为不同的单元创建多个接口.将有两个翻译文件; 一个用于API小部件(随库一起提供),另一个用于开发人员将在界面中为自定义数据创建的小部件.为了使开发人员更容易,我希望API通过将数据名称传递给API来处理所有翻译,但我遇到了绊脚石; 我无法让翻译人员识别发送给它的翻译文本,但它会识别本地文字字符串.

这是我正在谈论的一个简短例子.

class Object
{
    public:
        Object(QString name) { m_Name = name; };
        QString name() { return m_Name; };
    private:
        QString m_Name;
};

class MyWidget : public QPushButton, public Object
{
    Q_OBJECT

    public:
        MyWidget(QString name);
        ~MyWidget();
        void retranslate();

    protected slots:
        void buttonPressed();
        void changeEvent(QEvent* event);

    private:
        enum Language { ENGLISH, JAPANESE };
        Language m_Language;
        QTranslator* m_pTranslator;
};

MyWidget::MyWidget(QString name)
:Object(name) // this does not work, but :Object(tr("TEST")) does
{
    m_pTranslator = new QTranslator();
    m_Language = ENGLISH;
    connect(this, SIGNAL(pressed()), …
Run Code Online (Sandbox Code Playgroud)

qt translation

8
推荐指数
1
解决办法
3558
查看次数

标签 统计

qt ×1

translation ×1