initial cvs import of ant-phone v0.1.12, http://www.antcom.de/ant-phone/
This commit is contained in:
parent
bef0f177a6
commit
541e6fcb03
|
@ -0,0 +1,625 @@
|
|||
Notes on the Free Translation Project
|
||||
*************************************
|
||||
|
||||
Free software is going international! The Free Translation Project
|
||||
is a way to get maintainers of free software, translators, and users all
|
||||
together, so that will gradually become able to speak many languages.
|
||||
A few packages already provide translations for their messages.
|
||||
|
||||
If you found this `ABOUT-NLS' file inside a distribution, you may
|
||||
assume that the distributed package does use GNU `gettext' internally,
|
||||
itself available at your nearest GNU archive site. But you do _not_
|
||||
need to install GNU `gettext' prior to configuring, installing or using
|
||||
this package with messages translated.
|
||||
|
||||
Installers will find here some useful hints. These notes also
|
||||
explain how users should proceed for getting the programs to use the
|
||||
available translations. They tell how people wanting to contribute and
|
||||
work at translations should contact the appropriate team.
|
||||
|
||||
When reporting bugs in the `intl/' directory or bugs which may be
|
||||
related to internationalization, you should tell about the version of
|
||||
`gettext' which is used. The information can be found in the
|
||||
`intl/VERSION' file, in internationalized packages.
|
||||
|
||||
Quick configuration advice
|
||||
==========================
|
||||
|
||||
If you want to exploit the full power of internationalization, you
|
||||
should configure it using
|
||||
|
||||
./configure --with-included-gettext
|
||||
|
||||
to force usage of internationalizing routines provided within this
|
||||
package, despite the existence of internationalizing capabilities in the
|
||||
operating system where this package is being installed. So far, only
|
||||
the `gettext' implementation in the GNU C library version 2 provides as
|
||||
many features (such as locale alias, message inheritance, automatic
|
||||
charset conversion or plural form handling) as the implementation here.
|
||||
It is also not possible to offer this additional functionality on top
|
||||
of a `catgets' implementation. Future versions of GNU `gettext' will
|
||||
very likely convey even more functionality. So it might be a good idea
|
||||
to change to GNU `gettext' as soon as possible.
|
||||
|
||||
So you need _not_ provide this option if you are using GNU libc 2 or
|
||||
you have installed a recent copy of the GNU gettext package with the
|
||||
included `libintl'.
|
||||
|
||||
INSTALL Matters
|
||||
===============
|
||||
|
||||
Some packages are "localizable" when properly installed; the
|
||||
programs they contain can be made to speak your own native language.
|
||||
Most such packages use GNU `gettext'. Other packages have their own
|
||||
ways to internationalization, predating GNU `gettext'.
|
||||
|
||||
By default, this package will be installed to allow translation of
|
||||
messages. It will automatically detect whether the system already
|
||||
provides the GNU `gettext' functions. If not, the GNU `gettext' own
|
||||
library will be used. This library is wholly contained within this
|
||||
package, usually in the `intl/' subdirectory, so prior installation of
|
||||
the GNU `gettext' package is _not_ required. Installers may use
|
||||
special options at configuration time for changing the default
|
||||
behaviour. The commands:
|
||||
|
||||
./configure --with-included-gettext
|
||||
./configure --disable-nls
|
||||
|
||||
will respectively bypass any pre-existing `gettext' to use the
|
||||
internationalizing routines provided within this package, or else,
|
||||
_totally_ disable translation of messages.
|
||||
|
||||
When you already have GNU `gettext' installed on your system and run
|
||||
configure without an option for your new package, `configure' will
|
||||
probably detect the previously built and installed `libintl.a' file and
|
||||
will decide to use this. This might be not what is desirable. You
|
||||
should use the more recent version of the GNU `gettext' library. I.e.
|
||||
if the file `intl/VERSION' shows that the library which comes with this
|
||||
package is more recent, you should use
|
||||
|
||||
./configure --with-included-gettext
|
||||
|
||||
to prevent auto-detection.
|
||||
|
||||
The configuration process will not test for the `catgets' function
|
||||
and therefore it will not be used. The reason is that even an
|
||||
emulation of `gettext' on top of `catgets' could not provide all the
|
||||
extensions of the GNU `gettext' library.
|
||||
|
||||
Internationalized packages have usually many `po/LL.po' files, where
|
||||
LL gives an ISO 639 two-letter code identifying the language. Unless
|
||||
translations have been forbidden at `configure' time by using the
|
||||
`--disable-nls' switch, all available translations are installed
|
||||
together with the package. However, the environment variable `LINGUAS'
|
||||
may be set, prior to configuration, to limit the installed set.
|
||||
`LINGUAS' should then contain a space separated list of two-letter
|
||||
codes, stating which languages are allowed.
|
||||
|
||||
Using This Package
|
||||
==================
|
||||
|
||||
As a user, if your language has been installed for this package, you
|
||||
only have to set the `LANG' environment variable to the appropriate
|
||||
`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
|
||||
and `CC' is an ISO 3166 two-letter country code. For example, let's
|
||||
suppose that you speak German and live in Germany. At the shell
|
||||
prompt, merely execute `setenv LANG de_DE' (in `csh'),
|
||||
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
|
||||
This can be done from your `.login' or `.profile' file, once and for
|
||||
all.
|
||||
|
||||
You might think that the country code specification is redundant.
|
||||
But in fact, some languages have dialects in different countries. For
|
||||
example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
|
||||
country code serves to distinguish the dialects.
|
||||
|
||||
The locale naming convention of `LL_CC', with `LL' denoting the
|
||||
language and `CC' denoting the country, is the one use on systems based
|
||||
on GNU libc. On other systems, some variations of this scheme are
|
||||
used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
|
||||
locales supported by your system for your country by running the command
|
||||
`locale -a | grep '^LL''.
|
||||
|
||||
Not all programs have translations for all languages. By default, an
|
||||
English message is shown in place of a nonexistent translation. If you
|
||||
understand other languages, you can set up a priority list of languages.
|
||||
This is done through a different environment variable, called
|
||||
`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
|
||||
for the purpose of message handling, but you still need to have `LANG'
|
||||
set to the primary language; this is required by other parts of the
|
||||
system libraries. For example, some Swedish users who would rather
|
||||
read translations in German than English for when Swedish is not
|
||||
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
|
||||
|
||||
In the `LANGUAGE' environment variable, but not in the `LANG'
|
||||
environment variable, `LL_CC' combinations can be abbreviated as `LL'
|
||||
to denote the language's main dialect. For example, `de' is equivalent
|
||||
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
|
||||
(Portuguese as spoken in Portugal) in this context.
|
||||
|
||||
Translating Teams
|
||||
=================
|
||||
|
||||
For the Free Translation Project to be a success, we need interested
|
||||
people who like their own language and write it well, and who are also
|
||||
able to synergize with other translators speaking the same language.
|
||||
Each translation team has its own mailing list. The up-to-date list of
|
||||
teams can be found at the Free Translation Project's homepage,
|
||||
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
|
||||
area.
|
||||
|
||||
If you'd like to volunteer to _work_ at translating messages, you
|
||||
should become a member of the translating team for your own language.
|
||||
The subscribing address is _not_ the same as the list itself, it has
|
||||
`-request' appended. For example, speakers of Swedish can send a
|
||||
message to `sv-request@li.org', having this message body:
|
||||
|
||||
subscribe
|
||||
|
||||
Keep in mind that team members are expected to participate
|
||||
_actively_ in translations, or at solving translational difficulties,
|
||||
rather than merely lurking around. If your team does not exist yet and
|
||||
you want to start one, or if you are unsure about what to do or how to
|
||||
get started, please write to `translation@iro.umontreal.ca' to reach the
|
||||
coordinator for all translator teams.
|
||||
|
||||
The English team is special. It works at improving and uniformizing
|
||||
the terminology in use. Proven linguistic skill are praised more than
|
||||
programming skill, here.
|
||||
|
||||
Available Packages
|
||||
==================
|
||||
|
||||
Languages are not equally supported in all packages. The following
|
||||
matrix shows the current state of internationalization, as of May 2003.
|
||||
The matrix shows, in regard of each package, for which languages PO
|
||||
files have been submitted to translation coordination, with a
|
||||
translation percentage of at least 50%.
|
||||
|
||||
Ready PO files am az be bg ca cs da de el en en_GB eo es
|
||||
+-------------------------------------------+
|
||||
a2ps | [] [] [] [] |
|
||||
aegis | () |
|
||||
anubis | |
|
||||
ap-utils | |
|
||||
bash | [] [] [] |
|
||||
batchelor | |
|
||||
bfd | [] [] |
|
||||
binutils | [] [] |
|
||||
bison | [] [] [] |
|
||||
bluez-pin | [] [] |
|
||||
clisp | |
|
||||
clisp | [] [] [] |
|
||||
coreutils | [] [] [] [] |
|
||||
cpio | [] [] [] |
|
||||
darkstat | () [] |
|
||||
diffutils | [] [] [] [] [] [] [] |
|
||||
e2fsprogs | [] [] |
|
||||
enscript | [] [] [] [] |
|
||||
error | [] [] [] [] [] |
|
||||
fetchmail | [] () [] [] [] [] |
|
||||
fileutils | [] [] [] |
|
||||
findutils | [] [] [] [] [] [] |
|
||||
flex | [] [] [] [] |
|
||||
gas | [] |
|
||||
gawk | [] [] [] [] |
|
||||
gcal | [] |
|
||||
gcc | [] [] |
|
||||
gettext | [] [] [] [] [] |
|
||||
gettext-runtime | [] [] [] [] [] |
|
||||
gettext-tools | [] [] |
|
||||
gimp-print | [] [] [] [] [] |
|
||||
gliv | |
|
||||
glunarclock | [] [] [] |
|
||||
gnucash | () [] |
|
||||
gnucash-glossary | [] () [] |
|
||||
gnupg | [] () [] [] [] [] |
|
||||
gpe-calendar | [] |
|
||||
gpe-conf | [] |
|
||||
gpe-contacts | [] |
|
||||
gpe-edit | |
|
||||
gpe-login | [] |
|
||||
gpe-ownerinfo | [] |
|
||||
gpe-sketchbook | [] |
|
||||
gpe-timesheet | |
|
||||
gpe-today | [] |
|
||||
gpe-todo | [] |
|
||||
gphoto2 | [] [] [] [] |
|
||||
gprof | [] [] |
|
||||
gpsdrive | () () () |
|
||||
grep | [] [] [] [] [] |
|
||||
gretl | [] |
|
||||
hello | [] [] [] [] [] [] |
|
||||
id-utils | [] [] |
|
||||
indent | [] [] [] [] |
|
||||
jpilot | [] [] [] [] |
|
||||
jwhois | [] |
|
||||
kbd | [] [] [] [] [] |
|
||||
ld | [] [] |
|
||||
libc | [] [] [] [] [] [] |
|
||||
libgpewidget | [] |
|
||||
libiconv | [] [] [] [] [] |
|
||||
lifelines | [] () |
|
||||
lilypond | [] |
|
||||
lingoteach | |
|
||||
lingoteach_lessons | () () |
|
||||
lynx | [] [] [] [] |
|
||||
m4 | [] [] [] [] |
|
||||
mailutils | [] [] |
|
||||
make | [] [] [] |
|
||||
man-db | [] () [] [] () |
|
||||
mysecretdiary | [] [] [] |
|
||||
nano | [] () [] [] [] |
|
||||
nano_1_0 | [] () [] [] [] |
|
||||
opcodes | [] [] |
|
||||
parted | [] [] [] [] [] |
|
||||
ptx | [] [] [] [] [] |
|
||||
python | |
|
||||
radius | |
|
||||
recode | [] [] [] [] [] [] |
|
||||
screem | |
|
||||
sed | [] [] [] [] [] |
|
||||
sh-utils | [] [] [] |
|
||||
sharutils | [] [] [] [] [] [] |
|
||||
sketch | [] () [] |
|
||||
soundtracker | [] [] [] |
|
||||
sp | [] |
|
||||
tar | [] [] [] [] |
|
||||
texinfo | [] [] [] [] |
|
||||
textutils | [] [] [] [] |
|
||||
tin | () () |
|
||||
util-linux | [] [] [] [] [] |
|
||||
vorbis-tools | [] [] [] |
|
||||
wastesedge | () |
|
||||
wdiff | [] [] [] [] |
|
||||
wget | [] [] [] [] [] [] [] |
|
||||
xchat | [] [] [] |
|
||||
xpad | |
|
||||
+-------------------------------------------+
|
||||
am az be bg ca cs da de el en en_GB eo es
|
||||
0 1 4 2 31 17 54 60 14 1 4 12 56
|
||||
|
||||
et fa fi fr ga gl he hr hu id it ja ko
|
||||
+----------------------------------------+
|
||||
a2ps | [] [] [] () () |
|
||||
aegis | |
|
||||
anubis | [] |
|
||||
ap-utils | [] |
|
||||
bash | [] [] |
|
||||
batchelor | [] |
|
||||
bfd | [] [] |
|
||||
binutils | [] [] |
|
||||
bison | [] [] [] [] |
|
||||
bluez-pin | [] [] [] [] |
|
||||
clisp | |
|
||||
clisp | [] |
|
||||
coreutils | [] [] [] [] |
|
||||
cpio | [] [] [] [] |
|
||||
darkstat | () [] [] [] |
|
||||
diffutils | [] [] [] [] [] [] [] |
|
||||
e2fsprogs | |
|
||||
enscript | [] [] |
|
||||
error | [] [] [] [] |
|
||||
fetchmail | [] |
|
||||
fileutils | [] [] [] [] [] |
|
||||
findutils | [] [] [] [] [] [] [] [] [] [] [] |
|
||||
flex | [] [] |
|
||||
gas | [] |
|
||||
gawk | [] [] |
|
||||
gcal | [] |
|
||||
gcc | [] |
|
||||
gettext | [] [] [] |
|
||||
gettext-runtime | [] [] [] [] |
|
||||
gettext-tools | [] |
|
||||
gimp-print | [] [] |
|
||||
gliv | () |
|
||||
glunarclock | [] [] [] [] |
|
||||
gnucash | [] |
|
||||
gnucash-glossary | [] |
|
||||
gnupg | [] [] [] [] [] [] [] |
|
||||
gpe-calendar | [] |
|
||||
gpe-conf | |
|
||||
gpe-contacts | [] |
|
||||
gpe-edit | [] [] |
|
||||
gpe-login | [] |
|
||||
gpe-ownerinfo | [] [] [] |
|
||||
gpe-sketchbook | [] |
|
||||
gpe-timesheet | [] [] [] |
|
||||
gpe-today | [] [] |
|
||||
gpe-todo | [] [] |
|
||||
gphoto2 | [] [] [] |
|
||||
gprof | [] [] |
|
||||
gpsdrive | () [] () () |
|
||||
grep | [] [] [] [] [] [] [] [] [] [] [] |
|
||||
gretl | [] |
|
||||
hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
|
||||
id-utils | [] [] [] |
|
||||
indent | [] [] [] [] [] [] [] [] |
|
||||
jpilot | [] () |
|
||||
jwhois | [] [] [] [] |
|
||||
kbd | [] |
|
||||
ld | [] |
|
||||
libc | [] [] [] [] [] [] |
|
||||
libgpewidget | [] [] [] |
|
||||
libiconv | [] [] [] [] [] [] [] [] |
|
||||
lifelines | () |
|
||||
lilypond | [] |
|
||||
lingoteach | [] [] |
|
||||
lingoteach_lessons | |
|
||||
lynx | [] [] [] [] |
|
||||
m4 | [] [] [] [] |
|
||||
mailutils | |
|
||||
make | [] [] [] [] [] [] |
|
||||
man-db | [] () () |
|
||||
mysecretdiary | [] [] |
|
||||
nano | [] [] [] [] |
|
||||
nano_1_0 | [] [] [] [] |
|
||||
opcodes | [] [] |
|
||||
parted | [] [] [] |
|
||||
ptx | [] [] [] [] [] [] [] |
|
||||
python | |
|
||||
radius | |
|
||||
recode | [] [] [] [] [] [] |
|
||||
screem | |
|
||||
sed | [] [] [] [] [] [] [] [] |
|
||||
sh-utils | [] [] [] [] [] [] |
|
||||
sharutils | [] [] [] [] [] |
|
||||
sketch | [] |
|
||||
soundtracker | [] [] [] |
|
||||
sp | [] () |
|
||||
tar | [] [] [] [] [] [] [] [] [] |
|
||||
texinfo | [] [] [] [] |
|
||||
textutils | [] [] [] [] [] |
|
||||
tin | [] () |
|
||||
util-linux | [] [] [] [] () [] |
|
||||
vorbis-tools | [] |
|
||||
wastesedge | () |
|
||||
wdiff | [] [] [] [] [] |
|
||||
wget | [] [] [] [] [] [] [] [] |
|
||||
xchat | [] [] [] |
|
||||
xpad | |
|
||||
+----------------------------------------+
|
||||
et fa fi fr ga gl he hr hu id it ja ko
|
||||
20 1 15 73 14 24 8 10 30 31 19 31 9
|
||||
|
||||
lg lt lv ms nb nl nn no pl pt pt_BR ro
|
||||
+----------------------------------------+
|
||||
a2ps | [] [] () () () [] [] |
|
||||
aegis | () |
|
||||
anubis | [] [] |
|
||||
ap-utils | () |
|
||||
bash | [] |
|
||||
batchelor | |
|
||||
bfd | |
|
||||
binutils | |
|
||||
bison | [] [] [] [] |
|
||||
bluez-pin | [] |
|
||||
clisp | |
|
||||
clisp | [] |
|
||||
coreutils | [] |
|
||||
cpio | [] [] [] |
|
||||
darkstat | [] [] [] [] |
|
||||
diffutils | [] [] [] |
|
||||
e2fsprogs | |
|
||||
enscript | [] [] |
|
||||
error | [] [] |
|
||||
fetchmail | () () |
|
||||
fileutils | [] |
|
||||
findutils | [] [] [] [] |
|
||||
flex | [] |
|
||||
gas | |
|
||||
gawk | [] |
|
||||
gcal | |
|
||||
gcc | |
|
||||
gettext | [] |
|
||||
gettext-runtime | [] |
|
||||
gettext-tools | |
|
||||
gimp-print | [] |
|
||||
gliv | [] |
|
||||
glunarclock | [] |
|
||||
gnucash | |
|
||||
gnucash-glossary | [] [] |
|
||||
gnupg | |
|
||||
gpe-calendar | [] [] |
|
||||
gpe-conf | [] [] |
|
||||
gpe-contacts | [] |
|
||||
gpe-edit | [] [] |
|
||||
gpe-login | [] [] |
|
||||
gpe-ownerinfo | [] [] |
|
||||
gpe-sketchbook | [] [] |
|
||||
gpe-timesheet | [] [] |
|
||||
gpe-today | [] [] |
|
||||
gpe-todo | [] [] |
|
||||
gphoto2 | |
|
||||
gprof | [] |
|
||||
gpsdrive | () () () |
|
||||
grep | [] [] [] [] |
|
||||
gretl | |
|
||||
hello | [] [] [] [] [] [] [] [] [] |
|
||||
id-utils | [] [] [] |
|
||||
indent | [] [] [] |
|
||||
jpilot | () () |
|
||||
jwhois | [] [] [] |
|
||||
kbd | |
|
||||
ld | |
|
||||
libc | [] [] [] [] |
|
||||
libgpewidget | [] [] |
|
||||
libiconv | [] [] |
|
||||
lifelines | |
|
||||
lilypond | [] |
|
||||
lingoteach | |
|
||||
lingoteach_lessons | |
|
||||
lynx | [] [] |
|
||||
m4 | [] [] [] [] |
|
||||
mailutils | |
|
||||
make | [] [] |
|
||||
man-db | [] |
|
||||
mysecretdiary | [] |
|
||||
nano | [] [] [] [] |
|
||||
nano_1_0 | [] [] [] [] |
|
||||
opcodes | [] [] [] |
|
||||
parted | [] [] [] |
|
||||
ptx | [] [] [] [] [] [] [] |
|
||||
python | |
|
||||
radius | |
|
||||
recode | [] [] [] |
|
||||
screem | |
|
||||
sed | [] [] |
|
||||
sh-utils | [] |
|
||||
sharutils | [] |
|
||||
sketch | [] |
|
||||
soundtracker | |
|
||||
sp | |
|
||||
tar | [] [] [] [] [] [] |
|
||||
texinfo | [] |
|
||||
textutils | [] |
|
||||
tin | |
|
||||
util-linux | [] [] |
|
||||
vorbis-tools | [] [] |
|
||||
wastesedge | |
|
||||
wdiff | [] [] [] [] |
|
||||
wget | [] [] [] |
|
||||
xchat | [] [] |
|
||||
xpad | [] |
|
||||
+----------------------------------------+
|
||||
lg lt lv ms nb nl nn no pl pt pt_BR ro
|
||||
0 0 2 11 7 26 3 4 18 15 34 34
|
||||
|
||||
ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
|
||||
+-------------------------------------------+
|
||||
a2ps | [] [] [] [] [] | 16
|
||||
aegis | () | 0
|
||||
anubis | [] [] | 5
|
||||
ap-utils | () | 1
|
||||
bash | [] | 7
|
||||
batchelor | | 1
|
||||
bfd | [] [] [] | 7
|
||||
binutils | [] [] [] | 7
|
||||
bison | [] [] | 13
|
||||
bluez-pin | | 7
|
||||
clisp | | 0
|
||||
clisp | | 5
|
||||
coreutils | [] [] [] [] [] | 14
|
||||
cpio | [] [] [] | 13
|
||||
darkstat | [] () () | 9
|
||||
diffutils | [] [] [] [] | 21
|
||||
e2fsprogs | [] | 3
|
||||
enscript | [] [] [] | 11
|
||||
error | [] [] [] | 14
|
||||
fetchmail | [] | 7
|
||||
fileutils | [] [] [] [] [] [] | 15
|
||||
findutils | [] [] [] [] [] [] | 27
|
||||
flex | [] [] [] | 10
|
||||
gas | [] | 3
|
||||
gawk | [] [] | 9
|
||||
gcal | [] [] | 4
|
||||
gcc | [] | 4
|
||||
gettext | [] [] [] [] [] [] | 15
|
||||
gettext-runtime | [] [] [] [] [] [] | 16
|
||||
gettext-tools | [] [] | 5
|
||||
gimp-print | [] [] | 10
|
||||
gliv | | 1
|
||||
glunarclock | [] [] [] | 11
|
||||
gnucash | [] [] | 4
|
||||
gnucash-glossary | [] [] [] | 8
|
||||
gnupg | [] [] [] [] | 16
|
||||
gpe-calendar | [] | 5
|
||||
gpe-conf | | 3
|
||||
gpe-contacts | [] | 4
|
||||
gpe-edit | [] | 5
|
||||
gpe-login | [] | 5
|
||||
gpe-ownerinfo | [] | 7
|
||||
gpe-sketchbook | [] | 5
|
||||
gpe-timesheet | [] | 6
|
||||
gpe-today | [] | 6
|
||||
gpe-todo | [] | 6
|
||||
gphoto2 | [] [] | 9
|
||||
gprof | [] [] | 7
|
||||
gpsdrive | [] [] | 3
|
||||
grep | [] [] [] [] | 24
|
||||
gretl | | 2
|
||||
hello | [] [] [] [] [] | 33
|
||||
id-utils | [] [] [] | 11
|
||||
indent | [] [] [] [] | 19
|
||||
jpilot | [] [] [] [] [] | 10
|
||||
jwhois | () () [] [] | 10
|
||||
kbd | [] [] | 8
|
||||
ld | [] [] | 5
|
||||
libc | [] [] [] [] | 20
|
||||
libgpewidget | | 6
|
||||
libiconv | [] [] [] [] [] [] | 21
|
||||
lifelines | [] | 2
|
||||
lilypond | [] | 4
|
||||
lingoteach | | 2
|
||||
lingoteach_lessons | () | 0
|
||||
lynx | [] [] [] [] | 14
|
||||
m4 | [] [] [] | 15
|
||||
mailutils | | 2
|
||||
make | [] [] [] [] | 15
|
||||
man-db | [] | 6
|
||||
mysecretdiary | [] [] | 8
|
||||
nano | [] [] [] | 15
|
||||
nano_1_0 | [] [] [] | 15
|
||||
opcodes | [] [] | 9
|
||||
parted | [] [] | 13
|
||||
ptx | [] [] [] | 22
|
||||
python | | 0
|
||||
radius | | 0
|
||||
recode | [] [] [] [] | 19
|
||||
screem | [] | 1
|
||||
sed | [] [] [] [] [] | 20
|
||||
sh-utils | [] [] [] | 13
|
||||
sharutils | [] [] [] [] | 16
|
||||
sketch | [] | 5
|
||||
soundtracker | [] | 7
|
||||
sp | [] | 3
|
||||
tar | [] [] [] [] [] | 24
|
||||
texinfo | [] [] [] [] | 13
|
||||
textutils | [] [] [] [] [] | 15
|
||||
tin | | 1
|
||||
util-linux | [] [] | 14
|
||||
vorbis-tools | [] | 7
|
||||
wastesedge | | 0
|
||||
wdiff | [] [] [] [] | 17
|
||||
wget | [] [] [] [] [] [] [] | 25
|
||||
xchat | [] [] [] | 11
|
||||
xpad | | 1
|
||||
+-------------------------------------------+
|
||||
50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
|
||||
97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913
|
||||
|
||||
Some counters in the preceding matrix are higher than the number of
|
||||
visible blocks let us expect. This is because a few extra PO files are
|
||||
used for implementing regional variants of languages, or language
|
||||
dialects.
|
||||
|
||||
For a PO file in the matrix above to be effective, the package to
|
||||
which it applies should also have been internationalized and
|
||||
distributed as such by its maintainer. There might be an observable
|
||||
lag between the mere existence a PO file and its wide availability in a
|
||||
distribution.
|
||||
|
||||
If May 2003 seems to be old, you may fetch a more recent copy of
|
||||
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
|
||||
matrix with full percentage details can be found at
|
||||
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
|
||||
|
||||
Using `gettext' in new packages
|
||||
===============================
|
||||
|
||||
If you are writing a freely available program and want to
|
||||
internationalize it you are welcome to use GNU `gettext' in your
|
||||
package. Of course you have to respect the GNU Library General Public
|
||||
License which covers the use of the GNU `gettext' library. This means
|
||||
in particular that even non-free programs can use `libintl' as a shared
|
||||
library, whereas only free software can use `libintl' as a static
|
||||
library or use modified versions of `libintl'.
|
||||
|
||||
Once the sources are changed appropriately and the setup can handle
|
||||
the use of `gettext' the only thing missing are the translations. The
|
||||
Free Translation Project is also available for packages which are not
|
||||
developed inside the GNU project. Therefore the information given above
|
||||
applies also for every other Free Software Project. Contact
|
||||
`translation@iro.umontreal.ca' to make the `.pot' files available to
|
||||
the translation teams.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
Roland Stigge <stigge@antcom.de> (lead developer / maintainer)
|
||||
|
||||
Joerg Mayer <jmayer@loplof.de> (automake/autoconf Support)
|
||||
|
||||
Lars Volkhardt <Lars.Volkhardt@uni-konstanz.de> (save callerid list to file)
|
||||
|
||||
Mario Andrés Pagella <mapagella@fitzroy-is.com.ar> (project logo)
|
||||
|
||||
Translators:
|
||||
FACORAT Fabrice <f.faber-pro@ifrance.com> (French)
|
||||
Roel Koelewijn <rl.koelewijn@home.nl> (Dutch)
|
|
@ -0,0 +1,340 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
|
@ -0,0 +1,140 @@
|
|||
ant-phone 0.1.12, 2006-04-18, Roland Stigge <stigge@antcom.de>
|
||||
* Updated Swedish translation
|
||||
|
||||
ant-phone 0.1.11, 2005-11-29, Roland Stigge <stigge@antcom.de>
|
||||
* Added Swedish, Turkish and Vietnamese translations
|
||||
|
||||
ant-phone 0.1.10, 2004-01-09, Roland Stigge <stigge@antcom.de>
|
||||
* src/session.c: Added debug messages to gtk_handle_isdn_input
|
||||
* Updated po/fr.po
|
||||
|
||||
ant-phone 0.1.9, 2004-01-09, Roland Stigge <stigge@antcom.de>
|
||||
* README: Added reference to mailing list and archives
|
||||
* Updated po/fr.po
|
||||
|
||||
ant-phone 0.1.8, 2003-11-18, Roland Stigge <stigge@antcom.de>
|
||||
* src/isdn.h: Fixed ISDN_CONFIG_FILENAME to be /etc/isdn/isdn.conf
|
||||
* src/callerid.c: Fixed segfault in cid_calls_merge()
|
||||
|
||||
ant-phone 0.1.7, 2003-10-31, Roland Stigge <stigge@antcom.de>
|
||||
* Updated po/nl.po
|
||||
|
||||
ant-phone 0.1.6, 2003-10-01, Roland Stigge <stigge@antcom.de>
|
||||
* Fixed yyloc compile warning, updating flex and bison source for
|
||||
options and callerid (solves parsers location issue)
|
||||
* Applied SuSE (Opteron, ...) porting patches, thanks to
|
||||
Philipp Thomas <pthomas@suse.de>:
|
||||
ant-phone-codecleanup.diff
|
||||
ant-phone-gettext_version.diff
|
||||
ant-phone-isdn_log_name.diff
|
||||
ant-phone-makefile.diff
|
||||
* Adjusted to automake-1.7
|
||||
* Added lexer/parser for isdnformat(5) to get name of calls file
|
||||
from i4l config file
|
||||
* Obsoleted optionslexer in favour of isdnparser (nearly same format)
|
||||
to conform rc file to isdnformat(5)
|
||||
* Added ro.po translation file (Romanian)
|
||||
|
||||
ant-phone 0.1.5, 2003-07-30, Roland Stigge <stigge@antcom.de>
|
||||
* Fixed bad codeset (UTF-8) in localized command line output
|
||||
* Updated po/fr.po
|
||||
* Fixed bug in resampling code for playback
|
||||
* Added xpm icons in src/: 16x16, 32x32, 48x48, 64x64
|
||||
* Added auto detection between /var/lib/isdn/calls and
|
||||
/var/log/isdn/calls as input file for callerid history
|
||||
|
||||
ant-phone 0.1.4, 2003-07-06, Roland Stigge <stigge@antcom.de>
|
||||
* Fixed parse error in src/callerid.c (line 422 in version 0.1.3)
|
||||
* Updated po/nl.po
|
||||
* Coded variable size for buttons (suitable for i18n) in src/gtk.c
|
||||
|
||||
ant-phone 0.1.3, 2003-07-06, Roland Stigge <stigge@antcom.de>
|
||||
* Fixed: recording of parts of one session to different files
|
||||
(now dependent on session->vcon_time)
|
||||
* Added playback / copy / deletion of recorded sessions to context
|
||||
menu of CallerID rows
|
||||
* Added po/fr.po, thanks to FACORAT Fabrice <f.faber@ifrance.com>
|
||||
* Fixed gettext_noop warning in globals.h (commented out #define)
|
||||
* Fixed default notebook page in settings to first one
|
||||
* Fixed focus on dial combo box after keypad (digit) input
|
||||
* Added po/nl.po, thanks to roel koelewijn <rl.koelewijn@home.nl>
|
||||
* Changed gettext marks for menus (with "_" even for
|
||||
gtk_item_factory_get_item() requests) to prevent ambiguousness
|
||||
* Settings notebook: leave default page 1 instead of forcing focus
|
||||
for msn_entry
|
||||
|
||||
ant-phone 0.1.2, 2003-06-29, Roland Stigge <stigge@antcom.de>
|
||||
* Created hierarchy in source package structure (doc/, src/, ...)
|
||||
* Port to GTK+ 2.x
|
||||
* New logo, added to "About" window
|
||||
* Added internationalization via GNU gettext; included po/de.po
|
||||
|
||||
ant-phone 0.1.1, 2003-05-28, Roland Stigge <stigge@antcom.de>
|
||||
* Code cleanup
|
||||
* Use gtk_window_present() for popup on GTK+ >= 2.0
|
||||
* Let keypad Enter act as Enter in dial combo box
|
||||
* Added %s on substitution in execution string (= caller's number),
|
||||
fixes problem that %n actually substitutes to own msn
|
||||
* configure.ac: Added complaints on missing library sndfile
|
||||
* Added copying permission statement to all source files
|
||||
to conform to GNU advice on GPL usage
|
||||
|
||||
ant-phone 0.1.0, 2003-04-27, Roland Stigge
|
||||
* Added recording (depends on libsndfile)
|
||||
* Added option to popup on incoming call
|
||||
* Added configurable preset buttons
|
||||
* Added isdnlog data import
|
||||
* Added context menu to CallerID list
|
||||
* Added delete function to CallerID list
|
||||
* Added tracking for unanswered calls in CallerID list and in window
|
||||
title
|
||||
|
||||
ant-phone 0.0.8, 2002-12-09, Roland Stigge
|
||||
* fixed "local bind: No such file or directory" and exit on startup
|
||||
|
||||
ant-phone 0.0.7, 2002-12-06, Roland Stigge
|
||||
* fixed include mistake in isdn.c
|
||||
* added caller id saved history patch by
|
||||
Lars Volkhardt <Lars.Volkhardt@uni-konstanz.de>
|
||||
* added lexer/parser for caller id saved history file
|
||||
* ant-phone now doesn't try to open sound device(s) at startup
|
||||
when in audio release mode
|
||||
* made number of caller id entries configurable
|
||||
* added option to start a command when incoming call comes
|
||||
* added command line option to let an already running ant make a call
|
||||
|
||||
ant-phone 0.0.6, 2002-11-22, Roland Stigge
|
||||
* made release audio mode default
|
||||
* release audio also in settings
|
||||
* added control pad (for dialing / generating touchtones)
|
||||
* added touchtone generator
|
||||
* added mute function
|
||||
|
||||
ant-phone 0.0.5, 2002-11-13, Roland Stigge
|
||||
* autoconf/automake support by Joerg Mayer <jmayer@loplof.de>
|
||||
* added saved options / history files
|
||||
* added "release audio devices on idle"
|
||||
|
||||
ant-phone 0.0.4, 2002-11-03, Roland Stigge
|
||||
* fixed gcc-3.2 warnings (session.c, sound.c),
|
||||
reported by Joerg Mayer <jmayer@loplof.de>
|
||||
* fixed delay problem with ALSA
|
||||
|
||||
ant-phone 0.0.3, 2002-11-01, Roland Stigge
|
||||
* fixed "Warning: Got audio input in ready mode."
|
||||
* minor bug fixes
|
||||
* added/improved GUI elements
|
||||
* added installer (make install target)
|
||||
* added man page
|
||||
* added line level checker
|
||||
|
||||
ant-phone 0.0.2, 2002-10-16, Roland Stigge
|
||||
* renamed package to prevent "confusion" with ANT (Another Neat Tool)
|
||||
* added caller id support
|
||||
* added vanity number support
|
||||
* added playing sound on incoming and outgoing calls
|
||||
* bug fixes (hanging sound init)
|
||||
|
||||
ant 0.0.1, 2002-09-23, Roland Stigge
|
||||
* first release of ANT (ANT is Not a Telephone)
|
||||
* basic functionality
|
|
@ -0,0 +1,9 @@
|
|||
For now, to compile ant-phone on your system, use the standard
|
||||
procedure and type (without the dollar signs):
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
|
||||
after that you may install ant-phone with
|
||||
|
||||
$ make install
|
|
@ -0,0 +1,7 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
SUBDIRS = intl doc src po
|
||||
|
||||
EXTRA_DIST = config.rpath autogen.sh ABOUT-NLS
|
||||
|
||||
AUTOMAKE_OPTIONS = dist-bzip2
|
|
@ -0,0 +1,627 @@
|
|||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/configure $(top_srcdir)/intl/Makefile.in \
|
||||
ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS TODO \
|
||||
config.guess config.rpath config.sub depcomp install-sh \
|
||||
missing mkinstalldirs ylwrap
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = intl/Makefile
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-exec-recursive install-info-recursive \
|
||||
install-recursive installcheck-recursive installdirs-recursive \
|
||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPS_CFLAGS = @DEPS_CFLAGS@
|
||||
DEPS_LIBS = @DEPS_LIBS@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC2 = @GLIBC2@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
HAVE_ASPRINTF = @HAVE_ASPRINTF@
|
||||
HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
|
||||
HAVE_SNPRINTF = @HAVE_SNPRINTF@
|
||||
HAVE_WPRINTF = @HAVE_WPRINTF@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = intl doc src po
|
||||
EXTRA_DIST = config.rpath autogen.sh ABOUT-NLS
|
||||
AUTOMAKE_OPTIONS = dist-bzip2
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
uninstall-info-am:
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/intl $(distdir)/po
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
distdir=`$(am__cd) $(distdir) && pwd`; \
|
||||
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
||||
(cd $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$top_distdir" \
|
||||
distdir="$$distdir/$$subdir" \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
--with-included-gettext \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
||||
check-am clean clean-generic clean-recursive ctags \
|
||||
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
|
||||
dist-tarZ dist-zip distcheck distclean distclean-generic \
|
||||
distclean-hdr distclean-recursive distclean-tags \
|
||||
distcleancheck distdir distuninstallcheck dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic maintainer-clean-recursive \
|
||||
mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
|
||||
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,132 @@
|
|||
ANT - Ant is Not a Telephone
|
||||
****************************
|
||||
Copyright 2002, 2003, 2004, 2005 Roland Stigge
|
||||
|
||||
|
||||
WHAT IT IS
|
||||
==========
|
||||
|
||||
ANT is a telephone application written for GNU/Linux, I4L (ISDN4Linux,
|
||||
integrated in the kernel), GTK+ (GIMP Toolkit) and OSS (Open Sound System).
|
||||
|
||||
|
||||
ABOUT ANT
|
||||
=========
|
||||
|
||||
It directly interfaces OSS and ISDN devices, so there is no need to install
|
||||
extra software or hardware like PBX (Private Branch Exchange) or telephony
|
||||
cards, if you've got direct access to an audio capable ISDN Card and full
|
||||
duplex (or multiple) soundcard.
|
||||
|
||||
For the soundcard interface you can use headphones (or speakers) and a
|
||||
microphone, or a headset instead of all this.
|
||||
|
||||
Currently, there is no direct mixer integration planned for ANT for several
|
||||
reasons. For GNU/Linux, there are quite a lot of good mixer programs available
|
||||
such as aumix, kmix, smix or tkmixer. The other reason is to make the program
|
||||
more general. Not all sound devices have mixer support integrated and many
|
||||
don't provide an obvious interface.
|
||||
|
||||
NOTE: Currently, this is a work in progress (beta version) and may contain
|
||||
bugs.
|
||||
|
||||
|
||||
WHAT YOU WILL NEED
|
||||
==================
|
||||
to run:
|
||||
|
||||
* a computer
|
||||
* an ISDN card with audio support for Linux (ISDN4Linux driver)
|
||||
(teles or HiSax drivers are known to work)
|
||||
* GNU/Linux (as far as nobody has tried it on another platform yet)
|
||||
* OSS support
|
||||
* a full duplex sound card or two sound devices
|
||||
(one for input, another for output)
|
||||
* a microphone (or your sound source of choice)
|
||||
* speakers, or better: headphones
|
||||
* instead of the last two points, you could also use a headset
|
||||
* GTK+ 2.x
|
||||
* libsndfile
|
||||
|
||||
to compile:
|
||||
|
||||
* GNU make
|
||||
* GCC
|
||||
* GTK+ 2.x development files
|
||||
* OSS development files (actually, it's mostly just one header file)
|
||||
* libsndfile development files
|
||||
|
||||
|
||||
WHAT YOU MIGHT NEED
|
||||
===================
|
||||
* possibly a mixer application of your choice (e.g. aumix or smix) to set up
|
||||
your audio devices (check your recording and playback levels to make sure
|
||||
to hear your calling/called party and to be heard by them
|
||||
|
||||
|
||||
FEATURES
|
||||
========
|
||||
* Of course, dialing out and receiving calls
|
||||
* Caller id monitor
|
||||
* Vanity number dialing support
|
||||
* Big / little endian support for processor architecture and sound card
|
||||
* Different 8 and 16 bit audio formats supported
|
||||
* Different sampling speeds supported (if sound device(s) don't support
|
||||
native ISDN sampling speed)
|
||||
* Setting outgoing (identifying) MSN (Multiple Subscriber Number) and
|
||||
MSNs to listen on
|
||||
* Line Level Checker
|
||||
* Works with ALSA (OSS emulation)
|
||||
* Saved config file
|
||||
* Saved Caller ID history
|
||||
* Option to run an external command on incoming call (useful for external
|
||||
pager programs), add %s in template for calling party number, %n for
|
||||
own number
|
||||
* Command line option to make a running instance of ANT make a call to a
|
||||
specific number (useful for external address book applications)
|
||||
* Live recording to files
|
||||
* Popup on incoming call
|
||||
* Configurable preset buttons
|
||||
* Isdnlog data import
|
||||
* Tracking of unanswered calls
|
||||
* Internationalization, native language support (NLS) for Dutch, German, French
|
||||
|
||||
|
||||
HOW TO COMPILE ANT INSTALL
|
||||
==========================
|
||||
|
||||
see INSTALL
|
||||
|
||||
|
||||
HOW TO START
|
||||
============
|
||||
|
||||
run:
|
||||
|
||||
ant-phone
|
||||
|
||||
|
||||
FREQUENTLY ASKED QUESTIONS (FAQ)
|
||||
================================
|
||||
|
||||
For actuality reasons, please look at the FAQ section at http://www.antcom.de/
|
||||
|
||||
|
||||
RELEASE CONDITIONS
|
||||
==================
|
||||
|
||||
ANT is released under the GPL (GNU General Public License). Please read
|
||||
the file named COPYING.
|
||||
|
||||
|
||||
CONTACT
|
||||
=======
|
||||
|
||||
Any suggestions, comments and bug reports (which are highly appreciated) go to
|
||||
the ant-phone mailing list ant-phone-devel@nongnu.org. For discussion and
|
||||
announcements, you can subscribe to the list at
|
||||
http://mail.nongnu.org/mailman/listinfo/ant-phone-devel. You can also browse
|
||||
the Mailing List Archives at http://mail.gnu.org/archive/html/ant-phone-devel/.
|
||||
If this fails or for non-public discussion, contact the maintainer directly:
|
||||
Roland Stigge <stigge@antcom.de>. Thanks in advance!
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
Bugs:
|
||||
=====
|
||||
* Recording chopped up (only recorded file)
|
||||
* Incoming delay
|
||||
* Kernel cpu consumption in conversation mode. This is a kernel-internal
|
||||
problem. While reading blocks from kernel OSS devices and ttyI, select(s)
|
||||
seems to consume lot's of cpu time in kernel space while NOT BLOCKING!
|
||||
-> not a big problem for now, just less idle tasks ;)
|
||||
-> The problem doesn't seem to appear with ALSA
|
||||
|
||||
Feature requests:
|
||||
=================
|
||||
* Real time support
|
||||
* client/server architecture (ttyI network forward) (Sven Geggus <sven@gegg.us>, Arne Börs <Arne.Boers@gmx.de>, martin@stigge.org)
|
||||
* Makeln (Joerg Brueggemann <jb@neviges.net>)
|
||||
* database connection (caller id, times of incoming / outgoing, ...)
|
||||
|
||||
Christoph Schütz <ch.schuetz@addcom.de>:
|
||||
* echo compensation
|
||||
* configurable different ringtones (for different callers)
|
||||
|
||||
Steffen Barszus <st_barszus@gmx.de>:
|
||||
* kde-kicker integration (drag number, pop up menu: number input)
|
||||
|
||||
Pinto Joel <joelp@india.hp.com>:
|
||||
* recording / scripting
|
||||
|
||||
Roel Koelewijn <rl.koelewijn@home.nl>:
|
||||
* KDE address book integration
|
||||
* TAPI telephone (dialling) support
|
||||
* connection to external DB (Phonebook CDs)
|
||||
|
||||
Martin Stigge <martin@stigge.org>:
|
||||
* sorting callerid list
|
||||
* playback soundfiles in converation mode
|
||||
|
||||
arnd.feldmueller@t-online.de:
|
||||
* answering machine
|
||||
* DB, SQL, CSV input/output
|
||||
|
||||
Arthur J. Schotgerrits <arthur@rev-img.nl>:
|
||||
* answering machine
|
||||
|
||||
Matthias Fenner <informix@web.de>:
|
||||
* command line interface
|
||||
|
||||
Daniel Nöthen <bipak@gmx.net>:
|
||||
* mixer support (muting)
|
||||
* (configurable?) auto set input to mic (reset on exit)
|
||||
* separate configuration of logged / ringing msns
|
||||
|
||||
Philipp Thomas <pthomas@suse.de>:
|
||||
* CAPI support, native ALSA support (both in Linux 2.6) (needed for SuSE 9.1 prepared for 02/2004)
|
||||
|
||||
wolfgang@rohdewald.de:
|
||||
* "execute on recorded message" option
|
||||
|
||||
* aRTs support
|
||||
* IP telephony support
|
||||
|
||||
Feature ideas: (tell me to move some of them to "feature requests")
|
||||
==============
|
||||
* graphical sound visualization
|
||||
* compensate sample drift (difference between isdn and oss)
|
||||
* BSD (and possibly other) UNIX support
|
||||
* H.323 client functionality
|
||||
* encryption support
|
||||
* adaptive (pre-)amp / echo compensation
|
||||
* answering machine
|
||||
* website enhancements / maintenance
|
||||
* Remove remaining deprecated GTK+ functions, adjust to new API
|
||||
* Logarithmical line level meter
|
||||
|
||||
* improve calls file finding by parsing /etc/isdn/callerid.conf
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
#gettextize --force --copy --intl --no-changelog
|
||||
autopoint --force
|
||||
aclocal
|
||||
autoheader
|
||||
automake --copy --add-missing --gnu
|
||||
autoconf
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,349 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if translation of program messages to the user's native
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
||||
*/
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define to 1 if you have the <argz.h> header file. */
|
||||
#undef HAVE_ARGZ_H
|
||||
|
||||
/* Define to 1 if you have the `asprintf' function. */
|
||||
#undef HAVE_ASPRINTF
|
||||
|
||||
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
|
||||
CoreFoundation framework. */
|
||||
#undef HAVE_CFLOCALECOPYCURRENT
|
||||
|
||||
/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
|
||||
the CoreFoundation framework. */
|
||||
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
|
||||
/* Define if the GNU dcgettext() function is already present or preinstalled.
|
||||
*/
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_FEOF_UNLOCKED
|
||||
|
||||
/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
|
||||
you don't. */
|
||||
#undef HAVE_DECL_FGETS_UNLOCKED
|
||||
|
||||
/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_GETC_UNLOCKED
|
||||
|
||||
/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL__SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL__SNWPRINTF
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if you have the `floor' function. */
|
||||
#undef HAVE_FLOOR
|
||||
|
||||
/* Define to 1 if you have the `fwprintf' function. */
|
||||
#undef HAVE_FWPRINTF
|
||||
|
||||
/* Define to 1 if you have the `getcwd' function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define to 1 if you have the `getegid' function. */
|
||||
#undef HAVE_GETEGID
|
||||
|
||||
/* Define to 1 if you have the `geteuid' function. */
|
||||
#undef HAVE_GETEUID
|
||||
|
||||
/* Define to 1 if you have the `getgid' function. */
|
||||
#undef HAVE_GETGID
|
||||
|
||||
/* Define to 1 if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define if the GNU gettext() function is already present or preinstalled. */
|
||||
#undef HAVE_GETTEXT
|
||||
|
||||
/* Define to 1 if you have the `getuid' function. */
|
||||
#undef HAVE_GETUID
|
||||
|
||||
/* Define if you have the iconv() function. */
|
||||
#undef HAVE_ICONV
|
||||
|
||||
/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
|
||||
#undef HAVE_INTMAX_T
|
||||
|
||||
/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
|
||||
declares uintmax_t. */
|
||||
#undef HAVE_INTTYPES_H_WITH_UINTMAX
|
||||
|
||||
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
|
||||
#undef HAVE_LANGINFO_CODESET
|
||||
|
||||
/* Define if your <locale.h> file defines LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define to 1 if you have the `m' library (-lm). */
|
||||
#undef HAVE_LIBM
|
||||
|
||||
/* Define to 1 if you have the `sndfile' library (-lsndfile). */
|
||||
#undef HAVE_LIBSNDFILE
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define if you have the 'long double' type. */
|
||||
#undef HAVE_LONG_DOUBLE
|
||||
|
||||
/* Define if you have the 'long long' type. */
|
||||
#undef HAVE_LONG_LONG
|
||||
|
||||
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
|
||||
to 0 otherwise. */
|
||||
#undef HAVE_MALLOC
|
||||
|
||||
/* Define to 1 if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define to 1 if you have the <math.h> header file. */
|
||||
#undef HAVE_MATH_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `mempcpy' function. */
|
||||
#undef HAVE_MEMPCPY
|
||||
|
||||
/* Define to 1 if you have the `mkdir' function. */
|
||||
#undef HAVE_MKDIR
|
||||
|
||||
/* Define to 1 if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define to 1 if you have the `munmap' function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define to 1 if you have the <nl_types.h> header file. */
|
||||
#undef HAVE_NL_TYPES_H
|
||||
|
||||
/* Define if your printf() function supports format strings with positions. */
|
||||
#undef HAVE_POSIX_PRINTF
|
||||
|
||||
/* Define to 1 if you have the `putenv' function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define to 1 if you have the <pwd.h> header file. */
|
||||
#undef HAVE_PWD_H
|
||||
|
||||
/* Define to 1 if you have the `select' function. */
|
||||
#undef HAVE_SELECT
|
||||
|
||||
/* Define to 1 if you have the `setenv' function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define to 1 if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define to 1 if you have the <sndfile.h> header file. */
|
||||
#undef HAVE_SNDFILE_H
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the <stddef.h> header file. */
|
||||
#undef HAVE_STDDEF_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
|
||||
uintmax_t. */
|
||||
#undef HAVE_STDINT_H_WITH_UINTMAX
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `stpcpy' function. */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define to 1 if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#undef HAVE_STRDUP
|
||||
|
||||
/* Define to 1 if you have the `strftime' function. */
|
||||
#undef HAVE_STRFTIME
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the `strstr' function. */
|
||||
#undef HAVE_STRSTR
|
||||
|
||||
/* Define to 1 if you have the `strtol' function. */
|
||||
#undef HAVE_STRTOL
|
||||
|
||||
/* Define to 1 if you have the `strtoul' function. */
|
||||
#undef HAVE_STRTOUL
|
||||
|
||||
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||
#undef HAVE_SYS_IOCTL_H
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <termios.h> header file. */
|
||||
#undef HAVE_TERMIOS_H
|
||||
|
||||
/* Define to 1 if you have the `tsearch' function. */
|
||||
#undef HAVE_TSEARCH
|
||||
|
||||
/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
|
||||
#undef HAVE_UINTMAX_T
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the 'unsigned long long' type. */
|
||||
#undef HAVE_UNSIGNED_LONG_LONG
|
||||
|
||||
/* Define if you have the 'wchar_t' type. */
|
||||
#undef HAVE_WCHAR_T
|
||||
|
||||
/* Define to 1 if you have the `wcslen' function. */
|
||||
#undef HAVE_WCSLEN
|
||||
|
||||
/* Define if you have the 'wint_t' type. */
|
||||
#undef HAVE_WINT_T
|
||||
|
||||
/* Define to 1 if you have the `__argz_count' function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Define to 1 if you have the `__argz_next' function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define to 1 if you have the `__argz_stringify' function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
|
||||
/* Define to 1 if you have the `__fsetlocking' function. */
|
||||
#undef HAVE___FSETLOCKING
|
||||
|
||||
/* Define as const if the declaration of iconv() needs const. */
|
||||
#undef ICONV_CONST
|
||||
|
||||
/* Define if integer division by zero raises signal SIGFPE. */
|
||||
#undef INTDIV0_RAISES_SIGFPE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
|
||||
#undef PRI_MACROS_BROKEN
|
||||
|
||||
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||
#undef RETSIGTYPE
|
||||
|
||||
/* Define as the maximum value of type 'size_t', if the system doesn't define
|
||||
it. */
|
||||
#undef SIZE_MAX
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#undef TIME_WITH_SYS_TIME
|
||||
|
||||
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
|
||||
`char[]'. */
|
||||
#undef YYTEXT_POINTER
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to rpl_malloc if the replacement function should be used. */
|
||||
#undef malloc
|
||||
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef pid_t
|
||||
|
||||
/* Define as the type of the result of subtracting two pointers, if the system
|
||||
doesn't define it. */
|
||||
#undef ptrdiff_t
|
||||
|
||||
/* Define to empty if the C compiler doesn't support this keyword. */
|
||||
#undef signed
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
/* Define to unsigned long or unsigned long long if <stdint.h> and
|
||||
<inttypes.h> don't define. */
|
||||
#undef uintmax_t
|
|
@ -0,0 +1,548 @@
|
|||
#! /bin/sh
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2003 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||
# should be set by the caller.
|
||||
#
|
||||
# The set of defined variables is at the end of this script.
|
||||
|
||||
# Known limitations:
|
||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
|
||||
# than 256 bytes, otherwise the compiler driver will dump core. The only
|
||||
# known workaround is to choose shorter directory names for the build
|
||||
# directory and/or the installation directory.
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except M$VC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
shrext=.so
|
||||
|
||||
host="$1"
|
||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
|
||||
|
||||
wl=
|
||||
if test "$GCC" = yes; then
|
||||
wl='-Wl,'
|
||||
else
|
||||
case "$host_os" in
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
mingw* | pw32* | os2*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
linux*)
|
||||
case $CC in
|
||||
icc|ecc)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
ccc)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sunos4*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
|
||||
|
||||
hardcode_libdir_flag_spec=
|
||||
hardcode_libdir_separator=
|
||||
hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
if test "$GCC" != yes; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
openbsd*)
|
||||
with_gnu_ld=no
|
||||
;;
|
||||
esac
|
||||
|
||||
ld_shlibs=yes
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
case "$host_os" in
|
||||
aix3* | aix4* | aix5*)
|
||||
# On AIX/PPC, the GNU linker is very broken
|
||||
if test "$host_cpu" != ia64; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
||||
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||
# to version 4, is to share data among multiple programs linked
|
||||
# with the same dynamic library. Since this doesn't match the
|
||||
# behavior of shared libraries on other platforms, we can use
|
||||
# them.
|
||||
ld_shlibs=no
|
||||
;;
|
||||
beos*)
|
||||
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
solaris* | sysv5*)
|
||||
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
|
||||
ld_shlibs=no
|
||||
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "$ld_shlibs" = yes; then
|
||||
# Unlike libtool, we use -rpath here, not --rpath, since the documented
|
||||
# option of GNU ld is called -rpath, not --rpath.
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||
# are no directories specified by -L.
|
||||
hardcode_minus_L=yes
|
||||
if test "$GCC" = yes; then
|
||||
# Neither direct hardcoding nor static linking is supported with a
|
||||
# broken collect2.
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
if test "$host_cpu" = ia64; then
|
||||
# On IA64, the linker does run time linking by default, so we don't
|
||||
# have to do anything special.
|
||||
aix_use_runtimelinking=no
|
||||
else
|
||||
aix_use_runtimelinking=no
|
||||
# Test if we are trying to use run time linking or normal
|
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||
# need to do runtime linking.
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||
for ld_flag in $LDFLAGS; do
|
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||
aix_use_runtimelinking=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
esac
|
||||
fi
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
if test "$GCC" = yes; then
|
||||
case $host_os in aix4.[012]|aix4.[012].*)
|
||||
collect2name=`${CC} -print-prog-name=collect2`
|
||||
if test -f "$collect2name" && \
|
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||
then
|
||||
# We have reworked collect2
|
||||
hardcode_direct=yes
|
||||
else
|
||||
# We have old collect2
|
||||
hardcode_direct=unsupported
|
||||
hardcode_minus_L=yes
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_libdir_separator=
|
||||
fi
|
||||
esac
|
||||
fi
|
||||
# Begin _LT_AC_SYS_LIBPATH_AIX.
|
||||
echo 'int main () { return 0; }' > conftest.c
|
||||
${CC} ${LDFLAGS} conftest.c -o conftest
|
||||
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
fi
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath="/usr/lib:/lib"
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
# End _LT_AC_SYS_LIBPATH_AIX.
|
||||
if test "$aix_use_runtimelinking" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
else
|
||||
if test "$host_cpu" = ia64; then
|
||||
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||
else
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# see comment about different semantics on the GNU ld section
|
||||
ld_shlibs=no
|
||||
;;
|
||||
bsdi4*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec=' '
|
||||
libext=lib
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
|
||||
hardcode_direct=no
|
||||
fi
|
||||
;;
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
freebsd2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
freebsd*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
hpux9*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
hpux10* | hpux11*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=no
|
||||
;;
|
||||
ia64*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=no
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
netbsd*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
newsos6)
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
openbsd*)
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
os2*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
osf3*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
osf4* | osf5*)
|
||||
if test "$GCC" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
else
|
||||
# Both cc and cxx compiler support -rpath directly
|
||||
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||
fi
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
sysv4)
|
||||
case $host_vendor in
|
||||
sni)
|
||||
hardcode_direct=yes # is this really true???
|
||||
;;
|
||||
siemens)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
motorola)
|
||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sysv4.3*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
if test -d /usr/nec; then
|
||||
ld_shlibs=yes
|
||||
fi
|
||||
;;
|
||||
sysv4.2uw2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=no
|
||||
;;
|
||||
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
|
||||
;;
|
||||
sysv5*)
|
||||
hardcode_libdir_flag_spec=
|
||||
;;
|
||||
uts4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check dynamic linker characteristics
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
|
||||
libname_spec='lib$name'
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
;;
|
||||
amigaos*)
|
||||
;;
|
||||
beos*)
|
||||
;;
|
||||
bsdi4*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
shrext=.dll
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
shrext=.dylib
|
||||
;;
|
||||
dgux*)
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
freebsd*)
|
||||
;;
|
||||
gnu*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
shrext=.so
|
||||
;;
|
||||
hppa*64*)
|
||||
shrext=.sl
|
||||
;;
|
||||
*)
|
||||
shrext=.sl
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
case "$host_os" in
|
||||
irix5* | nonstopux*)
|
||||
libsuff= shlibsuff=
|
||||
;;
|
||||
*)
|
||||
case $LD in
|
||||
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
|
||||
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
|
||||
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
|
||||
*) libsuff= shlibsuff= ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*oldld* | linux*aout* | linux*coff*)
|
||||
;;
|
||||
linux*)
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
nto-qnx)
|
||||
;;
|
||||
openbsd*)
|
||||
;;
|
||||
os2*)
|
||||
libname_spec='$name'
|
||||
shrext=.dll
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
;;
|
||||
sunos4*)
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
|
||||
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||
|
||||
# How to pass a linker flag through the compiler.
|
||||
wl="$escaped_wl"
|
||||
|
||||
# Static library suffix (normally "a").
|
||||
libext="$libext"
|
||||
|
||||
# Shared library suffix (normally "so").
|
||||
shlibext="$shlibext"
|
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking.
|
||||
# This must work even if \$libdir does not exist.
|
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||
|
||||
# Whether we need a single -rpath flag with a separated argument.
|
||||
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||
|
||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_direct="$hardcode_direct"
|
||||
|
||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_minus_L="$hardcode_minus_L"
|
||||
|
||||
EOF
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,77 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(ant-phone)
|
||||
AM_INIT_AUTOMAKE(ant-phone, "0.1.12", ant-phone-devel@nongnu.org)
|
||||
AC_PREREQ(2.53)
|
||||
AC_CONFIG_SRCDIR([config.h.in])
|
||||
AM_CONFIG_HEADER([config.h])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_PROG_LEX
|
||||
if test "$LEX" != flex; then
|
||||
LEX="$SHELL $missing_dir/missing flex"
|
||||
AC_SUBST(LEX_OUTPUT_ROOT, lex.yy)
|
||||
AC_SUBST(LEXLIB, '')
|
||||
fi
|
||||
AC_PROG_YACC
|
||||
|
||||
# Checks for libraries.
|
||||
AC_CHECK_LIB([m], [floor])
|
||||
AC_CHECK_LIB([sndfile], [sf_open],, AC_MSG_ERROR(You need the libsndfile headers to build this package))
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([fcntl.h limits.h math.h pwd.h stddef.h stdlib.h string.h sys/ioctl.h sys/stat.h sys/time.h sys/types.h termios.h unistd.h sndfile.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_HEADER_TIME
|
||||
|
||||
# Checks for library functions.
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_MALLOC
|
||||
AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS([floor select strdup strstr strtol mkdir strcasecmp])
|
||||
|
||||
# GTK+ 2.0:
|
||||
PKG_CHECK_MODULES(DEPS, gtk+-2.0)
|
||||
AC_SUBST(DEPS_CFLAGS)
|
||||
AC_SUBST(DEPS_LIBS)
|
||||
|
||||
#
|
||||
# If we're running gcc, add '-Wall -W' to CFLAGS, and add
|
||||
# '-D_U_="__attribute__((unused))"' as well, so we can use _U_ to
|
||||
# flag unused function arguments and not get warnings about them.
|
||||
#
|
||||
# Otherwise, add '-D_U_=""', so that _U_ used to flag an unused function
|
||||
# argument will compile with non-GCC compilers.
|
||||
#
|
||||
AC_MSG_CHECKING(to see if we can add '-Wall -W' to CFLAGS)
|
||||
if test x$GCC != x ; then
|
||||
CFLAGS="$CFLAGS -D_U_=\"__attribute__((unused))\" -Wall -W -D_GNU_SOURCE -O3"
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
CFLAGS="-D_U_=\"\" $CFLAGS"
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
# GNU gettext
|
||||
AM_GNU_GETTEXT
|
||||
AM_GNU_GETTEXT_VERSION(0.12.1)
|
||||
|
||||
# directory containing configuration support files
|
||||
# defaults to package root
|
||||
#AC_CONFIG_AUX_DIR
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
intl/Makefile
|
||||
po/Makefile.in
|
||||
doc/Makefile
|
||||
src/Makefile])
|
||||
AC_OUTPUT
|
||||
|
|
@ -0,0 +1,423 @@
|
|||
#! /bin/sh
|
||||
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
# `libtool' can also be set to `yes' or `no'.
|
||||
|
||||
if test -z "$depfile"; then
|
||||
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||
if test "$dir" = "$object"; then
|
||||
dir=
|
||||
fi
|
||||
# FIXME: should be _deps on DOS.
|
||||
depfile="$dir.deps/$base"
|
||||
fi
|
||||
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. This file always lives in the current directory.
|
||||
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||
# $object doesn't have directory information.
|
||||
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
outname="$stripped.o"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1="$dir.libs/$base.lo.d"
|
||||
tmpdepfile2="$dir.libs/$base.d"
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1="$dir$base.o.d"
|
||||
tmpdepfile2="$dir$base.d"
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile1"; then
|
||||
tmpdepfile="$tmpdepfile1"
|
||||
else
|
||||
tmpdepfile="$tmpdepfile2"
|
||||
fi
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a space and a tab in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'. We will use -o /dev/null later,
|
||||
# however we can't do the remplacement now because
|
||||
# `-o $object' might simply not be used
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
-*)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,7 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
man_MANS = ant-phone.1
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(man_MANS)
|
||||
|
|
@ -0,0 +1,378 @@
|
|||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = doc
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
man1dir = $(mandir)/man1
|
||||
am__installdirs = "$(DESTDIR)$(man1dir)"
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPS_CFLAGS = @DEPS_CFLAGS@
|
||||
DEPS_LIBS = @DEPS_LIBS@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC2 = @GLIBC2@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
HAVE_ASPRINTF = @HAVE_ASPRINTF@
|
||||
HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
|
||||
HAVE_SNPRINTF = @HAVE_SNPRINTF@
|
||||
HAVE_WPRINTF = @HAVE_WPRINTF@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
man_MANS = ant-phone.1
|
||||
EXTRA_DIST = \
|
||||
$(man_MANS)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(MANS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-man1 install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
|
||||
uninstall-am uninstall-info-am uninstall-man uninstall-man1
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,60 @@
|
|||
.TH ant-phone 1 "27 April 2003" "Version 0.1.0" "ANT Manual Pages"
|
||||
.SH NAME
|
||||
ant-phone \- an interactive ISDN telephone application
|
||||
.SH SYNOPSIS
|
||||
.B ant-phone
|
||||
.RI [ options ]
|
||||
.SH DESCRIPTION
|
||||
ant-phone is part of ANT (ANT is Not a Telephone). It let's you make and receive telephone calls and talk via sound devices. It uses ISDN4Linux ttyI devices.
|
||||
.SH OPTIONS
|
||||
ant-phone accepts the following options:
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
Show summary of options
|
||||
.TP
|
||||
.B \-v, \-\-version
|
||||
Print version information
|
||||
.TP
|
||||
.B \-r, \-\-cleanup
|
||||
Remove stale socket file left by accident by a previous run of ANT. You only need this option if ANT says: "local bind: Address already in use"
|
||||
.TP
|
||||
.BI "\-d, \-\-debug" [ = debuglevel]
|
||||
Print additional runtime debugging data to stdout, debuglevel = 1..2
|
||||
.TP
|
||||
.BI "\-i, \-\-soundin=" device
|
||||
OSS compatible device for input (recording),
|
||||
default: /dev/dsp
|
||||
.TP
|
||||
.BI "\-o, \-\-soundout=" device
|
||||
OSS compatible device for output (playback),
|
||||
default: /dev/dsp
|
||||
.TP
|
||||
.BI "\-m, \-\-msn=" msn
|
||||
identifying MSN (for outgoing calls), 0 for master MSN of this
|
||||
termination/port,
|
||||
default: 0
|
||||
.TP
|
||||
.BI "\-l, \-\-msns=" msns
|
||||
MSNs to listen on, semicolon-separated list or '*',
|
||||
default: *
|
||||
.TP
|
||||
.BI "\-c, \-\-call=" number
|
||||
Make a running instance of ANT make a call to the specified number,
|
||||
useful for calling from an external address book application
|
||||
.SH NOTES
|
||||
If the used sound devices (arguments of \-\-soundin and \-\-soundout)
|
||||
are equal, a full duplex sound device is needed.
|
||||
.SH FILES
|
||||
.TP
|
||||
.I ~/.ant-phone/history
|
||||
the last dialed numbers
|
||||
.TP
|
||||
.I ~/.ant-phone/options
|
||||
user specific options file
|
||||
.TP
|
||||
.I ~/.ant-phone/callerid
|
||||
saved history of incoming and outgoing calls
|
||||
.SH BUGS
|
||||
The GTK+ main loop consumes all the system CPU time. This is due to the Linux kernel select() call consuming the time while waiting for a completed data block. This only appears with some Linux kernel OSS drivers, not with ALSA.
|
||||
.SH AUTHORS
|
||||
ANT was developed by Roland Stigge <stigge@antcom.de>, based on ideas from IVCALL, Copyright 2002 Lennart Poettering. G.711 handling by Sun Microsystems. Contributions by Joerg Mayer <jmayer@loplof.de>, Lars Volkhardt <Lars.Volkhardt@uni-konstanz.de>.
|
|
@ -0,0 +1,251 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
instcmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f "$src" ] || [ -d "$src" ]
|
||||
then
|
||||
:
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
:
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,4 @@
|
|||
2003-05-22 GNU <bug-gnu-gettext@gnu.org>
|
||||
|
||||
* Version 0.12.1 released.
|
||||
|
|
@ -0,0 +1,479 @@
|
|||
# Makefile for directory with message catalog handling library of GNU gettext
|
||||
# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = ..
|
||||
VPATH = $(srcdir)
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
transform = @program_transform_name@
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
gettextsrcdir = $(datadir)/gettext/intl
|
||||
aliaspath = $(localedir)
|
||||
subdir = intl
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
|
||||
|
||||
l = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
|
||||
AR = ar
|
||||
CC = @CC@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
RANLIB = @RANLIB@
|
||||
YACC = @INTLBISON@ -y -d
|
||||
YFLAGS = --name-prefix=__gettext
|
||||
|
||||
DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
|
||||
-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
|
||||
-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
|
||||
-Dset_relocation_prefix=libintl_set_relocation_prefix \
|
||||
-Drelocate=libintl_relocate \
|
||||
-DDEPENDS_ON_LIBICONV=1 @DEFS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CFLAGS = @CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
|
||||
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
|
||||
|
||||
HEADERS = \
|
||||
gmo.h \
|
||||
gettextP.h \
|
||||
hash-string.h \
|
||||
loadinfo.h \
|
||||
plural-exp.h \
|
||||
eval-plural.h \
|
||||
localcharset.h \
|
||||
relocatable.h \
|
||||
os2compat.h \
|
||||
libgnuintl.h.in
|
||||
SOURCES = \
|
||||
bindtextdom.c \
|
||||
dcgettext.c \
|
||||
dgettext.c \
|
||||
gettext.c \
|
||||
finddomain.c \
|
||||
loadmsgcat.c \
|
||||
localealias.c \
|
||||
textdomain.c \
|
||||
l10nflist.c \
|
||||
explodename.c \
|
||||
dcigettext.c \
|
||||
dcngettext.c \
|
||||
dngettext.c \
|
||||
ngettext.c \
|
||||
plural.y \
|
||||
plural-exp.c \
|
||||
localcharset.c \
|
||||
relocatable.c \
|
||||
localename.c \
|
||||
log.c \
|
||||
osdep.c \
|
||||
os2compat.c \
|
||||
intl-compat.c
|
||||
OBJECTS = \
|
||||
bindtextdom.$lo \
|
||||
dcgettext.$lo \
|
||||
dgettext.$lo \
|
||||
gettext.$lo \
|
||||
finddomain.$lo \
|
||||
loadmsgcat.$lo \
|
||||
localealias.$lo \
|
||||
textdomain.$lo \
|
||||
l10nflist.$lo \
|
||||
explodename.$lo \
|
||||
dcigettext.$lo \
|
||||
dcngettext.$lo \
|
||||
dngettext.$lo \
|
||||
ngettext.$lo \
|
||||
plural.$lo \
|
||||
plural-exp.$lo \
|
||||
localcharset.$lo \
|
||||
relocatable.$lo \
|
||||
localename.$lo \
|
||||
log.$lo \
|
||||
osdep.$lo \
|
||||
intl-compat.$lo
|
||||
DISTFILES.common = Makefile.in \
|
||||
config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
|
||||
DISTFILES.generated = plural.c
|
||||
DISTFILES.normal = VERSION
|
||||
DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
|
||||
Makefile.vms libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
|
||||
DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
|
||||
COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
|
||||
|
||||
all: all-@USE_INCLUDED_LIBINTL@
|
||||
all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
|
||||
all-no: all-no-@BUILD_INCLUDED_LIBINTL@
|
||||
all-no-yes: libgnuintl.$la
|
||||
all-no-no:
|
||||
|
||||
libintl.a libgnuintl.a: $(OBJECTS)
|
||||
rm -f $@
|
||||
$(AR) cru $@ $(OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libintl.la libgnuintl.la: $(OBJECTS)
|
||||
$(LIBTOOL) --mode=link \
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
|
||||
$(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
|
||||
-version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
|
||||
-rpath $(libdir) \
|
||||
-no-undefined
|
||||
|
||||
# Libtool's library version information for libintl.
|
||||
# Before making a gettext release, the gettext maintainer must change this
|
||||
# according to the libtool documentation, section "Library interface versions".
|
||||
# Maintainers of other packages that include the intl directory must *not*
|
||||
# change these values.
|
||||
LTV_CURRENT=5
|
||||
LTV_REVISION=0
|
||||
LTV_AGE=3
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .y .o .lo .sin .sed
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) $<
|
||||
|
||||
.y.c:
|
||||
$(YACC) $(YFLAGS) --output $@ $<
|
||||
rm -f $*.h
|
||||
|
||||
bindtextdom.lo: $(srcdir)/bindtextdom.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c
|
||||
dcgettext.lo: $(srcdir)/dcgettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c
|
||||
dgettext.lo: $(srcdir)/dgettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c
|
||||
gettext.lo: $(srcdir)/gettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
|
||||
finddomain.lo: $(srcdir)/finddomain.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
|
||||
loadmsgcat.lo: $(srcdir)/loadmsgcat.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
|
||||
localealias.lo: $(srcdir)/localealias.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c
|
||||
textdomain.lo: $(srcdir)/textdomain.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c
|
||||
l10nflist.lo: $(srcdir)/l10nflist.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c
|
||||
explodename.lo: $(srcdir)/explodename.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c
|
||||
dcigettext.lo: $(srcdir)/dcigettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c
|
||||
dcngettext.lo: $(srcdir)/dcngettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c
|
||||
dngettext.lo: $(srcdir)/dngettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c
|
||||
ngettext.lo: $(srcdir)/ngettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c
|
||||
plural.lo: $(srcdir)/plural.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c
|
||||
plural-exp.lo: $(srcdir)/plural-exp.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
|
||||
localcharset.lo: $(srcdir)/localcharset.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
|
||||
relocatable.lo: $(srcdir)/relocatable.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
|
||||
localename.lo: $(srcdir)/localename.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
|
||||
log.lo: $(srcdir)/log.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
|
||||
osdep.lo: $(srcdir)/osdep.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
|
||||
intl-compat.lo: $(srcdir)/intl-compat.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c
|
||||
|
||||
ref-add.sed: $(srcdir)/ref-add.sin
|
||||
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed
|
||||
mv t-ref-add.sed ref-add.sed
|
||||
ref-del.sed: $(srcdir)/ref-del.sin
|
||||
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed
|
||||
mv t-ref-del.sed ref-del.sed
|
||||
|
||||
INCLUDES = -I. -I$(srcdir) -I..
|
||||
|
||||
libgnuintl.h: $(srcdir)/libgnuintl.h.in
|
||||
cp $(srcdir)/libgnuintl.h.in libgnuintl.h
|
||||
|
||||
libintl.h: libgnuintl.h
|
||||
cp libgnuintl.h libintl.h
|
||||
|
||||
charset.alias: $(srcdir)/config.charset
|
||||
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
|
||||
mv t-$@ $@
|
||||
|
||||
check: all
|
||||
|
||||
# We must not install the libintl.h/libintl.a files if we are on a
|
||||
# system which has the GNU gettext() function in its C library or in a
|
||||
# separate library.
|
||||
# If you want to use the one which comes with this version of the
|
||||
# package, you have to use `configure --with-included-gettext'.
|
||||
install: install-exec install-data
|
||||
install-exec: all
|
||||
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
$(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
|
||||
$(LIBTOOL) --mode=install \
|
||||
$(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
|
||||
if test "@RELOCATABLE@" = yes; then \
|
||||
dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \
|
||||
if test -n "$dependencies"; then \
|
||||
rm -f $(DESTDIR)$(libdir)/libintl.la; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
$(LIBTOOL) --mode=install \
|
||||
$(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
|
||||
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
|
||||
$(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \
|
||||
$(LIBTOOL) --mode=uninstall \
|
||||
rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
|
||||
dest=$(DESTDIR)$(libdir)/charset.alias; \
|
||||
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
|
||||
orig=$(DESTDIR)$(libdir)/charset.alias; \
|
||||
sed -f ref-add.sed $$orig > $$temp; \
|
||||
$(INSTALL_DATA) $$temp $$dest; \
|
||||
rm -f $$temp; \
|
||||
else \
|
||||
if test @GLIBC21@ = no; then \
|
||||
orig=charset.alias; \
|
||||
sed -f ref-add.sed $$orig > $$temp; \
|
||||
$(INSTALL_DATA) $$temp $$dest; \
|
||||
rm -f $$temp; \
|
||||
fi; \
|
||||
fi; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(localedir); \
|
||||
test -f $(DESTDIR)$(localedir)/locale.alias \
|
||||
&& orig=$(DESTDIR)$(localedir)/locale.alias \
|
||||
|| orig=$(srcdir)/locale.alias; \
|
||||
temp=$(DESTDIR)$(localedir)/t-locale.alias; \
|
||||
dest=$(DESTDIR)$(localedir)/locale.alias; \
|
||||
sed -f ref-add.sed $$orig > $$temp; \
|
||||
$(INSTALL_DATA) $$temp $$dest; \
|
||||
rm -f $$temp; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
install-data: all
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
|
||||
$(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
|
||||
dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
|
||||
for file in $$dists; do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$file \
|
||||
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
|
||||
dists="$(DISTFILES.generated)"; \
|
||||
for file in $$dists; do \
|
||||
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
|
||||
$(INSTALL_DATA) $$dir/$$file \
|
||||
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
dists="$(DISTFILES.obsolete)"; \
|
||||
for file in $$dists; do \
|
||||
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
|
||||
install-strip: install
|
||||
|
||||
installdirs:
|
||||
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
$(mkinstalldirs) $(DESTDIR)$(localedir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
installcheck:
|
||||
|
||||
uninstall:
|
||||
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
rm -f $(DESTDIR)$(includedir)/libintl.h; \
|
||||
$(LIBTOOL) --mode=uninstall \
|
||||
rm -f $(DESTDIR)$(libdir)/libintl.$la; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
|
||||
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
|
||||
dest=$(DESTDIR)$(libdir)/charset.alias; \
|
||||
sed -f ref-del.sed $$dest > $$temp; \
|
||||
if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
|
||||
rm -f $$dest; \
|
||||
else \
|
||||
$(INSTALL_DATA) $$temp $$dest; \
|
||||
fi; \
|
||||
rm -f $$temp; \
|
||||
fi; \
|
||||
if test -f $(DESTDIR)$(localedir)/locale.alias; then \
|
||||
temp=$(DESTDIR)$(localedir)/t-locale.alias; \
|
||||
dest=$(DESTDIR)$(localedir)/locale.alias; \
|
||||
sed -f ref-del.sed $$dest > $$temp; \
|
||||
if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
|
||||
rm -f $$dest; \
|
||||
else \
|
||||
$(INSTALL_DATA) $$temp $$dest; \
|
||||
fi; \
|
||||
rm -f $$temp; \
|
||||
fi; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
|
||||
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
|
||||
info dvi ps pdf html:
|
||||
|
||||
$(OBJECTS): ../config.h libgnuintl.h
|
||||
bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
|
||||
dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
|
||||
explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
|
||||
dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
|
||||
dcigettext.$lo: $(srcdir)/eval-plural.h
|
||||
localcharset.$lo: $(srcdir)/localcharset.h
|
||||
localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
|
||||
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES)
|
||||
here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
|
||||
|
||||
ctags: CTAGS
|
||||
|
||||
CTAGS: $(HEADERS) $(SOURCES)
|
||||
here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
|
||||
|
||||
id: ID
|
||||
|
||||
ID: $(HEADERS) $(SOURCES)
|
||||
here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
|
||||
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.a *.la *.o *.obj *.lo core core.*
|
||||
rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
|
||||
rm -f -r .libs _libs
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile ID TAGS
|
||||
if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
rm -f ChangeLog.inst $(DISTFILES.normal); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
|
||||
# GNU gettext needs not contain the file `VERSION' but contains some
|
||||
# other files which should not be distributed in other packages.
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: Makefile
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
: ; \
|
||||
else \
|
||||
if test "$(PACKAGE)" = "gettext-runtime"; then \
|
||||
additional="$(DISTFILES.gettext)"; \
|
||||
else \
|
||||
additional="$(DISTFILES.normal)"; \
|
||||
fi; \
|
||||
$(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
|
||||
for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
|
||||
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
|
||||
cp -p $$dir/$$file $(distdir); \
|
||||
done; \
|
||||
fi
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status
|
||||
# This would be more efficient, but doesn't work any more with autoconf-2.57,
|
||||
# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
|
||||
# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1 @@
|
|||
GNU gettext library from gettext-0.12.1
|
|
@ -0,0 +1,374 @@
|
|||
/* Implementation of the bindtextdomain(3) function
|
||||
Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
#include "gettextP.h"
|
||||
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_rwlock_define(CLASS, NAME)
|
||||
# define __libc_rwlock_wrlock(NAME)
|
||||
# define __libc_rwlock_unlock(NAME)
|
||||
#endif
|
||||
|
||||
/* The internal variables in the standalone libintl.a must have different
|
||||
names than the internal variables in GNU libc, otherwise programs
|
||||
using libintl.a cannot be linked statically. */
|
||||
#if !defined _LIBC
|
||||
# define _nl_default_dirname libintl_nl_default_dirname
|
||||
# define _nl_domain_bindings libintl_nl_domain_bindings
|
||||
#endif
|
||||
|
||||
/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
|
||||
#ifndef offsetof
|
||||
# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Contains the default location of the message catalogs. */
|
||||
extern const char _nl_default_dirname[];
|
||||
#ifdef _LIBC
|
||||
extern const char _nl_default_dirname_internal[] attribute_hidden;
|
||||
#else
|
||||
# define INTUSE(name) name
|
||||
#endif
|
||||
|
||||
/* List with bindings of specific domains. */
|
||||
extern struct binding *_nl_domain_bindings;
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define BINDTEXTDOMAIN __bindtextdomain
|
||||
# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
|
||||
# ifndef strdup
|
||||
# define strdup(str) __strdup (str)
|
||||
# endif
|
||||
#else
|
||||
# define BINDTEXTDOMAIN libintl_bindtextdomain
|
||||
# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset
|
||||
#endif
|
||||
|
||||
/* Prototypes for local functions. */
|
||||
static void set_binding_values PARAMS ((const char *domainname,
|
||||
const char **dirnamep,
|
||||
const char **codesetp));
|
||||
|
||||
/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
|
||||
to be used for the DOMAINNAME message catalog.
|
||||
If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
|
||||
modified, only the current value is returned.
|
||||
If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
|
||||
modified nor returned. */
|
||||
static void
|
||||
set_binding_values (domainname, dirnamep, codesetp)
|
||||
const char *domainname;
|
||||
const char **dirnamep;
|
||||
const char **codesetp;
|
||||
{
|
||||
struct binding *binding;
|
||||
int modified;
|
||||
|
||||
/* Some sanity checks. */
|
||||
if (domainname == NULL || domainname[0] == '\0')
|
||||
{
|
||||
if (dirnamep)
|
||||
*dirnamep = NULL;
|
||||
if (codesetp)
|
||||
*codesetp = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
modified = 0;
|
||||
|
||||
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
|
||||
{
|
||||
int compare = strcmp (domainname, binding->domainname);
|
||||
if (compare == 0)
|
||||
/* We found it! */
|
||||
break;
|
||||
if (compare < 0)
|
||||
{
|
||||
/* It is not in the list. */
|
||||
binding = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (binding != NULL)
|
||||
{
|
||||
if (dirnamep)
|
||||
{
|
||||
const char *dirname = *dirnamep;
|
||||
|
||||
if (dirname == NULL)
|
||||
/* The current binding has be to returned. */
|
||||
*dirnamep = binding->dirname;
|
||||
else
|
||||
{
|
||||
/* The domain is already bound. If the new value and the old
|
||||
one are equal we simply do nothing. Otherwise replace the
|
||||
old binding. */
|
||||
char *result = binding->dirname;
|
||||
if (strcmp (dirname, result) != 0)
|
||||
{
|
||||
if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
|
||||
result = (char *) INTUSE(_nl_default_dirname);
|
||||
else
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
result = strdup (dirname);
|
||||
#else
|
||||
size_t len = strlen (dirname) + 1;
|
||||
result = (char *) malloc (len);
|
||||
if (__builtin_expect (result != NULL, 1))
|
||||
memcpy (result, dirname, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (__builtin_expect (result != NULL, 1))
|
||||
{
|
||||
if (binding->dirname != INTUSE(_nl_default_dirname))
|
||||
free (binding->dirname);
|
||||
|
||||
binding->dirname = result;
|
||||
modified = 1;
|
||||
}
|
||||
}
|
||||
*dirnamep = result;
|
||||
}
|
||||
}
|
||||
|
||||
if (codesetp)
|
||||
{
|
||||
const char *codeset = *codesetp;
|
||||
|
||||
if (codeset == NULL)
|
||||
/* The current binding has be to returned. */
|
||||
*codesetp = binding->codeset;
|
||||
else
|
||||
{
|
||||
/* The domain is already bound. If the new value and the old
|
||||
one are equal we simply do nothing. Otherwise replace the
|
||||
old binding. */
|
||||
char *result = binding->codeset;
|
||||
if (result == NULL || strcmp (codeset, result) != 0)
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
result = strdup (codeset);
|
||||
#else
|
||||
size_t len = strlen (codeset) + 1;
|
||||
result = (char *) malloc (len);
|
||||
if (__builtin_expect (result != NULL, 1))
|
||||
memcpy (result, codeset, len);
|
||||
#endif
|
||||
|
||||
if (__builtin_expect (result != NULL, 1))
|
||||
{
|
||||
if (binding->codeset != NULL)
|
||||
free (binding->codeset);
|
||||
|
||||
binding->codeset = result;
|
||||
binding->codeset_cntr++;
|
||||
modified = 1;
|
||||
}
|
||||
}
|
||||
*codesetp = result;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((dirnamep == NULL || *dirnamep == NULL)
|
||||
&& (codesetp == NULL || *codesetp == NULL))
|
||||
{
|
||||
/* Simply return the default values. */
|
||||
if (dirnamep)
|
||||
*dirnamep = INTUSE(_nl_default_dirname);
|
||||
if (codesetp)
|
||||
*codesetp = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* We have to create a new binding. */
|
||||
size_t len = strlen (domainname) + 1;
|
||||
struct binding *new_binding =
|
||||
(struct binding *) malloc (offsetof (struct binding, domainname) + len);
|
||||
|
||||
if (__builtin_expect (new_binding == NULL, 0))
|
||||
goto failed;
|
||||
|
||||
memcpy (new_binding->domainname, domainname, len);
|
||||
|
||||
if (dirnamep)
|
||||
{
|
||||
const char *dirname = *dirnamep;
|
||||
|
||||
if (dirname == NULL)
|
||||
/* The default value. */
|
||||
dirname = INTUSE(_nl_default_dirname);
|
||||
else
|
||||
{
|
||||
if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
|
||||
dirname = INTUSE(_nl_default_dirname);
|
||||
else
|
||||
{
|
||||
char *result;
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
result = strdup (dirname);
|
||||
if (__builtin_expect (result == NULL, 0))
|
||||
goto failed_dirname;
|
||||
#else
|
||||
size_t len = strlen (dirname) + 1;
|
||||
result = (char *) malloc (len);
|
||||
if (__builtin_expect (result == NULL, 0))
|
||||
goto failed_dirname;
|
||||
memcpy (result, dirname, len);
|
||||
#endif
|
||||
dirname = result;
|
||||
}
|
||||
}
|
||||
*dirnamep = dirname;
|
||||
new_binding->dirname = (char *) dirname;
|
||||
}
|
||||
else
|
||||
/* The default value. */
|
||||
new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
|
||||
|
||||
new_binding->codeset_cntr = 0;
|
||||
|
||||
if (codesetp)
|
||||
{
|
||||
const char *codeset = *codesetp;
|
||||
|
||||
if (codeset != NULL)
|
||||
{
|
||||
char *result;
|
||||
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
result = strdup (codeset);
|
||||
if (__builtin_expect (result == NULL, 0))
|
||||
goto failed_codeset;
|
||||
#else
|
||||
size_t len = strlen (codeset) + 1;
|
||||
result = (char *) malloc (len);
|
||||
if (__builtin_expect (result == NULL, 0))
|
||||
goto failed_codeset;
|
||||
memcpy (result, codeset, len);
|
||||
#endif
|
||||
codeset = result;
|
||||
new_binding->codeset_cntr++;
|
||||
}
|
||||
*codesetp = codeset;
|
||||
new_binding->codeset = (char *) codeset;
|
||||
}
|
||||
else
|
||||
new_binding->codeset = NULL;
|
||||
|
||||
/* Now enqueue it. */
|
||||
if (_nl_domain_bindings == NULL
|
||||
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
|
||||
{
|
||||
new_binding->next = _nl_domain_bindings;
|
||||
_nl_domain_bindings = new_binding;
|
||||
}
|
||||
else
|
||||
{
|
||||
binding = _nl_domain_bindings;
|
||||
while (binding->next != NULL
|
||||
&& strcmp (domainname, binding->next->domainname) > 0)
|
||||
binding = binding->next;
|
||||
|
||||
new_binding->next = binding->next;
|
||||
binding->next = new_binding;
|
||||
}
|
||||
|
||||
modified = 1;
|
||||
|
||||
/* Here we deal with memory allocation failures. */
|
||||
if (0)
|
||||
{
|
||||
failed_codeset:
|
||||
if (new_binding->dirname != INTUSE(_nl_default_dirname))
|
||||
free (new_binding->dirname);
|
||||
failed_dirname:
|
||||
free (new_binding);
|
||||
failed:
|
||||
if (dirnamep)
|
||||
*dirnamep = NULL;
|
||||
if (codesetp)
|
||||
*codesetp = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* If we modified any binding, we flush the caches. */
|
||||
if (modified)
|
||||
++_nl_msg_cat_cntr;
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
}
|
||||
|
||||
/* Specify that the DOMAINNAME message catalog will be found
|
||||
in DIRNAME rather than in the system locale data base. */
|
||||
char *
|
||||
BINDTEXTDOMAIN (domainname, dirname)
|
||||
const char *domainname;
|
||||
const char *dirname;
|
||||
{
|
||||
set_binding_values (domainname, &dirname, NULL);
|
||||
return (char *) dirname;
|
||||
}
|
||||
|
||||
/* Specify the character encoding in which the messages from the
|
||||
DOMAINNAME message catalog will be returned. */
|
||||
char *
|
||||
BIND_TEXTDOMAIN_CODESET (domainname, codeset)
|
||||
const char *domainname;
|
||||
const char *codeset;
|
||||
{
|
||||
set_binding_values (domainname, NULL, &codeset);
|
||||
return (char *) codeset;
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Aliases for function names in GNU C Library. */
|
||||
weak_alias (__bindtextdomain, bindtextdomain);
|
||||
weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
|
||||
#endif
|
|
@ -0,0 +1,467 @@
|
|||
#! /bin/sh
|
||||
# Output a system dependent table of character encoding aliases.
|
||||
#
|
||||
# Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
#
|
||||
# The table consists of lines of the form
|
||||
# ALIAS CANONICAL
|
||||
#
|
||||
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
|
||||
# ALIAS is compared in a case sensitive way.
|
||||
#
|
||||
# CANONICAL is the GNU canonical name for this character encoding.
|
||||
# It must be an encoding supported by libiconv. Support by GNU libc is
|
||||
# also desirable. CANONICAL is case insensitive. Usually an upper case
|
||||
# MIME charset name is preferred.
|
||||
# The current list of GNU canonical charset names is as follows.
|
||||
#
|
||||
# name used by which systems a MIME name?
|
||||
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd
|
||||
# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes
|
||||
# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes
|
||||
# ISO-8859-3 glibc solaris yes
|
||||
# ISO-8859-4 osf solaris freebsd yes
|
||||
# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes
|
||||
# ISO-8859-6 glibc aix hpux solaris yes
|
||||
# ISO-8859-7 glibc aix hpux irix osf solaris yes
|
||||
# ISO-8859-8 glibc aix hpux osf solaris yes
|
||||
# ISO-8859-9 glibc aix hpux irix osf solaris yes
|
||||
# ISO-8859-13 glibc
|
||||
# ISO-8859-14 glibc
|
||||
# ISO-8859-15 glibc aix osf solaris freebsd
|
||||
# KOI8-R glibc solaris freebsd yes
|
||||
# KOI8-U glibc freebsd yes
|
||||
# KOI8-T glibc
|
||||
# CP437 dos
|
||||
# CP775 dos
|
||||
# CP850 aix osf dos
|
||||
# CP852 dos
|
||||
# CP855 dos
|
||||
# CP856 aix
|
||||
# CP857 dos
|
||||
# CP861 dos
|
||||
# CP862 dos
|
||||
# CP864 dos
|
||||
# CP865 dos
|
||||
# CP866 freebsd dos
|
||||
# CP869 dos
|
||||
# CP874 woe32 dos
|
||||
# CP922 aix
|
||||
# CP932 aix woe32 dos
|
||||
# CP943 aix
|
||||
# CP949 osf woe32 dos
|
||||
# CP950 woe32 dos
|
||||
# CP1046 aix
|
||||
# CP1124 aix
|
||||
# CP1125 dos
|
||||
# CP1129 aix
|
||||
# CP1250 woe32
|
||||
# CP1251 glibc solaris woe32
|
||||
# CP1252 aix woe32
|
||||
# CP1253 woe32
|
||||
# CP1254 woe32
|
||||
# CP1255 glibc woe32
|
||||
# CP1256 woe32
|
||||
# CP1257 woe32
|
||||
# GB2312 glibc aix hpux irix solaris freebsd yes
|
||||
# EUC-JP glibc aix hpux irix osf solaris freebsd yes
|
||||
# EUC-KR glibc aix hpux irix osf solaris freebsd yes
|
||||
# EUC-TW glibc aix hpux irix osf solaris
|
||||
# BIG5 glibc aix hpux osf solaris freebsd yes
|
||||
# BIG5-HKSCS glibc solaris
|
||||
# GBK glibc aix osf solaris woe32 dos
|
||||
# GB18030 glibc solaris
|
||||
# SHIFT_JIS hpux osf solaris freebsd yes
|
||||
# JOHAB glibc solaris woe32
|
||||
# TIS-620 glibc aix hpux osf solaris
|
||||
# VISCII glibc yes
|
||||
# TCVN5712-1 glibc
|
||||
# GEORGIAN-PS glibc
|
||||
# HP-ROMAN8 hpux
|
||||
# HP-ARABIC8 hpux
|
||||
# HP-GREEK8 hpux
|
||||
# HP-HEBREW8 hpux
|
||||
# HP-TURKISH8 hpux
|
||||
# HP-KANA8 hpux
|
||||
# DEC-KANJI osf
|
||||
# DEC-HANYU osf
|
||||
# UTF-8 glibc aix hpux osf solaris yes
|
||||
#
|
||||
# Note: Names which are not marked as being a MIME name should not be used in
|
||||
# Internet protocols for information interchange (mail, news, etc.).
|
||||
#
|
||||
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
|
||||
# must understand both names and treat them as equivalent.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
|
||||
host="$1"
|
||||
os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
|
||||
echo "# This file contains a table of character encoding aliases,"
|
||||
echo "# suitable for operating system '${os}'."
|
||||
echo "# It was automatically generated from config.charset."
|
||||
# List of references, updated during installation:
|
||||
echo "# Packages using this file: "
|
||||
case "$os" in
|
||||
linux* | *-gnu*)
|
||||
# With glibc-2.1 or newer, we don't need any canonicalization,
|
||||
# because glibc has iconv and both glibc and libiconv support all
|
||||
# GNU canonical names directly. Therefore, the Makefile does not
|
||||
# need to install the alias file at all.
|
||||
# The following applies only to glibc-2.0.x and older libcs.
|
||||
echo "ISO_646.IRV:1983 ASCII"
|
||||
;;
|
||||
aix*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-6 ISO-8859-6"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "IBM-850 CP850"
|
||||
echo "IBM-856 CP856"
|
||||
echo "IBM-921 ISO-8859-13"
|
||||
echo "IBM-922 CP922"
|
||||
echo "IBM-932 CP932"
|
||||
echo "IBM-943 CP943"
|
||||
echo "IBM-1046 CP1046"
|
||||
echo "IBM-1124 CP1124"
|
||||
echo "IBM-1129 CP1129"
|
||||
echo "IBM-1252 CP1252"
|
||||
echo "IBM-eucCN GB2312"
|
||||
echo "IBM-eucJP EUC-JP"
|
||||
echo "IBM-eucKR EUC-KR"
|
||||
echo "IBM-eucTW EUC-TW"
|
||||
echo "big5 BIG5"
|
||||
echo "GBK GBK"
|
||||
echo "TIS-620 TIS-620"
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
hpux*)
|
||||
echo "iso88591 ISO-8859-1"
|
||||
echo "iso88592 ISO-8859-2"
|
||||
echo "iso88595 ISO-8859-5"
|
||||
echo "iso88596 ISO-8859-6"
|
||||
echo "iso88597 ISO-8859-7"
|
||||
echo "iso88598 ISO-8859-8"
|
||||
echo "iso88599 ISO-8859-9"
|
||||
echo "iso885915 ISO-8859-15"
|
||||
echo "roman8 HP-ROMAN8"
|
||||
echo "arabic8 HP-ARABIC8"
|
||||
echo "greek8 HP-GREEK8"
|
||||
echo "hebrew8 HP-HEBREW8"
|
||||
echo "turkish8 HP-TURKISH8"
|
||||
echo "kana8 HP-KANA8"
|
||||
echo "tis620 TIS-620"
|
||||
echo "big5 BIG5"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "hp15CN GB2312"
|
||||
#echo "ccdc ?" # what is this?
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "utf8 UTF-8"
|
||||
;;
|
||||
irix*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "eucCN GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
;;
|
||||
osf*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "cp850 CP850"
|
||||
echo "big5 BIG5"
|
||||
echo "dechanyu DEC-HANYU"
|
||||
echo "dechanzi GB2312"
|
||||
echo "deckanji DEC-KANJI"
|
||||
echo "deckorean EUC-KR"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "GBK GBK"
|
||||
echo "KSC5601 CP949"
|
||||
echo "sdeckanji EUC-JP"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "TACTIS TIS-620"
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
solaris*)
|
||||
echo "646 ASCII"
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-3 ISO-8859-3"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-6 ISO-8859-6"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "koi8-r KOI8-R"
|
||||
echo "ansi-1251 CP1251"
|
||||
echo "BIG5 BIG5"
|
||||
echo "Big5-HKSCS BIG5-HKSCS"
|
||||
echo "gb2312 GB2312"
|
||||
echo "GBK GBK"
|
||||
echo "GB18030 GB18030"
|
||||
echo "cns11643 EUC-TW"
|
||||
echo "5601 EUC-KR"
|
||||
echo "ko_KR.johap92 JOHAB"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "PCK SHIFT_JIS"
|
||||
echo "TIS620.2533 TIS-620"
|
||||
#echo "sun_eu_greek ?" # what is this?
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
freebsd* | os2*)
|
||||
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
# Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
|
||||
# reuse FreeBSD's locale data for OS/2.
|
||||
echo "C ASCII"
|
||||
echo "US-ASCII ASCII"
|
||||
for l in la_LN lt_LN; do
|
||||
echo "$l.ASCII ASCII"
|
||||
done
|
||||
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
|
||||
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
|
||||
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
|
||||
echo "$l.ISO_8859-1 ISO-8859-1"
|
||||
echo "$l.DIS_8859-15 ISO-8859-15"
|
||||
done
|
||||
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
|
||||
echo "$l.ISO_8859-2 ISO-8859-2"
|
||||
done
|
||||
for l in la_LN lt_LT; do
|
||||
echo "$l.ISO_8859-4 ISO-8859-4"
|
||||
done
|
||||
for l in ru_RU ru_SU; do
|
||||
echo "$l.KOI8-R KOI8-R"
|
||||
echo "$l.ISO_8859-5 ISO-8859-5"
|
||||
echo "$l.CP866 CP866"
|
||||
done
|
||||
echo "uk_UA.KOI8-U KOI8-U"
|
||||
echo "zh_TW.BIG5 BIG5"
|
||||
echo "zh_TW.Big5 BIG5"
|
||||
echo "zh_CN.EUC GB2312"
|
||||
echo "ja_JP.EUC EUC-JP"
|
||||
echo "ja_JP.SJIS SHIFT_JIS"
|
||||
echo "ja_JP.Shift_JIS SHIFT_JIS"
|
||||
echo "ko_KR.EUC EUC-KR"
|
||||
;;
|
||||
netbsd*)
|
||||
echo "646 ASCII"
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "eucCN GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "BIG5 BIG5"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
;;
|
||||
beos*)
|
||||
# BeOS has a single locale, and it has UTF-8 encoding.
|
||||
echo "* UTF-8"
|
||||
;;
|
||||
msdosdjgpp*)
|
||||
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
echo "#"
|
||||
echo "# The encodings given here may not all be correct."
|
||||
echo "# If you find that the encoding given for your language and"
|
||||
echo "# country is not the one your DOS machine actually uses, just"
|
||||
echo "# correct it in this file, and send a mail to"
|
||||
echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
|
||||
echo "# and Bruno Haible <bruno@clisp.org>."
|
||||
echo "#"
|
||||
echo "C ASCII"
|
||||
# ISO-8859-1 languages
|
||||
echo "ca CP850"
|
||||
echo "ca_ES CP850"
|
||||
echo "da CP865" # not CP850 ??
|
||||
echo "da_DK CP865" # not CP850 ??
|
||||
echo "de CP850"
|
||||
echo "de_AT CP850"
|
||||
echo "de_CH CP850"
|
||||
echo "de_DE CP850"
|
||||
echo "en CP850"
|
||||
echo "en_AU CP850" # not CP437 ??
|
||||
echo "en_CA CP850"
|
||||
echo "en_GB CP850"
|
||||
echo "en_NZ CP437"
|
||||
echo "en_US CP437"
|
||||
echo "en_ZA CP850" # not CP437 ??
|
||||
echo "es CP850"
|
||||
echo "es_AR CP850"
|
||||
echo "es_BO CP850"
|
||||
echo "es_CL CP850"
|
||||
echo "es_CO CP850"
|
||||
echo "es_CR CP850"
|
||||
echo "es_CU CP850"
|
||||
echo "es_DO CP850"
|
||||
echo "es_EC CP850"
|
||||
echo "es_ES CP850"
|
||||
echo "es_GT CP850"
|
||||
echo "es_HN CP850"
|
||||
echo "es_MX CP850"
|
||||
echo "es_NI CP850"
|
||||
echo "es_PA CP850"
|
||||
echo "es_PY CP850"
|
||||
echo "es_PE CP850"
|
||||
echo "es_SV CP850"
|
||||
echo "es_UY CP850"
|
||||
echo "es_VE CP850"
|
||||
echo "et CP850"
|
||||
echo "et_EE CP850"
|
||||
echo "eu CP850"
|
||||
echo "eu_ES CP850"
|
||||
echo "fi CP850"
|
||||
echo "fi_FI CP850"
|
||||
echo "fr CP850"
|
||||
echo "fr_BE CP850"
|
||||
echo "fr_CA CP850"
|
||||
echo "fr_CH CP850"
|
||||
echo "fr_FR CP850"
|
||||
echo "ga CP850"
|
||||
echo "ga_IE CP850"
|
||||
echo "gd CP850"
|
||||
echo "gd_GB CP850"
|
||||
echo "gl CP850"
|
||||
echo "gl_ES CP850"
|
||||
echo "id CP850" # not CP437 ??
|
||||
echo "id_ID CP850" # not CP437 ??
|
||||
echo "is CP861" # not CP850 ??
|
||||
echo "is_IS CP861" # not CP850 ??
|
||||
echo "it CP850"
|
||||
echo "it_CH CP850"
|
||||
echo "it_IT CP850"
|
||||
echo "lt CP775"
|
||||
echo "lt_LT CP775"
|
||||
echo "lv CP775"
|
||||
echo "lv_LV CP775"
|
||||
echo "nb CP865" # not CP850 ??
|
||||
echo "nb_NO CP865" # not CP850 ??
|
||||
echo "nl CP850"
|
||||
echo "nl_BE CP850"
|
||||
echo "nl_NL CP850"
|
||||
echo "nn CP865" # not CP850 ??
|
||||
echo "nn_NO CP865" # not CP850 ??
|
||||
echo "no CP865" # not CP850 ??
|
||||
echo "no_NO CP865" # not CP850 ??
|
||||
echo "pt CP850"
|
||||
echo "pt_BR CP850"
|
||||
echo "pt_PT CP850"
|
||||
echo "sv CP850"
|
||||
echo "sv_SE CP850"
|
||||
# ISO-8859-2 languages
|
||||
echo "cs CP852"
|
||||
echo "cs_CZ CP852"
|
||||
echo "hr CP852"
|
||||
echo "hr_HR CP852"
|
||||
echo "hu CP852"
|
||||
echo "hu_HU CP852"
|
||||
echo "pl CP852"
|
||||
echo "pl_PL CP852"
|
||||
echo "ro CP852"
|
||||
echo "ro_RO CP852"
|
||||
echo "sk CP852"
|
||||
echo "sk_SK CP852"
|
||||
echo "sl CP852"
|
||||
echo "sl_SI CP852"
|
||||
echo "sq CP852"
|
||||
echo "sq_AL CP852"
|
||||
echo "sr CP852" # CP852 or CP866 or CP855 ??
|
||||
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
|
||||
# ISO-8859-3 languages
|
||||
echo "mt CP850"
|
||||
echo "mt_MT CP850"
|
||||
# ISO-8859-5 languages
|
||||
echo "be CP866"
|
||||
echo "be_BE CP866"
|
||||
echo "bg CP866" # not CP855 ??
|
||||
echo "bg_BG CP866" # not CP855 ??
|
||||
echo "mk CP866" # not CP855 ??
|
||||
echo "mk_MK CP866" # not CP855 ??
|
||||
echo "ru CP866"
|
||||
echo "ru_RU CP866"
|
||||
echo "uk CP1125"
|
||||
echo "uk_UA CP1125"
|
||||
# ISO-8859-6 languages
|
||||
echo "ar CP864"
|
||||
echo "ar_AE CP864"
|
||||
echo "ar_DZ CP864"
|
||||
echo "ar_EG CP864"
|
||||
echo "ar_IQ CP864"
|
||||
echo "ar_IR CP864"
|
||||
echo "ar_JO CP864"
|
||||
echo "ar_KW CP864"
|
||||
echo "ar_MA CP864"
|
||||
echo "ar_OM CP864"
|
||||
echo "ar_QA CP864"
|
||||
echo "ar_SA CP864"
|
||||
echo "ar_SY CP864"
|
||||
# ISO-8859-7 languages
|
||||
echo "el CP869"
|
||||
echo "el_GR CP869"
|
||||
# ISO-8859-8 languages
|
||||
echo "he CP862"
|
||||
echo "he_IL CP862"
|
||||
# ISO-8859-9 languages
|
||||
echo "tr CP857"
|
||||
echo "tr_TR CP857"
|
||||
# Japanese
|
||||
echo "ja CP932"
|
||||
echo "ja_JP CP932"
|
||||
# Chinese
|
||||
echo "zh_CN GBK"
|
||||
echo "zh_TW CP950" # not CP938 ??
|
||||
# Korean
|
||||
echo "kr CP949" # not CP934 ??
|
||||
echo "kr_KR CP949" # not CP934 ??
|
||||
# Thai
|
||||
echo "th CP874"
|
||||
echo "th_TH CP874"
|
||||
# Other
|
||||
echo "eo CP850"
|
||||
echo "eo_EO CP850"
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,59 @@
|
|||
/* Implementation of the dcgettext(3) function.
|
||||
Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define DCGETTEXT __dcgettext
|
||||
# define DCIGETTEXT __dcigettext
|
||||
#else
|
||||
# define DCGETTEXT libintl_dcgettext
|
||||
# define DCIGETTEXT libintl_dcigettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
|
||||
locale. */
|
||||
char *
|
||||
DCGETTEXT (domainname, msgid, category)
|
||||
const char *domainname;
|
||||
const char *msgid;
|
||||
int category;
|
||||
{
|
||||
return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
INTDEF(__dcgettext)
|
||||
weak_alias (__dcgettext, dcgettext);
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,60 @@
|
|||
/* Implementation of the dcngettext(3) function.
|
||||
Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define DCNGETTEXT __dcngettext
|
||||
# define DCIGETTEXT __dcigettext
|
||||
#else
|
||||
# define DCNGETTEXT libintl_dcngettext
|
||||
# define DCIGETTEXT libintl_dcigettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
|
||||
locale. */
|
||||
char *
|
||||
DCNGETTEXT (domainname, msgid1, msgid2, n, category)
|
||||
const char *domainname;
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
int category;
|
||||
{
|
||||
return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__dcngettext, dcngettext);
|
||||
#endif
|
|
@ -0,0 +1,59 @@
|
|||
/* Implementation of the dgettext(3) function.
|
||||
Copyright (C) 1995-1997, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define DGETTEXT __dgettext
|
||||
# define DCGETTEXT INTUSE(__dcgettext)
|
||||
#else
|
||||
# define DGETTEXT libintl_dgettext
|
||||
# define DCGETTEXT libintl_dcgettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog of the current
|
||||
LC_MESSAGES locale. */
|
||||
char *
|
||||
DGETTEXT (domainname, msgid)
|
||||
const char *domainname;
|
||||
const char *msgid;
|
||||
{
|
||||
return DCGETTEXT (domainname, msgid, LC_MESSAGES);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__dgettext, dgettext);
|
||||
#endif
|
|
@ -0,0 +1,61 @@
|
|||
/* Implementation of the dngettext(3) function.
|
||||
Copyright (C) 1995-1997, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define DNGETTEXT __dngettext
|
||||
# define DCNGETTEXT __dcngettext
|
||||
#else
|
||||
# define DNGETTEXT libintl_dngettext
|
||||
# define DCNGETTEXT libintl_dcngettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog of the current
|
||||
LC_MESSAGES locale and skip message according to the plural form. */
|
||||
char *
|
||||
DNGETTEXT (domainname, msgid1, msgid2, n)
|
||||
const char *domainname;
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
{
|
||||
return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__dngettext, dngettext);
|
||||
#endif
|
|
@ -0,0 +1,114 @@
|
|||
/* Plural expression evaluation.
|
||||
Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef STATIC
|
||||
#define STATIC static
|
||||
#endif
|
||||
|
||||
/* Evaluate the plural expression and return an index value. */
|
||||
STATIC unsigned long int plural_eval PARAMS ((struct expression *pexp,
|
||||
unsigned long int n))
|
||||
internal_function;
|
||||
|
||||
STATIC
|
||||
unsigned long int
|
||||
internal_function
|
||||
plural_eval (pexp, n)
|
||||
struct expression *pexp;
|
||||
unsigned long int n;
|
||||
{
|
||||
switch (pexp->nargs)
|
||||
{
|
||||
case 0:
|
||||
switch (pexp->operation)
|
||||
{
|
||||
case var:
|
||||
return n;
|
||||
case num:
|
||||
return pexp->val.num;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
/* pexp->operation must be lnot. */
|
||||
unsigned long int arg = plural_eval (pexp->val.args[0], n);
|
||||
return ! arg;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
|
||||
if (pexp->operation == lor)
|
||||
return leftarg || plural_eval (pexp->val.args[1], n);
|
||||
else if (pexp->operation == land)
|
||||
return leftarg && plural_eval (pexp->val.args[1], n);
|
||||
else
|
||||
{
|
||||
unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
|
||||
|
||||
switch (pexp->operation)
|
||||
{
|
||||
case mult:
|
||||
return leftarg * rightarg;
|
||||
case divide:
|
||||
#if !INTDIV0_RAISES_SIGFPE
|
||||
if (rightarg == 0)
|
||||
raise (SIGFPE);
|
||||
#endif
|
||||
return leftarg / rightarg;
|
||||
case module:
|
||||
#if !INTDIV0_RAISES_SIGFPE
|
||||
if (rightarg == 0)
|
||||
raise (SIGFPE);
|
||||
#endif
|
||||
return leftarg % rightarg;
|
||||
case plus:
|
||||
return leftarg + rightarg;
|
||||
case minus:
|
||||
return leftarg - rightarg;
|
||||
case less_than:
|
||||
return leftarg < rightarg;
|
||||
case greater_than:
|
||||
return leftarg > rightarg;
|
||||
case less_or_equal:
|
||||
return leftarg <= rightarg;
|
||||
case greater_or_equal:
|
||||
return leftarg >= rightarg;
|
||||
case equal:
|
||||
return leftarg == rightarg;
|
||||
case not_equal:
|
||||
return leftarg != rightarg;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
/* pexp->operation must be qmop. */
|
||||
unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
|
||||
return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
|
||||
}
|
||||
}
|
||||
/* NOTREACHED */
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,192 @@
|
|||
/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "loadinfo.h"
|
||||
|
||||
/* On some strange systems still no definition of NULL is found. Sigh! */
|
||||
#ifndef NULL
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define NULL ((void *) 0)
|
||||
# else
|
||||
# define NULL 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
char *
|
||||
_nl_find_language (name)
|
||||
const char *name;
|
||||
{
|
||||
while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
|
||||
&& name[0] != '+' && name[0] != ',')
|
||||
++name;
|
||||
|
||||
return (char *) name;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
_nl_explode_name (name, language, modifier, territory, codeset,
|
||||
normalized_codeset, special, sponsor, revision)
|
||||
char *name;
|
||||
const char **language;
|
||||
const char **modifier;
|
||||
const char **territory;
|
||||
const char **codeset;
|
||||
const char **normalized_codeset;
|
||||
const char **special;
|
||||
const char **sponsor;
|
||||
const char **revision;
|
||||
{
|
||||
enum { undecided, xpg, cen } syntax;
|
||||
char *cp;
|
||||
int mask;
|
||||
|
||||
*modifier = NULL;
|
||||
*territory = NULL;
|
||||
*codeset = NULL;
|
||||
*normalized_codeset = NULL;
|
||||
*special = NULL;
|
||||
*sponsor = NULL;
|
||||
*revision = NULL;
|
||||
|
||||
/* Now we determine the single parts of the locale name. First
|
||||
look for the language. Termination symbols are `_' and `@' if
|
||||
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
|
||||
mask = 0;
|
||||
syntax = undecided;
|
||||
*language = cp = name;
|
||||
cp = _nl_find_language (*language);
|
||||
|
||||
if (*language == cp)
|
||||
/* This does not make sense: language has to be specified. Use
|
||||
this entry as it is without exploding. Perhaps it is an alias. */
|
||||
cp = strchr (*language, '\0');
|
||||
else if (cp[0] == '_')
|
||||
{
|
||||
/* Next is the territory. */
|
||||
cp[0] = '\0';
|
||||
*territory = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
|
||||
&& cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= TERRITORY;
|
||||
|
||||
if (cp[0] == '.')
|
||||
{
|
||||
/* Next is the codeset. */
|
||||
syntax = xpg;
|
||||
cp[0] = '\0';
|
||||
*codeset = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != '@')
|
||||
++cp;
|
||||
|
||||
mask |= XPG_CODESET;
|
||||
|
||||
if (*codeset != cp && (*codeset)[0] != '\0')
|
||||
{
|
||||
*normalized_codeset = _nl_normalize_codeset (*codeset,
|
||||
cp - *codeset);
|
||||
if (strcmp (*codeset, *normalized_codeset) == 0)
|
||||
free ((char *) *normalized_codeset);
|
||||
else
|
||||
mask |= XPG_NORM_CODESET;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
|
||||
{
|
||||
/* Next is the modifier. */
|
||||
syntax = cp[0] == '@' ? xpg : cen;
|
||||
cp[0] = '\0';
|
||||
*modifier = ++cp;
|
||||
|
||||
while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
|
||||
&& cp[0] != ',' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= XPG_MODIFIER | CEN_AUDIENCE;
|
||||
}
|
||||
|
||||
if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
|
||||
{
|
||||
syntax = cen;
|
||||
|
||||
if (cp[0] == '+')
|
||||
{
|
||||
/* Next is special application (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*special = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= CEN_SPECIAL;
|
||||
}
|
||||
|
||||
if (cp[0] == ',')
|
||||
{
|
||||
/* Next is sponsor (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*sponsor = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= CEN_SPONSOR;
|
||||
}
|
||||
|
||||
if (cp[0] == '_')
|
||||
{
|
||||
/* Next is revision (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*revision = ++cp;
|
||||
|
||||
mask |= CEN_REVISION;
|
||||
}
|
||||
}
|
||||
|
||||
/* For CEN syntax values it might be important to have the
|
||||
separator character in the file name, not for XPG syntax. */
|
||||
if (syntax == xpg)
|
||||
{
|
||||
if (*territory != NULL && (*territory)[0] == '\0')
|
||||
mask &= ~TERRITORY;
|
||||
|
||||
if (*codeset != NULL && (*codeset)[0] == '\0')
|
||||
mask &= ~XPG_CODESET;
|
||||
|
||||
if (*modifier != NULL && (*modifier)[0] == '\0')
|
||||
mask &= ~XPG_MODIFIER;
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
|
@ -0,0 +1,195 @@
|
|||
/* Handle list of needed message catalogs
|
||||
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#if defined HAVE_UNISTD_H || defined _LIBC
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
/* List of already loaded domains. */
|
||||
static struct loaded_l10nfile *_nl_loaded_domains;
|
||||
|
||||
|
||||
/* Return a data structure describing the message catalog described by
|
||||
the DOMAINNAME and CATEGORY parameters with respect to the currently
|
||||
established bindings. */
|
||||
struct loaded_l10nfile *
|
||||
internal_function
|
||||
_nl_find_domain (dirname, locale, domainname, domainbinding)
|
||||
const char *dirname;
|
||||
char *locale;
|
||||
const char *domainname;
|
||||
struct binding *domainbinding;
|
||||
{
|
||||
struct loaded_l10nfile *retval;
|
||||
const char *language;
|
||||
const char *modifier;
|
||||
const char *territory;
|
||||
const char *codeset;
|
||||
const char *normalized_codeset;
|
||||
const char *special;
|
||||
const char *sponsor;
|
||||
const char *revision;
|
||||
const char *alias_value;
|
||||
int mask;
|
||||
|
||||
/* LOCALE can consist of up to four recognized parts for the XPG syntax:
|
||||
|
||||
language[_territory[.codeset]][@modifier]
|
||||
|
||||
and six parts for the CEN syntax:
|
||||
|
||||
language[_territory][+audience][+special][,[sponsor][_revision]]
|
||||
|
||||
Beside the first part all of them are allowed to be missing. If
|
||||
the full specified locale is not found, the less specific one are
|
||||
looked for. The various parts will be stripped off according to
|
||||
the following order:
|
||||
(1) revision
|
||||
(2) sponsor
|
||||
(3) special
|
||||
(4) codeset
|
||||
(5) normalized codeset
|
||||
(6) territory
|
||||
(7) audience/modifier
|
||||
*/
|
||||
|
||||
/* If we have already tested for this locale entry there has to
|
||||
be one data set in the list of loaded domains. */
|
||||
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
|
||||
strlen (dirname) + 1, 0, locale, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, domainname, 0);
|
||||
if (retval != NULL)
|
||||
{
|
||||
/* We know something about this locale. */
|
||||
int cnt;
|
||||
|
||||
if (retval->decided == 0)
|
||||
_nl_load_domain (retval, domainbinding);
|
||||
|
||||
if (retval->data != NULL)
|
||||
return retval;
|
||||
|
||||
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
|
||||
{
|
||||
if (retval->successor[cnt]->decided == 0)
|
||||
_nl_load_domain (retval->successor[cnt], domainbinding);
|
||||
|
||||
if (retval->successor[cnt]->data != NULL)
|
||||
break;
|
||||
}
|
||||
return cnt >= 0 ? retval : NULL;
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/* See whether the locale value is an alias. If yes its value
|
||||
*overwrites* the alias name. No test for the original value is
|
||||
done. */
|
||||
alias_value = _nl_expand_alias (locale);
|
||||
if (alias_value != NULL)
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
locale = strdup (alias_value);
|
||||
if (locale == NULL)
|
||||
return NULL;
|
||||
#else
|
||||
size_t len = strlen (alias_value) + 1;
|
||||
locale = (char *) malloc (len);
|
||||
if (locale == NULL)
|
||||
return NULL;
|
||||
|
||||
memcpy (locale, alias_value, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Now we determine the single parts of the locale name. First
|
||||
look for the language. Termination symbols are `_' and `@' if
|
||||
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
|
||||
mask = _nl_explode_name (locale, &language, &modifier, &territory,
|
||||
&codeset, &normalized_codeset, &special,
|
||||
&sponsor, &revision);
|
||||
|
||||
/* Create all possible locale entries which might be interested in
|
||||
generalization. */
|
||||
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
|
||||
strlen (dirname) + 1, mask, language, territory,
|
||||
codeset, normalized_codeset, modifier, special,
|
||||
sponsor, revision, domainname, 1);
|
||||
if (retval == NULL)
|
||||
/* This means we are out of core. */
|
||||
return NULL;
|
||||
|
||||
if (retval->decided == 0)
|
||||
_nl_load_domain (retval, domainbinding);
|
||||
if (retval->data == NULL)
|
||||
{
|
||||
int cnt;
|
||||
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
|
||||
{
|
||||
if (retval->successor[cnt]->decided == 0)
|
||||
_nl_load_domain (retval->successor[cnt], domainbinding);
|
||||
if (retval->successor[cnt]->data != NULL)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* The room for an alias was dynamically allocated. Free it now. */
|
||||
if (alias_value != NULL)
|
||||
free (locale);
|
||||
|
||||
/* The space for normalized_codeset is dynamically allocated. Free it. */
|
||||
if (mask & XPG_NORM_CODESET)
|
||||
free ((void *) normalized_codeset);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
#ifdef _LIBC
|
||||
libc_freeres_fn (free_mem)
|
||||
{
|
||||
struct loaded_l10nfile *runp = _nl_loaded_domains;
|
||||
|
||||
while (runp != NULL)
|
||||
{
|
||||
struct loaded_l10nfile *here = runp;
|
||||
if (runp->data != NULL)
|
||||
_nl_unload_domain ((struct loaded_domain *) runp->data);
|
||||
runp = runp->next;
|
||||
free ((char *) here->filename);
|
||||
free (here);
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,64 @@
|
|||
/* Implementation of gettext(3) function.
|
||||
Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# define __need_NULL
|
||||
# include <stddef.h>
|
||||
#else
|
||||
# include <stdlib.h> /* Just for NULL. */
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define GETTEXT __gettext
|
||||
# define DCGETTEXT INTUSE(__dcgettext)
|
||||
#else
|
||||
# define GETTEXT libintl_gettext
|
||||
# define DCGETTEXT libintl_dcgettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
LC_MESSAGES locale. If not found, returns MSGID itself (the default
|
||||
text). */
|
||||
char *
|
||||
GETTEXT (msgid)
|
||||
const char *msgid;
|
||||
{
|
||||
return DCGETTEXT (NULL, msgid, LC_MESSAGES);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__gettext, gettext);
|
||||
#endif
|
|
@ -0,0 +1,224 @@
|
|||
/* Header describing internals of libintl library.
|
||||
Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _GETTEXTP_H
|
||||
#define _GETTEXTP_H
|
||||
|
||||
#include <stddef.h> /* Get size_t. */
|
||||
|
||||
#ifdef _LIBC
|
||||
# include "../iconv/gconv_int.h"
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
# include <iconv.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "loadinfo.h"
|
||||
|
||||
#include "gmo.h" /* Get nls_uint32. */
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
#ifndef PARAMS
|
||||
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
|
||||
# define PARAMS(args) args
|
||||
# else
|
||||
# define PARAMS(args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef internal_function
|
||||
# define internal_function
|
||||
#endif
|
||||
|
||||
#ifndef attribute_hidden
|
||||
# define attribute_hidden
|
||||
#endif
|
||||
|
||||
/* Tell the compiler when a conditional or integer expression is
|
||||
almost always true or almost always false. */
|
||||
#ifndef HAVE_BUILTIN_EXPECT
|
||||
# define __builtin_expect(expr, val) (expr)
|
||||
#endif
|
||||
|
||||
#ifndef W
|
||||
# define W(flag, data) ((flag) ? SWAP (data) : (data))
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <byteswap.h>
|
||||
# define SWAP(i) bswap_32 (i)
|
||||
#else
|
||||
static inline nls_uint32
|
||||
SWAP (i)
|
||||
nls_uint32 i;
|
||||
{
|
||||
return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* In-memory representation of system dependent string. */
|
||||
struct sysdep_string_desc
|
||||
{
|
||||
/* Length of addressed string, including the trailing NUL. */
|
||||
size_t length;
|
||||
/* Pointer to addressed string. */
|
||||
const char *pointer;
|
||||
};
|
||||
|
||||
/* The representation of an opened message catalog. */
|
||||
struct loaded_domain
|
||||
{
|
||||
/* Pointer to memory containing the .mo file. */
|
||||
const char *data;
|
||||
/* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */
|
||||
int use_mmap;
|
||||
/* Size of mmap()ed memory. */
|
||||
size_t mmap_size;
|
||||
/* 1 if the .mo file uses a different endianness than this machine. */
|
||||
int must_swap;
|
||||
/* Pointer to additional malloc()ed memory. */
|
||||
void *malloced;
|
||||
|
||||
/* Number of static strings pairs. */
|
||||
nls_uint32 nstrings;
|
||||
/* Pointer to descriptors of original strings in the file. */
|
||||
const struct string_desc *orig_tab;
|
||||
/* Pointer to descriptors of translated strings in the file. */
|
||||
const struct string_desc *trans_tab;
|
||||
|
||||
/* Number of system dependent strings pairs. */
|
||||
nls_uint32 n_sysdep_strings;
|
||||
/* Pointer to descriptors of original sysdep strings. */
|
||||
const struct sysdep_string_desc *orig_sysdep_tab;
|
||||
/* Pointer to descriptors of translated sysdep strings. */
|
||||
const struct sysdep_string_desc *trans_sysdep_tab;
|
||||
|
||||
/* Size of hash table. */
|
||||
nls_uint32 hash_size;
|
||||
/* Pointer to hash table. */
|
||||
const nls_uint32 *hash_tab;
|
||||
/* 1 if the hash table uses a different endianness than this machine. */
|
||||
int must_swap_hash_tab;
|
||||
|
||||
int codeset_cntr;
|
||||
#ifdef _LIBC
|
||||
__gconv_t conv;
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
iconv_t conv;
|
||||
# endif
|
||||
#endif
|
||||
char **conv_tab;
|
||||
|
||||
struct expression *plural;
|
||||
unsigned long int nplurals;
|
||||
};
|
||||
|
||||
/* We want to allocate a string at the end of the struct. But ISO C
|
||||
doesn't allow zero sized arrays. */
|
||||
#ifdef __GNUC__
|
||||
# define ZERO 0
|
||||
#else
|
||||
# define ZERO 1
|
||||
#endif
|
||||
|
||||
/* A set of settings bound to a message domain. Used to store settings
|
||||
from bindtextdomain() and bind_textdomain_codeset(). */
|
||||
struct binding
|
||||
{
|
||||
struct binding *next;
|
||||
char *dirname;
|
||||
int codeset_cntr; /* Incremented each time codeset changes. */
|
||||
char *codeset;
|
||||
char domainname[ZERO];
|
||||
};
|
||||
|
||||
/* A counter which is incremented each time some previous translations
|
||||
become invalid.
|
||||
This variable is part of the external ABI of the GNU libintl. */
|
||||
extern int _nl_msg_cat_cntr;
|
||||
|
||||
#ifndef _LIBC
|
||||
const char *_nl_locale_name PARAMS ((int category, const char *categoryname));
|
||||
#endif
|
||||
|
||||
struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
|
||||
char *__locale,
|
||||
const char *__domainname,
|
||||
struct binding *__domainbinding))
|
||||
internal_function;
|
||||
void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
|
||||
struct binding *__domainbinding))
|
||||
internal_function;
|
||||
void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
|
||||
internal_function;
|
||||
const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
|
||||
struct loaded_domain *__domain,
|
||||
struct binding *__domainbinding))
|
||||
internal_function;
|
||||
void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
|
||||
internal_function;
|
||||
|
||||
char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
|
||||
struct binding *domainbinding,
|
||||
const char *msgid, size_t *lengthp))
|
||||
internal_function;
|
||||
|
||||
#ifdef _LIBC
|
||||
extern char *__gettext PARAMS ((const char *__msgid));
|
||||
extern char *__dgettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid));
|
||||
extern char *__dcgettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid, int __category));
|
||||
extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n));
|
||||
extern char *__dngettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int n));
|
||||
extern char *__dcngettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category));
|
||||
extern char *__dcigettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category));
|
||||
extern char *__textdomain PARAMS ((const char *__domainname));
|
||||
extern char *__bindtextdomain PARAMS ((const char *__domainname,
|
||||
const char *__dirname));
|
||||
extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
|
||||
const char *__codeset));
|
||||
#else
|
||||
/* Declare the exported libintl_* functions, in a way that allows us to
|
||||
call them under their real name. */
|
||||
# define _INTL_REDIRECT_MACROS
|
||||
# include "libgnuintl.h"
|
||||
extern char *libintl_dcigettext PARAMS ((const char *__domainname,
|
||||
const char *__msgid1,
|
||||
const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category));
|
||||
#endif
|
||||
|
||||
/* @@ begin of epilog @@ */
|
||||
|
||||
#endif /* gettextP.h */
|
|
@ -0,0 +1,148 @@
|
|||
/* Description of GNU message catalog format: general file layout.
|
||||
Copyright (C) 1995, 1997, 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _GETTEXT_H
|
||||
#define _GETTEXT_H 1
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* The magic number of the GNU message catalog format. */
|
||||
#define _MAGIC 0x950412de
|
||||
#define _MAGIC_SWAPPED 0xde120495
|
||||
|
||||
/* Revision number of the currently used .mo (binary) file format. */
|
||||
#define MO_REVISION_NUMBER 0
|
||||
|
||||
/* The following contortions are an attempt to use the C preprocessor
|
||||
to determine an unsigned integral type that is 32 bits wide. An
|
||||
alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
|
||||
as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
|
||||
when cross-compiling. */
|
||||
|
||||
#if __STDC__
|
||||
# define UINT_MAX_32_BITS 4294967295U
|
||||
#else
|
||||
# define UINT_MAX_32_BITS 0xFFFFFFFF
|
||||
#endif
|
||||
|
||||
/* If UINT_MAX isn't defined, assume it's a 32-bit type.
|
||||
This should be valid for all systems GNU cares about because
|
||||
that doesn't include 16-bit systems, and only modern systems
|
||||
(that certainly have <limits.h>) have 64+-bit integral types. */
|
||||
|
||||
#ifndef UINT_MAX
|
||||
# define UINT_MAX UINT_MAX_32_BITS
|
||||
#endif
|
||||
|
||||
#if UINT_MAX == UINT_MAX_32_BITS
|
||||
typedef unsigned nls_uint32;
|
||||
#else
|
||||
# if USHRT_MAX == UINT_MAX_32_BITS
|
||||
typedef unsigned short nls_uint32;
|
||||
# else
|
||||
# if ULONG_MAX == UINT_MAX_32_BITS
|
||||
typedef unsigned long nls_uint32;
|
||||
# else
|
||||
/* The following line is intended to throw an error. Using #error is
|
||||
not portable enough. */
|
||||
"Cannot determine unsigned 32-bit data type."
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Header for binary .mo file format. */
|
||||
struct mo_file_header
|
||||
{
|
||||
/* The magic number. */
|
||||
nls_uint32 magic;
|
||||
/* The revision number of the file format. */
|
||||
nls_uint32 revision;
|
||||
|
||||
/* The following are only used in .mo files with major revision 0. */
|
||||
|
||||
/* The number of strings pairs. */
|
||||
nls_uint32 nstrings;
|
||||
/* Offset of table with start offsets of original strings. */
|
||||
nls_uint32 orig_tab_offset;
|
||||
/* Offset of table with start offsets of translated strings. */
|
||||
nls_uint32 trans_tab_offset;
|
||||
/* Size of hash table. */
|
||||
nls_uint32 hash_tab_size;
|
||||
/* Offset of first hash table entry. */
|
||||
nls_uint32 hash_tab_offset;
|
||||
|
||||
/* The following are only used in .mo files with minor revision >= 1. */
|
||||
|
||||
/* The number of system dependent segments. */
|
||||
nls_uint32 n_sysdep_segments;
|
||||
/* Offset of table describing system dependent segments. */
|
||||
nls_uint32 sysdep_segments_offset;
|
||||
/* The number of system dependent strings pairs. */
|
||||
nls_uint32 n_sysdep_strings;
|
||||
/* Offset of table with start offsets of original sysdep strings. */
|
||||
nls_uint32 orig_sysdep_tab_offset;
|
||||
/* Offset of table with start offsets of translated sysdep strings. */
|
||||
nls_uint32 trans_sysdep_tab_offset;
|
||||
};
|
||||
|
||||
/* Descriptor for static string contained in the binary .mo file. */
|
||||
struct string_desc
|
||||
{
|
||||
/* Length of addressed string, not including the trailing NUL. */
|
||||
nls_uint32 length;
|
||||
/* Offset of string in file. */
|
||||
nls_uint32 offset;
|
||||
};
|
||||
|
||||
/* The following are only used in .mo files with minor revision >= 1. */
|
||||
|
||||
/* Descriptor for system dependent string segment. */
|
||||
struct sysdep_segment
|
||||
{
|
||||
/* Length of addressed string, including the trailing NUL. */
|
||||
nls_uint32 length;
|
||||
/* Offset of string in file. */
|
||||
nls_uint32 offset;
|
||||
};
|
||||
|
||||
/* Descriptor for system dependent string. */
|
||||
struct sysdep_string
|
||||
{
|
||||
/* Offset of static string segments in file. */
|
||||
nls_uint32 offset;
|
||||
/* Alternating sequence of static and system dependent segments.
|
||||
The last segment is a static segment, including the trailing NUL. */
|
||||
struct segment_pair
|
||||
{
|
||||
/* Size of static segment. */
|
||||
nls_uint32 segsize;
|
||||
/* Reference to system dependent string segment, or ~0 at the end. */
|
||||
nls_uint32 sysdepref;
|
||||
} segments[1];
|
||||
};
|
||||
|
||||
/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF,
|
||||
regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */
|
||||
#define SEGMENTS_END ((nls_uint32) ~0)
|
||||
|
||||
/* @@ begin of epilog @@ */
|
||||
|
||||
#endif /* gettext.h */
|
|
@ -0,0 +1,59 @@
|
|||
/* Description of GNU message catalog format: string hashing function.
|
||||
Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
#ifndef PARAMS
|
||||
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* We assume to have `unsigned long int' value with at least 32 bits. */
|
||||
#define HASHWORDBITS 32
|
||||
|
||||
|
||||
/* Defines the so called `hashpjw' function by P.J. Weinberger
|
||||
[see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
|
||||
1986, 1987 Bell Telephone Laboratories, Inc.] */
|
||||
static unsigned long int hash_string PARAMS ((const char *__str_param));
|
||||
|
||||
static inline unsigned long int
|
||||
hash_string (str_param)
|
||||
const char *str_param;
|
||||
{
|
||||
unsigned long int hval, g;
|
||||
const char *str = str_param;
|
||||
|
||||
/* Compute the hash value for the given string. */
|
||||
hval = 0;
|
||||
while (*str != '\0')
|
||||
{
|
||||
hval <<= 4;
|
||||
hval += (unsigned long int) *str++;
|
||||
g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
|
||||
if (g != 0)
|
||||
{
|
||||
hval ^= g >> (HASHWORDBITS - 8);
|
||||
hval ^= g;
|
||||
}
|
||||
}
|
||||
return hval;
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
|
||||
Library.
|
||||
Copyright (C) 1995, 2000-2003 Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* This file redirects the gettext functions (without prefix) to those
|
||||
defined in the included GNU libintl library (with "libintl_" prefix).
|
||||
It is compiled into libintl in order to make the AM_GNU_GETTEXT test
|
||||
of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which
|
||||
has the redirections primarily in the <libintl.h> include file.
|
||||
It is also compiled into libgnuintl so that libgnuintl.so can be used
|
||||
as LD_PRELOADable library on glibc systems, to provide the extra
|
||||
features that the functions in the libc don't have (namely, logging). */
|
||||
|
||||
|
||||
#undef gettext
|
||||
#undef dgettext
|
||||
#undef dcgettext
|
||||
#undef ngettext
|
||||
#undef dngettext
|
||||
#undef dcngettext
|
||||
#undef textdomain
|
||||
#undef bindtextdomain
|
||||
#undef bind_textdomain_codeset
|
||||
|
||||
|
||||
/* When building a DLL, we must export some functions. Note that because
|
||||
the functions are only defined for binary backward compatibility, we
|
||||
don't need to use __declspec(dllimport) in any case. */
|
||||
#if defined _MSC_VER && BUILDING_DLL
|
||||
# define DLL_EXPORTED __declspec(dllexport)
|
||||
#else
|
||||
# define DLL_EXPORTED
|
||||
#endif
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
gettext (msgid)
|
||||
const char *msgid;
|
||||
{
|
||||
return libintl_gettext (msgid);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
dgettext (domainname, msgid)
|
||||
const char *domainname;
|
||||
const char *msgid;
|
||||
{
|
||||
return libintl_dgettext (domainname, msgid);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
dcgettext (domainname, msgid, category)
|
||||
const char *domainname;
|
||||
const char *msgid;
|
||||
int category;
|
||||
{
|
||||
return libintl_dcgettext (domainname, msgid, category);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
ngettext (msgid1, msgid2, n)
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
{
|
||||
return libintl_ngettext (msgid1, msgid2, n);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
dngettext (domainname, msgid1, msgid2, n)
|
||||
const char *domainname;
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
{
|
||||
return libintl_dngettext (domainname, msgid1, msgid2, n);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
dcngettext (domainname, msgid1, msgid2, n, category)
|
||||
const char *domainname;
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
int category;
|
||||
{
|
||||
return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
textdomain (domainname)
|
||||
const char *domainname;
|
||||
{
|
||||
return libintl_textdomain (domainname);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
bindtextdomain (domainname, dirname)
|
||||
const char *domainname;
|
||||
const char *dirname;
|
||||
{
|
||||
return libintl_bindtextdomain (domainname, dirname);
|
||||
}
|
||||
|
||||
|
||||
DLL_EXPORTED
|
||||
char *
|
||||
bind_textdomain_codeset (domainname, codeset)
|
||||
const char *domainname;
|
||||
const char *codeset;
|
||||
{
|
||||
return libintl_bind_textdomain_codeset (domainname, codeset);
|
||||
}
|
|
@ -0,0 +1,453 @@
|
|||
/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <string.h> to provide a prototype for stpcpy().
|
||||
This must come before <config.h> because <config.h> may include
|
||||
<features.h>, and once <features.h> has been included, it's too late. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#if defined _LIBC || defined HAVE_ARGZ_H
|
||||
# include <argz.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "loadinfo.h"
|
||||
|
||||
/* On some strange systems still no definition of NULL is found. Sigh! */
|
||||
#ifndef NULL
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define NULL ((void *) 0)
|
||||
# else
|
||||
# define NULL 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Rename the non ANSI C functions. This is required by the standard
|
||||
because some ANSI C functions will require linking with this object
|
||||
file and the name space must not be polluted. */
|
||||
# ifndef stpcpy
|
||||
# define stpcpy(dest, src) __stpcpy(dest, src)
|
||||
# endif
|
||||
#else
|
||||
# ifndef HAVE_STPCPY
|
||||
static char *stpcpy PARAMS ((char *dest, const char *src));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Pathname support.
|
||||
ISSLASH(C) tests whether C is a directory separator character.
|
||||
IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
|
||||
it may be concatenated to a directory pathname.
|
||||
*/
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
# define HAS_DEVICE(P) \
|
||||
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
|
||||
&& (P)[1] == ':')
|
||||
# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
|
||||
#else
|
||||
/* Unix */
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
|
||||
#endif
|
||||
|
||||
/* Define function which are usually not available. */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
|
||||
/* Returns the number of strings in ARGZ. */
|
||||
static size_t argz_count__ PARAMS ((const char *argz, size_t len));
|
||||
|
||||
static size_t
|
||||
argz_count__ (argz, len)
|
||||
const char *argz;
|
||||
size_t len;
|
||||
{
|
||||
size_t count = 0;
|
||||
while (len > 0)
|
||||
{
|
||||
size_t part_len = strlen (argz);
|
||||
argz += part_len + 1;
|
||||
len -= part_len + 1;
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
# undef __argz_count
|
||||
# define __argz_count(argz, len) argz_count__ (argz, len)
|
||||
#else
|
||||
# ifdef _LIBC
|
||||
# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
|
||||
# endif
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
|
||||
/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
|
||||
except the last into the character SEP. */
|
||||
static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
|
||||
|
||||
static void
|
||||
argz_stringify__ (argz, len, sep)
|
||||
char *argz;
|
||||
size_t len;
|
||||
int sep;
|
||||
{
|
||||
while (len > 0)
|
||||
{
|
||||
size_t part_len = strlen (argz);
|
||||
argz += part_len;
|
||||
len -= part_len + 1;
|
||||
if (len > 0)
|
||||
*argz++ = sep;
|
||||
}
|
||||
}
|
||||
# undef __argz_stringify
|
||||
# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
|
||||
#else
|
||||
# ifdef _LIBC
|
||||
# define __argz_stringify(argz, len, sep) \
|
||||
INTUSE(__argz_stringify) (argz, len, sep)
|
||||
# endif
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
|
||||
static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
|
||||
const char *entry));
|
||||
|
||||
static char *
|
||||
argz_next__ (argz, argz_len, entry)
|
||||
char *argz;
|
||||
size_t argz_len;
|
||||
const char *entry;
|
||||
{
|
||||
if (entry)
|
||||
{
|
||||
if (entry < argz + argz_len)
|
||||
entry = strchr (entry, '\0') + 1;
|
||||
|
||||
return entry >= argz + argz_len ? NULL : (char *) entry;
|
||||
}
|
||||
else
|
||||
if (argz_len > 0)
|
||||
return argz;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
# undef __argz_next
|
||||
# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
|
||||
|
||||
|
||||
/* Return number of bits set in X. */
|
||||
static int pop PARAMS ((int x));
|
||||
|
||||
static inline int
|
||||
pop (x)
|
||||
int x;
|
||||
{
|
||||
/* We assume that no more than 16 bits are used. */
|
||||
x = ((x & ~0x5555) >> 1) + (x & 0x5555);
|
||||
x = ((x & ~0x3333) >> 2) + (x & 0x3333);
|
||||
x = ((x >> 4) + x) & 0x0f0f;
|
||||
x = ((x >> 8) + x) & 0xff;
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
||||
struct loaded_l10nfile *
|
||||
_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
|
||||
territory, codeset, normalized_codeset, modifier, special,
|
||||
sponsor, revision, filename, do_allocate)
|
||||
struct loaded_l10nfile **l10nfile_list;
|
||||
const char *dirlist;
|
||||
size_t dirlist_len;
|
||||
int mask;
|
||||
const char *language;
|
||||
const char *territory;
|
||||
const char *codeset;
|
||||
const char *normalized_codeset;
|
||||
const char *modifier;
|
||||
const char *special;
|
||||
const char *sponsor;
|
||||
const char *revision;
|
||||
const char *filename;
|
||||
int do_allocate;
|
||||
{
|
||||
char *abs_filename;
|
||||
struct loaded_l10nfile **lastp;
|
||||
struct loaded_l10nfile *retval;
|
||||
char *cp;
|
||||
size_t dirlist_count;
|
||||
size_t entries;
|
||||
int cnt;
|
||||
|
||||
/* If LANGUAGE contains an absolute directory specification, we ignore
|
||||
DIRLIST. */
|
||||
if (IS_ABSOLUTE_PATH (language))
|
||||
dirlist_len = 0;
|
||||
|
||||
/* Allocate room for the full file name. */
|
||||
abs_filename = (char *) malloc (dirlist_len
|
||||
+ strlen (language)
|
||||
+ ((mask & TERRITORY) != 0
|
||||
? strlen (territory) + 1 : 0)
|
||||
+ ((mask & XPG_CODESET) != 0
|
||||
? strlen (codeset) + 1 : 0)
|
||||
+ ((mask & XPG_NORM_CODESET) != 0
|
||||
? strlen (normalized_codeset) + 1 : 0)
|
||||
+ (((mask & XPG_MODIFIER) != 0
|
||||
|| (mask & CEN_AUDIENCE) != 0)
|
||||
? strlen (modifier) + 1 : 0)
|
||||
+ ((mask & CEN_SPECIAL) != 0
|
||||
? strlen (special) + 1 : 0)
|
||||
+ (((mask & CEN_SPONSOR) != 0
|
||||
|| (mask & CEN_REVISION) != 0)
|
||||
? (1 + ((mask & CEN_SPONSOR) != 0
|
||||
? strlen (sponsor) : 0)
|
||||
+ ((mask & CEN_REVISION) != 0
|
||||
? strlen (revision) + 1 : 0)) : 0)
|
||||
+ 1 + strlen (filename) + 1);
|
||||
|
||||
if (abs_filename == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Construct file name. */
|
||||
cp = abs_filename;
|
||||
if (dirlist_len > 0)
|
||||
{
|
||||
memcpy (cp, dirlist, dirlist_len);
|
||||
__argz_stringify (cp, dirlist_len, PATH_SEPARATOR);
|
||||
cp += dirlist_len;
|
||||
cp[-1] = '/';
|
||||
}
|
||||
|
||||
cp = stpcpy (cp, language);
|
||||
|
||||
if ((mask & TERRITORY) != 0)
|
||||
{
|
||||
*cp++ = '_';
|
||||
cp = stpcpy (cp, territory);
|
||||
}
|
||||
if ((mask & XPG_CODESET) != 0)
|
||||
{
|
||||
*cp++ = '.';
|
||||
cp = stpcpy (cp, codeset);
|
||||
}
|
||||
if ((mask & XPG_NORM_CODESET) != 0)
|
||||
{
|
||||
*cp++ = '.';
|
||||
cp = stpcpy (cp, normalized_codeset);
|
||||
}
|
||||
if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
|
||||
{
|
||||
/* This component can be part of both syntaces but has different
|
||||
leading characters. For CEN we use `+', else `@'. */
|
||||
*cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
|
||||
cp = stpcpy (cp, modifier);
|
||||
}
|
||||
if ((mask & CEN_SPECIAL) != 0)
|
||||
{
|
||||
*cp++ = '+';
|
||||
cp = stpcpy (cp, special);
|
||||
}
|
||||
if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
|
||||
{
|
||||
*cp++ = ',';
|
||||
if ((mask & CEN_SPONSOR) != 0)
|
||||
cp = stpcpy (cp, sponsor);
|
||||
if ((mask & CEN_REVISION) != 0)
|
||||
{
|
||||
*cp++ = '_';
|
||||
cp = stpcpy (cp, revision);
|
||||
}
|
||||
}
|
||||
|
||||
*cp++ = '/';
|
||||
stpcpy (cp, filename);
|
||||
|
||||
/* Look in list of already loaded domains whether it is already
|
||||
available. */
|
||||
lastp = l10nfile_list;
|
||||
for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
|
||||
if (retval->filename != NULL)
|
||||
{
|
||||
int compare = strcmp (retval->filename, abs_filename);
|
||||
if (compare == 0)
|
||||
/* We found it! */
|
||||
break;
|
||||
if (compare < 0)
|
||||
{
|
||||
/* It's not in the list. */
|
||||
retval = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
lastp = &retval->next;
|
||||
}
|
||||
|
||||
if (retval != NULL || do_allocate == 0)
|
||||
{
|
||||
free (abs_filename);
|
||||
return retval;
|
||||
}
|
||||
|
||||
dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1);
|
||||
|
||||
/* Allocate a new loaded_l10nfile. */
|
||||
retval =
|
||||
(struct loaded_l10nfile *)
|
||||
malloc (sizeof (*retval)
|
||||
+ (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))
|
||||
* sizeof (struct loaded_l10nfile *)));
|
||||
if (retval == NULL)
|
||||
return NULL;
|
||||
|
||||
retval->filename = abs_filename;
|
||||
|
||||
/* We set retval->data to NULL here; it is filled in later.
|
||||
Setting retval->decided to 1 here means that retval does not
|
||||
correspond to a real file (dirlist_count > 1) or is not worth
|
||||
looking up (if an unnormalized codeset was specified). */
|
||||
retval->decided = (dirlist_count > 1
|
||||
|| ((mask & XPG_CODESET) != 0
|
||||
&& (mask & XPG_NORM_CODESET) != 0));
|
||||
retval->data = NULL;
|
||||
|
||||
retval->next = *lastp;
|
||||
*lastp = retval;
|
||||
|
||||
entries = 0;
|
||||
/* Recurse to fill the inheritance list of RETVAL.
|
||||
If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL
|
||||
entry does not correspond to a real file; retval->filename contains
|
||||
colons. In this case we loop across all elements of DIRLIST and
|
||||
across all bit patterns dominated by MASK.
|
||||
If the DIRLIST is a single directory or entirely redundant (i.e.
|
||||
DIRLIST_COUNT == 1), we loop across all bit patterns dominated by
|
||||
MASK, excluding MASK itself.
|
||||
In either case, we loop down from MASK to 0. This has the effect
|
||||
that the extra bits in the locale name are dropped in this order:
|
||||
first the modifier, then the territory, then the codeset, then the
|
||||
normalized_codeset. */
|
||||
for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
|
||||
if ((cnt & ~mask) == 0
|
||||
&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
|
||||
&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
|
||||
{
|
||||
if (dirlist_count > 1)
|
||||
{
|
||||
/* Iterate over all elements of the DIRLIST. */
|
||||
char *dir = NULL;
|
||||
|
||||
while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
|
||||
!= NULL)
|
||||
retval->successor[entries++]
|
||||
= _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
|
||||
cnt, language, territory, codeset,
|
||||
normalized_codeset, modifier, special,
|
||||
sponsor, revision, filename, 1);
|
||||
}
|
||||
else
|
||||
retval->successor[entries++]
|
||||
= _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
|
||||
cnt, language, territory, codeset,
|
||||
normalized_codeset, modifier, special,
|
||||
sponsor, revision, filename, 1);
|
||||
}
|
||||
retval->successor[entries] = NULL;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/* Normalize codeset name. There is no standard for the codeset
|
||||
names. Normalization allows the user to use any of the common
|
||||
names. The return value is dynamically allocated and has to be
|
||||
freed by the caller. */
|
||||
const char *
|
||||
_nl_normalize_codeset (codeset, name_len)
|
||||
const char *codeset;
|
||||
size_t name_len;
|
||||
{
|
||||
int len = 0;
|
||||
int only_digit = 1;
|
||||
char *retval;
|
||||
char *wp;
|
||||
size_t cnt;
|
||||
|
||||
for (cnt = 0; cnt < name_len; ++cnt)
|
||||
if (isalnum ((unsigned char) codeset[cnt]))
|
||||
{
|
||||
++len;
|
||||
|
||||
if (isalpha ((unsigned char) codeset[cnt]))
|
||||
only_digit = 0;
|
||||
}
|
||||
|
||||
retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
|
||||
|
||||
if (retval != NULL)
|
||||
{
|
||||
if (only_digit)
|
||||
wp = stpcpy (retval, "iso");
|
||||
else
|
||||
wp = retval;
|
||||
|
||||
for (cnt = 0; cnt < name_len; ++cnt)
|
||||
if (isalpha ((unsigned char) codeset[cnt]))
|
||||
*wp++ = tolower ((unsigned char) codeset[cnt]);
|
||||
else if (isdigit ((unsigned char) codeset[cnt]))
|
||||
*wp++ = codeset[cnt];
|
||||
|
||||
*wp = '\0';
|
||||
}
|
||||
|
||||
return (const char *) retval;
|
||||
}
|
||||
|
||||
|
||||
/* @@ begin of epilog @@ */
|
||||
|
||||
/* We don't want libintl.a to depend on any other library. So we
|
||||
avoid the non-standard function stpcpy. In GNU C Library this
|
||||
function is available, though. Also allow the symbol HAVE_STPCPY
|
||||
to be defined. */
|
||||
#if !_LIBC && !HAVE_STPCPY
|
||||
static char *
|
||||
stpcpy (dest, src)
|
||||
char *dest;
|
||||
const char *src;
|
||||
{
|
||||
while ((*dest++ = *src++) != '\0')
|
||||
/* Do nothing. */ ;
|
||||
return dest - 1;
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,309 @@
|
|||
/* Message catalogs for internationalization.
|
||||
Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _LIBINTL_H
|
||||
#define _LIBINTL_H 1
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
/* The LC_MESSAGES locale category is the category used by the functions
|
||||
gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
|
||||
On systems that don't define it, use an arbitrary value instead.
|
||||
On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
|
||||
then includes <libintl.h> (i.e. this file!) and then only defines
|
||||
LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
|
||||
in this case. */
|
||||
#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
|
||||
# define LC_MESSAGES 1729
|
||||
#endif
|
||||
|
||||
/* We define an additional symbol to signal that we use the GNU
|
||||
implementation of gettext. */
|
||||
#define __USE_GNU_GETTEXT 1
|
||||
|
||||
/* Provide information about the supported file formats. Returns the
|
||||
maximum minor revision number supported for a given major revision. */
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
|
||||
((major) == 0 ? 1 : -1)
|
||||
|
||||
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
|
||||
precedence over _conio_gettext. */
|
||||
#ifdef __DJGPP__
|
||||
# undef gettext
|
||||
#endif
|
||||
|
||||
/* Use _INTL_PARAMS, not PARAMS, in order to avoid clashes with identifiers
|
||||
used by programs. Similarly, test __PROTOTYPES, not PROTOTYPES. */
|
||||
#ifndef _INTL_PARAMS
|
||||
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
|
||||
# define _INTL_PARAMS(args) args
|
||||
# else
|
||||
# define _INTL_PARAMS(args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* We redirect the functions to those prefixed with "libintl_". This is
|
||||
necessary, because some systems define gettext/textdomain/... in the C
|
||||
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
|
||||
If we used the unprefixed names, there would be cases where the
|
||||
definition in the C library would override the one in the libintl.so
|
||||
shared library. Recall that on ELF systems, the symbols are looked
|
||||
up in the following order:
|
||||
1. in the executable,
|
||||
2. in the shared libraries specified on the link command line, in order,
|
||||
3. in the dependencies of the shared libraries specified on the link
|
||||
command line,
|
||||
4. in the dlopen()ed shared libraries, in the order in which they were
|
||||
dlopen()ed.
|
||||
The definition in the C library would override the one in libintl.so if
|
||||
either
|
||||
* -lc is given on the link command line and -lintl isn't, or
|
||||
* -lc is given on the link command line before -lintl, or
|
||||
* libintl.so is a dependency of a dlopen()ed shared library but not
|
||||
linked to the executable at link time.
|
||||
Since Solaris gettext() behaves differently than GNU gettext(), this
|
||||
would be unacceptable.
|
||||
|
||||
The redirection happens by default through macros in C, so that &gettext
|
||||
is independent of the compilation unit, but through inline functions in
|
||||
C++, in order not to interfere with the name mangling of class fields or
|
||||
class methods called 'gettext'. */
|
||||
|
||||
/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
|
||||
If he doesn't, we choose the method. A third possible method is
|
||||
_INTL_REDIRECT_ASM, supported only by GCC. */
|
||||
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
|
||||
# if __GNUC__ >= 2 && !defined __APPLE_CC__ && (defined __STDC__ || defined __cplusplus)
|
||||
# define _INTL_REDIRECT_ASM
|
||||
# else
|
||||
# ifdef __cplusplus
|
||||
# define _INTL_REDIRECT_INLINE
|
||||
# else
|
||||
# define _INTL_REDIRECT_MACROS
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
/* Auxiliary macros. */
|
||||
#ifdef _INTL_REDIRECT_ASM
|
||||
# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
|
||||
# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
|
||||
# define _INTL_STRINGIFY(prefix) #prefix
|
||||
#else
|
||||
# define _INTL_ASM(cname)
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
LC_MESSAGES locale. If not found, returns MSGID itself (the default
|
||||
text). */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_gettext (const char *__msgid);
|
||||
static inline char *gettext (const char *__msgid)
|
||||
{
|
||||
return libintl_gettext (__msgid);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define gettext libintl_gettext
|
||||
#endif
|
||||
extern char *gettext _INTL_PARAMS ((const char *__msgid))
|
||||
_INTL_ASM (libintl_gettext);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current
|
||||
LC_MESSAGES locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
|
||||
static inline char *dgettext (const char *__domainname, const char *__msgid)
|
||||
{
|
||||
return libintl_dgettext (__domainname, __msgid);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dgettext libintl_dgettext
|
||||
#endif
|
||||
extern char *dgettext _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__msgid))
|
||||
_INTL_ASM (libintl_dgettext);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
|
||||
locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category);
|
||||
static inline char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category)
|
||||
{
|
||||
return libintl_dcgettext (__domainname, __msgid, __category);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dcgettext libintl_dcgettext
|
||||
#endif
|
||||
extern char *dcgettext _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__msgid,
|
||||
int __category))
|
||||
_INTL_ASM (libintl_dcgettext);
|
||||
#endif
|
||||
|
||||
|
||||
/* Similar to `gettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n);
|
||||
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
{
|
||||
return libintl_ngettext (__msgid1, __msgid2, __n);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define ngettext libintl_ngettext
|
||||
#endif
|
||||
extern char *ngettext _INTL_PARAMS ((const char *__msgid1,
|
||||
const char *__msgid2,
|
||||
unsigned long int __n))
|
||||
_INTL_ASM (libintl_ngettext);
|
||||
#endif
|
||||
|
||||
/* Similar to `dgettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n);
|
||||
static inline char *dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n)
|
||||
{
|
||||
return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dngettext libintl_dngettext
|
||||
#endif
|
||||
extern char *dngettext _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__msgid1,
|
||||
const char *__msgid2,
|
||||
unsigned long int __n))
|
||||
_INTL_ASM (libintl_dngettext);
|
||||
#endif
|
||||
|
||||
/* Similar to `dcgettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category);
|
||||
static inline char *dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
{
|
||||
return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dcngettext libintl_dcngettext
|
||||
#endif
|
||||
extern char *dcngettext _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__msgid1,
|
||||
const char *__msgid2,
|
||||
unsigned long int __n,
|
||||
int __category))
|
||||
_INTL_ASM (libintl_dcngettext);
|
||||
#endif
|
||||
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
If DOMAINNAME is "", reset to the default of "messages". */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_textdomain (const char *__domainname);
|
||||
static inline char *textdomain (const char *__domainname)
|
||||
{
|
||||
return libintl_textdomain (__domainname);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define textdomain libintl_textdomain
|
||||
#endif
|
||||
extern char *textdomain _INTL_PARAMS ((const char *__domainname))
|
||||
_INTL_ASM (libintl_textdomain);
|
||||
#endif
|
||||
|
||||
/* Specify that the DOMAINNAME message catalog will be found
|
||||
in DIRNAME rather than in the system locale data base. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_bindtextdomain (const char *__domainname,
|
||||
const char *__dirname);
|
||||
static inline char *bindtextdomain (const char *__domainname,
|
||||
const char *__dirname)
|
||||
{
|
||||
return libintl_bindtextdomain (__domainname, __dirname);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define bindtextdomain libintl_bindtextdomain
|
||||
#endif
|
||||
extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__dirname))
|
||||
_INTL_ASM (libintl_bindtextdomain);
|
||||
#endif
|
||||
|
||||
/* Specify the character encoding in which the messages from the
|
||||
DOMAINNAME message catalog will be returned. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset);
|
||||
static inline char *bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset)
|
||||
{
|
||||
return libintl_bind_textdomain_codeset (__domainname, __codeset);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define bind_textdomain_codeset libintl_bind_textdomain_codeset
|
||||
#endif
|
||||
extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname,
|
||||
const char *__codeset))
|
||||
_INTL_ASM (libintl_bind_textdomain_codeset);
|
||||
#endif
|
||||
|
||||
|
||||
/* Support for relocatable packages. */
|
||||
|
||||
/* Sets the original and the current installation prefix of the package.
|
||||
Relocation simply replaces a pathname starting with the original prefix
|
||||
by the corresponding pathname with the current prefix instead. Both
|
||||
prefixes should be directory names without trailing slash (i.e. use ""
|
||||
instead of "/"). */
|
||||
#define libintl_set_relocation_prefix libintl_set_relocation_prefix
|
||||
extern void
|
||||
libintl_set_relocation_prefix _INTL_PARAMS ((const char *orig_prefix,
|
||||
const char *curr_prefix));
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* libintl.h */
|
|
@ -0,0 +1,156 @@
|
|||
/* Copyright (C) 1996-1999, 2000-2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _LOADINFO_H
|
||||
#define _LOADINFO_H 1
|
||||
|
||||
/* Declarations of locale dependent catalog lookup functions.
|
||||
Implemented in
|
||||
|
||||
localealias.c Possibly replace a locale name by another.
|
||||
explodename.c Split a locale name into its various fields.
|
||||
l10nflist.c Generate a list of filenames of possible message catalogs.
|
||||
finddomain.c Find and open the relevant message catalogs.
|
||||
|
||||
The main function _nl_find_domain() in finddomain.c is declared
|
||||
in gettextP.h.
|
||||
*/
|
||||
|
||||
#ifndef PARAMS
|
||||
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
|
||||
# define PARAMS(args) args
|
||||
# else
|
||||
# define PARAMS(args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef internal_function
|
||||
# define internal_function
|
||||
#endif
|
||||
|
||||
/* Tell the compiler when a conditional or integer expression is
|
||||
almost always true or almost always false. */
|
||||
#ifndef HAVE_BUILTIN_EXPECT
|
||||
# define __builtin_expect(expr, val) (expr)
|
||||
#endif
|
||||
|
||||
/* Separator in PATH like lists of pathnames. */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
# define PATH_SEPARATOR ';'
|
||||
#else
|
||||
/* Unix */
|
||||
# define PATH_SEPARATOR ':'
|
||||
#endif
|
||||
|
||||
/* Encoding of locale name parts. */
|
||||
#define CEN_REVISION 1
|
||||
#define CEN_SPONSOR 2
|
||||
#define CEN_SPECIAL 4
|
||||
#define XPG_NORM_CODESET 8
|
||||
#define XPG_CODESET 16
|
||||
#define TERRITORY 32
|
||||
#define CEN_AUDIENCE 64
|
||||
#define XPG_MODIFIER 128
|
||||
|
||||
#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
|
||||
#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
|
||||
|
||||
|
||||
struct loaded_l10nfile
|
||||
{
|
||||
const char *filename;
|
||||
int decided;
|
||||
|
||||
const void *data;
|
||||
|
||||
struct loaded_l10nfile *next;
|
||||
struct loaded_l10nfile *successor[1];
|
||||
};
|
||||
|
||||
|
||||
/* Normalize codeset name. There is no standard for the codeset
|
||||
names. Normalization allows the user to use any of the common
|
||||
names. The return value is dynamically allocated and has to be
|
||||
freed by the caller. */
|
||||
extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
|
||||
size_t name_len));
|
||||
|
||||
/* Lookup a locale dependent file.
|
||||
*L10NFILE_LIST denotes a pool of lookup results of locale dependent
|
||||
files of the same kind, sorted in decreasing order of ->filename.
|
||||
DIRLIST and DIRLIST_LEN are an argz list of directories in which to
|
||||
look, containing at least one directory (i.e. DIRLIST_LEN > 0).
|
||||
MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
|
||||
SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
|
||||
produced by _nl_explode_name(). FILENAME is the filename suffix.
|
||||
The return value is the lookup result, either found in *L10NFILE_LIST,
|
||||
or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
|
||||
If the return value is non-NULL, it is added to *L10NFILE_LIST, and
|
||||
its ->next field denotes the chaining inside *L10NFILE_LIST, and
|
||||
furthermore its ->successor[] field contains a list of other lookup
|
||||
results from which this lookup result inherits. */
|
||||
extern struct loaded_l10nfile *
|
||||
_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
|
||||
const char *dirlist, size_t dirlist_len, int mask,
|
||||
const char *language, const char *territory,
|
||||
const char *codeset,
|
||||
const char *normalized_codeset,
|
||||
const char *modifier, const char *special,
|
||||
const char *sponsor, const char *revision,
|
||||
const char *filename, int do_allocate));
|
||||
|
||||
/* Lookup the real locale name for a locale alias NAME, or NULL if
|
||||
NAME is not a locale alias (but possibly a real locale name).
|
||||
The return value is statically allocated and must not be freed. */
|
||||
extern const char *_nl_expand_alias PARAMS ((const char *name));
|
||||
|
||||
/* Split a locale name NAME into its pieces: language, modifier,
|
||||
territory, codeset, special, sponsor, revision.
|
||||
NAME gets destructively modified: NUL bytes are inserted here and
|
||||
there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,
|
||||
*CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
|
||||
pointer into the old NAME string, or NULL. *NORMALIZED_CODESET
|
||||
gets assigned the expanded *CODESET, if it is different from *CODESET;
|
||||
this one is dynamically allocated and has to be freed by the caller.
|
||||
The return value is a bitmask, where each bit corresponds to one
|
||||
filled-in value:
|
||||
XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,
|
||||
TERRITORY for *TERRITORY,
|
||||
XPG_CODESET for *CODESET,
|
||||
XPG_NORM_CODESET for *NORMALIZED_CODESET,
|
||||
CEN_SPECIAL for *SPECIAL,
|
||||
CEN_SPONSOR for *SPONSOR,
|
||||
CEN_REVISION for *REVISION.
|
||||
*/
|
||||
extern int _nl_explode_name PARAMS ((char *name, const char **language,
|
||||
const char **modifier,
|
||||
const char **territory,
|
||||
const char **codeset,
|
||||
const char **normalized_codeset,
|
||||
const char **special,
|
||||
const char **sponsor,
|
||||
const char **revision));
|
||||
|
||||
/* Split a locale name NAME into a leading language part and all the
|
||||
rest. Return a pointer to the first character after the language,
|
||||
i.e. to the first byte of the rest. */
|
||||
extern char *_nl_find_language PARAMS ((const char *name));
|
||||
|
||||
#endif /* loadinfo.h */
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,398 @@
|
|||
/* Determine a canonical name for the current locale's character encoding.
|
||||
|
||||
Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* Specification. */
|
||||
#include "localcharset.h"
|
||||
|
||||
#if HAVE_STDDEF_H
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
#endif
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
# undef WIN32 /* avoid warning on mingw32 */
|
||||
# define WIN32
|
||||
#endif
|
||||
|
||||
#if defined __EMX__
|
||||
/* Assume EMX program runs on OS/2, even if compiled under DOS. */
|
||||
# define OS2
|
||||
#endif
|
||||
|
||||
#if !defined WIN32
|
||||
# if HAVE_LANGINFO_CODESET
|
||||
# include <langinfo.h>
|
||||
# else
|
||||
# if HAVE_SETLOCALE
|
||||
# include <locale.h>
|
||||
# endif
|
||||
# endif
|
||||
#elif defined WIN32
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
#endif
|
||||
#if defined OS2
|
||||
# define INCL_DOS
|
||||
# include <os2.h>
|
||||
#endif
|
||||
|
||||
#if ENABLE_RELOCATABLE
|
||||
# include "relocatable.h"
|
||||
#else
|
||||
# define relocate(pathname) (pathname)
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
#endif
|
||||
|
||||
#ifndef DIRECTORY_SEPARATOR
|
||||
# define DIRECTORY_SEPARATOR '/'
|
||||
#endif
|
||||
|
||||
#ifndef ISSLASH
|
||||
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GETC_UNLOCKED
|
||||
# undef getc
|
||||
# define getc getc_unlocked
|
||||
#endif
|
||||
|
||||
/* The following static variable is declared 'volatile' to avoid a
|
||||
possible multithread problem in the function get_charset_aliases. If we
|
||||
are running in a threaded environment, and if two threads initialize
|
||||
'charset_aliases' simultaneously, both will produce the same value,
|
||||
and everything will be ok if the two assignments to 'charset_aliases'
|
||||
are atomic. But I don't know what will happen if the two assignments mix. */
|
||||
#if __STDC__ != 1
|
||||
# define volatile /* empty */
|
||||
#endif
|
||||
/* Pointer to the contents of the charset.alias file, if it has already been
|
||||
read, else NULL. Its format is:
|
||||
ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
|
||||
static const char * volatile charset_aliases;
|
||||
|
||||
/* Return a pointer to the contents of the charset.alias file. */
|
||||
static const char *
|
||||
get_charset_aliases ()
|
||||
{
|
||||
const char *cp;
|
||||
|
||||
cp = charset_aliases;
|
||||
if (cp == NULL)
|
||||
{
|
||||
#if !(defined VMS || defined WIN32)
|
||||
FILE *fp;
|
||||
const char *dir = relocate (LIBDIR);
|
||||
const char *base = "charset.alias";
|
||||
char *file_name;
|
||||
|
||||
/* Concatenate dir and base into freshly allocated file_name. */
|
||||
{
|
||||
size_t dir_len = strlen (dir);
|
||||
size_t base_len = strlen (base);
|
||||
int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
|
||||
file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
|
||||
if (file_name != NULL)
|
||||
{
|
||||
memcpy (file_name, dir, dir_len);
|
||||
if (add_slash)
|
||||
file_name[dir_len] = DIRECTORY_SEPARATOR;
|
||||
memcpy (file_name + dir_len + add_slash, base, base_len + 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
|
||||
/* Out of memory or file not found, treat it as empty. */
|
||||
cp = "";
|
||||
else
|
||||
{
|
||||
/* Parse the file's contents. */
|
||||
int c;
|
||||
char buf1[50+1];
|
||||
char buf2[50+1];
|
||||
char *res_ptr = NULL;
|
||||
size_t res_size = 0;
|
||||
size_t l1, l2;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = getc (fp);
|
||||
if (c == EOF)
|
||||
break;
|
||||
if (c == '\n' || c == ' ' || c == '\t')
|
||||
continue;
|
||||
if (c == '#')
|
||||
{
|
||||
/* Skip comment, to end of line. */
|
||||
do
|
||||
c = getc (fp);
|
||||
while (!(c == EOF || c == '\n'));
|
||||
if (c == EOF)
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
ungetc (c, fp);
|
||||
if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
|
||||
break;
|
||||
l1 = strlen (buf1);
|
||||
l2 = strlen (buf2);
|
||||
if (res_size == 0)
|
||||
{
|
||||
res_size = l1 + 1 + l2 + 1;
|
||||
res_ptr = (char *) malloc (res_size + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
res_size += l1 + 1 + l2 + 1;
|
||||
res_ptr = (char *) realloc (res_ptr, res_size + 1);
|
||||
}
|
||||
if (res_ptr == NULL)
|
||||
{
|
||||
/* Out of memory. */
|
||||
res_size = 0;
|
||||
break;
|
||||
}
|
||||
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
|
||||
strcpy (res_ptr + res_size - (l2 + 1), buf2);
|
||||
}
|
||||
fclose (fp);
|
||||
if (res_size == 0)
|
||||
cp = "";
|
||||
else
|
||||
{
|
||||
*(res_ptr + res_size) = '\0';
|
||||
cp = res_ptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (file_name != NULL)
|
||||
free (file_name);
|
||||
|
||||
#else
|
||||
|
||||
# if defined VMS
|
||||
/* To avoid the troubles of an extra file charset.alias_vms in the
|
||||
sources of many GNU packages, simply inline the aliases here. */
|
||||
/* The list of encodings is taken from the OpenVMS 7.3-1 documentation
|
||||
"Compaq C Run-Time Library Reference Manual for OpenVMS systems"
|
||||
section 10.7 "Handling Different Character Sets". */
|
||||
cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
|
||||
"ISO8859-2" "\0" "ISO-8859-2" "\0"
|
||||
"ISO8859-5" "\0" "ISO-8859-5" "\0"
|
||||
"ISO8859-7" "\0" "ISO-8859-7" "\0"
|
||||
"ISO8859-8" "\0" "ISO-8859-8" "\0"
|
||||
"ISO8859-9" "\0" "ISO-8859-9" "\0"
|
||||
/* Japanese */
|
||||
"eucJP" "\0" "EUC-JP" "\0"
|
||||
"SJIS" "\0" "SHIFT_JIS" "\0"
|
||||
"DECKANJI" "\0" "DEC-KANJI" "\0"
|
||||
"SDECKANJI" "\0" "EUC-JP" "\0"
|
||||
/* Chinese */
|
||||
"eucTW" "\0" "EUC-TW" "\0"
|
||||
"DECHANYU" "\0" "DEC-HANYU" "\0"
|
||||
"DECHANZI" "\0" "GB2312" "\0"
|
||||
/* Korean */
|
||||
"DECKOREAN" "\0" "EUC-KR" "\0";
|
||||
# endif
|
||||
|
||||
# if defined WIN32
|
||||
/* To avoid the troubles of installing a separate file in the same
|
||||
directory as the DLL and of retrieving the DLL's directory at
|
||||
runtime, simply inline the aliases here. */
|
||||
|
||||
cp = "CP936" "\0" "GBK" "\0"
|
||||
"CP1361" "\0" "JOHAB" "\0"
|
||||
"CP20127" "\0" "ASCII" "\0"
|
||||
"CP20866" "\0" "KOI8-R" "\0"
|
||||
"CP21866" "\0" "KOI8-RU" "\0"
|
||||
"CP28591" "\0" "ISO-8859-1" "\0"
|
||||
"CP28592" "\0" "ISO-8859-2" "\0"
|
||||
"CP28593" "\0" "ISO-8859-3" "\0"
|
||||
"CP28594" "\0" "ISO-8859-4" "\0"
|
||||
"CP28595" "\0" "ISO-8859-5" "\0"
|
||||
"CP28596" "\0" "ISO-8859-6" "\0"
|
||||
"CP28597" "\0" "ISO-8859-7" "\0"
|
||||
"CP28598" "\0" "ISO-8859-8" "\0"
|
||||
"CP28599" "\0" "ISO-8859-9" "\0"
|
||||
"CP28605" "\0" "ISO-8859-15" "\0";
|
||||
# endif
|
||||
#endif
|
||||
|
||||
charset_aliases = cp;
|
||||
}
|
||||
|
||||
return cp;
|
||||
}
|
||||
|
||||
/* Determine the current locale's character encoding, and canonicalize it
|
||||
into one of the canonical names listed in config.charset.
|
||||
The result must not be freed; it is statically allocated.
|
||||
If the canonical name cannot be determined, the result is a non-canonical
|
||||
name. */
|
||||
|
||||
#ifdef STATIC
|
||||
STATIC
|
||||
#endif
|
||||
const char *
|
||||
locale_charset ()
|
||||
{
|
||||
const char *codeset;
|
||||
const char *aliases;
|
||||
|
||||
#if !(defined WIN32 || defined OS2)
|
||||
|
||||
# if HAVE_LANGINFO_CODESET
|
||||
|
||||
/* Most systems support nl_langinfo (CODESET) nowadays. */
|
||||
codeset = nl_langinfo (CODESET);
|
||||
|
||||
# else
|
||||
|
||||
/* On old systems which lack it, use setlocale or getenv. */
|
||||
const char *locale = NULL;
|
||||
|
||||
/* But most old systems don't have a complete set of locales. Some
|
||||
(like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
|
||||
use setlocale here; it would return "C" when it doesn't support the
|
||||
locale name the user has set. */
|
||||
# if HAVE_SETLOCALE && 0
|
||||
locale = setlocale (LC_CTYPE, NULL);
|
||||
# endif
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
{
|
||||
locale = getenv ("LC_ALL");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
{
|
||||
locale = getenv ("LC_CTYPE");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
locale = getenv ("LANG");
|
||||
}
|
||||
}
|
||||
|
||||
/* On some old systems, one used to set locale = "iso8859_1". On others,
|
||||
you set it to "language_COUNTRY.charset". In any case, we resolve it
|
||||
through the charset.alias file. */
|
||||
codeset = locale;
|
||||
|
||||
# endif
|
||||
|
||||
#elif defined WIN32
|
||||
|
||||
static char buf[2 + 10 + 1];
|
||||
|
||||
/* Woe32 has a function returning the locale's codepage as a number. */
|
||||
sprintf (buf, "CP%u", GetACP ());
|
||||
codeset = buf;
|
||||
|
||||
#elif defined OS2
|
||||
|
||||
const char *locale;
|
||||
static char buf[2 + 10 + 1];
|
||||
ULONG cp[3];
|
||||
ULONG cplen;
|
||||
|
||||
/* Allow user to override the codeset, as set in the operating system,
|
||||
with standard language environment variables. */
|
||||
locale = getenv ("LC_ALL");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
{
|
||||
locale = getenv ("LC_CTYPE");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
locale = getenv ("LANG");
|
||||
}
|
||||
if (locale != NULL && locale[0] != '\0')
|
||||
{
|
||||
/* If the locale name contains an encoding after the dot, return it. */
|
||||
const char *dot = strchr (locale, '.');
|
||||
|
||||
if (dot != NULL)
|
||||
{
|
||||
const char *modifier;
|
||||
|
||||
dot++;
|
||||
/* Look for the possible @... trailer and remove it, if any. */
|
||||
modifier = strchr (dot, '@');
|
||||
if (modifier == NULL)
|
||||
return dot;
|
||||
if (modifier - dot < sizeof (buf))
|
||||
{
|
||||
memcpy (buf, dot, modifier - dot);
|
||||
buf [modifier - dot] = '\0';
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
|
||||
/* Resolve through the charset.alias file. */
|
||||
codeset = locale;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* OS/2 has a function returning the locale's codepage as a number. */
|
||||
if (DosQueryCp (sizeof (cp), cp, &cplen))
|
||||
codeset = "";
|
||||
else
|
||||
{
|
||||
sprintf (buf, "CP%u", cp[0]);
|
||||
codeset = buf;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (codeset == NULL)
|
||||
/* The canonical name cannot be determined. */
|
||||
codeset = "";
|
||||
|
||||
/* Resolve alias. */
|
||||
for (aliases = get_charset_aliases ();
|
||||
*aliases != '\0';
|
||||
aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
|
||||
if (strcmp (codeset, aliases) == 0
|
||||
|| (aliases[0] == '*' && aliases[1] == '\0'))
|
||||
{
|
||||
codeset = aliases + strlen (aliases) + 1;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Don't return an empty string. GNU libc and GNU libiconv interpret
|
||||
the empty string as denoting "the locale's character encoding",
|
||||
thus GNU libiconv would call this function a second time. */
|
||||
if (codeset[0] == '\0')
|
||||
codeset = "ASCII";
|
||||
|
||||
return codeset;
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/* Determine a canonical name for the current locale's character encoding.
|
||||
Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU CHARSET Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _LOCALCHARSET_H
|
||||
#define _LOCALCHARSET_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* Determine the current locale's character encoding, and canonicalize it
|
||||
into one of the canonical names listed in config.charset.
|
||||
The result must not be freed; it is statically allocated.
|
||||
If the canonical name cannot be determined, the result is a non-canonical
|
||||
name. */
|
||||
extern const char * locale_charset (void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _LOCALCHARSET_H */
|
|
@ -0,0 +1,78 @@
|
|||
# Locale name alias data base.
|
||||
# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
|
||||
# The format of this file is the same as for the corresponding file of
|
||||
# the X Window System, which normally can be found in
|
||||
# /usr/lib/X11/locale/locale.alias
|
||||
# A single line contains two fields: an alias and a substitution value.
|
||||
# All entries are case independent.
|
||||
|
||||
# Note: This file is far from being complete. If you have a value for
|
||||
# your own site which you think might be useful for others too, share
|
||||
# it with the rest of us. Send it using the `glibcbug' script to
|
||||
# bugs@gnu.org.
|
||||
|
||||
# Packages using this file:
|
||||
|
||||
bokmal no_NO.ISO-8859-1
|
||||
bokmål no_NO.ISO-8859-1
|
||||
catalan ca_ES.ISO-8859-1
|
||||
croatian hr_HR.ISO-8859-2
|
||||
czech cs_CZ.ISO-8859-2
|
||||
danish da_DK.ISO-8859-1
|
||||
dansk da_DK.ISO-8859-1
|
||||
deutsch de_DE.ISO-8859-1
|
||||
dutch nl_NL.ISO-8859-1
|
||||
eesti et_EE.ISO-8859-1
|
||||
estonian et_EE.ISO-8859-1
|
||||
finnish fi_FI.ISO-8859-1
|
||||
français fr_FR.ISO-8859-1
|
||||
french fr_FR.ISO-8859-1
|
||||
galego gl_ES.ISO-8859-1
|
||||
galician gl_ES.ISO-8859-1
|
||||
german de_DE.ISO-8859-1
|
||||
greek el_GR.ISO-8859-7
|
||||
hebrew he_IL.ISO-8859-8
|
||||
hrvatski hr_HR.ISO-8859-2
|
||||
hungarian hu_HU.ISO-8859-2
|
||||
icelandic is_IS.ISO-8859-1
|
||||
italian it_IT.ISO-8859-1
|
||||
japanese ja_JP.eucJP
|
||||
japanese.euc ja_JP.eucJP
|
||||
ja_JP ja_JP.eucJP
|
||||
ja_JP.ujis ja_JP.eucJP
|
||||
japanese.sjis ja_JP.SJIS
|
||||
korean ko_KR.eucKR
|
||||
korean.euc ko_KR.eucKR
|
||||
ko_KR ko_KR.eucKR
|
||||
lithuanian lt_LT.ISO-8859-13
|
||||
nb_NO no_NO.ISO-8859-1
|
||||
nb_NO.ISO-8859-1 no_NO.ISO-8859-1
|
||||
norwegian no_NO.ISO-8859-1
|
||||
nynorsk nn_NO.ISO-8859-1
|
||||
polish pl_PL.ISO-8859-2
|
||||
portuguese pt_PT.ISO-8859-1
|
||||
romanian ro_RO.ISO-8859-2
|
||||
russian ru_RU.ISO-8859-5
|
||||
slovak sk_SK.ISO-8859-2
|
||||
slovene sl_SI.ISO-8859-2
|
||||
slovenian sl_SI.ISO-8859-2
|
||||
spanish es_ES.ISO-8859-1
|
||||
swedish sv_SE.ISO-8859-1
|
||||
thai th_TH.TIS-620
|
||||
turkish tr_TR.ISO-8859-9
|
|
@ -0,0 +1,419 @@
|
|||
/* Handle aliases for locale names.
|
||||
Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
|
||||
This must come before <config.h> because <config.h> may include
|
||||
<features.h>, and once <features.h> has been included, it's too late. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#if defined _LIBC || defined HAVE___FSETLOCKING
|
||||
# include <stdio_ext.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
# undef alloca
|
||||
# define alloca __builtin_alloca
|
||||
# define HAVE_ALLOCA 1
|
||||
#else
|
||||
# ifdef _MSC_VER
|
||||
# include <malloc.h>
|
||||
# define alloca _alloca
|
||||
# else
|
||||
# if defined HAVE_ALLOCA_H || defined _LIBC
|
||||
# include <alloca.h>
|
||||
# else
|
||||
# ifdef _AIX
|
||||
#pragma alloca
|
||||
# else
|
||||
# ifndef alloca
|
||||
char *alloca ();
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "gettextP.h"
|
||||
|
||||
#if ENABLE_RELOCATABLE
|
||||
# include "relocatable.h"
|
||||
#else
|
||||
# define relocate(pathname) (pathname)
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Rename the non ANSI C functions. This is required by the standard
|
||||
because some ANSI C functions will require linking with this object
|
||||
file and the name space must not be polluted. */
|
||||
# define strcasecmp __strcasecmp
|
||||
|
||||
# ifndef mempcpy
|
||||
# define mempcpy __mempcpy
|
||||
# endif
|
||||
# define HAVE_MEMPCPY 1
|
||||
# define HAVE___FSETLOCKING 1
|
||||
|
||||
/* We need locking here since we can be called from different places. */
|
||||
# include <bits/libc-lock.h>
|
||||
|
||||
__libc_lock_define_initialized (static, lock);
|
||||
#endif
|
||||
|
||||
#ifndef internal_function
|
||||
# define internal_function
|
||||
#endif
|
||||
|
||||
/* Some optimizations for glibc. */
|
||||
#ifdef _LIBC
|
||||
# define FEOF(fp) feof_unlocked (fp)
|
||||
# define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp)
|
||||
#else
|
||||
# define FEOF(fp) feof (fp)
|
||||
# define FGETS(buf, n, fp) fgets (buf, n, fp)
|
||||
#endif
|
||||
|
||||
/* For those losing systems which don't have `alloca' we have to add
|
||||
some additional code emulating it. */
|
||||
#ifdef HAVE_ALLOCA
|
||||
# define freea(p) /* nothing */
|
||||
#else
|
||||
# define alloca(n) malloc (n)
|
||||
# define freea(p) free (p)
|
||||
#endif
|
||||
|
||||
#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
|
||||
# undef fgets
|
||||
# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
|
||||
#endif
|
||||
#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
|
||||
# undef feof
|
||||
# define feof(s) feof_unlocked (s)
|
||||
#endif
|
||||
|
||||
|
||||
struct alias_map
|
||||
{
|
||||
const char *alias;
|
||||
const char *value;
|
||||
};
|
||||
|
||||
|
||||
#ifndef _LIBC
|
||||
# define libc_freeres_ptr(decl) decl
|
||||
#endif
|
||||
|
||||
libc_freeres_ptr (static char *string_space);
|
||||
static size_t string_space_act;
|
||||
static size_t string_space_max;
|
||||
libc_freeres_ptr (static struct alias_map *map);
|
||||
static size_t nmap;
|
||||
static size_t maxmap;
|
||||
|
||||
|
||||
/* Prototypes for local functions. */
|
||||
static size_t read_alias_file PARAMS ((const char *fname, int fname_len))
|
||||
internal_function;
|
||||
static int extend_alias_table PARAMS ((void));
|
||||
static int alias_compare PARAMS ((const struct alias_map *map1,
|
||||
const struct alias_map *map2));
|
||||
|
||||
|
||||
const char *
|
||||
_nl_expand_alias (name)
|
||||
const char *name;
|
||||
{
|
||||
static const char *locale_alias_path;
|
||||
struct alias_map *retval;
|
||||
const char *result = NULL;
|
||||
size_t added;
|
||||
|
||||
#ifdef _LIBC
|
||||
__libc_lock_lock (lock);
|
||||
#endif
|
||||
|
||||
if (locale_alias_path == NULL)
|
||||
locale_alias_path = LOCALE_ALIAS_PATH;
|
||||
|
||||
do
|
||||
{
|
||||
struct alias_map item;
|
||||
|
||||
item.alias = name;
|
||||
|
||||
if (nmap > 0)
|
||||
retval = (struct alias_map *) bsearch (&item, map, nmap,
|
||||
sizeof (struct alias_map),
|
||||
(int (*) PARAMS ((const void *,
|
||||
const void *))
|
||||
) alias_compare);
|
||||
else
|
||||
retval = NULL;
|
||||
|
||||
/* We really found an alias. Return the value. */
|
||||
if (retval != NULL)
|
||||
{
|
||||
result = retval->value;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Perhaps we can find another alias file. */
|
||||
added = 0;
|
||||
while (added == 0 && locale_alias_path[0] != '\0')
|
||||
{
|
||||
const char *start;
|
||||
|
||||
while (locale_alias_path[0] == PATH_SEPARATOR)
|
||||
++locale_alias_path;
|
||||
start = locale_alias_path;
|
||||
|
||||
while (locale_alias_path[0] != '\0'
|
||||
&& locale_alias_path[0] != PATH_SEPARATOR)
|
||||
++locale_alias_path;
|
||||
|
||||
if (start < locale_alias_path)
|
||||
added = read_alias_file (start, locale_alias_path - start);
|
||||
}
|
||||
}
|
||||
while (added != 0);
|
||||
|
||||
#ifdef _LIBC
|
||||
__libc_lock_unlock (lock);
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
static size_t
|
||||
internal_function
|
||||
read_alias_file (fname, fname_len)
|
||||
const char *fname;
|
||||
int fname_len;
|
||||
{
|
||||
FILE *fp;
|
||||
char *full_fname;
|
||||
size_t added;
|
||||
static const char aliasfile[] = "/locale.alias";
|
||||
|
||||
full_fname = (char *) alloca (fname_len + sizeof aliasfile);
|
||||
#ifdef HAVE_MEMPCPY
|
||||
mempcpy (mempcpy (full_fname, fname, fname_len),
|
||||
aliasfile, sizeof aliasfile);
|
||||
#else
|
||||
memcpy (full_fname, fname, fname_len);
|
||||
memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
|
||||
#endif
|
||||
|
||||
fp = fopen (relocate (full_fname), "r");
|
||||
freea (full_fname);
|
||||
if (fp == NULL)
|
||||
return 0;
|
||||
|
||||
#ifdef HAVE___FSETLOCKING
|
||||
/* No threads present. */
|
||||
__fsetlocking (fp, FSETLOCKING_BYCALLER);
|
||||
#endif
|
||||
|
||||
added = 0;
|
||||
while (!FEOF (fp))
|
||||
{
|
||||
/* It is a reasonable approach to use a fix buffer here because
|
||||
a) we are only interested in the first two fields
|
||||
b) these fields must be usable as file names and so must not
|
||||
be that long
|
||||
We avoid a multi-kilobyte buffer here since this would use up
|
||||
stack space which we might not have if the program ran out of
|
||||
memory. */
|
||||
char buf[400];
|
||||
char *alias;
|
||||
char *value;
|
||||
char *cp;
|
||||
|
||||
if (FGETS (buf, sizeof buf, fp) == NULL)
|
||||
/* EOF reached. */
|
||||
break;
|
||||
|
||||
cp = buf;
|
||||
/* Ignore leading white space. */
|
||||
while (isspace ((unsigned char) cp[0]))
|
||||
++cp;
|
||||
|
||||
/* A leading '#' signals a comment line. */
|
||||
if (cp[0] != '\0' && cp[0] != '#')
|
||||
{
|
||||
alias = cp++;
|
||||
while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
|
||||
++cp;
|
||||
/* Terminate alias name. */
|
||||
if (cp[0] != '\0')
|
||||
*cp++ = '\0';
|
||||
|
||||
/* Now look for the beginning of the value. */
|
||||
while (isspace ((unsigned char) cp[0]))
|
||||
++cp;
|
||||
|
||||
if (cp[0] != '\0')
|
||||
{
|
||||
size_t alias_len;
|
||||
size_t value_len;
|
||||
|
||||
value = cp++;
|
||||
while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
|
||||
++cp;
|
||||
/* Terminate value. */
|
||||
if (cp[0] == '\n')
|
||||
{
|
||||
/* This has to be done to make the following test
|
||||
for the end of line possible. We are looking for
|
||||
the terminating '\n' which do not overwrite here. */
|
||||
*cp++ = '\0';
|
||||
*cp = '\n';
|
||||
}
|
||||
else if (cp[0] != '\0')
|
||||
*cp++ = '\0';
|
||||
|
||||
if (nmap >= maxmap)
|
||||
if (__builtin_expect (extend_alias_table (), 0))
|
||||
return added;
|
||||
|
||||
alias_len = strlen (alias) + 1;
|
||||
value_len = strlen (value) + 1;
|
||||
|
||||
if (string_space_act + alias_len + value_len > string_space_max)
|
||||
{
|
||||
/* Increase size of memory pool. */
|
||||
size_t new_size = (string_space_max
|
||||
+ (alias_len + value_len > 1024
|
||||
? alias_len + value_len : 1024));
|
||||
char *new_pool = (char *) realloc (string_space, new_size);
|
||||
if (new_pool == NULL)
|
||||
return added;
|
||||
|
||||
if (__builtin_expect (string_space != new_pool, 0))
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < nmap; i++)
|
||||
{
|
||||
map[i].alias += new_pool - string_space;
|
||||
map[i].value += new_pool - string_space;
|
||||
}
|
||||
}
|
||||
|
||||
string_space = new_pool;
|
||||
string_space_max = new_size;
|
||||
}
|
||||
|
||||
map[nmap].alias = memcpy (&string_space[string_space_act],
|
||||
alias, alias_len);
|
||||
string_space_act += alias_len;
|
||||
|
||||
map[nmap].value = memcpy (&string_space[string_space_act],
|
||||
value, value_len);
|
||||
string_space_act += value_len;
|
||||
|
||||
++nmap;
|
||||
++added;
|
||||
}
|
||||
}
|
||||
|
||||
/* Possibly not the whole line fits into the buffer. Ignore
|
||||
the rest of the line. */
|
||||
while (strchr (buf, '\n') == NULL)
|
||||
if (FGETS (buf, sizeof buf, fp) == NULL)
|
||||
/* Make sure the inner loop will be left. The outer loop
|
||||
will exit at the `feof' test. */
|
||||
break;
|
||||
}
|
||||
|
||||
/* Should we test for ferror()? I think we have to silently ignore
|
||||
errors. --drepper */
|
||||
fclose (fp);
|
||||
|
||||
if (added > 0)
|
||||
qsort (map, nmap, sizeof (struct alias_map),
|
||||
(int (*) PARAMS ((const void *, const void *))) alias_compare);
|
||||
|
||||
return added;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
extend_alias_table ()
|
||||
{
|
||||
size_t new_size;
|
||||
struct alias_map *new_map;
|
||||
|
||||
new_size = maxmap == 0 ? 100 : 2 * maxmap;
|
||||
new_map = (struct alias_map *) realloc (map, (new_size
|
||||
* sizeof (struct alias_map)));
|
||||
if (new_map == NULL)
|
||||
/* Simply don't extend: we don't have any more core. */
|
||||
return -1;
|
||||
|
||||
map = new_map;
|
||||
maxmap = new_size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
alias_compare (map1, map2)
|
||||
const struct alias_map *map1;
|
||||
const struct alias_map *map2;
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRCASECMP
|
||||
return strcasecmp (map1->alias, map2->alias);
|
||||
#else
|
||||
const unsigned char *p1 = (const unsigned char *) map1->alias;
|
||||
const unsigned char *p2 = (const unsigned char *) map2->alias;
|
||||
unsigned char c1, c2;
|
||||
|
||||
if (p1 == p2)
|
||||
return 0;
|
||||
|
||||
do
|
||||
{
|
||||
/* I know this seems to be odd but the tolower() function in
|
||||
some systems libc cannot handle nonalpha characters. */
|
||||
c1 = isupper (*p1) ? tolower (*p1) : *p1;
|
||||
c2 = isupper (*p2) ? tolower (*p2) : *p2;
|
||||
if (c1 == '\0')
|
||||
break;
|
||||
++p1;
|
||||
++p2;
|
||||
}
|
||||
while (c1 == c2);
|
||||
|
||||
return c1 - c2;
|
||||
#endif
|
||||
}
|
|
@ -0,0 +1,772 @@
|
|||
/* Determine the current selected locale.
|
||||
Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
|
||||
/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
# undef WIN32 /* avoid warning on mingw32 */
|
||||
# define WIN32
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
/* Mingw headers don't have latest language and sublanguage codes. */
|
||||
# ifndef LANG_AFRIKAANS
|
||||
# define LANG_AFRIKAANS 0x36
|
||||
# endif
|
||||
# ifndef LANG_ALBANIAN
|
||||
# define LANG_ALBANIAN 0x1c
|
||||
# endif
|
||||
# ifndef LANG_ARABIC
|
||||
# define LANG_ARABIC 0x01
|
||||
# endif
|
||||
# ifndef LANG_ARMENIAN
|
||||
# define LANG_ARMENIAN 0x2b
|
||||
# endif
|
||||
# ifndef LANG_ASSAMESE
|
||||
# define LANG_ASSAMESE 0x4d
|
||||
# endif
|
||||
# ifndef LANG_AZERI
|
||||
# define LANG_AZERI 0x2c
|
||||
# endif
|
||||
# ifndef LANG_BASQUE
|
||||
# define LANG_BASQUE 0x2d
|
||||
# endif
|
||||
# ifndef LANG_BELARUSIAN
|
||||
# define LANG_BELARUSIAN 0x23
|
||||
# endif
|
||||
# ifndef LANG_BENGALI
|
||||
# define LANG_BENGALI 0x45
|
||||
# endif
|
||||
# ifndef LANG_CATALAN
|
||||
# define LANG_CATALAN 0x03
|
||||
# endif
|
||||
# ifndef LANG_DIVEHI
|
||||
# define LANG_DIVEHI 0x65
|
||||
# endif
|
||||
# ifndef LANG_ESTONIAN
|
||||
# define LANG_ESTONIAN 0x25
|
||||
# endif
|
||||
# ifndef LANG_FAEROESE
|
||||
# define LANG_FAEROESE 0x38
|
||||
# endif
|
||||
# ifndef LANG_FARSI
|
||||
# define LANG_FARSI 0x29
|
||||
# endif
|
||||
# ifndef LANG_GALICIAN
|
||||
# define LANG_GALICIAN 0x56
|
||||
# endif
|
||||
# ifndef LANG_GEORGIAN
|
||||
# define LANG_GEORGIAN 0x37
|
||||
# endif
|
||||
# ifndef LANG_GUJARATI
|
||||
# define LANG_GUJARATI 0x47
|
||||
# endif
|
||||
# ifndef LANG_HEBREW
|
||||
# define LANG_HEBREW 0x0d
|
||||
# endif
|
||||
# ifndef LANG_HINDI
|
||||
# define LANG_HINDI 0x39
|
||||
# endif
|
||||
# ifndef LANG_INDONESIAN
|
||||
# define LANG_INDONESIAN 0x21
|
||||
# endif
|
||||
# ifndef LANG_KANNADA
|
||||
# define LANG_KANNADA 0x4b
|
||||
# endif
|
||||
# ifndef LANG_KASHMIRI
|
||||
# define LANG_KASHMIRI 0x60
|
||||
# endif
|
||||
# ifndef LANG_KAZAK
|
||||
# define LANG_KAZAK 0x3f
|
||||
# endif
|
||||
# ifndef LANG_KONKANI
|
||||
# define LANG_KONKANI 0x57
|
||||
# endif
|
||||
# ifndef LANG_KYRGYZ
|
||||
# define LANG_KYRGYZ 0x40
|
||||
# endif
|
||||
# ifndef LANG_LATVIAN
|
||||
# define LANG_LATVIAN 0x26
|
||||
# endif
|
||||
# ifndef LANG_LITHUANIAN
|
||||
# define LANG_LITHUANIAN 0x27
|
||||
# endif
|
||||
# ifndef LANG_MACEDONIAN
|
||||
# define LANG_MACEDONIAN 0x2f
|
||||
# endif
|
||||
# ifndef LANG_MALAY
|
||||
# define LANG_MALAY 0x3e
|
||||
# endif
|
||||
# ifndef LANG_MALAYALAM
|
||||
# define LANG_MALAYALAM 0x4c
|
||||
# endif
|
||||
# ifndef LANG_MANIPURI
|
||||
# define LANG_MANIPURI 0x58
|
||||
# endif
|
||||
# ifndef LANG_MARATHI
|
||||
# define LANG_MARATHI 0x4e
|
||||
# endif
|
||||
# ifndef LANG_MONGOLIAN
|
||||
# define LANG_MONGOLIAN 0x50
|
||||
# endif
|
||||
# ifndef LANG_NEPALI
|
||||
# define LANG_NEPALI 0x61
|
||||
# endif
|
||||
# ifndef LANG_ORIYA
|
||||
# define LANG_ORIYA 0x48
|
||||
# endif
|
||||
# ifndef LANG_PUNJABI
|
||||
# define LANG_PUNJABI 0x46
|
||||
# endif
|
||||
# ifndef LANG_SANSKRIT
|
||||
# define LANG_SANSKRIT 0x4f
|
||||
# endif
|
||||
# ifndef LANG_SERBIAN
|
||||
# define LANG_SERBIAN 0x1a
|
||||
# endif
|
||||
# ifndef LANG_SINDHI
|
||||
# define LANG_SINDHI 0x59
|
||||
# endif
|
||||
# ifndef LANG_SLOVAK
|
||||
# define LANG_SLOVAK 0x1b
|
||||
# endif
|
||||
# ifndef LANG_SORBIAN
|
||||
# define LANG_SORBIAN 0x2e
|
||||
# endif
|
||||
# ifndef LANG_SWAHILI
|
||||
# define LANG_SWAHILI 0x41
|
||||
# endif
|
||||
# ifndef LANG_SYRIAC
|
||||
# define LANG_SYRIAC 0x5a
|
||||
# endif
|
||||
# ifndef LANG_TAMIL
|
||||
# define LANG_TAMIL 0x49
|
||||
# endif
|
||||
# ifndef LANG_TATAR
|
||||
# define LANG_TATAR 0x44
|
||||
# endif
|
||||
# ifndef LANG_TELUGU
|
||||
# define LANG_TELUGU 0x4a
|
||||
# endif
|
||||
# ifndef LANG_THAI
|
||||
# define LANG_THAI 0x1e
|
||||
# endif
|
||||
# ifndef LANG_UKRAINIAN
|
||||
# define LANG_UKRAINIAN 0x22
|
||||
# endif
|
||||
# ifndef LANG_URDU
|
||||
# define LANG_URDU 0x20
|
||||
# endif
|
||||
# ifndef LANG_UZBEK
|
||||
# define LANG_UZBEK 0x43
|
||||
# endif
|
||||
# ifndef LANG_VIETNAMESE
|
||||
# define LANG_VIETNAMESE 0x2a
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
|
||||
# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_IRAQ
|
||||
# define SUBLANG_ARABIC_IRAQ 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_EGYPT
|
||||
# define SUBLANG_ARABIC_EGYPT 0x03
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_LIBYA
|
||||
# define SUBLANG_ARABIC_LIBYA 0x04
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_ALGERIA
|
||||
# define SUBLANG_ARABIC_ALGERIA 0x05
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_MOROCCO
|
||||
# define SUBLANG_ARABIC_MOROCCO 0x06
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_TUNISIA
|
||||
# define SUBLANG_ARABIC_TUNISIA 0x07
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_OMAN
|
||||
# define SUBLANG_ARABIC_OMAN 0x08
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_YEMEN
|
||||
# define SUBLANG_ARABIC_YEMEN 0x09
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_SYRIA
|
||||
# define SUBLANG_ARABIC_SYRIA 0x0a
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_JORDAN
|
||||
# define SUBLANG_ARABIC_JORDAN 0x0b
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_LEBANON
|
||||
# define SUBLANG_ARABIC_LEBANON 0x0c
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_KUWAIT
|
||||
# define SUBLANG_ARABIC_KUWAIT 0x0d
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_UAE
|
||||
# define SUBLANG_ARABIC_UAE 0x0e
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_BAHRAIN
|
||||
# define SUBLANG_ARABIC_BAHRAIN 0x0f
|
||||
# endif
|
||||
# ifndef SUBLANG_ARABIC_QATAR
|
||||
# define SUBLANG_ARABIC_QATAR 0x10
|
||||
# endif
|
||||
# ifndef SUBLANG_AZERI_LATIN
|
||||
# define SUBLANG_AZERI_LATIN 0x01
|
||||
# endif
|
||||
# ifndef SUBLANG_AZERI_CYRILLIC
|
||||
# define SUBLANG_AZERI_CYRILLIC 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_CHINESE_MACAU
|
||||
# define SUBLANG_CHINESE_MACAU 0x05
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
|
||||
# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_JAMAICA
|
||||
# define SUBLANG_ENGLISH_JAMAICA 0x08
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_CARIBBEAN
|
||||
# define SUBLANG_ENGLISH_CARIBBEAN 0x09
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_BELIZE
|
||||
# define SUBLANG_ENGLISH_BELIZE 0x0a
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_TRINIDAD
|
||||
# define SUBLANG_ENGLISH_TRINIDAD 0x0b
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_ZIMBABWE
|
||||
# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
|
||||
# endif
|
||||
# ifndef SUBLANG_ENGLISH_PHILIPPINES
|
||||
# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
|
||||
# endif
|
||||
# ifndef SUBLANG_FRENCH_LUXEMBOURG
|
||||
# define SUBLANG_FRENCH_LUXEMBOURG 0x05
|
||||
# endif
|
||||
# ifndef SUBLANG_FRENCH_MONACO
|
||||
# define SUBLANG_FRENCH_MONACO 0x06
|
||||
# endif
|
||||
# ifndef SUBLANG_GERMAN_LUXEMBOURG
|
||||
# define SUBLANG_GERMAN_LUXEMBOURG 0x04
|
||||
# endif
|
||||
# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
|
||||
# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
|
||||
# endif
|
||||
# ifndef SUBLANG_KASHMIRI_INDIA
|
||||
# define SUBLANG_KASHMIRI_INDIA 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_MALAY_MALAYSIA
|
||||
# define SUBLANG_MALAY_MALAYSIA 0x01
|
||||
# endif
|
||||
# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
|
||||
# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_NEPALI_INDIA
|
||||
# define SUBLANG_NEPALI_INDIA 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_SERBIAN_LATIN
|
||||
# define SUBLANG_SERBIAN_LATIN 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_SERBIAN_CYRILLIC
|
||||
# define SUBLANG_SERBIAN_CYRILLIC 0x03
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_GUATEMALA
|
||||
# define SUBLANG_SPANISH_GUATEMALA 0x04
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_COSTA_RICA
|
||||
# define SUBLANG_SPANISH_COSTA_RICA 0x05
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_PANAMA
|
||||
# define SUBLANG_SPANISH_PANAMA 0x06
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
|
||||
# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_VENEZUELA
|
||||
# define SUBLANG_SPANISH_VENEZUELA 0x08
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_COLOMBIA
|
||||
# define SUBLANG_SPANISH_COLOMBIA 0x09
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_PERU
|
||||
# define SUBLANG_SPANISH_PERU 0x0a
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_ARGENTINA
|
||||
# define SUBLANG_SPANISH_ARGENTINA 0x0b
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_ECUADOR
|
||||
# define SUBLANG_SPANISH_ECUADOR 0x0c
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_CHILE
|
||||
# define SUBLANG_SPANISH_CHILE 0x0d
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_URUGUAY
|
||||
# define SUBLANG_SPANISH_URUGUAY 0x0e
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_PARAGUAY
|
||||
# define SUBLANG_SPANISH_PARAGUAY 0x0f
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_BOLIVIA
|
||||
# define SUBLANG_SPANISH_BOLIVIA 0x10
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_EL_SALVADOR
|
||||
# define SUBLANG_SPANISH_EL_SALVADOR 0x11
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_HONDURAS
|
||||
# define SUBLANG_SPANISH_HONDURAS 0x12
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_NICARAGUA
|
||||
# define SUBLANG_SPANISH_NICARAGUA 0x13
|
||||
# endif
|
||||
# ifndef SUBLANG_SPANISH_PUERTO_RICO
|
||||
# define SUBLANG_SPANISH_PUERTO_RICO 0x14
|
||||
# endif
|
||||
# ifndef SUBLANG_SWEDISH_FINLAND
|
||||
# define SUBLANG_SWEDISH_FINLAND 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_URDU_PAKISTAN
|
||||
# define SUBLANG_URDU_PAKISTAN 0x01
|
||||
# endif
|
||||
# ifndef SUBLANG_URDU_INDIA
|
||||
# define SUBLANG_URDU_INDIA 0x02
|
||||
# endif
|
||||
# ifndef SUBLANG_UZBEK_LATIN
|
||||
# define SUBLANG_UZBEK_LATIN 0x01
|
||||
# endif
|
||||
# ifndef SUBLANG_UZBEK_CYRILLIC
|
||||
# define SUBLANG_UZBEK_CYRILLIC 0x02
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* XPG3 defines the result of 'setlocale (category, NULL)' as:
|
||||
"Directs 'setlocale()' to query 'category' and return the current
|
||||
setting of 'local'."
|
||||
However it does not specify the exact format. Neither do SUSV2 and
|
||||
ISO C 99. So we can use this feature only on selected systems (e.g.
|
||||
those using GNU C Library). */
|
||||
#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
|
||||
# define HAVE_LOCALE_NULL
|
||||
#endif
|
||||
|
||||
/* Determine the current locale's name, and canonicalize it into XPG syntax
|
||||
language[_territory[.codeset]][@modifier]
|
||||
The codeset part in the result is not reliable; the locale_charset()
|
||||
should be used for codeset information instead.
|
||||
The result must not be freed; it is statically allocated. */
|
||||
|
||||
const char *
|
||||
_nl_locale_name (category, categoryname)
|
||||
int category;
|
||||
const char *categoryname;
|
||||
{
|
||||
const char *retval;
|
||||
|
||||
#ifndef WIN32
|
||||
|
||||
/* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
|
||||
On some systems this can be done by the 'setlocale' function itself. */
|
||||
# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
|
||||
retval = setlocale (category, NULL);
|
||||
# else
|
||||
/* Setting of LC_ALL overwrites all other. */
|
||||
retval = getenv ("LC_ALL");
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
{
|
||||
/* Next comes the name of the desired category. */
|
||||
retval = getenv (categoryname);
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
{
|
||||
/* Last possibility is the LANG environment variable. */
|
||||
retval = getenv ("LANG");
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
/* We use C as the default domain. POSIX says this is
|
||||
implementation defined. */
|
||||
retval = "C";
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
return retval;
|
||||
|
||||
#else /* WIN32 */
|
||||
|
||||
/* Return an XPG style locale name language[_territory][@modifier].
|
||||
Don't even bother determining the codeset; it's not useful in this
|
||||
context, because message catalogs are not specific to a single
|
||||
codeset. */
|
||||
|
||||
LCID lcid;
|
||||
LANGID langid;
|
||||
int primary, sub;
|
||||
|
||||
/* Let the user override the system settings through environment
|
||||
variables, as on POSIX systems. */
|
||||
retval = getenv ("LC_ALL");
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
retval = getenv (categoryname);
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
retval = getenv ("LANG");
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
|
||||
/* Use native Win32 API locale ID. */
|
||||
lcid = GetThreadLocale ();
|
||||
|
||||
/* Strip off the sorting rules, keep only the language part. */
|
||||
langid = LANGIDFROMLCID (lcid);
|
||||
|
||||
/* Split into language and territory part. */
|
||||
primary = PRIMARYLANGID (langid);
|
||||
sub = SUBLANGID (langid);
|
||||
|
||||
/* Dispatch on language.
|
||||
See also http://www.unicode.org/unicode/onlinedat/languages.html .
|
||||
For details about languages, see http://www.ethnologue.com/ . */
|
||||
switch (primary)
|
||||
{
|
||||
case LANG_AFRIKAANS: return "af_ZA";
|
||||
case LANG_ALBANIAN: return "sq_AL";
|
||||
case 0x5e: /* AMHARIC */ return "am_ET";
|
||||
case LANG_ARABIC:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
|
||||
case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
|
||||
case SUBLANG_ARABIC_EGYPT: return "ar_EG";
|
||||
case SUBLANG_ARABIC_LIBYA: return "ar_LY";
|
||||
case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
|
||||
case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
|
||||
case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
|
||||
case SUBLANG_ARABIC_OMAN: return "ar_OM";
|
||||
case SUBLANG_ARABIC_YEMEN: return "ar_YE";
|
||||
case SUBLANG_ARABIC_SYRIA: return "ar_SY";
|
||||
case SUBLANG_ARABIC_JORDAN: return "ar_JO";
|
||||
case SUBLANG_ARABIC_LEBANON: return "ar_LB";
|
||||
case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
|
||||
case SUBLANG_ARABIC_UAE: return "ar_AE";
|
||||
case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
|
||||
case SUBLANG_ARABIC_QATAR: return "ar_QA";
|
||||
}
|
||||
return "ar";
|
||||
case LANG_ARMENIAN: return "hy_AM";
|
||||
case LANG_ASSAMESE: return "as_IN";
|
||||
case LANG_AZERI:
|
||||
switch (sub)
|
||||
{
|
||||
/* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
|
||||
case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
|
||||
case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
|
||||
}
|
||||
return "az";
|
||||
case LANG_BASQUE:
|
||||
return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
|
||||
case LANG_BELARUSIAN: return "be_BY";
|
||||
case LANG_BENGALI: return "bn_IN";
|
||||
case LANG_BULGARIAN: return "bg_BG";
|
||||
case 0x55: /* BURMESE */ return "my_MM";
|
||||
case 0x53: /* CAMBODIAN */ return "km_KH";
|
||||
case LANG_CATALAN: return "ca_ES";
|
||||
case 0x5c: /* CHEROKEE */ return "chr_US";
|
||||
case LANG_CHINESE:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
|
||||
case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
|
||||
case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
|
||||
case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
|
||||
case SUBLANG_CHINESE_MACAU: return "zh_MO";
|
||||
}
|
||||
return "zh";
|
||||
case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN
|
||||
* What used to be called Serbo-Croatian
|
||||
* should really now be two separate
|
||||
* languages because of political reasons.
|
||||
* (Says tml, who knows nothing about Serbian
|
||||
* or Croatian.)
|
||||
* (I can feel those flames coming already.)
|
||||
*/
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "hr_HR";
|
||||
case SUBLANG_SERBIAN_LATIN: return "sr_YU";
|
||||
case SUBLANG_SERBIAN_CYRILLIC: return "sr_YU@cyrillic";
|
||||
}
|
||||
return "hr";
|
||||
case LANG_CZECH: return "cs_CZ";
|
||||
case LANG_DANISH: return "da_DK";
|
||||
case LANG_DIVEHI: return "div_MV";
|
||||
case LANG_DUTCH:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DUTCH: return "nl_NL";
|
||||
case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
|
||||
}
|
||||
return "nl";
|
||||
case 0x66: /* EDO */ return "bin_NG";
|
||||
case LANG_ENGLISH:
|
||||
switch (sub)
|
||||
{
|
||||
/* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
|
||||
* English was the language spoken in England.
|
||||
* Oh well.
|
||||
*/
|
||||
case SUBLANG_ENGLISH_US: return "en_US";
|
||||
case SUBLANG_ENGLISH_UK: return "en_GB";
|
||||
case SUBLANG_ENGLISH_AUS: return "en_AU";
|
||||
case SUBLANG_ENGLISH_CAN: return "en_CA";
|
||||
case SUBLANG_ENGLISH_NZ: return "en_NZ";
|
||||
case SUBLANG_ENGLISH_EIRE: return "en_IE";
|
||||
case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
|
||||
case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
|
||||
case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
|
||||
case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
|
||||
case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
|
||||
case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
|
||||
case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
|
||||
}
|
||||
return "en";
|
||||
case LANG_ESTONIAN: return "et_EE";
|
||||
case LANG_FAEROESE: return "fo_FO";
|
||||
case LANG_FARSI: return "fa_IR";
|
||||
case LANG_FINNISH: return "fi_FI";
|
||||
case LANG_FRENCH:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_FRENCH: return "fr_FR";
|
||||
case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
|
||||
case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
|
||||
case SUBLANG_FRENCH_SWISS: return "fr_CH";
|
||||
case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
|
||||
case SUBLANG_FRENCH_MONACO: return "fr_MC";
|
||||
}
|
||||
return "fr";
|
||||
case 0x62: /* FRISIAN */ return "fy_NL";
|
||||
case 0x67: /* FULFULDE */ return "ful_NG";
|
||||
case 0x3c: /* GAELIC */
|
||||
switch (sub)
|
||||
{
|
||||
case 0x01: /* SCOTTISH */ return "gd_GB";
|
||||
case 0x02: /* IRISH */ return "ga_IE";
|
||||
}
|
||||
return "C";
|
||||
case LANG_GALICIAN: return "gl_ES";
|
||||
case LANG_GEORGIAN: return "ka_GE";
|
||||
case LANG_GERMAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_GERMAN: return "de_DE";
|
||||
case SUBLANG_GERMAN_SWISS: return "de_CH";
|
||||
case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
|
||||
case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
|
||||
case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
|
||||
}
|
||||
return "de";
|
||||
case LANG_GREEK: return "el_GR";
|
||||
case 0x74: /* GUARANI */ return "gn_PY";
|
||||
case LANG_GUJARATI: return "gu_IN";
|
||||
case 0x68: /* HAUSA */ return "ha_NG";
|
||||
case 0x75: /* HAWAIIAN */
|
||||
/* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
|
||||
or Hawaii Creole English ("cpe_US", 600000 speakers)? */
|
||||
return "cpe_US";
|
||||
case LANG_HEBREW: return "he_IL";
|
||||
case LANG_HINDI: return "hi_IN";
|
||||
case LANG_HUNGARIAN: return "hu_HU";
|
||||
case 0x69: /* IBIBIO */ return "nic_NG";
|
||||
case LANG_ICELANDIC: return "is_IS";
|
||||
case 0x70: /* IGBO */ return "ibo_NG";
|
||||
case LANG_INDONESIAN: return "id_ID";
|
||||
case 0x5d: /* INUKTITUT */ return "iu_CA";
|
||||
case LANG_ITALIAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_ITALIAN: return "it_IT";
|
||||
case SUBLANG_ITALIAN_SWISS: return "it_CH";
|
||||
}
|
||||
return "it";
|
||||
case LANG_JAPANESE: return "ja_JP";
|
||||
case LANG_KANNADA: return "kn_IN";
|
||||
case 0x71: /* KANURI */ return "kau_NG";
|
||||
case LANG_KASHMIRI:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "ks_PK";
|
||||
case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
|
||||
}
|
||||
return "ks";
|
||||
case LANG_KAZAK: return "kk_KZ";
|
||||
case LANG_KONKANI:
|
||||
/* FIXME: Adjust this when such locales appear on Unix. */
|
||||
return "kok_IN";
|
||||
case LANG_KOREAN: return "ko_KR";
|
||||
case LANG_KYRGYZ: return "ky_KG";
|
||||
case 0x54: /* LAO */ return "lo_LA";
|
||||
case 0x76: /* LATIN */ return "la_VA";
|
||||
case LANG_LATVIAN: return "lv_LV";
|
||||
case LANG_LITHUANIAN: return "lt_LT";
|
||||
case LANG_MACEDONIAN: return "mk_MK";
|
||||
case LANG_MALAY:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
|
||||
case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
|
||||
}
|
||||
return "ms";
|
||||
case LANG_MALAYALAM: return "ml_IN";
|
||||
case 0x3a: /* MALTESE */ return "mt_MT";
|
||||
case LANG_MANIPURI:
|
||||
/* FIXME: Adjust this when such locales appear on Unix. */
|
||||
return "mni_IN";
|
||||
case LANG_MARATHI: return "mr_IN";
|
||||
case LANG_MONGOLIAN:
|
||||
return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
|
||||
case LANG_NEPALI:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "ne_NP";
|
||||
case SUBLANG_NEPALI_INDIA: return "ne_IN";
|
||||
}
|
||||
return "ne";
|
||||
case LANG_NORWEGIAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
|
||||
case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
|
||||
}
|
||||
return "no";
|
||||
case LANG_ORIYA: return "or_IN";
|
||||
case 0x72: /* OROMO */ return "om_ET";
|
||||
case 0x79: /* PAPIAMENTU */ return "pap_AN";
|
||||
case 0x63: /* PASHTO */
|
||||
return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
|
||||
case LANG_POLISH: return "pl_PL";
|
||||
case LANG_PORTUGUESE:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_PORTUGUESE: return "pt_PT";
|
||||
/* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
|
||||
Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
|
||||
case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
|
||||
}
|
||||
return "pt";
|
||||
case LANG_PUNJABI: return "pa_IN";
|
||||
case 0x17: /* RHAETO-ROMANCE */ return "rm_CH";
|
||||
case LANG_ROMANIAN: return "ro_RO";
|
||||
case LANG_RUSSIAN:
|
||||
return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA". */
|
||||
case 0x3b: /* SAMI */ return "se_NO";
|
||||
case LANG_SANSKRIT: return "sa_IN";
|
||||
case LANG_SINDHI: return "sd";
|
||||
case 0x5b: /* SINHALESE */ return "si_LK";
|
||||
case LANG_SLOVAK: return "sk_SK";
|
||||
case LANG_SLOVENIAN: return "sl_SI";
|
||||
case 0x77: /* SOMALI */ return "so_SO";
|
||||
case LANG_SORBIAN:
|
||||
/* FIXME: Adjust this when such locales appear on Unix. */
|
||||
return "wen_DE";
|
||||
case LANG_SPANISH:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_SPANISH: return "es_ES";
|
||||
case SUBLANG_SPANISH_MEXICAN: return "es_MX";
|
||||
case SUBLANG_SPANISH_MODERN:
|
||||
return "es_ES@modern"; /* not seen on Unix */
|
||||
case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
|
||||
case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
|
||||
case SUBLANG_SPANISH_PANAMA: return "es_PA";
|
||||
case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
|
||||
case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
|
||||
case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
|
||||
case SUBLANG_SPANISH_PERU: return "es_PE";
|
||||
case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
|
||||
case SUBLANG_SPANISH_ECUADOR: return "es_EC";
|
||||
case SUBLANG_SPANISH_CHILE: return "es_CL";
|
||||
case SUBLANG_SPANISH_URUGUAY: return "es_UY";
|
||||
case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
|
||||
case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
|
||||
case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
|
||||
case SUBLANG_SPANISH_HONDURAS: return "es_HN";
|
||||
case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
|
||||
case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
|
||||
}
|
||||
return "es";
|
||||
case 0x30: /* SUTU */ return "bnt_TZ";
|
||||
case LANG_SWAHILI: return "sw_KE";
|
||||
case LANG_SWEDISH:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "sv_SE";
|
||||
case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
|
||||
}
|
||||
return "sv";
|
||||
case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */
|
||||
case 0x64: /* TAGALOG */ return "tl_PH";
|
||||
case 0x28: /* TAJIK */ return "tg_TJ";
|
||||
case 0x5f: /* TAMAZIGHT */ return "ber_MA";
|
||||
case LANG_TAMIL:
|
||||
return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
|
||||
case LANG_TATAR: return "tt_RU";
|
||||
case LANG_TELUGU: return "te_IN";
|
||||
case LANG_THAI: return "th_TH";
|
||||
case 0x51: /* TIBETAN */ return "bo_CN";
|
||||
case 0x73: /* TIGRINYA */ return "ti_ET";
|
||||
case 0x31: /* TSONGA */ return "ts_ZA";
|
||||
case LANG_TURKISH: return "tr_TR";
|
||||
case 0x42: /* TURKMEN */ return "tk_TM";
|
||||
case LANG_UKRAINIAN: return "uk_UA";
|
||||
case LANG_URDU:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_URDU_PAKISTAN: return "ur_PK";
|
||||
case SUBLANG_URDU_INDIA: return "ur_IN";
|
||||
}
|
||||
return "ur";
|
||||
case LANG_UZBEK:
|
||||
switch (sub)
|
||||
{
|
||||
/* FIXME: Adjust this when Uzbek locales appear on Unix. */
|
||||
case SUBLANG_UZBEK_LATIN: return "uz_UZ@latin";
|
||||
case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
|
||||
}
|
||||
return "uz";
|
||||
case 0x33: /* VENDA */ return "ven_ZA";
|
||||
case LANG_VIETNAMESE: return "vi_VN";
|
||||
case 0x52: /* WELSH */ return "cy_GB";
|
||||
case 0x34: /* XHOSA */ return "xh_ZA";
|
||||
case 0x78: /* YI */ return "sit_CN";
|
||||
case 0x3d: /* YIDDISH */ return "yi_IL";
|
||||
case 0x6a: /* YORUBA */ return "yo_NG";
|
||||
case 0x35: /* ZULU */ return "zu_ZA";
|
||||
default: return "C";
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
/* Log file output.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/* Print an ASCII string with quotes and escape sequences where needed. */
|
||||
static void
|
||||
print_escaped (stream, str)
|
||||
FILE *stream;
|
||||
const char *str;
|
||||
{
|
||||
putc ('"', stream);
|
||||
for (; *str != '\0'; str++)
|
||||
if (*str == '\n')
|
||||
{
|
||||
fputs ("\\n\"", stream);
|
||||
if (str[1] == '\0')
|
||||
return;
|
||||
fputs ("\n\"", stream);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*str == '"' || *str == '\\')
|
||||
putc ('\\', stream);
|
||||
putc (*str, stream);
|
||||
}
|
||||
putc ('"', stream);
|
||||
}
|
||||
|
||||
/* Add to the log file an entry denoting a failed translation. */
|
||||
void
|
||||
_nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural)
|
||||
const char *logfilename;
|
||||
const char *domainname;
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
int plural;
|
||||
{
|
||||
static char *last_logfilename = NULL;
|
||||
static FILE *last_logfile = NULL;
|
||||
FILE *logfile;
|
||||
|
||||
/* Can we reuse the last opened logfile? */
|
||||
if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0)
|
||||
{
|
||||
/* Close the last used logfile. */
|
||||
if (last_logfilename != NULL)
|
||||
{
|
||||
if (last_logfile != NULL)
|
||||
{
|
||||
fclose (last_logfile);
|
||||
last_logfile = NULL;
|
||||
}
|
||||
free (last_logfilename);
|
||||
last_logfilename = NULL;
|
||||
}
|
||||
/* Open the logfile. */
|
||||
last_logfilename = (char *) malloc (strlen (logfilename) + 1);
|
||||
if (last_logfilename == NULL)
|
||||
return;
|
||||
strcpy (last_logfilename, logfilename);
|
||||
last_logfile = fopen (logfilename, "a");
|
||||
if (last_logfile == NULL)
|
||||
return;
|
||||
}
|
||||
logfile = last_logfile;
|
||||
|
||||
fprintf (logfile, "domain ");
|
||||
print_escaped (logfile, domainname);
|
||||
fprintf (logfile, "\nmsgid ");
|
||||
print_escaped (logfile, msgid1);
|
||||
if (plural)
|
||||
{
|
||||
fprintf (logfile, "\nmsgid_plural ");
|
||||
print_escaped (logfile, msgid2);
|
||||
fprintf (logfile, "\nmsgstr[0] \"\"\n");
|
||||
}
|
||||
else
|
||||
fprintf (logfile, "\nmsgstr \"\"\n");
|
||||
putc ('\n', logfile);
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
/* Implementation of ngettext(3) function.
|
||||
Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# define __need_NULL
|
||||
# include <stddef.h>
|
||||
#else
|
||||
# include <stdlib.h> /* Just for NULL. */
|
||||
#endif
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define NGETTEXT __ngettext
|
||||
# define DCNGETTEXT __dcngettext
|
||||
#else
|
||||
# define NGETTEXT libintl_ngettext
|
||||
# define DCNGETTEXT libintl_dcngettext
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
LC_MESSAGES locale. If not found, returns MSGID itself (the default
|
||||
text). */
|
||||
char *
|
||||
NGETTEXT (msgid1, msgid2, n)
|
||||
const char *msgid1;
|
||||
const char *msgid2;
|
||||
unsigned long int n;
|
||||
{
|
||||
return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__ngettext, ngettext);
|
||||
#endif
|
|
@ -0,0 +1,98 @@
|
|||
/* OS/2 compatibility functions.
|
||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#define OS2_AWARE
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
/* A version of getenv() that works from DLLs */
|
||||
extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue);
|
||||
|
||||
char *
|
||||
_nl_getenv (const char *name)
|
||||
{
|
||||
unsigned char *value;
|
||||
if (DosScanEnv (name, &value))
|
||||
return NULL;
|
||||
else
|
||||
return value;
|
||||
}
|
||||
|
||||
/* A fixed size buffer. */
|
||||
char libintl_nl_default_dirname[MAXPATHLEN+1];
|
||||
|
||||
char *_nlos2_libdir = NULL;
|
||||
char *_nlos2_localealiaspath = NULL;
|
||||
char *_nlos2_localedir = NULL;
|
||||
|
||||
static __attribute__((constructor)) void
|
||||
nlos2_initialize ()
|
||||
{
|
||||
char *root = getenv ("UNIXROOT");
|
||||
char *gnulocaledir = getenv ("GNULOCALEDIR");
|
||||
|
||||
_nlos2_libdir = gnulocaledir;
|
||||
if (!_nlos2_libdir)
|
||||
{
|
||||
if (root)
|
||||
{
|
||||
size_t sl = strlen (root);
|
||||
_nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
|
||||
memcpy (_nlos2_libdir, root, sl);
|
||||
memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
|
||||
}
|
||||
else
|
||||
_nlos2_libdir = LIBDIR;
|
||||
}
|
||||
|
||||
_nlos2_localealiaspath = gnulocaledir;
|
||||
if (!_nlos2_localealiaspath)
|
||||
{
|
||||
if (root)
|
||||
{
|
||||
size_t sl = strlen (root);
|
||||
_nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);
|
||||
memcpy (_nlos2_localealiaspath, root, sl);
|
||||
memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);
|
||||
}
|
||||
else
|
||||
_nlos2_localealiaspath = LOCALE_ALIAS_PATH;
|
||||
}
|
||||
|
||||
_nlos2_localedir = gnulocaledir;
|
||||
if (!_nlos2_localedir)
|
||||
{
|
||||
if (root)
|
||||
{
|
||||
size_t sl = strlen (root);
|
||||
_nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);
|
||||
memcpy (_nlos2_localedir, root, sl);
|
||||
memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);
|
||||
}
|
||||
else
|
||||
_nlos2_localedir = LOCALEDIR;
|
||||
}
|
||||
|
||||
if (strlen (_nlos2_localedir) <= MAXPATHLEN)
|
||||
strcpy (libintl_nl_default_dirname, _nlos2_localedir);
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
/* OS/2 compatibility defines.
|
||||
This file is intended to be included from config.h
|
||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* When included from os2compat.h we need all the original definitions */
|
||||
#ifndef OS2_AWARE
|
||||
|
||||
#undef LIBDIR
|
||||
#define LIBDIR _nlos2_libdir
|
||||
extern char *_nlos2_libdir;
|
||||
|
||||
#undef LOCALEDIR
|
||||
#define LOCALEDIR _nlos2_localedir
|
||||
extern char *_nlos2_localedir;
|
||||
|
||||
#undef LOCALE_ALIAS_PATH
|
||||
#define LOCALE_ALIAS_PATH _nlos2_localealiaspath
|
||||
extern char *_nlos2_localealiaspath;
|
||||
|
||||
#endif
|
||||
|
||||
#undef HAVE_STRCASECMP
|
||||
#define HAVE_STRCASECMP 1
|
||||
#define strcasecmp stricmp
|
||||
#define strncasecmp strnicmp
|
||||
|
||||
/* We have our own getenv() which works even if library is compiled as DLL */
|
||||
#define getenv _nl_getenv
|
||||
|
||||
/* Older versions of gettext used -1 as the value of LC_MESSAGES */
|
||||
#define LC_MESSAGES_COMPAT (-1)
|
|
@ -0,0 +1,24 @@
|
|||
/* OS dependent parts of libintl.
|
||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#if defined __EMX__
|
||||
# include "os2compat.c"
|
||||
#else
|
||||
/* Avoid AIX compiler warning. */
|
||||
typedef int dummy;
|
||||
#endif
|
|
@ -0,0 +1,156 @@
|
|||
/* Expression parsing for plural form selection.
|
||||
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "plural-exp.h"
|
||||
|
||||
#if (defined __GNUC__ && !defined __APPLE_CC__) \
|
||||
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
|
||||
|
||||
/* These structs are the constant expression for the germanic plural
|
||||
form determination. It represents the expression "n != 1". */
|
||||
static const struct expression plvar =
|
||||
{
|
||||
.nargs = 0,
|
||||
.operation = var,
|
||||
};
|
||||
static const struct expression plone =
|
||||
{
|
||||
.nargs = 0,
|
||||
.operation = num,
|
||||
.val =
|
||||
{
|
||||
.num = 1
|
||||
}
|
||||
};
|
||||
struct expression GERMANIC_PLURAL =
|
||||
{
|
||||
.nargs = 2,
|
||||
.operation = not_equal,
|
||||
.val =
|
||||
{
|
||||
.args =
|
||||
{
|
||||
[0] = (struct expression *) &plvar,
|
||||
[1] = (struct expression *) &plone
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
# define INIT_GERMANIC_PLURAL()
|
||||
|
||||
#else
|
||||
|
||||
/* For compilers without support for ISO C 99 struct/union initializers:
|
||||
Initialization at run-time. */
|
||||
|
||||
static struct expression plvar;
|
||||
static struct expression plone;
|
||||
struct expression GERMANIC_PLURAL;
|
||||
|
||||
static void
|
||||
init_germanic_plural ()
|
||||
{
|
||||
if (plone.val.num == 0)
|
||||
{
|
||||
plvar.nargs = 0;
|
||||
plvar.operation = var;
|
||||
|
||||
plone.nargs = 0;
|
||||
plone.operation = num;
|
||||
plone.val.num = 1;
|
||||
|
||||
GERMANIC_PLURAL.nargs = 2;
|
||||
GERMANIC_PLURAL.operation = not_equal;
|
||||
GERMANIC_PLURAL.val.args[0] = &plvar;
|
||||
GERMANIC_PLURAL.val.args[1] = &plone;
|
||||
}
|
||||
}
|
||||
|
||||
# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
|
||||
|
||||
#endif
|
||||
|
||||
void
|
||||
internal_function
|
||||
EXTRACT_PLURAL_EXPRESSION (nullentry, pluralp, npluralsp)
|
||||
const char *nullentry;
|
||||
struct expression **pluralp;
|
||||
unsigned long int *npluralsp;
|
||||
{
|
||||
if (nullentry != NULL)
|
||||
{
|
||||
const char *plural;
|
||||
const char *nplurals;
|
||||
|
||||
plural = strstr (nullentry, "plural=");
|
||||
nplurals = strstr (nullentry, "nplurals=");
|
||||
if (plural == NULL || nplurals == NULL)
|
||||
goto no_plural;
|
||||
else
|
||||
{
|
||||
char *endp;
|
||||
unsigned long int n;
|
||||
struct parse_args args;
|
||||
|
||||
/* First get the number. */
|
||||
nplurals += 9;
|
||||
while (*nplurals != '\0' && isspace ((unsigned char) *nplurals))
|
||||
++nplurals;
|
||||
if (!(*nplurals >= '0' && *nplurals <= '9'))
|
||||
goto no_plural;
|
||||
#if defined HAVE_STRTOUL || defined _LIBC
|
||||
n = strtoul (nplurals, &endp, 10);
|
||||
#else
|
||||
for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
|
||||
n = n * 10 + (*endp - '0');
|
||||
#endif
|
||||
if (nplurals == endp)
|
||||
goto no_plural;
|
||||
*npluralsp = n;
|
||||
|
||||
/* Due to the restrictions bison imposes onto the interface of the
|
||||
scanner function we have to put the input string and the result
|
||||
passed up from the parser into the same structure which address
|
||||
is passed down to the parser. */
|
||||
plural += 7;
|
||||
args.cp = plural;
|
||||
if (PLURAL_PARSE (&args) != 0)
|
||||
goto no_plural;
|
||||
*pluralp = args.res;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* By default we are using the Germanic form: singular form only
|
||||
for `one', the plural form otherwise. Yes, this is also what
|
||||
English is using since English is a Germanic language. */
|
||||
no_plural:
|
||||
INIT_GERMANIC_PLURAL ();
|
||||
*pluralp = &GERMANIC_PLURAL;
|
||||
*npluralsp = 2;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
/* Expression parsing and evaluation for plural form selection.
|
||||
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _PLURAL_EXP_H
|
||||
#define _PLURAL_EXP_H
|
||||
|
||||
#ifndef PARAMS
|
||||
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
|
||||
# define PARAMS(args) args
|
||||
# else
|
||||
# define PARAMS(args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef internal_function
|
||||
# define internal_function
|
||||
#endif
|
||||
|
||||
#ifndef attribute_hidden
|
||||
# define attribute_hidden
|
||||
#endif
|
||||
|
||||
|
||||
/* This is the representation of the expressions to determine the
|
||||
plural form. */
|
||||
struct expression
|
||||
{
|
||||
int nargs; /* Number of arguments. */
|
||||
enum operator
|
||||
{
|
||||
/* Without arguments: */
|
||||
var, /* The variable "n". */
|
||||
num, /* Decimal number. */
|
||||
/* Unary operators: */
|
||||
lnot, /* Logical NOT. */
|
||||
/* Binary operators: */
|
||||
mult, /* Multiplication. */
|
||||
divide, /* Division. */
|
||||
module, /* Modulo operation. */
|
||||
plus, /* Addition. */
|
||||
minus, /* Subtraction. */
|
||||
less_than, /* Comparison. */
|
||||
greater_than, /* Comparison. */
|
||||
less_or_equal, /* Comparison. */
|
||||
greater_or_equal, /* Comparison. */
|
||||
equal, /* Comparison for equality. */
|
||||
not_equal, /* Comparison for inequality. */
|
||||
land, /* Logical AND. */
|
||||
lor, /* Logical OR. */
|
||||
/* Ternary operators: */
|
||||
qmop /* Question mark operator. */
|
||||
} operation;
|
||||
union
|
||||
{
|
||||
unsigned long int num; /* Number value for `num'. */
|
||||
struct expression *args[3]; /* Up to three arguments. */
|
||||
} val;
|
||||
};
|
||||
|
||||
/* This is the data structure to pass information to the parser and get
|
||||
the result in a thread-safe way. */
|
||||
struct parse_args
|
||||
{
|
||||
const char *cp;
|
||||
struct expression *res;
|
||||
};
|
||||
|
||||
|
||||
/* Names for the libintl functions are a problem. This source code is used
|
||||
1. in the GNU C Library library,
|
||||
2. in the GNU libintl library,
|
||||
3. in the GNU gettext tools.
|
||||
The function names in each situation must be different, to allow for
|
||||
binary incompatible changes in 'struct expression'. Furthermore,
|
||||
1. in the GNU C Library library, the names have a __ prefix,
|
||||
2.+3. in the GNU libintl library and in the GNU gettext tools, the names
|
||||
must follow ANSI C and not start with __.
|
||||
So we have to distinguish the three cases. */
|
||||
#ifdef _LIBC
|
||||
# define FREE_EXPRESSION __gettext_free_exp
|
||||
# define PLURAL_PARSE __gettextparse
|
||||
# define GERMANIC_PLURAL __gettext_germanic_plural
|
||||
# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural
|
||||
#elif defined (IN_LIBINTL)
|
||||
# define FREE_EXPRESSION libintl_gettext_free_exp
|
||||
# define PLURAL_PARSE libintl_gettextparse
|
||||
# define GERMANIC_PLURAL libintl_gettext_germanic_plural
|
||||
# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural
|
||||
#else
|
||||
# define FREE_EXPRESSION free_plural_expression
|
||||
# define PLURAL_PARSE parse_plural_expression
|
||||
# define GERMANIC_PLURAL germanic_plural
|
||||
# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression
|
||||
#endif
|
||||
|
||||
extern void FREE_EXPRESSION PARAMS ((struct expression *exp))
|
||||
internal_function;
|
||||
extern int PLURAL_PARSE PARAMS ((void *arg));
|
||||
extern struct expression GERMANIC_PLURAL attribute_hidden;
|
||||
extern void EXTRACT_PLURAL_EXPRESSION PARAMS ((const char *nullentry,
|
||||
struct expression **pluralp,
|
||||
unsigned long int *npluralsp))
|
||||
internal_function;
|
||||
|
||||
#if !defined (_LIBC) && !defined (IN_LIBINTL)
|
||||
extern unsigned long int plural_eval PARAMS ((struct expression *pexp,
|
||||
unsigned long int n));
|
||||
#endif
|
||||
|
||||
#endif /* _PLURAL_EXP_H */
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,409 @@
|
|||
%{
|
||||
/* Expression parsing for plural form selection.
|
||||
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* The bison generated parser uses alloca. AIX 3 forces us to put this
|
||||
declaration at the beginning of the file. The declaration in bison's
|
||||
skeleton file comes too late. This must come before <config.h>
|
||||
because <config.h> may include arbitrary system headers. */
|
||||
#if defined _AIX && !defined __GNUC__
|
||||
#pragma alloca
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include "plural-exp.h"
|
||||
|
||||
/* The main function generated by the parser is called __gettextparse,
|
||||
but we want it to be called PLURAL_PARSE. */
|
||||
#ifndef _LIBC
|
||||
# define __gettextparse PLURAL_PARSE
|
||||
#endif
|
||||
|
||||
#define YYLEX_PARAM &((struct parse_args *) arg)->cp
|
||||
#define YYPARSE_PARAM arg
|
||||
%}
|
||||
%pure_parser
|
||||
%expect 7
|
||||
|
||||
%union {
|
||||
unsigned long int num;
|
||||
enum operator op;
|
||||
struct expression *exp;
|
||||
}
|
||||
|
||||
%{
|
||||
/* Prototypes for local functions. */
|
||||
static struct expression *new_exp PARAMS ((int nargs, enum operator op,
|
||||
struct expression * const *args));
|
||||
static inline struct expression *new_exp_0 PARAMS ((enum operator op));
|
||||
static inline struct expression *new_exp_1 PARAMS ((enum operator op,
|
||||
struct expression *right));
|
||||
static struct expression *new_exp_2 PARAMS ((enum operator op,
|
||||
struct expression *left,
|
||||
struct expression *right));
|
||||
static inline struct expression *new_exp_3 PARAMS ((enum operator op,
|
||||
struct expression *bexp,
|
||||
struct expression *tbranch,
|
||||
struct expression *fbranch));
|
||||
static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
|
||||
static void yyerror PARAMS ((const char *str));
|
||||
|
||||
/* Allocation of expressions. */
|
||||
|
||||
static struct expression *
|
||||
new_exp (nargs, op, args)
|
||||
int nargs;
|
||||
enum operator op;
|
||||
struct expression * const *args;
|
||||
{
|
||||
int i;
|
||||
struct expression *newp;
|
||||
|
||||
/* If any of the argument could not be malloc'ed, just return NULL. */
|
||||
for (i = nargs - 1; i >= 0; i--)
|
||||
if (args[i] == NULL)
|
||||
goto fail;
|
||||
|
||||
/* Allocate a new expression. */
|
||||
newp = (struct expression *) malloc (sizeof (*newp));
|
||||
if (newp != NULL)
|
||||
{
|
||||
newp->nargs = nargs;
|
||||
newp->operation = op;
|
||||
for (i = nargs - 1; i >= 0; i--)
|
||||
newp->val.args[i] = args[i];
|
||||
return newp;
|
||||
}
|
||||
|
||||
fail:
|
||||
for (i = nargs - 1; i >= 0; i--)
|
||||
FREE_EXPRESSION (args[i]);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline struct expression *
|
||||
new_exp_0 (op)
|
||||
enum operator op;
|
||||
{
|
||||
return new_exp (0, op, NULL);
|
||||
}
|
||||
|
||||
static inline struct expression *
|
||||
new_exp_1 (op, right)
|
||||
enum operator op;
|
||||
struct expression *right;
|
||||
{
|
||||
struct expression *args[1];
|
||||
|
||||
args[0] = right;
|
||||
return new_exp (1, op, args);
|
||||
}
|
||||
|
||||
static struct expression *
|
||||
new_exp_2 (op, left, right)
|
||||
enum operator op;
|
||||
struct expression *left;
|
||||
struct expression *right;
|
||||
{
|
||||
struct expression *args[2];
|
||||
|
||||
args[0] = left;
|
||||
args[1] = right;
|
||||
return new_exp (2, op, args);
|
||||
}
|
||||
|
||||
static inline struct expression *
|
||||
new_exp_3 (op, bexp, tbranch, fbranch)
|
||||
enum operator op;
|
||||
struct expression *bexp;
|
||||
struct expression *tbranch;
|
||||
struct expression *fbranch;
|
||||
{
|
||||
struct expression *args[3];
|
||||
|
||||
args[0] = bexp;
|
||||
args[1] = tbranch;
|
||||
args[2] = fbranch;
|
||||
return new_exp (3, op, args);
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
/* This declares that all operators have the same associativity and the
|
||||
precedence order as in C. See [Harbison, Steele: C, A Reference Manual].
|
||||
There is no unary minus and no bitwise operators.
|
||||
Operators with the same syntactic behaviour have been merged into a single
|
||||
token, to save space in the array generated by bison. */
|
||||
%right '?' /* ? */
|
||||
%left '|' /* || */
|
||||
%left '&' /* && */
|
||||
%left EQUOP2 /* == != */
|
||||
%left CMPOP2 /* < > <= >= */
|
||||
%left ADDOP2 /* + - */
|
||||
%left MULOP2 /* * / % */
|
||||
%right '!' /* ! */
|
||||
|
||||
%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
|
||||
%token <num> NUMBER
|
||||
%type <exp> exp
|
||||
|
||||
%%
|
||||
|
||||
start: exp
|
||||
{
|
||||
if ($1 == NULL)
|
||||
YYABORT;
|
||||
((struct parse_args *) arg)->res = $1;
|
||||
}
|
||||
;
|
||||
|
||||
exp: exp '?' exp ':' exp
|
||||
{
|
||||
$$ = new_exp_3 (qmop, $1, $3, $5);
|
||||
}
|
||||
| exp '|' exp
|
||||
{
|
||||
$$ = new_exp_2 (lor, $1, $3);
|
||||
}
|
||||
| exp '&' exp
|
||||
{
|
||||
$$ = new_exp_2 (land, $1, $3);
|
||||
}
|
||||
| exp EQUOP2 exp
|
||||
{
|
||||
$$ = new_exp_2 ($2, $1, $3);
|
||||
}
|
||||
| exp CMPOP2 exp
|
||||
{
|
||||
$$ = new_exp_2 ($2, $1, $3);
|
||||
}
|
||||
| exp ADDOP2 exp
|
||||
{
|
||||
$$ = new_exp_2 ($2, $1, $3);
|
||||
}
|
||||
| exp MULOP2 exp
|
||||
{
|
||||
$$ = new_exp_2 ($2, $1, $3);
|
||||
}
|
||||
| '!' exp
|
||||
{
|
||||
$$ = new_exp_1 (lnot, $2);
|
||||
}
|
||||
| 'n'
|
||||
{
|
||||
$$ = new_exp_0 (var);
|
||||
}
|
||||
| NUMBER
|
||||
{
|
||||
if (($$ = new_exp_0 (num)) != NULL)
|
||||
$$->val.num = $1;
|
||||
}
|
||||
| '(' exp ')'
|
||||
{
|
||||
$$ = $2;
|
||||
}
|
||||
;
|
||||
|
||||
%%
|
||||
|
||||
void
|
||||
internal_function
|
||||
FREE_EXPRESSION (exp)
|
||||
struct expression *exp;
|
||||
{
|
||||
if (exp == NULL)
|
||||
return;
|
||||
|
||||
/* Handle the recursive case. */
|
||||
switch (exp->nargs)
|
||||
{
|
||||
case 3:
|
||||
FREE_EXPRESSION (exp->val.args[2]);
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
FREE_EXPRESSION (exp->val.args[1]);
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
FREE_EXPRESSION (exp->val.args[0]);
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
free (exp);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
yylex (lval, pexp)
|
||||
YYSTYPE *lval;
|
||||
const char **pexp;
|
||||
{
|
||||
const char *exp = *pexp;
|
||||
int result;
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (exp[0] == '\0')
|
||||
{
|
||||
*pexp = exp;
|
||||
return YYEOF;
|
||||
}
|
||||
|
||||
if (exp[0] != ' ' && exp[0] != '\t')
|
||||
break;
|
||||
|
||||
++exp;
|
||||
}
|
||||
|
||||
result = *exp++;
|
||||
switch (result)
|
||||
{
|
||||
case '0': case '1': case '2': case '3': case '4':
|
||||
case '5': case '6': case '7': case '8': case '9':
|
||||
{
|
||||
unsigned long int n = result - '0';
|
||||
while (exp[0] >= '0' && exp[0] <= '9')
|
||||
{
|
||||
n *= 10;
|
||||
n += exp[0] - '0';
|
||||
++exp;
|
||||
}
|
||||
lval->num = n;
|
||||
result = NUMBER;
|
||||
}
|
||||
break;
|
||||
|
||||
case '=':
|
||||
if (exp[0] == '=')
|
||||
{
|
||||
++exp;
|
||||
lval->op = equal;
|
||||
result = EQUOP2;
|
||||
}
|
||||
else
|
||||
result = YYERRCODE;
|
||||
break;
|
||||
|
||||
case '!':
|
||||
if (exp[0] == '=')
|
||||
{
|
||||
++exp;
|
||||
lval->op = not_equal;
|
||||
result = EQUOP2;
|
||||
}
|
||||
break;
|
||||
|
||||
case '&':
|
||||
case '|':
|
||||
if (exp[0] == result)
|
||||
++exp;
|
||||
else
|
||||
result = YYERRCODE;
|
||||
break;
|
||||
|
||||
case '<':
|
||||
if (exp[0] == '=')
|
||||
{
|
||||
++exp;
|
||||
lval->op = less_or_equal;
|
||||
}
|
||||
else
|
||||
lval->op = less_than;
|
||||
result = CMPOP2;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
if (exp[0] == '=')
|
||||
{
|
||||
++exp;
|
||||
lval->op = greater_or_equal;
|
||||
}
|
||||
else
|
||||
lval->op = greater_than;
|
||||
result = CMPOP2;
|
||||
break;
|
||||
|
||||
case '*':
|
||||
lval->op = mult;
|
||||
result = MULOP2;
|
||||
break;
|
||||
|
||||
case '/':
|
||||
lval->op = divide;
|
||||
result = MULOP2;
|
||||
break;
|
||||
|
||||
case '%':
|
||||
lval->op = module;
|
||||
result = MULOP2;
|
||||
break;
|
||||
|
||||
case '+':
|
||||
lval->op = plus;
|
||||
result = ADDOP2;
|
||||
break;
|
||||
|
||||
case '-':
|
||||
lval->op = minus;
|
||||
result = ADDOP2;
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
case '?':
|
||||
case ':':
|
||||
case '(':
|
||||
case ')':
|
||||
/* Nothing, just return the character. */
|
||||
break;
|
||||
|
||||
case ';':
|
||||
case '\n':
|
||||
case '\0':
|
||||
/* Be safe and let the user call this function again. */
|
||||
--exp;
|
||||
result = YYEOF;
|
||||
break;
|
||||
|
||||
default:
|
||||
result = YYERRCODE;
|
||||
#if YYDEBUG != 0
|
||||
--exp;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
*pexp = exp;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
yyerror (str)
|
||||
const char *str;
|
||||
{
|
||||
/* Do nothing. We don't print error messages here. */
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# Add this package to a list of references stored in a text file.
|
||||
#
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
#
|
||||
/^# Packages using this file: / {
|
||||
s/# Packages using this file://
|
||||
ta
|
||||
:a
|
||||
s/ @PACKAGE@ / @PACKAGE@ /
|
||||
tb
|
||||
s/ $/ @PACKAGE@ /
|
||||
:b
|
||||
s/^/# Packages using this file:/
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
# Remove this package from a list of references stored in a text file.
|
||||
#
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
#
|
||||
/^# Packages using this file: / {
|
||||
s/# Packages using this file://
|
||||
s/ @PACKAGE@ / /
|
||||
s/^/# Packages using this file:/
|
||||
}
|
|
@ -0,0 +1,439 @@
|
|||
/* Provide relocatable packages.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2003.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
|
||||
/* Tell glibc's <stdio.h> to provide a prototype for getline().
|
||||
This must come before <config.h> because <config.h> may include
|
||||
<features.h>, and once <features.h> has been included, it's too late. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
/* Specification. */
|
||||
#include "relocatable.h"
|
||||
|
||||
#if ENABLE_RELOCATABLE
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef NO_XMALLOC
|
||||
# define xmalloc malloc
|
||||
#else
|
||||
# include "xmalloc.h"
|
||||
#endif
|
||||
|
||||
#if DEPENDS_ON_LIBCHARSET
|
||||
# include <libcharset.h>
|
||||
#endif
|
||||
#if DEPENDS_ON_LIBICONV && HAVE_ICONV
|
||||
# include <iconv.h>
|
||||
#endif
|
||||
#if DEPENDS_ON_LIBINTL && ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
#endif
|
||||
|
||||
/* Faked cheap 'bool'. */
|
||||
#undef bool
|
||||
#undef false
|
||||
#undef true
|
||||
#define bool int
|
||||
#define false 0
|
||||
#define true 1
|
||||
|
||||
/* Pathname support.
|
||||
ISSLASH(C) tests whether C is a directory separator character.
|
||||
IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
|
||||
*/
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
# define HAS_DEVICE(P) \
|
||||
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
|
||||
&& (P)[1] == ':')
|
||||
# define IS_PATH_WITH_DIR(P) \
|
||||
(strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
|
||||
# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
|
||||
#else
|
||||
/* Unix */
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
|
||||
# define FILESYSTEM_PREFIX_LEN(P) 0
|
||||
#endif
|
||||
|
||||
/* Original installation prefix. */
|
||||
static char *orig_prefix;
|
||||
static size_t orig_prefix_len;
|
||||
/* Current installation prefix. */
|
||||
static char *curr_prefix;
|
||||
static size_t curr_prefix_len;
|
||||
/* These prefixes do not end in a slash. Anything that will be concatenated
|
||||
to them must start with a slash. */
|
||||
|
||||
/* Sets the original and the current installation prefix of this module.
|
||||
Relocation simply replaces a pathname starting with the original prefix
|
||||
by the corresponding pathname with the current prefix instead. Both
|
||||
prefixes should be directory names without trailing slash (i.e. use ""
|
||||
instead of "/"). */
|
||||
static void
|
||||
set_this_relocation_prefix (const char *orig_prefix_arg,
|
||||
const char *curr_prefix_arg)
|
||||
{
|
||||
if (orig_prefix_arg != NULL && curr_prefix_arg != NULL
|
||||
/* Optimization: if orig_prefix and curr_prefix are equal, the
|
||||
relocation is a nop. */
|
||||
&& strcmp (orig_prefix_arg, curr_prefix_arg) != 0)
|
||||
{
|
||||
/* Duplicate the argument strings. */
|
||||
char *memory;
|
||||
|
||||
orig_prefix_len = strlen (orig_prefix_arg);
|
||||
curr_prefix_len = strlen (curr_prefix_arg);
|
||||
memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1);
|
||||
#ifdef NO_XMALLOC
|
||||
if (memory != NULL)
|
||||
#endif
|
||||
{
|
||||
memcpy (memory, orig_prefix_arg, orig_prefix_len + 1);
|
||||
orig_prefix = memory;
|
||||
memory += orig_prefix_len + 1;
|
||||
memcpy (memory, curr_prefix_arg, curr_prefix_len + 1);
|
||||
curr_prefix = memory;
|
||||
return;
|
||||
}
|
||||
}
|
||||
orig_prefix = NULL;
|
||||
curr_prefix = NULL;
|
||||
/* Don't worry about wasted memory here - this function is usually only
|
||||
called once. */
|
||||
}
|
||||
|
||||
/* Sets the original and the current installation prefix of the package.
|
||||
Relocation simply replaces a pathname starting with the original prefix
|
||||
by the corresponding pathname with the current prefix instead. Both
|
||||
prefixes should be directory names without trailing slash (i.e. use ""
|
||||
instead of "/"). */
|
||||
void
|
||||
set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg)
|
||||
{
|
||||
set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
|
||||
|
||||
/* Now notify all dependent libraries. */
|
||||
#if DEPENDS_ON_LIBCHARSET
|
||||
libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
|
||||
#endif
|
||||
#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109
|
||||
libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
|
||||
#endif
|
||||
#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix
|
||||
libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Convenience function:
|
||||
Computes the current installation prefix, based on the original
|
||||
installation prefix, the original installation directory of a particular
|
||||
file, and the current pathname of this file. Returns NULL upon failure. */
|
||||
#ifdef IN_LIBRARY
|
||||
#define compute_curr_prefix local_compute_curr_prefix
|
||||
static
|
||||
#endif
|
||||
const char *
|
||||
compute_curr_prefix (const char *orig_installprefix,
|
||||
const char *orig_installdir,
|
||||
const char *curr_pathname)
|
||||
{
|
||||
const char *curr_installdir;
|
||||
const char *rel_installdir;
|
||||
|
||||
if (curr_pathname == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Determine the relative installation directory, relative to the prefix.
|
||||
This is simply the difference between orig_installprefix and
|
||||
orig_installdir. */
|
||||
if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix))
|
||||
!= 0)
|
||||
/* Shouldn't happen - nothing should be installed outside $(prefix). */
|
||||
return NULL;
|
||||
rel_installdir = orig_installdir + strlen (orig_installprefix);
|
||||
|
||||
/* Determine the current installation directory. */
|
||||
{
|
||||
const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);
|
||||
const char *p = curr_pathname + strlen (curr_pathname);
|
||||
char *q;
|
||||
|
||||
while (p > p_base)
|
||||
{
|
||||
p--;
|
||||
if (ISSLASH (*p))
|
||||
break;
|
||||
}
|
||||
|
||||
q = (char *) xmalloc (p - curr_pathname + 1);
|
||||
#ifdef NO_XMALLOC
|
||||
if (q == NULL)
|
||||
return NULL;
|
||||
#endif
|
||||
memcpy (q, curr_pathname, p - curr_pathname);
|
||||
q[p - curr_pathname] = '\0';
|
||||
curr_installdir = q;
|
||||
}
|
||||
|
||||
/* Compute the current installation prefix by removing the trailing
|
||||
rel_installdir from it. */
|
||||
{
|
||||
const char *rp = rel_installdir + strlen (rel_installdir);
|
||||
const char *cp = curr_installdir + strlen (curr_installdir);
|
||||
const char *cp_base =
|
||||
curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
|
||||
|
||||
while (rp > rel_installdir && cp > cp_base)
|
||||
{
|
||||
bool same = false;
|
||||
const char *rpi = rp;
|
||||
const char *cpi = cp;
|
||||
|
||||
while (rpi > rel_installdir && cpi > cp_base)
|
||||
{
|
||||
rpi--;
|
||||
cpi--;
|
||||
if (ISSLASH (*rpi) || ISSLASH (*cpi))
|
||||
{
|
||||
if (ISSLASH (*rpi) && ISSLASH (*cpi))
|
||||
same = true;
|
||||
break;
|
||||
}
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS - case insignificant filesystem */
|
||||
if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
|
||||
!= (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
|
||||
break;
|
||||
#else
|
||||
if (*rpi != *cpi)
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
if (!same)
|
||||
break;
|
||||
/* The last pathname component was the same. opi and cpi now point
|
||||
to the slash before it. */
|
||||
rp = rpi;
|
||||
cp = cpi;
|
||||
}
|
||||
|
||||
if (rp > rel_installdir)
|
||||
/* Unexpected: The curr_installdir does not end with rel_installdir. */
|
||||
return NULL;
|
||||
|
||||
{
|
||||
size_t curr_prefix_len = cp - curr_installdir;
|
||||
char *curr_prefix;
|
||||
|
||||
curr_prefix = (char *) xmalloc (curr_prefix_len + 1);
|
||||
#ifdef NO_XMALLOC
|
||||
if (curr_prefix == NULL)
|
||||
return NULL;
|
||||
#endif
|
||||
memcpy (curr_prefix, curr_installdir, curr_prefix_len);
|
||||
curr_prefix[curr_prefix_len] = '\0';
|
||||
|
||||
return curr_prefix;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if defined PIC && defined INSTALLDIR
|
||||
|
||||
/* Full pathname of shared library, or NULL. */
|
||||
static char *shared_library_fullname;
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
|
||||
/* Determine the full pathname of the shared library when it is loaded. */
|
||||
|
||||
BOOL WINAPI
|
||||
DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
|
||||
{
|
||||
(void) reserved;
|
||||
|
||||
if (event == DLL_PROCESS_ATTACH)
|
||||
{
|
||||
/* The DLL is being loaded into an application's address range. */
|
||||
static char location[MAX_PATH];
|
||||
|
||||
if (!GetModuleFileName (module_handle, location, sizeof (location)))
|
||||
/* Shouldn't happen. */
|
||||
return FALSE;
|
||||
|
||||
if (!IS_PATH_WITH_DIR (location))
|
||||
/* Shouldn't happen. */
|
||||
return FALSE;
|
||||
|
||||
shared_library_fullname = strdup (location);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#else /* Unix */
|
||||
|
||||
static void
|
||||
find_shared_library_fullname ()
|
||||
{
|
||||
#ifdef __linux__
|
||||
FILE *fp;
|
||||
|
||||
/* Open the current process' maps file. It describes one VMA per line. */
|
||||
fp = fopen ("/proc/self/maps", "r");
|
||||
if (fp)
|
||||
{
|
||||
unsigned long address = (unsigned long) &find_shared_library_fullname;
|
||||
for (;;)
|
||||
{
|
||||
unsigned long start, end;
|
||||
int c;
|
||||
|
||||
if (fscanf (fp, "%lx-%lx", &start, &end) != 2)
|
||||
break;
|
||||
if (address >= start && address <= end - 1)
|
||||
{
|
||||
/* Found it. Now see if this line contains a filename. */
|
||||
while (c = getc (fp), c != EOF && c != '\n' && c != '/')
|
||||
continue;
|
||||
if (c == '/')
|
||||
{
|
||||
size_t size;
|
||||
int len;
|
||||
|
||||
ungetc (c, fp);
|
||||
shared_library_fullname = NULL; size = 0;
|
||||
len = getline (&shared_library_fullname, &size, fp);
|
||||
if (len >= 0)
|
||||
{
|
||||
/* Success: filled shared_library_fullname. */
|
||||
if (len > 0 && shared_library_fullname[len - 1] == '\n')
|
||||
shared_library_fullname[len - 1] = '\0';
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
while (c = getc (fp), c != EOF && c != '\n')
|
||||
continue;
|
||||
}
|
||||
fclose (fp);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* WIN32 / Unix */
|
||||
|
||||
/* Return the full pathname of the current shared library.
|
||||
Return NULL if unknown.
|
||||
Guaranteed to work only on Linux and Woe32. */
|
||||
static char *
|
||||
get_shared_library_fullname ()
|
||||
{
|
||||
#if !(defined _WIN32 || defined __WIN32__)
|
||||
static bool tried_find_shared_library_fullname;
|
||||
if (!tried_find_shared_library_fullname)
|
||||
{
|
||||
find_shared_library_fullname ();
|
||||
tried_find_shared_library_fullname = true;
|
||||
}
|
||||
#endif
|
||||
return shared_library_fullname;
|
||||
}
|
||||
|
||||
#endif /* PIC */
|
||||
|
||||
/* Returns the pathname, relocated according to the current installation
|
||||
directory. */
|
||||
const char *
|
||||
relocate (const char *pathname)
|
||||
{
|
||||
#if defined PIC && defined INSTALLDIR
|
||||
static int initialized;
|
||||
|
||||
/* Initialization code for a shared library. */
|
||||
if (!initialized)
|
||||
{
|
||||
/* At this point, orig_prefix and curr_prefix likely have already been
|
||||
set through the main program's set_program_name_and_installdir
|
||||
function. This is sufficient in the case that the library has
|
||||
initially been installed in the same orig_prefix. But we can do
|
||||
better, to also cover the cases that 1. it has been installed
|
||||
in a different prefix before being moved to orig_prefix and (later)
|
||||
to curr_prefix, 2. unlike the program, it has not moved away from
|
||||
orig_prefix. */
|
||||
const char *orig_installprefix = INSTALLPREFIX;
|
||||
const char *orig_installdir = INSTALLDIR;
|
||||
const char *curr_prefix_better;
|
||||
|
||||
curr_prefix_better =
|
||||
compute_curr_prefix (orig_installprefix, orig_installdir,
|
||||
get_shared_library_fullname ());
|
||||
if (curr_prefix_better == NULL)
|
||||
curr_prefix_better = curr_prefix;
|
||||
|
||||
set_relocation_prefix (orig_installprefix, curr_prefix_better);
|
||||
|
||||
initialized = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Note: It is not necessary to perform case insensitive comparison here,
|
||||
even for DOS-like filesystems, because the pathname argument was
|
||||
typically created from the same Makefile variable as orig_prefix came
|
||||
from. */
|
||||
if (orig_prefix != NULL && curr_prefix != NULL
|
||||
&& strncmp (pathname, orig_prefix, orig_prefix_len) == 0)
|
||||
{
|
||||
if (pathname[orig_prefix_len] == '\0')
|
||||
/* pathname equals orig_prefix. */
|
||||
return curr_prefix;
|
||||
if (ISSLASH (pathname[orig_prefix_len]))
|
||||
{
|
||||
/* pathname starts with orig_prefix. */
|
||||
const char *pathname_tail = &pathname[orig_prefix_len];
|
||||
char *result =
|
||||
(char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1);
|
||||
|
||||
#ifdef NO_XMALLOC
|
||||
if (result != NULL)
|
||||
#endif
|
||||
{
|
||||
memcpy (result, curr_prefix, curr_prefix_len);
|
||||
strcpy (result + curr_prefix_len, pathname_tail);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Nothing to relocate. */
|
||||
return pathname;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,67 @@
|
|||
/* Provide relocatable packages.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2003.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _RELOCATABLE_H
|
||||
#define _RELOCATABLE_H
|
||||
|
||||
/* This can be enabled through the configure --enable-relocatable option. */
|
||||
#if ENABLE_RELOCATABLE
|
||||
|
||||
/* When building a DLL, we must export some functions. Note that because
|
||||
this is a private .h file, we don't need to use __declspec(dllimport)
|
||||
in any case. */
|
||||
#if defined _MSC_VER && BUILDING_DLL
|
||||
# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
|
||||
#else
|
||||
# define RELOCATABLE_DLL_EXPORTED
|
||||
#endif
|
||||
|
||||
/* Sets the original and the current installation prefix of the package.
|
||||
Relocation simply replaces a pathname starting with the original prefix
|
||||
by the corresponding pathname with the current prefix instead. Both
|
||||
prefixes should be directory names without trailing slash (i.e. use ""
|
||||
instead of "/"). */
|
||||
extern RELOCATABLE_DLL_EXPORTED void
|
||||
set_relocation_prefix (const char *orig_prefix,
|
||||
const char *curr_prefix);
|
||||
|
||||
/* Returns the pathname, relocated according to the current installation
|
||||
directory. */
|
||||
extern const char * relocate (const char *pathname);
|
||||
|
||||
/* Memory management: relocate() leaks memory, because it has to construct
|
||||
a fresh pathname. If this is a problem because your program calls
|
||||
relocate() frequently, think about caching the result. */
|
||||
|
||||
/* Convenience function:
|
||||
Computes the current installation prefix, based on the original
|
||||
installation prefix, the original installation directory of a particular
|
||||
file, and the current pathname of this file. Returns NULL upon failure. */
|
||||
extern const char * compute_curr_prefix (const char *orig_installprefix,
|
||||
const char *orig_installdir,
|
||||
const char *curr_pathname);
|
||||
|
||||
#else
|
||||
|
||||
/* By default, we use the hardwired pathnames. */
|
||||
#define relocate(pathname) (pathname)
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _RELOCATABLE_H */
|
|
@ -0,0 +1,142 @@
|
|||
/* Implementation of the textdomain(3) function.
|
||||
Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
#include "gettextP.h"
|
||||
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_rwlock_define(CLASS, NAME)
|
||||
# define __libc_rwlock_wrlock(NAME)
|
||||
# define __libc_rwlock_unlock(NAME)
|
||||
#endif
|
||||
|
||||
/* The internal variables in the standalone libintl.a must have different
|
||||
names than the internal variables in GNU libc, otherwise programs
|
||||
using libintl.a cannot be linked statically. */
|
||||
#if !defined _LIBC
|
||||
# define _nl_default_default_domain libintl_nl_default_default_domain
|
||||
# define _nl_current_default_domain libintl_nl_current_default_domain
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Name of the default text domain. */
|
||||
extern const char _nl_default_default_domain[] attribute_hidden;
|
||||
|
||||
/* Default text domain in which entries for gettext(3) are to be found. */
|
||||
extern const char *_nl_current_default_domain attribute_hidden;
|
||||
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
code is also used in GNU C Library where the names have a __
|
||||
prefix. So we have to make a difference here. */
|
||||
#ifdef _LIBC
|
||||
# define TEXTDOMAIN __textdomain
|
||||
# ifndef strdup
|
||||
# define strdup(str) __strdup (str)
|
||||
# endif
|
||||
#else
|
||||
# define TEXTDOMAIN libintl_textdomain
|
||||
#endif
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
If DOMAINNAME is "", reset to the default of "messages". */
|
||||
char *
|
||||
TEXTDOMAIN (domainname)
|
||||
const char *domainname;
|
||||
{
|
||||
char *new_domain;
|
||||
char *old_domain;
|
||||
|
||||
/* A NULL pointer requests the current setting. */
|
||||
if (domainname == NULL)
|
||||
return (char *) _nl_current_default_domain;
|
||||
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
old_domain = (char *) _nl_current_default_domain;
|
||||
|
||||
/* If domain name is the null string set to default domain "messages". */
|
||||
if (domainname[0] == '\0'
|
||||
|| strcmp (domainname, _nl_default_default_domain) == 0)
|
||||
{
|
||||
_nl_current_default_domain = _nl_default_default_domain;
|
||||
new_domain = (char *) _nl_current_default_domain;
|
||||
}
|
||||
else if (strcmp (domainname, old_domain) == 0)
|
||||
/* This can happen and people will use it to signal that some
|
||||
environment variable changed. */
|
||||
new_domain = old_domain;
|
||||
else
|
||||
{
|
||||
/* If the following malloc fails `_nl_current_default_domain'
|
||||
will be NULL. This value will be returned and so signals we
|
||||
are out of core. */
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
new_domain = strdup (domainname);
|
||||
#else
|
||||
size_t len = strlen (domainname) + 1;
|
||||
new_domain = (char *) malloc (len);
|
||||
if (new_domain != NULL)
|
||||
memcpy (new_domain, domainname, len);
|
||||
#endif
|
||||
|
||||
if (new_domain != NULL)
|
||||
_nl_current_default_domain = new_domain;
|
||||
}
|
||||
|
||||
/* We use this possibility to signal a change of the loaded catalogs
|
||||
since this is most likely the case and there is no other easy we
|
||||
to do it. Do it only when the call was successful. */
|
||||
if (new_domain != NULL)
|
||||
{
|
||||
++_nl_msg_cat_cntr;
|
||||
|
||||
if (old_domain != new_domain && old_domain != _nl_default_default_domain)
|
||||
free (old_domain);
|
||||
}
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
|
||||
return new_domain;
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Alias for function name in GNU C Library. */
|
||||
weak_alias (__textdomain, textdomain);
|
||||
#endif
|
|
@ -0,0 +1,336 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case "$1" in
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing 0.4 - GNU automake"
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aclocal*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case "$f" in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f y.tab.h ]; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if [ ! -f y.tab.c ]; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f lex.yy.c ]; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||
fi
|
||||
if [ -f "$file" ]; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
|
||||
# We have makeinfo, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
||||
fi
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case "$firstarg" in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case "$firstarg" in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequirements for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,111 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
errstatus=0
|
||||
dirmode=""
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage" 1>&2
|
||||
exit 0
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p -- . 2>/dev/null; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=""
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# End:
|
||||
# mkinstalldirs ends here
|
|
@ -0,0 +1,3 @@
|
|||
# Set of available languages.
|
||||
en@quot en@boldquot
|
||||
de fr nl ro sv tr vi
|
|
@ -0,0 +1,353 @@
|
|||
# Makefile for PO directory in any package using GNU gettext.
|
||||
# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
gettextsrcdir = $(datadir)/gettext/po
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_UPDATE = @MSGMERGE@ --update
|
||||
MSGINIT = msginit
|
||||
MSGCONV = msgconv
|
||||
MSGFILTER = msgfilter
|
||||
|
||||
POFILES = @POFILES@
|
||||
GMOFILES = @GMOFILES@
|
||||
UPDATEPOFILES = @UPDATEPOFILES@
|
||||
DUMMYPOFILES = @DUMMYPOFILES@
|
||||
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
|
||||
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
|
||||
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
|
||||
$(POFILES) $(GMOFILES) \
|
||||
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
|
||||
|
||||
POTFILES = \
|
||||
|
||||
CATALOGS = @CATALOGS@
|
||||
|
||||
# Makevars gets inserted here. (Don't remove this line!)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
|
||||
|
||||
.po.mo:
|
||||
@echo "$(MSGFMT) -c -o $@ $<"; \
|
||||
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
|
||||
|
||||
.po.gmo:
|
||||
@lang=`echo $* | sed -e 's,.*/,,'`; \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
|
||||
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
|
||||
|
||||
.sin.sed:
|
||||
sed -e '/^#/d' $< > t-$@
|
||||
mv t-$@ $@
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: stamp-po
|
||||
all-no:
|
||||
|
||||
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
|
||||
# been loosely updated. Its purpose is that when a developer or translator
|
||||
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
|
||||
# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
|
||||
# invocations of "make" will do nothing. This timestamp would not be necessary
|
||||
# if updating the $(CATALOGS) would always touch them; however, the rule for
|
||||
# $(POFILES) has been designed to not touch files that don't need to be
|
||||
# changed.
|
||||
stamp-po: $(srcdir)/$(DOMAIN).pot
|
||||
test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
|
||||
@echo "touch stamp-po"
|
||||
@echo timestamp > stamp-poT
|
||||
@mv stamp-poT stamp-po
|
||||
|
||||
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
|
||||
# otherwise packages like GCC can not be built if only parts of the source
|
||||
# have been downloaded.
|
||||
|
||||
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
|
||||
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
|
||||
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
|
||||
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
|
||||
--files-from=$(srcdir)/POTFILES.in \
|
||||
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||
--msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
|
||||
test ! -f $(DOMAIN).po || { \
|
||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
||||
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
||||
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
|
||||
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
|
||||
else \
|
||||
rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
|
||||
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||
fi; \
|
||||
else \
|
||||
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||
fi; \
|
||||
}
|
||||
|
||||
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
|
||||
# every "make" invocation, only create it when it is missing.
|
||||
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
|
||||
$(srcdir)/$(DOMAIN).pot:
|
||||
$(MAKE) $(DOMAIN).pot-update
|
||||
|
||||
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
|
||||
# Note that a PO file is not touched if it doesn't need to be changed.
|
||||
$(POFILES): $(srcdir)/$(DOMAIN).pot
|
||||
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
|
||||
cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
|
||||
|
||||
|
||||
install: install-exec install-data
|
||||
install-exec:
|
||||
install-data: install-data-@USE_NLS@
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
for file in $(DISTFILES.common) Makevars.template; do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$file \
|
||||
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
for file in Makevars; do \
|
||||
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
|
||||
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
|
||||
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
|
||||
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
if test -n "$$lc"; then \
|
||||
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||
for file in *; do \
|
||||
if test -f $$file; then \
|
||||
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||
fi; \
|
||||
done); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
else \
|
||||
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
fi; \
|
||||
fi; \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||
ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||
cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
install-strip: install
|
||||
|
||||
installdirs: installdirs-exec installdirs-data
|
||||
installdirs-exec:
|
||||
installdirs-data: installdirs-data-@USE_NLS@
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
installdirs-data-no:
|
||||
installdirs-data-yes:
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
if test -n "$$lc"; then \
|
||||
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||
for file in *; do \
|
||||
if test -f $$file; then \
|
||||
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||
fi; \
|
||||
done); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
else \
|
||||
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
installcheck:
|
||||
|
||||
uninstall: uninstall-exec uninstall-data
|
||||
uninstall-exec:
|
||||
uninstall-data: uninstall-data-@USE_NLS@
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
for file in $(DISTFILES.common) Makevars.template; do \
|
||||
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
done; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
uninstall-data-no:
|
||||
uninstall-data-yes:
|
||||
catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
done; \
|
||||
done
|
||||
|
||||
check: all
|
||||
|
||||
info dvi ps pdf html tags TAGS ctags CTAGS ID:
|
||||
|
||||
mostlyclean:
|
||||
rm -f remove-potcdate.sed
|
||||
rm -f stamp-poT
|
||||
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
|
||||
rm -fr *.o
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES *.mo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f stamp-po $(GMOFILES)
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir:
|
||||
$(MAKE) update-po
|
||||
@$(MAKE) dist2
|
||||
# This is a separate target because 'update-po' must be executed before.
|
||||
dist2: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
dists="$$dists Makevars.template"; \
|
||||
fi; \
|
||||
if test -f $(srcdir)/ChangeLog; then \
|
||||
dists="$$dists ChangeLog"; \
|
||||
fi; \
|
||||
for i in 0 1 2 3 4 5 6 7 8 9; do \
|
||||
if test -f $(srcdir)/ChangeLog.$$i; then \
|
||||
dists="$$dists ChangeLog.$$i"; \
|
||||
fi; \
|
||||
done; \
|
||||
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
|
||||
for file in $$dists; do \
|
||||
if test -f $$file; then \
|
||||
cp -p $$file $(distdir); \
|
||||
else \
|
||||
cp -p $(srcdir)/$$file $(distdir); \
|
||||
fi; \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(DOMAIN).pot-update
|
||||
test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
|
||||
$(MAKE) update-gmo
|
||||
|
||||
# General rule for updating PO files.
|
||||
|
||||
.nop.po-update:
|
||||
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
|
||||
tmpdir=`pwd`; \
|
||||
echo "$$lang:"; \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
|
||||
cd $(srcdir); \
|
||||
if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
|
||||
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed!" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi
|
||||
|
||||
$(DUMMYPOFILES):
|
||||
|
||||
update-gmo: Makefile $(GMOFILES)
|
||||
@:
|
||||
|
||||
Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
force:
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,41 @@
|
|||
# Makefile variables for PO directory in any package using GNU gettext.
|
||||
|
||||
# Usually the message domain is the same as the package name.
|
||||
DOMAIN = $(PACKAGE)
|
||||
|
||||
# These two variables depend on the location of this directory.
|
||||
subdir = po
|
||||
top_builddir = ..
|
||||
|
||||
# These options get passed to xgettext.
|
||||
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=ISO-8859-15
|
||||
|
||||
# This is the copyright holder that gets inserted into the header of the
|
||||
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||
# package. (Note that the msgstr strings, extracted from the package's
|
||||
# sources, belong to the copyright holder of the package.) Translators are
|
||||
# expected to transfer the copyright for their translations to this person
|
||||
# or entity, or to disclaim their copyright. The empty string stands for
|
||||
# the public domain; in this case the translators are expected to disclaim
|
||||
# their copyright.
|
||||
COPYRIGHT_HOLDER = Roland Stigge
|
||||
|
||||
# This is the email address or URL to which the translators shall report
|
||||
# bugs in the untranslated strings:
|
||||
# - Strings which are not entire sentences, see the maintainer guidelines
|
||||
# in the GNU gettext documentation, section 'Preparing Strings'.
|
||||
# - Strings which use unclear terms or require additional context to be
|
||||
# understood.
|
||||
# - Strings which make invalid assumptions about notation of date, time or
|
||||
# money.
|
||||
# - Pluralisation problems.
|
||||
# - Incorrect English spelling.
|
||||
# - Incorrect formatting.
|
||||
# It can be your email address, or a mailing list address where translators
|
||||
# can write to without being subscribed, or the URL of a web page through
|
||||
# which the translators can contact you.
|
||||
MSGID_BUGS_ADDRESS = stigge@antcom.de
|
||||
|
||||
# This is the list of locale categories, beyond LC_MESSAGES, for which the
|
||||
# message catalogs shall be used. It is usually empty.
|
||||
EXTRA_LOCALE_CATEGORIES =
|
|
@ -0,0 +1,24 @@
|
|||
# List of source files containing translatable strings.
|
||||
# Copyright (C) 2003 Roland Stigge
|
||||
|
||||
src/ant-phone.c
|
||||
src/callerid.c
|
||||
src/calleridlexer.l
|
||||
src/calleridparser.y
|
||||
src/client.c
|
||||
src/controlpad.c
|
||||
src/fxgenerator.c
|
||||
src/gtk.c
|
||||
src/gtksettings.c
|
||||
src/isdn.c
|
||||
src/llcheck.c
|
||||
src/mediation.c
|
||||
src/isdnlexer.l
|
||||
src/isdnparser.y
|
||||
src/recording.c
|
||||
src/server.c
|
||||
src/session.c
|
||||
src/settings.c
|
||||
src/sound.c
|
||||
src/util.c
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Special Makefile rules for English message catalogs with quotation marks.
|
||||
|
||||
DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
|
||||
|
||||
.SUFFIXES: .insert-header .po-update-en
|
||||
|
||||
en@quot.po-update: en@quot.po-update-en
|
||||
en@boldquot.po-update: en@boldquot.po-update-en
|
||||
|
||||
.insert-header.po-update-en:
|
||||
@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
|
||||
if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
|
||||
tmpdir=`pwd`; \
|
||||
echo "$$lang:"; \
|
||||
ll=`echo $$lang | sed -e 's/@.*//'`; \
|
||||
LC_ALL=C; export LC_ALL; \
|
||||
cd $(srcdir); \
|
||||
if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
|
||||
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "creation of $$lang.po failed!" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi
|
||||
|
||||
en@quot.insert-header: insert-header.sin
|
||||
sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
|
||||
|
||||
en@boldquot.insert-header: insert-header.sin
|
||||
sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
|
||||
|
||||
mostlyclean: mostlyclean-quot
|
||||
mostlyclean-quot:
|
||||
rm -f *.insert-header
|
|
@ -0,0 +1,596 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Roland Stigge
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr ""
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr ""
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr ""
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr ""
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr ""
|
|
@ -0,0 +1,10 @@
|
|||
s/"\([^"]*\)"/“\1”/g
|
||||
s/`\([^`']*\)'/‘\1’/g
|
||||
s/ '\([^`']*\)' / ‘\1’ /g
|
||||
s/ '\([^`']*\)'$/ ‘\1’/g
|
||||
s/^'\([^`']*\)' /‘\1’ /g
|
||||
s/“”/""/g
|
||||
s/“/“[1m/g
|
||||
s/”/[0m”/g
|
||||
s/‘/‘[1m/g
|
||||
s/’/[0m’/g
|
Binary file not shown.
|
@ -0,0 +1,669 @@
|
|||
# German translation of the ant-phone package
|
||||
# Copyright (C) 2003 Roland Stigge
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Roland Stigge <stigge@antcom.de>, 2003
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.2\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2003-06-29 18:01+ZONE\n"
|
||||
"Last-Translator: Roland Stigge <stigge@antcom.de>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Aufruf: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Optionen:\n"
|
||||
" -h, --help Diese Hilfe ausgeben\n"
|
||||
" -v, --version Versionsinformation ausgeben\n"
|
||||
" -r, --cleanup Alte Socketdatei löschen (evtl. aus Versehen vom\n"
|
||||
" vorigen Aufruf übrig gelassen)\n"
|
||||
" -d, --debug[=level] Zusätzliche Testinformationen auf Standardausgabe\n"
|
||||
" ausgeben (level = 1..2)\n"
|
||||
" -i, --soundin=DEVICE OSS-kompatibles Gerät für die Eingabe (Aufnahme),\n"
|
||||
" Voreinstellung: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS-kompatibles Gerät für die Ausgabe "
|
||||
"(Wiedergabe),\n"
|
||||
" Voreinstellung: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifizierende MSN (für abgehende Rufe), 0 für\n"
|
||||
" Haupt-MSN dieses Anschlusses,\n"
|
||||
" Voreinstellung: 0\n"
|
||||
" -l, --msns=MSNS MSNs, auf welche reagiert wird, Strichpunkt-\n"
|
||||
" getrennte Liste oder '*',\n"
|
||||
" Voreinstellung: *\n"
|
||||
" -c, --call=NUMBER Angegebene Nummer anrufen\n"
|
||||
"\n"
|
||||
"Anmerkung: Wenn die Argumente von --soundin und --soundout gleich sind, "
|
||||
"wird\n"
|
||||
" ein Full-Duplex- (/Zwei-Wege-) Gerät verwendet.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Rufe %s ... "
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "erfolgreich.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Lösche Zeile"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Wollen Sie diesen Eintrag\n"
|
||||
"wirklich löschen?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Lösche Aufnahme"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Basisdateiname für die %s Datei"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Wollen Sie diese Aufnahme wirklich löschen?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Wiedergabe"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Sichern unter..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Lösche _Aufnahme"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/_Lösche Zeile"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Caller ID"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Datum/Zeit"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "Von"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Nach"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Dauer"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(UNBEKANNT)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d unbeantwortet"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Kurzwahl %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Bitte geben Sie die neue Kurzwahlsequenz für Taste %c ein:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Nummer:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Rückschritt"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Kurzwahl 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Nummer rücksetzen"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Kurzwahl 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Wahlwiederholung"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Kurzwahl 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Mikro stummschalten"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Kurzwahl 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Steuerung"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Aufnahme"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "In Datei aufnehmen"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "lokalen Kanal aufnehmen"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "entfernten Kanal aufnehmen"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Notiz"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Kann das Tonausgabegerät nicht öffnen.\n"
|
||||
"Bitte halten Sie andere Programme,\n"
|
||||
"welche das Gerät / die Geräte verwenden, an,\n"
|
||||
"oder prüfen Sie die Geräteeinstellungen,\n"
|
||||
"und versuchen Sie es erneut."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Toneingabegerät:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Eingabegeschwindigkeit:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inaktiv]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Eingabewortbreite (Bits):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Eingabefragmentgröße (Worte):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Eingabekanäle:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Tonausgabegerät:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Ausgabegeschwindigkeit:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Ausgabewortbreite (Bits):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Ausgabekanäle:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN-Gerät:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN-Geschwindigkeit (Worte):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "ISDN-Wortbreite (Bits):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "ISDN-Fragmentgröße (Bytes):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "Über ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Dies ist eine ISDN-Telefonanwendung, welche für\n"
|
||||
"GNU/Linux und ISDN4Linux für die Kommunikation\n"
|
||||
"mit einem Full-Duplex- (/Zwei-Wege-) Gerät (oder\n"
|
||||
"mehreren Ton-Ein-/Ausgabegeräten) und einem\n"
|
||||
"audio-fähigen ISDN4Linux-ISDN-Gerät geschrieben wurde\n"
|
||||
"\n"
|
||||
"Kontakt:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailingliste: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT Lizenz"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Dieses Programm ist Freie Software; Sie können es unter den\n"
|
||||
"Bedingungen der GNU General Public License Version 2 oder (nach\n"
|
||||
"Belieben) neuer, wie von der Free Software Foundation\n"
|
||||
"veröffentlicht, weitergeben und/oder modifizieren.\n"
|
||||
"\n"
|
||||
"Dieses Programm wird in der Hoffnung, dass es nützlich sein wird,\n"
|
||||
"herausgegeben. Es wird jedoch KEINE GARANTIE übernommen. Selbst\n"
|
||||
"die implizite Garantie der MARKTGÄNGIGKEIT oder TAUGLICHKEIT FÜR\n"
|
||||
"EINEN BESTIMMTEN ZWECK kann nicht gewährleistet werden.\n"
|
||||
"Siehe GNU General Public License für Details.\n"
|
||||
"\n"
|
||||
"Sie sollten eine Kopie der GNU General Public License\n"
|
||||
"zusammen mit diesem Programm erhalten haben. Falls nicht,\n"
|
||||
"schreiben Sie bitte an die\n"
|
||||
"\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
"59 Temple Place - Suite 330\n"
|
||||
"Boston\n"
|
||||
"MA 02111-1307\n"
|
||||
"USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/_Telefon"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Telefon/_Info Fenster"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Telefon/_Pegelkontrolle"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Telefon/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Telefon/_Beenden"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Ansicht"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Ansicht/_Caller-ID-Anzeige"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Ansicht/_Pegelanzeigen"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Ansicht/_Steuerfeld"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Optionen"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Optionen/_Einstellungen"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Hilfe"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Hilfe/_Über"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Hilfe/_Lizenz"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Wählen"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "STUMM"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr ""
|
||||
"Ungültige Einstellungen der ISDN/Ton-Ein-/Ausgabegeräte, bitte neu versuchen."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Einstellungen"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Anwendung"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Optionen"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Beim Beenden Optionen sichern"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Bei kommenden Rufen in den Vordergrund bringen"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Bei kommenden Rufen ausführen:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Aufnahmeformat"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Identifizierende MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Höre auf MSNs:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Größe der Wählhistorie:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maximale CID-Zeilen:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[keine Begrenzung]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "isdnlog-Daten beim Start lesen"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Maximale Anzahl Tage, welche von isdnlog gelesen werden:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Ton-Ein-/Ausgabegeräte"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr ""
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Ton-Eingabegerät:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Ton-Ausgabegerät"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Unbenutzte Ton-Ein-/Ausgabegeräte freigeben"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Sichern"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Pegelkontrolle"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Bitte testen Sie den Pegel\n"
|
||||
"und justieren Sie ihn mit dem\n"
|
||||
"Mixerprogramm Ihrer Wahl.\n"
|
||||
"Sie können auch einen Ton ausgeben\n"
|
||||
"lassen, um die Klangausgabe zu prüfen."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Ton ausgeben"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Bereit"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Wählen"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Auflegen"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "KLINGELN"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Antworten"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Abheben"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B-Kanal offen"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "/Wiedergabe"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Kurzwahl %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HW FEHLER)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Ton AUS"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Ton AN"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(BESETZT)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr ""
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(RUF)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(ABGEBROCHEN)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(ABGELEHNT)"
|
Binary file not shown.
|
@ -0,0 +1,25 @@
|
|||
# All this catalog "translates" are quotation characters.
|
||||
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||
# and double quote (0x22). These substitutes look strange; see
|
||||
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||
#
|
||||
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||
# It also translates pairs of apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||
# and pairs of quotation mark (0x22) to
|
||||
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||
#
|
||||
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
# When output to an ASCII terminal, the single quotation marks are
|
||||
# transliterated to apostrophes, and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
#
|
||||
# This catalog furthermore displays the text between the quotation marks in
|
||||
# bold face, assuming the VT100/XTerm escape sequences.
|
||||
#
|
|
@ -0,0 +1,685 @@
|
|||
# English translations for ant-phone package.
|
||||
# Copyright (C) 2006 Roland Stigge
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Automatically generated, 2006.
|
||||
#
|
||||
# All this catalog "translates" are quotation characters.
|
||||
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||
# and double quote (0x22). These substitutes look strange; see
|
||||
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||
#
|
||||
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||
# It also translates pairs of apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||
# and pairs of quotation mark (0x22) to
|
||||
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||
#
|
||||
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
# When output to an ASCII terminal, the single quotation marks are
|
||||
# transliterated to apostrophes, and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
#
|
||||
# This catalog furthermore displays the text between the quotation marks in
|
||||
# bold face, assuming the VT100/XTerm escape sequences.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2004-04-03 18:51+0200\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"‘[1m*[0m’\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Calling %s... "
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "successful.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Delete Entry"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Delete recording"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Enter the base filename for %s file"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Do you really want to delete this recording?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Playback"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Save as..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Delete _Recording"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/_Delete Row"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Caller ID"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Date/Time"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "From"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "To"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Duration"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(UNKNOWN)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d unanswered"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Preset %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Please input new preset data for button %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Number:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Backspace"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Preset 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Clear Number"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Preset 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Redial"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Preset 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Mute Microphone"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Preset 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Recording"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Record to file"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Record local channel"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Record remote channel"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Note"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Sound input device:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Input speed:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inactive]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Input sample size (bits):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Input fragment size (samples):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Input channels:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Sound output device:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Output speed:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Output sample size (bits):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Output channels:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN device:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN speed (samples):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "ISDN sample size (bits):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "ISDN fragment size (bytes):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "About ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT License"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/Phon_e"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Phone/_Info Window"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Phone/_Line Level Check"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Phone/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Phone/_Quit"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_View"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/View/_Caller ID Monitor"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/View/_Line Level Meters"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/View/Control _Pad"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Options"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Options/_Settings"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Help"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Help/_About"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Help/_License"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Dialing"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "MUTED"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Bad isdn/sound device settings, please try again."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Settings"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Save options on exit"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Popup main window on incoming call"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Execute on incoming call:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Recording Format"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Phone"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Identifying MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Listen to MSNs:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Dial history size:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maximum CID rows:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[no limit]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Read isdnlog data on startup"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Maximum days to read from isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Sound Devices"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Input sound device:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Output sound device:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Release unused devices"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Line Level Check"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Play sound"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Ready"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Dial"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Hang up"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "RING"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Answer"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Reject"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Pick up"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B-Channel open"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Setup"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Playback"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Preset %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HW ERROR)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Audio OFF"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Audio ON"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(BUSY)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(TIMEOUT)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(RUNG)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(ABORTED)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(REJECTED)"
|
Binary file not shown.
|
@ -0,0 +1,22 @@
|
|||
# All this catalog "translates" are quotation characters.
|
||||
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||
# and double quote (0x22). These substitutes look strange; see
|
||||
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||
#
|
||||
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||
# It also translates pairs of apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||
# and pairs of quotation mark (0x22) to
|
||||
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||
#
|
||||
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
# When output to an ASCII terminal, the single quotation marks are
|
||||
# transliterated to apostrophes, and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
#
|
|
@ -0,0 +1,682 @@
|
|||
# English translations for ant-phone package.
|
||||
# Copyright (C) 2006 Roland Stigge
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Automatically generated, 2006.
|
||||
#
|
||||
# All this catalog "translates" are quotation characters.
|
||||
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||
# and double quote (0x22). These substitutes look strange; see
|
||||
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||
#
|
||||
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||
# It also translates pairs of apostrophe (0x27) to
|
||||
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||
# and pairs of quotation mark (0x22) to
|
||||
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||
#
|
||||
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
# When output to an ASCII terminal, the single quotation marks are
|
||||
# transliterated to apostrophes, and the double quotation marks are
|
||||
# transliterated to 0x22.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2004-04-03 18:51+0200\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"‘*’\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Calling %s... "
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "successful.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Delete Entry"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Delete recording"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Enter the base filename for %s file"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Do you really want to delete this recording?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Playback"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Save as..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Delete _Recording"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/_Delete Row"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Caller ID"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Date/Time"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "From"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "To"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Duration"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(UNKNOWN)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d unanswered"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Preset %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Please input new preset data for button %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Number:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Backspace"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Preset 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Clear Number"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Preset 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Redial"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Preset 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Mute Microphone"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Preset 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Recording"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Record to file"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Record local channel"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Record remote channel"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Note"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Sound input device:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Input speed:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inactive]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Input sample size (bits):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Input fragment size (samples):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Input channels:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Sound output device:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Output speed:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Output sample size (bits):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Output channels:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN device:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN speed (samples):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "ISDN sample size (bits):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "ISDN fragment size (bytes):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "About ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT License"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/Phon_e"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Phone/_Info Window"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Phone/_Line Level Check"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Phone/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Phone/_Quit"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_View"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/View/_Caller ID Monitor"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/View/_Line Level Meters"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/View/Control _Pad"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Options"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Options/_Settings"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Help"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Help/_About"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Help/_License"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Dialing"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "MUTED"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Bad isdn/sound device settings, please try again."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Settings"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Save options on exit"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Popup main window on incoming call"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Execute on incoming call:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Recording Format"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Phone"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Identifying MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Listen to MSNs:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Dial history size:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maximum CID rows:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[no limit]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Read isdnlog data on startup"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Maximum days to read from isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Sound Devices"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Input sound device:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Output sound device:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Release unused devices"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Line Level Check"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Play sound"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Ready"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Dial"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Hang up"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "RING"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Answer"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Reject"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Pick up"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B-Channel open"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Setup"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Playback"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Preset %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HW ERROR)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Audio OFF"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Audio ON"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(BUSY)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(TIMEOUT)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(RUNG)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(ABORTED)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(REJECTED)"
|
Binary file not shown.
|
@ -0,0 +1,662 @@
|
|||
# Messages français pour GNU concernant ant-phone.
|
||||
# Copyright © 2004 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2004-05-10 08:00-0500\n"
|
||||
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help affichier l'aide-mémoire\n"
|
||||
" -v, --version affichier la version du logiciel\n"
|
||||
" -r, --cleanup enlever le fichier du socket figé (laissé lors\n"
|
||||
" l'exécution précédente)\n"
|
||||
" -d, --debug[=niveau] afficher des informations additionnelles de mises "
|
||||
"au point sur stdout\n"
|
||||
" niveau = 1..2\n"
|
||||
" -i, --soundin=PERI PÉRIphérique compatible OSS pour la sortie "
|
||||
"(enregistrement),\n"
|
||||
" par défaut: /dev/dsp\n"
|
||||
" -o, --soundout=PERI PÉRIphérique compatible OSS pour l'entrée "
|
||||
"(écoute),\n"
|
||||
" par défaut: /dev/dsp\n"
|
||||
" -m, --msn=MSN identificateur MSN (pour les appels sortant), 0 "
|
||||
"pour maître\n"
|
||||
" MSN de terminaison/port\n"
|
||||
" par défaut: 0\n"
|
||||
" -l, --msns=MSNS MSNs d'écoute, liste séparée par des « ; » ou '*'\n"
|
||||
" par défaut: *\n"
|
||||
" -c, --call=NUMÉRO numéro d'appel spécifique\n"
|
||||
"\n"
|
||||
"Note: si les arguments de --soundin et --soundout sont identiques, un "
|
||||
"périphérique\n"
|
||||
" de son fonctionnant en mode duplex est nécessaire.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Appel en cour %s... "
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "succès.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Détruire l'entrée"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Êtes-vous certains de vouloir\n"
|
||||
"détruire cette entrée?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Destruction de l'enregistrement"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Fournir le nom de base du fichier %s"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Désirez-vous réellement détruire cet enregistrement?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Playback (ré-écoute"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Sauvagarder sous..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Détruire l'_Enregistrement"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/_Détruire la rangée"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Identificateur de l'appelant"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Date/Heure"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "À"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Durée"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(INCONNU)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d non répondus"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Présélection %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "SVP fournir les nouvelles données de présélection pour le bouton %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Nom:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Numéro:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Espace arrière"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Présélection 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Effacer le numéro"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Présélection 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Recomposer"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Présélection 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Éteindre le microphone"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Présélection 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Contrôle"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Enregistrement en cours"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Enregistrer dans un fichier"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Enregister sur canal local"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Enregistrer sur canal distant"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "Note ANT"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Ne peut ouvrir le périphérique audio.\n"
|
||||
"SVP stopper les autres applications utilisant\n"
|
||||
"le périphérique audio ou vérifier la\n"
|
||||
"configuration du périphérique et essayer à nouveau."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Entrée du périphérique de son:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Vitesse d'entrée"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inactif]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Taille d'échantillon d'entrée (en bits):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Taille de fragment d'entrée (échantillons)"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Canaux d'entrée:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Sortie du périphérique de son:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Vitesse de sortie:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Taille d'échantillon de sortie (en bits):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Canaux de sortie:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "Périphérique ISDN:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "Vitesse ISDN (échantillons):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "Taille d'échantillon ISDN (en bits):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "Taille de fragment ISDN (en octets):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "Info ANT"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "À propos de ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT est « Not » un Téléphone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"C'est un logiciel de téléphone ISDN\n"
|
||||
"écrit pour GNU/Linux et ISDN4Linux pour\n"
|
||||
"communiquer à l'aide d'une carte de son fonctionnant en mode duplex complet\n"
|
||||
"( ou de multiples périphériques de son si vous le désirez) et un\n"
|
||||
"périphérique audio supportant ISDN4Linux ISDN\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Liste de courriel: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "Licence ANT"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT est « Not » un Téléphone)\n"
|
||||
"Copyright © 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Ce logiciel est libre; vous pouvez le redistribuer selon les termes de la\n"
|
||||
"licence GNU General Public License. AUCUNE garantie n'est donnée.\n"
|
||||
"tel que publiée par la Free Software Foundation; tel que la version 2\n"
|
||||
"de la licence ou (selon votre choix) n'importe quelle version subséquente.\n"
|
||||
"\n"
|
||||
"Ce logiciel est distribué dans l'espoir qu'il soit utile,\n"
|
||||
"mais AUCUNE garantie n'est donnée tant pour des raisons COMMERCIALES que\n"
|
||||
"pour RÉPONDRE À UN BESOIN PARTICULIER. Consulter la licence\n"
|
||||
"Licence Publique Générale GNU pour plus de détails.\n"
|
||||
"\n"
|
||||
"Vous devriez avoir reçu copie de la Licence Publique Générale de GNU\n"
|
||||
"avec GNU Anubis; sinon, écrire à la Free Software Foundation, Inc.,\n"
|
||||
"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/_Téléphone"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Téléphone/_Fenêtre Info"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Téléphone/_Vérification du niveau de la ligne"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Téléphone/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Téléphone/_Quitter"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Visionner"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Visionner/_ID appelant"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Visionner/_Niveau de ligne"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Visionner/_Panneau de contrôle"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Options"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Options/_Configurations"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Aide"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/AIde/_A propos"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Aide/_Licence"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Composition en cours"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "SILENCIEUX"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Mauvais ISDN/configuration du périphérique, svp essayez à nouveau"
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "Configurations ANT"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Sauvegarder les options à la fin de l'exécution"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Popup la fenêtre principale lors de l'arrivée d'un appel"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Éxécuter lors d'un appel entrant:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Formet d'enregistement"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "WAV Microsoft, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "WAV Microsoft, 16 bits signés"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Aple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16 bits signés"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Téléphone"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "MSN identifiant:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Écoute des MSN:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Taille du fichier hiostorique des appels:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maximum de rangées CID:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[pas de limite]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Lire le journal isdnlog lors du démarrage"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Nombre de jours maximum pour lire à partir du journal isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Périphérique de son"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Périphérique d'entrée de son:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Périphérique de sortie de son:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Relâcher les périphériques non utilisés"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Sauvegader"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Vérification du niveau des lignes"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"SVP vérifier le niveau de la ligne d'entrée\n"
|
||||
"et ajustez le pour utiliser votre application de mixage favorite.\n"
|
||||
"Vous pouvcz aussi faire l'écoute d'un fichier de son pour tester\n"
|
||||
"la sortie de son."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Faire entendre le son"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Prêt"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Composer"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Raccrocher"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "SONERIE"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Rejetr"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Décrocher"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "Canal-B ouvert"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Configuration"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Ré-écoute"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stopper"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Préselection %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(ERREUR matérielle)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Audio à l'arrêt"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Audio en marche"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(OCCUPÉ)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(MINUTERIE EXPIRÉE)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(A SONNÉ)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(ARRÊT DEMANDÉ)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(REJETÉ)"
|
|
@ -0,0 +1,23 @@
|
|||
# Sed script that inserts the file called HEADER before the header entry.
|
||||
#
|
||||
# At each occurrence of a line starting with "msgid ", we execute the following
|
||||
# commands. At the first occurrence, insert the file. At the following
|
||||
# occurrences, do nothing. The distinction between the first and the following
|
||||
# occurrences is achieved by looking at the hold space.
|
||||
/^msgid /{
|
||||
x
|
||||
# Test if the hold space is empty.
|
||||
s/m/m/
|
||||
ta
|
||||
# Yes it was empty. First occurrence. Read the file.
|
||||
r HEADER
|
||||
# Output the file's contents by reading the next line. But don't lose the
|
||||
# current line while doing this.
|
||||
g
|
||||
N
|
||||
bb
|
||||
:a
|
||||
# The hold space was nonempty. Following occurrences. Do nothing.
|
||||
x
|
||||
:b
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,663 @@
|
|||
# Dutch translation of ant-phone.
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Elros Cyriatan <cyriatan@fastmail.fm>, 2003.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2003-10-19 21:54+0100\n"
|
||||
"Last-Translator: Elros Cyriatan <cyriatan@fastmail.fm>\n"
|
||||
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Gebruik: %s [OPTIE...]\n"
|
||||
"\n"
|
||||
"Opties:\n"
|
||||
" -h, --help Dit hulpbericht weergeven\n"
|
||||
" -v, --version Versie informatie weergeven\n"
|
||||
" -r, --cleanup Per ongeluk (van vorige sessie) overgebleven\n"
|
||||
" socket-bestand verwijderen\n"
|
||||
" -d, --debug[=niveau] Extra runtime debug gegevens naar stdout zenden\n"
|
||||
" niveau = 1..2\n"
|
||||
" -i, --soundin=APPARAAT OSS-compatibel apparaat voor invoer (opname),\n"
|
||||
" standaard: /dev/dsp\n"
|
||||
" -o, --soundout=APPARAAT OSS-compatibel apparaat voor uitvoer (afspelen),\n"
|
||||
" standaard: /dev/dsp\n"
|
||||
" -m, --msn=MSN identificerende MSN (voor uitgaande gesprekken), 0 "
|
||||
"voor hoofd\n"
|
||||
" MSN van deze afsluiting/poort\n"
|
||||
" standaard: 0\n"
|
||||
" -l, --msns=MSNS MSNs om naar te luisteren, punt-komma gescheiden "
|
||||
"lijst of '*'\n"
|
||||
" standaard: *\n"
|
||||
" -c, --call=NUMMER Opgegeven nummer bellen\n"
|
||||
"\n"
|
||||
"Let op: als argumenten van --soundin en --soundout gelijk zijn, is een full "
|
||||
"duplex\n"
|
||||
" geluidsapparaat nodig.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Bezig met bellen %s..."
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "succesvol.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Ingang verwijderen"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Weet u zeker dat u deze\n"
|
||||
"ingang wilt verwijderen?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Opname verwijderen"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Geef de basis-bestandsnaam voor %s bestand"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Wilt u deze opname echt verwijderen?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Afspelen"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Opslaan als..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/_Opname verwijderen"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/_Rij verwijderen"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Beller ID"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Datum/Tijd"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Soort"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "Van"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Naar"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Lengte"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(ONBEKEND)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d niet-beantwoord"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Voorkeuze %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Geef a.u.b. nieuwe voorkeuze gegevens voor knop %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Naam:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Nummer:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Backspace"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Voorkeuze 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Nummer wissen"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Voorkeuze 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Opnieuw bellen"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Voorkeuze 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Microfoon uit"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Voorkeuze 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Bediening"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Opname"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Opnemen naar bestand"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Lokaal kanaal opnemen"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Kanaal op afstand opnemen"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Bericht"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Kan geluidsapparaat niet openen.\n"
|
||||
"Stop a.u.b. andere toepassingen die\n"
|
||||
"het/de geluidsapparaat(en) gebruik(en)\n"
|
||||
"of controleer uw apparaatinstellingen,\n"
|
||||
"en probeer het opnieuw."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Geluidsapparaat invoer:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Invoersnelheid:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inactief]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Invoer monstergrootte (bits):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Invoer fragmentgrootte (monsters):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Invoerkanalen:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Geluidsapparaat uitvoer:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Uitvoersnelheid:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Uitvoer monstergrootte (bits):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Uitvoerkanalen:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN-apparaat:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN snelheid (monsters):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "ISDN monstergrootte (bits):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "ISDN fragmentgrootte (bytes):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "Over ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Niet een Telefoon) Versie %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Dit is een ISDN telefoon toepassing\n"
|
||||
"geschreven voor GNU/Linux en ISDN4Linux om\n"
|
||||
"te communiceren via een full duplex geluidskaart\n"
|
||||
"(of meerdere geluidsapparaten als u dat wilt) en\n"
|
||||
"een ISDN4Linux ISDN-apparaat dat geluid\n"
|
||||
"ondersteunt.\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"E-mail lijst: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT Licentie"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Niet een Telefoon)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/_Telefoon"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Telefoon/_Info"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Telefoon/Lijnniveau _controle"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Telefoon/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Telefoon/_Afsluiten"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/B_eeld"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Beeld/_Beller ID lijst"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Beeld/_Lijnniveau meters"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Beeld/Bedienings_paneel"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Opties"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Opties/_Instellingen"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Hulp"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Hulp/_Info"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Help/_Licentie"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Bezig met bellen"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "GELUID UIT"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr ""
|
||||
"Slechte ISDN/geluid apparaat instellingen, probeer alstublieft opnieuw."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Instellingen"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Toepassing"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Opties"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Opties opslaan bij afsluiten"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Venster openen bij inkomend gesprek"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Uitvoeren bij inkomend gesprek:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Opname formaat"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-bit met teken"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-bit met teken"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Telefoon"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Identificerende MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Luisteren-naar MSNs:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Belgeschiedenis grootte:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maximaal aantal CID rijen:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[geen grens]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Gegevens isdnlog lezen bij opstarten"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Maximaal aantal dagen om te lezen van isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Geluidsapparaten"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Geluidsapparaat invoer:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Geluidsapparaat uitvoer:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Ongebruikte apparaten vrijgeven"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Lijnniveau controle"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Controleer alstublieft het lijn invoer\n"
|
||||
"niveau en pas het aan met de\n"
|
||||
"volumeregeling toepassing.\n"
|
||||
"U kunt ook een geluid afspelen om\n"
|
||||
"geluidsuitvoer te testen."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Geluid afspelen"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Gereed"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Bellen"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Ophangen"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "TELEFOON GAAT OVER"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Beantwoorden"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Verwerpen"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Opnemen"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B-kanaal open"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Configuratie"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Afspelen"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Voorkeuze %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HW FOUT)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Geluid UIT"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Geluid AAN"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(BEZIG)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(TIME-OUT)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(TELEFOON GING OVER)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(AFGEBROKEN)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(VERWORPEN)"
|
|
@ -0,0 +1,6 @@
|
|||
s/"\([^"]*\)"/“\1”/g
|
||||
s/`\([^`']*\)'/‘\1’/g
|
||||
s/ '\([^`']*\)' / ‘\1’ /g
|
||||
s/ '\([^`']*\)'$/ ‘\1’/g
|
||||
s/^'\([^`']*\)' /‘\1’ /g
|
||||
s/“”/""/g
|
|
@ -0,0 +1,19 @@
|
|||
# Sed script that remove the POT-Creation-Date line in the header entry
|
||||
# from a POT file.
|
||||
#
|
||||
# The distinction between the first and the following occurrences of the
|
||||
# pattern is achieved by looking at the hold space.
|
||||
/^"POT-Creation-Date: .*"$/{
|
||||
x
|
||||
# Test if the hold space is empty.
|
||||
s/P/P/
|
||||
ta
|
||||
# Yes it was empty. First occurrence. Remove the line.
|
||||
g
|
||||
d
|
||||
bb
|
||||
:a
|
||||
# The hold space was nonempty. Following occurrences. Do nothing.
|
||||
x
|
||||
:b
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,661 @@
|
|||
# Mesajele în limba românã pentru pachetul ant-phone.
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
# Acest fi?ier este distribuit sub aceea?i licen?? ca pachetul ant-phone.
|
||||
# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2003-08-18 08:26+0300\n"
|
||||
"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
|
||||
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Folosire: %s [OPÞIUNE...]\n"
|
||||
"\n"
|
||||
"Opþiuni:\n"
|
||||
" -h, --help Afiºeazã acest mesaj de ajutor\n"
|
||||
" -v, --version Afiºeazã informaþii despre versiune\n"
|
||||
" -r, --cleanup ªterge fiºierul de socket blocat (lãsat accidental "
|
||||
"de\n"
|
||||
" o rulare precedentã)\n"
|
||||
" -d, --debug[=nivel] Afiºeazã date suplimentare de debug la stdout\n"
|
||||
" nivel = 1..2\n"
|
||||
" -i, --soundin=DISPOZITIV dispozitiv compatibil OSS pentru intrare "
|
||||
"(înregistrare),\n"
|
||||
" implicit: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE dispozitiv compatibil OSS pentru ieºire "
|
||||
"(playback),\n"
|
||||
" implicit: /dev/dsp\n"
|
||||
" -m, --msn=MSN identificare MSN (pentru apeluri efectuate), 0 "
|
||||
"pentru master\n"
|
||||
" MSN al acestei terminaþi/port\n"
|
||||
" implicit: 0\n"
|
||||
" -l, --msns=MSNS MSNuri pe care sã se asculte, listã separatã prin "
|
||||
"punct ºi virgulã sau '*'\n"
|
||||
" implicit: *\n"
|
||||
" -c, --call=NUMÃR Apeleazã numãrul specificat\n"
|
||||
"\n"
|
||||
"Notã: Dacã parametrii --soundin ºi --soundout sunt egali, va fi necesar un\n"
|
||||
" dispozitiv de sunet full-duplex.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Apelare %s... "
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "succes.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "ªterge Intrarea"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Sunteþi sigur cã vreþi sã ºtergeþi\n"
|
||||
"aceastã intrare?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "ªterge înregistrare"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Introduceþi numele de fiºier de bazã pentru fiºierul %s"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Chiar vreþi sã ºtergeþi aceastã înregistrare?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Playback"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Salvare ca..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/ªterge În_registrare"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/ªterge Rân_d"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "ID Apelant(Caller ID)"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Datã/Orã"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Tip"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "De la"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Cãtre"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "durata"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(NECUNOSCUT)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d fãrã rãspuns"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Preset %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Vã rugãm introduceþi date preset noi pentru butonul %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Nume:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Numãr:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Renunþare"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Backspace"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Preset 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "ªterge Numãr"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Preset 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Formeazã din nou"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Preset 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Inhibã Microfon"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Preset 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Înregistrare"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Înregistreazã în fiºier"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Înregistreazã canal local"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Înregistreazã canalul remote"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Notã"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Nu se poate accesa dispozitivul audio.\n"
|
||||
"Vã rugãm opriþi alte aplicaþii care folosesc\n"
|
||||
"dispozitivul(ele) audio sau verifcaþi\n"
|
||||
"setãrile dispozitivului ºi încercaþi din nou."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Dispozitiv intrare de sunet:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Vitezã de intrare(input):"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inactiv]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Mãrime de intrare (biþi):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Mãrime intrare fragment (exemple):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Canale de intrare:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Dispozitiv ieºire de sunet:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Vitezã de ieºire:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Mãrime de ieºire (biþi):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Canale de ieºire:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "Dispozitiv ISDN:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "Vitezã ISDN (exemple):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "Mãrime exemplu ISDN (biþi)"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "Mãrime fragment ISDN (octeþi):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "Despre ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT Nu este un Telefon) Versiunea %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Aceasta este o aplicaþie de telefon ISDN\n"
|
||||
"scrisã pentru GNU/Linux ºi ISDN4Linux pentru\n"
|
||||
"comunicarea printr-o placã de sunet full-duplex (sau\n"
|
||||
"mai multe plãci de sunet dacã vreþi) ºi un\n"
|
||||
"dispozitivISDN capabil de sunet ISDN4Linux\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Listã de discuþii: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT Licenþã"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT Nu este un Telefon)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Acest program este software liber; puteþi sã-l redistribuiþi ºi/"
|
||||
"saumodificaþi sub termenii Licenþei Publice Generale GNU\n"
|
||||
"publicatã de Free Software Foundation; fie versiunea 2\n"
|
||||
"a Licenþei, fie (opþiunea dumneavoastrã) orice versiune ulterioarã\n"
|
||||
"\n"
|
||||
"Acest program este distribuit în speranþa cã va fi folositor,\n"
|
||||
"dar FÃRÃ NICI O GARANÞIE; chiar fãrã garanþia sugeratã de\n"
|
||||
"VANDABILITATE sau MODIFICARE ÎN SCOP PERSONAL. Citiþi\n"
|
||||
"Licenþa Publicã Generalã GNU pentru mai multe detalii.\n"
|
||||
"\n"
|
||||
"Ar fi trebui sã fi primit ºi o copie a Licenþei Publice Generale GNU \n"
|
||||
"împreunã cu acest progra,; dacã nu, scrieþi la Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/T_elefon"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Telefon/Fereastrã _Info"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Phone/Verificare nivel _linie"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Telefon/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Telefon/Ieºire(_Quit)"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Vizualizare"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Vizualizare/Monitor_Caller ID"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Vizualizare/Monitoare Nivel _Linie"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Vizualizare/_Pad Control"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Opþiuni"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Opþiuni/_Setãri"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/Ajutor(_Help)"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Ajutor/Despre(_About)"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Ajutor/_Licenþã"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Apelare"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "TRECUT PE MUTE"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Setãri greºite isdn/sunet, încercaþi din nou."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Setãri"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Aplicaþie"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Optiuni"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Salveazã opþiunile la ieºire"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Scoate în evidenþã (popup) fereastra principalã când sunã telefonul"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Executã atunci când sunã telefonul:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Format Înregistrare"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-biþi cu semn (signed)"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-biþi cu smen (signed)"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Indetificare MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Ascultare MSNuri:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Mãrime istoric apelãri:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maxim de rânduri CID:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[nelimitat]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Citeºte date isdnlog la început"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Maximum de zile de citit din isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Dispozitive de Sunet:"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Dispozitiv de intrare de sunet:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Dispozitiv de ieºire de sunet:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Elibereazã(release) dispozitivele nefolosite"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Salveazã"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Verificare Nivel Linie"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Verificaþi nivelul de intrare al liniei\n"
|
||||
"ºi ajustaþi-l folosind aplicaþia\n"
|
||||
"de mixer preferatã.\n"
|
||||
"Puteþi de asemenea sã ascultaþi un sunet\n"
|
||||
"pentru a testa ieºirea de sunet."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Ascultare sunet"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Pregãtit(ready)"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Apelare"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Întrerupere(hang-up)"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "SUNÃ(RING)"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Rãspuns"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Refuzare"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Ridicare receptor"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "Canalul B deschis"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Setup"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Playback"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Preset %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(EROARE HW)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Audio DEZACTIVAT"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Audio ACTIVAT"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(OCUPAT)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(TIMP EXPIRAT)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(SUNAT)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(RENUNÞAT)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(REJFUZAT)"
|
|
@ -0,0 +1 @@
|
|||
timestamp
|
Binary file not shown.
|
@ -0,0 +1,668 @@
|
|||
# Swedish translation of ant-phone.
|
||||
# Copyright (C) 2005 Roland Stigge
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Daniel Nylander <po@danielnylander.se>, 2005.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2006-01-06 21:08+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Användning: %s [FLAGGA...]\n"
|
||||
"\n"
|
||||
"Flaggor:\n"
|
||||
" -h, --help Visar detta hjälpmeddelande\n"
|
||||
" -v, --version Skriv ut versionsinformation\n"
|
||||
" -r, --cleanup Ta bort hängda socketfiler (kvarlämnade av "
|
||||
"misstag\n"
|
||||
" från tidigare körning)\n"
|
||||
" -d, --debug[=nivå] Skriv ut ytterligare körtidsdata för felsökning "
|
||||
"till\n"
|
||||
" standard ut nivå = 1..2\n"
|
||||
" -i, --soundin=ENHET OSS-kompatibel enhet för indata (inspelning),\n"
|
||||
" förval: /dev/dsp\n"
|
||||
" -o, --soundout=ENHET OSS-kompatibel enhet för utdata (uppspelning),\n"
|
||||
" förval: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifierar MSN (för utgående samtal), 0 för "
|
||||
"master\n"
|
||||
" MSN för denna ändpunkt/port\n"
|
||||
" förval: 0\n"
|
||||
" -l, --msns=MSNS MSN:er att lyssna på, lista separerad med "
|
||||
"semikolon\n"
|
||||
" eller \"*\"\n"
|
||||
" förval: *\n"
|
||||
" -c, --call=NUMMER Ring angivet nummer\n"
|
||||
"\n"
|
||||
"Notera: Om argumenten för --soundin och --soundout är samma behövs ett\n"
|
||||
" ljudkort med stöd för full duplex.\n"
|
||||
"Skicka synpunkter på översättningen till tp-sv@listor.tp-sv.se\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Ringer %s..."
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "lyckades.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Ta bort post"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Är du säker att du vill\n"
|
||||
"ta bort denna post?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Ta bort inspelning"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Ange basfilnamnet för filen %s"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Vill du verkligen ta bort denna inspelning?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/U_ppspelning"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Spara som..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Ta bo_rt inspelning"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/Ta bort ra_d"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Nummerpresentation"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Datum/Tid"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "Från"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Till"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Längd"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(OKÄND)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d obesvarade"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Förval %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Mata in ny förvalsdata för knapp %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Namn:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Nummer:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Baksteg"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Förval 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Rensa nummer"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Förval 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Återuppring"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Förval 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Tyst mikrofon"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Förval 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Kontrollera"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Spelar in"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Spela in till fil"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Spela in lokal kanal"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Spela in fjärrkanal"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT-notering"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Kan inte öppna ljudenhet.\n"
|
||||
"Vänligen stoppa andra applikationer\n"
|
||||
"som använder ljudenheten eller\n"
|
||||
"kontrollera dina enhetsinställningar\n"
|
||||
"och försök igen."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Enhet för ljudindata:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Hastighet för indata:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[inaktiv]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Samplingsstorlek för indata (bitar):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Fragmentstorlek för indata (sampling):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Indatakanaler:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Enhet för ljudutdata:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Utdatahastighet:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Samplingsstorlek för utdata (bitar):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Kanaler för utdata:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN-enhet:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN-hastighet (sampling):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "Samplingsstorlek för ISDN (bitar):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "Fragmentstorlek för ISDN (bytes):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT-info"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "Om ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Detta är en applikation för ISDN-telefoner\n"
|
||||
"skriven för GNU/Linux och ISDN4Linux för\n"
|
||||
"att kommunicera via ett ljudkort med full\n"
|
||||
"duplex (eller multipla ljudenheter om du vill)\n"
|
||||
"och en ISDN4Linux ISDN-enhet kapabel\n"
|
||||
"för ljud.\n"
|
||||
"Kontakt:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"E-postlista: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT-licens"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Följande text är en informell översättning som enbart tillhandahålls i\n"
|
||||
"informativt syfte. För alla juridiska tolkningar gäller den engelska\n"
|
||||
"originaltexten.\n"
|
||||
"\n"
|
||||
"Detta program är fri programvara. Du kan distribuera det och/eller\n"
|
||||
"modifiera det under villkoren i GNU General Public License, publicerad\n"
|
||||
"av Free Software Foundation, antingen version 2 eller (om du så vill)\n"
|
||||
"någon senare version.\n"
|
||||
"\n"
|
||||
"Detta program distribueras i hopp om att det ska vara användbart,\n"
|
||||
"men UTAN NÅGON SOM HELST GARANTI, även utan underförstådd garanti\n"
|
||||
"om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU\n"
|
||||
"General Public License för ytterligare information.\n"
|
||||
"\n"
|
||||
"Du bör ha fått en kopia av GNU General Public License tillsammans\n"
|
||||
"med detta program. Om inte, skriv till Free Software Foundation,\n"
|
||||
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/T_elefon"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Telefon/_Infofönster"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Telefon/_Linjenivåkontroll"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Telefon/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Telefon/A_vsluta"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Visa"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Visa/_Nummerpresentationsvisare"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Visa/_Linjenivåmätare"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Visa/Kontroll_panel"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/Inställningar"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Inställningar/_Konfiguration"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Hjälp"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Hjälp/Om"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Hjälp/_Licens"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Ringer"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "TYST"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Felaktiga inställningar för ISDN/ljudenhet, försök igen."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT-inställningar"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Applikation"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Spara inställningar vid avslut"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Visa huvudfönster vid inkommande samtal"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Kör vid inkommande samtal:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Inspelningsformat"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-bit signed"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Identifierar MSN:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Lyssnar till MSN:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Storlek för samtalshistorik:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Max rader för nummerpresentation:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[ingen gräns]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Läs isdnlog-data vid uppstart"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Max antal dagar att läsa från isdnlog:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Ljudenheter"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Enhet för ljudindata:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Enhet för ljudutdata:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Släpp oanvända enheter"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Spara"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Linjenivåkontroll"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Vänligen kontrollera indatanivån på\n"
|
||||
"linjen och justera den med din favorit\n"
|
||||
"mixerapplikation.\n"
|
||||
"Du kan också spela ett ljud för att\n"
|
||||
"testa ljudutdatat."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Spela ljud"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Klar"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Ring"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Lägg på"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "RING"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Svara"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Neka"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Lyft"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B-kanal öppen"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Ställ in"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Uppspelning"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Stopp"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Förval %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HV FEL)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Ljud AV"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Ljud PÅ"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(UPPTAGET)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(TIMEOUT)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(RINGDE)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(AVBRUTEN)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(NEKAD)"
|
Binary file not shown.
|
@ -0,0 +1,662 @@
|
|||
# translation of ant-phone-0.1.4.tr.po to Turkish
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the ant-phone package.
|
||||
# Ayşegül Kurşun <roxelana_83@hotmail.com>, 2004.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2004-12-05 20:44+0200\n"
|
||||
"Last-Translator: Ayşegül Kurşun <roxelana_83@hotmail.com>\n"
|
||||
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.3.1\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Kullanım: %s [SEÇENEK...]\n"
|
||||
"\n"
|
||||
"Seçenekler:\n"
|
||||
" -h, --help bu yardım iletisini gösterir\n"
|
||||
" -v, --version Sürüm bilgilerini yazdırır\n"
|
||||
" -r, --cleanup Eski soket dosyalarını siler (önceki işlemden\n"
|
||||
" kazara kalmış)\n"
|
||||
" -d, --debug[=seviye] Standart çıktıya ek hata ayıklama bilgisi "
|
||||
"yazdırır\n"
|
||||
" seviye = 1..2\n"
|
||||
" -i, --soundin=AYGIT OSS uyumlu girdi aygıtları (kayıt için)\n"
|
||||
" öntanımlı: /dev/dsp\n"
|
||||
" -o, --soundout=AYGIT OSS uyumlu çıktı aygıtları (çalmak için)\n"
|
||||
" öntanımlı: /dev/dsp\n"
|
||||
" -m, --msn=MSN MSN tanımlama (dışarı aramalar), bu uç/port'un\n"
|
||||
" ana MSN'i için 0\n"
|
||||
" öntanımlı: 0\n"
|
||||
" -l, --msns=MSNS Dinlenecek MSN'ler, noktalı virgül ile ayrılmış\n"
|
||||
" liste ya da '*'\n"
|
||||
" -c, --call=NUMARA Belirtilen numarayı arar\n"
|
||||
"\n"
|
||||
"Not: Eğer --soundin ve --soundout seçeneklerinin değerleri aynı ise,\n"
|
||||
"tam duplex bir ses aygıtı gereklidir.\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "%s aranıyor..."
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "başarılı.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Girdiyi Sil"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Bu girdiyi silmek\n"
|
||||
"istediğinize emin misiniz?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Kaydı sil"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "%s dosyasının temel dosya ismini girin"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Gerçekten bu kaydı silmek istiyor musunuz?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Çal"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Farklı kaydet..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Kaydı _Sil"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/S_atırı Sil"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Arayan Bilgisi"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Tarih/Zaman"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Tür"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "Kimden"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Kime"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Süre"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(BİLİNMEYEN)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT:%d cevaplanmamış"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Önkurum %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Lütfen %c tuşu için yeni önkurum bilgisini girin"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "İsim:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Numara:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "Tamam"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Geri al"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Önkurum 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Numarayı Sil"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Önkurum 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Yeniden Ara"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Önkurum 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Mikrofonu Sessizleştir"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Önkurum 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Kontrol"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Kayıt"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Dosyaya kayıt"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Yerel kanalları kaydet"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Uzak kanalları kaydet"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "ANT Notu"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Ses aygıtı açılamıyor. \n"
|
||||
"Lütfen ses aygıt(lar)ını kullanan\n"
|
||||
"diğer uygulamaları durdurun, ya da\n"
|
||||
"aygıt ayarlarını kontrol edin\n"
|
||||
"ve tekrar deneyin."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Ses girdi aygıtı:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Girdi hızı:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[etkin değil]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Girdi örnek boyu (bit):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Girdi parçacık boyu (örnek):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Girdi kanalları:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Ses çıktı aygıtı:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Çıktı hızı:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Çıktı örnek boyu (bit):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Çıktı kanalları:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "ISDN aygıtı:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "ISDN hızı (örnekler):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "ISDN örnek boyu (bit):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "ISDN parçacık boyu (bayt):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "ANT Bilgi"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "ANT hakkında"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT bir telefon değildir) Sürüm %s\n"
|
||||
"Telif hakkı 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Bu bir ISDN telefon uygulamasıdır.\n"
|
||||
"GNU/Linux ve ISDN4Linux için\n"
|
||||
"yazılmıştır.\n"
|
||||
"Tam dupleks ses kartları (veya çok sayıda\n"
|
||||
"ses aygıtı) ve ses yetenekli ISDN4Linux\n"
|
||||
"ISDN aygıtı kullanarak iletişim kurmak\n"
|
||||
"için hazırlanmıştır.\n"
|
||||
"\n"
|
||||
"İletişim:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"E-Posta Listesi: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "ANT Lisansı"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT bir telefon değildir)\n"
|
||||
"Telif Hakkı (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Bu program bir serbest yazılımdır. Bu yazılımı Free Software Foundation\n"
|
||||
"tarafından yayınlanmış olan GNU Genel Kamu Lisansının 2. ya da daha sonraki\n"
|
||||
"bir sürümünün koşulları altında kopyalayabilir, dağıtabilir ve/veya\n"
|
||||
"üzerinde değişiklik yapabilirsiniz.\n"
|
||||
"\n"
|
||||
"Bu program kullanışlı olabileceği umularak dağıtılmaktadır. Ancak,\n"
|
||||
"hiçbir GARANTİSİ YOKTUR; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR\n"
|
||||
"AMACA UYGUNLUĞU için bile garanti verilmez. Daha ayrıntılı bilgi\n"
|
||||
"edinmek için GNU Genel Kamu Lisansına bakınız.\n"
|
||||
"\n"
|
||||
"GNU Genel Kamu Lisansının bir kopyasını bu yazılımla birlikte almış\n"
|
||||
"olacaksınız; yoksa Free Software Foundation, Inc., 59 Temple Place\n"
|
||||
"Suite 330, Boston, MA 02111-1307, USA. adresinden isteyebilirsiniz."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/Telefon_"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Telefon/_Bilgi Penceresi"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Telefon/_Seviye Tespit Kontrolu"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Telefon/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Telefon/_Vazgeçiş"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Görüntü"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Görüntü/_Çağıran Birim Monitörü"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Görüntü/_Satır Seviyesi Ölçümü"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Görüntü/Kontrol_Yüzey"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/_Seçenekler"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Seçenekler/_Ayarlar"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/_Yardım"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Yardım/_Hakkında"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Yardım/_Lisans"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Bağlantı"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "SESSİZ"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Kötü isdn/SES aygıtı ayarları, lütfen tekrar deneyin"
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "ANT Ayarları"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Uygulamalar"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Seçenekler"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Çıkışta seçenekleri kaydedin"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Gelen aramada ana pencereyi açar"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Gelen aramada çalıştırılır:"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Kayıt Biçemi"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, signed 16 bit "
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, signed 16 bit"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "MSN'i tanımlama:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "MSN'leri dinleyin:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Arama tarihçe boyutu:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Maksimum CID satırı:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[sınırsız]"
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "isdn kütük bilgisini başlangıçta okur"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Isdn kütüğünden okunacak maksimum gün sayısı:"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Ses Aygıtları"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Girdi ses aygıtı:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Çıktı ses aygıtı:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Kullanılmayan aygıtları serbest bırakır"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Kaydet"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Ses Seviye Kontrolü"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Lütfen ses girdi seviyesini\n"
|
||||
"kontrol edin ve favori ses miksi\n"
|
||||
"uygulamalarınızı kullanarak \n"
|
||||
"ayarlayın. Ses çıktısını kontrol etmek için\n"
|
||||
"bir ses çalabilirsiniz."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Ses çalar"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Hazır"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Bağlan"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Telefonu kapa"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "ÇAL"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Cevap ver"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Reddet"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Telefonu aç"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "B kanalı açık"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Bantkaydı"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Dur"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "%d'yi önkurun"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(HW HATASI)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "Ses kapalı"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "Ses açık"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(MEŞGUL)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(ZAMAN AŞIMI)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(ÇALMIŞ)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(DURDURULDU)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(REDDEDİLDİ)"
|
Binary file not shown.
|
@ -0,0 +1,666 @@
|
|||
# Vietnamese translation for ant-phone-0.1.4.
|
||||
# Copyright © 2005 Roland Stigge
|
||||
# This file is distributed under the same license as the ant-phone-0.1.4 package.
|
||||
# Clytie Siddall <clytie@riverland.net.au>, 2005.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ant-phone 0.1.4\n"
|
||||
"Report-Msgid-Bugs-To: stigge@antcom.de\n"
|
||||
"POT-Creation-Date: 2004-04-03 18:51+0200\n"
|
||||
"PO-Revision-Date: 2005-04-11 17:21+0930\n"
|
||||
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
|
||||
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/ant-phone.c:170
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -h, --help Show this help message\n"
|
||||
" -v, --version Print version information\n"
|
||||
" -r, --cleanup Remove stale socket file (left by accident by\n"
|
||||
" previous run)\n"
|
||||
" -d, --debug[=level] Print additional runtime debugging data to stdout\n"
|
||||
" level = 1..2\n"
|
||||
" -i, --soundin=DEVICE OSS compatible device for input (recording),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -o, --soundout=DEVICE OSS compatible device for output (playback),\n"
|
||||
" default: /dev/dsp\n"
|
||||
" -m, --msn=MSN identifying MSN (for outgoing calls), 0 for "
|
||||
"master\n"
|
||||
" MSN of this termination/port\n"
|
||||
" default: 0\n"
|
||||
" -l, --msns=MSNS MSNs to listen on, semicolon-separated list or "
|
||||
"'*'\n"
|
||||
" default: *\n"
|
||||
" -c, --call=NUMBER Call specified number\n"
|
||||
"\n"
|
||||
"Note: If arguments of --soundin and --soundout are equal, a full duplex\n"
|
||||
" sound device is needed.\n"
|
||||
msgstr ""
|
||||
"Cách sử dụng: %s [TÙY_CHỌN...]\n"
|
||||
"\n"
|
||||
"Tùy chọn:\n"
|
||||
" -h, --help Hiển thị thông điệp _trợ giúp_ này\n"
|
||||
" -v, --version Hiển thị thông tin _phiên bản_\n"
|
||||
" -r, --cleanup Bỏ tập tin ổ cắm cũ (còn lại bất ngờ sau chạy "
|
||||
"trước) (_xóa_) -d, --debug[=MỨC] In dữ liệu _gỡ lỗi_ thời chạy thêm xuất "
|
||||
"thiết bị xuất chuẩn (stdout)\n"
|
||||
" MỨC = 1..2\n"
|
||||
" -i, --soundin=THIIẾT_BỊ thiết bị gõ tương thích với phần mềm nguồn mở "
|
||||
"(ghi)\n"
|
||||
"\t\t\t\t(_âm thành vào_) mặc định: /dev/dsp\n"
|
||||
" -o, --soundout=THIẾT_BỊ thiết bị xuất tương thích với phần mềm nguồn mở "
|
||||
"(phát)\n"
|
||||
"\t\t\t\t(_âm thành ra_) mặc định: /dev/dsp\n"
|
||||
" -m, --msn=SỐ số đa người ký tên (Multiple Subscriber Number: MSN) "
|
||||
"nhận biết để gọi qua điện thoại,\n"
|
||||
"\t\t\t0 cho MSN chính của cổng/thiết bị cuối này, mặc định: 0\n"
|
||||
" -l, --msns=NHỮNG_SỐ Những MSN để nghe qua, danh sách phân cách bằng dấu "
|
||||
"phẩy\n"
|
||||
"\t\t\thay dấu sao '*', mặc định: *\n"
|
||||
" -c, --call=SỐ _gọi_ số điện thoại ấy\n"
|
||||
"\n"
|
||||
"Ghi chú: nếu hai đối số --soundin (âm thành vào) và --soundout (âm thành "
|
||||
"xuất\n"
|
||||
"là bằng nhau thì cần thiết bị âm thành truyền dẫn hai chiếu đầy đủ (full "
|
||||
"duplex).\n"
|
||||
|
||||
#: src/ant-phone.c:221
|
||||
#, c-format
|
||||
msgid "Calling %s... "
|
||||
msgstr "Gọi %s..."
|
||||
|
||||
#: src/ant-phone.c:225
|
||||
#, c-format
|
||||
msgid "successful.\n"
|
||||
msgstr "được rồi.\n"
|
||||
|
||||
#: src/callerid.c:131
|
||||
msgid "Delete Entry"
|
||||
msgstr "Xóa bỏ mục"
|
||||
|
||||
#: src/callerid.c:143
|
||||
msgid ""
|
||||
"Are you sure you want to\n"
|
||||
"delete this entry?"
|
||||
msgstr ""
|
||||
"Bạn có chắc muốn xóa bỏ\n"
|
||||
"mục này không?"
|
||||
|
||||
#: src/callerid.c:148
|
||||
msgid "Delete recording"
|
||||
msgstr "Xóa bỏ mục ghi"
|
||||
|
||||
#: src/callerid.c:266
|
||||
#, c-format
|
||||
msgid "Enter the base filename for %s file"
|
||||
msgstr "Hãy nhập tên tập tin cơ bản cho tập tin %s"
|
||||
|
||||
#: src/callerid.c:312
|
||||
msgid "Do you really want to delete this recording?"
|
||||
msgstr "Bạn chắc muốn xóa bỏ mục ghi này không?"
|
||||
|
||||
#: src/callerid.c:336 src/callerid.c:362
|
||||
msgid "/_Playback"
|
||||
msgstr "/_Phát lại"
|
||||
|
||||
#: src/callerid.c:337 src/callerid.c:366
|
||||
msgid "/_Save as..."
|
||||
msgstr "/_Lưu là..."
|
||||
|
||||
#: src/callerid.c:338 src/callerid.c:370
|
||||
msgid "/Delete _Recording"
|
||||
msgstr "/Xóa bỏ mục _ghi"
|
||||
|
||||
#: src/callerid.c:340 src/callerid.c:374
|
||||
msgid "/_Delete Row"
|
||||
msgstr "/Xóa bỏ _hàng"
|
||||
|
||||
#: src/callerid.c:423 src/gtksettings.c:455
|
||||
msgid "Caller ID"
|
||||
msgstr "Xem số người gọi"
|
||||
|
||||
#: src/callerid.c:426
|
||||
msgid "Date/Time"
|
||||
msgstr "Ngày/Giờ"
|
||||
|
||||
#: src/callerid.c:427
|
||||
msgid "Type"
|
||||
msgstr "Loại"
|
||||
|
||||
#: src/callerid.c:428
|
||||
msgid "From"
|
||||
msgstr "Từ"
|
||||
|
||||
#: src/callerid.c:429
|
||||
msgid "To"
|
||||
msgstr "Cho"
|
||||
|
||||
#: src/callerid.c:430
|
||||
msgid "Duration"
|
||||
msgstr "Thời gian"
|
||||
|
||||
#: src/callerid.c:759
|
||||
msgid "(UNKNOWN)"
|
||||
msgstr "(không biết)"
|
||||
|
||||
#: src/callerid.c:828
|
||||
#, c-format
|
||||
msgid "ANT: %d unanswered"
|
||||
msgstr "ANT: %d chưa trả lời"
|
||||
|
||||
#: src/controlpad.c:101
|
||||
#, c-format
|
||||
msgid "Preset %c"
|
||||
msgstr "Lập trước %c"
|
||||
|
||||
#: src/controlpad.c:108
|
||||
#, c-format
|
||||
msgid "Please input new preset data for button %c:"
|
||||
msgstr "Hãy nhập dữ liệu lập trước mới cho cái nút %c:"
|
||||
|
||||
#: src/controlpad.c:121
|
||||
msgid "Name:"
|
||||
msgstr "Tên:"
|
||||
|
||||
#: src/controlpad.c:124 src/gtk.c:561
|
||||
msgid "Number:"
|
||||
msgstr "Số đt:"
|
||||
|
||||
#: src/controlpad.c:144 src/gtk.c:212 src/gtk.c:331 src/gtk.c:408
|
||||
#: src/gtksettings.c:571 src/llcheck.c:422
|
||||
msgid "OK"
|
||||
msgstr "Được"
|
||||
|
||||
#: src/controlpad.c:157 src/gtksettings.c:616 src/session.c:68
|
||||
msgid "Cancel"
|
||||
msgstr "Thôi"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Backspace"
|
||||
msgstr "Phím Xóa lùi"
|
||||
|
||||
#: src/controlpad.c:315
|
||||
msgid "Preset 1"
|
||||
msgstr "Lập trước 1"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Clear Number"
|
||||
msgstr "Xóa số"
|
||||
|
||||
#: src/controlpad.c:316
|
||||
msgid "Preset 2"
|
||||
msgstr "Lập trước 2"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Redial"
|
||||
msgstr "Quay số lại"
|
||||
|
||||
#: src/controlpad.c:317
|
||||
msgid "Preset 3"
|
||||
msgstr "Lập trước 3"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Mute Microphone"
|
||||
msgstr "Tắt máy vi âm"
|
||||
|
||||
#: src/controlpad.c:318
|
||||
msgid "Preset 4"
|
||||
msgstr "Lập trước 4"
|
||||
|
||||
#: src/controlpad.c:351
|
||||
msgid "Control"
|
||||
msgstr "Điều khiển"
|
||||
|
||||
#: src/controlpad.c:423
|
||||
msgid "Recording"
|
||||
msgstr "Ghi"
|
||||
|
||||
#: src/controlpad.c:434
|
||||
msgid "Record to file"
|
||||
msgstr "Ghi vào tập tin"
|
||||
|
||||
#: src/controlpad.c:445
|
||||
msgid "Record local channel"
|
||||
msgstr "Ghi kênh địa phương"
|
||||
|
||||
#: src/controlpad.c:456
|
||||
msgid "Record remote channel"
|
||||
msgstr "Ghi kênh từ xa"
|
||||
|
||||
#: src/gtk.c:230 src/gtksettings.c:229
|
||||
msgid "ANT Note"
|
||||
msgstr "Ant: chú thích"
|
||||
|
||||
#: src/gtk.c:231
|
||||
msgid ""
|
||||
"Can't open audio device.\n"
|
||||
"Please stop other applications using\n"
|
||||
"the audio device(s) or check your\n"
|
||||
"device settings and try again."
|
||||
msgstr ""
|
||||
"Không mở được thiết bị âm thanh.\n"
|
||||
"Hãy thôi các thiết bị khác sử dụng\n"
|
||||
"cùng thiết bị âm thanh ấy hay kiểm tra\n"
|
||||
"thiết lập thiết bị và thử lại."
|
||||
|
||||
#: src/gtk.c:260
|
||||
msgid "Sound input device:"
|
||||
msgstr "Thiết bị gõ âm thanh:"
|
||||
|
||||
#: src/gtk.c:261
|
||||
msgid "Input speed:"
|
||||
msgstr "Tốc độ gõ:"
|
||||
|
||||
#: src/gtk.c:261 src/gtk.c:264 src/gtk.c:265 src/gtk.c:267 src/gtk.c:271
|
||||
#: src/gtk.c:274 src/gtk.c:275 src/gtk.c:277
|
||||
msgid "[inactive]"
|
||||
msgstr "[không làm gì]"
|
||||
|
||||
#: src/gtk.c:263
|
||||
msgid "Input sample size (bits):"
|
||||
msgstr "Cỡ mẫu gõ (theo bit):"
|
||||
|
||||
#: src/gtk.c:265 src/gtk.c:275
|
||||
msgid "Input fragment size (samples):"
|
||||
msgstr "Cỡ mảnh gõ (theo mẫu):"
|
||||
|
||||
#: src/gtk.c:267
|
||||
msgid "Input channels:"
|
||||
msgstr "Kênh gõ:"
|
||||
|
||||
#: src/gtk.c:270
|
||||
msgid "Sound output device:"
|
||||
msgstr "Thiết bị âm thanh xuất:"
|
||||
|
||||
#: src/gtk.c:271
|
||||
msgid "Output speed:"
|
||||
msgstr "Tốc độ xuất:"
|
||||
|
||||
#: src/gtk.c:273
|
||||
msgid "Output sample size (bits):"
|
||||
msgstr "Cỡ mẫu xuât (theo bit):"
|
||||
|
||||
#: src/gtk.c:277
|
||||
msgid "Output channels:"
|
||||
msgstr "Kênh xuất:"
|
||||
|
||||
#: src/gtk.c:280
|
||||
msgid "ISDN device:"
|
||||
msgstr "Thiết bị ISDN:"
|
||||
|
||||
#: src/gtk.c:281
|
||||
msgid "ISDN speed (samples):"
|
||||
msgstr "Tốc độ ISDN (theo mẫu):"
|
||||
|
||||
#: src/gtk.c:282
|
||||
msgid "ISDN sample size (bits):"
|
||||
msgstr "Cỡ mẫu ISDN (theo bit):"
|
||||
|
||||
#: src/gtk.c:283
|
||||
msgid "ISDN fragment size (bytes):"
|
||||
msgstr "Cỡ mảnh ISDN (theo byte):"
|
||||
|
||||
#: src/gtk.c:295
|
||||
msgid "ANT Info"
|
||||
msgstr "Thông tin ANT"
|
||||
|
||||
#: src/gtk.c:366
|
||||
msgid "About ANT"
|
||||
msgstr "Giới thiệu ANT"
|
||||
|
||||
#: src/gtk.c:382
|
||||
#, c-format
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone) Version %s\n"
|
||||
"Copyright 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This is an ISDN telephone application\n"
|
||||
"written for GNU/Linux and ISDN4Linux for\n"
|
||||
"communicating via a full duplex soundcard (or\n"
|
||||
"multiple sound devices if you like) and an\n"
|
||||
"audio capable ISDN4Linux ISDN device\n"
|
||||
"\n"
|
||||
"Contact:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Mailing list: ant-phone-devel@nongnu.org"
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone) phiên bản %s\n"
|
||||
"(ANT không phải là một máy điện thoại)Bản quyền © năm 2002, 2003 Roland "
|
||||
"Stigge\n"
|
||||
"\n"
|
||||
"Đây là một ứng dụng điện thoai ISDN\n"
|
||||
"được tạo cho GNU/Linux và ISDN4Linux\n"
|
||||
"để truyền thông qua thẻ âm thanh truyền dẫn\n"
|
||||
"hai chiếu đầy đủ (hay số nhiều thiết bị nếu muốn)\n"
|
||||
"và thiết bị ISDN ISDN4Linux có thể gởi âm thanh.\n"
|
||||
"\n"
|
||||
"Liên hệ:\n"
|
||||
"Roland Stigge, stigge@antcom.de\n"
|
||||
"http://www.antcom.de/\n"
|
||||
"Hộp thư chung: ant-phone-devel@nongnu.org"
|
||||
|
||||
#: src/gtk.c:420
|
||||
msgid "ANT License"
|
||||
msgstr "Quyền ANT"
|
||||
|
||||
#: src/gtk.c:421
|
||||
msgid ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Copyright (C) 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or\n"
|
||||
"modify it under the terms of the GNU General Public License\n"
|
||||
"as published by the Free Software Foundation; either version 2\n"
|
||||
"of the License, or (at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
msgstr ""
|
||||
"ANT (ANT is Not a Telephone)\n"
|
||||
"Bản quyền © năm 2002, 2003 Roland Stigge\n"
|
||||
"\n"
|
||||
"Chương trình này là phần mềm tự do; bạn có thể phân phối nó lại và/hay\n"
|
||||
"sửa đổi nó theo điều kiện của Quyền Công Chung Gnu (GPL)\n"
|
||||
"như xuất do Tổ chức Phần mềm Tự do (Free Software Foundation)\n"
|
||||
"hoặc phiên bản 2 của quyền ấy hoặc (tùy chọn) bất cứ phiên bản sau nào.\n"
|
||||
"\n"
|
||||
"Chúng tôi phân phối chương trình này vì mong nó hữu ích,\n"
|
||||
"nhưng nó không bảo đảm gì cả, không có bảo đảm ngụ ý ngay cả\n"
|
||||
"khả năng bán hay khả năng làm việc dứt khoát.\n"
|
||||
"Hãy xem Quyền Công Chung Gnu (GPL) để tìm chi tiết.\n"
|
||||
"\n"
|
||||
"Nếu bạn chưa nhận một bản Quyền Công Chung Gnu\n"
|
||||
"(Gnu General Public Licence) cùng với chương trinh này thì hãy\n"
|
||||
"viết cho Tổ chức Phần mềm Tự do:\n"
|
||||
"Free SoftwareFoundation, Inc.,\n"
|
||||
"59 Temple Place - Suite 330,\n"
|
||||
"Boston, MA 02111-1307, USA (Mỹ)."
|
||||
|
||||
#: src/gtk.c:454
|
||||
msgid "/Phon_e"
|
||||
msgstr "/_Điện thoại"
|
||||
|
||||
#: src/gtk.c:455
|
||||
msgid "/Phone/_Info Window"
|
||||
msgstr "/Điện thoại/Cửa sổ thông t_in"
|
||||
|
||||
#: src/gtk.c:456 src/gtk.c:504
|
||||
msgid "/Phone/_Line Level Check"
|
||||
msgstr "/Điện thoại/Kiểm tra mức _dòng"
|
||||
|
||||
#: src/gtk.c:458
|
||||
msgid "/Phone/"
|
||||
msgstr "/Điện thoại/"
|
||||
|
||||
#: src/gtk.c:459
|
||||
msgid "/Phone/_Quit"
|
||||
msgstr "/Điện thoại/_Thoát"
|
||||
|
||||
#: src/gtk.c:461
|
||||
msgid "/_View"
|
||||
msgstr "/_Xem"
|
||||
|
||||
#: src/gtk.c:462 src/gtk.c:492
|
||||
msgid "/View/_Caller ID Monitor"
|
||||
msgstr "/Xem/Theo dõi số người dùng"
|
||||
|
||||
#: src/gtk.c:464 src/gtk.c:495
|
||||
msgid "/View/_Line Level Meters"
|
||||
msgstr "/Xem/Đo mức _dòng"
|
||||
|
||||
#: src/gtk.c:466 src/gtk.c:498
|
||||
msgid "/View/Control _Pad"
|
||||
msgstr "/Xem/_Bảng điều khiển"
|
||||
|
||||
#: src/gtk.c:468
|
||||
msgid "/_Options"
|
||||
msgstr "/Tùy _chọn"
|
||||
|
||||
#: src/gtk.c:469 src/gtk.c:501
|
||||
msgid "/Options/_Settings"
|
||||
msgstr "/Tùy chọn/Thiết _lập"
|
||||
|
||||
#: src/gtk.c:471
|
||||
msgid "/_Help"
|
||||
msgstr "/Trợ _giúp"
|
||||
|
||||
#: src/gtk.c:472
|
||||
msgid "/Help/_About"
|
||||
msgstr "/Trợ giúp/_Giới thiệu"
|
||||
|
||||
#: src/gtk.c:473
|
||||
msgid "/Help/_License"
|
||||
msgstr "/Trợ giúp/_Quyền"
|
||||
|
||||
#: src/gtk.c:551 src/gtksettings.c:431 src/session.c:68
|
||||
msgid "Dialing"
|
||||
msgstr "Quay số"
|
||||
|
||||
#: src/gtk.c:783 src/gtk.c:784
|
||||
msgid "MUTED"
|
||||
msgstr "Tắt tiếng rồi"
|
||||
|
||||
#: src/gtksettings.c:230
|
||||
msgid "Bad isdn/sound device settings, please try again."
|
||||
msgstr "Có thiết lập thiết bị ISDN/âm thanh sai nên hay thử lại."
|
||||
|
||||
#: src/gtksettings.c:293
|
||||
msgid "ANT Settings"
|
||||
msgstr "Thiết lập ANT"
|
||||
|
||||
#: src/gtksettings.c:306
|
||||
msgid "Application"
|
||||
msgstr "Ứng dụng"
|
||||
|
||||
#: src/gtksettings.c:308
|
||||
msgid "Options"
|
||||
msgstr "Tùy chọn"
|
||||
|
||||
#: src/gtksettings.c:320
|
||||
msgid "Save options on exit"
|
||||
msgstr "Lưu tùy chọn khi thoát"
|
||||
|
||||
#: src/gtksettings.c:327
|
||||
msgid "Popup main window on incoming call"
|
||||
msgstr "Bật lên cửa sổ chính khi nhận sự gọi"
|
||||
|
||||
#: src/gtksettings.c:333
|
||||
msgid "Execute on incoming call:"
|
||||
msgstr "Thi hành khi nhận sự gọi"
|
||||
|
||||
#: src/gtksettings.c:344
|
||||
msgid "Recording Format"
|
||||
msgstr "Dạng ghi"
|
||||
|
||||
#: src/gtksettings.c:354
|
||||
msgid "Microsoft WAV, uLaw"
|
||||
msgstr "Microsoft WAV, uLaw"
|
||||
|
||||
#: src/gtksettings.c:364
|
||||
msgid "Microsoft WAV, 16-bit signed"
|
||||
msgstr "Microsoft WAV, 16-bit đã ký tên"
|
||||
|
||||
#: src/gtksettings.c:374
|
||||
msgid "Apple/SGI AIFF, uLaw"
|
||||
msgstr "Apple/SGI AIFF, uLaw"
|
||||
|
||||
#: src/gtksettings.c:384
|
||||
msgid "Apple/SGI AIFF, 16-bit signed"
|
||||
msgstr "Apple/SGI AIFF, 16-bit đã ký tên"
|
||||
|
||||
#: src/gtksettings.c:397
|
||||
msgid "Phone"
|
||||
msgstr "Điện thoại"
|
||||
|
||||
#: src/gtksettings.c:399
|
||||
msgid "ISDN"
|
||||
msgstr "ISDN"
|
||||
|
||||
#: src/gtksettings.c:411
|
||||
msgid "Identifying MSN:"
|
||||
msgstr "Số đa người ký tên (Multiplê Subscriber Number: MSN) nhân biết:"
|
||||
|
||||
#: src/gtksettings.c:421
|
||||
msgid "Listen to MSNs:"
|
||||
msgstr "Nghe qua những số đa người ký tên (MSN) này:"
|
||||
|
||||
#: src/gtksettings.c:443
|
||||
msgid "Dial history size:"
|
||||
msgstr "Cỡ lịch sử quay số:"
|
||||
|
||||
#: src/gtksettings.c:467
|
||||
msgid "Maximum CID rows:"
|
||||
msgstr "Tối đa hàng số người gởi:"
|
||||
|
||||
#: src/gtksettings.c:475 src/gtksettings.c:503
|
||||
msgid "[no limit]"
|
||||
msgstr "[vô vùng] "
|
||||
|
||||
#: src/gtksettings.c:484
|
||||
msgid "Read isdnlog data on startup"
|
||||
msgstr "Đọc dữ liệu isdnlog (bản ghi ISDN) khi khởi động"
|
||||
|
||||
#: src/gtksettings.c:491
|
||||
msgid "Maximum days to read from isdnlog:"
|
||||
msgstr "Đọc từ isdnlog (bản ghi ISDN) được số ngày (tối đa):"
|
||||
|
||||
#: src/gtksettings.c:520
|
||||
msgid "Sound Devices"
|
||||
msgstr "Thiết bị âm thanh"
|
||||
|
||||
#: src/gtksettings.c:522
|
||||
msgid "OSS"
|
||||
msgstr "Phần mềm nguồn mở tự do"
|
||||
|
||||
#: src/gtksettings.c:534
|
||||
msgid "Input sound device:"
|
||||
msgstr "Thiết bị âm thanh gõ:"
|
||||
|
||||
#: src/gtksettings.c:546
|
||||
msgid "Output sound device:"
|
||||
msgstr "Thiết bị âm thanh xuất:"
|
||||
|
||||
#: src/gtksettings.c:559
|
||||
msgid "Release unused devices"
|
||||
msgstr "Nhả các thiết bị chưa sử dụng lại"
|
||||
|
||||
#: src/gtksettings.c:609
|
||||
msgid "Save"
|
||||
msgstr "Lưu"
|
||||
|
||||
#: src/llcheck.c:371
|
||||
msgid "Line Level Check"
|
||||
msgstr "Kiểm tra mức dòng"
|
||||
|
||||
#: src/llcheck.c:383
|
||||
msgid ""
|
||||
"Please check the line input level\n"
|
||||
"and adjust it using your favorite\n"
|
||||
"mixer application.\n"
|
||||
"You can also play a sound\n"
|
||||
"to test the sound output."
|
||||
msgstr ""
|
||||
"Hãy kiểm tra mức gõ dòng\n"
|
||||
"và điều chỉnh nó bằng ứng dụng\n"
|
||||
"hoà tiếng ưa thích của bạn.\n"
|
||||
"Bạn cũng có thể phát tiếng\n"
|
||||
"để thử xuất âm thanh ra."
|
||||
|
||||
#: src/llcheck.c:405
|
||||
msgid "Play sound"
|
||||
msgstr "Phát âm thanh"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Ready"
|
||||
msgstr "Sẵn sàng"
|
||||
|
||||
#: src/session.c:65
|
||||
msgid "Dial"
|
||||
msgstr "Quay số"
|
||||
|
||||
#: src/session.c:65 src/session.c:69 src/session.c:70
|
||||
msgid "Hang up"
|
||||
msgstr "Ngừng nói"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "RING"
|
||||
msgstr "REO"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Answer"
|
||||
msgstr "Trả lời"
|
||||
|
||||
#: src/session.c:66 src/session.c:67
|
||||
msgid "Reject"
|
||||
msgstr "Loại ra"
|
||||
|
||||
#: src/session.c:68 src/session.c:69 src/session.c:70 src/session.c:71
|
||||
msgid "Pick up"
|
||||
msgstr "Lấy"
|
||||
|
||||
#: src/session.c:69
|
||||
msgid "B-Channel open"
|
||||
msgstr "Kênh-B mở"
|
||||
|
||||
#: src/session.c:70
|
||||
msgid "Setup"
|
||||
msgstr "Thiết lập"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Playback"
|
||||
msgstr "Phát lại"
|
||||
|
||||
#: src/session.c:71
|
||||
msgid "Stop"
|
||||
msgstr "Ngừng"
|
||||
|
||||
#: src/session.c:377
|
||||
#, c-format
|
||||
msgid "Preset %d"
|
||||
msgstr "Lập trước %d"
|
||||
|
||||
#: src/session.c:699
|
||||
msgid "(HW ERROR)"
|
||||
msgstr "(Lỗi phần cứng)"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio OFF"
|
||||
msgstr "TẮT âm thanh"
|
||||
|
||||
#: src/session.c:1000
|
||||
msgid "Audio ON"
|
||||
msgstr "MỞ âm thanh"
|
||||
|
||||
#: src/session.c:1097
|
||||
msgid "(BUSY)"
|
||||
msgstr "(BẬN)"
|
||||
|
||||
#: src/session.c:1103
|
||||
msgid "(TIMEOUT)"
|
||||
msgstr "(HẾT THỜI)"
|
||||
|
||||
#: src/session.c:1139
|
||||
msgid "(RUNG)"
|
||||
msgstr "(REO RỒI)"
|
||||
|
||||
#: src/session.c:1381
|
||||
msgid "(ABORTED)"
|
||||
msgstr "(BỊ HỦY BỎ RỒI)"
|
||||
|
||||
#: src/session.c:1389
|
||||
msgid "(REJECTED)"
|
||||
msgstr "(LOẠI BỎ RỒI)"
|
|
@ -0,0 +1,88 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
bin_PROGRAMS = ant-phone
|
||||
|
||||
ant_phone_SOURCES = \
|
||||
ant-phone.c \
|
||||
callerid.c \
|
||||
g711.c \
|
||||
gtk.c \
|
||||
isdn.c \
|
||||
llcheck.c \
|
||||
mediation.c \
|
||||
session.c \
|
||||
sound.c \
|
||||
util.c \
|
||||
settings.c \
|
||||
calleridlexer.l \
|
||||
calleridparser.y \
|
||||
isdnlexer.l \
|
||||
isdnparser.y \
|
||||
gtksettings.c \
|
||||
controlpad.c \
|
||||
fxgenerator.c \
|
||||
server.c \
|
||||
client.c \
|
||||
recording.c \
|
||||
isdntree.c
|
||||
|
||||
noinst_HEADERS = \
|
||||
callerid.h \
|
||||
g711.h \
|
||||
gtk.h \
|
||||
isdn.h \
|
||||
llcheck.h \
|
||||
mediation.h \
|
||||
session.h \
|
||||
sound.h \
|
||||
util.h \
|
||||
settings.h \
|
||||
gtksettings.h \
|
||||
controlpad.h \
|
||||
fxgenerator.h \
|
||||
server.h \
|
||||
client.h \
|
||||
recording.h \
|
||||
globals.h \
|
||||
gettext.h \
|
||||
isdnlexer.h \
|
||||
isdntree.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
pickup.xpm \
|
||||
hangup.xpm \
|
||||
in.xpm \
|
||||
out.xpm \
|
||||
backspace.xpm \
|
||||
redial.xpm \
|
||||
mute.xpm \
|
||||
aboutlogo.xpm \
|
||||
record.xpm \
|
||||
icon16x16.xpm \
|
||||
icon32x32.xpm \
|
||||
icon48x48.xpm \
|
||||
icon64x64.xpm
|
||||
|
||||
top_srcdir = @top_srcdir@
|
||||
subdir = src
|
||||
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
|
||||
|
||||
LIBS = @LIBINTL@ @LIBS@
|
||||
|
||||
INCLUDES = -I../intl -I$(top_srcdir)/intl @DEPS_CFLAGS@
|
||||
AM_CFLAGS = -DVERSION='"@VERSION@"' -DPACKAGE='"@PACKAGE@"' @CFLAGS@
|
||||
AM_LDFLAGS = @DEPS_LIBS@
|
||||
LDADD = @LEXLIB@
|
||||
|
||||
AM_YFLAGS = -d
|
||||
##YFLAGS = -d
|
||||
AM_LFLAGS=-olex.yy.c
|
||||
##LFLAGS=-Pcallerid
|
||||
|
||||
BUILT_SOURCES = isdnparser.h calleridparser.h
|
|
@ -0,0 +1,567 @@
|
|||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = ant-phone$(EXEEXT)
|
||||
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in calleridlexer.c calleridparser.c \
|
||||
calleridparser.h isdnlexer.c isdnparser.c isdnparser.h
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_ant_phone_OBJECTS = ant-phone.$(OBJEXT) callerid.$(OBJEXT) \
|
||||
g711.$(OBJEXT) gtk.$(OBJEXT) isdn.$(OBJEXT) llcheck.$(OBJEXT) \
|
||||
mediation.$(OBJEXT) session.$(OBJEXT) sound.$(OBJEXT) \
|
||||
util.$(OBJEXT) settings.$(OBJEXT) calleridlexer.$(OBJEXT) \
|
||||
calleridparser.$(OBJEXT) isdnlexer.$(OBJEXT) \
|
||||
isdnparser.$(OBJEXT) gtksettings.$(OBJEXT) \
|
||||
controlpad.$(OBJEXT) fxgenerator.$(OBJEXT) server.$(OBJEXT) \
|
||||
client.$(OBJEXT) recording.$(OBJEXT) isdntree.$(OBJEXT)
|
||||
ant_phone_OBJECTS = $(am_ant_phone_OBJECTS)
|
||||
ant_phone_LDADD = $(LDADD)
|
||||
ant_phone_DEPENDENCIES =
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
|
||||
YLWRAP = $(top_srcdir)/ylwrap
|
||||
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
|
||||
SOURCES = $(ant_phone_SOURCES)
|
||||
DIST_SOURCES = $(ant_phone_SOURCES)
|
||||
HEADERS = $(noinst_HEADERS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
top_srcdir = @top_srcdir@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPS_CFLAGS = @DEPS_CFLAGS@
|
||||
DEPS_LIBS = @DEPS_LIBS@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC2 = @GLIBC2@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
HAVE_ASPRINTF = @HAVE_ASPRINTF@
|
||||
HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
|
||||
HAVE_SNPRINTF = @HAVE_SNPRINTF@
|
||||
HAVE_WPRINTF = @HAVE_WPRINTF@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBINTL@ @LIBS@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
ant_phone_SOURCES = \
|
||||
ant-phone.c \
|
||||
callerid.c \
|
||||
g711.c \
|
||||
gtk.c \
|
||||
isdn.c \
|
||||
llcheck.c \
|
||||
mediation.c \
|
||||
session.c \
|
||||
sound.c \
|
||||
util.c \
|
||||
settings.c \
|
||||
calleridlexer.l \
|
||||
calleridparser.y \
|
||||
isdnlexer.l \
|
||||
isdnparser.y \
|
||||
gtksettings.c \
|
||||
controlpad.c \
|
||||
fxgenerator.c \
|
||||
server.c \
|
||||
client.c \
|
||||
recording.c \
|
||||
isdntree.c
|
||||
|
||||
noinst_HEADERS = \
|
||||
callerid.h \
|
||||
g711.h \
|
||||
gtk.h \
|
||||
isdn.h \
|
||||
llcheck.h \
|
||||
mediation.h \
|
||||
session.h \
|
||||
sound.h \
|
||||
util.h \
|
||||
settings.h \
|
||||
gtksettings.h \
|
||||
controlpad.h \
|
||||
fxgenerator.h \
|
||||
server.h \
|
||||
client.h \
|
||||
recording.h \
|
||||
globals.h \
|
||||
gettext.h \
|
||||
isdnlexer.h \
|
||||
isdntree.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
pickup.xpm \
|
||||
hangup.xpm \
|
||||
in.xpm \
|
||||
out.xpm \
|
||||
backspace.xpm \
|
||||
redial.xpm \
|
||||
mute.xpm \
|
||||
aboutlogo.xpm \
|
||||
record.xpm \
|
||||
icon16x16.xpm \
|
||||
icon32x32.xpm \
|
||||
icon48x48.xpm \
|
||||
icon64x64.xpm
|
||||
|
||||
subdir = src
|
||||
localedir = $(datadir)/locale
|
||||
INCLUDES = -I../intl -I$(top_srcdir)/intl @DEPS_CFLAGS@
|
||||
AM_CFLAGS = -DVERSION='"@VERSION@"' -DPACKAGE='"@PACKAGE@"' @CFLAGS@
|
||||
AM_LDFLAGS = @DEPS_LIBS@
|
||||
LDADD = @LEXLIB@
|
||||
AM_YFLAGS = -d
|
||||
AM_LFLAGS = -olex.yy.c
|
||||
BUILT_SOURCES = isdnparser.h calleridparser.h
|
||||
all: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .l .o .obj .y
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
; then \
|
||||
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-binPROGRAMS:
|
||||
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
|
||||
calleridparser.h: calleridparser.c
|
||||
@if test ! -f $@; then \
|
||||
rm -f calleridparser.c; \
|
||||
$(MAKE) calleridparser.c; \
|
||||
else :; fi
|
||||
isdnparser.h: isdnparser.c
|
||||
@if test ! -f $@; then \
|
||||
rm -f isdnparser.c; \
|
||||
$(MAKE) isdnparser.c; \
|
||||
else :; fi
|
||||
ant-phone$(EXEEXT): $(ant_phone_OBJECTS) $(ant_phone_DEPENDENCIES)
|
||||
@rm -f ant-phone$(EXEEXT)
|
||||
$(LINK) $(ant_phone_LDFLAGS) $(ant_phone_OBJECTS) $(ant_phone_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ant-phone.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callerid.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calleridlexer.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calleridparser.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/controlpad.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxgenerator.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/g711.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtksettings.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isdn.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isdnlexer.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isdnparser.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isdntree.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llcheck.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mediation.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recording.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/server.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settings.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.l.c:
|
||||
$(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
|
||||
|
||||
.y.c:
|
||||
$(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
|
||||
uninstall-info-am:
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-am
|
||||
all-am: Makefile $(PROGRAMS) $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f calleridlexer.c
|
||||
-rm -f calleridparser.c
|
||||
-rm -f calleridparser.h
|
||||
-rm -f isdnlexer.c
|
||||
-rm -f isdnparser.c
|
||||
-rm -f isdnparser.h
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
|
||||
clean-generic ctags distclean distclean-compile \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-binPROGRAMS \
|
||||
install-data install-data-am install-exec install-exec-am \
|
||||
install-info install-info-am install-man install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
|
||||
uninstall-am uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,338 @@
|
|||
/* XPM */
|
||||
static char * aboutlogo_xpm[] = {
|
||||
"150 83 252 2",
|
||||
" g None",
|
||||
". g #FFFFFF",
|
||||
"+ g #FEFEFE",
|
||||
"@ g #F5F5F5",
|
||||
"# g #E4E4E4",
|
||||
"$ g #C0C0C0",
|
||||
"% g #B8B8B8",
|
||||
"& g #B3B3B3",
|
||||
"* g #B5B5B5",
|
||||
"= g #BEBEBE",
|
||||
"- g #CACACA",
|
||||
"; g #EFEFEF",
|
||||
"> g #9B9B9B",
|
||||
", g #656565",
|
||||
"' g #373737",
|
||||
") g #262626",
|
||||
"! g #1C1C1C",
|
||||
"~ g #070707",
|
||||
"{ g #030303",
|
||||
"] g #000000",
|
||||
"^ g #020202",
|
||||
"/ g #060606",
|
||||
"( g #0D0D0D",
|
||||
"_ g #232323",
|
||||
": g #4E4E4E",
|
||||
"< g #A0A0A0",
|
||||
"[ g #E6E6E6",
|
||||
"} g #B6B6B6",
|
||||
"| g #636363",
|
||||
"1 g #222222",
|
||||
"2 g #080808",
|
||||
"3 g #010101",
|
||||
"4 g #848484",
|
||||
"5 g #FDFDFD",
|
||||
"6 g #DDDDDD",
|
||||
"7 g #7F7F7F",
|
||||
"8 g #1B1B1B",
|
||||
"9 g #292929",
|
||||
"0 g #C1C1C1",
|
||||
"a g #DCDCDC",
|
||||
"b g #6E6E6E",
|
||||
"c g #111111",
|
||||
"d g #A8A8A8",
|
||||
"e g #FCFCFC",
|
||||
"f g #F9F9F9",
|
||||
"g g #A9A9A9",
|
||||
"h g #242424",
|
||||
"i g #0A0A0A",
|
||||
"j g #9A9A9A",
|
||||
"k g #E9E9E9",
|
||||
"l g #818181",
|
||||
"m g #616161",
|
||||
"n g #585858",
|
||||
"o g #626262",
|
||||
"p g #A1A1A1",
|
||||
"q g #CDCDCD",
|
||||
"r g #ECECEC",
|
||||
"s g #FBFBFB",
|
||||
"t g #EDEDED",
|
||||
"u g #8E8E8E",
|
||||
"v g #0F0F0F",
|
||||
"w g #2A2A2A",
|
||||
"x g #7C7C7C",
|
||||
"y g #D6D6D6",
|
||||
"z g #F4F4F4",
|
||||
"A g #C4C4C4",
|
||||
"B g #838383",
|
||||
"C g #8B8B8B",
|
||||
"D g #767676",
|
||||
"E g #DFDFDF",
|
||||
"F g #BABABA",
|
||||
"G g #1A1A1A",
|
||||
"H g #8C8C8C",
|
||||
"I g #F2F2F2",
|
||||
"J g #F6F6F6",
|
||||
"K g #AEAEAE",
|
||||
"L g #959595",
|
||||
"M g #AFAFAF",
|
||||
"N g #D0D0D0",
|
||||
"O g #F7F7F7",
|
||||
"P g #464646",
|
||||
"Q g #050505",
|
||||
"R g #575757",
|
||||
"S g #F0F0F0",
|
||||
"T g #A5A5A5",
|
||||
"U g #DEDEDE",
|
||||
"V g #CCCCCC",
|
||||
"W g #565656",
|
||||
"X g #B4B4B4",
|
||||
"Y g #8A8A8A",
|
||||
"Z g #C5C5C5",
|
||||
"` g #D5D5D5",
|
||||
" . g #6C6C6C",
|
||||
".. g #141414",
|
||||
"+. g #DBDBDB",
|
||||
"@. g #D7D7D7",
|
||||
"#. g #B9B9B9",
|
||||
"$. g #EEEEEE",
|
||||
"%. g #727272",
|
||||
"&. g #939393",
|
||||
"*. g #E7E7E7",
|
||||
"=. g #AAAAAA",
|
||||
"-. g #3F3F3F",
|
||||
";. g #676767",
|
||||
">. g #151515",
|
||||
",. g #909090",
|
||||
"'. g #4D4D4D",
|
||||
"). g #6D6D6D",
|
||||
"!. g #A3A3A3",
|
||||
"~. g #9D9D9D",
|
||||
"{. g #7E7E7E",
|
||||
"]. g #828282",
|
||||
"^. g #757575",
|
||||
"/. g #7B7B7B",
|
||||
"(. g #868686",
|
||||
"_. g #BDBDBD",
|
||||
":. g #E5E5E5",
|
||||
"<. g #363636",
|
||||
"[. g #040404",
|
||||
"}. g #8F8F8F",
|
||||
"|. g #858585",
|
||||
"1. g #B0B0B0",
|
||||
"2. g #777777",
|
||||
"3. g #171717",
|
||||
"4. g #272727",
|
||||
"5. g #F8F8F8",
|
||||
"6. g #A7A7A7",
|
||||
"7. g #989898",
|
||||
"8. g #C8C8C8",
|
||||
"9. g #E1E1E1",
|
||||
"0. g #E0E0E0",
|
||||
"a. g #C7C7C7",
|
||||
"b. g #414141",
|
||||
"c. g #090909",
|
||||
"d. g #535353",
|
||||
"e. g #969696",
|
||||
"f. g #F3F3F3",
|
||||
"g. g #404040",
|
||||
"h. g #FAFAFA",
|
||||
"i. g #C6C6C6",
|
||||
"j. g #606060",
|
||||
"k. g #0C0C0C",
|
||||
"l. g #BBBBBB",
|
||||
"m. g #3D3D3D",
|
||||
"n. g #505050",
|
||||
"o. g #474747",
|
||||
"p. g #BFBFBF",
|
||||
"q. g #686868",
|
||||
"r. g #787878",
|
||||
"s. g #3E3E3E",
|
||||
"t. g #2B2B2B",
|
||||
"u. g #E3E3E3",
|
||||
"v. g #D4D4D4",
|
||||
"w. g #121212",
|
||||
"x. g #303030",
|
||||
"y. g #EBEBEB",
|
||||
"z. g #EAEAEA",
|
||||
"A. g #F1F1F1",
|
||||
"B. g #6B6B6B",
|
||||
"C. g #9E9E9E",
|
||||
"D. g #4C4C4C",
|
||||
"E. g #4A4A4A",
|
||||
"F. g #101010",
|
||||
"G. g #5D5D5D",
|
||||
"H. g #ABABAB",
|
||||
"I. g #D3D3D3",
|
||||
"J. g #D8D8D8",
|
||||
"K. g #CFCFCF",
|
||||
"L. g #696969",
|
||||
"M. g #666666",
|
||||
"N. g #2C2C2C",
|
||||
"O. g #ADADAD",
|
||||
"P. g #A6A6A6",
|
||||
"Q. g #B2B2B2",
|
||||
"R. g #B1B1B1",
|
||||
"S. g #393939",
|
||||
"T. g #333333",
|
||||
"U. g #C3C3C3",
|
||||
"V. g #7D7D7D",
|
||||
"W. g #747474",
|
||||
"X. g #5A5A5A",
|
||||
"Y. g #888888",
|
||||
"Z. g #919191",
|
||||
"`. g #9C9C9C",
|
||||
" + g #BCBCBC",
|
||||
".+ g #C2C2C2",
|
||||
"++ g #D2D2D2",
|
||||
"@+ g #8D8D8D",
|
||||
"#+ g #7A7A7A",
|
||||
"$+ g #646464",
|
||||
"%+ g #595959",
|
||||
"&+ g #717171",
|
||||
"*+ g #5B5B5B",
|
||||
"=+ g #0E0E0E",
|
||||
"-+ g #0B0B0B",
|
||||
";+ g #5E5E5E",
|
||||
">+ g #999999",
|
||||
",+ g #878787",
|
||||
"'+ g #484848",
|
||||
")+ g #454545",
|
||||
"!+ g #323232",
|
||||
"~+ g #1D1D1D",
|
||||
"{+ g #A4A4A4",
|
||||
"]+ g #1F1F1F",
|
||||
"^+ g #424242",
|
||||
"/+ g #191919",
|
||||
"(+ g #6F6F6F",
|
||||
"_+ g #131313",
|
||||
":+ g #202020",
|
||||
"<+ g #B7B7B7",
|
||||
"[+ g #9F9F9F",
|
||||
"}+ g #2F2F2F",
|
||||
"|+ g #161616",
|
||||
"1+ g #515151",
|
||||
"2+ g #181818",
|
||||
"3+ g #5C5C5C",
|
||||
"4+ g #898989",
|
||||
"5+ g #2E2E2E",
|
||||
"6+ g #444444",
|
||||
"7+ g #4B4B4B",
|
||||
"8+ g #3C3C3C",
|
||||
"9+ g #979797",
|
||||
"0+ g #CBCBCB",
|
||||
"a+ g #E2E2E2",
|
||||
"b+ g #383838",
|
||||
"c+ g #343434",
|
||||
"d+ g #808080",
|
||||
"e+ g #5F5F5F",
|
||||
"f+ g #929292",
|
||||
"g+ g #1E1E1E",
|
||||
"h+ g #A2A2A2",
|
||||
"i+ g #434343",
|
||||
"j+ g #6A6A6A",
|
||||
"k+ g #E8E8E8",
|
||||
"l+ g #212121",
|
||||
"m+ g #797979",
|
||||
"n+ g #282828",
|
||||
"o+ g #545454",
|
||||
"p+ g #707070",
|
||||
"q+ g #C9C9C9",
|
||||
"r+ g #949494",
|
||||
"s+ g #ACACAC",
|
||||
"t+ g #D1D1D1",
|
||||
"u+ g #555555",
|
||||
"v+ g #3A3A3A",
|
||||
"w+ g #737373",
|
||||
"x+ g #494949",
|
||||
"y+ g #2D2D2D",
|
||||
"z+ g #353535",
|
||||
"A+ g #D9D9D9",
|
||||
"B+ g #DADADA",
|
||||
"C+ g #4F4F4F",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # $ % & & * = - ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ $ > , ' ) ! ~ { ] ] ^ / ( _ : < [ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . @ } | 1 2 3 ] ] ] ] ] ] ] ] ] ] ] ] ] { _ 4 ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . 5 6 7 8 { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 9 0 + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . + a b c ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] c d e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . f g h 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] i j k 0 l m n n o b p q r . . . . . . . . . . . . . . . . . . . . . . . . . . s t + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . s u v ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] c ) / ] ] ] ] ] ] ] ~ w x y + . . . . . . . . . . . . . . . . . . z A u B C B D E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . F c ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] G H I . . . . . . . . . . . . . . . J K L M N E O 5 + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . @ P ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q R S . . . . . . . . . . . . . N T U 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . V ~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 W z . . . . . . . . . . . = X e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . Y ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q B + . . . . . . . . + Z ` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . + .] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ..+.. . . . . . . . @.#.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . z $.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . + | ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] %.. . . . . . . z &.I . . . . . . . . . . + O [ *.$.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; =.-.&.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . + ;.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] >.S . + y ,.'.).Y !.. . . . . . . [ F ~.{.C ].^.^./.(.4 _.. . . . . . . . . . . . . . . . . . . . . . . . . . . :.&.<.[.] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . |.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 1.I 2.3.3 ] ] ] 4.> 5.. + [ 6.4 7.8.U k e + . . + O 9.` . . . . . . . . . . . . . . . . . . . . . . . . . 0.l 1 [.] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . a.Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] b.: ^ ] ] ] ] ] ] c.d.(./.e.9.f.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a ).3.^ ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . z g.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] {.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . h.i.j.k.] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . l.>.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q m.~.1 c.{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] n.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f.% o.c.] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . e 7.>.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] i x f.p.q.p.M r.c.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ! @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $.p s.Q ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . s } ' ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ t.T f u.v.f . . J m Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] w.[.] ] ] ] ] ] ] ] ] ] x.O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . y.j b.[.] ] ] ] ] ] ] ] ] ] ] 3 8 r.U + v.z.. . . . . A.B.( ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [.o.v.! ] ] ] ] ] ] ] ] ] ] j.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . @ N 7 -.( ] ] ] ] ] ] >.D.C u.e . U v.+ . . . . . . f % E.F.] ] ] ] ] ] ] ] ] ] ] ] ..}.; + G.] ] ] ] ] ] ] ] ] Q H.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . s I I.=.u u g J.z e . . . :.K.+ . . . . . . . . . s y.T t.^././.{.{./.L.M.%.m & + . . X ~ ] ] ] ] ] ] ] ] N.$.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . z O.s . . . . . . . . . . . . * b 5 . . . . . . . . [ P.. . . f ;.Q ] ] ] ] ] ] >.Q.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + R.$.. . . . . . . . . . . . y.).*.. . . . . . . . . + < f.. . . J 7.S.F./ / 2 T.K s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u.1.. . . . . . . . . . . . . u P.. . . . . . . . . . . $ 0 . . . . . O K.p.p.U.; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + T $.. . . . . . . . . . . . I 7 z . . . . . . . . . . . A.j e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . 5 ; J.#.j C V.W.G.R R R R X.%.D Y.Z.`.].+.I 5 . . . . . . . . . . +.+. . . . . . . . . . . . . P.# . . . . . . . . . . . . . I ++p @+#+$+R R %+&+B j = [ e . . . . . . . . . . . . . . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ,.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . + +.j *+x.=+i Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ..F.-+v T.;+>+0.+ . . . . . s `.f . e.,+|.).).).).).).D %.).d.'+O . . . . . . . . + y C P c i ^ ] ] ] ] ] ] ] ] 3 / ( 9 ;.& O . . . . . . . . D ).).).).).)+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] <.).).).).).).).).).)._.. . . . . . ",
|
||||
". . . . . . . . . . . . . . e E C !+^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [.~+] ] ] ] ] ] 3 m.{+z.+ . . :.=.. . ]+] ] ] ] ] ] ] ] [.G { ] ] t . . . . . . S d ^+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] /+7 +.e . . . . . F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . . . . . . . U (+w.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] _+=+] ] ] ] ] ] ] ] ] :+Y.k . <+0 . . ]+] ] ] ] ] ] ] ] ] c ..3 ] #.. . . . I < t.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] _+b *.. . . . F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . . . . . f [+~+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] F.v ] ] ] ] ] ] ] ] ] ] [.}+X &.f . . ]+] ] ] ] ] ] ] ] ] { 3.2 ] #.. . 5 Z P ~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] !+ ++ . . F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . . . . ; W.2 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ~+3 ] ] ] ] ] ] ] ] ] ] ] ] i n h.. . ]+] ] ] ] ] ] ] ] ] ] -+..3 #.. J @+|+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] _+d + . F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . . . t 1+Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] w.] ] ] ] ] ] ] ] ] ] ] ] ] 3 2+H + . ]+] ] ] ] ] ] ] ] ] ] 3 _+~ #.S 3+~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] w.#.. F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . . @ ;+3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] c U.. ]+] ] ] ] ] ] ] ] ] ] ] ] ] T E.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] x.k F.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . 5 4+Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] : f ]+] ] ] ] ] ] ] ] ] ] ] ] ] Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 2.=+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . . Z c ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ( ~+5+6+7+7+m.5+_ >.2 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -+++]+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 2 2+N.8+7+^+w |+~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] _+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . ",
|
||||
". . . . . . f -.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 2 b.9+0+f.+ . . . . . f a+= 4+b+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] &.]+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [.c+d+= k 5 . . . 5 :.} e+c ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 { { { { { { { { { { f+. . . . . . ",
|
||||
". . . . . . R.[.] ] ] ] ] ] ] ] ] ] ] ] ] ] 3.`.f.. . . . . . . . . . . . . I B / ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j.g+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { x.h+S . . . . . . . . . . 5 8.T.{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 8+p.p.p.p.p.D 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] M.p.p.p.p.p.p.p.p.p.p.:.. . . . . . ",
|
||||
". . . . . . i+] ] ] ] ] ] ] ] ] ] ] ] ] ] >.<++ . . . . . . . . . . . . . . . e V.[.] ] ] ] ] ] ] ] ] ] ] ] ] ] g.|+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { j+k+. . . . . . . . . . . . . . :.E.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] /+. . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . A.3+T.! 3 ] ] ] ] ] ] ] ] ] ] Q >++ . . . . . . . . . . . . . . . . . [ g+] ] ] ] ] ] ] ] ] ] ] ] ] ] ]+-+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q |.5.. . . . . . . . . . . . . . . . @.l+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [.z . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . 5 5.f.9.Z !.2.X.w c [.^ 3 ] ^+s . . . . . . . . . . . . . . . . . . 5 ;+] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { j+f . . . . . . . . . . . . . . . . . . 4 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ a . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . s :.F ~.m+8.. . . . . . . . . . . . . . . . . . . . l ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] _ 9.. . . . . . . . . . . . . . . . . . . q =+] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 a.. . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^.. . . . . . . . . . . . . . . . . . . . A.n+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] p . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + y.D ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ~ l.. . . . . . . . . . . . . . . . . . . . + m.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + $.Z >+o+) i ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3.t . . . . . . . . . . . . . . . . . . . . . D.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e k+a.[+W.b.g+-+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ) + . . . . . . . . . . . . . . . . . . . . . p+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . 5 ; q+~.#+'+1 v c.^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] '+. . . . . . . . . . . . . . . . . . . . . . #+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . h.$.a.e.;.b.2+3 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] B.. . . . . . . . . . . . . . . . . . . . . . r+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . s k+p.r.P =+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] r.. . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . r s+3+1 { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y.. . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . z.Z.N.[.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . 5 & !+Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] c.( ] ] ] ] ] ] ] ] ] ] ] ] ] ] c.{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . h.Y.=+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ >.g.p+g I.B.] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . s m+2 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 Q F.x.n.].=.` J s + . . %.] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . 7./ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ( w | 7.- r e . . . . . . . . . %.] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . . t+-+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q 8+@+q f . . . . . . . . . . . . . . %.] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] }.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . + W ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 2+7.f.. . . . . . . . . . . . . . . . . L.] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y.. . . . . . . . . . . . . . . . . ",
|
||||
". . . . ++c ] ] ] ] ] ] ] ] ] ] ] ] ] ] F.<++ . . . . . . . . . . . . . . . . . . u+] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . C.3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] b . . . . . . . . . . . . . . . . . ",
|
||||
". . . . 7.^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] #++ . . . . . . . . . . . . . . . . . . 5.^+] ] ] ] ] ] ] ] ] ] ] ] ] ] v Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . <+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ).. . . . . . . . . . . . . . . . . ",
|
||||
". . . . d.] ] ] ] ] ] ] ] ] ] ] ] ] ] [.K.. . . . . . . . . . . . . . . . . . . y._ ] ] ] ] ] ] ] ] ] ] ] ] ] ] w./ ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . - [.] ] ] ] ] ] ] ] ] ] ] ] ] ] ).. . . . . . . . . . . . . . . . . ",
|
||||
". . . 5 v+] ] ] ] ] ] ] ] ] ] ] ] ] ] / a+. . . . . . . . . . . . . . . . . . . _.^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . - [.] ] ] ] ] ] ] ] ] ] ] ] ] ] ).. . . . . . . . . . . . . . . . . ",
|
||||
". . . 5 N.] ] ] ] ] ] ] ] ] ] ] ] ] ] { % . . . . . . . . . . . . . . . . . . @ P ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . - [.] ] ] ] ] ] ] ] ] ] ] ] ] ] d.. . . . . . . . . . . . . . . . . ",
|
||||
". . . 5 ' ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] e+5 . . . . . . . . . . . . . . . . e x 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . 0+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] S.5 . . . . . . . . . . . . . . . . ",
|
||||
". . . . E.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -+1.. . . . . . . . . . . . . . . ; w+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 2 { ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . # Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ..8.. . . . . . . . 5 O . . . . . . ",
|
||||
". . . . u 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] |+6.s . . . . . . . . . . . f <+S.^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . S / ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 N.{+S . . s :.X ].x+~.. . . . . . ",
|
||||
". . . . Z i ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] c.m N + . . . . . . . z.> -.2 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . e ..] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q _+y+<.! c Q 3 ] %.. . . . . . ",
|
||||
". . . . 5 b.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] / z+w+`.{+{+7.%.-.i 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . T.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] E.. . . . . . ",
|
||||
". . . . . p.=+] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . x ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ~+. . . . . . ",
|
||||
". . . . . . w+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . Z { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] =+J . . . . . ",
|
||||
". . . . . . f.%+{ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ..j+8 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . f s.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] / A+. . . . . ",
|
||||
". . . . . . . t , { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 b.A e X.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . . _.v ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ O.. . . . . ",
|
||||
". . . . . . . . z (.w.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ~+Z.I . . & / ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . . e H ~ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 L . . . . . ",
|
||||
". . . . . . . . . 5 0+o.[.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ~+4+z.+ . . . J t.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Y . . . . . . . . . . . . . . . . . . . . . . &.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] j . . . . . . . e H.]+3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] w+. . . . . ",
|
||||
". . . . . . . . . . . + U.u+_+[.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [.>.D.!.A.. . . . . . . H [.{ { { { { { { { { { { { { { { { { { { { { { { { { { C . . . . . . . . . . . . . . . . . . . . . . r+{ { { { { { { { { { { { { { { j . . . . . . . . . k+l h / ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 3 2 ]+H . . . . . ",
|
||||
". . . . . . . . . . . . . . *.s+, b+~+w./ ] ] ] ] ] ] [.c ~+S.q.=.[ + . . . . . . . . . r 1.K K K K K K K K K K K K K K K K K K K K K K K K K K A+. . . . . . . . . . . . . . . . . . . . . . +.K K K K K K K K K K K K K K K B+. . . . . . . . . . . z * q.' G v ^ ] ] ] ] ] ] ~ _+~+5+C+Z.p.z . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . s :.I.l.g [+> > > =.<+t+[ s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f 0.q 1.!.> > > {+H.= v.:.f . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue