summaryrefslogtreecommitdiffstats
path: root/scribus/langmgr.h
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/langmgr.h
downloadscribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/langmgr.h')
-rw-r--r--scribus/langmgr.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/scribus/langmgr.h b/scribus/langmgr.h
new file mode 100644
index 0000000..a1335c8
--- /dev/null
+++ b/scribus/langmgr.h
@@ -0,0 +1,69 @@
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+/***************************************************************************
+ begin : Jan 2005
+ copyright : (C) 2005 by Craig Bradney
+ email : cbradney@zip.com.au
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef LANGMANAGER_H
+#define LANGMANAGER_H
+
+#include <QMap>
+#include <utility>
+
+#include <QString>
+#include <QStringList>
+#include "scribusapi.h"
+
+typedef std::pair<QString, QString> langPair;
+
+
+
+class SCRIBUS_API LanguageManager
+{
+ static LanguageManager* m_instance;
+ LanguageManager() {};
+ ~LanguageManager();
+ void init(bool generateInstalledList = true);
+
+public:
+ static LanguageManager* instance();
+
+ const QString getLangFromAbbrev(QString, bool getTranslated=true);
+ const QString getAbbrevFromLang(QString, bool getFromTranslated=true, bool useInstalled=true);
+ const QString getLangFromTransLang(QString lang);
+ const QString getTransLangFromLang(QString lang);
+ void fillInstalledStringList(QStringList *stringListToFill, bool addDefaults);
+ void printInstalledList();
+ QString numericSequence(QString seq);
+
+ void addHyphLang(const QString& lang, const QString& filename);
+ const QString getHyphFilename(const QString& lang, bool langIsAbbreviated = true);
+ const QStringList hyphLangs();
+
+private:
+ QMap<QString, langPair > langList;
+ QMap<QString, QString> installedLangList;
+ QMap<QString, QString> hyphLangList; // <lang abbreviated, dict filename>
+
+ void generateLangList();
+ void generateInstalledLangList();
+
+};
+
+#endif
+