Work on localization.

This commit is contained in:
Martin Rotter 2013-07-21 16:06:39 +02:00
parent 6055c95b28
commit 815d15728d
6 changed files with 803 additions and 49 deletions

View File

@ -359,6 +359,6 @@ add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
# make lupdate and make lrelease implementation.
add_custom_target(lupdate
${Qt5Core_QMAKE_EXECUTABLE} -project -o ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
COMMAND ${Qt5_LUPDATE_EXECUTABLE} -ts ${APP_TRANSLATIONS_WO_QT} -no-obsolete -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
COMMAND ${Qt5_LUPDATE_EXECUTABLE} -ts ${APP_TRANSLATIONS_WO_QT} -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)

View File

@ -1,6 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="cs_CZ">
<context>
<name>BaseWebView</name>
<message>
<source>Reload web page</source>
<translation>Obnovit stránku</translation>
</message>
<message>
<source>Reload current web page</source>
<translation>Znovu načíst aktuální stránku</translation>
</message>
<message>
<source>Copy link url</source>
<translation>Kopírovat adresu odkazu</translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation>Kopírovat adresu odkazu to schránky</translation>
</message>
<message>
<source>Copy image</source>
<translation>Kopírovat obrázek</translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation>Kopírovat obrázek do schránky</translation>
</message>
<message>
<source>Copy image url</source>
<translation>Kopírovat adresu obrázku</translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation>Kopírovat adresu obrázku do schránky</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
<message>
<source>Image</source>
<translation>Obrázek</translation>
</message>
</context>
<context>
<name>FormAbout</name>
<message>
<source>About RSS Guard</source>
<translation>O programu RSS Guard</translation>
</message>
<message>
<source>Information</source>
<translation>Informace</translation>
</message>
<message>
<source>Licenses</source>
<translation>Licence</translation>
</message>
<message>
<source>GNU GPL License (applies to RSS Guard source code)</source>
<translation>GNU GPL Licence (pro kód programu RSS Guard)</translation>
</message>
<message>
<source>GNU GPL License</source>
<translation>GNU GPL Licence</translation>
</message>
<message>
<source>BSD License (applies to QtSingleApplication source code)</source>
<translation>BSD Licence (pro komponentu QtSingleApplication)</translation>
</message>
<message>
<source>Licenses page is available only in English language.</source>
<translation>Stránka Licence je dostupná pouze v anglickém jazyce.</translation>
</message>
<message>
<source>Thanks to</source>
<translation>Poděkování</translation>
</message>
<message>
<source>Changelog</source>
<translation>Historie verzí</translation>
</message>
<message>
<source>Changelog page is available only in English language.</source>
<translation>Historie verzí je dostupná pouze v anglickém jazyce.</translation>
</message>
<message>
<source>License not found.</source>
<translation>Licence nenalezena.</translation>
</message>
<message>
<source>Changelog not found.</source>
<translation>Historie změn nenalezena.</translation>
</message>
<message>
<source>&lt;b&gt;%8&lt;/b&gt;&lt;br&gt;&lt;b&gt;Version:&lt;/b&gt; %1 (build on %2 with CMake %3)&lt;br&gt;&lt;b&gt;Revision:&lt;/b&gt; %4&lt;br&gt;&lt;b&gt;Build date:&lt;/b&gt; %5&lt;br&gt;&lt;b&gt;Qt:&lt;/b&gt; %6 (compiled against %7)&lt;br&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;body&gt;Authors and contributors:&lt;ul&gt;&lt;li&gt;Martin Rotter (&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail.com&lt;/a&gt;) (author of RSS Guard)&lt;/li&gt;&lt;li&gt;snakebite &amp; tiheum (authors of KFaenza/Faenza icon theme)&lt;/li&gt;&lt;li&gt;Digia Plc (author of QtSingleApplication component)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;body&gt;RSS Guard is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3 or later.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for Qonverter from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormMain</name>
<message>
@ -13,43 +119,75 @@
</message>
<message>
<source>&amp;File</source>
<translation type="unfinished"></translation>
<translation>&amp;Soubor</translation>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
<translation>&amp;Pomoc</translation>
</message>
<message>
<source>&amp;View</source>
<translation type="unfinished"></translation>
<translation>&amp;Zobrazit</translation>
</message>
<message>
<source>&amp;Tools</source>
<translation type="unfinished"></translation>
<translation>&amp;Nástroje</translation>
</message>
<message>
<source>&amp;Import</source>
<translation type="unfinished"></translation>
<translation>&amp;Importovat</translation>
</message>
<message>
<source>E&amp;xport</source>
<translation type="unfinished"></translation>
<translation>E&amp;xportovat</translation>
</message>
<message>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
<translation>&amp;Ukončit</translation>
</message>
<message>
<source>&amp;Settings</source>
<translation>Na&amp;stavení</translation>
</message>
<message>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tab 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+I</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+E</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;About RSS Guard</source>
<translation>&amp;O aplikaci RSS Guard</translation>
</message>
<message>
<source>&amp;Fullscreen mode</source>
<translation>&amp;Režime celé obrazovky</translation>
</message>
<message>
<source>Ctrl+Shift+F</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>General</source>
<translation type="unfinished"></translation>
@ -66,6 +204,201 @@
<source>system icon theme (default)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Keyboard shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Launch RSS Guard on operating system startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Icons &amp;&amp; skins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Skin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tray icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>disable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>enable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When main window is closed, then</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>hide it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>quit the application.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start application hidden</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Color of website loading progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Change...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hostname or IP of your proxy server</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your username for proxy server authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your password for proxy server authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password is stored in plain string in RSS Guard configuration file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Socks5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Http</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language of Qonverter was changed. Note that changes will take effect on next Qonverter start.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you want to restart now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Problem with RSS Guard restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Qonverter couldn&apos;t be restarted, please restart it manually for changes to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (not supported on this platform)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>disable (Tray icon is not available.)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWelcome</name>
<message>
<source>Welcome</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Welcome to RSS Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -95,4 +428,50 @@
<translation>rotter.martinos@gmail.com</translation>
</message>
</context>
<context>
<name>TrayIconMenu</name>
<message>
<source>Close opened modal dialogs first.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WebBrowser</name>
<message>
<source>Navigation panel</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Go back</source>
<translation>Jít zpět</translation>
</message>
<message>
<source>Forward</source>
<translation>Zpět</translation>
</message>
<message>
<source>Go forward</source>
<translation>Jít vpřed</translation>
</message>
<message>
<source>Reload</source>
<translation>Obnovit</translation>
</message>
<message>
<source>Reload current web page</source>
<translation>Znovu načíst aktuální stránku</translation>
</message>
<message>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Stop web page loading</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,6 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<context>
<name>BaseWebView</name>
<message>
<source>Reload web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload current web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
<message>
<source>About RSS Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>GNU GPL License (applies to RSS Guard source code)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>GNU GPL License</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>BSD License (applies to QtSingleApplication source code)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Licenses page is available only in English language.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Thanks to</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changelog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changelog page is available only in English language.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>License not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changelog not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;b&gt;%8&lt;/b&gt;&lt;br&gt;&lt;b&gt;Version:&lt;/b&gt; %1 (build on %2 with CMake %3)&lt;br&gt;&lt;b&gt;Revision:&lt;/b&gt; %4&lt;br&gt;&lt;b&gt;Build date:&lt;/b&gt; %5&lt;br&gt;&lt;b&gt;Qt:&lt;/b&gt; %6 (compiled against %7)&lt;br&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;body&gt;Authors and contributors:&lt;ul&gt;&lt;li&gt;Martin Rotter (&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail.com&lt;/a&gt;) (author of RSS Guard)&lt;/li&gt;&lt;li&gt;snakebite &amp; tiheum (authors of KFaenza/Faenza icon theme)&lt;/li&gt;&lt;li&gt;Digia Plc (author of QtSingleApplication component)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;body&gt;RSS Guard is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3 or later.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for Qonverter from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormMain</name>
<message>
@ -43,13 +149,45 @@
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tab 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+I</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+E</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;About RSS Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Fullscreen mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+F</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>General</source>
<translation type="unfinished"></translation>
@ -66,6 +204,201 @@
<source>system icon theme (default)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Keyboard shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Launch RSS Guard on operating system startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Icons &amp;&amp; skins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Skin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tray icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>disable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>enable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When main window is closed, then</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>hide it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>quit the application.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start application hidden</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Color of website loading progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Change...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hostname or IP of your proxy server</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your username for proxy server authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your password for proxy server authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password is stored in plain string in RSS Guard configuration file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Code</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Socks5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Http</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language of Qonverter was changed. Note that changes will take effect on next Qonverter start.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you want to restart now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Problem with RSS Guard restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Qonverter couldn&apos;t be restarted, please restart it manually for changes to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (not supported on this platform)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>disable (Tray icon is not available.)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWelcome</name>
<message>
<source>Welcome</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Welcome to RSS Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -95,4 +428,50 @@
<translation>rotter.martinos@gmail.com</translation>
</message>
</context>
<context>
<name>TrayIconMenu</name>
<message>
<source>Close opened modal dialogs first.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WebBrowser</name>
<message>
<source>Navigation panel</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Go back</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Forward</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Go forward</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload current web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Stop web page loading</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -33,33 +33,3 @@ QList<Language> Localization::getInstalledLanguages() {
}
return languages;
}
void Localization::load() {
// Obtain all needed data.
QString locale_name = Settings::getInstance()->value(APP_CFG_GEN,
"language",
"en").toString();
QTranslator qt_translator, app_translator;
// Load localizations.
if (app_translator.load(QString("rssguard_%1.qm").arg(locale_name),
APP_LANG_PATH)) {
qDebug("Application localization %s loaded successfully. Setting up locale.",
qPrintable(locale_name));
}
else {
qDebug("Application localization %s was not loaded.", qPrintable(locale_name));
}
if (qt_translator.load(QString("qt_%1.qm").arg(locale_name),
APP_LANG_PATH)) {
qDebug("Qt localization %s loaded successfully. Setting up locale.",
qPrintable(locale_name));
}
else {
qDebug("Qt localization %s was not loaded.", qPrintable(locale_name));
}
// Setup locale.
QLocale::setDefault(QLocale(locale_name));
}

View File

@ -1,6 +1,32 @@
#ifndef LOCALIZATION_H
#define LOCALIZATION_H
// Loads currently active language.
// NOTE: Macro is used due to QTranslator persistency.
#define LoadLocalization(); \
QString locale_name = Settings::getInstance()->value(APP_CFG_GEN, \
"language", \
"en").toString(); \
QTranslator qt_translator, app_translator; \
if (app_translator.load(QString("rssguard_%1.qm").arg(locale_name), \
APP_LANG_PATH)) { \
QApplication::installTranslator(&app_translator); \
qDebug("Application localization %s loaded successfully. Setting up locale.", \
qPrintable(locale_name)); \
} \
else { \
qDebug("Application localization %s was not loaded.", qPrintable(locale_name)); \
} \
if (qt_translator.load(QString("qt_%1.qm").arg(locale_name), \
APP_LANG_PATH)) { \
qDebug("Qt localization %s loaded successfully. Setting up locale.", \
qPrintable(locale_name)); \
} \
else { \
qDebug("Qt localization %s was not loaded.", qPrintable(locale_name)); \
} \
QLocale::setDefault(QLocale(locale_name));
#include <QPointer>
@ -17,8 +43,6 @@ class Localization {
Localization();
public:
// Sets up localization strings and locale from application settings.
static void load();
// Returns list of installed application localizations.
// This list is used ie. in settings dialog.

View File

@ -3,6 +3,8 @@
#include <QSettings>
#endif
#include <QTranslator>
#include "core/defs.h"
#include "core/debugging.h"
#include "core/localization.h"
@ -64,7 +66,7 @@ int main(int argc, char *argv[]) {
ThemeFactory::setupSearchPaths();
// Load localization and setup locale before any widget is constructed.
Localization::load();
LoadLocalization();
// These settings needs to be set before any QSettings object.
QtSingleApplication::setApplicationName(APP_NAME);