added internationalisation and localisation, for now german and english, but frensh and spanish will follow

This commit is contained in:
Hauke Schade 2012-12-13 14:42:34 +01:00
parent 3d3c271ccc
commit d626a242ba
5 changed files with 353 additions and 0 deletions

6
harmattan.qrc Normal file
View file

@ -0,0 +1,6 @@
<RCC>
<qresource prefix="/">
<file>i18n/qml-translation.de.qm</file>
<file>i18n/qml-translation.en.qm</file>
</qresource>
</RCC>

149
i18n/qml-translation.de.ts Normal file
View file

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de_DE">
<context>
<name>About</name>
<message>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
<source>Copyright</source>
<translation>Copyright</translation>
</message>
<message>
<source>TTRss Privacy Policy</source>
<translation>TTRss Privacy Policy</translation>
</message>
</context>
<context>
<name>Categories</name>
<message>
<source>All Categories</source>
<translation>Alle Kategorien</translation>
</message>
<message>
<source>No categories have unread items</source>
<translation>Keine Kategorien mit neuen Einträgen</translation>
</message>
<message>
<source>No categories to display</source>
<translation>Keine Kategorien</translation>
</message>
<message>
<source>Tiny Tiny RSS Reader</source>
<translation>Tiny Tiny RSS Reader</translation>
</message>
<message>
<source>Toggle Unread Only</source>
<translation>Toggle Unread Only</translation>
</message>
<message>
<source>About</source>
<translation>Über</translation>
</message>
</context>
<context>
<name>ErrorDialog</name>
<message>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
<name>FeedItem</name>
<message>
<source>About</source>
<translation>Über</translation>
</message>
<message>
<source>Open in Web Browser</source>
<translation>Im Browser öffnen</translation>
</message>
</context>
<context>
<name>FeedItems</name>
<message>
<source>Toggle Unread Only</source>
<translation>Toggle Unread Only</translation>
</message>
<message>
<source>About</source>
<translation>Über</translation>
</message>
<message>
<source>Unstar</source>
<translation>Bewertung entfernen</translation>
</message>
<message>
<source>Star</source>
<translation>Bewerten</translation>
</message>
<message>
<source>Mark read</source>
<translation>Als gelesen markieren</translation>
</message>
<message>
<source>Mark Unread</source>
<translation>Als ungelesen markieren</translation>
</message>
<message>
<source>Open in Web Browser</source>
<translation>Im Browser öffnen</translation>
</message>
<message>
<source>No items in feed</source>
<translation>Keine Einträge in diesem Feed</translation>
</message>
<message>
<source>No unread items in feed</source>
<translation>Keine ungelesenen Nachrichten</translation>
</message>
</context>
<context>
<name>Feeds</name>
<message>
<source>Unread: </source>
<translation>Ungelesene: </translation>
</message>
<message>
<source>No feeds in category</source>
<translation>Keine Feeds</translation>
</message>
<message>
<source>Category has no unread items</source>
<translation>Keine ungelesenen Einträge</translation>
</message>
<message>
<source>Toggle Unread Only</source>
<translation>Toggle Unread Only</translation>
</message>
<message>
<source>About</source>
<translation>Über</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<source>Server:</source>
<translation>Server:</translation>
</message>
<message>
<source>Username:</source>
<translation>Name:</translation>
</message>
<message>
<source>Password:</source>
<translation>Passwort:</translation>
</message>
<message>
<source>Login</source>
<translation>Einloggen</translation>
</message>
<message>
<source>About</source>
<translation>Über</translation>
</message>
</context>
</TS>

180
i18n/qml-translation.en.ts Normal file
View file

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<context>
<name>About</name>
<message>
<location filename="../qml/ttrss/About.qml" line="105"/>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
<location filename="../qml/ttrss/About.qml" line="106"/>
<source>Copyright</source>
<translation>Copyright</translation>
</message>
<message>
<location filename="../qml/ttrss/About.qml" line="107"/>
<source>TTRss Privacy Policy</source>
<translation>TTRss Privacy Policy</translation>
</message>
</context>
<context>
<name>Categories</name>
<message>
<location filename="../qml/ttrss/Categories.qml" line="141"/>
<source>All Categories</source>
<translation>All Categories</translation>
</message>
<message>
<location filename="../qml/ttrss/Categories.qml" line="150"/>
<source>No categories have unread items</source>
<translation>No categories with unread items</translation>
</message>
<message>
<location filename="../qml/ttrss/Categories.qml" line="150"/>
<source>No categories to display</source>
<translation>No categories</translation>
</message>
<message>
<location filename="../qml/ttrss/Categories.qml" line="177"/>
<source>Tiny Tiny RSS Reader</source>
<translation>Tiny Tiny RSS Reader</translation>
</message>
<message>
<location filename="../qml/ttrss/Categories.qml" line="204"/>
<source>Toggle Unread Only</source>
<translation>Toggle unread only</translation>
</message>
<message>
<location filename="../qml/ttrss/Categories.qml" line="215"/>
<source>About</source>
<translation>About</translation>
</message>
</context>
<context>
<name>ErrorDialog</name>
<message>
<location filename="../qml/ttrss/ErrorDialog.qml" line="44"/>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
<name>FeedItem</name>
<message>
<location filename="../qml/ttrss/FeedItem.qml" line="170"/>
<source>Open in Web Browser</source>
<translation>Open in Web Browser</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItem.qml" line="177"/>
<source>About</source>
<translation>About</translation>
</message>
</context>
<context>
<name>FeedItems</name>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="144"/>
<source>No items in feed</source>
<translation>No items in feed</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="144"/>
<source>No unread items in feed</source>
<translation>No unread items in feed</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="211"/>
<source>Toggle Unread Only</source>
<translation>Toggle unread only</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="222"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="241"/>
<source>Unstar</source>
<translation>Unstar</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="241"/>
<source>Star</source>
<translation>Star</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="247"/>
<source>Mark read</source>
<translation>Mark read</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="247"/>
<source>Mark Unread</source>
<translation>Mark Unread</translation>
</message>
<message>
<location filename="../qml/ttrss/FeedItems.qml" line="253"/>
<source>Open in Web Browser</source>
<translation>Open in Web Browser</translation>
</message>
</context>
<context>
<name>Feeds</name>
<message>
<location filename="../qml/ttrss/Feeds.qml" line="118"/>
<source>Unread: </source>
<translation>Unread: </translation>
</message>
<message>
<location filename="../qml/ttrss/Feeds.qml" line="126"/>
<source>No feeds in category</source>
<translation>No feeds in category</translation>
</message>
<message>
<location filename="../qml/ttrss/Feeds.qml" line="126"/>
<source>Category has no unread items</source>
<translation>Category has no feeds with unread items</translation>
</message>
<message>
<location filename="../qml/ttrss/Feeds.qml" line="199"/>
<source>Toggle Unread Only</source>
<translation>Toggle unread only</translation>
</message>
<message>
<location filename="../qml/ttrss/Feeds.qml" line="211"/>
<source>About</source>
<translation>About</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/ttrss/MainPage.qml" line="103"/>
<source>Server:</source>
<translation>Server:</translation>
</message>
<message>
<location filename="../qml/ttrss/MainPage.qml" line="113"/>
<source>Username:</source>
<translation>Username:</translation>
</message>
<message>
<location filename="../qml/ttrss/MainPage.qml" line="123"/>
<source>Password:</source>
<translation>Password:</translation>
</message>
<message>
<location filename="../qml/ttrss/MainPage.qml" line="148"/>
<source>Login</source>
<translation>Login</translation>
</message>
<message>
<location filename="../qml/ttrss/MainPage.qml" line="174"/>
<source>About</source>
<translation>About</translation>
</message>
</context>
</TS>

View file

@ -1,3 +1,5 @@
#include <QTranslator>
#include <QLocale>
#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
@ -5,6 +7,19 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QString locale = QLocale::system().name();
QTranslator translator;
/* the ":/" is a special directory Qt uses to
* distinguish resources;
* NB this will look for a filename matching locale + ".qm";
* if that's not found, it will truncate the locale to
* the first two characters (e.g. "en_GB" to "en") and look
* for that + ".qm"; if not found, it will look for a
* qml-translations.qm file; if not found, no translation is done
*/
if (translator.load("qml-translation." + locale, ":/i18n"))
app->installTranslator(&translator);
QmlApplicationViewer viewer;
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer.setMainQmlFile(QLatin1String("qml/ttrss/main.qml"));

View file

@ -35,3 +35,6 @@ SOURCES += main.cpp
# Please do not modify the following two lines. Required for deployment.
include(qmlapplicationviewer/qmlapplicationviewer.pri)
qtcAddDeployment()
RESOURCES += \
harmattan.qrc