diff --git a/src/article_maker.cc b/src/article_maker.cc
index 6a75e629..579eb65b 100644
--- a/src/article_maker.cc
+++ b/src/article_maker.cc
@@ -75,7 +75,7 @@ sptr< Dictionary::DataRequest > ArticleMaker::makeDefinitionFor(
// This is a special group containing internal welcome/help pages
string result = makeHtmlHeader( inWord, QString() );
- if ( inWord == "Welcome!" )
+ if ( inWord == tr( "Welcome!" ) )
{
result += tr(
"
Welcome to GoldenDict!
"
@@ -96,7 +96,7 @@ sptr< Dictionary::DataRequest > ArticleMaker::makeDefinitionFor(
).toUtf8().data();
}
else
- if ( inWord == "Working with popup" )
+ if ( inWord == tr( "Working with popup" ) )
{
result += ( tr( "Working with the popup
"
diff --git a/src/config.cc b/src/config.cc
index 95c4e611..9c7cf4af 100644
--- a/src/config.cc
+++ b/src/config.cc
@@ -582,4 +582,13 @@ QString getUserQtCssFileName() throw( exError )
return getHomeDir().filePath( "qt-style.css" );
}
+QString getProgramDataDir() throw()
+{
+ #ifdef PROGRAM_DATA_DIR
+ return PROGRAM_DATA_DIR;
+ #else
+ return "foo"; // Fixme
+ #endif
+}
+
}
diff --git a/src/config.hh b/src/config.hh
index 5bd5d465..ae468a16 100644
--- a/src/config.hh
+++ b/src/config.hh
@@ -186,6 +186,10 @@ QString getUserCssFileName() throw( exError );
/// Returns the user .css file name for the Qt interface customization.
QString getUserQtCssFileName() throw( exError );
+/// Returns the program's data dir. Under Linux that would be something like
+/// /usr/share/apps/goldendict, under Windows C:/Program Files/GoldenDict.
+QString getProgramDataDir() throw();
+
}
#endif
diff --git a/src/goldendict.pro b/src/goldendict.pro
index 4a46d1e1..43f04841 100644
--- a/src/goldendict.pro
+++ b/src/goldendict.pro
@@ -3,7 +3,8 @@
######################################################################
TEMPLATE = app
-TARGET =
+TARGET = goldendict
+VERSION = 0.8.0
#DEPENDPATH += . generators
INCLUDEPATH += .
@@ -25,6 +26,23 @@ win32 {
RC_FILE = goldendict.rc
}
+unix {
+
+ PREFIX = $$(PREFIX)
+
+ isEmpty( PREFIX ) {
+ PREFIX = /usr/local
+ }
+
+ DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/apps/goldendict/\\\"
+
+ target.path = $$PREFIX/bin/
+ locale.path = $$PREFIX/share/apps/goldendict/locale/
+ locale.files = locale/ru.qm
+
+ INSTALLS += target locale
+}
+
# Input
HEADERS += folding.hh \
inc_case_folding.hh \
diff --git a/src/locale/ru.ts b/src/locale/ru.ts
index 912c272b..4ff7775c 100644
--- a/src/locale/ru.ts
+++ b/src/locale/ru.ts
@@ -1,10 +1,12 @@
-
+
+
-
+
+
Ошибка обработки XML: %1 на строке %2, столбце %3
@@ -40,35 +42,45 @@
Не найдено перевода для <b>%1</b> в группе <b>%2</b>.
-
+
+
+ Добро пожаловать!
+
+
+
- <h3 align="center">Добро пожаловать в <b>GoldenDict</b>!</h3><p>Если вы запустили программу первый раз, укажите пути к словарям в <b>Правка|Источники</b>. После этого сгруппируйте найденные словари в <b>Правка|Группы</b>.<p>Вы можете настроить параметры программы в <b>Правка|Параметры</b>. Все параметры настройки имеют подсказки, показываемые при наведении на них.<p>Теперь всё готово для поиска слов! Введите слово в верхнее поле левой панели. Также вы можете <a href="Working with popup">искать слова прямо из других приложений</a>.<p>Если вы хотите помочь в разработке и улучшении программы, то напишите на <a href="http://goldendict.berlios.de/forum/">форум</a> или непосредственно автору <a href="mailto: Konstantin Isakov <ikm@users.berlios.de>">по электронной почте</a>.<p>Последняя версия программы доступна на <a href="http://goldendict.berlios.de/">веб-сайте GoldenDict</a>.<p>© Константин Исаков, 2008-2009. Лицензия: GPLv3 или более поздняя версия.
+ <h3 align="center">Добро пожаловать в <b>GoldenDict</b>!</h3><p>Если вы запустили программу в первый раз, укажите пути к словарям в <b>Правка|Источники</b>. После этого сгруппируйте найденные словари в <b>Правка|Группы</b>.<p>Вы можете настроить параметры программы в <b>Правка|Параметры</b>. Все параметры настройки имеют подсказки, показываемые при наведении курсора на них.<p>Теперь всё готово для поиска слов! Введите слово в верхнее поле левой панели. Также вы можете <a href="Всплывающее окно">искать слова прямо из других приложений</a>.<p>Если вы хотите помочь в разработке и улучшении программы, пишите на <a href="http://goldendict.berlios.de/forum/">форум</a> или непосредственно автору <a href="mailto: Konstantin Isakov <ikm@users.berlios.de>">по электронной почте</a>.<p>Последняя версия программы доступна на <a href="http://goldendict.berlios.de/">веб-сайте GoldenDict</a>.<p>© Константин Исаков, 2008-2009. Лицензия: GPLv3 или более поздняя версия.
+
+
+
+
+ Всплывающее окно
+
+
+
+
+ <h3 align="center">Всплывающее окно</h3>Для поиска слов из других приложений, вам нужно включить <i>«Разрешить всплывающее окно»</i> в <b>Параметрах</b> и после этого включить всплывающее окно кнопкой «Сканировать» в основном окне или в контекстном меню значка в системном лотке.
-
- <h3 align="center">Всплывающее окно</h3>Для поиска слов из других приложений, вам нужно включить <i>«Показывать всплывающее окно»</i> в <b>Параметрах</b> и после этого включить всплывающее окно кнопкой «Сканировать» в основном окне или в контекстном меню значка в системном лотке.
-
-
-
- Теперь подведите курсор мыши к какому-либо слову в приложении (если запущен Windows) и появится всплывающее окно с переводом или значением этого слова.
+ Теперь подведите курсор мыши к какому-либо слову в приложении, и появится всплывающее окно с переводом или значением этого слова.
-
+
- Также эта возможность работает при выделении слова в любом приложении Linux.
+ Теперь выделите какое-либо слово в приложении (двойным щелчком, или же проводя по ним курсором мыши при зажатой левой кнопке), и появится всплывающее окно с переводом или значением этого слова.
ArticleRequest
-
+
Из %1
-
+
Ошибка поиска: %1
@@ -76,52 +88,56 @@
ArticleView
-
+
+
+
+
+
GoldenDict
-
+
Запрошенный источник не найден.
-
+
&Открыть ссылку
-
+
Открыть ссылку в новой &вкладке
-
+
&Поиск «%1»
-
+
Поиск «%1» в &новой вкладке
-
+
Невозможно запустить проигрыватель звукового файла: %1
-
+
Ошибка создания временного файла.
-
+
Ошибка открытия файла источника, попробуйте открыть вручную: %1.
-
+
Невозможно загрузить указанный источник.
@@ -169,7 +185,7 @@
- Поиск в словарях
+ Поиск в
@@ -242,7 +258,959 @@
- П&еретаскиваете мышью словари в группы из списка доступных словарей и перемещайте их между группами.
+ Перетаскиваете словари в группы из списка доступных словарей, изменяйте порядок групп, используя мышь.
+
+
+
+ Hunspell
+
+
+
+ Варианты написания:
+
+
+
+
+
+
+
+
+
+ Абхазская
+
+
+
+
+ Авестийская
+
+
+
+
+ Африкаанс
+
+
+
+
+
+
+
+
+
+ Амхарская
+
+
+
+
+ Арагонская
+
+
+
+
+ Арабская
+
+
+
+
+ Ассамская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Азербайджанская
+
+
+
+
+ Башкирская
+
+
+
+
+ Белорусская
+
+
+
+
+ Болгарская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Тибетская
+
+
+
+
+ Бретонская
+
+
+
+
+ Боснийская
+
+
+
+
+ Каталанская
+
+
+
+
+ Чеченская
+
+
+
+
+ Чаморро
+
+
+
+
+ Корсиканская
+
+
+
+
+ Кри
+
+
+
+
+ Чешская
+
+
+
+
+ Церковнославянская
+
+
+
+
+ Чувашская
+
+
+
+
+ Валлийская
+
+
+
+
+ Датская
+
+
+
+
+ Немецкая
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Греческая
+
+
+
+
+ Английская
+
+
+
+
+ Эсперанто
+
+
+
+
+ Испанская
+
+
+
+
+ Эстонская
+
+
+
+
+ Баскская
+
+
+
+
+ Персидская
+
+
+
+
+
+
+
+
+
+ Финская
+
+
+
+
+ Фиджийская
+
+
+
+
+ Фарерская
+
+
+
+
+ Французская
+
+
+
+
+
+
+
+
+
+ Ирландская
+
+
+
+
+ Гаэльская
+
+
+
+
+ Галисийская
+
+
+
+
+ Гуараш
+
+
+
+
+ Гуджарати
+
+
+
+
+ Мэнская
+
+
+
+
+
+
+
+
+
+ Иврит
+
+
+
+
+ Хинди
+
+
+
+
+
+
+
+
+
+ Хорватская
+
+
+
+
+ Гаитянская
+
+
+
+
+ Венгерская
+
+
+
+
+ Армянская
+
+
+
+
+ Гереро
+
+
+
+
+ Интерлингва
+
+
+
+
+ Индонезийская
+
+
+
+
+ Интерлингве
+
+
+
+
+ Ибо
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Идо
+
+
+
+
+ Исландская
+
+
+
+
+ Итальянская
+
+
+
+
+ Инуктитут
+
+
+
+
+ Японская
+
+
+
+
+ Яванская
+
+
+
+
+ Грузинская
+
+
+
+
+ Конго
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Казахская
+
+
+
+
+
+
+
+
+
+ Кхмерская
+
+
+
+
+ Каннада
+
+
+
+
+ Корейская
+
+
+
+
+ Канури
+
+
+
+
+ Кашмири
+
+
+
+
+ Курдская
+
+
+
+
+ Коми
+
+
+
+
+ Корнуоллская
+
+
+
+
+ Киргизская
+
+
+
+
+ Латинская
+
+
+
+
+
+
+
+
+
+ Ганда
+
+
+
+
+
+
+
+
+
+ Лингала
+
+
+
+
+ Лаосская
+
+
+
+
+ Литовская
+
+
+
+
+
+
+
+
+
+ Латвийская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Македонская
+
+
+
+
+
+
+
+
+
+ Монгольская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Норвежская (букмол)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Голландская
+
+
+
+
+ Новонорвежская
+
+
+
+
+ Норвежская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Осетинская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Польская
+
+
+
+
+ Пушту
+
+
+
+
+ Португальская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Румынская
+
+
+
+
+ Русская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Словакская
+
+
+
+
+ Словенская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Сомалийская
+
+
+
+
+ А то ж!
+ Албанская
+
+
+
+
+ Сербская
+
+
+
+
+ Свази
+
+
+
+
+
+
+
+
+
+ Сунданская
+
+
+
+
+ Шведская
+
+
+
+
+ Суахили
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Тайская
+
+
+
+
+
+
+
+
+
+ Туркменская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Тонганская
+
+
+
+
+ Турецкая
+
+
+
+
+
+
+
+
+
+ Татарская
+
+
+
+
+
+
+
+
+
+ Таитиянская
+
+
+
+
+
+
+
+
+
+ Украинская
+
+
+
+
+ Урду
+
+
+
+
+ Узбекская
+
+
+
+
+
+
+
+
+
+ Вьетнамская
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Коса
+
+
+
+
+ Идиш
+
+
+
+
+ Йоруба
+
+
+
+
+
+
+
+
+
+ Китайская
+
+
+
+
+ Зулусская
+
+
+
+
+ %1 морфология
+
+
+
+ HunspellDictsModel
+
+
+
+ Включено
+
+
+
+
+ Название
@@ -253,6 +1221,7 @@
Подождите...
+
Подождите, пока закончиться индексирование словаря
@@ -271,67 +1240,74 @@
MainWindow
-
+
Навигация
-
+
Назад
-
+
Вперёд
-
+
Сканировать
-
+
+
+ Произнести слово
+
+
+
Показать &основное окно
+
В&ыход
-
+
Загрузка...
-
+
Ошибка при загрузке словарей
-
+
Словарей: %1, статей: %2, слов: %3
+
- Поиск в словаре:
+ Поиск в:
-
+
Искать:
-
+
- (безымянный)
+ (без имени)
-
+
Внимание: %1
@@ -351,6 +1327,7 @@
Tab 2
+
Добро пожаловать!
@@ -371,6 +1348,7 @@
&Справка
+
&Параметры...
@@ -404,17 +1382,17 @@
MediaWikisModel
-
+
Включено
-
+
Название
-
+
Адрес
@@ -422,12 +1400,12 @@
PathsModel
-
+
Путь
-
+
Рекурсивно
@@ -440,43 +1418,54 @@
Параметры
-
+
+
+ &Интерфейс
+
+
+
При включении этого параметра в системном лотке появится значок,
-который можно использовать для вызова основного окна и других действий.
+который можно использовать для вызова основного окна и других
+действий.
-
+
Показывать значок в системном лотке
-
+
При включении этого параметра приложение будет запущено в системном лотке
без показа основного окна.
-
+
Запустить в системном лотке
-
+
При включении этого параметра закрытие основного окна свернёт его в
системный лоток.
-
+
Сворачивать в системный лоток
-
+
+
+ &Всплывающее окно
+
+
+
включить или отключить в основном окне и в контекстом меню значка в системном лотке.
-
- Показывать всплывающее окно
+ Показывать всплывающее окно
-
+
+
+ Разрешить всплывающее окно
+
+
+
Включать или нет режим всплывающего окна при запуске программы.
-
+
Включить режим всплывающего окна при запуске
-
+
- Показывать всплывающее окно только при зажатой клавише.
+ Показывать всплывающее окно, только если все выбранные клавиши
+находятся в зажатом состоянии в момент выделения слова.
-
+
- Показывать всплывающее окно только при зажатой клавише:
+ Показывать всплывающее окно только при зажатых клавишах:
-
+
При зажатии левой клавиши Ctrl
-
+
Левый Ctrl
-
+
При зажатии правой клавиши Shift
-
+
Правый Shift
-
+
При зажатии любой клавиши Alt
-
+
Alt
-
+
При зажатии любой клавиши Ctrl
-
+
Ctrl
-
+
При зажатии левой клавиши Alt
-
+
Левый Alt
-
+
При зажатии любой клавиши Shift
-
+
Shift
-
+
При зажатии правой клавиши Alt
-
+
Правый Alt
-
+
При зажатии правой клавиши Ctrl
-
+
Правый Ctrl
-
+
При зажатии левой клавиши Shift
-
+
Левый Shift
-
+
При зажатии клавиши Windows или Meta
-
+
Win или Meta
+
+
+
+ В обычном состоянии, чтобы активизировать всплывающее
+окно, необходимо удерживать выбранные клавиши в процессе
+выделения слова. Однако если включить данный режим, клавиши
+могут быть нажаты также и в течение некоторого времени после
+того, как слово было выделено.
+
+
+
+
+ Клавиши также можно нажать и после, в теч.
+
+
+
+
+ Чтобы избежать ложных срабатываний, после выделения слова
+клавиши опрашиваются только в течение ограниченного
+промежутка времени, который и задается здесь.
+
+
+
+
+ сек
+
+
+
+
+ &Аудио
+
+
+
+
+ Автоматически произносить слова в главном окне
+
+
+
+
+ Автоматически произносить слова во всплывающем окне
+
+
+
+
+ Программа для проигрывания аудиофайлов:
+
+
+
+
+ &Сеть
+
+
+
+
+ Включите, если хотите использовать proxy-сервер
+для всех сетевых запросов программы.
+
+
+
+
+ Использовать proxy-сервер
+
+
+
+
+ Тип:
+
+
+
+
+ Сервер:
+
+
+
+
+ Порт:
+
+
+
+
+ Имя:
+
+
+
+
+ Пароль:
+
ScanPopup
-
- %1 результатов отличаются диакритическими знаками
+ %1 результатов отличаются диакритическими знаками
-
- %1 результатов начинаются с указанного слова
+ %1 результатов начинаются с указанного слова
@@ -632,35 +1717,65 @@ in the pressed state when the word selection changes.
Диалог
-
+
слово
-
+
+
+ Список совпадений
+
+
+
+
+
...
+
+
+
+ Произнести слово
+
+
+
+ SoundDirsModel
+
+
+
+ Путь
+
+
+
+
+ Название
+
Sources
-
+
+
+
Выбор пути
+
+
Подтверждение удаления
-
+
+
Удалить путь <b>%1</b> из списка?
-
+
Удалить веб-сайт <b>%1</b> из списка?
@@ -680,30 +1795,87 @@ in the pressed state when the word selection changes.
Пути для поиска файлов словарей:
+
+
&Добавить...
+
+
&Удалить
-
- Wikipedia
+
+ Звуковые директории
+
+ Словари создаются из набора аудиофайлов добавлением путей сюда:
+
+
+
+
+ Морфология
+
+
+
+
+ Путь к директории, содержащей словари Hunspell/Myspell:
+
+
+
+
+ &Изменить
+
+
+
+
+ Доступные морфологические словари:
+
+
+
+
+ Каждый морфологический словарь
+представляется в виде отдельного
+вспомогательного словаря,
+предоставляющего корни слов при
+поиске, а также варианты написания
+неправильно написанных слов.
+Для использования словарей
+добавляйте соответствующие словари
+в конец соответствующих групп.
+
+
+
+ Каждый морфологический словарь представляется в виде отдельного вспомогательного словаря, предоставляющего корни слов при поиске, а также варианты написания неправильно написанных слов. Для использования словарей добавляйте соответствующие словари в конец соответствующих групп.
+
+
+
+
+ Пишется по-русски, источник: ru.wikipedia.org
+ Википедия
+
+
+
- Веб-сайты Wikipedia (MediaWiki):
+ Веб-сайты Википедии (MediaWiki):
WordFinder
-
+
Ошибка поиска в некоторых словарях.
diff --git a/src/main.cc b/src/main.cc
index 42fe2747..af089750 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -27,8 +27,24 @@ int main( int argc, char ** argv )
QApplication app( argc, argv );
+ app.setApplicationName( "GoldenDict" );
+ app.setOrganizationDomain( "http://goldendict.berlios.de/" );
+
app.setWindowIcon( QIcon( ":/icons/programicon.png" ) );
+ // Load translations
+
+ QTranslator qtTranslator;
+
+ qtTranslator.load( "qt_" + QLocale::system().name(),
+ QLibraryInfo::location( QLibraryInfo::TranslationsPath ) );
+ app.installTranslator( &qtTranslator );
+
+ QTranslator translator;
+ translator.load( QString( Config::getProgramDataDir() ) + "/locale/" + QLocale::system().name() );
+ app.installTranslator( &translator );
+
+
// Apply qt stylesheet
{
QFile builtInCssFile( ":/qt-style.css" );
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index 96c6c0c9..0f0a1e74 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -209,7 +209,7 @@ MainWindow::MainWindow():
ArticleView & view =
dynamic_cast< ArticleView & >( *( ui.tabWidget->currentWidget() ) );
- view.showDefinition( "Welcome!", UINT_MAX );
+ view.showDefinition( tr( "Welcome!" ), UINT_MAX );
}
ui.translateLine->setFocus();
diff --git a/src/sources.ui b/src/sources.ui
index 767df8ca..e13897f2 100644
--- a/src/sources.ui
+++ b/src/sources.ui
@@ -171,10 +171,18 @@
-
- Each morphology dictionary appears as a separate auxiliary dictionary which provides stem words for searches and spelling suggestions for mistyped words. Add appropriate dictionaries to the bottoms of the appropriate groups to use them.
+ Each morphology dictionary appears as a
+separate auxiliary dictionary which
+provides stem words for searches and
+spelling suggestions for mistyped words.
+Add appropriate dictionaries to the bottoms
+of the appropriate groups to use them.
+
+
+ Qt::PlainText
- true
+ false