QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
qgstranslationcontext.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgstranslationcontext.h
3 
4  ---------------------
5  begin : 23.5.2018
6  copyright : (C) 2018 by David Signer
7  email : david at opengis dot ch
8  ***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 #ifndef QGSTRANSLATIONCONTEXT_H
17 #define QGSTRANSLATIONCONTEXT_H
18 
19 #include "qgis_core.h"
20 #include "qgis_sip.h"
21 #include <QList>
22 #include <QString>
23 
24 
25 class QgsProject;
26 
35 class CORE_EXPORT QgsTranslationContext
36 {
37 
41  struct TranslatableObject
42  {
43  QString context;
44  QString source;
45  };
46 
47  public:
48 
52  QgsTranslationContext() = default;
53 
58  QgsProject *project() const;
59 
65  void setProject( QgsProject *project );
66 
71  QString fileName() const;
72 
78  void setFileName( const QString &fileName );
79 
84  void registerTranslation( const QString &context, const QString &source );
85 
89  void writeTsFile( const QString &locale );
90 
91  private:
92 
93  QgsProject *mProject = nullptr;
94  QString mFileName;
95  QList < TranslatableObject > mTranslatableObjects;
96 
97 };
98 
99 #endif // QGSTRANSLATIONCONTEXT_H
Encapsulates a QGIS project, including sets of map layers and their styles, layouts, annotations, canvases, etc.
Definition: qgsproject.h:89
Used for the collecting of strings from projects for translation and creation of ts files...