Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
xliff.cpp File Reference

(e96c9e98bc4004063fa93dcf9ccce4997ddb1fdd)

#include "translator.h"
#include "xmlparser.h"
#include <QtCore/QDebug>
#include <QtCore/QMap>
#include <QtCore/QRegularExpression>
#include <QtCore/QStack>
#include <QtCore/QString>
#include <QtCore/QTextStream>
+ Include dependency graph for xliff.cpp:

Go to the source code of this file.

Classes

struct  CharMnemonic
 
class  XLIFFHandler
 

Macros

#define MAGIC_OBSOLETE_REFERENCE   "Obsolete_PO_entries"
 
#define COMBINE4CHARS(c1, c2, c3, c4)
 

Functions

static QString dataType (const TranslatorMessage &m)
 
static void writeIndent (QTextStream &ts, int indent)
 
static char charFromEscape (char escape)
 
static QString xlNumericEntity (int ch, bool makePhs)
 
static QString xlProtect (const QString &str, bool makePhs=true)
 
static void writeExtras (QTextStream &ts, int indent, const TranslatorMessage::ExtraData &extras, QRegularExpression drops)
 
static void writeLineNumber (QTextStream &ts, const TranslatorMessage &msg, int indent)
 
static void writeComment (QTextStream &ts, const TranslatorMessage &msg, const QRegularExpression &drops, int indent)
 
static void writeTransUnits (QTextStream &ts, const TranslatorMessage &msg, const QRegularExpression &drops, int indent)
 
static void writeMessage (QTextStream &ts, const TranslatorMessage &msg, const QRegularExpression &drops, int indent)
 
bool loadXLIFF (Translator &translator, QIODevice &dev, ConversionData &cd)
 
bool saveXLIFF (const Translator &translator, QIODevice &dev, ConversionData &cd)
 
int initXLIFF ()
 

Variables

static QT_BEGIN_NAMESPACE const char * restypeContext = "x-trolltech-linguist-context"
 
static const char * restypePlurals = "x-gettext-plurals"
 
static const char * restypeDummy = "x-dummy"
 
static const char * dataTypeUIFile = "x-trolltech-designer-ui"
 
static const char * contextMsgctxt = "x-gettext-msgctxt"
 
static const char * contextOldMsgctxt = "x-gettext-previous-msgctxt"
 
static const char * attribPlural = "trolltech:plural"
 
static const char * XLIFF11namespaceURI = "urn:oasis:names:tc:xliff:document:1.1"
 
static const char * XLIFF12namespaceURI = "urn:oasis:names:tc:xliff:document:1.2"
 
static const char * TrollTsNamespaceURI = "urn:trolltech:names:ts:document:1.0"
 
static const CharMnemonic charCodeMnemonics []
 

Macro Definition Documentation

◆ COMBINE4CHARS

#define COMBINE4CHARS ( c1,
c2,
c3,
c4 )
Value:
(int(c1) << 24 | int(c2) << 16 | int(c3) << 8 | int(c4) )
MyCustomStruct c2

Definition at line 36 of file xliff.cpp.

◆ MAGIC_OBSOLETE_REFERENCE

#define MAGIC_OBSOLETE_REFERENCE   "Obsolete_PO_entries"

Definition at line 17 of file xliff.cpp.

Function Documentation

◆ charFromEscape()

static char charFromEscape ( char escape)
static

Definition at line 93 of file xliff.cpp.

References CharMnemonic::ch, charCodeMnemonics, and CharMnemonic::escape.

◆ dataType()

static QString dataType ( const TranslatorMessage & m)
static

Definition at line 39 of file xliff.cpp.

References dataTypeUIFile.

◆ initXLIFF()

int initXLIFF ( )

Definition at line 816 of file xliff.cpp.

References Translator::FileFormat::loader, loadXLIFF(), Translator::FileFormat::priority, Translator::registerFileFormat(), Translator::FileFormat::saver, saveXLIFF(), Translator::FileFormat::TranslationSource, and Translator::FileFormat::untranslatedDescription.

+ Here is the call graph for this function:

◆ loadXLIFF()

bool loadXLIFF ( Translator & translator,
QIODevice & dev,
ConversionData & cd )

Definition at line 730 of file xliff.cpp.

References XmlParser::parse().

Referenced by initXLIFF().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveXLIFF()

bool saveXLIFF ( const Translator & translator,
QIODevice & dev,
ConversionData & cd )

Definition at line 737 of file xliff.cpp.

References Translator::extras(), TrollTsNamespaceURI, and XLIFF12namespaceURI.

Referenced by initXLIFF().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ writeComment()

static void writeComment ( QTextStream & ts,
const TranslatorMessage & msg,
const QRegularExpression & drops,
int indent )
static

Definition at line 183 of file xliff.cpp.

References TranslatorMessage::extras().

+ Here is the call graph for this function:

◆ writeExtras()

static void writeExtras ( QTextStream & ts,
int indent,
const TranslatorMessage::ExtraData & extras,
QRegularExpression drops )
static

Definition at line 152 of file xliff.cpp.

◆ writeIndent()

static void writeIndent ( QTextStream & ts,
int indent )
static

Definition at line 71 of file xliff.cpp.

◆ writeLineNumber()

static void writeLineNumber ( QTextStream & ts,
const TranslatorMessage & msg,
int indent )
static

Definition at line 165 of file xliff.cpp.

References TranslatorMessage::extraReferences(), and TranslatorMessage::lineNumber().

+ Here is the call graph for this function:

◆ writeMessage()

static void writeMessage ( QTextStream & ts,
const TranslatorMessage & msg,
const QRegularExpression & drops,
int indent )
static

Definition at line 319 of file xliff.cpp.

References TranslatorMessage::isPlural(), TranslatorMessage::Obsolete, restypePlurals, TranslatorMessage::type(), and TranslatorMessage::Vanished.

+ Here is the call graph for this function:

◆ writeTransUnits()

static void writeTransUnits ( QTextStream & ts,
const TranslatorMessage & msg,
const QRegularExpression & drops,
int indent )
static

Definition at line 210 of file xliff.cpp.

References attribPlural, Translator::BinaryVariantSeparator, TranslatorMessage::extras(), TranslatorMessage::Finished, TranslatorMessage::isPlural(), TranslatorMessage::Obsolete, restypeDummy, Translator::TextVariantSeparator, TranslatorMessage::type(), TranslatorMessage::Unfinished, and TranslatorMessage::Vanished.

+ Here is the call graph for this function:

◆ xlNumericEntity()

static QString xlNumericEntity ( int ch,
bool makePhs )
static

Definition at line 104 of file xliff.cpp.

References charCodeMnemonics, and CharMnemonic::escape.

◆ xlProtect()

static QString xlProtect ( const QString & str,
bool makePhs = true )
static

Definition at line 119 of file xliff.cpp.

Variable Documentation

◆ attribPlural

static const char * attribPlural = "trolltech:plural"
static

Definition at line 31 of file xliff.cpp.

Referenced by XLIFFHandler::startElement(), and writeTransUnits().

◆ charCodeMnemonics

static const CharMnemonic charCodeMnemonics
static
Initial value:
= {
{0x07, 'a', "bel"},
{0x08, 'b', "bs"},
{0x09, 't', "tab"},
{0x0a, 'n', "lf"},
{0x0b, 'v', "vt"},
{0x0c, 'f', "ff"},
{0x0d, 'r', "cr"}
}

Definition at line 83 of file xliff.cpp.

Referenced by charFromEscape(), and xlNumericEntity().

◆ contextMsgctxt

static const char * contextMsgctxt = "x-gettext-msgctxt"
static

Definition at line 29 of file xliff.cpp.

Referenced by XLIFFHandler::startElement().

◆ contextOldMsgctxt

static const char * contextOldMsgctxt = "x-gettext-previous-msgctxt"
static

Definition at line 30 of file xliff.cpp.

Referenced by XLIFFHandler::startElement().

◆ dataTypeUIFile

static const char * dataTypeUIFile = "x-trolltech-designer-ui"
static

Definition at line 28 of file xliff.cpp.

Referenced by dataType().

◆ restypeContext

static QT_BEGIN_NAMESPACE const char * restypeContext = "x-trolltech-linguist-context"
static

Implementation of XLIFF file format for Linguist

Definition at line 25 of file xliff.cpp.

Referenced by XLIFFHandler::startElement().

◆ restypeDummy

static const char * restypeDummy = "x-dummy"
static

Definition at line 27 of file xliff.cpp.

Referenced by XLIFFHandler::startElement(), and writeTransUnits().

◆ restypePlurals

static const char * restypePlurals = "x-gettext-plurals"
static

Definition at line 26 of file xliff.cpp.

Referenced by XLIFFHandler::startElement(), and writeMessage().

◆ TrollTsNamespaceURI

static const char * TrollTsNamespaceURI = "urn:trolltech:names:ts:document:1.0"
static

Definition at line 34 of file xliff.cpp.

Referenced by saveXLIFF().

◆ XLIFF11namespaceURI

static const char * XLIFF11namespaceURI = "urn:oasis:names:tc:xliff:document:1.1"
static

Definition at line 32 of file xliff.cpp.

◆ XLIFF12namespaceURI

static const char * XLIFF12namespaceURI = "urn:oasis:names:tc:xliff:document:1.2"
static

Definition at line 33 of file xliff.cpp.

Referenced by saveXLIFF().