• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

lokalize

  • sources
  • kde-4.14
  • kdesdk
  • lokalize
  • src
  • catalog
  • xliff
xliffstorage.h
Go to the documentation of this file.
1 /*
2 Copyright 2008-2009 Nick Shaforostoff <shaforostoff@kde.ru>
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License as
6 published by the Free Software Foundation; either version 2 of
7 the License or (at your option) version 3 or any later version
8 accepted by the membership of KDE e.V. (or its successor approved
9 by the membership of KDE e.V.), which shall act as a proxy
10 defined in Section 14 of version 3 of the license.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 
22 #ifndef XLIFFSTORAGE_H
23 #define XLIFFSTORAGE_H
24 
25 #include "catalogstorage.h"
26 #include <QDomNodeList>
27 #include <QDomDocument>
28 #include <QVector>
29 #include <QMap>
30 // class QDomDocument;
31 
32 class XliffStorage: public CatalogStorage
33 {
34 public:
35  XliffStorage();
36  ~XliffStorage();
37 
38  int capabilities() const;
39 
40  int load(QIODevice* device);
41  bool save(QIODevice* device, bool belongsToProject=false);
42 
43  int size() const;
44  bool isEmpty() const;
45 
46  //flat-model interface (ignores XLIFF grouping)
47  QString source(const DocPosition& pos) const;
48  QString target(const DocPosition& pos) const;
49  CatalogString targetWithTags(DocPosition pos) const;
50  CatalogString sourceWithTags(DocPosition pos) const;
51  CatalogString catalogString(const DocPosition& pos) const;
52 
54  QStringList sourceAllForms(const DocPosition& pos, bool stripNewLines=false) const{Q_UNUSED(pos); return QStringList();}
55  QStringList targetAllForms(const DocPosition& pos, bool stripNewLines=false) const{Q_UNUSED(pos); return QStringList();}
56 
57  void targetDelete(const DocPosition& pos, int count);
58  void targetInsert(const DocPosition& pos, const QString& arg);
59  void setTarget(const DocPosition& pos, const QString& arg);//called for mergeCatalog
60  void targetInsertTag(const DocPosition&, const InlineTag&);
61  InlineTag targetDeleteTag(const DocPosition&);
62  Phase updatePhase(const Phase& phase);
63  QList<Phase> allPhases() const;
64  Phase phase(const QString& name) const;
65  QMap<QString,Tool> allTools() const;
66  QVector<Note> phaseNotes(const QString& phase) const;
67  QVector<Note> setPhaseNotes(const QString& phase, QVector<Note> notes);
68 
69  QStringList sourceFiles(const DocPosition& pos) const;
70  QVector<AltTrans> altTrans(const DocPosition& pos) const;
71 
73  Note setNote(DocPosition pos, const Note& note);
74  QVector<Note> notes(const DocPosition& pos) const;
75  QStringList noteAuthors() const;
76  QVector<Note> developerNotes(const DocPosition& pos) const;
77 
78  QString setPhase(const DocPosition& pos, const QString& phase);
79  QString phase(const DocPosition& pos) const;
80 
81  QStringList context(const DocPosition& pos) const;
82 
83  QStringList matchData(const DocPosition& pos) const;
84  QString id(const DocPosition& pos) const;
85 
86  bool isPlural(const DocPosition& pos) const;
87  bool isEmpty(const DocPosition& pos) const;
88 
89  bool isEquivTrans(const DocPosition& pos) const;
90  void setEquivTrans(const DocPosition& pos, bool equivTrans);
91 
92  TargetState state(const DocPosition& pos) const;
93  TargetState setState(const DocPosition& pos, TargetState state);
94 
95 
96  int binUnitsCount() const;
97  int unitById(const QString& id) const;
98 
99  QString mimetype()const{return "application/x-xliff";}
100 
101 private:
102  QDomElement unitForPos(int pos) const;
103  QDomElement targetForPos(int pos) const;
104  QDomElement sourceForPos(int pos) const;
105  CatalogString catalogString(QDomElement unit, DocPosition::Part part) const;
106 
107 private:
108  mutable QDomDocument m_doc;
109  QVector<int> m_map;//need mapping to treat plurals as 1 entry
110  QSet<int> m_plurals;
111 
112  QDomNodeList entries;
113  QDomNodeList binEntries;
114  QMap<QString,int> m_unitsById;
115 
116 };
117 
118 #endif
XliffStorage::catalogString
CatalogString catalogString(const DocPosition &pos) const
Definition: xliffstorage.cpp:495
QIODevice
XliffStorage
Definition: xliffstorage.h:32
XliffStorage::sourceAllForms
QStringList sourceAllForms(const DocPosition &pos, bool stripNewLines=false) const
all plural forms. pos.form doesn't matter TODO
Definition: xliffstorage.h:54
XliffStorage::XliffStorage
XliffStorage()
Definition: xliffstorage.cpp:47
XliffStorage::mimetype
QString mimetype() const
Definition: xliffstorage.h:99
DocPosition::Part
Part
Definition: pos.h:40
QDomNodeList
QMap< QString, Tool >
catalogstorage.h
Note
Definition: note.h:29
XliffStorage::phaseNotes
QVector< Note > phaseNotes(const QString &phase) const
Definition: xliffstorage.cpp:877
XliffStorage::targetDeleteTag
InlineTag targetDeleteTag(const DocPosition &)
Definition: xliffstorage.cpp:579
XliffStorage::~XliffStorage
~XliffStorage()
Definition: xliffstorage.cpp:52
XliffStorage::matchData
QStringList matchData(const DocPosition &pos) const
user-invisible data for matching, e.g.
Definition: xliffstorage.cpp:928
XliffStorage::setPhase
QString setPhase(const DocPosition &pos, const QString &phase)
Definition: xliffstorage.cpp:901
XliffStorage::isEmpty
bool isEmpty() const
XliffStorage::targetInsertTag
void targetInsertTag(const DocPosition &, const InlineTag &)
Definition: xliffstorage.cpp:572
XliffStorage::updatePhase
Phase updatePhase(const Phase &phase)
Definition: xliffstorage.cpp:666
DocPosition
This struct represents a position in a catalog.
Definition: pos.h:38
XliffStorage::state
TargetState state(const DocPosition &pos) const
Definition: xliffstorage.cpp:978
XliffStorage::capabilities
int capabilities() const
Definition: xliffstorage.cpp:56
XliffStorage::allTools
QMap< QString, Tool > allTools() const
Definition: xliffstorage.cpp:711
XliffStorage::targetInsert
void targetInsert(const DocPosition &pos, const QString &arg)
Definition: xliffstorage.cpp:537
XliffStorage::context
QStringList context(const DocPosition &pos) const
Definition: xliffstorage.cpp:921
XliffStorage::setTarget
void setTarget(const DocPosition &pos, const QString &arg)
Definition: xliffstorage.cpp:587
XliffStorage::isPlural
bool isPlural(const DocPosition &pos) const
Definition: xliffstorage.cpp:939
QSet< int >
XliffStorage::setEquivTrans
void setEquivTrans(const DocPosition &pos, bool equivTrans)
Definition: xliffstorage.cpp:997
QString
QList< Phase >
Phase
Definition: phase.h:34
XliffStorage::targetAllForms
QStringList targetAllForms(const DocPosition &pos, bool stripNewLines=false) const
Definition: xliffstorage.h:55
CatalogStorage
Abstract interface for storage of translation file.
Definition: catalogstorage.h:45
QStringList
XliffStorage::allPhases
QList< Phase > allPhases() const
Definition: xliffstorage.cpp:688
XliffStorage::noteAuthors
QStringList noteAuthors() const
Definition: xliffstorage.cpp:843
XliffStorage::sourceFiles
QStringList sourceFiles(const DocPosition &pos) const
Definition: xliffstorage.cpp:731
XliffStorage::phase
Phase phase(const QString &name) const
Definition: xliffstorage.cpp:703
XliffStorage::source
QString source(const DocPosition &pos) const
flat-model interface (ignores XLIFF grouping)
Definition: xliffstorage.cpp:513
QDomDocument
XliffStorage::targetDelete
void targetDelete(const DocPosition &pos, int count)
edit operations used by undo/redo system and sync-mode
Definition: xliffstorage.cpp:523
XliffStorage::altTrans
QVector< AltTrans > altTrans(const DocPosition &pos) const
Definition: xliffstorage.cpp:595
CatalogString
data structure used to pass info about inline elements a XLIFF tag is represented by a TAGRANGE_IMAGE...
Definition: catalogstring.h:128
QVector
XliffStorage::sourceWithTags
CatalogString sourceWithTags(DocPosition pos) const
Definition: xliffstorage.cpp:504
XliffStorage::size
int size() const
Definition: xliffstorage.cpp:176
XliffStorage::load
int load(QIODevice *device)
Definition: xliffstorage.cpp:63
XliffStorage::save
bool save(QIODevice *device, bool belongsToProject=false)
Definition: xliffstorage.cpp:166
XliffStorage::notes
QVector< Note > notes(const DocPosition &pos) const
Definition: xliffstorage.cpp:777
XliffStorage::targetWithTags
CatalogString targetWithTags(DocPosition pos) const
Definition: xliffstorage.cpp:500
XliffStorage::id
QString id(const DocPosition &pos) const
entry id unique for this file
Definition: xliffstorage.cpp:934
XliffStorage::setState
TargetState setState(const DocPosition &pos, TargetState state)
Definition: xliffstorage.cpp:969
XliffStorage::setNote
Note setNote(DocPosition pos, const Note &note)
pos.form is note number
Definition: xliffstorage.cpp:800
XliffStorage::unitById
int unitById(const QString &id) const
Definition: xliffstorage.cpp:1025
XliffStorage::isEquivTrans
bool isEquivTrans(const DocPosition &pos) const
Definition: xliffstorage.cpp:992
XliffStorage::developerNotes
QVector< Note > developerNotes(const DocPosition &pos) const
Definition: xliffstorage.cpp:793
TargetState
TargetState
Definition: state.h:30
XliffStorage::setPhaseNotes
QVector< Note > setPhaseNotes(const QString &phase, QVector< Note > notes)
Definition: xliffstorage.cpp:882
XliffStorage::target
QString target(const DocPosition &pos) const
Definition: xliffstorage.cpp:517
QDomElement
XliffStorage::binUnitsCount
int binUnitsCount() const
Definition: xliffstorage.cpp:1020
InlineTag
data structure used to pass info about inline elements a XLIFF tag is represented by a TAGRANGE_IMAGE...
Definition: catalogstring.h:44
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:40:07 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

lokalize

Skip menu "lokalize"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal