OpenLexocad  28.0
TranslatorPython.h
Go to the documentation of this file.
1 #pragma once
2 #include <Base/Translator.h>
3 
8 class LX_BASE_EXPORT PTranslator
9 {
10 public:
11  typedef QMap<QString, int> CustomTranslationsTable;
12 
13  static QString get(int id, bool forceEnglish = false);
14  static QString getSpecial(int id, bool forceEnglish = false);
15  static QStringList getInAllLanguages(int id);
16 
17  static void setLanguage(CTranslator::Language lang);
18  static CTranslator::Language getLanguage();
19  static QString getLanguageAsString();
20  static void setLanguageFromString(const QString& lang);
21 
22  static CustomTranslationsTable readCustomTranslationsTable(const QString& filename);
23  static QString translate(const CustomTranslationsTable& table, const QString& source, bool emptyIfNotInTable = false);
24 
25  static void showMessageId(bool onoff);
26  static void showCodeId(bool onoff);
27 
28  static QString getCdwkStringFromLanguage(CTranslator::Language lang);
29  static CTranslator::Language getLanguageFromCdwkString(const QString& lang);
30 
31 private:
32  static class QTranslator _qtinstance;
33  static void setQTranslatorLanguage(CTranslator::Language lang);
34  static PTranslator& Instance();
35 
37  CTranslator::Language _lang;
38 
40  std::map<int, QString> _de;
42  std::map<int, QString> _en;
44  std::map<int, QString> _fr;
46  std::map<int, QString> _sp;
48  std::map<int, QString> _po;
50  std::map<int, QString> _ro;
52  std::map<int, QString> _hu;
54  std::map<int, QString> _ru;
56  std::map<int, QString> _pl;
58  std::map<int, QString> _it;
60  std::map<int, QString> _cz;
62  std::map<int, QString> _uk;
63 
64  // Note: when adding new language, don't forget to modify getInAllLanguages(). -mh-
65 
66  struct Flags
67  {
68  bool html;
69  QString code;
70  };
71 
73  std::map<int, Flags> _flags;
74 
75  bool _showMessageId = false;
76  bool _showCodeId = false;
77 
78  // internal private methods
79  PTranslator();
80 
81  void init();
82 
83  bool loadFile(CTranslator::Language lang);
84 
85  QString _getPathToTranslation(wchar_t* dllName) const;
86 };
PTranslator::getLanguage
static CTranslator::Language getLanguage()
PTranslator::setLanguage
static void setLanguage(CTranslator::Language lang)
PTranslator::showMessageId
static void showMessageId(bool onoff)
PTranslator::showCodeId
static void showCodeId(bool onoff)
PTranslator::getCdwkStringFromLanguage
static QString getCdwkStringFromLanguage(CTranslator::Language lang)
Translator.h
PTranslator::getSpecial
static QString getSpecial(int id, bool forceEnglish=false)
PTranslator::getLanguageFromCdwkString
static CTranslator::Language getLanguageFromCdwkString(const QString &lang)
PTranslator::CustomTranslationsTable
QMap< QString, int > CustomTranslationsTable
Definition: TranslatorPython.h:11
PTranslator::getLanguageAsString
static QString getLanguageAsString()
PTranslator::setLanguageFromString
static void setLanguageFromString(const QString &lang)
PTranslator::readCustomTranslationsTable
static CustomTranslationsTable readCustomTranslationsTable(const QString &filename)
PTranslator::translate
static QString translate(const CustomTranslationsTable &table, const QString &source, bool emptyIfNotInTable=false)
PTranslator::getInAllLanguages
static QStringList getInAllLanguages(int id)
PTranslator::get
static QString get(int id, bool forceEnglish=false)
PTranslator
Definition: TranslatorPython.h:9