misc/sdcv: Added (console dictionary application).

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Vladimir Yatsemirski 2012-12-27 18:27:13 +01:00 committed by Matteo Bernardini
parent 7941012fb8
commit 18bc18abd0
17 changed files with 1035 additions and 0 deletions

2
misc/sdcv/README Normal file
View File

@ -0,0 +1,2 @@
sdcv is a console version of stardict, a cross-platform
and international dictionary.

View File

@ -0,0 +1,14 @@
From: Michal Čihař <nijel@debian.org>
Subject: Update gettext version to use newer m4 macros
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
dnl Gettext stuff.
dnl ================================================================
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.14.1)
+AM_GNU_GETTEXT_VERSION(0.17)
GETTEXT_PACKAGE=sdcv
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])

View File

@ -0,0 +1,143 @@
From: Michal Čihař <nijel@debian.org>
Subject: Fix man page to be correct.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125983&group_id=122858&atid=694730
--- a/doc/uk/sdcv.1
+++ b/doc/uk/sdcv.1
@@ -1,14 +1,14 @@
-..TH SDCV 1 "2004-12-06" "sdcv-0.4"
-..SH NAME
+.TH SDCV 1 "2004-12-06" "sdcv-0.4"
+.SH NAME
sdcv \- консольна версія Зоряного словника [Stardict]
-..SH SYNOPSIS
-..B sdcv
+.SH SYNOPSIS
+.B sdcv
[
-..BI options
+.BI options
]
[list of words]
-..SH DESCRIPTION
-..I sdcv
+.SH DESCRIPTION
+.I sdcv
sdcv проста, міжплатформена текстова утиліта для роботи із
словниками у форматі Зоряного словника [StarDict].
Слово зі "списку слів", може бути рядком з початковим слешем '/'
@@ -19,37 +19,37 @@
У діалоговому режимі, якщо sdcv був скомпільований з підтримкою
бібліотеки readline, Ви можете використовувати клавіші ДОГОРИ
та ВНИЗ для роботи з хронологією.
-..SH OPTIONS
-..TP 8
-..B "\-h \-\-help"
+.SH OPTIONS
+.TP 8
+.B "\-h \-\-help"
відображає повідомлення довідки та виходить
-..TP 8
-..B "\-v \-\-verbose"
+.TP 8
+.B "\-v \-\-verbose"
відображає версію та виходить
-..TP 8
-..B "\-l \-\-list\-dicts"
+.TP 8
+.B "\-l \-\-list\-dicts"
відображає список доступних словників та виходить
-..TP 8
-..B "\-u \-\-use\-dict filename"
+.TP 8
+.B "\-u \-\-use\-dict filename"
для пошуку з використанням лише словника з цим іменем(bookname)
-..TP 8
-..B "\-n \-\-non\-interactive"
+.TP 8
+.B "\-n \-\-non\-interactive"
для використання в скриптах
-..TP 8
-..B "\-\-utf8\-output"
+.TP 8
+.B "\-\-utf8\-output"
Заставити sdcv розмовляти не в системному кодуванні locale, а робити вивід в utf8
-..TP 8
-..B "\-\-utf8\-input"
+.TP 8
+.B "\-\-utf8\-input"
Заставити sdcv слухати не в системному кодуванні locale, а припускати що це
ввід в utf8
-..TP 8
-..B "\-\-data\-dir path/to/directory"
+.TP 8
+.B "\-\-data\-dir path/to/directory"
Використовуйте цю теку як шлях до теки даних зоряного словника [stardict].
Це значає, що sdcv шукає словники у теці data-dir/dic.
-..SH FILES
-..TP
+.SH FILES
+.TP
/usr/share/stardict/dic
-..TP
+.TP
$(HOME)/.stardict/dic
Місце, де sdcv очікує знайти словники.
@@ -57,28 +57,28 @@
що Ви хочете, лише встановіть змінну оточення STARDICT_DATA_DIR.
Наприклад, якщо Ви маєте словники у теці /mnt/data/stardict-dicts/dic,
встановіть STARDICT_DATA_DIR у /mnt/data/stardict-dicts.
-..TP
+.TP
$(HOME)/.sdcv_history
Цей файл містить останні $(SDCV_HISTSIZE) слова, які Ви шукали з sdcv.
SDCV використовує цей файл при умові, якщо sdcv був скомпільований
з підтримкою бібліотеки readline.
-..SH ENVIROMENT
+.SH ENVIROMENT
Змінні оточення для \fIsdcv\fR:
-..TP 20
-..B STARDICT_DATA_DIR
+.TP 20
+.B STARDICT_DATA_DIR
Якщо встановлена, sdcv використає цю змінну як теку даних, це означає,
що sdcv шукатиме словники у $\fBSTARDICT_DATA_DIR\fR\dic
-..TP 20
-..B SDCV_HISTSIZE
+.TP 20
+.B SDCV_HISTSIZE
Якщо встановлена, sdcv писатиме у $(HOME)/.sdcv_history лише
останні $(SDCV_HISTSIZE) слова, які Ви шукали з sdcv. Якщо не встановлена,
то збірігатиметься останніх 2000 слів у $(HOME)/.sdcv_history.
-..SH BUGS
+.SH BUGS
Звіти про помилки висилайте на адресу dushistov на mail крапка ru.
Не забувайте включати слово "sdcv" десь у полі "Тема:".
-..SH AUTHORS
+.SH AUTHORS
Эвгений А. Душистов, Hu Zheng
-..SH SEE ALSO
+.SH SEE ALSO
stardict(1), http://sdcv.sourceforge.net/, http://stardict.sourceforge.net
--- a/doc/sdcv.1
+++ b/doc/sdcv.1
@@ -55,7 +55,7 @@
Place, where sdcv expect to find dictionaries.
Instead of /usr/share/stardict/dic you can use everything
-that you want, just set STARDICT_DATA_DIR enviroment variable.
+that you want, just set STARDICT_DATA_DIR environment variable.
For example, if you have dictionaries in /mnt/data/stardict-dicts/dic,
set STARDICT_DATA_DIR to /mnt/data/stardict-dicts.
.TP
@@ -64,7 +64,7 @@
This file include last $(SDCV_HISTSIZE) words, which you seek with sdcv.
SDCV use this file only if it was compiled with readline library support.
-.SH ENVIROMENT
+.SH ENVIRONMENT
Environment Variables Used By \fIsdcv\fR:
.TP 20
.B STARDICT_DATA_DIR

View File

@ -0,0 +1,45 @@
From: Michal Čihař <nijel@debian.org>
Subject: Fixes compilation with recent GCC which is more strict about C++.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125955&group_id=122858&atid=694730
--- a/src/readline.cpp
+++ b/src/readline.cpp
@@ -23,6 +23,7 @@
#endif
#include <cstdio>
+#include <cstdlib>
#ifdef WITH_READLINE
# include <readline/readline.h>
# include <readline/history.h>
--- a/src/libwrapper.cpp
+++ b/src/libwrapper.cpp
@@ -24,6 +24,7 @@
#include <glib/gi18n.h>
#include <map>
+#include <cstring>
#include "utils.hpp"
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -22,6 +22,8 @@
# include "config.h"
#endif
+#include <cstdio>
+#include <cstdlib>
#include <glib.h>
#include <glib/gi18n.h>
--- a/src/lib/lib.cpp
+++ b/src/lib/lib.cpp
@@ -513,7 +513,7 @@
{
fseek(idxfile, wordoffset[page_idx], SEEK_SET);
guint32 page_size=wordoffset[page_idx+1]-wordoffset[page_idx];
- fread(wordentry_buf, std::min(sizeof(wordentry_buf), page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
+ fread(wordentry_buf, std::min(sizeof(wordentry_buf), (size_t)page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
return wordentry_buf;
}

View File

@ -0,0 +1,21 @@
From: Michal Čihař <nijel@debian.org>
Subject: Fixes displaying of 'g' (gtk markup) entries.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125962&group_id=122858&atid=694730
--- a/src/libwrapper.cpp
+++ b/src/libwrapper.cpp
@@ -118,7 +118,6 @@
switch (*p++) {
case 'm':
case 'l': //need more work...
- case 'g':
sec_size = strlen(p);
if (sec_size) {
res+="\n";
@@ -128,6 +127,7 @@
}
sec_size++;
break;
+ case 'g':
case 'x':
sec_size = strlen(p);
if (sec_size) {

View File

@ -0,0 +1,80 @@
From: Michal ÄŒihaÅ™ <nijel@debian.org>
Subject: Fixes typo in program (choise -> choice).
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125953&group_id=122858&atid=694730
--- a/po/ru.po
+++ b/po/ru.po
@@ -127,7 +127,7 @@
#: src/libwrapper.cpp:366
#, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
"îÅÐÒÁ×ÉÌØÎÙÊ ×ÙÂÏÒ.\n"
--- a/po/sdcv.pot
+++ b/po/sdcv.pot
@@ -118,7 +118,7 @@
#: src/libwrapper.cpp:366
#, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
--- a/po/sk.po
+++ b/po/sk.po
@@ -124,7 +124,7 @@
#: src/libwrapper.cpp:366
#, fuzzy, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
"Neplatná voľba.\n"
--- a/po/uk.po
+++ b/po/uk.po
@@ -127,7 +127,7 @@
#: src/libwrapper.cpp:366
#, fuzzy, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
<>еправильний вибір.\n"
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -118,7 +118,7 @@
#: src/libwrapper.cpp:366
#, fuzzy, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
"无效的选择。\n"
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -120,7 +120,7 @@
#: src/libwrapper.cpp:366
#, fuzzy, c-format
msgid ""
-"Invalid choise.\n"
+"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
"無效的é<E2809E>¸æ“‡ã€\n"
--- a/src/libwrapper.cpp
+++ b/src/libwrapper.cpp
@@ -364,7 +364,7 @@
} else if (choise==-1)
break;
else
- printf(_("Invalid choise.\nIt must be from 0 to %d or -1.\n"),
+ printf(_("Invalid choice.\nIt must be from 0 to %d or -1.\n"),
res_list.size()-1);
}
} else {

View File

@ -0,0 +1,134 @@
From: Ivan Masár <helix84@centrum.sk>
Subject: Updates Slovak translation.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125956&group_id=122858&atid=694730
--- a/po/sk.po
+++ b/po/sk.po
@@ -1,21 +1,21 @@
# translation of sdcv.po to Slovak
# Copyright (C)
# Zdenko Podobný <zdpo@mailbox.sk>, 2004, 2005.
-#
+# Ivan Masár <helix84@centrum.sk>, 2007.
+
msgid ""
msgstr ""
"Project-Id-Version: sdcv 0.3.2\n"
"Report-Msgid-Bugs-To: dushistov@mail.ru\n"
"POT-Creation-Date: 2006-04-24 15:18+0400\n"
-"PO-Revision-Date: 2005-01-04 20:19+0100\n"
-"Last-Translator: Zdenko Podobný <zdpo@mailbox.sk>\n"
-"Language-Team: Slovak <<sk-i18n@lists.linux.sk>>\n"
+"PO-Revision-Date: 2007-09-11 00:22+0100\n"
+"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
+"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: src/sdcv.cpp:127
#, c-format
@@ -24,7 +24,7 @@
"Try '%s --help' for more information.\n"
msgstr ""
"Neznáma voľba.\n"
-"Skúste `%s --help'.\n"
+"Skúste „%s --help“.\n"
#: src/sdcv.cpp:134
#, c-format
@@ -43,15 +43,12 @@
#: src/sdcv.cpp:137
#, c-format
-msgid ""
-"-l, --list-dicts display list of available dictionaries and exit\n"
-msgstr ""
-"-l, --list-dicts zobrazí zoznam dostupných slovníkov a skončí\n"
+msgid "-l, --list-dicts display list of available dictionaries and exit\n"
+msgstr "-l, --list-dicts zobrazí zoznam dostupných slovníkov a skončí\n"
#: src/sdcv.cpp:138
#, c-format
-msgid ""
-"-u, --use-dict bookname for search use only dictionary with this bookname\n"
+msgid "-u, --use-dict bookname for search use only dictionary with this bookname\n"
msgstr "-u, --use-dict názov použiť pre hľadanie iba zvolený slovník\n"
#: src/sdcv.cpp:139
@@ -71,12 +68,8 @@
#: src/sdcv.cpp:142
#, c-format
-msgid ""
-"--data-dir path/to/dir use this directory as path to stardict data "
-"directory\n"
-msgstr ""
-"--data-dir path/to/dir použiť tento priečinok ako cestu pre stardict "
-"dátový priečinok\n"
+msgid "--data-dir path/to/dir use this directory as path to stardict data directory\n"
+msgstr "--data-dir path/to/dir použiť tento priečinok ako cestu pre stardict dátový priečinok\n"
#: src/sdcv.cpp:148
#, c-format
@@ -84,14 +77,14 @@
msgstr "Konzolová verzia StarDict, verzia %s\n"
#: src/sdcv.cpp:169
-#, fuzzy, c-format
+#, c-format
msgid "Dictionary's name Word count\n"
-msgstr "názov počet slov\n"
+msgstr "názov slovníka počet slov\n"
#: src/sdcv.cpp:191
#, c-format
msgid "g_mkdir failed: %s\n"
-msgstr ""
+msgstr "g_mkdir zlyhalo: %s\n"
#: src/sdcv.cpp:207
msgid "Enter word or phrase: "
@@ -104,7 +97,7 @@
#: src/libwrapper.cpp:245
msgid "popen failed"
-msgstr ""
+msgstr "popen zlyhalo"
#: src/libwrapper.cpp:282
#, c-format
@@ -117,18 +110,18 @@
msgstr "Nájdené %d položiek, podobných %s,\n"
#: src/libwrapper.cpp:352
-#, fuzzy, c-format
+#, c-format
msgid "Your choice[-1 to abort]: "
-msgstr "Vaša voľba: "
+msgstr "Vaša voľba[-1 zruší]: "
#: src/libwrapper.cpp:366
-#, fuzzy, c-format
+#, c-format
msgid ""
"Invalid choice.\n"
"It must be from 0 to %d or -1.\n"
msgstr ""
"Neplatná voľba.\n"
-"Musí byť od 0 po %d.\n"
+"Musí byť od 0 do %d alebo -1.\n"
#: src/libwrapper.cpp:382
#, c-format
@@ -137,6 +130,6 @@
#~ msgid "Can not convert %s to current locale.\n"
#~ msgstr "Nie je možné konvertovať %s na aktuálne locale.\n"
-
#~ msgid "There is no dictionary with this bookname: %s.\n"
#~ msgstr "Neexistuje slovník s takýmto názvom: %s.\n"
+

View File

@ -0,0 +1,145 @@
From: Michal Čihař <nijel@debian.org>
Subject: Add Czech translation.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125958&group_id=122858&atid=694730
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,2 @@
# Set of available languages.
-sk zh_CN ru uk zh_TW
+cs sk zh_CN ru uk zh_TW
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,133 @@
+# Czech translations for sdcv package.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the sdcv package.
+# Michal Čihař <michal@cihar.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: sdcv 0.4.2\n"
+"Report-Msgid-Bugs-To: dushistov@mail.ru\n"
+"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+"PO-Revision-Date: 2008-09-24 10:42+0200\n"
+"Last-Translator: Michal Čihař <michal@cihar.com>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: src/sdcv.cpp:127
+#, c-format
+msgid ""
+"Unknown option.\n"
+"Try '%s --help' for more information.\n"
+msgstr ""
+"Neznámý parametr.\n"
+"Zkuste '%s --help' pro nápovědu.\n"
+
+#: src/sdcv.cpp:134
+#, c-format
+msgid "Usage: %s [OPTIONS] words\n"
+msgstr "Použití: %s [PARAMETRY] slova\n"
+
+#: src/sdcv.cpp:135
+#, c-format
+msgid "-h, --help display this help and exit\n"
+msgstr "-h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: src/sdcv.cpp:136
+#, c-format
+msgid "-v, --version display version information and exit\n"
+msgstr "-v, --version zobrazí informace o verzi a skončí\n"
+
+#: src/sdcv.cpp:137
+#, c-format
+msgid ""
+"-l, --list-dicts display list of available dictionaries and exit\n"
+msgstr "-l, --list-dicts zobrazí seznam dostupných slovníků a skončí\n"
+
+#: src/sdcv.cpp:138
+#, c-format
+msgid ""
+"-u, --use-dict bookname for search use only dictionary with this bookname\n"
+msgstr "-u, --use-dict jméno vyhledávat jen v zadaném slovníku\n"
+
+#: src/sdcv.cpp:139
+#, c-format
+msgid "-n, --non-interactive for use in scripts\n"
+msgstr "-n, --non-interactive pro použití ve skriptech\n"
+
+#: src/sdcv.cpp:140
+#, c-format
+msgid "--utf8-output output must be in utf8\n"
+msgstr "--utf8-output výstup musí být v utf8\n"
+
+#: src/sdcv.cpp:141
+#, c-format
+msgid "--utf8-input input of sdcv in utf8\n"
+msgstr "--utf8-input vstup musí být v utf8\n"
+
+#: src/sdcv.cpp:142
+#, c-format
+msgid ""
+"--data-dir path/to/dir use this directory as path to stardict data "
+"directory\n"
+msgstr ""
+"--data-dir cesta/někam použít tento adresář jako cestu ke slovníkům "
+"stardict\n"
+
+#: src/sdcv.cpp:148
+#, c-format
+msgid "Console version of Stardict, version %s\n"
+msgstr "Konzolová verze Stardictu, verze %s\n"
+
+#: src/sdcv.cpp:169
+#, c-format
+msgid "Dictionary's name Word count\n"
+msgstr "Jméno slovníku Počet slov\n"
+
+#: src/sdcv.cpp:191
+#, c-format
+msgid "g_mkdir failed: %s\n"
+msgstr "g_mkdir selhalo: %s\n"
+
+#: src/sdcv.cpp:207
+msgid "Enter word or phrase: "
+msgstr "Zadejte slovo nebo frázi: "
+
+#: src/sdcv.cpp:215
+#, c-format
+msgid "There are no words/phrases to translate.\n"
+msgstr "Nebyla zadáno nic k přeložení.\n"
+
+#: src/libwrapper.cpp:246
+msgid "popen failed"
+msgstr "popen selhalo"
+
+#: src/libwrapper.cpp:283
+#, c-format
+msgid "Can not convert %s to utf8.\n"
+msgstr "Nepodařilo se převést %s do utf8.\n"
+
+#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+#, c-format
+msgid "Found %d items, similar to %s.\n"
+msgstr "Nalezeno %d záznamů podobných %s.\n"
+
+#: src/libwrapper.cpp:353
+#, c-format
+msgid "Your choice[-1 to abort]: "
+msgstr "Vaše volba [-1 pro ukončení]: "
+
+#: src/libwrapper.cpp:367
+#, c-format
+msgid ""
+"Invalid choice.\n"
+"It must be from 0 to %d or -1.\n"
+msgstr ""
+"Chybná volba.\n"
+"Musí být mezi 0 a %d nebo -1.\n"
+
+#: src/libwrapper.cpp:383
+#, c-format
+msgid "Nothing similar to %s, sorry :(\n"
+msgstr "Nic podobného %s nenalezeno, promiň :(\n"

View File

@ -0,0 +1,158 @@
From: Vincent Petry <PVince81@yahoo.fr>
Subject: This patch adds a french translation.
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,147 @@
+# French translations for sdcv package
+# Traduction française pour le paquet sdcv.
+# Copyright (C) 2004 THE sdcv'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the sdcv package.
+# <dushistov@mail.ru>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: sdcv 0.4.2\n"
+"Report-Msgid-Bugs-To: dushistov@mail.ru\n"
+"POT-Creation-Date: 2009-06-15 23:20+0800\n"
+"PO-Revision-Date: 2009-06-15 23:20+0800\n"
+"Last-Translator: <PVince81@yahoo.fr>\n"
+"Language-Team: Vincent Petry <PVince81@yahoo.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: src/sdcv.cpp:127
+#, c-format
+msgid ""
+"Unknown option.\n"
+"Try '%s --help' for more information.\n"
+msgstr ""
+"Option inconnue.\n"
+"Essayez '%s --help' pour plus d'informations.\n"
+
+#: src/sdcv.cpp:134
+#, c-format
+msgid "Usage: %s [OPTIONS] words\n"
+msgstr "Usage: %s [OPTIONS] mots\n"
+
+#: src/sdcv.cpp:135
+#, c-format
+msgid "-h, --help display this help and exit\n"
+msgstr "-h, --help afficher cet aide et sortir\n"
+
+#: src/sdcv.cpp:136
+#, c-format
+msgid "-v, --version display version information and exit\n"
+msgstr ""
+"-v, --version afficher les informations de version et sortir\n"
+
+#: src/sdcv.cpp:137
+#, c-format
+msgid ""
+"-l, --list-dicts display list of available dictionaries and exit\n"
+msgstr ""
+"-l, --list-dicts afficher la liste des dictionnaires disponibles et "
+"sortir\n"
+
+#: src/sdcv.cpp:138
+#, c-format
+msgid ""
+"-u, --use-dict bookname for search use only dictionary with this bookname\n"
+msgstr ""
+"-u, --use-dict nom_dict pour chercher seulement en utilisant le dictionnaire "
+"spécifié\n"
+
+#: src/sdcv.cpp:139
+#, c-format
+msgid "-n, --non-interactive for use in scripts\n"
+msgstr "-n, --non-interactive pour l'utilisation dans des scripts\n"
+
+#: src/sdcv.cpp:140
+#, c-format
+msgid "--utf8-output output must be in utf8\n"
+msgstr "--utf8-output force la sortie au format utf8\n"
+
+#: src/sdcv.cpp:141
+#, c-format
+msgid "--utf8-input input of sdcv in utf8\n"
+msgstr "--utf8-input force l'entrée de sdcv au format utf8\n"
+
+#: src/sdcv.cpp:142
+#, c-format
+msgid ""
+"--data-dir path/to/dir use this directory as path to stardict data "
+"directory\n"
+msgstr ""
+"--data-dir chemin utiliser ce chemin pour trouver les données de "
+"stardict\n"
+
+#: src/sdcv.cpp:148
+#, c-format
+msgid "Console version of Stardict, version %s\n"
+msgstr "Version console de Stardict, version %s\n"
+
+#: src/sdcv.cpp:169
+#, c-format
+msgid "Dictionary's name Word count\n"
+msgstr "Nom dictionnaire Nombre de mots\n"
+
+#: src/sdcv.cpp:191
+#, c-format
+msgid "g_mkdir failed: %s\n"
+msgstr "Échec de g_mkdir : %s\n"
+
+#: src/sdcv.cpp:207
+msgid "Enter word or phrase: "
+msgstr "Entrez un mot ou une phrase: "
+
+#: src/sdcv.cpp:215
+#, c-format
+msgid "There are no words/phrases to translate.\n"
+msgstr "Il n'y a pas de mots/phrases à traduire.\n"
+
+#: src/libwrapper.cpp:245
+msgid "popen failed"
+msgstr "Échec de popen"
+
+#: src/libwrapper.cpp:282
+#, c-format
+msgid "Can not convert %s to utf8.\n"
+msgstr "Ne peut convertir %s au format utf8.\n"
+
+#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
+#, c-format
+msgid "Found %d items, similar to %s.\n"
+msgstr "Trouvé %d éléments similaires à %s.\n"
+
+#: src/libwrapper.cpp:352
+#, c-format
+msgid "Your choice[-1 to abort]: "
+msgstr "Votre choix[-1 pour abandonner] : "
+
+#: src/libwrapper.cpp:366
+#, c-format
+msgid ""
+"Invalid choise.\n"
+"It must be from 0 to %d or -1.\n"
+msgstr ""
+"Selection invalide.\n"
+"Veuillez choisir un nombre entre 0 et %d, ou -1.\n"
+
+#: src/libwrapper.cpp:382
+#, c-format
+msgid "Nothing similar to %s, sorry :(\n"
+msgstr "Aucun mot/phrase similaire à %s, désolé :(\n"
+
+#~ msgid "Can not convert %s to current locale.\n"
+#~ msgstr "Ne peut pas convertir %s dans la locale courante.\n"
+
+#~ msgid "There is no dictionary with this bookname: %s.\n"
+#~ msgstr "Pas de dictionnaire : %s.\n"
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,2 @@
# Set of available languages.
-cs sk zh_CN ru uk zh_TW
+cs sk zh_CN ru uk zh_TW fr

View File

@ -0,0 +1,53 @@
From: Michal Čihař <nijel@debian.org>
Subject: Fixes tests so that they can be executed using dash as /bin/sh.
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2125959&group_id=122858&atid=694730
--- a/tests/t_datadir
+++ b/tests/t_datadir
@@ -2,11 +2,11 @@
unset SDCV_PAGER
have=`../src/sdcv --data-dir ./ -l | wc -l`
-let have=have-1
+have=$(($have-1))
ndicts=`find "${HOME}"/.stardict/dic -name "*.ifo" -print | wc -l`
-let ndicts=ndicts+1
+ndicts=$(($ndicts+1))
if [ $have -ne $ndicts ]; then
- let ndicts=ndicts-1
+ ndicts=$(($ndicts-1))
echo "test failed: sdcv says: we have: $have, but really we have: $ndicts" >&2
exit 1
fi
--- a/tests/t_list
+++ b/tests/t_list
@@ -1,10 +1,10 @@
#!/bin/sh
ndicts=`../src/sdcv -l | wc -l`
-let ndicts=ndicts-1
+ndicts=$(($ndicts-1))
ncom=`find /usr/share/stardict/dic -name "*.ifo" | wc -l`
nspe=`find "${HOME}"/.stardict/dic -name "*.ifo" | wc -l`
-let nmy=ncom+nspe
+nmy=$(($ncom+$nspe))
if [ $nmy -ne $ndicts ]; then
echo "should be: $nmy, we have: $ndicts" >&2
--- a/tests/t_utf8input
+++ b/tests/t_utf8input
@@ -9,13 +9,13 @@
"
j=0
for i in `../src/sdcv --utf8-input -n человек 2>&1`; do
- let j=j+1
+ j=$(($j+1))
if [ $j -ne 1 ]; then
break;
fi
done
-if [ $j -eq 1 ]; then
+if [ $j -ne 1 ]; then
echo "empty results of search: test failed" >&2
exit 1
fi

View File

@ -0,0 +1,31 @@
From: Michal Čihař <nijel@debian.org>
Subject: Use environment variable HOME to get home directory. g_get_home_dir does ignore it.
Index: sdcv-0.4.2/src/sdcv.cpp
===================================================================
--- sdcv-0.4.2.orig/src/sdcv.cpp 2008-10-03 09:15:26.000000000 +0200
+++ sdcv-0.4.2/src/sdcv.cpp 2008-10-03 09:16:25.000000000 +0200
@@ -157,11 +157,14 @@
data_dir="/usr/share/stardict/dic";
}
+ const char *homedir = g_getenv ("HOME");
+ if (!homedir)
+ homedir = g_get_home_dir ();
strlist_t dicts_dir_list;
- dicts_dir_list.push_back(std::string(g_get_home_dir())+G_DIR_SEPARATOR+
+ dicts_dir_list.push_back(std::string(homedir)+G_DIR_SEPARATOR+
".stardict"+G_DIR_SEPARATOR+"dic");
dicts_dir_list.push_back(data_dir);
@@ -186,7 +189,7 @@
}
- string conf_dir = string(g_get_home_dir())+G_DIR_SEPARATOR+".stardict";
+ string conf_dir = string(homedir)+G_DIR_SEPARATOR+".stardict";
if (g_mkdir(conf_dir.c_str(), S_IRWXU)==-1 && errno!=EEXIST)
fprintf(stderr, _("g_mkdir failed: %s\n"), strerror(errno));

View File

@ -0,0 +1,27 @@
From: Michal Čihař <nijel@debian.org>
Subject: Fix unalligned access to buffer.
On several architectures (arm, armel, sparc and ia64), unalligned access to
integers is not allowed. Buffer in this function is not alligned at all and
attempt to read integer from it causes crash of application on such
architectures.
Bug: https://sourceforge.net/tracker/index.php?func=detail&aid=2149388&group_id=122858&atid=694730
--- a/src/lib/lib.cpp
+++ b/src/lib/lib.cpp
@@ -496,9 +496,13 @@
entries[i].keystr=p;
len=strlen(p);
p+=len+1;
- entries[i].off=g_ntohl(*reinterpret_cast<guint32 *>(p));
+ /*
+ * Can not use typecasting here, because *data does not have
+ * to be alligned and unalligned access fails on some architectures.
+ */
+ entries[i].off=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
p+=sizeof(guint32);
- entries[i].size=g_ntohl(*reinterpret_cast<guint32 *>(p));
+ entries[i].size=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
p+=sizeof(guint32);
}
}

View File

@ -0,0 +1,35 @@
From: Michal Čihař <nijel@debian.org>
Subject: Printing of size_t type should use %zd.
--- a/src/libwrapper.cpp
+++ b/src/libwrapper.cpp
@@ -337,13 +337,13 @@
}//if (!force)
if (!show_all_results && !force) {
- printf(_("Found %d items, similar to %s.\n"), res_list.size(),
+ printf(_("Found %zd items, similar to %s.\n"), res_list.size(),
utf8_output ? str : utf8_to_locale_ign_err(str).c_str());
for (size_t i=0; i<res_list.size(); ++i) {
string loc_bookname, loc_def;
loc_bookname=utf8_to_locale_ign_err(res_list[i].bookname);
loc_def=utf8_to_locale_ign_err(res_list[i].def);
- printf("%d)%s-->%s\n", i,
+ printf("%zd)%s-->%s\n", i,
utf8_output ? res_list[i].bookname.c_str() : loc_bookname.c_str(),
utf8_output ? res_list[i].def.c_str() : loc_def.c_str());
}
@@ -364,12 +364,12 @@
} else if (choise==-1)
break;
else
- printf(_("Invalid choice.\nIt must be from 0 to %d or -1.\n"),
+ printf(_("Invalid choice.\nIt must be from 0 to %zd or -1.\n"),
res_list.size()-1);
}
} else {
sdcv_pager pager(force);
- fprintf(pager.get_stream(), _("Found %d items, similar to %s.\n"),
+ fprintf(pager.get_stream(), _("Found %zd items, similar to %s.\n"),
res_list.size(), utf8_output ? str : utf8_to_locale_ign_err(str).c_str());
for (PSearchResult ptr=res_list.begin(); ptr!=res_list.end(); ++ptr)
print_search_result(pager.get_stream(), *ptr);

View File

@ -0,0 +1,19 @@
From: Michal Čihař <nijel@debian.org>
Subject: Zlib can return negative value, but gulong is unsigned, so it can not catch the error state.
--- a/src/lib/lib.cpp
+++ b/src/lib/lib.cpp
@@ -751,12 +751,12 @@
idxdatabuf = (gchar *)g_malloc(fsize);
- gulong len = gzread(in, idxdatabuf, fsize);
+ ssize_t len = gzread(in, idxdatabuf, fsize);
gzclose(in);
if (len < 0)
return false;
- if (len != fsize)
+ if (len != (ssize_t)fsize)
return false;
wordlist.resize(wc+1);

107
misc/sdcv/sdcv.SlackBuild Normal file
View File

@ -0,0 +1,107 @@
#!/bin/sh
# Slackware build script for sdcv
# Copyright 2012 Vladimir Yatsemirski <7catssmile@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sdcv
VERSION=${VERSION:-0.4.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Apply Debian patches
for i in $CWD/patches/* ; do patch -p1 < $i ; done
autoreconf -fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--with-readline \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README TODO\
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

10
misc/sdcv/sdcv.info Normal file
View File

@ -0,0 +1,10 @@
PRGNAM="sdcv"
VERSION="0.4.2"
HOMEPAGE="http://sdcv.sourceforge.net"
DOWNLOAD="http://downloads.sourceforge.net/sdcv/sdcv-0.4.2.tar.bz2"
MD5SUM="f624662b333daa5da2d3e99cef519f17"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Vladimir Yatsemirski"
EMAIL="7catssmile@gmail.com"

11
misc/sdcv/slack-desc Normal file
View File

@ -0,0 +1,11 @@
sdcv: sdcv (console dictionary application)
sdcv:
sdcv: sdcv is a console version of stardict, a cross-platform
sdcv: and international dictionary.
sdcv:
sdcv: homepage: http://sdcv.sourceforge.net
sdcv:
sdcv:
sdcv:
sdcv:
sdcv: