Implement translations, added russian translation
authorNikolay Tischenko <niktischenko@gmail.com>
Sun, 31 Oct 2010 11:03:55 +0000 (17:03 +0600)
committerNikolay Tischenko <niktischenko@gmail.com>
Sun, 31 Oct 2010 11:03:55 +0000 (17:03 +0600)
.gitignore
resources/.gitignore [new file with mode: 0644]
resources/someplayer_ru.ts [new file with mode: 0644]
someplayer.pro
src/config.cpp
src/libraryform.cpp
src/main.cpp
src/mainwindow.cpp
src/settingsdialog.cpp
src/settingsdialog.h
src/ui/settingsdialog.ui

index 15cf7a4..c6fce46 100644 (file)
@@ -1 +1,4 @@
 someplayer.pro.user
+someplayer
+*.o
+*~
diff --git a/resources/.gitignore b/resources/.gitignore
new file mode 100644 (file)
index 0000000..8df47d5
--- /dev/null
@@ -0,0 +1 @@
+*.qm
diff --git a/resources/someplayer_ru.ts b/resources/someplayer_ru.ts
new file mode 100644 (file)
index 0000000..a4d6e7f
--- /dev/null
@@ -0,0 +1,785 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
+<context>
+    <name>DirectoryView</name>
+    <message>
+        <location filename="../src/ui/directoryview.ui" line="14"/>
+        <source>Directories</source>
+        <translation>Каталоги</translation>
+    </message>
+</context>
+<context>
+    <name>EditTagsDialog</name>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="14"/>
+        <source>Edit tags</source>
+        <translation>Редактировать теги</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="22"/>
+        <source>Artist:</source>
+        <translation>Исполнитель:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="32"/>
+        <source>Album:</source>
+        <translation>Альбом:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="42"/>
+        <source>Title:</source>
+        <translation>Название:</translation>
+    </message>
+</context>
+<context>
+    <name>EqualizerDialog</name>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="14"/>
+        <source>Equalizer</source>
+        <translation>Эквалайзер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="39"/>
+        <source>+12dB</source>
+        <translation>+12dB</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="59"/>
+        <source>-12dB</source>
+        <translation>-12dB</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="219"/>
+        <source>Enable</source>
+        <translation>Включен</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="263"/>
+        <source>Save</source>
+        <translation>Сохранить</translation>
+    </message>
+</context>
+<context>
+    <name>LibraryForm</name>
+    <message>
+        <location filename="../src/ui/libraryform.ui" line="14"/>
+        <source>Library</source>
+        <translation>Библиотека</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="173"/>
+        <source>Artists</source>
+        <translation>Исполнители</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="200"/>
+        <source>Dynamic playlists</source>
+        <translation>Динамические плейлисты</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="224"/>
+        <location filename="../src/libraryform.cpp" line="399"/>
+        <source>Albums by &quot;%1&quot;</source>
+        <translation>Альбомы &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="236"/>
+        <source>Tracks from &quot;%1&quot; by &quot;%2&quot;</source>
+        <translation>Треки из &quot;%1&quot; от &quot;%2&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="246"/>
+        <source>All tracks by &quot;%1&quot;</source>
+        <translation>Все треки &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="263"/>
+        <source>Tracks in playlist &quot;%1&quot;</source>
+        <translation>Треки плейлиста &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="421"/>
+        <source>Playlists</source>
+        <translation>Плейлисты</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="778"/>
+        <source>Search in library</source>
+        <translation>Поиск по библиотеке</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="14"/>
+        <source>someplayer</source>
+        <translation>someplayer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="40"/>
+        <source>Main</source>
+        <translation>Главное</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="47"/>
+        <source>Library</source>
+        <translation>Библиотека</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="53"/>
+        <source>Tools</source>
+        <translation>Инструменты</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="60"/>
+        <source>Player</source>
+        <translation>Плеер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="71"/>
+        <source>About</source>
+        <translation>О программе</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="76"/>
+        <source>Settings</source>
+        <translation>Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="81"/>
+        <source>Manage library</source>
+        <translation>Управление библиотекой</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="86"/>
+        <source>Equalizer</source>
+        <translation>Эквалайзер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="91"/>
+        <source>Set timer</source>
+        <translation>Таймер выключения</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="96"/>
+        <source>Save playlist</source>
+        <translation>Сохранить плейлист</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="99"/>
+        <source>Ctrl+S</source>
+        <translation>Ctrl+S</translation>
+    </message>
+</context>
+<context>
+    <name>ManageLibraryForm</name>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="14"/>
+        <source>Manage library</source>
+        <translation>Управление библиотекой</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="231"/>
+        <source>Added directories:</source>
+        <translation>Добавленные каталоги:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="295"/>
+        <source>0 artitst</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="302"/>
+        <source>0 albums</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="312"/>
+        <source>0 tracks</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>PlayerForm</name>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="14"/>
+        <source>SomePlayer</source>
+        <translation>SomePlayer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="124"/>
+        <source>Music off:</source>
+        <translation>Отключение через:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="134"/>
+        <source>00:00:00</source>
+        <translation>00:00:00</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="236"/>
+        <source>0/0</source>
+        <translation>0/0</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="261"/>
+        <source>&lt;h3&gt;Title&lt;/h3&gt;</source>
+        <translation>&lt;h3&gt;Название&lt;/h3&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="286"/>
+        <location filename="../src/ui/playerform.ui" line="313"/>
+        <source>00:00</source>
+        <translation>00:00</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="347"/>
+        <source>&lt;b&gt;Artist&lt;/b&gt;&lt;br/&gt;album</source>
+        <translation>&lt;b&gt;Исполнитель&lt;/b&gt;&lt;br/&gt;альбом</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistDialog</name>
+    <message>
+        <location filename="../src/ui/playlistdialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/libraryform.cpp" line="65"/>
+        <source>All tracks</source>
+        <translation>Все треки</translation>
+    </message>
+</context>
+<context>
+    <name>SavePlaylistDialog</name>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="14"/>
+        <source>Save playlist</source>
+        <translation>Сохранить плейлист</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="26"/>
+        <source>Existed playlists:</source>
+        <translation>Плейлисты:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="39"/>
+        <source>New: </source>
+        <translation>Новый:</translation>
+    </message>
+</context>
+<context>
+    <name>SettingsDialog</name>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="14"/>
+        <source>Settings</source>
+        <translation>Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="43"/>
+        <source>Icons theme:</source>
+        <translation>Тема иконок:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="52"/>
+        <source>White</source>
+        <translation>Белые</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="59"/>
+        <source>Black</source>
+        <translation>Чёрные</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="77"/>
+        <source>Use gradient in portrait mode:</source>
+        <translation>Использовать градиент:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="86"/>
+        <location filename="../src/ui/settingsdialog.ui" line="198"/>
+        <source>Yes</source>
+        <translation>Да</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="93"/>
+        <location filename="../src/ui/settingsdialog.ui" line="205"/>
+        <source>No</source>
+        <translation>Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="114"/>
+        <source>Sort album:</source>
+        <translation>Сортировать альбомы:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="123"/>
+        <source>Alphabetical</source>
+        <translation>По алфавиту</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="130"/>
+        <source>By date</source>
+        <translation>По году</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="148"/>
+        <source>Orientation:</source>
+        <translation>Ориентация:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="157"/>
+        <source>Landscape</source>
+        <translation>Ландшафтный</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="164"/>
+        <source>Portrait</source>
+        <translation>Портретный</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="171"/>
+        <source>Auto</source>
+        <translation>Авто</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="189"/>
+        <source>Show track lenght in library view:</source>
+        <translation>Показывать длину трека в библиотеке:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="223"/>
+        <source>Language:</source>
+        <translation>Язык:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="232"/>
+        <source>English</source>
+        <translation>Английский</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="239"/>
+        <source>Russian</source>
+        <translation>Русский</translation>
+    </message>
+</context>
+<context>
+    <name>TimerDialog</name>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="14"/>
+        <source>Set timer</source>
+        <translation>Установить таймер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="24"/>
+        <source>Hours</source>
+        <translation>Часы</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="32"/>
+        <location filename="../src/ui/timerdialog.ui" line="158"/>
+        <location filename="../src/ui/timerdialog.ui" line="652"/>
+        <source>00</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="40"/>
+        <location filename="../src/ui/timerdialog.ui" line="166"/>
+        <location filename="../src/ui/timerdialog.ui" line="660"/>
+        <source>01</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="48"/>
+        <location filename="../src/ui/timerdialog.ui" line="174"/>
+        <location filename="../src/ui/timerdialog.ui" line="668"/>
+        <source>02</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="56"/>
+        <location filename="../src/ui/timerdialog.ui" line="182"/>
+        <location filename="../src/ui/timerdialog.ui" line="676"/>
+        <source>03</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="64"/>
+        <location filename="../src/ui/timerdialog.ui" line="190"/>
+        <location filename="../src/ui/timerdialog.ui" line="684"/>
+        <source>04</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="72"/>
+        <location filename="../src/ui/timerdialog.ui" line="198"/>
+        <location filename="../src/ui/timerdialog.ui" line="692"/>
+        <source>05</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="80"/>
+        <location filename="../src/ui/timerdialog.ui" line="206"/>
+        <location filename="../src/ui/timerdialog.ui" line="700"/>
+        <source>06</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="88"/>
+        <location filename="../src/ui/timerdialog.ui" line="214"/>
+        <location filename="../src/ui/timerdialog.ui" line="708"/>
+        <source>07</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="96"/>
+        <location filename="../src/ui/timerdialog.ui" line="222"/>
+        <location filename="../src/ui/timerdialog.ui" line="716"/>
+        <source>08</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="104"/>
+        <location filename="../src/ui/timerdialog.ui" line="230"/>
+        <location filename="../src/ui/timerdialog.ui" line="724"/>
+        <source>09</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="112"/>
+        <location filename="../src/ui/timerdialog.ui" line="238"/>
+        <location filename="../src/ui/timerdialog.ui" line="732"/>
+        <source>10</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="120"/>
+        <location filename="../src/ui/timerdialog.ui" line="246"/>
+        <location filename="../src/ui/timerdialog.ui" line="740"/>
+        <source>11</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="128"/>
+        <location filename="../src/ui/timerdialog.ui" line="254"/>
+        <location filename="../src/ui/timerdialog.ui" line="748"/>
+        <source>12</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="141"/>
+        <location filename="../src/ui/timerdialog.ui" line="635"/>
+        <source>:</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="150"/>
+        <source>Minutes</source>
+        <translation>Минуты</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="262"/>
+        <location filename="../src/ui/timerdialog.ui" line="756"/>
+        <source>13</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="270"/>
+        <location filename="../src/ui/timerdialog.ui" line="764"/>
+        <source>14</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="278"/>
+        <location filename="../src/ui/timerdialog.ui" line="772"/>
+        <source>15</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="286"/>
+        <location filename="../src/ui/timerdialog.ui" line="780"/>
+        <source>16</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="294"/>
+        <location filename="../src/ui/timerdialog.ui" line="788"/>
+        <source>17</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="302"/>
+        <location filename="../src/ui/timerdialog.ui" line="796"/>
+        <source>18</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="310"/>
+        <location filename="../src/ui/timerdialog.ui" line="804"/>
+        <source>19</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="318"/>
+        <location filename="../src/ui/timerdialog.ui" line="812"/>
+        <source>20</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="326"/>
+        <location filename="../src/ui/timerdialog.ui" line="820"/>
+        <source>21</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="334"/>
+        <location filename="../src/ui/timerdialog.ui" line="828"/>
+        <source>22</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="342"/>
+        <location filename="../src/ui/timerdialog.ui" line="836"/>
+        <source>23</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="350"/>
+        <location filename="../src/ui/timerdialog.ui" line="844"/>
+        <source>24</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="358"/>
+        <location filename="../src/ui/timerdialog.ui" line="852"/>
+        <source>25</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="366"/>
+        <location filename="../src/ui/timerdialog.ui" line="860"/>
+        <source>26</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="374"/>
+        <location filename="../src/ui/timerdialog.ui" line="868"/>
+        <source>27</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="382"/>
+        <location filename="../src/ui/timerdialog.ui" line="876"/>
+        <source>28</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="390"/>
+        <location filename="../src/ui/timerdialog.ui" line="884"/>
+        <source>29</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="398"/>
+        <location filename="../src/ui/timerdialog.ui" line="892"/>
+        <source>30</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="406"/>
+        <location filename="../src/ui/timerdialog.ui" line="900"/>
+        <source>31</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="414"/>
+        <location filename="../src/ui/timerdialog.ui" line="908"/>
+        <source>32</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="422"/>
+        <location filename="../src/ui/timerdialog.ui" line="916"/>
+        <source>33</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="430"/>
+        <location filename="../src/ui/timerdialog.ui" line="924"/>
+        <source>34</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="438"/>
+        <location filename="../src/ui/timerdialog.ui" line="932"/>
+        <source>35</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="446"/>
+        <location filename="../src/ui/timerdialog.ui" line="940"/>
+        <source>36</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="454"/>
+        <location filename="../src/ui/timerdialog.ui" line="948"/>
+        <source>37</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="462"/>
+        <location filename="../src/ui/timerdialog.ui" line="956"/>
+        <source>38</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="470"/>
+        <location filename="../src/ui/timerdialog.ui" line="972"/>
+        <source>40</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="478"/>
+        <location filename="../src/ui/timerdialog.ui" line="980"/>
+        <source>41</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="486"/>
+        <location filename="../src/ui/timerdialog.ui" line="988"/>
+        <source>42</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="494"/>
+        <location filename="../src/ui/timerdialog.ui" line="996"/>
+        <source>43</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="502"/>
+        <location filename="../src/ui/timerdialog.ui" line="1004"/>
+        <source>44</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="510"/>
+        <location filename="../src/ui/timerdialog.ui" line="1012"/>
+        <source>45</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="518"/>
+        <location filename="../src/ui/timerdialog.ui" line="1020"/>
+        <source>46</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="526"/>
+        <location filename="../src/ui/timerdialog.ui" line="1028"/>
+        <source>47</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="534"/>
+        <location filename="../src/ui/timerdialog.ui" line="1036"/>
+        <source>48</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="542"/>
+        <location filename="../src/ui/timerdialog.ui" line="1044"/>
+        <source>49</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="550"/>
+        <location filename="../src/ui/timerdialog.ui" line="1052"/>
+        <source>50</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="558"/>
+        <location filename="../src/ui/timerdialog.ui" line="1060"/>
+        <source>51</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="566"/>
+        <location filename="../src/ui/timerdialog.ui" line="1068"/>
+        <source>52</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="574"/>
+        <location filename="../src/ui/timerdialog.ui" line="1076"/>
+        <source>53</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="582"/>
+        <location filename="../src/ui/timerdialog.ui" line="1084"/>
+        <source>54</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="590"/>
+        <location filename="../src/ui/timerdialog.ui" line="1092"/>
+        <source>55</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="598"/>
+        <location filename="../src/ui/timerdialog.ui" line="1100"/>
+        <source>56</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="606"/>
+        <location filename="../src/ui/timerdialog.ui" line="1108"/>
+        <source>57</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="614"/>
+        <location filename="../src/ui/timerdialog.ui" line="1116"/>
+        <source>58</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="622"/>
+        <location filename="../src/ui/timerdialog.ui" line="1124"/>
+        <source>59</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="644"/>
+        <source>Seconds</source>
+        <translation>Секунды</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="964"/>
+        <source>39</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="1145"/>
+        <source>Disable</source>
+        <translation>Отключить</translation>
+    </message>
+</context>
+<context>
+    <name>ToolsWidget</name>
+    <message>
+        <location filename="../src/ui/toolswidget.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+</context>
+</TS>
index 2a1ae52..d449c94 100644 (file)
@@ -270,3 +270,5 @@ OTHER_FILES += \
     src/taglib/toolkit/tlist.tcc \
     AUTHORS.TagLib \
     COPYING.LGPL
+
+TRANSLATIONS   =  resources/someplayer_ru.ts
index 49ccfa4..ea1d02e 100644 (file)
@@ -32,6 +32,8 @@ Config::Config()
                _settings->setValue("ui/albumsorting", "date");
        if (_settings->value("ui/gradient").toString() == "")
                _settings->setValue("ui/gradient", "yes");
+       if (_settings->value("ui/language").toString() == "")
+               _settings->setValue("ui/language", "en");
 }
 
 Config::~Config() {
index f02b440..7ccfb78 100644 (file)
@@ -170,7 +170,7 @@ void LibraryForm::_view_button() {
        _state = STATE_ARTIST;
        ui->backButton->setEnabled(false);
        ui->backButton->setIcon(QIcon());
-       ui->listLabel->setText("Artists");
+       ui->listLabel->setText(tr("Artists"));
        ui->useButton->setEnabled(false);
        ui->useButton->setIcon(QIcon());
        ui->addButton->setEnabled(false);
@@ -197,7 +197,7 @@ void LibraryForm::_dynamic_button() {
        _model->setItem(3, 0, new QStandardItem(QIcon(":/icons/"+_icons_theme+"/deselect_all.png"), ""));
        _model->setItem(3, 1, new QStandardItem("Recently added"));
        ui->listView->setColumnWidth(0, 70);
-       ui->listLabel->setText("Dynamic playlists");
+       ui->listLabel->setText(tr("Dynamic playlists"));
        _state = STATE_DYNAMIC;
        ui->addButton->setEnabled(false);
        ui->addButton->setIcon(QIcon());
@@ -221,7 +221,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                _state = STATE_ALBUM;
                ui->backButton->setEnabled(true);
                ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
-               ui->listLabel->setText(QString("Albums by \"%1\"").arg(_current_artist));
+               ui->listLabel->setText(QString(tr("Albums by \"%1\"")).arg(_current_artist));
                break;
        case STATE_ALBUM:
                if (regexp.indexIn(data) != -1) {
@@ -233,7 +233,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        _state = STATE_TRACK;
                        ui->backButton->setEnabled(true);
                        ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
-                       ui->listLabel->setText(QString("Tracks from \"%1\" by \"%2\"").arg(_current_album).arg(_current_artist));
+                       ui->listLabel->setText(QString(tr("Tracks from \"%1\" by \"%2\"")).arg(_current_album).arg(_current_artist));
                } else {
                        if (index.row() == 0) { // all tracks
                                _current_tracks = _lib->getAllTracksForArtist(_current_artist);
@@ -243,7 +243,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                                _state = STATE_TRACK;
                                ui->backButton->setEnabled(true);
                                ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
-                               ui->listLabel->setText(QString("All tracks by \"%1\"").arg(_current_artist));
+                               ui->listLabel->setText(QString(tr("All tracks by \"%1\"")).arg(_current_artist));
                        }
                }
                break;
@@ -260,7 +260,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
                        ui->useButton->setEnabled(true);
                        ui->useButton->setIcon(QIcon(":/icons/"+_icons_theme+"/use.png"));
-                       ui->listLabel->setText(QString("Tracks in playlist \"%1\"").arg(data));
+                       ui->listLabel->setText(QString(tr("Tracks in playlist \"%1\"")).arg(data));
                }
                break;
        case STATE_DYNAMIC:
@@ -396,7 +396,7 @@ void LibraryForm::_back_button() {
                ui->listView->setColumnWidth(0, 70);
                ui->listView->scrollToTop();
                _state = STATE_ALBUM;
-               ui->listLabel->setText(QString("Albums by \"%1\"").arg(_current_artist));
+               ui->listLabel->setText(QString(tr("Albums by \"%1\"")).arg(_current_artist));
                break;
        case STATE_PLAYLIST_TRACK:
                if (_is_dynamic) {
@@ -418,7 +418,7 @@ void LibraryForm::_playlists_button() {
        _state = STATE_PLAYLIST;
        ui->backButton->setEnabled(false);
        ui->backButton->setIcon(QIcon());
-       ui->listLabel->setText("Playlists");
+       ui->listLabel->setText(tr("Playlists"));
        ui->useButton->setEnabled(false);
        ui->useButton->setIcon(QIcon());
        ui->addButton->setEnabled(false);
@@ -775,7 +775,7 @@ void LibraryForm::_search_button(bool state) {
        _tools_widget->setFocus();
        _tools_widget->reset();
        if (state) {
-               ui->listLabel->setText("Search in library");
+               ui->listLabel->setText(tr("Search in library"));
                ui->deleteButton->setIcon(QIcon());
                ui->deleteButton->setEnabled(false);
                ui->useButton->setIcon(QIcon());
index 2d46863..ee0a444 100644 (file)
  */
 
 #include <QtGui/QApplication>
+#include <QTranslator>
 #include "mainwindow.h"
+#include "config.h"
+
+using namespace SomePlayer::Storage;
 
 int main(int argc, char *argv[])
 {
        QApplication a(argc, argv);
+       QTranslator *translator = new QTranslator(0);
+       Config config;
+       translator->load(QString("/opt/someplayer/someplayer_%1").arg(config.getValue("ui/language").toString()));
+       a.installTranslator(translator);
        a.setApplicationName("ru.somebody.someplayer");
        MainWindow w;
        w.setAttribute(Qt::WA_Maemo5StackedWindow);
index a3acf75..f71f9dc 100644 (file)
@@ -24,6 +24,7 @@
 #include <QInputDialog>
 #include <QFile>
 #include <QDesktopWidget>
+#include <QTranslator>
 
 #include "player/player.h"
 
@@ -276,6 +277,9 @@ void MainWindow::settings() {
        _library_form->checkGradient();
        _directory_form->updateIcons();
        _directory_form->updateGradient();
+       QTranslator *translator = new QTranslator(this);
+       translator->load(QString("/opt/someplayer/someplayer_%1").arg(config.getValue("ui/language").toString()));
+       QApplication::installTranslator(translator);
 }
 
 void MainWindow::_orientation_changed() {
index 10e5831..0c54f85 100644 (file)
@@ -34,11 +34,13 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        QString orientation = config.getValue("ui/orientation").toString();
        QString icons_theme = config.getValue("ui/iconstheme").toString();
        QString gradient = config.getValue("ui/gradient").toString();
+       QString language = config.getValue("ui/language").toString();
        ui->albumsSortDButton->setChecked(true);        // defaule sorting
        ui->showTrackLenghtYButton->setChecked(true);   // show by default
        ui->orientationLButton->setChecked(true);
        ui->iconsWButton->setChecked(true);
        ui->gradientYButton->setChecked(true);
+       ui->engLangButton->setChecked(true);
        if (albumSorting == "alphabet") {
                ui->albumsSortAButton->setChecked(true);
        }
@@ -56,6 +58,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        if (gradient == "no") {
                ui->gradientNButton->setChecked(true);
        }
+       if (language == "ru") {
+               ui->ruLangButton->setChecked(true);
+       }
        connect (ui->albumsSortAButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_alphabet(bool)));
        connect (ui->albumsSortDButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_date(bool)));
        connect (ui->showTrackLenghtNButton, SIGNAL(toggled(bool)), this, SLOT(_set_track_lenght_show_no(bool)));
@@ -67,6 +72,8 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        connect (ui->iconsWButton, SIGNAL(toggled(bool)), this, SLOT(_set_icons_white(bool)));
        connect (ui->gradientNButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_no(bool)));
        connect (ui->gradientYButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_yes(bool)));
+       connect (ui->engLangButton, SIGNAL(toggled(bool)), this, SLOT(_set_lang_en(bool)));
+       connect (ui->ruLangButton, SIGNAL(toggled(bool)), this, SLOT(_set_lang_ru(bool)));
 }
 
 SettingsDialog::~SettingsDialog()
@@ -139,3 +146,15 @@ void SettingsDialog::_set_gradient_yes(bool checked) {
        Config config;
        config.setValue("ui/gradient", "yes");
 }
+
+void SettingsDialog::_set_lang_en(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/language", "en");
+}
+
+void SettingsDialog::_set_lang_ru(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/language", "ru");
+}
index 02a9bf9..037e6cb 100644 (file)
@@ -50,6 +50,8 @@ private slots:
        void _set_icons_black(bool);
        void _set_gradient_yes(bool);
        void _set_gradient_no(bool);
+       void _set_lang_en(bool);
+       void _set_lang_ru(bool);
 };
 
 #endif // SETTINGSDIALOG_H
index fe45815..a6295c2 100644 (file)
@@ -25,9 +25,9 @@
         <property name="geometry">
          <rect>
           <x>0</x>
-          <y>0</y>
+          <y>-82</y>
           <width>760</width>
-          <height>367</height>
+          <height>438</height>
          </rect>
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_6">
            </layout>
           </widget>
          </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_5">
+           <property name="title">
+            <string/>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_8">
+            <item>
+             <widget class="QLabel" name="label_6">
+              <property name="text">
+               <string>Language:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_7">
+              <item>
+               <widget class="QRadioButton" name="engLangButton">
+                <property name="text">
+                 <string>English</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QRadioButton" name="ruLangButton">
+                <property name="text">
+                 <string>Russian</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </widget>
+         </item>
         </layout>
        </widget>
       </widget>