首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何用Ubuntu转换ListElement属性

如何用Ubuntu转换ListElement属性
EN

Ask Ubuntu用户
提问于 2014-05-21 08:17:09
回答 1查看 871关注 0票数 3

我有我的第一个Ubuntu应用程序运行,我愿意翻译它。每当我在qml文件中使用UI字符串时,我都会小心地使用i18n.tr(“我的文本”)。

所以现在我需要生成大麻,po,和mo文件。我找到了这个问题和一个相关的答案,即使我不确定这是最新的(例如,由zeokila拍摄的屏幕截图不符合我在QtCreator版本中看到的.?)。

也许有一个全面的方法存在?

因此,我的问题特别是:

在生成pot文件时,xgettext如何考虑ListElement属性中的字符串?

我不能在这里使用i18n.tr,因为这会导致"ListElement:无法使用脚本进行属性值“错误。

使用普通的Qt qsTr()和lupdate,您可以使用QT_TR_NOOP()使这些字符串对lupdate可见。

如何用xgettext做这件事?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2014-06-03 08:27:50

对于"ListElement:无法将脚本用于属性值“错误,我知道的唯一解决办法是依赖dynamicRoles属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import QtQuick 2.0
import Ubuntu.Components 0.1


Rectangle {
    width: 200 // this is a property
    height: 200

    Item{
        ListModel {
            id: myListModel;
            dynamicRoles: true
        }
        Component.onCompleted: {
            myListModel.append({ "name": i18n.tr("Hello") } )
            foo.text = myListModel.get(0).name;
        }
    }

    Item {
        Text {
            id: foo
            }
    }

     Button {
         anchors.centerIn: parent
         text: i18n.tr("Press me")
     }

}

通过这样创建ListElement,您可以正确地调用i18n.tr()xgettext,将其添加到pot文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-03 18:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: foo.qml:15
msgid "Hello"
msgstr ""

#: foo.qml:28
msgid "Press me"
msgstr ""
票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/470187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文