diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index ed680cb74f47eda1d77b300407012414919aa28f..8d4e00ff8bb2ada6ecfa5e057f08c923caf34228 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -34,7 +34,6 @@ #include "parser/qmljsast_p.h" #include <QtCore/QDebug> -#include <QtCore/QCoreApplication> #include <QtGui/QColor> #include <QtGui/QApplication> @@ -71,19 +70,19 @@ public: const QString valueName = stringLiteral->value->asString(); if (!enumValue->keys().contains(valueName)) { - _message.message = QCoreApplication::translate("QmlJS::Check", "unknown value for enum"); + _message.message = Check::tr("unknown value for enum"); } } else if (_rhsValue->asUndefinedValue()) { _message.kind = DiagnosticMessage::Warning; - _message.message = QCoreApplication::translate("QmlJS::Check", "value might be 'undefined'"); + _message.message = Check::tr("value might be 'undefined'"); } else if (! _rhsValue->asStringValue() && ! _rhsValue->asNumberValue()) { - _message.message = QCoreApplication::translate("QmlJS::Check", "enum value is not a string or number"); + _message.message = Check::tr("enum value is not a string or number"); } } else { if (/*cast<StringLiteral *>(_ast) ||*/ _ast->kind == Node::Kind_TrueLiteral || _ast->kind == Node::Kind_FalseLiteral) { - _message.message = QCoreApplication::translate("QmlJS::Check", "numerical value expected"); + _message.message = Check::tr("numerical value expected"); } } } @@ -95,7 +94,7 @@ public: if (cast<StringLiteral *>(_ast) || cast<NumericLiteral *>(_ast) || (unaryMinus && cast<NumericLiteral *>(unaryMinus->expression))) { - _message.message = QCoreApplication::translate("QmlJS::Check", "boolean value expected"); + _message.message = Check::tr("boolean value expected"); } } @@ -107,7 +106,7 @@ public: || (unaryMinus && cast<NumericLiteral *>(unaryMinus->expression)) || _ast->kind == Node::Kind_TrueLiteral || _ast->kind == Node::Kind_FalseLiteral) { - _message.message = QCoreApplication::translate("QmlJS::Check", "string value expected"); + _message.message = Check::tr("string value expected"); } } @@ -132,7 +131,7 @@ public: ok = QColor::isValidColor(colorString); } if (!ok) - _message.message = QCoreApplication::translate("QmlJS::Check", "not a valid color"); + _message.message = Check::tr("not a valid color"); } else { visit((StringValue *)0); } @@ -141,7 +140,7 @@ public: virtual void visit(const AnchorLineValue *) { if (! (_rhsValue->asAnchorLineValue() || _rhsValue->asUndefinedValue())) - _message.message = QCoreApplication::translate("QmlJS::Check", "expected anchor line"); + _message.message = Check::tr("expected anchor line"); } DiagnosticMessage _message; @@ -209,7 +208,7 @@ void Check::visitQmlObject(Node *ast, UiQualifiedId *typeId, if (! _context.lookupType(_doc.data(), typeId)) { if (! _ignoreTypeErrors) error(typeId->identifierToken, - QCoreApplication::translate("QmlJS::Check", "unknown type")); + Check::tr("unknown type")); // suppress subsequent errors about scope object lookup by clearing // the scope object list // ### todo: better way? @@ -234,7 +233,7 @@ bool Check::visit(UiScriptBinding *ast) ExpressionStatement *expStmt = cast<ExpressionStatement *>(ast->statement); if (!expStmt) { - error(loc, QCoreApplication::translate("QmlJS::Check", "expected id")); + error(loc, Check::tr("expected id")); return false; } @@ -243,14 +242,14 @@ bool Check::visit(UiScriptBinding *ast) id = idExp->name->asString(); } else if (StringLiteral *strExp = cast<StringLiteral *>(expStmt->expression)) { id = strExp->value->asString(); - warning(loc, QCoreApplication::translate("QmlJS::Check", "using string literals for ids is discouraged")); + warning(loc, Check::tr("using string literals for ids is discouraged")); } else { - error(loc, QCoreApplication::translate("QmlJS::Check", "expected id")); + error(loc, Check::tr("expected id")); return false; } if (id.isEmpty() || ! id[0].isLower()) { - error(loc, QCoreApplication::translate("QmlJS::Check", "ids must be lower case")); + error(loc, Check::tr("ids must be lower case")); return false; } } @@ -323,7 +322,7 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id) } if (!value) { error(id->identifierToken, - QCoreApplication::translate("QmlJS::Check", "'%1' is not a valid property name").arg(propertyName)); + Check::tr("'%1' is not a valid property name").arg(propertyName)); } // can't look up members for attached properties @@ -336,7 +335,7 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id) const ObjectValue *objectValue = value_cast<const ObjectValue *>(value); if (! objectValue) { error(idPart->identifierToken, - QCoreApplication::translate("QmlJS::Check", "'%1' does not have members").arg(propertyName)); + Check::tr("'%1' does not have members").arg(propertyName)); return 0; } @@ -352,7 +351,7 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id) value = objectValue->lookupMember(propertyName, &_context); if (! value) { error(idPart->identifierToken, - QCoreApplication::translate("QmlJS::Check", "'%1' is not a member of '%2'").arg( + Check::tr("'%1' is not a member of '%2'").arg( propertyName, objectValue->className())); return 0; } diff --git a/src/libs/qmljs/qmljscheck.h b/src/libs/qmljs/qmljscheck.h index 8d37b1c7064f830642d85941f33dff507808d7fc..f2580cd45cd2fe8856b65ef943ae4689795a7a52 100644 --- a/src/libs/qmljs/qmljscheck.h +++ b/src/libs/qmljs/qmljscheck.h @@ -36,6 +36,8 @@ #include <qmljs/qmljsscopebuilder.h> #include <qmljs/parser/qmljsastvisitor_p.h> +#include <QtCore/QCoreApplication> + namespace QmlJS { class QMLJS_EXPORT Check: protected AST::Visitor @@ -46,6 +48,8 @@ public: QList<DiagnosticMessage> operator()(); + Q_DECLARE_TR_FUNCTIONS(QmlJS::Check) + protected: virtual bool visit(AST::UiProgram *ast); virtual bool visit(AST::UiObjectDefinition *ast); diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 15867e60b960980c75a7d7b365a0344217fe5caf..c345aad7fd20c274a747d83ece459e41b135ff7a 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -331,6 +331,8 @@ public: : _xml(dev) {} + Q_DECLARE_TR_FUNCTIONS(QmlJS::Interpreter::QmlXmlReader) + bool operator()(QMap<QString, FakeMetaObject *> *objects) { Q_ASSERT(objects); _objects = objects; @@ -339,7 +341,7 @@ public: if (_xml.name() == "module") readModule(); else - _xml.raiseError(QCoreApplication::translate("QmlJS::Interpreter::QmlXmlReader", "The file is not module file.")); + _xml.raiseError(tr("The file is not module file.")); } return !_xml.error(); @@ -351,7 +353,7 @@ public: private: void unexpectedElement(const QStringRef &child, const QString &parent) { - _xml.raiseError(QCoreApplication::translate("QmlJS::Interpreter::QmlXmlReader", "Unexpected element <%1> in <%2>").arg(child.toString(), parent)); + _xml.raiseError(tr("Unexpected element <%1> in <%2>").arg(child.toString(), parent)); } void ignoreAttr(const QXmlStreamAttribute &attr) { @@ -360,11 +362,11 @@ private: } void invalidAttr(const QString &value, const QString &attrName, const QString &tag) { - _xml.raiseError(QCoreApplication::translate("QmlJS::Interpreter::QmlXmlReader", "invalid value '%1' for attribute %2 in <%3>").arg(value, attrName, tag)); + _xml.raiseError(tr("invalid value '%1' for attribute %2 in <%3>").arg(value, attrName, tag)); } void noValidAttr(const QString &attrName, const QString &tag) { - _xml.raiseError(QCoreApplication::translate("QmlJS::Interpreter::QmlXmlReader", "<%1> has no valid %2 attribute").arg(tag, attrName)); + _xml.raiseError(tr("<%1> has no valid %2 attribute").arg(tag, attrName)); } void readModule() @@ -1920,8 +1922,8 @@ QStringList MetaTypeSystem::load(const QFileInfoList &xmlFiles) } file.close(); } else { - errorMsgs.append(QCoreApplication::translate("QmlJS::Interpreter::QmlXmlReader", "%1: %2").arg(xmlFile.absoluteFilePath(), - file.errorString())); + errorMsgs.append(QmlXmlReader::tr("%1: %2").arg(xmlFile.absoluteFilePath(), + file.errorString())); } } diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index fbbe4071e70af02f96b8987d8a03f3b49cda0711..ccc446c8e9870ef86141643fd002ae43b5fded99 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -8,7 +8,6 @@ #include <QtCore/QFileInfo> #include <QtCore/QDir> #include <QtCore/QDebug> -#include <QtCore/QCoreApplication> using namespace QmlJS; using namespace QmlJS::Interpreter; @@ -211,7 +210,7 @@ void Link::importFile(Interpreter::ObjectValue *typeEnv, Document::Ptr doc, importNamespace->setProperty(targetName, importedDoc->bind()->rootObjectValue()); } else { error(doc, import->fileNameToken, - QCoreApplication::translate("QmlJS::Link", "could not find file or directory")); + tr("could not find file or directory")); } } @@ -253,7 +252,7 @@ void Link::importNonFile(Interpreter::ObjectValue *typeEnv, Document::Ptr doc, A const int dotIdx = versionString.indexOf(QLatin1Char('.')); if (dotIdx == -1) { error(doc, import->versionToken, - QCoreApplication::translate("QmlJS::Link", "expected two numbers separated by a dot")); + tr("expected two numbers separated by a dot")); return; } else { majorVersion = versionString.left(dotIdx).toInt(); @@ -261,7 +260,7 @@ void Link::importNonFile(Interpreter::ObjectValue *typeEnv, Document::Ptr doc, A } } else { error(doc, locationFromRange(import->firstSourceLocation(), import->lastSourceLocation()), - QCoreApplication::translate("QmlJS::Link", "package import requires a version number")); + tr("package import requires a version number")); return; } @@ -307,7 +306,7 @@ void Link::importNonFile(Interpreter::ObjectValue *typeEnv, Document::Ptr doc, A } error(doc, locationFromRange(import->firstSourceLocation(), import->lastSourceLocation()), - QCoreApplication::translate("QmlJS::Link", "package not found")); + tr("package not found")); } UiQualifiedId *Link::qualifiedTypeNameId(Node *node) diff --git a/src/libs/qmljs/qmljslink.h b/src/libs/qmljs/qmljslink.h index f97f9dfb31a7223179d9e53a8d45decfd6991136..fb5ed9346f97faa4b83bef77cde5131ae246bd50 100644 --- a/src/libs/qmljs/qmljslink.h +++ b/src/libs/qmljs/qmljslink.h @@ -8,6 +8,7 @@ #include <QtCore/QList> #include <QtCore/QHash> #include <QtCore/QStringList> +#include <QtCore/QCoreApplication> namespace QmlJS { @@ -26,6 +27,8 @@ public: QList<DiagnosticMessage> diagnosticMessages() const; + Q_DECLARE_TR_FUNCTIONS(QmlJS::Link) + private: Interpreter::Engine *engine();