From bd338658be90fec39f804c8415a7050680927306 Mon Sep 17 00:00:00 2001 From: Jordi Mallach Date: Mon, 3 Jun 2002 12:32:28 +0000 Subject: [PATCH] Upgraded to gettext 0.11.2. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1219 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ABOUT-NLS | 323 ++++++---- ChangeLog | 2 + Makefile.am | 9 +- README.CVS | 2 +- config.rpath | 513 ++++++++++++++++ configure.ac | 6 +- intl/.cvsignore | 3 - intl/ChangeLog | 4 - intl/Makefile.in | 313 ---------- intl/VERSION | 1 - intl/bindtextdom.c | 369 ----------- intl/config.charset | 438 ------------- intl/dcgettext.c | 58 -- intl/dcigettext.c | 1259 -------------------------------------- intl/dcngettext.c | 60 -- intl/dgettext.c | 59 -- intl/dngettext.c | 61 -- intl/explodename.c | 192 ------ intl/finddomain.c | 198 ------ intl/gettext.c | 64 -- intl/gettext.h | 102 ---- intl/gettextP.h | 252 -------- intl/hash-string.h | 59 -- intl/intl-compat.c | 166 ----- intl/l10nflist.c | 405 ------------ intl/libgettext.h | 49 -- intl/libgnuintl.h | 128 ---- intl/loadinfo.h | 109 ---- intl/loadmsgcat.c | 567 ----------------- intl/localcharset.c | 271 -------- intl/locale.alias | 78 --- intl/localealias.c | 404 ------------ intl/ngettext.c | 68 --- intl/plural.c | 1326 ---------------------------------------- intl/plural.y | 413 ------------- intl/ref-add.sin | 31 - intl/ref-del.sin | 26 - intl/textdomain.c | 142 ----- m4/ChangeLog | 14 + m4/Makefile.am | 4 +- m4/aclocal_inc.m4 | 6 - m4/codeset.m4 | 10 +- m4/gettext.m4 | 719 +++++++++++++--------- m4/glibc21.m4 | 10 +- m4/iconv.m4 | 57 +- m4/isc-posix.m4 | 26 + m4/lcmessage.m4 | 34 +- m4/lib-ld.m4 | 97 +++ m4/lib-link.m4 | 548 +++++++++++++++++ m4/lib-prefix.m4 | 148 +++++ m4/progtest.m4 | 36 +- po/ChangeLog | 11 + po/Makefile.in.in | 273 ++++++--- po/Makevars | 25 + po/Rules-quot | 42 ++ po/boldquot.sed | 10 + po/ca.po | 304 ++++++--- po/cs.po | 82 +-- po/da.po | 82 +-- po/de.po | 250 +++++--- po/en@boldquot.header | 25 + po/en@quot.header | 22 + po/es.po | 319 ++++++---- po/fi.po | 82 +-- po/fr.po | 257 +++++--- po/gl.po | 250 +++++--- po/hu.po | 84 ++- po/id.po | 82 +-- po/insert-header.sin | 23 + po/it.po | 223 ++++--- po/nb.po | 82 +-- po/nl.po | 82 +-- po/nn.po | 82 +-- po/pl.po | 82 +-- po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/ru.po | 82 +-- po/sv.po | 82 +-- po/uk.po | 82 +-- 79 files changed, 3947 insertions(+), 9337 deletions(-) create mode 100755 config.rpath delete mode 100644 intl/.cvsignore delete mode 100644 intl/ChangeLog delete mode 100644 intl/Makefile.in delete mode 100644 intl/VERSION delete mode 100644 intl/bindtextdom.c delete mode 100755 intl/config.charset delete mode 100644 intl/dcgettext.c delete mode 100644 intl/dcigettext.c delete mode 100644 intl/dcngettext.c delete mode 100644 intl/dgettext.c delete mode 100644 intl/dngettext.c delete mode 100644 intl/explodename.c delete mode 100644 intl/finddomain.c delete mode 100644 intl/gettext.c delete mode 100644 intl/gettext.h delete mode 100644 intl/gettextP.h delete mode 100644 intl/hash-string.h delete mode 100644 intl/intl-compat.c delete mode 100644 intl/l10nflist.c delete mode 100644 intl/libgettext.h delete mode 100644 intl/libgnuintl.h delete mode 100644 intl/loadinfo.h delete mode 100644 intl/loadmsgcat.c delete mode 100644 intl/localcharset.c delete mode 100644 intl/locale.alias delete mode 100644 intl/localealias.c delete mode 100644 intl/ngettext.c delete mode 100644 intl/plural.c delete mode 100644 intl/plural.y delete mode 100644 intl/ref-add.sin delete mode 100644 intl/ref-del.sin delete mode 100644 intl/textdomain.c create mode 100644 m4/ChangeLog delete mode 100644 m4/aclocal_inc.m4 create mode 100644 m4/isc-posix.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 po/Makevars create mode 100644 po/Rules-quot create mode 100644 po/boldquot.sed create mode 100644 po/en@boldquot.header create mode 100644 po/en@quot.header create mode 100644 po/insert-header.sin create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin diff --git a/ABOUT-NLS b/ABOUT-NLS index 5fde45a0..224f72c5 100644 --- a/ABOUT-NLS +++ b/ABOUT-NLS @@ -113,6 +113,13 @@ 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. @@ -164,128 +171,202 @@ Available Packages ================== Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of September -2001. The matrix shows, in regard of each package, for which languages +matrix shows the current state of internationalization, as of April +2002. 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 bg cs da de el en eo es et fi fr gl he hr id it ja - +----------------------------------------------------+ - a2ps | [] [] [] | - bash | [] [] [] [] | - bfd | | - binutils | [] | - bison | [] [] [] [] [] | - clisp | [] [] [] [] | - cpio | [] [] [] [] [] | - diffutils | [] [] [] [] [] [] [] | - enscript | [] [] | - error | [] [] | - fetchmail | | - fileutils | [] [] [] [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] | - freetype | | - gas | | - gawk | [] [] | - gcal | | - gcc | | - gettext | [] [] [] [] [] [] [] [] [] [] | - gnupg | [] [] [] [] [] [] [] | - gprof | | - grep | [] [] [] [] [] [] [] [] | - hello | [] [] [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] | - indent | [] [] [] [] [] | - jpilot | [] | - kbd | | - ld | [] | - libc | [] [] [] [] [] [] [] [] | - lilypond | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] [] [] [] | - make | [] [] [] [] [] [] | - mysecretdiary | [] | - nano | [] [] [] | - opcodes | | - parted | [] [] [] | - ptx | [] [] [] [] [] [] [] | - python | | - recode | [] [] [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] [] | - sketch | | - soundtracker | [] [] [] | - sp | | - tar | [] [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] [] | - textutils | [] [] [] [] [] [] [] [] | - util-linux | [] [] | - wdiff | [] [] [] | - wget | [] [] [] [] [] [] [] [] [] [] | - +----------------------------------------------------+ - bg cs da de el en eo es et fi fr gl he hr id it ja - 0 14 24 32 11 1 8 23 13 1 33 22 4 0 7 9 18 + Ready PO files bg ca cs da de el en eo es et fi fr + +-------------------------------------+ + a2ps | [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] [] | + clisp | [] [] [] [] | + cpio | [] [] [] [] | + diffutils | [] [] [] [] [] [] | + enscript | [] [] | + error | [] [] | + fetchmail | [] () [] [] [] () | + fileutils | [] [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + gas | [] [] | + gawk | [] [] [] | + gcal | [] [] | + gcc | [] [] | + gettext | [] [] [] [] [] | + gnupg | [] [] [] [] [] [] | + gprof | [] [] | + gpsdrive | () () () () () | + grep | [] [] [] [] [] [] [] | + gretl | | + hello | [] [] [] [] [] [] [] [] | + id-utils | [] [] [] | + indent | [] [] [] [] [] | + jpilot | () [] [] [] | + jwhois | [] [] | + kbd | [] [] | + ld | [] [] | + libc | [] [] [] [] [] [] [] | + lilypond | [] [] | + lynx | [] [] [] [] | + m4 | [] [] [] [] [] | + make | [] [] [] [] | + mysecretdiary | [] [] | + nano | [] () [] [] [] [] | + nano_1_0 | [] () [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + ptx | [] [] [] [] [] | + python | | + recode | [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] | + sketch | () [] () | + soundtracker | [] [] [] | + sp | [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + textutils | [] [] [] [] [] | + util-linux | [] [] [] [] [] [] | + vorbis-tools | | + wastesedge | | + wdiff | [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] [] | + +-------------------------------------+ + bg ca cs da de el en eo es et fi fr + 2 14 11 31 40 10 1 8 41 16 1 50 - ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh - +----------------------------------------------------+ - a2ps | [] [] [] | 6 - bash | | 4 - bfd | | 0 - binutils | | 1 - bison | [] | 6 - clisp | [] | 5 - cpio | [] [] [] [] [] | 10 - diffutils | [] [] [] [] | 11 - enscript | [] [] [] | 5 - error | [] [] | 4 - fetchmail | | 0 - fileutils | [] [] [] [] [] [] [] [] [] | 17 - findutils | [] [] [] [] [] [] [] [] | 16 - flex | [] [] [] | 6 - freetype | | 0 - gas | | 0 - gawk | [] | 3 - gcal | | 0 - gcc | | 0 - gettext | [] [] [] [] [] [] [] [] | 18 - gnupg | [] [] [] | 10 - gprof | | 0 - grep | [] [] [] [] | 12 - hello | [] [] [] [] [] [] [] [] [] [] [] | 22 - id-utils | [] [] [] | 6 - indent | [] [] [] [] [] [] [] | 12 - jpilot | | 1 - kbd | [] | 1 - ld | | 1 - libc | [] [] [] [] [] [] [] [] | 16 - lilypond | [] [] | 3 - lynx | [] [] [] [] | 8 - m4 | [] [] [] [] | 12 - make | [] [] [] [] [] [] | 12 - mysecretdiary | | 1 - nano | [] | 4 - opcodes | [] | 1 - parted | [] [] | 5 - ptx | [] [] [] [] [] [] [] [] | 15 - python | | 0 - recode | [] [] [] [] | 13 - sed | [] [] [] [] [] [] [] | 19 - sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 21 - sharutils | [] [] [] | 11 - sketch | | 0 - soundtracker | | 3 - sp | | 0 - tar | [] [] [] [] [] [] [] | 15 - texinfo | [] | 7 - textutils | [] [] [] [] [] [] [] [] | 16 - util-linux | [] [] | 4 - wdiff | [] [] [] [] | 7 - wget | [] [] [] [] [] [] [] | 17 - +----------------------------------------------------+ - 33 teams ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh - 53 domains 9 1 6 20 0 6 17 1 13 25 10 11 23 21 2 2 387 + gl he hr hu id it ja ko lv nb nl nn + +-------------------------------------+ + a2ps | () () [] | + bash | | + bfd | [] | + binutils | [] | + bison | [] [] | + clisp | [] | + cpio | [] [] [] | + diffutils | [] [] [] [] | + enscript | [] [] | + error | [] | + fetchmail | [] | + fileutils | [] [] [] | + findutils | [] [] [] [] [] [] [] | + flex | [] | + gas | | + gawk | [] | + gcal | | + gcc | | + gettext | [] [] | + gnupg | [] [] [] [] | + gprof | | + gpsdrive | () () | + grep | [] [] [] [] [] [] | + gretl | | + hello | [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] | + indent | [] [] [] | + jpilot | () () | + jwhois | [] | + kbd | | + ld | | + libc | [] [] [] [] | + lilypond | [] [] | + lynx | [] [] [] | + m4 | [] [] [] [] | + make | [] [] [] [] [] [] | + mysecretdiary | | + nano | [] [] [] () [] [] [] | + nano_1_0 | [] [] [] () [] [] | + opcodes | [] | + parted | [] [] [] | + ptx | [] [] [] [] | + python | | + recode | [] [] [] | + sed | [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] [] | + sharutils | [] [] [] | + sketch | () | + soundtracker | [] | + sp | | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + textutils | [] [] [] | + util-linux | () [] | + vorbis-tools | | + wastesedge | | + wdiff | [] [] | + wget | [] [] [] [] [] [] | + +-------------------------------------+ + gl he hr hu id it ja ko lv nb nl nn + 23 9 8 4 12 12 25 9 1 8 20 4 + + no pl pt pt_BR ru sk sl sv tr uk zh_TW + +----------------------------------------+ + a2ps | () () () [] [] [] [] () | 9 + bash | | 4 + bfd | [] [] | 5 + binutils | [] | 4 + bison | [] [] [] | 9 + clisp | | 5 + cpio | [] [] [] [] | 11 + diffutils | [] [] [] [] [] [] | 16 + enscript | [] [] [] | 7 + error | [] [] [] | 6 + fetchmail | () () [] | 6 + fileutils | [] [] [] [] [] | 13 + findutils | [] [] [] [] [] [] [] | 19 + flex | [] [] [] | 9 + gas | [] | 3 + gawk | [] [] | 6 + gcal | [] [] | 4 + gcc | [] | 3 + gettext | [] [] [] [] [] [] | 13 + gnupg | [] [] [] | 13 + gprof | [] [] | 4 + gpsdrive | () | 0 + grep | [] [] [] [] | 17 + gretl | | 0 + hello | [] [] [] [] [] [] [] | 27 + id-utils | [] [] | 6 + indent | [] [] [] [] | 12 + jpilot | () () [] | 4 + jwhois | () () [] [] | 5 + kbd | [] [] | 4 + ld | [] [] | 4 + libc | [] [] [] [] [] [] | 17 + lilypond | [] | 5 + lynx | [] [] [] | 10 + m4 | [] [] [] | 12 + make | [] [] [] [] | 14 + mysecretdiary | [] [] | 4 + nano | () [] [] [] [] | 15 + nano_1_0 | () [] [] [] [] | 14 + opcodes | [] [] | 6 + parted | [] [] [] | 11 + ptx | [] [] [] [] [] [] | 15 + python | | 0 + recode | [] [] [] [] | 13 + sed | [] [] [] [] [] [] | 21 + sh-utils | [] [] [] [] [] [] [] [] [] | 22 + sharutils | [] [] [] [] | 13 + sketch | [] () | 3 + soundtracker | [] | 5 + sp | | 1 + tar | [] [] [] [] [] [] [] | 18 + texinfo | [] [] | 10 + textutils | [] [] [] [] [] | 13 + util-linux | [] [] [] | 10 + vorbis-tools | [] | 1 + wastesedge | | 0 + wdiff | [] [] [] [] | 12 + wget | [] [] [] [] [] [] [] [] | 23 + +----------------------------------------+ + 35 teams no pl pt pt_BR ru sk sl sv tr uk zh_TW + 58 domains 5 16 2 14 27 11 11 41 36 4 9 536 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 @@ -298,9 +379,9 @@ 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 September 2001 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 + If April 2002 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 diff --git a/ChangeLog b/ChangeLog index 1f4035fe..13661cbb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ CVS Code - - General: - Translation updates (see po/ChangeLog for details). + - Upgraded to gettext 0.11.2. + Removed intl/ entirely, and a few more tweaks by gettextize. - global.c: shortcut_init() - Rework IFHELP macro (David Benbennick). diff --git a/Makefile.am b/Makefile.am index fe1d3d38..7d00ca44 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,10 +24,13 @@ info_TEXINFOS = nano.texi MAKEINFO = makeinfo --no-split EXTRA_DIST = ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL NEWS \ - README THANKS TODO install-sh missing mkinstalldirs \ - nano.1 nano.1.html faq.html nanorc.sample nano.spec + README THANKS TODO config.rpath install-sh missing \ + mkinstalldirs nano.1 nano.1.html faq.html nanorc.sample \ + nano.spec -SUBDIRS = po intl m4 +SUBDIRS = po m4 localedir = $(datadir)/locale INCLUDES = -Iintl -DLOCALEDIR=\"$(localedir)\" -I@includedir@ + +ACLOCAL_AMFLAGS = -I m4 diff --git a/README.CVS b/README.CVS index 26cb310a..3dab8084 100644 --- a/README.CVS +++ b/README.CVS @@ -10,7 +10,7 @@ following packages: - autoconf (version >= 2.52) - automake (version 1.4-pl5 recommended) - autoheader -- gettext (version 0.10.40) +- gettext (version 0.10.40, >= 0.11 recommended) - texinfo - cvs - make, gcc and the normal development libraries (ncurses, etc) diff --git a/config.rpath b/config.rpath new file mode 100755 index 00000000..5ead7586 --- /dev/null +++ b/config.rpath @@ -0,0 +1,513 @@ +#! /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-2002 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 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. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shlibext= + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix3* | aix4* | aix5*) + wl='-Wl,' + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6*) + wl='-Wl,' + ;; + linux*) + echo '__INTEL_COMPILER' > conftest.$ac_ext + if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null + then + : + else + # Intel icc + wl='-Qoption,ld,' + fi + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + if test "x$host_vendor" = xsni; then + wl='-LD' + else + wl='-Wl,' + fi + ;; + esac +fi + +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, the GNU linker is very broken + ld_shlibs=no + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II 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' + ;; + 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 + 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 + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' + 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 + ;; + 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*) + hardcode_direct=yes + ;; + 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* | hpux10* | hpux11*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_minus_L=yes # Not in the search PATH, but as the default + # location of the library. + ;; + irix5* | irix6*) + 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) + if test "x$host_vendor" = xsno; then + hardcode_direct=yes # is this really true??? + else + hardcode_direct=no # Motorola manual says yes, but my tests say they lie + fi + ;; + sysv4.3*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5uw7* | unixware7*) + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +libname_spec='lib$name' +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +case "$host_os" in + aix3*) + shlibext=so + ;; + aix4* | aix5*) + shlibext=so + ;; + amigaos*) + shlibext=ixlibrary + ;; + beos*) + shlibext=so + ;; + bsdi4*) + shlibext=so + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + ;; + cygwin* | mingw* | pw32*) + case $GCC,$host_os in + yes,cygwin*) + shlibext=dll.a + ;; + yes,mingw*) + shlibext=dll + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` + ;; + yes,pw32*) + shlibext=dll + ;; + *) + shlibext=dll + ;; + esac + ;; + darwin* | rhapsody*) + shlibext=dylib + ;; + freebsd1*) + ;; + freebsd*) + shlibext=so + ;; + gnu*) + shlibext=so + ;; + hpux9* | hpux10* | hpux11*) + shlibext=sl + ;; + irix5* | irix6*) + shlibext=so + case "$host_os" in + irix5*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 ") libsuff= shlibsuff= ;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + ;; + linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) + ;; + linux-gnu*) + shlibext=so + ;; + netbsd*) + shlibext=so + ;; + newsos6) + shlibext=so + ;; + openbsd*) + shlibext=so + ;; + os2*) + libname_spec='$name' + shlibext=dll + ;; + osf3* | osf4* | osf5*) + shlibext=so + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + sco3.2v5*) + shlibext=so + ;; + solaris*) + shlibext=so + ;; + sunos4*) + shlibext=so + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + shlibext=so + case "$host_vendor" in + motorola) + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + uts4*) + shlibext=so + ;; + dgux*) + shlibext=so + ;; + sysv4*MP*) + if test -d /usr/nec; then + shlibext=so + fi + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < - - * Version 0.10.40 released. - diff --git a/intl/Makefile.in b/intl/Makefile.in deleted file mode 100644 index 19ed4a7e..00000000 --- a/intl/Makefile.in +++ /dev/null @@ -1,313 +0,0 @@ -# Makefile for directory with message catalog handling in GNU NLS Utilities. -# Copyright (C) 1995-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. - -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) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` - -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)\" @DEFS@ -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h -COMHDRS = gettext.h gettextP.h hash-string.h -SOURCES = $(COMSRCS) intl-compat.c -COMSRCS = 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 \ -localcharset.c -OBJECTS = @INTLOBJS@ 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 localcharset.$lo -GETTOBJS = 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 COPYING.LIB-2.1 libintl.glibc -DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c - -# 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=1 -LTV_REVISION=1 -LTV_AGE=0 - -.SUFFIXES: -.SUFFIXES: .c .y .o .lo .sin .sed -.c.o: - $(COMPILE) $< -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) $< - -.y.c: - $(YACC) $(YFLAGS) --output $@ $< - rm -f $*.h - -.sin.sed: - sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ - mv t-$@ $@ - -INCLUDES = -I.. -I. -I$(top_srcdir)/intl - -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) @LIBICONV@ \ - -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ - -rpath $(libdir) \ - -no-undefined - -libintl.h: libgnuintl.h - cp $(srcdir)/libgnuintl.h libintl.h - -charset.alias: config.charset - $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ - mv t-$@ $@ - -check: all - -# This installation goal is only used in GNU gettext. Packages which -# only use the library should use install instead. - -# 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" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; 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; \ - else \ - : ; \ - fi - if test '@USE_INCLUDED_LIBINTL@' = yes; then \ - $(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"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ - $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ - dists="COPYING.LIB-2 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 - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ - rm -f $(DESTDIR)$(includedir)/libintl.h; \ - $(LIBTOOL) --mode=uninstall \ - rm -f $(DESTDIR)$(libdir)/libintl.$la; \ - 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"; then \ - for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi - -info dvi: - -$(OBJECTS): ../config.h libgnuintl.h -bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h -dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h - -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) - -id: ID - -ID: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) - - -mostlyclean: - rm -f *.a *.la *.o *.lo core core.* - rm -f 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; 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; 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; \ - ln $$dir/$$file $(distdir) 2> /dev/null \ - || cp -p $$dir/$$file $(distdir); \ - done - -Makefile: Makefile.in ../config.status - cd .. \ - && 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: diff --git a/intl/VERSION b/intl/VERSION deleted file mode 100644 index cb8a01a7..00000000 --- a/intl/VERSION +++ /dev/null @@ -1 +0,0 @@ -GNU gettext library from gettext-0.10.40 diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c deleted file mode 100644 index c6a9bd16..00000000 --- a/intl/bindtextdom.c +++ /dev/null @@ -1,369 +0,0 @@ -/* Implementation of the bindtextdomain(3) function - Copyright (C) 1995-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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "gettextP.h" - -#ifdef _LIBC -/* We have to handle multi-threaded applications. */ -# include -#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 _nl_default_dirname__ -# define _nl_domain_bindings _nl_domain_bindings__ -#endif - -/* Some compilers, like SunOS4 cc, don't have offsetof in . */ -#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[]; - -/* 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) - - -/* 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 bindtextdomain__ -# define BIND_TEXTDOMAIN_CODESET 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, _nl_default_dirname) == 0) - result = (char *) _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 != _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 = _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 = _nl_default_dirname; - else - { - if (strcmp (dirname, _nl_default_dirname) == 0) - dirname = _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 *) _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 != _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 diff --git a/intl/config.charset b/intl/config.charset deleted file mode 100755 index f4f2611c..00000000 --- a/intl/config.charset +++ /dev/null @@ -1,438 +0,0 @@ -#! /bin/sh -# Output a system dependent table of character encoding aliases. -# -# Copyright (C) 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 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 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-15 glibc aix osf solaris freebsd -# KOI8-R glibc solaris freebsd yes -# KOI8-U glibc freebsd yes -# 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 win32 dos -# CP922 aix -# CP932 aix win32 dos -# CP943 aix -# CP949 osf win32 dos -# CP950 win32 dos -# CP1046 aix -# CP1124 aix -# CP1129 aix -# CP1250 win32 -# CP1251 glibc win32 -# CP1252 aix win32 -# CP1253 win32 -# CP1254 win32 -# CP1255 win32 -# CP1256 win32 -# CP1257 win32 -# 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 -# GBK aix osf win32 dos -# GB18030 glibc -# SHIFT_JIS hpux osf solaris freebsd yes -# JOHAB glibc win32 -# TIS-620 glibc aix hpux osf solaris -# VISCII glibc yes -# 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-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 "BIG5 BIG5" - echo "gb2312 GB2312" - echo "cns11643 EUC-TW" - echo "5601 EUC-KR" - 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*) - # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - 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" - ;; - 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 " - echo "# and Bruno Haible ." - 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 KOI8-R" # not CP866 ?? - echo "ru_RU KOI8-R" # not CP866 ?? - # 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 diff --git a/intl/dcgettext.c b/intl/dcgettext.c deleted file mode 100644 index b7c96523..00000000 --- a/intl/dcgettext.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Implementation of the dcgettext(3) function. - Copyright (C) 1995-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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 dcgettext__ -# define DCIGETTEXT 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. */ -weak_alias (__dcgettext, dcgettext); -#endif diff --git a/intl/dcigettext.c b/intl/dcigettext.c deleted file mode 100644 index 6acde195..00000000 --- a/intl/dcigettext.c +++ /dev/null @@ -1,1259 +0,0 @@ -/* Implementation of the internal dcigettext function. - Copyright (C) 1995-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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include -#ifndef errno -extern int errno; -#endif -#ifndef __set_errno -# define __set_errno(val) errno = (val) -#endif - -#include -#include - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#include - -#if defined HAVE_SYS_PARAM_H || defined _LIBC -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "hash-string.h" - -/* Thread safetyness. */ -#ifdef _LIBC -# include -#else -/* Provide dummy implementation if this is outside glibc. */ -# define __libc_lock_define_initialized(CLASS, NAME) -# define __libc_lock_lock(NAME) -# define __libc_lock_unlock(NAME) -# define __libc_rwlock_define_initialized(CLASS, NAME) -# define __libc_rwlock_rdlock(NAME) -# define __libc_rwlock_unlock(NAME) -#endif - -/* Alignment of types. */ -#if defined __GNUC__ && __GNUC__ >= 2 -# define alignof(TYPE) __alignof__ (TYPE) -#else -# define alignof(TYPE) \ - ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) -#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 _nl_default_default_domain__ -# define _nl_current_default_domain _nl_current_default_domain__ -# define _nl_default_dirname _nl_default_dirname__ -# define _nl_domain_bindings _nl_domain_bindings__ -#endif - -/* Some compilers, like SunOS4 cc, don't have offsetof in . */ -#ifndef offsetof -# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) -#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 getcwd __getcwd -# ifndef stpcpy -# define stpcpy __stpcpy -# endif -# define tfind __tfind -#else -# if !defined HAVE_GETCWD -char *getwd (); -# define getcwd(buf, max) getwd (buf) -# else -char *getcwd (); -# endif -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -# ifndef HAVE_MEMPCPY -static void *mempcpy PARAMS ((void *dest, const void *src, size_t n)); -# endif -#endif - -/* Amount to increase buffer size by in each try. */ -#define PATH_INCR 32 - -/* The following is from pathmax.h. */ -/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define - PATH_MAX but might cause redefinition warnings when sys/param.h is - later included (as on MORE/BSD 4.3). */ -#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) -# include -#endif - -#ifndef _POSIX_PATH_MAX -# define _POSIX_PATH_MAX 255 -#endif - -#if !defined PATH_MAX && defined _PC_PATH_MAX -# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) -#endif - -/* Don't include sys/param.h if it already has been. */ -#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN -# include -#endif - -#if !defined PATH_MAX && defined MAXPATHLEN -# define PATH_MAX MAXPATHLEN -#endif - -#ifndef PATH_MAX -# define PATH_MAX _POSIX_PATH_MAX -#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. - 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_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -#else - /* Unix */ -# define ISSLASH(C) ((C) == '/') -# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -#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 - -/* This is the type used for the search tree where known translations - are stored. */ -struct known_translation_t -{ - /* Domain in which to search. */ - char *domainname; - - /* The category. */ - int category; - - /* State of the catalog counter at the point the string was found. */ - int counter; - - /* Catalog where the string was found. */ - struct loaded_l10nfile *domain; - - /* And finally the translation. */ - const char *translation; - size_t translation_length; - - /* Pointer to the string in question. */ - char msgid[ZERO]; -}; - -/* Root of the search tree with known translations. We can use this - only if the system provides the `tsearch' function family. */ -#if defined HAVE_TSEARCH || defined _LIBC -# include - -static void *root; - -# ifdef _LIBC -# define tsearch __tsearch -# endif - -/* Function to compare two entries in the table of known translations. */ -static int transcmp PARAMS ((const void *p1, const void *p2)); -static int -transcmp (p1, p2) - const void *p1; - const void *p2; -{ - const struct known_translation_t *s1; - const struct known_translation_t *s2; - int result; - - s1 = (const struct known_translation_t *) p1; - s2 = (const struct known_translation_t *) p2; - - result = strcmp (s1->msgid, s2->msgid); - if (result == 0) - { - result = strcmp (s1->domainname, s2->domainname); - if (result == 0) - /* We compare the category last (though this is the cheapest - operation) since it is hopefully always the same (namely - LC_MESSAGES). */ - result = s1->category - s2->category; - } - - return result; -} -#endif - -/* Name of the default domain used for gettext(3) prior any call to - textdomain(3). The default value for this is "messages". */ -const char _nl_default_default_domain[] = "messages"; - -/* Value used as the default domain for gettext(3). */ -const char *_nl_current_default_domain = _nl_default_default_domain; - -/* Contains the default location of the message catalogs. */ -const char _nl_default_dirname[] = LOCALEDIR; - -/* List with bindings of specific domains created by bindtextdomain() - calls. */ -struct binding *_nl_domain_bindings; - -/* Prototypes for local functions. */ -static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain, - unsigned long int n, - const char *translation, - size_t translation_len)) - internal_function; -static unsigned long int plural_eval PARAMS ((struct expression *pexp, - unsigned long int n)) - internal_function; -static const char *category_to_name PARAMS ((int category)) internal_function; -static const char *guess_category_value PARAMS ((int category, - const char *categoryname)) - internal_function; - - -/* For those loosing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -/* Nothing has to be done. */ -# define ADD_BLOCK(list, address) /* nothing */ -# define FREE_BLOCKS(list) /* nothing */ -#else -struct block_list -{ - void *address; - struct block_list *next; -}; -# define ADD_BLOCK(list, addr) \ - do { \ - struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ - /* If we cannot get a free block we cannot add the new element to \ - the list. */ \ - if (newp != NULL) { \ - newp->address = (addr); \ - newp->next = (list); \ - (list) = newp; \ - } \ - } while (0) -# define FREE_BLOCKS(list) \ - do { \ - while (list != NULL) { \ - struct block_list *old = list; \ - list = list->next; \ - free (old); \ - } \ - } while (0) -# undef alloca -# define alloca(size) (malloc (size)) -#endif /* have alloca */ - - -#ifdef _LIBC -/* List of blocks allocated for translations. */ -typedef struct transmem_list -{ - struct transmem_list *next; - char data[ZERO]; -} transmem_block_t; -static struct transmem_list *transmem_list; -#else -typedef unsigned char transmem_block_t; -#endif - - -/* 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 DCIGETTEXT __dcigettext -#else -# define DCIGETTEXT dcigettext__ -#endif - -/* Lock variable to protect the global data in the gettext implementation. */ -#ifdef _LIBC -__libc_rwlock_define_initialized (, _nl_state_lock) -#endif - -/* Checking whether the binaries runs SUID must be done and glibc provides - easier methods therefore we make a difference here. */ -#ifdef _LIBC -# define ENABLE_SECURE __libc_enable_secure -# define DETERMINE_SECURE -#else -# ifndef HAVE_GETUID -# define getuid() 0 -# endif -# ifndef HAVE_GETGID -# define getgid() 0 -# endif -# ifndef HAVE_GETEUID -# define geteuid() getuid() -# endif -# ifndef HAVE_GETEGID -# define getegid() getgid() -# endif -static int enable_secure; -# define ENABLE_SECURE (enable_secure == 1) -# define DETERMINE_SECURE \ - if (enable_secure == 0) \ - { \ - if (getuid () != geteuid () || getgid () != getegid ()) \ - enable_secure = 1; \ - else \ - enable_secure = -1; \ - } -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current - CATEGORY locale and, if PLURAL is nonzero, search over string - depending on the plural form determined by N. */ -char * -DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - int plural; - unsigned long int n; - int category; -{ -#ifndef HAVE_ALLOCA - struct block_list *block_list = NULL; -#endif - struct loaded_l10nfile *domain; - struct binding *binding; - const char *categoryname; - const char *categoryvalue; - char *dirname, *xdomainname; - char *single_locale; - char *retval; - size_t retlen; - int saved_errno; -#if defined HAVE_TSEARCH || defined _LIBC - struct known_translation_t *search; - struct known_translation_t **foundp = NULL; - size_t msgid_len; -#endif - size_t domainname_len; - - /* If no real MSGID is given return NULL. */ - if (msgid1 == NULL) - return NULL; - - __libc_rwlock_rdlock (_nl_state_lock); - - /* If DOMAINNAME is NULL, we are interested in the default domain. If - CATEGORY is not LC_MESSAGES this might not make much sense but the - definition left this undefined. */ - if (domainname == NULL) - domainname = _nl_current_default_domain; - -#if defined HAVE_TSEARCH || defined _LIBC - msgid_len = strlen (msgid1) + 1; - - /* Try to find the translation among those which we found at - some time. */ - search = (struct known_translation_t *) - alloca (offsetof (struct known_translation_t, msgid) + msgid_len); - memcpy (search->msgid, msgid1, msgid_len); - search->domainname = (char *) domainname; - search->category = category; - - foundp = (struct known_translation_t **) tfind (search, &root, transcmp); - if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) - { - /* Now deal with plural. */ - if (plural) - retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, - (*foundp)->translation_length); - else - retval = (char *) (*foundp)->translation; - - __libc_rwlock_unlock (_nl_state_lock); - return retval; - } -#endif - - /* Preserve the `errno' value. */ - saved_errno = errno; - - /* See whether this is a SUID binary or not. */ - DETERMINE_SECURE; - - /* First find matching binding. */ - 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) - dirname = (char *) _nl_default_dirname; - else if (IS_ABSOLUTE_PATH (binding->dirname)) - dirname = binding->dirname; - else - { - /* We have a relative path. Make it absolute now. */ - size_t dirname_len = strlen (binding->dirname) + 1; - size_t path_max; - char *ret; - - path_max = (unsigned int) PATH_MAX; - path_max += 2; /* The getcwd docs say to do this. */ - - for (;;) - { - dirname = (char *) alloca (path_max + dirname_len); - ADD_BLOCK (block_list, dirname); - - __set_errno (0); - ret = getcwd (dirname, path_max); - if (ret != NULL || errno != ERANGE) - break; - - path_max += path_max / 2; - path_max += PATH_INCR; - } - - if (ret == NULL) - { - /* We cannot get the current working directory. Don't signal an - error but simply return the default string. */ - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } - - stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); - } - - /* Now determine the symbolic name of CATEGORY and its value. */ - categoryname = category_to_name (category); - categoryvalue = guess_category_value (category, categoryname); - - domainname_len = strlen (domainname); - xdomainname = (char *) alloca (strlen (categoryname) - + domainname_len + 5); - ADD_BLOCK (block_list, xdomainname); - - stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), - domainname, domainname_len), - ".mo"); - - /* Creating working area. */ - single_locale = (char *) alloca (strlen (categoryvalue) + 1); - ADD_BLOCK (block_list, single_locale); - - - /* Search for the given string. This is a loop because we perhaps - got an ordered list of languages to consider for the translation. */ - while (1) - { - /* Make CATEGORYVALUE point to the next element of the list. */ - while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') - ++categoryvalue; - if (categoryvalue[0] == '\0') - { - /* The whole contents of CATEGORYVALUE has been searched but - no valid entry has been found. We solve this situation - by implicitly appending a "C" entry, i.e. no translation - will take place. */ - single_locale[0] = 'C'; - single_locale[1] = '\0'; - } - else - { - char *cp = single_locale; - while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') - *cp++ = *categoryvalue++; - *cp = '\0'; - - /* When this is a SUID binary we must not allow accessing files - outside the dedicated directories. */ - if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) - /* Ingore this entry. */ - continue; - } - - /* If the current locale value is C (or POSIX) we don't load a - domain. Return the MSGID. */ - if (strcmp (single_locale, "C") == 0 - || strcmp (single_locale, "POSIX") == 0) - { - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } - - - /* Find structure describing the message catalog matching the - DOMAINNAME and CATEGORY. */ - domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); - - if (domain != NULL) - { - retval = _nl_find_msg (domain, binding, msgid1, &retlen); - - if (retval == NULL) - { - int cnt; - - for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) - { - retval = _nl_find_msg (domain->successor[cnt], binding, - msgid1, &retlen); - - if (retval != NULL) - { - domain = domain->successor[cnt]; - break; - } - } - } - - if (retval != NULL) - { - /* Found the translation of MSGID1 in domain DOMAIN: - starting at RETVAL, RETLEN bytes. */ - FREE_BLOCKS (block_list); - __set_errno (saved_errno); -#if defined HAVE_TSEARCH || defined _LIBC - if (foundp == NULL) - { - /* Create a new entry and add it to the search tree. */ - struct known_translation_t *newp; - - newp = (struct known_translation_t *) - malloc (offsetof (struct known_translation_t, msgid) - + msgid_len + domainname_len + 1); - if (newp != NULL) - { - newp->domainname = - mempcpy (newp->msgid, msgid1, msgid_len); - memcpy (newp->domainname, domainname, domainname_len + 1); - newp->category = category; - newp->counter = _nl_msg_cat_cntr; - newp->domain = domain; - newp->translation = retval; - newp->translation_length = retlen; - - /* Insert the entry in the search tree. */ - foundp = (struct known_translation_t **) - tsearch (newp, &root, transcmp); - if (foundp == NULL - || __builtin_expect (*foundp != newp, 0)) - /* The insert failed. */ - free (newp); - } - } - else - { - /* We can update the existing entry. */ - (*foundp)->counter = _nl_msg_cat_cntr; - (*foundp)->domain = domain; - (*foundp)->translation = retval; - (*foundp)->translation_length = retlen; - } -#endif - /* Now deal with plural. */ - if (plural) - retval = plural_lookup (domain, n, retval, retlen); - - __libc_rwlock_unlock (_nl_state_lock); - return retval; - } - } - } - /* NOTREACHED */ -} - - -char * -internal_function -_nl_find_msg (domain_file, domainbinding, msgid, lengthp) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; - const char *msgid; - size_t *lengthp; -{ - struct loaded_domain *domain; - size_t act; - char *result; - size_t resultlen; - - if (domain_file->decided == 0) - _nl_load_domain (domain_file, domainbinding); - - if (domain_file->data == NULL) - return NULL; - - domain = (struct loaded_domain *) domain_file->data; - - /* Locate the MSGID and its translation. */ - if (domain->hash_size > 2 && domain->hash_tab != NULL) - { - /* Use the hashing table. */ - nls_uint32 len = strlen (msgid); - nls_uint32 hash_val = hash_string (msgid); - nls_uint32 idx = hash_val % domain->hash_size; - nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); - - while (1) - { - nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]); - - if (nstr == 0) - /* Hash table entry is empty. */ - return NULL; - - /* Compare msgid with the original string at index nstr-1. - We compare the lengths with >=, not ==, because plural entries - are represented by strings with an embedded NUL. */ - if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len - && (strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr - 1].offset)) - == 0)) - { - act = nstr - 1; - goto found; - } - - if (idx >= domain->hash_size - incr) - idx -= domain->hash_size - incr; - else - idx += incr; - } - /* NOTREACHED */ - } - else - { - /* Try the default method: binary search in the sorted array of - messages. */ - size_t top, bottom; - - bottom = 0; - top = domain->nstrings; - while (bottom < top) - { - int cmp_val; - - act = (bottom + top) / 2; - cmp_val = strcmp (msgid, (domain->data - + W (domain->must_swap, - domain->orig_tab[act].offset))); - if (cmp_val < 0) - top = act; - else if (cmp_val > 0) - bottom = act + 1; - else - goto found; - } - /* No translation was found. */ - return NULL; - } - - found: - /* The translation was found at index ACT. If we have to convert the - string to use a different character set, this is the time. */ - result = ((char *) domain->data - + W (domain->must_swap, domain->trans_tab[act].offset)); - resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; - -#if defined _LIBC || HAVE_ICONV - if (domain->codeset_cntr - != (domainbinding != NULL ? domainbinding->codeset_cntr : 0)) - { - /* The domain's codeset has changed through bind_textdomain_codeset() - since the message catalog was initialized or last accessed. We - have to reinitialize the converter. */ - _nl_free_domain_conv (domain); - _nl_init_domain_conv (domain_file, domain, domainbinding); - } - - if ( -# ifdef _LIBC - domain->conv != (__gconv_t) -1 -# else -# if HAVE_ICONV - domain->conv != (iconv_t) -1 -# endif -# endif - ) - { - /* We are supposed to do a conversion. First allocate an - appropriate table with the same structure as the table - of translations in the file, where we can put the pointers - to the converted strings in. - There is a slight complication with plural entries. They - are represented by consecutive NUL terminated strings. We - handle this case by converting RESULTLEN bytes, including - NULs. */ - - if (domain->conv_tab == NULL - && ((domain->conv_tab = (char **) calloc (domain->nstrings, - sizeof (char *))) - == NULL)) - /* Mark that we didn't succeed allocating a table. */ - domain->conv_tab = (char **) -1; - - if (__builtin_expect (domain->conv_tab == (char **) -1, 0)) - /* Nothing we can do, no more memory. */ - goto converted; - - if (domain->conv_tab[act] == NULL) - { - /* We haven't used this string so far, so it is not - translated yet. Do this now. */ - /* We use a bit more efficient memory handling. - We allocate always larger blocks which get used over - time. This is faster than many small allocations. */ - __libc_lock_define_initialized (static, lock) -# define INITIAL_BLOCK_SIZE 4080 - static unsigned char *freemem; - static size_t freemem_size; - - const unsigned char *inbuf; - unsigned char *outbuf; - int malloc_count; -# ifndef _LIBC - transmem_block_t *transmem_list = NULL; -# endif - - __libc_lock_lock (lock); - - inbuf = (const unsigned char *) result; - outbuf = freemem + sizeof (size_t); - - malloc_count = 0; - while (1) - { - transmem_block_t *newmem; -# ifdef _LIBC - size_t non_reversible; - int res; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - res = __gconv (domain->conv, - &inbuf, inbuf + resultlen, - &outbuf, - outbuf + freemem_size - sizeof (size_t), - &non_reversible); - - if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) - break; - - if (res != __GCONV_FULL_OUTPUT) - { - __libc_lock_unlock (lock); - goto converted; - } - - inbuf = result; -# else -# if HAVE_ICONV - const char *inptr = (const char *) inbuf; - size_t inleft = resultlen; - char *outptr = (char *) outbuf; - size_t outleft; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - outleft = freemem_size - sizeof (size_t); - if (iconv (domain->conv, - (ICONV_CONST char **) &inptr, &inleft, - &outptr, &outleft) - != (size_t) (-1)) - { - outbuf = (unsigned char *) outptr; - break; - } - if (errno != E2BIG) - { - __libc_lock_unlock (lock); - goto converted; - } -# endif -# endif - - resize_freemem: - /* We must allocate a new buffer or resize the old one. */ - if (malloc_count > 0) - { - ++malloc_count; - freemem_size = malloc_count * INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) realloc (transmem_list, - freemem_size); -# ifdef _LIBC - if (newmem != NULL) - transmem_list = transmem_list->next; - else - { - struct transmem_list *old = transmem_list; - - transmem_list = transmem_list->next; - free (old); - } -# endif - } - else - { - malloc_count = 1; - freemem_size = INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) malloc (freemem_size); - } - if (__builtin_expect (newmem == NULL, 0)) - { - freemem = NULL; - freemem_size = 0; - __libc_lock_unlock (lock); - goto converted; - } - -# ifdef _LIBC - /* Add the block to the list of blocks we have to free - at some point. */ - newmem->next = transmem_list; - transmem_list = newmem; - - freemem = newmem->data; - freemem_size -= offsetof (struct transmem_list, data); -# else - transmem_list = newmem; - freemem = newmem; -# endif - - outbuf = freemem + sizeof (size_t); - } - - /* We have now in our buffer a converted string. Put this - into the table of conversions. */ - *(size_t *) freemem = outbuf - freemem - sizeof (size_t); - domain->conv_tab[act] = (char *) freemem; - /* Shrink freemem, but keep it aligned. */ - freemem_size -= outbuf - freemem; - freemem = outbuf; - freemem += freemem_size & (alignof (size_t) - 1); - freemem_size = freemem_size & ~ (alignof (size_t) - 1); - - __libc_lock_unlock (lock); - } - - /* Now domain->conv_tab[act] contains the translation of all - the plural variants. */ - result = domain->conv_tab[act] + sizeof (size_t); - resultlen = *(size_t *) domain->conv_tab[act]; - } - - converted: - /* The result string is converted. */ - -#endif /* _LIBC || HAVE_ICONV */ - - *lengthp = resultlen; - return result; -} - - -/* Look up a plural variant. */ -static char * -internal_function -plural_lookup (domain, n, translation, translation_len) - struct loaded_l10nfile *domain; - unsigned long int n; - const char *translation; - size_t translation_len; -{ - struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; - unsigned long int index; - const char *p; - - index = plural_eval (domaindata->plural, n); - if (index >= domaindata->nplurals) - /* This should never happen. It means the plural expression and the - given maximum value do not match. */ - index = 0; - - /* Skip INDEX strings at TRANSLATION. */ - p = translation; - while (index-- > 0) - { -#ifdef _LIBC - p = __rawmemchr (p, '\0'); -#else - p = strchr (p, '\0'); -#endif - /* And skip over the NUL byte. */ - p++; - - if (p >= translation + translation_len) - /* This should never happen. It means the plural expression - evaluated to a value larger than the number of variants - available for MSGID1. */ - return (char *) translation; - } - return (char *) p; -} - - -/* Function to evaluate the plural expression and return an index value. */ -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: - return leftarg / rightarg; - case module: - 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; -} - - -/* Return string representation of locale CATEGORY. */ -static const char * -internal_function -category_to_name (category) - int category; -{ - const char *retval; - - switch (category) - { -#ifdef LC_COLLATE - case LC_COLLATE: - retval = "LC_COLLATE"; - break; -#endif -#ifdef LC_CTYPE - case LC_CTYPE: - retval = "LC_CTYPE"; - break; -#endif -#ifdef LC_MONETARY - case LC_MONETARY: - retval = "LC_MONETARY"; - break; -#endif -#ifdef LC_NUMERIC - case LC_NUMERIC: - retval = "LC_NUMERIC"; - break; -#endif -#ifdef LC_TIME - case LC_TIME: - retval = "LC_TIME"; - break; -#endif -#ifdef LC_MESSAGES - case LC_MESSAGES: - retval = "LC_MESSAGES"; - break; -#endif -#ifdef LC_RESPONSE - case LC_RESPONSE: - retval = "LC_RESPONSE"; - break; -#endif -#ifdef LC_ALL - case LC_ALL: - /* This might not make sense but is perhaps better than any other - value. */ - retval = "LC_ALL"; - break; -#endif - default: - /* If you have a better idea for a default value let me know. */ - retval = "LC_XXX"; - } - - return retval; -} - -/* Guess value of current locale from value of the environment variables. */ -static const char * -internal_function -guess_category_value (category, categoryname) - int category; - const char *categoryname; -{ - const char *language; - const char *retval; - - /* The highest priority value is the `LANGUAGE' environment - variable. But we don't use the value if the currently selected - locale is the C locale. This is a GNU extension. */ - language = getenv ("LANGUAGE"); - if (language != NULL && language[0] == '\0') - language = NULL; - - /* We have to proceed with 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 _LIBC || (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. */ - return "C"; - } - } -#endif - - return language != NULL && strcmp (retval, "C") != 0 ? language : 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 - -#if !_LIBC && !HAVE_MEMPCPY -static void * -mempcpy (dest, src, n) - void *dest; - const void *src; - size_t n; -{ - return (void *) ((char *) memcpy (dest, src, n) + n); -} -#endif - - -#ifdef _LIBC -/* If we want to free all resources we have to do some work at - program's end. */ -static void __attribute__ ((unused)) -free_mem (void) -{ - void *old; - - while (_nl_domain_bindings != NULL) - { - struct binding *oldp = _nl_domain_bindings; - _nl_domain_bindings = _nl_domain_bindings->next; - if (oldp->dirname != _nl_default_dirname) - /* Yes, this is a pointer comparison. */ - free (oldp->dirname); - free (oldp->codeset); - free (oldp); - } - - if (_nl_current_default_domain != _nl_default_default_domain) - /* Yes, again a pointer comparison. */ - free ((char *) _nl_current_default_domain); - - /* Remove the search tree with the known translations. */ - __tdestroy (root, free); - root = NULL; - - while (transmem_list != NULL) - { - old = transmem_list; - transmem_list = transmem_list->next; - free (old); - } -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff --git a/intl/dcngettext.c b/intl/dcngettext.c deleted file mode 100644 index c16af212..00000000 --- a/intl/dcngettext.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Implementation of the dcngettext(3) function. - Copyright (C) 1995-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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 dcngettext__ -# define DCIGETTEXT 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 diff --git a/intl/dgettext.c b/intl/dgettext.c deleted file mode 100644 index 3651207a..00000000 --- a/intl/dgettext.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Implementation of the dgettext(3) function. - Copyright (C) 1995-1997, 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 __dcgettext -#else -# define DGETTEXT dgettext__ -# define DCGETTEXT 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 diff --git a/intl/dngettext.c b/intl/dngettext.c deleted file mode 100644 index f214e95b..00000000 --- a/intl/dngettext.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Implementation of the dngettext(3) function. - Copyright (C) 1995-1997, 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 dngettext__ -# define DCNGETTEXT 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 diff --git a/intl/explodename.c b/intl/explodename.c deleted file mode 100644 index 2985064c..00000000 --- a/intl/explodename.c +++ /dev/null @@ -1,192 +0,0 @@ -/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. - Contributed by Ulrich Drepper , 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 -#endif - -#include -#include -#include - -#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; -} diff --git a/intl/finddomain.c b/intl/finddomain.c deleted file mode 100644 index 2f103d55..00000000 --- a/intl/finddomain.c +++ /dev/null @@ -1,198 +0,0 @@ -/* Handle list of needed message catalogs - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 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 -#endif - -#include -#include -#include -#include - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 -static void __attribute__ ((unused)) -free_mem (void) -{ - 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); - } -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff --git a/intl/gettext.c b/intl/gettext.c deleted file mode 100644 index 22a6c245..00000000 --- a/intl/gettext.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Implementation of gettext(3) function. - Copyright (C) 1995, 1997, 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# define __need_NULL -# include -#else -# include /* Just for NULL. */ -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#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 __dcgettext -#else -# define GETTEXT gettext__ -# define DCGETTEXT 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 diff --git a/intl/gettext.h b/intl/gettext.h deleted file mode 100644 index 6f5d7605..00000000 --- a/intl/gettext.h +++ /dev/null @@ -1,102 +0,0 @@ -/* Description of GNU message catalog format: general file layout. - Copyright (C) 1995, 1997, 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. */ - -#ifndef _GETTEXT_H -#define _GETTEXT_H 1 - -#if HAVE_LIMITS_H || _LIBC -# include -#endif - -/* @@ 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 ) 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 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 translation strings. */ - nls_uint32 trans_tab_offset; - /* Size of hashing table. */ - nls_uint32 hash_tab_size; - /* Offset of first hashing entry. */ - nls_uint32 hash_tab_offset; -}; - -struct string_desc -{ - /* Length of addressed string. */ - nls_uint32 length; - /* Offset of string in file. */ - nls_uint32 offset; -}; - -/* @@ begin of epilog @@ */ - -#endif /* gettext.h */ diff --git a/intl/gettextP.h b/intl/gettextP.h deleted file mode 100644 index 43de1cd4..00000000 --- a/intl/gettextP.h +++ /dev/null @@ -1,252 +0,0 @@ -/* Header describing internals of libintl library. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 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 /* Get size_t. */ - -#ifdef _LIBC -# include "../iconv/gconv_int.h" -#else -# if HAVE_ICONV -# include -# endif -#endif - -#include "loadinfo.h" - -#include "gettext.h" /* Get nls_uint32. */ - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ -# 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 - -#ifndef W -# define W(flag, data) ((flag) ? SWAP (data) : (data)) -#endif - - -#ifdef _LIBC -# include -# 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 - - -/* 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, /* Module operation. */ - plus, /* Addition. */ - minus, /* Subtraction. */ - less_than, /* Comparison. */ - greater_than, /* Comparison. */ - less_or_equal, /* Comparison. */ - greater_or_equal, /* Comparison. */ - equal, /* Comparision for equality. */ - not_equal, /* Comparision 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; -}; - - -/* The representation of an opened message catalog. */ -struct loaded_domain -{ - const char *data; - int use_mmap; - size_t mmap_size; - int must_swap; - nls_uint32 nstrings; - struct string_desc *orig_tab; - struct string_desc *trans_tab; - nls_uint32 hash_size; - nls_uint32 *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; - -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 -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)); -#endif - -#ifdef _LIBC -extern void __gettext_free_exp PARAMS ((struct expression *exp)) - internal_function; -extern int __gettextparse PARAMS ((void *arg)); -#else -extern void gettext_free_exp__ PARAMS ((struct expression *exp)) - internal_function; -extern int gettextparse__ PARAMS ((void *arg)); -#endif - -/* @@ begin of epilog @@ */ - -#endif /* gettextP.h */ diff --git a/intl/hash-string.h b/intl/hash-string.h deleted file mode 100644 index ccb7acca..00000000 --- a/intl/hash-string.h +++ /dev/null @@ -1,59 +0,0 @@ -/* 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__ -# 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; -} diff --git a/intl/intl-compat.c b/intl/intl-compat.c deleted file mode 100644 index 0a06ce94..00000000 --- a/intl/intl-compat.c +++ /dev/null @@ -1,166 +0,0 @@ -/* intl-compat.c - Stub functions to call gettext functions from GNU gettext - Library. - Copyright (C) 1995, 2000, 2001 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 -#endif - -#include "libgnuintl.h" -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -/* This file redirects the gettext functions (without prefix or suffix) to - those defined in the included GNU gettext library (with "__" suffix). - It is compiled into libintl when the included GNU gettext library is - configured --with-included-gettext. - - This redirection works also in the case that the system C library or - the system libintl library contain gettext/textdomain/... functions. - If it didn't, we would need to add preprocessor level redirections to - libgnuintl.h of the following form: - -# define gettext gettext__ -# define dgettext dgettext__ -# define dcgettext dcgettext__ -# define ngettext ngettext__ -# define dngettext dngettext__ -# define dcngettext dcngettext__ -# define textdomain textdomain__ -# define bindtextdomain bindtextdomain__ -# define bind_textdomain_codeset bind_textdomain_codeset__ - - How does this redirection work? There are two cases. - A. When libintl.a is linked into an executable, it works because - functions defined in the executable always override functions in - the shared libraries. - B. When libintl.so is used, it works because - 1. those systems defining gettext/textdomain/... in the C library - (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are - ELF systems and define these symbols as weak, thus explicitly - letting other shared libraries override it. - 2. those systems defining gettext/textdomain/... in a standalone - libintl.so library (namely, Solaris 2.3 and newer) have this - shared library in /usr/lib, and the linker will search /usr/lib - *after* the directory where the GNU gettext library is installed. - - A third case, namely when libintl.a is linked into a shared library - whose name is not libintl.so, is not supported. In this case, on - Solaris, when -lintl precedes the linker option for the shared library - containing GNU gettext, the system's gettext would indeed override - the GNU gettext. Anyone doing this kind of stuff must be clever enough - to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker - command line. */ - - -#undef gettext -#undef dgettext -#undef dcgettext -#undef ngettext -#undef dngettext -#undef dcngettext -#undef textdomain -#undef bindtextdomain -#undef bind_textdomain_codeset - - -char * -gettext (msgid) - const char *msgid; -{ - return gettext__ (msgid); -} - - -char * -dgettext (domainname, msgid) - const char *domainname; - const char *msgid; -{ - return dgettext__ (domainname, msgid); -} - - -char * -dcgettext (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; -{ - return dcgettext__ (domainname, msgid, category); -} - - -char * -ngettext (msgid1, msgid2, n) - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return ngettext__ (msgid1, msgid2, n); -} - - -char * -dngettext (domainname, msgid1, msgid2, n) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return dngettext__ (domainname, msgid1, msgid2, n); -} - - -char * -dcngettext (domainname, msgid1, msgid2, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; - int category; -{ - return dcngettext__ (domainname, msgid1, msgid2, n, category); -} - - -char * -textdomain (domainname) - const char *domainname; -{ - return textdomain__ (domainname); -} - - -char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; -{ - return bindtextdomain__ (domainname, dirname); -} - - -char * -bind_textdomain_codeset (domainname, codeset) - const char *domainname; - const char *codeset; -{ - return bind_textdomain_codeset__ (domainname, codeset); -} diff --git a/intl/l10nflist.c b/intl/l10nflist.c deleted file mode 100644 index 533e94be..00000000 --- a/intl/l10nflist.c +++ /dev/null @@ -1,405 +0,0 @@ -/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Contributed by Ulrich Drepper , 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 to provide a prototype for stpcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined _LIBC || defined HAVE_ARGZ_H -# include -#endif -#include -#include -#include - -#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 - -/* 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) -#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) -#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 *last = NULL; - struct loaded_l10nfile *retval; - char *cp; - size_t entries; - int cnt; - - /* 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) + 1 : 0) - + ((mask & CEN_REVISION) != 0 - ? strlen (revision) + 1 : 0)) : 0) - + 1 + strlen (filename) + 1); - - if (abs_filename == NULL) - return NULL; - - retval = NULL; - last = NULL; - - /* Construct file name. */ - memcpy (abs_filename, dirlist, dirlist_len); - __argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR); - cp = abs_filename + (dirlist_len - 1); - *cp++ = '/'; - 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. */ - last = NULL; - 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; - } - - last = retval; - } - - if (retval != NULL || do_allocate == 0) - { - free (abs_filename); - return retval; - } - - retval = (struct loaded_l10nfile *) - malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len) - * (1 << pop (mask)) - * sizeof (struct loaded_l10nfile *))); - if (retval == NULL) - return NULL; - - retval->filename = abs_filename; - retval->decided = (__argz_count (dirlist, dirlist_len) != 1 - || ((mask & XPG_CODESET) != 0 - && (mask & XPG_NORM_CODESET) != 0)); - retval->data = NULL; - - if (last == NULL) - { - retval->next = *l10nfile_list; - *l10nfile_list = retval; - } - else - { - retval->next = last->next; - last->next = retval; - } - - entries = 0; - /* If the DIRLIST is a real list the RETVAL entry corresponds not to - a real file. So we have to use the DIRLIST separation mechanism - of the inner loop. */ - cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask; - for (; cnt >= 0; --cnt) - if ((cnt & ~mask) == 0 - && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0) - && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0)) - { - /* 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); - } - 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 (codeset[cnt])) - { - ++len; - - if (isalpha (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 (codeset[cnt])) - *wp++ = tolower (codeset[cnt]); - else if (isdigit (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 diff --git a/intl/libgettext.h b/intl/libgettext.h deleted file mode 100644 index c5be54a8..00000000 --- a/intl/libgettext.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-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. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -#else - -# define gettext(Msgid) (Msgid) -# define dgettext(Domainname, Msgid) (Msgid) -# define dcgettext(Domainname, Msgid, Category) (Msgid) -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define textdomain(Domainname) ((char *) (Domainname)) -# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname)) -# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset)) - -#endif - -/* For automatical extraction of messages sometimes no real - translation is needed. Instead the string itself is the result. */ -#define gettext_noop(Str) (Str) - -#endif /* _LIBGETTEXT_H */ diff --git a/intl/libgnuintl.h b/intl/libgnuintl.h deleted file mode 100644 index f891deb9..00000000 --- a/intl/libgnuintl.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Message catalogs for internationalization. - Copyright (C) 1995-1997, 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. */ - -#ifndef _LIBINTL_H -#define _LIBINTL_H 1 - -#include - -/* 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, defines __LOCALE_H then includes (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 -# 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 - -/* Resolve a platform specific conflict on DJGPP. GNU gettext takes - precedence over _conio_gettext. */ -#ifdef __DJGPP__ -# undef gettext -# define gettext gettext -#endif - -#ifndef PARAMS -# if __STDC__ || defined __cplusplus -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#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). */ -extern char *gettext PARAMS ((const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current - LC_MESSAGES locale. */ -extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid, - int __category)); - - -/* Similar to `gettext' but select the plural form corresponding to the - number N. */ -extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2, - unsigned long int __n)); - -/* Similar to `dgettext' but select the plural form corresponding to the - number N. */ -extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n)); - -/* Similar to `dcgettext' but select the plural form corresponding to the - number N. */ -extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n, - int __category)); - - -/* 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". */ -extern char *textdomain PARAMS ((const char *__domainname)); - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -extern char *bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); - -/* Specify the character encoding in which the messages from the - DOMAINNAME message catalog will be returned. */ -extern char *bind_textdomain_codeset PARAMS ((const char *__domainname, - const char *__codeset)); - - -/* Optimized version of the functions above. */ -#if defined __OPTIMIZED -/* These are macros, but could also be inline functions. */ - -# define gettext(msgid) \ - dgettext (NULL, msgid) - -# define dgettext(domainname, msgid) \ - dcgettext (domainname, msgid, LC_MESSAGES) - -# define ngettext(msgid1, msgid2, n) \ - dngettext (NULL, msgid1, msgid2, n) - -# define dngettext(domainname, msgid1, msgid2, n) \ - dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES) - -#endif /* Optimizing. */ - - -#ifdef __cplusplus -} -#endif - -#endif /* libintl.h */ diff --git a/intl/loadinfo.h b/intl/loadinfo.h deleted file mode 100644 index b8612607..00000000 --- a/intl/loadinfo.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 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 - -#ifndef PARAMS -# if __STDC__ -# 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)); - -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)); - - -extern const char *_nl_expand_alias PARAMS ((const char *name)); - -/* normalized_codeset is dynamically allocated and has to be freed by - the caller. */ -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)); - -extern char *_nl_find_language PARAMS ((const char *name)); - -#endif /* loadinfo.h */ diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c deleted file mode 100644 index f99ebee3..00000000 --- a/intl/loadmsgcat.c +++ /dev/null @@ -1,567 +0,0 @@ -/* Load needed message catalogs. - Copyright (C) 1995-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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include -#include - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#ifdef _LIBC -# include -# include -#endif - -#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ - || (defined _LIBC && defined _POSIX_MAPPED_FILES) -# include -# undef HAVE_MMAP -# define HAVE_MMAP 1 -#else -# undef HAVE_MMAP -#endif - -#include "gettext.h" -#include "gettextP.h" - -#ifdef _LIBC -# include "../locale/localeinfo.h" -#endif - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ISO C functions. This is required by the standard - because some ISO C functions will require linking with this object - file and the name space must not be polluted. */ -# define open __open -# define close __close -# define read __read -# define mmap __mmap -# define munmap __munmap -#endif - -/* 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 PLURAL_PARSE __gettextparse -#else -# define PLURAL_PARSE gettextparse__ -#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 - -/* For systems that distinguish between text and binary I/O. - O_BINARY is usually declared in . */ -#if !defined O_BINARY && defined _O_BINARY - /* For MSC-compatible compilers. */ -# define O_BINARY _O_BINARY -# define O_TEXT _O_TEXT -#endif -#ifdef __BEOS__ - /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ -# undef O_BINARY -# undef O_TEXT -#endif -/* On reasonable systems, binary I/O is the default. */ -#ifndef O_BINARY -# define O_BINARY 0 -#endif - -/* We need a sign, whether a new catalog was loaded, which can be associated - with all translations. This is important if the translations are - cached by one of GCC's features. */ -int _nl_msg_cat_cntr; - -#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 - } -}; -static 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; -static 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 - - -/* Initialize the codeset dependent parts of an opened message catalog. - Return the header entry. */ -const char * -internal_function -_nl_init_domain_conv (domain_file, domain, domainbinding) - struct loaded_l10nfile *domain_file; - struct loaded_domain *domain; - struct binding *domainbinding; -{ - /* Find out about the character set the file is encoded with. - This can be found (in textual form) in the entry "". If this - entry does not exist or if this does not contain the `charset=' - information, we will assume the charset matches the one the - current locale and we don't have to perform any conversion. */ - char *nullentry; - size_t nullentrylen; - - /* Preinitialize fields, to avoid recursion during _nl_find_msg. */ - domain->codeset_cntr = - (domainbinding != NULL ? domainbinding->codeset_cntr : 0); -#ifdef _LIBC - domain->conv = (__gconv_t) -1; -#else -# if HAVE_ICONV - domain->conv = (iconv_t) -1; -# endif -#endif - domain->conv_tab = NULL; - - /* Get the header entry. */ - nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen); - - if (nullentry != NULL) - { -#if defined _LIBC || HAVE_ICONV - const char *charsetstr; - - charsetstr = strstr (nullentry, "charset="); - if (charsetstr != NULL) - { - size_t len; - char *charset; - const char *outcharset; - - charsetstr += strlen ("charset="); - len = strcspn (charsetstr, " \t\n"); - - charset = (char *) alloca (len + 1); -# if defined _LIBC || HAVE_MEMPCPY - *((char *) mempcpy (charset, charsetstr, len)) = '\0'; -# else - memcpy (charset, charsetstr, len); - charset[len] = '\0'; -# endif - - /* The output charset should normally be determined by the - locale. But sometimes the locale is not used or not correctly - set up, so we provide a possibility for the user to override - this. Moreover, the value specified through - bind_textdomain_codeset overrides both. */ - if (domainbinding != NULL && domainbinding->codeset != NULL) - outcharset = domainbinding->codeset; - else - { - outcharset = getenv ("OUTPUT_CHARSET"); - if (outcharset == NULL || outcharset[0] == '\0') - { -# ifdef _LIBC - outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string; -# else -# if HAVE_ICONV - extern const char *locale_charset (void); - outcharset = locale_charset (); -# endif -# endif - } - } - -# ifdef _LIBC - /* We always want to use transliteration. */ - outcharset = norm_add_slashes (outcharset, "TRANSLIT"); - charset = norm_add_slashes (charset, NULL); - if (__gconv_open (outcharset, charset, &domain->conv, - GCONV_AVOID_NOCONV) - != __GCONV_OK) - domain->conv = (__gconv_t) -1; -# else -# if HAVE_ICONV - /* When using GNU libiconv, we want to use transliteration. */ -# if _LIBICONV_VERSION >= 0x0105 - len = strlen (outcharset); - { - char *tmp = (char *) alloca (len + 10 + 1); - memcpy (tmp, outcharset, len); - memcpy (tmp + len, "//TRANSLIT", 10 + 1); - outcharset = tmp; - } -# endif - domain->conv = iconv_open (outcharset, charset); -# if _LIBICONV_VERSION >= 0x0105 - freea (outcharset); -# endif -# endif -# endif - - freea (charset); - } -#endif /* _LIBC || HAVE_ICONV */ - } - - return nullentry; -} - -/* Frees the codeset dependent parts of an opened message catalog. */ -void -internal_function -_nl_free_domain_conv (domain) - struct loaded_domain *domain; -{ - if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1) - free (domain->conv_tab); - -#ifdef _LIBC - if (domain->conv != (__gconv_t) -1) - __gconv_close (domain->conv); -#else -# if HAVE_ICONV - if (domain->conv != (iconv_t) -1) - iconv_close (domain->conv); -# endif -#endif -} - -/* Load the message catalogs specified by FILENAME. If it is no valid - message catalog do nothing. */ -void -internal_function -_nl_load_domain (domain_file, domainbinding) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; -{ - int fd; - size_t size; -#ifdef _LIBC - struct stat64 st; -#else - struct stat st; -#endif - struct mo_file_header *data = (struct mo_file_header *) -1; - int use_mmap = 0; - struct loaded_domain *domain; - const char *nullentry; - - domain_file->decided = 1; - domain_file->data = NULL; - - /* Note that it would be useless to store domainbinding in domain_file - because domainbinding might be == NULL now but != NULL later (after - a call to bind_textdomain_codeset). */ - - /* If the record does not represent a valid locale the FILENAME - might be NULL. This can happen when according to the given - specification the locale file name is different for XPG and CEN - syntax. */ - if (domain_file->filename == NULL) - return; - - /* Try to open the addressed file. */ - fd = open (domain_file->filename, O_RDONLY | O_BINARY); - if (fd == -1) - return; - - /* We must know about the size of the file. */ - if ( -#ifdef _LIBC - __builtin_expect (fstat64 (fd, &st) != 0, 0) -#else - __builtin_expect (fstat (fd, &st) != 0, 0) -#endif - || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) - || __builtin_expect (size < sizeof (struct mo_file_header), 0)) - { - /* Something went wrong. */ - close (fd); - return; - } - -#ifdef HAVE_MMAP - /* Now we are ready to load the file. If mmap() is available we try - this first. If not available or it failed we try to load it. */ - data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, - MAP_PRIVATE, fd, 0); - - if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) - { - /* mmap() call was successful. */ - close (fd); - use_mmap = 1; - } -#endif - - /* If the data is not yet available (i.e. mmap'ed) we try to load - it manually. */ - if (data == (struct mo_file_header *) -1) - { - size_t to_read; - char *read_ptr; - - data = (struct mo_file_header *) malloc (size); - if (data == NULL) - return; - - to_read = size; - read_ptr = (char *) data; - do - { - long int nb = (long int) read (fd, read_ptr, to_read); - if (nb <= 0) - { -#ifdef EINTR - if (nb == -1 && errno == EINTR) - continue; -#endif - close (fd); - return; - } - read_ptr += nb; - to_read -= nb; - } - while (to_read > 0); - - close (fd); - } - - /* Using the magic number we can test whether it really is a message - catalog file. */ - if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, - 0)) - { - /* The magic number is wrong: not a message catalog file. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - return; - } - - domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); - if (domain == NULL) - return; - domain_file->data = domain; - - domain->data = (char *) data; - domain->use_mmap = use_mmap; - domain->mmap_size = size; - domain->must_swap = data->magic != _MAGIC; - - /* Fill in the information about the available tables. */ - switch (W (domain->must_swap, data->revision)) - { - case 0: - domain->nstrings = W (domain->must_swap, data->nstrings); - domain->orig_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->orig_tab_offset)); - domain->trans_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->trans_tab_offset)); - domain->hash_size = W (domain->must_swap, data->hash_tab_size); - domain->hash_tab = (nls_uint32 *) - ((char *) data + W (domain->must_swap, data->hash_tab_offset)); - break; - default: - /* This is an invalid revision. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - free (domain); - domain_file->data = NULL; - return; - } - - /* Now initialize the character set converter from the character set - the file is encoded with (found in the header entry) to the domain's - specified character set or the locale's character set. */ - nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding); - - /* Also look for a plural specification. */ - 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 - { - /* First get the number. */ - char *endp; - unsigned long int n; - struct parse_args args; - - nplurals += 9; - while (*nplurals != '\0' && isspace (*nplurals)) - ++nplurals; -#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 - domain->nplurals = n; - if (nplurals == endp) - goto no_plural; - - /* 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; - domain->plural = 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 (); - domain->plural = &germanic_plural; - domain->nplurals = 2; - } -} - - -#ifdef _LIBC -void -internal_function -_nl_unload_domain (domain) - struct loaded_domain *domain; -{ - if (domain->plural != &germanic_plural) - __gettext_free_exp (domain->plural); - - _nl_free_domain_conv (domain); - -# ifdef _POSIX_MAPPED_FILES - if (domain->use_mmap) - munmap ((caddr_t) domain->data, domain->mmap_size); - else -# endif /* _POSIX_MAPPED_FILES */ - free ((void *) domain->data); - - free (domain); -} -#endif diff --git a/intl/localcharset.c b/intl/localcharset.c deleted file mode 100644 index 61f8f3e8..00000000 --- a/intl/localcharset.c +++ /dev/null @@ -1,271 +0,0 @@ -/* Determine a canonical name for the current locale's character encoding. - - Copyright (C) 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. */ - -/* Written by Bruno Haible . */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#if HAVE_STDDEF_H -# include -#endif - -#include -#if HAVE_STRING_H -# include -#else -# include -#endif -#if HAVE_STDLIB_H -# include -#endif - -#if defined _WIN32 || defined __WIN32__ -# undef WIN32 /* avoid warning on mingw32 */ -# define WIN32 -#endif - -#ifndef WIN32 -# if HAVE_LANGINFO_CODESET -# include -# else -# if HAVE_SETLOCALE -# include -# endif -# endif -#else /* WIN32 */ -# define WIN32_LEAN_AND_MEAN -# include -#endif - -#ifndef DIRECTORY_SEPARATOR -# define DIRECTORY_SEPARATOR '/' -#endif - -#ifndef ISSLASH -# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) -#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) - { -#ifndef WIN32 - FILE *fp; - const char *dir = 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 = malloc (res_size + 1); - } - else - { - res_size += l1 + 1 + l2 + 1; - res_ptr = 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 /* 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"; -#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; - -#ifndef WIN32 - -# 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 - -#else /* WIN32 */ - - static char buf[2 + 10 + 1]; - - /* Win32 has a function returning the locale's codepage as a number. */ - sprintf (buf, "CP%u", GetACP ()); - 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; - } - - return codeset; -} diff --git a/intl/locale.alias b/intl/locale.alias deleted file mode 100644 index bd7b9b31..00000000 --- a/intl/locale.alias +++ /dev/null @@ -1,78 +0,0 @@ -# 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 -bokml 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 -franais 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 diff --git a/intl/localealias.c b/intl/localealias.c deleted file mode 100644 index 91e7acc9..00000000 --- a/intl/localealias.c +++ /dev/null @@ -1,404 +0,0 @@ -/* Handle aliases for locale names. - Copyright (C) 1995-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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#include "gettextP.h" - -/* @@ 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 - -/* We need locking here since we can be called from different places. */ -# include - -__libc_lock_define_initialized (static, lock); -#endif - -#ifndef internal_function -# define internal_function -#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; -}; - - -static char *string_space; -static size_t string_space_act; -static size_t string_space_max; -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 = LOCALE_ALIAS_PATH; - struct alias_map *retval; - const char *result = NULL; - size_t added; - -#ifdef _LIBC - __libc_lock_lock (lock); -#endif - - 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 (full_fname, "r"); - freea (full_fname); - if (fp == NULL) - return 0; - - 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 - */ - char buf[BUFSIZ]; - char *alias; - char *value; - char *cp; - - if (fgets (buf, sizeof buf, fp) == NULL) - /* EOF reached. */ - break; - - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - if (strchr (buf, '\n') == NULL) - { - char altbuf[BUFSIZ]; - do - if (fgets (altbuf, sizeof altbuf, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - break; - while (strchr (altbuf, '\n') == NULL); - } - - cp = buf; - /* Ignore leading white space. */ - while (isspace (cp[0])) - ++cp; - - /* A leading '#' signals a comment line. */ - if (cp[0] != '\0' && cp[0] != '#') - { - alias = cp++; - while (cp[0] != '\0' && !isspace (cp[0])) - ++cp; - /* Terminate alias name. */ - if (cp[0] != '\0') - *cp++ = '\0'; - - /* Now look for the beginning of the value. */ - while (isspace (cp[0])) - ++cp; - - if (cp[0] != '\0') - { - size_t alias_len; - size_t value_len; - - value = cp++; - while (cp[0] != '\0' && !isspace (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; - } - } - } - - /* 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; -} - - -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - if (string_space != NULL) - free (string_space); - if (map != NULL) - free (map); -} -text_set_element (__libc_subfreeres, free_mem); -#endif - - -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 -} diff --git a/intl/ngettext.c b/intl/ngettext.c deleted file mode 100644 index fb3ec5a9..00000000 --- a/intl/ngettext.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Implementation of ngettext(3) function. - Copyright (C) 1995, 1997, 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# define __need_NULL -# include -#else -# include /* Just for NULL. */ -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -#include - -/* @@ 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 ngettext__ -# define DCNGETTEXT 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 diff --git a/intl/plural.c b/intl/plural.c deleted file mode 100644 index 640d43cc..00000000 --- a/intl/plural.c +++ /dev/null @@ -1,1326 +0,0 @@ - -/* A Bison parser, made from plural.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define yyparse __gettextparse -#define yylex __gettextlex -#define yyerror __gettexterror -#define yylval __gettextlval -#define yychar __gettextchar -#define yydebug __gettextdebug -#define yynerrs __gettextnerrs -#define EQUOP2 257 -#define CMPOP2 258 -#define ADDOP2 259 -#define MULOP2 260 -#define NUMBER 261 - -#line 1 "plural.y" - -/* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 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 - because may include arbitrary system headers. */ -#if defined _AIX && !defined __GNUC__ - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include "gettextP.h" - -/* 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 FREE_EXPRESSION __gettext_free_exp -#else -# define FREE_EXPRESSION gettext_free_exp__ -# define __gettextparse gettextparse__ -#endif - -#define YYLEX_PARAM &((struct parse_args *) arg)->cp -#define YYPARSE_PARAM arg - -#line 53 "plural.y" -typedef union { - unsigned long int num; - enum operator op; - struct expression *exp; -} YYSTYPE; -#line 59 "plural.y" - -/* 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); -} - -#include - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 27 -#define YYFLAG -32768 -#define YYNTBASE 16 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, - 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, - 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 6, 7, 8, 9, - 11 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 8, 12, 16, 20, 24, 28, 32, 35, - 37, 39 -}; - -static const short yyrhs[] = { 17, - 0, 17, 3, 17, 12, 17, 0, 17, 4, 17, - 0, 17, 5, 17, 0, 17, 6, 17, 0, 17, - 7, 17, 0, 17, 8, 17, 0, 17, 9, 17, - 0, 10, 17, 0, 13, 0, 11, 0, 14, 17, - 15, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 178, 186, 190, 194, 198, 202, 206, 210, 214, 218, - 222, 227 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","'?'","'|'", -"'&'","EQUOP2","CMPOP2","ADDOP2","MULOP2","'!'","NUMBER","':'","'n'","'('","')'", -"start","exp", NULL -}; -#endif - -static const short yyr1[] = { 0, - 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17 -}; - -static const short yyr2[] = { 0, - 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, - 1, 3 -}; - -static const short yydefact[] = { 0, - 0, 11, 10, 0, 1, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 0, 3, 4, 5, 6, - 7, 8, 0, 2, 0, 0, 0 -}; - -static const short yydefgoto[] = { 25, - 5 -}; - -static const short yypact[] = { -9, - -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9, - -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26, - -3,-32768, -9, 34, 21, 53,-32768 -}; - -static const short yypgoto[] = {-32768, - -1 -}; - - -#define YYLAST 53 - - -static const short yytable[] = { 6, - 1, 2, 7, 3, 4, 14, 16, 17, 18, 19, - 20, 21, 22, 8, 9, 10, 11, 12, 13, 14, - 26, 24, 12, 13, 14, 15, 8, 9, 10, 11, - 12, 13, 14, 13, 14, 23, 8, 9, 10, 11, - 12, 13, 14, 10, 11, 12, 13, 14, 11, 12, - 13, 14, 27 -}; - -static const short yycheck[] = { 1, - 10, 11, 4, 13, 14, 9, 8, 9, 10, 11, - 12, 13, 14, 3, 4, 5, 6, 7, 8, 9, - 0, 23, 7, 8, 9, 15, 3, 4, 5, 6, - 7, 8, 9, 8, 9, 12, 3, 4, 5, 6, - 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, - 8, 9, 0 -}; -#define YYPURE 1 - -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 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, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 217 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 1: -#line 179 "plural.y" -{ - if (yyvsp[0].exp == NULL) - YYABORT; - ((struct parse_args *) arg)->res = yyvsp[0].exp; - ; - break;} -case 2: -#line 187 "plural.y" -{ - yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 3: -#line 191 "plural.y" -{ - yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 4: -#line 195 "plural.y" -{ - yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 5: -#line 199 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 6: -#line 203 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 7: -#line 207 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 8: -#line 211 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 9: -#line 215 "plural.y" -{ - yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); - ; - break;} -case 10: -#line 219 "plural.y" -{ - yyval.exp = new_exp_0 (var); - ; - break;} -case 11: -#line 223 "plural.y" -{ - if ((yyval.exp = new_exp_0 (num)) != NULL) - yyval.exp->val.num = yyvsp[0].num; - ; - break;} -case 12: -#line 228 "plural.y" -{ - yyval.exp = yyvsp[-1].exp; - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 543 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -#line 233 "plural.y" - - -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. */ -} diff --git a/intl/plural.y b/intl/plural.y deleted file mode 100644 index be049a6d..00000000 --- a/intl/plural.y +++ /dev/null @@ -1,413 +0,0 @@ -%{ -/* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 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 - because may include arbitrary system headers. */ -#if defined _AIX && !defined __GNUC__ - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include "gettextP.h" - -/* 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 FREE_EXPRESSION __gettext_free_exp -#else -# define FREE_EXPRESSION gettext_free_exp__ -# define __gettextparse gettextparse__ -#endif - -#define YYLEX_PARAM &((struct parse_args *) arg)->cp -#define YYPARSE_PARAM arg -%} -%pure_parser -%expect 10 - -%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 EQUOP2 CMPOP2 ADDOP2 MULOP2 -%token NUMBER -%type 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. */ -} diff --git a/intl/ref-add.sin b/intl/ref-add.sin deleted file mode 100644 index 167374e3..00000000 --- a/intl/ref-add.sin +++ /dev/null @@ -1,31 +0,0 @@ -# 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 . -# -/^# Packages using this file: / { - s/# Packages using this file:// - ta - :a - s/ @PACKAGE@ / @PACKAGE@ / - tb - s/ $/ @PACKAGE@ / - :b - s/^/# Packages using this file:/ -} diff --git a/intl/ref-del.sin b/intl/ref-del.sin deleted file mode 100644 index 613cf37f..00000000 --- a/intl/ref-del.sin +++ /dev/null @@ -1,26 +0,0 @@ -# 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 . -# -/^# Packages using this file: / { - s/# Packages using this file:// - s/ @PACKAGE@ / / - s/^/# Packages using this file:/ -} diff --git a/intl/textdomain.c b/intl/textdomain.c deleted file mode 100644 index 2e420ad7..00000000 --- a/intl/textdomain.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Implementation of the textdomain(3) function. - Copyright (C) 1995-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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include - -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "gettextP.h" - -#ifdef _LIBC -/* We have to handle multi-threaded applications. */ -# include -#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 _nl_default_default_domain__ -# define _nl_current_default_domain _nl_current_default_domain__ -#endif - -/* @@ end of prolog @@ */ - -/* Name of the default text domain. */ -extern const char _nl_default_default_domain[]; - -/* Default text domain in which entries for gettext(3) are to be found. */ -extern const char *_nl_current_default_domain; - - -/* 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 textdomain__ -#endif - -/* Lock variable to protect the global data in the gettext implementation. */ -__libc_rwlock_define (extern, _nl_state_lock) - -/* 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 diff --git a/m4/ChangeLog b/m4/ChangeLog new file mode 100644 index 00000000..dbc73ce1 --- /dev/null +++ b/m4/ChangeLog @@ -0,0 +1,14 @@ +2002-06-03 gettextize + + * codeset.m4: Upgrade to gettext-0.11.2. + * gettext.m4: Upgrade to gettext-0.11.2. + * glibc21.m4: Upgrade to gettext-0.11.2. + * iconv.m4: Upgrade to gettext-0.11.2. + * isc-posix.m4: New file, from gettext-0.11.2. + * lcmessage.m4: Upgrade to gettext-0.11.2. + * lib-ld.m4: New file, from gettext-0.11.2. + * lib-link.m4: New file, from gettext-0.11.2. + * lib-prefix.m4: New file, from gettext-0.11.2. + * progtest.m4: Upgrade to gettext-0.11.2. + * Makefile.am (EXTRA_DIST): Add the new files. + diff --git a/m4/Makefile.am b/m4/Makefile.am index c5c719da..fc0209ff 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -1,2 +1,2 @@ -EXTRA_DIST = codeset.m4 glibc21.m4 progtest.m4 gettext.m4 iconv.m4 \ - lcmessage.m4 +EXTRA_DIST = isc-posix.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 codeset.m4 \ + glibc21.m4 progtest.m4 gettext.m4 iconv.m4 lcmessage.m4 diff --git a/m4/aclocal_inc.m4 b/m4/aclocal_inc.m4 deleted file mode 100644 index 45c46a7c..00000000 --- a/m4/aclocal_inc.m4 +++ /dev/null @@ -1,6 +0,0 @@ -dnl AM_ACLOCAL_INCLUDE(macrodir) -AC_DEFUN([AM_ACLOCAL_INCLUDE], -[ - test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" - for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done -]) diff --git a/m4/codeset.m4 b/m4/codeset.m4 index 66a8ab13..59535ebc 100644 --- a/m4/codeset.m4 +++ b/m4/codeset.m4 @@ -1,8 +1,14 @@ -#serial AM1 +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. -AC_DEFUN([NANO_AM_LANGINFO_CODESET], +AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], diff --git a/m4/gettext.m4 b/m4/gettext.m4 index a313f0a9..94bc26c8 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 @@ -1,27 +1,40 @@ -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# 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 or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. +# gettext.m4 serial 14 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. -# serial 10 +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2002. -dnl Usage: NANO_AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]). -dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). Otherwise, a static library +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. -dnl LIBDIR is used to find the intl libraries. If empty, +dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: @@ -35,29 +48,53 @@ dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl -AC_DEFUN([NANO_AM_WITH_NLS], - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) + + ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no - INTLLIBS= + ]) + LIBINTL= + LTLIBINTL= + POSUB= - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], @@ -67,214 +104,156 @@ AC_DEFUN([NANO_AM_WITH_NLS], nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. - CATOBJEXT=NONE dnl Add a version number to the cache macros. - define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc]) - define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl]) + define([gt_api_version], ifelse([$2], [need-ngettext], 2, 1)) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, - [AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libc=yes, - gt_cv_func_gnugettext_libc=no)]) + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) - if test "$gt_cv_func_gnugettext_libc" != "yes"; then - AC_CACHE_CHECK([for GNU gettext in libintl], - gt_cv_func_gnugettext_libintl, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $LIBICONV" - AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libintl=yes, - gt_cv_func_gnugettext_libintl=no) - LIBS="$gt_save_LIBS"]) - fi + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if test "$gt_cv_func_gnugettext_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi - if test "$gt_cv_func_gnugettext_libintl" = "yes"; then - dnl If iconv() is in a separate libiconv library, then anyone - dnl linking with libintl{.a,.so} also needs to link with - dnl libiconv. - INTLLIBS="-lintl $LIBICONV" - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - LIBS="$gt_save_LIBS" - - dnl Search for GNU msgfmt in the PATH. - NANO_AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - dnl Search for GNU xgettext in the PATH. - NANO_AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - - CATOBJEXT=.gmo - fi - ]) - - if test "$CATOBJEXT" = "NONE"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. INTLOBJS="\$(GETTOBJS)" - NANO_AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - NANO_AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - AC_SUBST(MSGFMT) - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo - INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi + ]) - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU msgfmt. - if test "$GMSGFMT" != ":"; then - dnl If it is no GNU msgfmt we define it as : so that the - dnl Makefiles still can work. - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_RESULT( - [found msgfmt program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi - fi - - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - dnl We need to process the po/ directory. - POSUB=po + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no fi - AC_OUTPUT_COMMANDS( - [for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - fi - ;; - esac - done]) + fi + if test "$USE_NLS" = "yes"; then + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext; then BUILD_INCLUDED_LIBINTL=yes fi - dnl intl/plural.c is generated from intl/plural.y. It requires bison, - dnl because plural.y uses bison specific features. It requires at least - dnl bison-1.26 because earlier versions generate a plural.c that doesn't - dnl compile. - dnl bison is only needed for the maintainer (who touches plural.y). But in - dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put - dnl the rule in general Makefile. Now, some people carelessly touch the - dnl files or have a broken "make" program, hence the plural.c rule will - dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not - dnl present or too old. - AC_CHECK_PROGS([INTLBISON], [bison]) - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - dnl Found it, now check the version. - AC_MSG_CHECKING([version of bison]) -changequote(<<,>>)dnl - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) -changequote([,])dnl - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - AC_MSG_RESULT([$ac_prog_version]) - fi - if test $ac_verc_fail = yes; then - INTLBISON=: - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) - AC_SUBST(GMOFILES) - AC_SUBST(INTLLIBS) AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= @@ -291,80 +270,270 @@ changequote([,])dnl dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) -dnl Usage: Just like AM_WITH_NLS, which see. -AC_DEFUN([NANO_AM_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([nano_jm_GLIBC21])dnl + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for all prerequisites of the po subdirectory, +dnl except for USE_NLS. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.11 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + fi + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete $ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it + # from automake. + eval 'ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) - AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \ -getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ -strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) - NANO_AM_ICONV - NANO_AM_LANGINFO_CODESET - NANO_AM_LC_MESSAGES - NANO_AM_WITH_NLS([$1],[$2],[$3]) + AM_ICONV + AM_LANGINFO_CODESET + AM_LC_MESSAGES - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but $(top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) - ]) +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) diff --git a/m4/glibc21.m4 b/m4/glibc21.m4 index 314beb1e..9c9f3db3 100644 --- a/m4/glibc21.m4 +++ b/m4/glibc21.m4 @@ -1,9 +1,15 @@ -#serial 2 +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. -AC_DEFUN([nano_jm_GLIBC21], +AC_DEFUN([jm_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, diff --git a/m4/iconv.m4 b/m4/iconv.m4 index caf7d7ed..f81e8b99 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,19 +1,32 @@ -#serial AM2 +# iconv.m4 serial AM3 (gettext-0.11) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. -AC_DEFUN([NANO_AM_ICONV], +AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - ]) + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" @@ -26,7 +39,7 @@ AC_DEFUN([NANO_AM_ICONV], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" + LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); @@ -39,6 +52,25 @@ AC_DEFUN([NANO_AM_ICONV], ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AC_REQUIRE([AM_ICONV_LINK]) + if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ @@ -61,9 +93,4 @@ size_t iconv(); AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi - LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" - fi - AC_SUBST(LIBICONV) ]) diff --git a/m4/isc-posix.m4 b/m4/isc-posix.m4 new file mode 100644 index 00000000..1319dd1c --- /dev/null +++ b/m4/isc-posix.m4 @@ -0,0 +1,26 @@ +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4 index 91aa14f1..ffbf915f 100644 --- a/m4/lcmessage.m4 +++ b/m4/lcmessage.m4 @@ -1,18 +1,26 @@ +# lcmessage.m4 serial 2 (gettext-0.10.40) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995. + # Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# 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 or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. -# serial 2 - -AC_DEFUN([NANO_AM_LC_MESSAGES], +AC_DEFUN([AM_LC_MESSAGES], [if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 00000000..ddb57323 --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,97 @@ +# lib-ld.m4 serial 1 (gettext-0.11) +dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 00000000..09f7f172 --- /dev/null +++ b/m4/lib-link.m4 @@ -0,0 +1,548 @@ +# lib-link.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L, +dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. +AC_DEFUN([AC_LIB_RPATH], +[ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 00000000..b8b79ab9 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -0,0 +1,148 @@ +# lib-prefix.m4 serial 1 (gettext-0.11) +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) diff --git a/m4/progtest.m4 b/m4/progtest.m4 index 15e6d060..443c8e30 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,20 +1,28 @@ +# progtest.m4 serial 2 (gettext-0.10.40) +dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1996. + # Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# 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 or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. -# serial 2 - -dnl NANO_AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([NANO_AM_PATH_PROG_WITH_TEST], +AC_DEFUN([AM_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) diff --git a/po/ChangeLog b/po/ChangeLog index 9dab3426..a2dc6cab 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,14 @@ +2002-06-03 gettextize + + * Makefile.in.in: Upgrade to gettext-0.11.2. + * Rules-quot: New file, from gettext-0.11.2. + * boldquot.sed: New file, from gettext-0.11.2. + * en@boldquot.header: New file, from gettext-0.11.2. + * en@quot.header: New file, from gettext-0.11.2. + * insert-header.sin: New file, from gettext-0.11.2. + * quot.sed: New file, from gettext-0.11.2. + * remove-potcdate.sin: New file, from gettext-0.11.2. + 2002-05-13 Jordi Mallach * fr.po: Updated translation by Jean-Philippe Gurard. diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 28726a21..ada8bb4f 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,18 +1,16 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper # -# This file file 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 is *not* freely available. +# 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@ -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - SHELL = /bin/sh @SET_MAKE@ @@ -31,45 +29,47 @@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` -CC = @CC@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \ -$(POFILES) $(GMOFILES) +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ +# Makevars gets inserted here. (Don't remove this line!) + .SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update .po.mo: - $(MSGFMT) -o $@ $< + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) --statistics -o $$file $< + @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@ @@ -77,17 +77,38 @@ all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: -# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot', +# 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. -$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ +$(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 \ - && test ! -f $(PACKAGE).po \ - || ( rm -f $(srcdir)/$(PACKAGE).pot \ - && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) + --copyright-holder='$(COPYRIGHT_HOLDER)' + 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; \ + } + +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +$(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 @@ -95,8 +116,10 @@ install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + for file in $(DISTFILES.common); do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ else \ : ; \ fi @@ -106,41 +129,117 @@ install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ - echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ - echo "installing $(srcdir)/$$cat as" \ - "$(DESTDIR)$$dir/$(PACKAGE).mo"; \ - fi; \ + 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"; 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: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \ - done +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ - rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + for file in $(DISTFILES.common); 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 dvi info tags TAGS ID: mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.new.po + rm -f remove-potcdate.sed + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean @@ -160,29 +259,49 @@ dist distdir: # This is a separate target because 'update-po' must be executed before. dist2: $(DISTFILES) dists="$(DISTFILES)"; \ + if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ - if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ - cp -p $$dir/$$file $(distdir); \ + if test -f $$file; then \ + cp -p $$file $(distdir); \ + else \ + cp -p $(srcdir)/$$file $(distdir); \ + fi; \ done update-po: Makefile - $(MAKE) $(PACKAGE).pot - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ - cd $(srcdir); \ - catalogs='$(GMOFILES)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ - mv -f $$lang.new.po $$lang.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.new.po; \ - fi; \ - done + $(MAKE) $(DOMAIN).pot-update + $(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"; 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) @: @@ -191,6 +310,8 @@ Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in && 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: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 00000000..8b09f53b --- /dev/null +++ b/po/Makevars @@ -0,0 +1,25 @@ +# 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_ + +# 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 = Free Software Foundation, Inc. + +# 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 = diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 00000000..5f46d237 --- /dev/null +++ b/po/Rules-quot @@ -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 diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 00000000..4b937aa5 --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/po/ca.po b/po/ca.po index 0e8d70e9..7f492180 100644 --- a/po/ca.po +++ b/po/ca.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 16:35+0200\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Catalan \n" @@ -48,7 +48,6 @@ msgstr "%d l msgid "\"%s\" not found" msgstr "\"%s\" no trobat" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nou Fitxer" @@ -58,7 +57,6 @@ msgstr "Nou Fitxer" msgid "File \"%s\" is a directory" msgstr "Fitxer \"%s\" s un directori" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -140,7 +138,6 @@ msgstr "No s'ha pogut reobrir %s: %s" msgid "Could not open %s for prepend: %s" msgstr "No s'ha pogut obrir %s per a avantposar: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr "No puc ascendre de directori" msgid "Can't visit parent in restricted mode" msgstr "No es pot visitar el directori pare en mode restringit" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -459,9 +455,9 @@ msgstr "Obrir el fitxer previament carregat" msgid "Open next loaded file" msgstr "Obrir el segent fitxer carregat" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Ajuda" @@ -469,7 +465,7 @@ msgstr "Ajuda" msgid "Close" msgstr "Tancar" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Sortir" @@ -477,16 +473,15 @@ msgstr "Sortir" msgid "WriteOut" msgstr "Desar" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Justificar" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Llegir F." -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Reemplaar" @@ -494,11 +489,11 @@ msgstr "Reempla msgid "Where Is" msgstr "Cercar" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Pg Ant" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Pg Seg" @@ -566,108 +561,116 @@ msgstr "Retroc msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Retorn" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Anar a Lnia" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Trobar Clau Corresponent" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Anterior Fitxer" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Segent Fitxer" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Segent Paraula" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Moure endavant una paraula" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Paraula Anterior" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Moure endarrere una paraula" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Cancellar" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Primera Lnia" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "ltima Lnia" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Maj/Min" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Direcci" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "ExpReg" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "No Reemplaar" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "A Fitxers" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Format DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Format Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Afegir" -#: global.c:735 +#: global.c:702 msgid "Prepend" msgstr "Avantposar" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Executar Ordre" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Anar a" #: nano.c:194 #, c-format -msgid "\nBuffer written to %s\n" -msgstr "\nBuffer escrit a %s\n" +msgid "" +"\n" +"Buffer written to %s\n" +msgstr "" +"\n" +"Buffer escrit a %s\n" #: nano.c:196 #, c-format -msgid "\nNo %s written (too many backup files?)\n" -msgstr "\nNo s'ha escrit %s (massa cpies de seguretat?)\n" +msgid "" +"\n" +"No %s written (too many backup files?)\n" +msgstr "" +"\n" +"No s'ha escrit %s (massa cpies de seguretat?)\n" #: nano.c:205 msgid "Window size is too small for Nano..." @@ -681,16 +684,39 @@ msgstr "Tecla il msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" " texte d'ajuda de nano\n" "\n" -" L'editor nano est dissenyat per a emular la funcionalitat i la facilitat d's de Pico, l'editor de text de la UW. Hi ha quatre seccions a l'editor: la lnia superior mostra la versi del programa, el nom del fitxer editat i si el fitxer ha estat o no modificat. Tamb tenim la finestra principal de edici, que mostra el fitxer que s'est editant. La lnia d'estat s la tercera des de baix i mostra missatges importants. Les ltimes dues lnies mostren les dreceres ms utilitzades a l'editor.\n" +" L'editor nano est dissenyat per a emular la funcionalitat i la facilitat " +"d's de Pico, l'editor de text de la UW. Hi ha quatre seccions a l'editor: " +"la lnia superior mostra la versi del programa, el nom del fitxer editat i " +"si el fitxer ha estat o no modificat. Tamb tenim la finestra principal de " +"edici, que mostra el fitxer que s'est editant. La lnia d'estat s la " +"tercera des de baix i mostra missatges importants. Les ltimes dues lnies " +"mostren les dreceres ms utilitzades a l'editor.\n" "\n" -" La notaci de les dreceres s la segent: les sequncies amb la tecla Control estan anotades amb el smbol circunflex (^) i sn accedides mitjanant la tecla Control. Les seqncies amb tecles d'escapada estan anotades amb el smbol Meta (M) i s'hi pot accedir mitjanant les tecles Esc, Alt o Meta, tot depenent de la configuraci del teu teclat. Les segents combinacions estan disponibles a la finestra principal. Les tecles opcionals estan representades entre parntesi:\n" +" La notaci de les dreceres s la segent: les sequncies amb la tecla " +"Control estan anotades amb el smbol circunflex (^) i sn accedides " +"mitjanant la tecla Control. Les seqncies amb tecles d'escapada estan " +"anotades amb el smbol Meta (M) i s'hi pot accedir mitjanant les tecles " +"Esc, Alt o Meta, tot depenent de la configuraci del teu teclat. Les " +"segents combinacions estan disponibles a la finestra principal. Les tecles " +"opcionals estan representades entre parntesi:\n" "\n" #: nano.c:388 @@ -710,16 +736,24 @@ msgid "delete_opennode(): free'd last node.\n" msgstr "delete_opennode(): alliberat l'ltim node.\n" #: nano.c:499 -msgid "Usage: nano [GNU long option] [option] +LINE \n\n" -msgstr "Sintaxi: nano [opci llarga GNU] [opci] +LNIA \n\n" +msgid "" +"Usage: nano [GNU long option] [option] +LINE \n" +"\n" +msgstr "" +"Sintaxi: nano [opci llarga GNU] [opci] +LNIA \n" +"\n" #: nano.c:500 msgid "Option\t\tLong option\t\tMeaning\n" msgstr "Opci\t\tOpci llarga\t\tSignificat\n" #: nano.c:502 -msgid "Usage: nano [option] +LINE \n\n" -msgstr "Sintaxi: nano [opci] +LNIA \n\n" +msgid "" +"Usage: nano [option] +LINE \n" +"\n" +msgstr "" +"Sintaxi: nano [opci] +LNIA \n" +"\n" #: nano.c:503 msgid "Option\t\tMeaning\n" @@ -887,8 +921,12 @@ msgid " Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org" msgstr " Correu-e: nano@nano-editor.org\tWeb: http://www.nano-editor.org" #: nano.c:570 -msgid "\n Compiled options:" -msgstr "\n Opcions compilades:" +msgid "" +"\n" +" Compiled options:" +msgstr "" +"\n" +" Opcions compilades:" #: nano.c:686 msgid "Mark Set" @@ -913,7 +951,6 @@ msgstr "current->data ara = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Desprs, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Editar un reemplaament" @@ -983,18 +1020,32 @@ msgstr "Ara pots desjustificar!" msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Text d'ajuda per a la ordre Cerca\n" "\n" -" Introduiu les paraules o carcters que voleu cercar i polseu intro. Si hi ha una coincidncia per a el texte que heu introduit, la pantalla s'actualitzar al lloc on est la coincidncia de la cadena cercada ms propera.\n" +" Introduiu les paraules o carcters que voleu cercar i polseu intro. Si hi " +"ha una coincidncia per a el texte que heu introduit, la pantalla " +"s'actualitzar al lloc on est la coincidncia de la cadena cercada ms " +"propera.\n" "\n" -" Si esteu fent servir el Modo Pico mitjanant les opcions -p o --pico, fent servir l'interruptor Meta-P o un fitxer nanorc, la cadena de la cerca anterior es mostrar desprs del indicatiu Cercar:. Polsar intro sense introduir cap texte dur a terme la anterior cerca. Si no, la anterior cadena es posar davant del cursor i es podr editar o esborrar abans de polsar intro.\n" +" Si esteu fent servir el Modo Pico mitjanant les opcions -p o --pico, fent " +"servir l'interruptor Meta-P o un fitxer nanorc, la cadena de la cerca " +"anterior es mostrar desprs del indicatiu Cercar:. Polsar intro sense " +"introduir cap texte dur a terme la anterior cerca. Si no, la anterior " +"cadena es posar davant del cursor i es podr editar o esborrar abans de " +"polsar intro.\n" "\n" " Les segents tecles de funci estan disponibles en el mode Cerca:\n" "\n" @@ -1003,14 +1054,18 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Text d'ajuda de Anar a Lnia\n" "\n" -" Introduiu el nmero de la lnia a la que voleu anar i polseu Intro. Si hi ha menys lnias de texte que el nmero que heu introduit, el cursor es mour a la ltima lnia del fitxer.\n" +" Introduiu el nmero de la lnia a la que voleu anar i polseu Intro. Si hi " +"ha menys lnias de texte que el nmero que heu introduit, el cursor es mour " +"a la ltima lnia del fitxer.\n" "\n" " Les segents tecles de funci estan disponibles en el mode Anar a Lnia:\n" "\n" @@ -1019,22 +1074,33 @@ msgstr "" msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Text d'ajuda d'Inserir Fitxer\n" "\n" -" Escriviu el nom del fitxer a afegir en el buffer actual en la posici actual del cursor.\n" +" Escriviu el nom del fitxer a afegir en el buffer actual en la posici " +"actual del cursor.\n" "\n" -" Si s'ha compilat nano amb suport per a mltiples fitxers i heu habilitat els buffers mltiples amb les opcions -F o --multibuffer, fent servir l'interruptor Meta-F o amb un fitxer nanorc, la inserci d'un fitxer far que es carregue en un buffer different (feu servir Meta-< i > per a canviar de buffers de fitxer).\n" +" Si s'ha compilat nano amb suport per a mltiples fitxers i heu habilitat " +"els buffers mltiples amb les opcions -F o --multibuffer, fent servir " +"l'interruptor Meta-F o amb un fitxer nanorc, la inserci d'un fitxer far " +"que es carregue en un buffer different (feu servir Meta-< i > per a canviar " +"de buffers de fitxer).\n" "\n" -" Si necessiteu un altre buffer en blanc, no inseriu cap nom de fitxer o escriviu el nom d'un fitxer no existent en l'indicatiu i polseu Intro.\n" +" Si necessiteu un altre buffer en blanc, no inseriu cap nom de fitxer o " +"escriviu el nom d'un fitxer no existent en l'indicatiu i polseu Intro.\n" "\n" " Les segents tecles de funci estan disponibles en el mode Inserir Fitxer:\n" "\n" @@ -1043,18 +1109,27 @@ msgstr "" msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Text d'ajuda de Desar Fitxer\n" "\n" -" Escriviu el nom amb el que voleu desar el fitxer actual i polseu intro per a salvar-ho.\n" +" Escriviu el nom amb el que voleu desar el fitxer actual i polseu intro per " +"a salvar-ho.\n" "\n" -" Si esteu fent servir el codi de marcat amb Ctrl-^ i heu selleccionat texte, se vos preguntar si voleu desar noms la porci marcada a un fitxer diferent. Per a reduir la posibilitat de sobreescriure el fitxer actual amb noms una part d'ell, el nom del fitxer actual no s el predeterminat en aquest mode.\n" +" Si esteu fent servir el codi de marcat amb Ctrl-^ i heu selleccionat " +"texte, se vos preguntar si voleu desar noms la porci marcada a un fitxer " +"diferent. Per a reduir la posibilitat de sobreescriure el fitxer actual amb " +"noms una part d'ell, el nom del fitxer actual no s el predeterminat en " +"aquest mode.\n" "\n" " Les segents tecles de funci estan disponibles en el mode Desar Fitxer:\n" "\n" @@ -1063,16 +1138,26 @@ msgstr "" msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" msgstr "" "Text d'ajuda del Navegador de Fitxers\n" "\n" -" El navegador de fitxers s'utilitza per a navegar visualment la estructura del directori per a seleccionar un fitxer per a lectura o escriptura. Podeu fer servir els cursors o Re/Av Pag per a navegar per els fitxers i S o Intro per a triar el fitxer seleccionat o entrar dins del directori seleccionat. Per a pujar un nivel, seleccioneu el directori \"..\" en la part superior de la llista de fitxers.\n" +" El navegador de fitxers s'utilitza per a navegar visualment la estructura " +"del directori per a seleccionar un fitxer per a lectura o escriptura. Podeu " +"fer servir els cursors o Re/Av Pag per a navegar per els fitxers i S o Intro " +"per a triar el fitxer seleccionat o entrar dins del directori seleccionat. " +"Per a pujar un nivel, seleccioneu el directori \"..\" en la part superior de " +"la llista de fitxers.\n" "\n" -" Les segents tecles de funci estan disponibles en el navegador de fitxers:\n" +" Les segents tecles de funci estan disponibles en el navegador de " +"fitxers:\n" "\n" #: nano.c:2563 @@ -1081,7 +1166,8 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" @@ -1090,39 +1176,50 @@ msgstr "" "\n" " Introduu el nom del directori per el que voleu navegar.\n" "\n" -" Si el completat amb el tabulador no est desactivat, podeu fer servir la tecla TAB per a (intentar) completar automticament el nom del directori.\n" +" Si el completat amb el tabulador no est desactivat, podeu fer servir la " +"tecla TAB per a (intentar) completar automticament el nom del directori.\n" "\n" -" Les segents tecles de funci estan disponibles en el mode Anar a Directori del Navegador:\n" +" Les segents tecles de funci estan disponibles en el mode Anar a Directori " +"del Navegador:\n" "\n" #: nano.c:2571 msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Text d'ajuda del Corrector d'Ortografia\n" "\n" -" El Corrector d'ortografia comprova la ortografia de tot el texte en el fitxer actual. Quan es troba una paraula desconeguda, aquesta es marca i es pot editar una substituci. Desprs preguntar si es vol reemplaar totes les coincidncies d'eixa paraula mal escrita el el fitxer actual.\n" +" El Corrector d'ortografia comprova la ortografia de tot el texte en el " +"fitxer actual. Quan es troba una paraula desconeguda, aquesta es marca i es " +"pot editar una substituci. Desprs preguntar si es vol reemplaar totes " +"les coincidncies d'eixa paraula mal escrita el el fitxer actual.\n" "\n" -" Les segents tecles de funci estan disponibles en el mode Corrector d'Ortografia:\n" +" Les segents tecles de funci estan disponibles en el mode Corrector " +"d'Ortografia:\n" "\n" #: nano.c:2581 msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" msgstr "" "Text d'ajuda de l'Ordre Externa\n" "\n" -" Aquest men vos permet inserir l'eixida d'una ordre executada per l'intrpret en el buffer actual (o un nou buffer en el mode multibuffer).\n" +" Aquest men vos permet inserir l'eixida d'una ordre executada per " +"l'intrpret en el buffer actual (o un nou buffer en el mode multibuffer).\n" "\n" " Les segents tecles de funci estan disponibles en el mode Ordre Externa:\n" @@ -1145,7 +1242,8 @@ msgstr "inhabilitat" #: nano.c:2759 msgid "NumLock glitch detected. Keypad will malfunction with NumLock off" -msgstr "Detectat NumLock trencat. El tecl. numric funcionar amb NumLock activat" +msgstr "" +"Detectat NumLock trencat. El tecl. numric funcionar amb NumLock activat" #: nano.c:3077 msgid "Main: set up windows\n" @@ -1190,8 +1288,12 @@ msgid "Error in %s on line %d: " msgstr "Error en %s en lnia %d: " #: rcfile.c:88 -msgid "\nPress return to continue starting nano\n" -msgstr "\nPolsa una tecla per carregar nano\n" +msgid "" +"\n" +"Press return to continue starting nano\n" +msgstr "" +"\n" +"Polsa una tecla per carregar nano\n" #: rcfile.c:176 #, c-format @@ -1223,8 +1325,12 @@ msgid "Cannot add a color directive without a syntax line" msgstr "No s'ha pogut afegir la directiva de color sense una lnia de sintaxi" #: rcfile.c:373 -msgid "\n\t\"start=\" requires a corresponding \"end=\"" -msgstr "\n\t\"start=\" requereix el seu \"end=\" corresponent" +msgid "" +"\n" +"\t\"start=\" requires a corresponding \"end=\"" +msgstr "" +"\n" +"\t\"start=\" requereix el seu \"end=\" corresponent" #: rcfile.c:423 msgid "parse_rcfile: Read a comment\n" @@ -1282,20 +1388,14 @@ msgstr "No s'ha pogut trobar el directori d'usuari! Wah!" msgid "Search" msgstr "Cercar" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Maj/Min]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [ExpReg]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Cap Enrere]" @@ -1367,7 +1467,6 @@ msgstr "Au vinga, sigues assenyat" msgid "Not a bracket" msgstr "No s una clau" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "No hi ha clau corresponent" @@ -1446,9 +1545,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "He aconseguit \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Ss" @@ -1537,13 +1633,15 @@ msgstr "Gr #~ msgstr " -F \t\t--multibuffer\t\tHabilitar mltiples buffers de fitxers\n" #~ msgid " -K \t\t--keypad\t\tUse alternate keypad routines\n" -#~ msgstr " -K \t\t--keypad\t\tFer servir rutines de teclat numric alternatives\n" +#~ msgstr "" +#~ " -K \t\t--keypad\t\tFer servir rutines de teclat numric alternatives\n" #~ msgid " -M \t\t--mac\t\t\tWrite file in Mac format\n" #~ msgstr " -M \t\t--mac\t\t\tEscriure fitxer en format Mac\n" #~ msgid " -N \t\t--noconvert\t\tDon't convert files from DOS/Mac format\n" -#~ msgstr " -N \t\t--noconvert\t\tNo convertir els fitxers des del format DOS/Mac\n" +#~ msgstr "" +#~ " -N \t\t--noconvert\t\tNo convertir els fitxers des del format DOS/Mac\n" #~ msgid " -Q [str]\t--quotestr [str]\tQuoting string, default \"> \"\n" #~ msgstr " -Q [cad]\t--quotestr [cad]\tMarcador de cita, per defecte \"> \"\n" @@ -1570,7 +1668,8 @@ msgstr "Gr #~ msgstr " -k \t\t--cut\t\t\t^K talla des del cursor al final de lnia\n" #~ msgid " -l \t\t--nofollow\t\tDon't follow symbolic links, overwrite\n" -#~ msgstr " -l \t\t--nofollow\t\tNo seguir enllaos simblics, sobreescriure'ls\n" +#~ msgstr "" +#~ " -l \t\t--nofollow\t\tNo seguir enllaos simblics, sobreescriure'ls\n" #~ msgid " -m \t\t--mouse\t\t\tEnable mouse\n" #~ msgstr " -m \t\t--mouse\t\t\tHabilitar ratol\n" @@ -1581,11 +1680,14 @@ msgstr "Gr #~ msgid " -p \t\t--pico\t\t\tEmulate Pico as closely as possible\n" #~ msgstr " -p \t\t--pico\t\t\tEmular a Pico tant com sigui possible\n" -#~ msgid " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" -#~ msgstr " -r [#cols] \t--fill=[#cols]\t\tReplenar columnes (ajustar en) #cols\n" +#~ msgid "" +#~ " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" +#~ msgstr "" +#~ " -r [#cols] \t--fill=[#cols]\t\tReplenar columnes (ajustar en) #cols\n" #~ msgid " -s [prog] \t--speller=[prog]\tEnable alternate speller\n" -#~ msgstr " -s [prog] \t--speller=[prog]\tHabilitar corrector ortogrfic alternatiu\n" +#~ msgstr "" +#~ " -s [prog] \t--speller=[prog]\tHabilitar corrector ortogrfic alternatiu\n" #~ msgid " -t \t\t--tempfile\t\tAuto save on exit, don't prompt\n" #~ msgstr " -t \t\t--tempfile\t\tAutodesar en sortir, sense preguntar\n" diff --git a/po/cs.po b/po/cs.po index 6f2b3fa9..7d08d03d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.6\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-01-30 16:03+0100\n" "Last-Translator: Vclav Haisman \n" "Language-Team: Czech \n" @@ -47,7 +47,6 @@ msgstr "P msgid "\"%s\" not found" msgstr "\"%s\" nenalezen" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nov Soubor" @@ -57,7 +56,6 @@ msgstr "Nov msgid "File \"%s\" is a directory" msgstr "Soubor \"%s\" je adres" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, fuzzy, c-format msgid "File \"%s\" is a device file" @@ -140,7 +138,6 @@ msgstr "Nemohu zav msgid "Could not open %s for prepend: %s" msgstr "Nemohu otevt %s pro zpis: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -209,7 +206,6 @@ msgstr "Nemohu se p msgid "Can't visit parent in restricted mode" msgstr "Nemohu navtvit rodie v omezenm reimu" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, fuzzy, c-format msgid "Can't open \"%s\": %s" @@ -477,9 +473,9 @@ msgstr "Otev msgid "Open next loaded file" msgstr "Otevi dal nahran soubor" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Npovda" @@ -487,7 +483,7 @@ msgstr "N msgid "Close" msgstr "Zavt" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Konec" @@ -495,17 +491,16 @@ msgstr "Konec" msgid "WriteOut" msgstr "Zapi" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Zarovnn" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 #, fuzzy msgid "Read File" msgstr "st Soubor" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 #, fuzzy msgid "Replace" msgstr "Zmna" @@ -514,11 +509,11 @@ msgstr "Z msgid "Where Is" msgstr "Kde Je" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Pedchoz Strana" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Dal Strana" @@ -587,104 +582,104 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Jdi na dku" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Najdi zvorku" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "" -#: global.c:559 +#: global.c:558 #, fuzzy msgid "Next File" msgstr "Nov Soubor" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Pesun o znak dopedu" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Pesun o znak zpt" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Storno" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Prvn dka" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Posledn dka" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Case Sens" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 #, fuzzy msgid "Direction" msgstr "Jdi na dku" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regexp" -#: global.c:633 +#: global.c:620 #, fuzzy msgid "No Replace" msgstr "Bez zmny" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 #, fuzzy msgid "To Files" msgstr "K Souborm" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "" -#: global.c:730 +#: global.c:699 #, fuzzy msgid "Append" msgstr "Pidat" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Pidat" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 #, fuzzy msgid "Goto" msgstr "Jdi na" @@ -1011,7 +1006,6 @@ msgstr "current->data nyn msgid "After, data = \"%s\"\n" msgstr "Pot, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Edituj nhradu" @@ -1406,21 +1400,15 @@ msgstr "" msgid "Search" msgstr "Hledn" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 #, fuzzy msgid " [Case Sensitive]" msgstr " [Case Sensitive]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regexp]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 #, fuzzy msgid " [Backwards]" @@ -1494,7 +1482,6 @@ msgstr "No tak, bu msgid "Not a bracket" msgstr "Nen zvorka" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Nen korespondujc zvorka" @@ -1578,9 +1565,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Mm \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Aa" diff --git a/po/da.po b/po/da.po index a9004e00..56c1d66b 100644 --- a/po/da.po +++ b/po/da.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.7\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-03-27 22:27+0200\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" @@ -46,7 +46,6 @@ msgstr "L msgid "\"%s\" not found" msgstr "\"%s\" kunne ikke findes" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Ny fil" @@ -56,7 +55,6 @@ msgstr "Ny fil" msgid "File \"%s\" is a directory" msgstr "\"%s\" er et katalog" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -138,7 +136,6 @@ msgstr "Kunne ikke lukke %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Kunde ikke bne %s for skrivning: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr "Kan ikke g msgid "Can't visit parent in restricted mode" msgstr "Kan ikke besge forlder i begrnset tilstand" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -461,9 +457,9 @@ msgid "Open next loaded file" msgstr "bn nste indlste fil" # kontrollr at den finns -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "F hjlp" @@ -471,7 +467,7 @@ msgstr "F msgid "Close" msgstr "Luk" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Afslut" @@ -479,16 +475,15 @@ msgstr "Afslut" msgid "WriteOut" msgstr "Gem" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Ombryd" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Ls fil" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Erstat" @@ -496,11 +491,11 @@ msgstr "Erstat" msgid "Where Is" msgstr "Hvor findes" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Forrige" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Nste" @@ -568,99 +563,99 @@ msgstr "Slet bagl msgid "Tab" msgstr "Tabulator" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "G til linje" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Find anden klamme" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Foregende fil" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Nste fil" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "G et tegn fremad" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "G et tegn bagud" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Annullr" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Frste linje" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Sidste linje" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Versalflsom" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Retning" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regudtr" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Ingen erstatning" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Til filer" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "DOS-format" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Mac-format" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Tilfj ved enden" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Tilfj ved enden" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "G til" @@ -986,7 +981,6 @@ msgstr "current->data nu = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Efter, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Redigr en erstatning" @@ -1419,20 +1413,14 @@ msgstr "" msgid "Search" msgstr "Sg" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr "[Versalflsom]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regudtr]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Bagud]" @@ -1504,7 +1492,6 @@ msgstr "Ja ja, v msgid "Not a bracket" msgstr "Ikke en klamme" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Ingen tilsvarende klamme" @@ -1585,9 +1572,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Jeg modtog \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "JjYy" diff --git a/po/de.po b/po/de.po index 577e4e36..1e492b8c 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 20:01+0200\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \n" @@ -48,7 +48,6 @@ msgstr "%d Zeilen gelesen (aus DOS-Format konvertiert)" msgid "\"%s\" not found" msgstr "»%s« nicht gefunden" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Neue Datei" @@ -58,7 +57,6 @@ msgstr "Neue Datei" msgid "File \"%s\" is a directory" msgstr "Datei »%s« ist ein Verzeichnis" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -77,7 +75,8 @@ msgstr "Datei einfügen [von %s] " msgid "File to insert [from ./] " msgstr "Datei einfügen [von ./] " -#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 files.c:795 files.c:1597 +#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 +#: files.c:795 files.c:1597 #, c-format msgid "filename is %s" msgstr "Dateiname ist %s" @@ -113,7 +112,8 @@ msgstr "Umgeschaltet zu %s" msgid "Can't write outside of %s" msgstr "Kann nicht außerhalb von %s schreiben" -#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 files.c:1366 files.c:1378 +#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 +#: files.c:1366 files.c:1378 #, c-format msgid "Could not open file for writing: %s" msgstr "Konnte nicht in Datei schreiben: %s" @@ -138,7 +138,6 @@ msgstr "Konnte %s nicht erneut öffnen: %s" msgid "Could not open %s for prepend: %s" msgstr "Konnte %s nicht zum Vorn-Anfügen öffnen: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -202,7 +201,6 @@ msgstr "Konnte nicht ins übergeordnete Verzeichnis wechseln" msgid "Can't visit parent in restricted mode" msgstr "Kann im eingeschränkten Modus nicht nach oben wechseln" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -407,7 +405,8 @@ msgstr "Zeilenumbruch an der Cursorposition einfügen" #: global.c:369 msgid "Make the current search or replace case (in)sensitive" -msgstr "Groß- und Kleinschreibung bei Suche oder Erstzen (nicht) berücksichtigen" +msgstr "" +"Groß- und Kleinschreibung bei Suche oder Erstzen (nicht) berücksichtigen" #: global.c:370 msgid "Go to file browser" @@ -457,7 +456,9 @@ msgstr "Vorige geladene Datei öffnen" msgid "Open next loaded file" msgstr "Nächste geladene Datei öffnen" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Hilfe" @@ -465,7 +466,7 @@ msgstr "Hilfe" msgid "Close" msgstr "Schließen" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Beenden" @@ -473,16 +474,15 @@ msgstr "Beenden" msgid "WriteOut" msgstr "Speichern" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Ausrichten" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Datei öffnen" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Ersetzen" @@ -490,11 +490,11 @@ msgstr "Ersetzen" msgid "Where Is" msgstr "Wo ist" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Seite zurück" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Seite vor" @@ -562,95 +562,96 @@ msgstr "Rücktaste" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Zu Zeile" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Andere Klammer finden" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Vorherige Datei" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Nächste Datei" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Nächstes Wort" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Zum folgenden Wort springen" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Vorh. Wort" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Zum vorhergehenden Wort springen" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Abbrechen" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Erste Zeile" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Letzte Zeile" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "GROSZ/klein" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Richtung" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "reg. Ausdruck" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Keine Ersetzung" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "In Dateien" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "DOS-Format" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Mac-Format" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Anhängen" -#: global.c:735 +#: global.c:702 msgid "Prepend" msgstr "Vorn Anfügen" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Befehl ausführen" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Zu Zeile" @@ -684,16 +685,37 @@ msgstr "Unzulässige Taste im View Modus" msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" " nano Hilfe\n" "\n" -" Nano wurde konzipiert, die Funktionalität und die Benutzerfreundlichkeit des UW-Pico-Texteditors zu imitieren. Es gibt vier Hauptbereiche: Die Titelzeile zeigt die Version des Programms, den Namen der momentan editierten Datei und ob die Datei verändert wurde oder nicht. Das Hauptfenster enthält die geöffnete Datei. Die Statuszeile (die dritte Zeile von unten) zeigt wichtige Meldungen. Die untersten zwei Zeilen listen die meistgebrauchten Tastenkombinationen von nano auf.\n" +" Nano wurde konzipiert, die Funktionalität und die Benutzerfreundlichkeit " +"des UW-Pico-Texteditors zu imitieren. Es gibt vier Hauptbereiche: Die " +"Titelzeile zeigt die Version des Programms, den Namen der momentan " +"editierten Datei und ob die Datei verändert wurde oder nicht. Das " +"Hauptfenster enthält die geöffnete Datei. Die Statuszeile (die dritte Zeile " +"von unten) zeigt wichtige Meldungen. Die untersten zwei Zeilen listen die " +"meistgebrauchten Tastenkombinationen von nano auf.\n" "\n" -" Tastenkombinationen werden wie folgt abgekürzt: Kombinationen mit der Strg-Taste werden mit einem ^ ausgedrückt. Escape-Sequenzen werden mit dem Meta-Symbol (M) angegeben und können je nach Tastatureinstellung mit Esc, Alt oder Meta eingegeben werden. Die folgenden Tasten(kombinationen) sind im Hauptfenster verfügbar. Optionale Tasten sind eingeklammert:\n" +" Tastenkombinationen werden wie folgt abgekürzt: Kombinationen mit der Strg-" +"Taste werden mit einem ^ ausgedrückt. Escape-Sequenzen werden mit dem Meta-" +"Symbol (M) angegeben und können je nach Tastatureinstellung mit Esc, Alt " +"oder Meta eingegeben werden. Die folgenden Tasten(kombinationen) sind im " +"Hauptfenster verfügbar. Optionale Tasten sind eingeklammert:\n" "\n" #: nano.c:388 @@ -928,7 +950,6 @@ msgstr "current->data jetzt = »%s«\n" msgid "After, data = \"%s\"\n" msgstr "Nachher, data = »%s«\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Ersetzung editieren" @@ -940,7 +961,8 @@ msgstr "Konnte keine temporäre Datei erzeugen: %s" #: nano.c:1666 msgid "Spell checking failed: unable to write temp file!" -msgstr "Rechtschreibprüfung fehlgeschlagen: konnte nicht in temporäre Datei schreiben" +msgstr "" +"Rechtschreibprüfung fehlgeschlagen: konnte nicht in temporäre Datei schreiben" #: nano.c:1685 msgid "Finished checking spelling" @@ -998,18 +1020,33 @@ msgstr "Kann Absatzausrichtung nicht rückgängig machen" msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Hilfetext für das Suchkommando\n" "\n" -" Geben Sie die Wörter oder Buchstaben ein, nach denen Sie suchen möchten, und drücken Sie die Eingabetaste. Wenn eine Übereinstimmung für den eingegebenen Text gefunden wird, dann wird die Anzeige zur nächsten Fundstelle bewegt.\n" +" Geben Sie die Wörter oder Buchstaben ein, nach denen Sie suchen möchten, " +"und drücken Sie die Eingabetaste. Wenn eine Übereinstimmung für den " +"eingegebenen Text gefunden wird, dann wird die Anzeige zur nächsten " +"Fundstelle bewegt.\n" "\n" -" Bei Benutzung des Pico-Modus durch die Kommandozeilenoptionen -p oder --pico, durch den Meta-P-Umschalter oder mittels einer nanorc-Datei, wird die vorhergehende Suchzeichenkette in Klammer nach der Such-Aufforderung angezeigt. Drücken der Eingabetaste ohne Eingabe irgenwelchen Textes führt die vorhergehende Suche durch. Anderenfalls wird die vorhergehende Zeichenkette vor dem Cursor angezeigt und kann vor dem Suchen bearbeitet oder gelöscht werden.\n" +" Bei Benutzung des Pico-Modus durch die Kommandozeilenoptionen -p oder --" +"pico, durch den Meta-P-Umschalter oder mittels einer nanorc-Datei, wird die " +"vorhergehende Suchzeichenkette in Klammer nach der Such-Aufforderung " +"angezeigt. Drücken der Eingabetaste ohne Eingabe irgenwelchen Textes führt " +"die vorhergehende Suche durch. Anderenfalls wird die vorhergehende " +"Zeichenkette vor dem Cursor angezeigt und kann vor dem Suchen bearbeitet " +"oder gelöscht werden.\n" "\n" " Die folgenden Funktionstasten sind im Suchmodus verfügbar:\n" "\n" @@ -1018,14 +1055,18 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Hilfetext für »Zu Zeile«\n" "\n" -" Geben Sie die Nummer der gewünschten Zeile ein und drücken Sie die Eingabetaste. Gibt es weniger Zeilen im Text, so springt nano zur letzten Zeile der Datei.\n" +" Geben Sie die Nummer der gewünschten Zeile ein und drücken Sie die " +"Eingabetaste. Gibt es weniger Zeilen im Text, so springt nano zur letzten " +"Zeile der Datei.\n" "\n" " Die folgenden Funktionstasten sind im Zu-Zeile-Modus verfügbar:\n" "\n" @@ -1034,21 +1075,34 @@ msgstr "" msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Hilfetext für »Datei einfügen«\n" "\n" -" Geben Sie den Namen einer Datei ein, die an der momentanen Cursorposition in den momentanen Dateipuffer eingefügt werden soll.\n" +" Geben Sie den Namen einer Datei ein, die an der momentanen Cursorposition " +"in den momentanen Dateipuffer eingefügt werden soll.\n" "\n" -" Wenn Sie nano mit Unterstützung für mehrere Dateipuffer compiliert haben und diese Funktion mit den Kommandozeilenoptionen -F oder --multibuffer, mit der Tastenkombination Meta-F oder mittels einer nanorc-Datei eingeschaltet haben, so wird die Einfügeoperation die Datei in einen separaten Puffer laden. (Benutzen Sie Meta-< und >, um zwischen den Dateipuffern umzuschalten.)\n" -" Wenn Sie einen weiteren leeren Puffer benötigen, drücken Sie einfach die Eingabetaste, ohne einen Dateinamen einzugeben, oder geben Sie einen nichtexistierenden Dateinamen an.\n" +" Wenn Sie nano mit Unterstützung für mehrere Dateipuffer compiliert haben " +"und diese Funktion mit den Kommandozeilenoptionen -F oder --multibuffer, mit " +"der Tastenkombination Meta-F oder mittels einer nanorc-Datei eingeschaltet " +"haben, so wird die Einfügeoperation die Datei in einen separaten Puffer " +"laden. (Benutzen Sie Meta-< und >, um zwischen den Dateipuffern " +"umzuschalten.)\n" +" Wenn Sie einen weiteren leeren Puffer benötigen, drücken Sie einfach die " +"Eingabetaste, ohne einen Dateinamen einzugeben, oder geben Sie einen " +"nichtexistierenden Dateinamen an.\n" "\n" " Die folgenden Funktionstasten sind im Datei-Einfügen-Modus verfügbar:\n" "\n" @@ -1057,18 +1111,27 @@ msgstr "" msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Hilfetext für »Datei schreiben«\n" "\n" -" Geben Sie den Namen ein, unter dem Sie die momentane Datei speichern wollen und drücken Sie die Eingabetaste.\n" +" Geben Sie den Namen ein, unter dem Sie die momentane Datei speichern wollen " +"und drücken Sie die Eingabetaste.\n" "\n" -" Wenn Sie eine Markierung mit Strg-^ benutzen und markierten Text haben, so werden Sie gefragt, ob Sie nur den ausgewählten Teil des Textes in eine separate Datei schreiben wollen. Um die Gefahr, eine Datei mit einem Teil von ihr zu überschreiben, zu minimieren, ist der aktuelle Dateiname in diesem Modus nicht die Vorgabe.\n" +" Wenn Sie eine Markierung mit Strg-^ benutzen und markierten Text haben, so " +"werden Sie gefragt, ob Sie nur den ausgewählten Teil des Textes in eine " +"separate Datei schreiben wollen. Um die Gefahr, eine Datei mit einem Teil " +"von ihr zu überschreiben, zu minimieren, ist der aktuelle Dateiname in " +"diesem Modus nicht die Vorgabe.\n" "\n" " Die folgenden Funktionstasten sind im Datei-Schreiben-Modus verfügbar:\n" "\n" @@ -1077,14 +1140,23 @@ msgstr "" msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" msgstr "" "Hilfetext für den Dateiwähler\n" "\n" -" Mit dem Dateiwähler kann die Verzeichnisstruktur visuell durchsucht werden, um eine Datei für Lese- und Schreiboperationen auszuwählen. Sie können die Pfeiltasten oder Bild-Auf/Ab benutzen, um durch die Dateien zu blättern, und S oder die Eingabe, um die markierte Datei bzw. das markierte Verzeichnis auszuwählen. Um sich eine Ebene aufwärts zu bewegen, wählen Sie das Verzeichnis namens »..« ganz oben in der Dateiliste.\n" +" Mit dem Dateiwähler kann die Verzeichnisstruktur visuell durchsucht werden, " +"um eine Datei für Lese- und Schreiboperationen auszuwählen. Sie können die " +"Pfeiltasten oder Bild-Auf/Ab benutzen, um durch die Dateien zu blättern, und " +"S oder die Eingabe, um die markierte Datei bzw. das markierte Verzeichnis " +"auszuwählen. Um sich eine Ebene aufwärts zu bewegen, wählen Sie das " +"Verzeichnis namens »..« ganz oben in der Dateiliste.\n" "\n" " Die folgenden Funktionstasten sind im Dateiwähler verfügbar:\n" "\n" @@ -1095,7 +1167,8 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" @@ -1104,39 +1177,54 @@ msgstr "" "\n" " Geben Sie den Namen des Verzeichnisses ein, das Sie durchsuchen wollen.\n" "\n" -" Wenn Tabulator-Vervollständigung nicht abgeschaltet worden ist, so können Sie die Tabulator-Taste benutzen, um (zu versuchen) den Verzeichnisnamen automatisch vervollständigen zu lassen.\n" +" Wenn Tabulator-Vervollständigung nicht abgeschaltet worden ist, so können " +"Sie die Tabulator-Taste benutzen, um (zu versuchen) den Verzeichnisnamen " +"automatisch vervollständigen zu lassen.\n" "\n" -" Die folgenden Funktionstasten sind im Gehe-zu-Verzeichnis-Modus des Dateiwählers verfügbar:\n" +" Die folgenden Funktionstasten sind im Gehe-zu-Verzeichnis-Modus des " +"Dateiwählers verfügbar:\n" "\n" #: nano.c:2571 msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Hilfetext für die Rechtschreibprüfung\n" "\n" -" Die Rechtschreibprüfung überprüft die Rechtschreibung des gesamten Texts der aktuellen Datei. Wenn ein unbekanntes Wort gefunden wird, wird es hervorgehoben und eine Ersetzung kann bearbeitet werden. Sie werden dann gefragt, ob Sie die vorgenommene Ersetzung in der ganzen Datei vornehmen lassen wollen.\n" +" Die Rechtschreibprüfung überprüft die Rechtschreibung des gesamten Texts " +"der aktuellen Datei. Wenn ein unbekanntes Wort gefunden wird, wird es " +"hervorgehoben und eine Ersetzung kann bearbeitet werden. Sie werden dann " +"gefragt, ob Sie die vorgenommene Ersetzung in der ganzen Datei vornehmen " +"lassen wollen.\n" "\n" -" Die folgenden weitern Funktionstasten sind in der Rechtschreibprüfung verfügbar:\n" +" Die folgenden weitern Funktionstasten sind in der Rechtschreibprüfung " +"verfügbar:\n" "\n" #: nano.c:2581 msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" msgstr "" "Hilfetext für Externen Befehl\n" -" Dieses Menü erlaubt es, die Ausgabe eines externen Befehls, der in der Shell ausgeführt wird, in den aktuellen Puffer einzufügen (oder in einen neuen Puffer wenn Unterstützung für mehrere Puffer aktiviert ist).\n" -" Die folgenden weitern Funktionstasten sind in der Rechtschreibprüfung verfügbar:\n" +" Dieses Menü erlaubt es, die Ausgabe eines externen Befehls, der in der " +"Shell ausgeführt wird, in den aktuellen Puffer einzufügen (oder in einen " +"neuen Puffer wenn Unterstützung für mehrere Puffer aktiviert ist).\n" +" Die folgenden weitern Funktionstasten sind in der Rechtschreibprüfung " +"verfügbar:\n" "\n" #: nano.c:2629 nano.c:2645 @@ -1158,7 +1246,9 @@ msgstr "deaktiviert" #: nano.c:2759 msgid "NumLock glitch detected. Keypad will malfunction with NumLock off" -msgstr "NumLock-Problem entdeckt. Tastenblock funktioniert nicht, wenn NumLock ausgeschaltet ist" +msgstr "" +"NumLock-Problem entdeckt. Tastenblock funktioniert nicht, wenn NumLock " +"ausgeschaltet ist" #: nano.c:3077 msgid "Main: set up windows\n" @@ -1225,7 +1315,8 @@ msgstr "" #: rcfile.c:201 rcfile.c:327 rcfile.c:381 msgid "regex strings must begin and end with a \" character\n" -msgstr "Zeichenketten für reguläre Ausdrücke müssen mit \" anfangen und enden\n" +msgstr "" +"Zeichenketten für reguläre Ausdrücke müssen mit \" anfangen und enden\n" #: rcfile.c:210 msgid "Missing syntax name" @@ -1303,20 +1394,14 @@ msgstr "Kann mein Heimatverzeichnis nicht finden! Bäh!" msgid "Search" msgstr "Suche" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [GROSZ/klein]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [reg. Ausdruck]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Rückwärts]" @@ -1388,7 +1473,6 @@ msgstr "Komm schon, sei vernünftig" msgid "Not a bracket" msgstr "Keine Klammer" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Keine passende Klammer" @@ -1467,9 +1551,6 @@ msgstr "current->data = »%s«\n" msgid "I got \"%s\"\n" msgstr "Erhielt »%s«\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "JjYy" @@ -1502,7 +1583,8 @@ msgstr "do_cursorpos: linepct = %f, bytepct = %f\n" #: winio.c:1680 #, c-format msgid "line %d/%d (%.0f%%), col %ld/%ld (%.0f%%), char %ld/%ld (%.0f%%)" -msgstr "Zeile %d/%d (%.0f%%), Spalte %ld/%ld (%.0f%%), Zeichen %ld/%ld (%.0f%%)" +msgstr "" +"Zeile %d/%d (%.0f%%), Spalte %ld/%ld (%.0f%%), Zeichen %ld/%ld (%.0f%%)" #: winio.c:1841 msgid "Dumping file buffer to stderr...\n" diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 00000000..fedb6a06 --- /dev/null +++ b/po/en@boldquot.header @@ -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. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 00000000..a9647fc3 --- /dev/null +++ b/po/en@quot.header @@ -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. +# diff --git a/po/es.po b/po/es.po index 27b8ffab..a15d77bf 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 16:45+0200\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Spanish \n" @@ -47,7 +47,6 @@ msgstr "%d l msgid "\"%s\" not found" msgstr "\"%s\" no encontrado" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nuevo Fichero" @@ -58,7 +57,6 @@ msgstr "Nuevo Fichero" msgid "File \"%s\" is a directory" msgstr "El fichero \"%s\" es un directorio" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -152,7 +150,6 @@ msgstr "No se pudo reabrir %s: %s" msgid "Could not open %s for prepend: %s" msgstr "No se pudo abrir %s para anteponer: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -223,7 +220,6 @@ msgid "Can't visit parent in restricted mode" msgstr "No se puede visitar el directorio padre en modo restringido" # c-format -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -491,9 +487,9 @@ msgstr "Abrir el fichero cargado previamente" msgid "Open next loaded file" msgstr "Abrir siguiente fichero cargado" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Ver Ayuda" @@ -501,7 +497,7 @@ msgstr "Ver Ayuda" msgid "Close" msgstr "Cerrar" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Salir" @@ -509,16 +505,15 @@ msgstr "Salir" msgid "WriteOut" msgstr "Guardar" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Justificar" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "L Fichero" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Reemplazar" @@ -526,11 +521,11 @@ msgstr "Reemplazar" msgid "Where Is" msgstr "Buscar" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Pg Ant" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Pg Sig" @@ -601,108 +596,116 @@ msgstr "Tab" # Intro (?). sv # O introducir, no encuentro el contexto... # Ok, es Intro (pero no se usa, parece, reportar el bug) jm -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Intro" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Ir a Lnea" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Buscar la otra llave" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Fichero Anterior" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Fichero Siguiente" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Palabra Siguiente" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Moverse hacia adelante una palabra" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Palabra Anterior" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Moverse hacia atrs una palabra" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Cancelar" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Primera Lnea" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "ltima Lnea" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "May/Min" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Direccin" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "ExpReg" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "No Reemplazar" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "A Ficheros" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Formato DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Formato Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Aadir" -#: global.c:735 +#: global.c:702 msgid "Prepend" msgstr "Anteponer" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Ejecutar Orden" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Ir a" #: nano.c:194 #, c-format -msgid "\nBuffer written to %s\n" -msgstr "\nBuffer escrito en %s\n" +msgid "" +"\n" +"Buffer written to %s\n" +msgstr "" +"\n" +"Buffer escrito en %s\n" #: nano.c:196 #, c-format -msgid "\nNo %s written (too many backup files?)\n" -msgstr "\nNo se ha escrito %s (demasiadas copias de seguridad?)\n" +msgid "" +"\n" +"No %s written (too many backup files?)\n" +msgstr "" +"\n" +"No se ha escrito %s (demasiadas copias de seguridad?)\n" #: nano.c:205 msgid "Window size is too small for Nano..." @@ -720,16 +723,39 @@ msgstr "Tecla ilegal en modo VISUALIZACI msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" " texto de ayuda de nano\n" "\n" -" El editor nano est diseado para emular la funcionalidad y la facilidad de uso de Pico, el editor de texto de la UW. Hay cuatro secciones en el editor: la lnea superior muestra la versin del programa, el nombre del fichero editado y si el fichero ha sido o no modificado. Tambin tenemos la ventana principal de edicin, que muestra el fichero que se est editando. La lnea de estado es la tercera desde abajo y muestra mensajes importantes. Las ltimas dos lneas muestran los atajos ms usados en el editor.\n" +" El editor nano est diseado para emular la funcionalidad y la facilidad de " +"uso de Pico, el editor de texto de la UW. Hay cuatro secciones en el editor: " +"la lnea superior muestra la versin del programa, el nombre del fichero " +"editado y si el fichero ha sido o no modificado. Tambin tenemos la ventana " +"principal de edicin, que muestra el fichero que se est editando. La lnea " +"de estado es la tercera desde abajo y muestra mensajes importantes. Las " +"ltimas dos lneas muestran los atajos ms usados en el editor.\n" "\n" -" La notacin de los atajos es la siguiente: las secuencias con la tecla Control estn anotadas con el smbolo circunflejo (^) y se accede a ellas mediante la tecla Control. Las secuencias con teclas de escape estn anotadas con el smbolo Meta (M) y se puede acceder a ellas mediante las teclas Esc, Alt o Meta dependiendo de la configuracin del teclado. Las siguientes combinaciones estn disponibles en la ventana principal. Las teclas opcionales estn representadas entre parntesis:\n" +" La notacin de los atajos es la siguiente: las secuencias con la tecla " +"Control estn anotadas con el smbolo circunflejo (^) y se accede a ellas " +"mediante la tecla Control. Las secuencias con teclas de escape estn " +"anotadas con el smbolo Meta (M) y se puede acceder a ellas mediante las " +"teclas Esc, Alt o Meta dependiendo de la configuracin del teclado. Las " +"siguientes combinaciones estn disponibles en la ventana principal. Las " +"teclas opcionales estn representadas entre parntesis:\n" "\n" #: nano.c:388 @@ -749,16 +775,24 @@ msgid "delete_opennode(): free'd last node.\n" msgstr "delete_opennode(): liberado el ltimo nodo.\n" #: nano.c:499 -msgid "Usage: nano [GNU long option] [option] +LINE \n\n" -msgstr "Uso: nano [opcin larga GNU] [opcin] +LNEA \n\n" +msgid "" +"Usage: nano [GNU long option] [option] +LINE \n" +"\n" +msgstr "" +"Uso: nano [opcin larga GNU] [opcin] +LNEA \n" +"\n" #: nano.c:500 msgid "Option\t\tLong option\t\tMeaning\n" msgstr "Opcin\t\tOpcin larga\t\tSignificado\n" #: nano.c:502 -msgid "Usage: nano [option] +LINE \n\n" -msgstr "Uso: nano [opcin] +LNEA \n\n" +msgid "" +"Usage: nano [option] +LINE \n" +"\n" +msgstr "" +"Uso: nano [opcin] +LNEA \n" +"\n" #: nano.c:503 msgid "Option\t\tMeaning\n" @@ -926,8 +960,12 @@ msgid " Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org" msgstr " Correo-e: nano@nano-editor.org\tWeb: http://www.nano-editor.org" #: nano.c:570 -msgid "\n Compiled options:" -msgstr "\n Opciones compiladas:" +msgid "" +"\n" +" Compiled options:" +msgstr "" +"\n" +" Opciones compiladas:" #: nano.c:686 msgid "Mark Set" @@ -952,7 +990,6 @@ msgstr "current->data ahora = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Despus, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Editar un reemplazo" @@ -965,7 +1002,8 @@ msgstr "No se pudo crear un fichero temporal: %s" #: nano.c:1666 msgid "Spell checking failed: unable to write temp file!" -msgstr "Comprobacin de ortografa fallida: no se pudo escribir fichero temporal!" +msgstr "" +"Comprobacin de ortografa fallida: no se pudo escribir fichero temporal!" #: nano.c:1685 msgid "Finished checking spelling" @@ -987,7 +1025,8 @@ msgstr "No se pudo crear otro proceso" #: nano.c:1827 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? " -msgstr " Salvar el buffer modificado (RESPONDER \"No\" DESTRUIR LOS CAMBIOS) ?" +msgstr "" +" Salvar el buffer modificado (RESPONDER \"No\" DESTRUIR LOS CAMBIOS) ?" #: nano.c:1982 msgid "Received SIGHUP" @@ -1026,18 +1065,32 @@ msgstr " msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Texto de ayuda del comando Bsqueda\n" "\n" -" Introduce las palabras o carcteres que quereis buscar y pulsad intro. Si hay una coincidencia para el texto que has introducido, la pantalla se actualizar al lugar donde est la coincidencia de la cadena buscada ms cercana.\n" +" Introduce las palabras o carcteres que quereis buscar y pulsad intro. Si " +"hay una coincidencia para el texto que has introducido, la pantalla se " +"actualizar al lugar donde est la coincidencia de la cadena buscada ms " +"cercana.\n" "\n" -" Si ests usando el Modo Pico mediante las opciones -p o --pico, usando el interruptor Meta-P o usando un fichero nanorc, la cadena de la bsqueda anterior se mostrar despus del indicador Buscar:. Pulsar intro sin introducir ningn texto llevar a cabo la anterior bsqueda. Si no, la anterior cadena se pondr delante del cursor, y se podr editar o borrar antes de pulsar intro.\n" +" Si ests usando el Modo Pico mediante las opciones -p o --pico, usando el " +"interruptor Meta-P o usando un fichero nanorc, la cadena de la bsqueda " +"anterior se mostrar despus del indicador Buscar:. Pulsar intro sin " +"introducir ningn texto llevar a cabo la anterior bsqueda. Si no, la " +"anterior cadena se pondr delante del cursor, y se podr editar o borrar " +"antes de pulsar intro.\n" "\n" " Las siguientes teclas de funcin estn disponibles en el modo Bsqueda:\n" "\n" @@ -1046,14 +1099,18 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Texto de ayuda de Ir a Lnea\n" "\n" -" Introduce el nmero de la lnea a la que quieres ir y pulsa Intro. Si hay menos lneas de texto que el nmero que has introducido, el cursor se mover a la ltima lnea del fichero.\n" +" Introduce el nmero de la lnea a la que quieres ir y pulsa Intro. Si hay " +"menos lneas de texto que el nmero que has introducido, el cursor se mover " +"a la ltima lnea del fichero.\n" "\n" " Las siguientes teclas de funcin estn disponibles en el modo Ir a Lnea:\n" "\n" @@ -1062,60 +1119,92 @@ msgstr "" msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Texto de ayuda de Insertar Fichero\n" "\n" -" Escribe el nombre del fichero a aadir en el buffer actual donde se encuentra actualmente el cursor.\n" +" Escribe el nombre del fichero a aadir en el buffer actual donde se " +"encuentra actualmente el cursor.\n" "\n" -" Si has compilado nano con soporte para mltiples ficheros y habilitas los buffers mltiples con las opciones -F o --multibuffer, con el interruptor Meta-F o usando un fichero nanorc, la insercin de un fichero har que se cargue en un buffer diferente (usa Meta-< y > para cambiar de buffers de fichero).\n" +" Si has compilado nano con soporte para mltiples ficheros y habilitas los " +"buffers mltiples con las opciones -F o --multibuffer, con el interruptor " +"Meta-F o usando un fichero nanorc, la insercin de un fichero har que se " +"cargue en un buffer diferente (usa Meta-< y > para cambiar de buffers de " +"fichero).\n" "\n" -" Si necesitas otro buffer en blanco, no escribas ningn nombre de fichero o escribe el nombre de un fichero no existente y pulsa Intro.\n" +" Si necesitas otro buffer en blanco, no escribas ningn nombre de fichero o " +"escribe el nombre de un fichero no existente y pulsa Intro.\n" "\n" -" Las siguientes teclas de funcin estn disponibles en el modo Insertar Fichero:\n" +" Las siguientes teclas de funcin estn disponibles en el modo Insertar " +"Fichero:\n" "\n" #: nano.c:2540 msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Texto de ayuda de Guardar Fichero\n" "\n" -" Escribe el nombre con el que quieres guardar el fichero actual y pulsa intro para salvarlo.\n" +" Escribe el nombre con el que quieres guardar el fichero actual y pulsa " +"intro para salvarlo.\n" "\n" -" Si ests usando el cdigo de marcado con Ctrl-^ y has seleccionado texto, se te preguntar si quieres guardar slo la porcin marcada a un fichero separado. Para reducir la posibilidad de sobreescribir el fichero actual con slo una parte de el, el nombre del fichero actual no es el predeterminado en este modo.\n" +" Si ests usando el cdigo de marcado con Ctrl-^ y has seleccionado texto, " +"se te preguntar si quieres guardar slo la porcin marcada a un fichero " +"separado. Para reducir la posibilidad de sobreescribir el fichero actual con " +"slo una parte de el, el nombre del fichero actual no es el predeterminado " +"en este modo.\n" "\n" -" Las siguientes teclas de funcin estn disponibles en el modo Guardar Fichero:\n" +" Las siguientes teclas de funcin estn disponibles en el modo Guardar " +"Fichero:\n" "\n" #: nano.c:2552 msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" msgstr "" "Texto de ayuda del Navegador de Ficheros\n" "\n" -" El navegador de ficheros se utiliza para navegar visualmente la estructura del directorio para seleccionar un fichero para lectura o escritura. Puedes usar los cursores o Re/Av Pag para navegar por los ficheros y S o Intro para elegir el fichero seleccionado o entrar en el directorio seleccionado. Para subir un nivel, selecciona el directorio \"..\" en la parte superior de la lista de ficheros.\n" +" El navegador de ficheros se utiliza para navegar visualmente la estructura " +"del directorio para seleccionar un fichero para lectura o escritura. Puedes " +"usar los cursores o Re/Av Pag para navegar por los ficheros y S o Intro para " +"elegir el fichero seleccionado o entrar en el directorio seleccionado. Para " +"subir un nivel, selecciona el directorio \"..\" en la parte superior de la " +"lista de ficheros.\n" "\n" -" Las siguientes teclas de funcin estn disponibles en el navegador de ficheros:\n" +" Las siguientes teclas de funcin estn disponibles en el navegador de " +"ficheros:\n" "\n" #: nano.c:2563 @@ -1124,7 +1213,8 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" @@ -1133,41 +1223,53 @@ msgstr "" "\n" " Introduce el nombre del directorio por el que quieres navegar.\n" "\n" -" Si el completado con el tabulador no est desactivado, puedes usar la tecla TAB para (intentar) completar automticamente el nombre del directorio.\n" +" Si el completado con el tabulador no est desactivado, puedes usar la tecla " +"TAB para (intentar) completar automticamente el nombre del directorio.\n" "\n" -" Las siguientes teclas de funcin estn disponibles en el modo Ir a Directorio del Navegador:\n" +" Las siguientes teclas de funcin estn disponibles en el modo Ir a " +"Directorio del Navegador:\n" "\n" #: nano.c:2571 msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Texto de ayuda del Corrector de ortografa\n" "\n" -" El Corrector de ortografa comprueba la ortografa de todo el texto en el fichero actual. Cuando se encuentra una palabra desconocida, sta se marca y se puede editar un substituto. Despus preguntar si se quiere reemplazar todas las coincidencias de esa palabra mal escrita en el fichero actual.\n" +" El Corrector de ortografa comprueba la ortografa de todo el texto en el " +"fichero actual. Cuando se encuentra una palabra desconocida, sta se marca y " +"se puede editar un substituto. Despus preguntar si se quiere reemplazar " +"todas las coincidencias de esa palabra mal escrita en el fichero actual.\n" "\n" -" Las siguientes funciones adicionales estn disponibles en el modo Corrector de ortografa:\n" +" Las siguientes funciones adicionales estn disponibles en el modo Corrector " +"de ortografa:\n" "\n" #: nano.c:2581 msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" msgstr "" "Texto de ayuda de la Orden Externa\n" "\n" -" Este men te permite insertar la salida de una orden ejecutada por el intrprete en el buffer actual (o en uno nuevo en modo multibuffer).\n" +" Este men te permite insertar la salida de una orden ejecutada por el " +"intrprete en el buffer actual (o en uno nuevo en modo multibuffer).\n" "\n" -" Las siguientes funciones adicionales estn disponibles en el modo Orden Externa:\n" +" Las siguientes funciones adicionales estn disponibles en el modo Orden " +"Externa:\n" #: nano.c:2629 nano.c:2645 msgid "Space" @@ -1188,7 +1290,8 @@ msgstr "deshabilitado" #: nano.c:2759 msgid "NumLock glitch detected. Keypad will malfunction with NumLock off" -msgstr "Detectado NumLock roto. El tecl. numrico funcionar con NumLock activado" +msgstr "" +"Detectado NumLock roto. El tecl. numrico funcionar con NumLock activado" #: nano.c:3077 msgid "Main: set up windows\n" @@ -1233,8 +1336,12 @@ msgid "Error in %s on line %d: " msgstr "Error en %s en la lnea %d: " #: rcfile.c:88 -msgid "\nPress return to continue starting nano\n" -msgstr "\nPulsa enter para iniciar nano\n" +msgid "" +"\n" +"Press return to continue starting nano\n" +msgstr "" +"\n" +"Pulsa enter para iniciar nano\n" #: rcfile.c:176 #, c-format @@ -1266,8 +1373,12 @@ msgid "Cannot add a color directive without a syntax line" msgstr "No se puede aadir una directiva de color sin una lnea de sintaxis" #: rcfile.c:373 -msgid "\n\t\"start=\" requires a corresponding \"end=\"" -msgstr "\n\t\"start=\" requiere su \"end=\" correspondiente" +msgid "" +"\n" +"\t\"start=\" requires a corresponding \"end=\"" +msgstr "" +"\n" +"\t\"start=\" requiere su \"end=\" correspondiente" #: rcfile.c:423 msgid "parse_rcfile: Read a comment\n" @@ -1330,20 +1441,14 @@ msgstr "No se ha encontrado el directorio del usuario! Wah!" msgid "Search" msgstr "Buscar" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [May/Min]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [ExpReg]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Hacia Atrs]" @@ -1416,7 +1521,6 @@ msgstr "Venga ya, s msgid "Not a bracket" msgstr "No es una llave" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "No hay una llave correspondiente" @@ -1498,9 +1602,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Pill \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Ss" @@ -1595,7 +1696,8 @@ msgstr " #~ msgstr " -M \t\t--mac\t\t\tEscribir fichero en formato Mac\n" #~ msgid " -N \t\t--noconvert\t\tDon't convert files from DOS/Mac format\n" -#~ msgstr " -N \t\t--noconvert\t\tNo convertir ficheros desde el formato DOS/Mac\n" +#~ msgstr "" +#~ " -N \t\t--noconvert\t\tNo convertir ficheros desde el formato DOS/Mac\n" #~ msgid " -Q [str]\t--quotestr [str]\tQuoting string, default \"> \"\n" #~ msgstr " -Q [cad]\t--quotestr [cad]\tMarcador de cita, por defecto \"> \"\n" @@ -1610,7 +1712,8 @@ msgstr " #~ msgstr " -V \t\t--version\t\tImprimir versin y salir\n" #~ msgid " -c \t\t--const\t\t\tConstantly show cursor position\n" -#~ msgstr " -c \t\t--const\t\t\tMostrar constantemente la posicin del cursor\n" +#~ msgstr "" +#~ " -c \t\t--const\t\t\tMostrar constantemente la posicin del cursor\n" #~ msgid " -h \t\t--help\t\t\tShow this message\n" #~ msgstr " -h \t\t--help\t\t\tMostrar este mensaje\n" @@ -1622,19 +1725,23 @@ msgstr " #~ msgstr " -k \t\t--cut\t\t\t^K corta desde el cursor al final de lnea\n" #~ msgid " -l \t\t--nofollow\t\tDon't follow symbolic links, overwrite\n" -#~ msgstr " -l \t\t--nofollow\t\tNo seguir enlaces simblicos, sobreescribirlos\n" +#~ msgstr "" +#~ " -l \t\t--nofollow\t\tNo seguir enlaces simblicos, sobreescribirlos\n" #~ msgid " -m \t\t--mouse\t\t\tEnable mouse\n" #~ msgstr " -m \t\t--mouse\t\t\tHabilitar ratn\n" #~ msgid " -o [dir] \t--operatingdir=[dir]\tSet operating directory\n" -#~ msgstr " -o [dir] \t--operatingdir=[dir]\tEstablecer el directorio de operacin\n" +#~ msgstr "" +#~ " -o [dir] \t--operatingdir=[dir]\tEstablecer el directorio de operacin\n" #~ msgid " -p \t\t--pico\t\t\tEmulate Pico as closely as possible\n" #~ msgstr " -p \t\t--pico\t\t\tEmular a Pico lo mximo posible\n" -#~ msgid " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" -#~ msgstr " -r [#cols] \t--fill=[#cols]\t\tRellenar columnas (wrapear en) #cols\n" +#~ msgid "" +#~ " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" +#~ msgstr "" +#~ " -r [#cols] \t--fill=[#cols]\t\tRellenar columnas (wrapear en) #cols\n" #~ msgid " -s [prog] \t--speller=[prog]\tEnable alternate speller\n" #~ msgstr " -s [prog] \t--speller=[prog]\tHabilitar corrector alternativo\n" diff --git a/po/fi.po b/po/fi.po index 868f4036..46f7d704 100644 --- a/po/fi.po +++ b/po/fi.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.2pre3\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2001-10-03 20:38+0300\n" "Last-Translator: Pauli Virtanen \n" "Language-Team: Finnish \n" @@ -50,7 +50,6 @@ msgstr "" msgid "\"%s\" not found" msgstr "Ei lytynyt: \"%s\"" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Uusi tiedosto" @@ -60,7 +59,6 @@ msgstr "Uusi tiedosto" msgid "File \"%s\" is a directory" msgstr "\"%s\" on hakemisto" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -143,7 +141,6 @@ msgstr "Tiedostoa %s ei voitu sulkea: %s" msgid "Could not open %s for prepend: %s" msgstr "Tiedostoa %s ei voitu avata kirjoittamista varten: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -209,7 +206,6 @@ msgstr "Ei voi siirty msgid "Can't visit parent in restricted mode" msgstr "Ei voi siirty ylhakemistoon rajoitetussa tilassa" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -468,9 +464,9 @@ msgstr "Avaa viimeksi ladattu tiedosto" msgid "Open next loaded file" msgstr "Avaa seuraava ladattu tiedosto" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Ohjeita" @@ -478,7 +474,7 @@ msgstr "Ohjeita" msgid "Close" msgstr "Sulje" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Lopeta" @@ -486,16 +482,15 @@ msgstr "Lopeta" msgid "WriteOut" msgstr "Kirjoita" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Tasaa" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Lue tied." -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Korvaa" @@ -503,11 +498,11 @@ msgstr "Korvaa" msgid "Where Is" msgstr "Etsi" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Ed. sivu" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Seur. sivu" @@ -575,100 +570,100 @@ msgstr "Askelpalautin" msgid "Tab" msgstr "Sarkain" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Siirry" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Etsi toinen sulje" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "" -#: global.c:559 +#: global.c:558 #, fuzzy msgid "Next File" msgstr "Uusi tiedosto" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Siirry yksi merkki eteenpin" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Siirry yksi merkki taaksepin" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Peru" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "1. rivi" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Viim. rivi" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Kirj. koko" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Suunta" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Snnke" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "l korvaa" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Tiedosto" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Lis" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Lis" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Siirry" @@ -989,7 +984,6 @@ msgstr "current->data nyt = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Jlkeenpin, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Muokkaa korvausta" @@ -1334,20 +1328,14 @@ msgstr "" msgid "Search" msgstr "Etsi" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Kirj. koko]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Snnke]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Taaksepin]" @@ -1419,7 +1407,6 @@ msgstr "Jotakin j msgid "Not a bracket" msgstr "Ei ole sulje" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Ei vastaavaa suljetta" @@ -1500,9 +1487,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Saatiin \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Kk" diff --git a/po/fr.po b/po/fr.po index 0add83e2..86938500 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 17:23+0100\n" "Last-Translator: Jean-Philippe Gurard \n" "Language-Team: French \n" @@ -49,7 +49,6 @@ msgstr "%d lignes lues (converties depuis le format DOS)" msgid "\"%s\" not found" msgstr " %s non trouv" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nouveau fichier" @@ -59,11 +58,11 @@ msgstr "Nouveau fichier" msgid "File \"%s\" is a directory" msgstr "Le fichier %s est un rpertoire" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" -msgstr "Le fichier %s est un fichier spcial correspondant un priphrique" +msgstr "" +"Le fichier %s est un fichier spcial correspondant un priphrique" #: files.c:322 msgid "Reading File" @@ -78,7 +77,8 @@ msgstr "Fichier msgid "File to insert [from ./] " msgstr "Fichier insrer [ partir de ./] " -#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 files.c:795 files.c:1597 +#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 +#: files.c:795 files.c:1597 #, c-format msgid "filename is %s" msgstr "le nom du fichier est %s" @@ -114,7 +114,8 @@ msgstr "Basculement vers %s" msgid "Can't write outside of %s" msgstr "Impossible d'crire depuis l'extrieur de %s" -#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 files.c:1366 files.c:1378 +#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 +#: files.c:1366 files.c:1378 #, c-format msgid "Could not open file for writing: %s" msgstr "Impossible d'ouvrir le fichier en criture : %s" @@ -139,7 +140,6 @@ msgstr "Impossible de rouvrir %s : %s" msgid "Could not open %s for prepend: %s" msgstr "Impossible d'ouvrir %s pour ajouter en dbut : %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -203,7 +203,6 @@ msgstr "Impossible de remonter au r msgid "Can't visit parent in restricted mode" msgstr "En mode restreint, remonter au niveau suprieur est impossible" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -460,7 +459,9 @@ msgstr "Ouvrir le fichier charg # Les messages suivants doivent tenir sur 10 caractres ! # Ils sont utiliss comme entre des menus du bas d'cran. -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Aide" @@ -468,7 +469,7 @@ msgstr "Aide" msgid "Close" msgstr "Fermer" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Quitter" @@ -476,16 +477,15 @@ msgstr "Quitter" msgid "WriteOut" msgstr "Sauver" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Justifier" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Lire fich." -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Remplacer" @@ -493,11 +493,11 @@ msgstr "Remplacer" msgid "Where Is" msgstr "O est" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Page prc." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Page suiv." @@ -565,95 +565,96 @@ msgstr "RetourArr." msgid "Tab" msgstr "Tabulation" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Entre" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Aller lig." -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Trouver l'autre crochet" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Fichier prcdent" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Fichier suivant" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Mot suivant" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Se dplacer d'un mot en avant" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Mot prcdent" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Se dplacer d'un mot en arrire" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Annuler" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Prem. lig." -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Dern. Lig." -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Resp.casse" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Direction" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Exp. rat." -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Rechercher" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Nav. fic." -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Format DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Format Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Ajouter" -#: global.c:735 +#: global.c:702 msgid "Prepend" msgstr "Ajouter en dbut" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Excuter une commande" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Aller " @@ -688,16 +689,40 @@ msgstr "Touche ill msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" " Message d'aide de nano\n" "\n" -" L'diteur nano est conu pour muler les fonctions et la facilit d'utilisation de l'diteur Pico de l'Universit de Washington. Il comporte quatre sections principales : la ligne du haut affiche la version du programme, le fichier actuellement en cours d'dition, et s'il a t modifi ou non. Ensuite il y a la fentre principale d'dition qui affiche le fichier en cours de modification. La ligne d'tat est la troisime en partant du bas, elle affiche les messages importants. Les deux dernires sont consacres aux raccourcis les plus couramment utiliss :\n" +" L'diteur nano est conu pour muler les fonctions et la facilit " +"d'utilisation de l'diteur Pico de l'Universit de Washington. Il comporte " +"quatre sections principales : la ligne du haut affiche la version du " +"programme, le fichier actuellement en cours d'dition, et s'il a t modifi " +"ou non. Ensuite il y a la fentre principale d'dition qui affiche le " +"fichier en cours de modification. La ligne d'tat est la troisime en " +"partant du bas, elle affiche les messages importants. Les deux dernires " +"sont consacres aux raccourcis les plus couramment utiliss :\n" "\n" -" Les raccourcis sont reprsents de la faon suivante : la touche Contrle est note par l'accent circonflexe (^). Les squences d'chappement sont reprsentes par le symbole Mta (M) et peuvent tre entres via les touches chap. , Alt ou Mta selon la configuration de votre clavier. Les combinaisons suivantes sont disponibles dans la fentre principale de l'diteur. Les touches optionnelles sont affiches entre parenthses :\n" +" Les raccourcis sont reprsents de la faon suivante : la touche Contrle " +" est note par l'accent circonflexe (^). Les squences d'chappement sont " +"reprsentes par le symbole Mta (M) et peuvent tre entres via les " +"touches chap. , Alt ou Mta selon la configuration de votre " +"clavier. Les combinaisons suivantes sont disponibles dans la fentre " +"principale de l'diteur. Les touches optionnelles sont affiches entre " +"parenthses :\n" "\n" #: nano.c:388 @@ -934,7 +959,6 @@ msgstr "current->data vaut maintenant msgid "After, data = \"%s\"\n" msgstr "Aprs, data = %s \n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Entrez une correction" @@ -946,7 +970,9 @@ msgstr "Impossible de cr #: nano.c:1666 msgid "Spell checking failed: unable to write temp file!" -msgstr "chec de la correction orthographique : impossible de crer un fichier temporaire !" +msgstr "" +"chec de la correction orthographique : impossible de crer un fichier " +"temporaire !" #: nano.c:1685 msgid "Finished checking spelling" @@ -1004,18 +1030,33 @@ msgstr "Il est maintenant possible de d msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Aide sur la commande de recherche\n" "\n" -" Entrer les mots ou les caractres que vous dsirez chercher, puis pressez la touche Entre . Si un texte correspondant au texte que vous avez indiqu est trouv, vous serez conduit l'emplacement de la plus proche occurrence du texte recherch.\n" +" Entrer les mots ou les caractres que vous dsirez chercher, puis pressez " +"la touche Entre . Si un texte correspondant au texte que vous avez " +"indiqu est trouv, vous serez conduit l'emplacement de la plus proche " +"occurrence du texte recherch.\n" "\n" -" Si vous utilisez le mode Pico, via les options -p ou --pico, le commutateur Mta-P ou le fichier de configuration nanorc, la chane prcdemment recherche sera affiche entre crochets derrire l'invite de recherche. Appuyer sur Entre sans indiquer de texte chercher recommencera la recherche prcdente. Si vous n'tes pas en mode Pico, la chane prcdente sera affiche devant le curseur et pourra tre dite ou dtruite avant d'appuyer sur Entre .\n" +" Si vous utilisez le mode Pico, via les options -p ou --pico, le commutateur " +"Mta-P ou le fichier de configuration nanorc, la chane prcdemment " +"recherche sera affiche entre crochets derrire l'invite de recherche. " +"Appuyer sur Entre sans indiquer de texte chercher recommencera la " +"recherche prcdente. Si vous n'tes pas en mode Pico, la chane prcdente " +"sera affiche devant le curseur et pourra tre dite ou dtruite avant " +"d'appuyer sur Entre .\n" "\n" " Les touches de fonction suivantes sont disponibles en mode recherche :\n" "\n" @@ -1024,76 +1065,116 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Aide sur la commande Aller la ligne indique \n" "\n" -" Indiquez le numro de ligne que vous dsirez atteindre et appuyer sur Entre . S'il y a moins de lignes de texte que le nombre que vous avez indiqu, vous serez conduit la dernire ligne de texte du fichier.\n" +" Indiquez le numro de ligne que vous dsirez atteindre et appuyer sur " +"Entre . S'il y a moins de lignes de texte que le nombre que vous avez " +"indiqu, vous serez conduit la dernire ligne de texte du fichier.\n" "\n" -" Les touches de fonctions suivantes sont disponibles dans le mode Aller la ligne indique :\n" +" Les touches de fonctions suivantes sont disponibles dans le mode Aller " +"la ligne indique :\n" "\n" #: nano.c:2526 msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Aide sur l'insertion de fichier\n" "\n" -" Indiquez le nom du fichier que vous dsirez insrer. Il sera copi l'intrieur du fichier en cours l o se trouve le curseur.\n" +" Indiquez le nom du fichier que vous dsirez insrer. Il sera copi " +"l'intrieur du fichier en cours l o se trouve le curseur.\n" "\n" -" Si vous avez compil nano avec la capacit de traiter simultanment plusieurs fichiers et que cette option a t active soit via l'une des options de dmarrage -F ou --multibuffer, soit via le commutateur Mta-F, soit via le fichier nanorc, l'insertion d'un fichier entranera son chargement dans un tampon spar (utilisez Mta-< et > pour passer d'un tampon l'autre).\n" +" Si vous avez compil nano avec la capacit de traiter simultanment " +"plusieurs fichiers et que cette option a t active soit via l'une des " +"options de dmarrage -F ou --multibuffer, soit via le commutateur Mta-F, " +"soit via le fichier nanorc, l'insertion d'un fichier entranera son " +"chargement dans un tampon spar (utilisez Mta-< et > pour passer d'un " +"tampon l'autre).\n" "\n" -" Si vous avez besoin de crer un nouveau fichier, appuyez sur Entre l'invite sans indiquer de nom de fichier, ou en indiquant le nom d'un fichier inexistant.\n" +" Si vous avez besoin de crer un nouveau fichier, appuyez sur Entre " +"l'invite sans indiquer de nom de fichier, ou en indiquant le nom d'un " +"fichier inexistant.\n" "\n" -" Les touches de fonctions suivantes sont disponibles en mode Insertion de fichier :\n" +" Les touches de fonctions suivantes sont disponibles en mode Insertion de " +"fichier :\n" "\n" #: nano.c:2540 msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Aide sur l'criture de fichier\n" "\n" -" Indiquez le nom sous lequel vous dsirez sauvegarder le fichier courant et appuyez sur la touche Entre pour effectuer la sauvegarde.\n" +" Indiquez le nom sous lequel vous dsirez sauvegarder le fichier courant et " +"appuyez sur la touche Entre pour effectuer la sauvegarde.\n" "\n" -" Si vous utilisez le code de marquage avec Ctrl-^ et avez slectionn du texte, il vous sera propos de sauvegarder seulement la partie slectionne du texte dans un fichier spar. Pour limiter le risque d'craser le fichier en cours avec une simple portion de ce dernier, le nom du fichier courant n'est pas le nom qui vous sera propos par dfaut dans ce mode.\n" +" Si vous utilisez le code de marquage avec Ctrl-^ et avez slectionn du " +"texte, il vous sera propos de sauvegarder seulement la partie slectionne " +"du texte dans un fichier spar. Pour limiter le risque d'craser le " +"fichier en cours avec une simple portion de ce dernier, le nom du fichier " +"courant n'est pas le nom qui vous sera propos par dfaut dans ce mode.\n" "\n" -" Les touches de fonctions suivantes sont disponibles en mode criture de fichier :\n" +" Les touches de fonctions suivantes sont disponibles en mode criture de " +"fichier :\n" "\n" #: nano.c:2552 msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" msgstr "" "Aide du navigateur de fichiers\n" "\n" -" Le navigateur de fichiers est utilis pour parcourir visuellement la structure des rpertoires afin de slectionner un fichier en lecture ou en criture. Les flches et les touches page prcdente et page suivante peuvent tre utilises pour parcourir les fichiers, les touches S et Entre permettent de slectionner un fichier ou de descendre dans un rpertoire. Pour remonter dans l'arborescence des rpertoires, slectionner le rpertoire appel .. en haut de la liste des fichiers.\n" +" Le navigateur de fichiers est utilis pour parcourir visuellement la " +"structure des rpertoires afin de slectionner un fichier en lecture ou en " +"criture. Les flches et les touches page prcdente et page suivante " +" peuvent tre utilises pour parcourir les fichiers, les touches S et " +"Entre permettent de slectionner un fichier ou de descendre dans un " +"rpertoire. Pour remonter dans l'arborescence des rpertoires, slectionner " +"le rpertoire appel .. en haut de la liste des fichiers.\n" "\n" -" Les touches de fonctions suivantes sont disponibles en mode navigateur de fichiers :\n" +" Les touches de fonctions suivantes sont disponibles en mode navigateur de " +"fichiers :\n" "\n" #: nano.c:2563 @@ -1102,7 +1183,8 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" @@ -1111,39 +1193,52 @@ msgstr "" "\n" " Entrer le nom du rpertoire que vous dsirez parcourir.\n" "\n" -" Si la compltion automatique du nom de fichier via Tab n'a pas t dsactiv, vous pouvez utiliser la touche Tab pour essayer de complter automatiquement le nom du rpertoire.\n" +" Si la compltion automatique du nom de fichier via Tab n'a pas t " +"dsactiv, vous pouvez utiliser la touche Tab pour essayer de complter " +"automatiquement le nom du rpertoire.\n" "\n" -" Les touches de fonctions suivantes sont disponibles dans le mode changement de rpertoire :\n" +" Les touches de fonctions suivantes sont disponibles dans le mode " +"changement de rpertoire :\n" "\n" #: nano.c:2571 msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Aide du vrification d'orthographe\n" "\n" -" Le vrificateur d'orthographe vrifie l'orthographe de tout le texte du fichier en cours. Lorsqu'un mot inconnu est rencontr, il est surlign et peut tre corrig. Il vous sera alors propos de remplacer chaque instance du mme mot par le mot corrig dans le fichier courant.\n" +" Le vrificateur d'orthographe vrifie l'orthographe de tout le texte du " +"fichier en cours. Lorsqu'un mot inconnu est rencontr, il est surlign et " +"peut tre corrig. Il vous sera alors propos de remplacer chaque instance " +"du mme mot par le mot corrig dans le fichier courant.\n" "\n" -" Les touches de fonctions suivantes sont disponibles en mode vrification d'orthographe :\n" +" Les touches de fonctions suivantes sont disponibles en mode vrification " +"d'orthographe :\n" "\n" #: nano.c:2581 msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" msgstr "" "Aide des commandes externes\n" "\n" -" Ce menu vous permet d'insrer le texte produit par l'excution d'une commande externe dans le tampon en cours (ou dans un nouveau tanpon pour le mode multifichier).\n" +" Ce menu vous permet d'insrer le texte produit par l'excution d'une " +"commande externe dans le tampon en cours (ou dans un nouveau tanpon pour le " +"mode multifichier).\n" "\n" " Les touches de fonctions suivantes sont disponibles dans ce mode :\n" "\n" @@ -1167,7 +1262,9 @@ msgstr "d #: nano.c:2759 msgid "NumLock glitch detected. Keypad will malfunction with NumLock off" -msgstr "Problme li VerrNum dtect. Le pav numrique fonctionnera mal si VerrNum est dsactiv" +msgstr "" +"Problme li VerrNum dtect. Le pav numrique fonctionnera mal si " +"VerrNum est dsactiv" #: nano.c:3077 msgid "Main: set up windows\n" @@ -1312,20 +1409,14 @@ msgstr "Impossible de trouver mon r msgid "Search" msgstr "Recherche" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Resp. casse]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Exp. ration.]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Arrire]" @@ -1397,7 +1488,6 @@ msgstr "Allez, soyez raisonnable" msgid "Not a bracket" msgstr "N'est pas un crochet" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Aucun crochet correspondant" @@ -1479,9 +1569,6 @@ msgstr "current->data = msgid "I got \"%s\"\n" msgstr "J'ai obtenu %s \n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Oo" diff --git a/po/gl.po b/po/gl.po index c5bf2037..ddeaf270 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 15:37+0200\n" "Last-Translator: Jacobo Tarrio \n" "Language-Team: Galician \n" @@ -47,7 +47,6 @@ msgstr "L msgid "\"%s\" not found" msgstr "Non se atopou \"%s\"" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Ficheiro Novo" @@ -57,7 +56,6 @@ msgstr "Ficheiro Novo" msgid "File \"%s\" is a directory" msgstr "O ficheiro \"%s\" un directorio" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -76,7 +74,8 @@ msgstr "Ficheiro a inserir [dende %s]" msgid "File to insert [from ./] " msgstr "Ficheiro a inserir [dende ./]" -#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 files.c:795 files.c:1597 +#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 +#: files.c:795 files.c:1597 #, c-format msgid "filename is %s" msgstr "filename %s" @@ -112,7 +111,8 @@ msgstr "Cambiouse a %s" msgid "Can't write outside of %s" msgstr "Non se pode gravar fra de %s" -#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 files.c:1366 files.c:1378 +#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 +#: files.c:1366 files.c:1378 #, c-format msgid "Could not open file for writing: %s" msgstr "Non se puido abri-lo ficheiro para escribir: %s" @@ -137,7 +137,6 @@ msgstr "Non se puido abrir de novo %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Non se puido abrir %s para engadir ao principio: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -201,7 +200,6 @@ msgstr "Non se pode ascender por un directorio" msgid "Can't visit parent in restricted mode" msgstr "Non se pode visita-lo pai no modo restrinxido" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -456,7 +454,9 @@ msgstr "Abrir un ficheiro cargado anteriormente" msgid "Open next loaded file" msgstr "Abri-lo seguinte ficheiro cargado" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Axuda" @@ -464,7 +464,7 @@ msgstr "Axuda" msgid "Close" msgstr "Pechar" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Sar" @@ -472,16 +472,15 @@ msgstr "Sa msgid "WriteOut" msgstr "Gravar" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Xustif." -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Ler Fich." -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Substit." @@ -489,11 +488,11 @@ msgstr "Substit." msgid "Where Is" msgstr "Buscar" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Px. Seg." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Px. Ant." @@ -561,95 +560,96 @@ msgstr "Retroceso" msgid "Tab" msgstr "Tabulador" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Ir Lia" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Busca-la Parella" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Ficheiro Anterior" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Seguinte Ficheiro" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Seguinte Palabra" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Avanzar unha palabra" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Palabra Anterior" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Recuar unha palabra" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Cancelar" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Pri. Lia" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Der. Lia" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Mai./Min." -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Direccin" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "ExpReg" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Non Subst." -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "A Ficheiros" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Formato DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Formato Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Engadir" -#: global.c:735 +#: global.c:702 msgid "Prepend" msgstr "Engadir ao Princ." -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Executar Comando" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Ir a" @@ -683,16 +683,38 @@ msgstr "Tecla non v msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" " axuda de nano\n" "\n" -" O editor nano est deseado para emula-la funcionalidade e facilidade de uso o editor de texto UW Pico. Hai catro seccins principais no editor; a lia superior amosa a versin do programa, o nome do ficheiro que se est a editar, e se o ficheiro est modificado ou non. A seguinte seccin a fiestra principal do editor, que amosa o ficheiro que se edita. A lia de estado a terceira lia dende o fondo e amosa as mensaxes importantes. As das derradeiras lias amosan os atallos de teclado que mis se usan no editor.\n" +" O editor nano est deseado para emula-la funcionalidade e facilidade de " +"uso o editor de texto UW Pico. Hai catro seccins principais no editor; a " +"lia superior amosa a versin do programa, o nome do ficheiro que se est a " +"editar, e se o ficheiro est modificado ou non. A seguinte seccin a " +"fiestra principal do editor, que amosa o ficheiro que se edita. A lia de " +"estado a terceira lia dende o fondo e amosa as mensaxes importantes. As " +"das derradeiras lias amosan os atallos de teclado que mis se usan no " +"editor.\n" "\n" -" A notacin dos atallos as: as secuencias Control-tecla dentanse cun circunflexo (^) e introdcense coa tecla Control (Ctrl). As secuencias Escape-tecla dentanse co smbolo Meta (M) e introdcense coa tecla Esc, Alt ou Meta, dependendo do teclado. As seguintes pulsacins estn dispoibles na fiestra principal do editor. As teclas opcionais aparecen entre parnteses:\n" +" A notacin dos atallos as: as secuencias Control-tecla dentanse cun " +"circunflexo (^) e introdcense coa tecla Control (Ctrl). As secuencias " +"Escape-tecla dentanse co smbolo Meta (M) e introdcense coa tecla Esc, Alt " +"ou Meta, dependendo do teclado. As seguintes pulsacins estn dispoibles na " +"fiestra principal do editor. As teclas opcionais aparecen entre parnteses:\n" "\n" #: nano.c:388 @@ -927,7 +949,6 @@ msgstr "current->data agora = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Despois, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Editar unha substitucin" @@ -939,7 +960,8 @@ msgstr "Non se puido crear un ficheiro temporal: %s" #: nano.c:1666 msgid "Spell checking failed: unable to write temp file!" -msgstr "Fallou a correccin ortogrfica: non se puido grava-lo ficheiro temporal" +msgstr "" +"Fallou a correccin ortogrfica: non se puido grava-lo ficheiro temporal" #: nano.c:1685 msgid "Finished checking spelling" @@ -959,7 +981,8 @@ msgstr "Non se puido iniciar outro proceso" #: nano.c:1827 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? " -msgstr "Grava-lo buffer modificado (SE RESPOSTA \"Non\" HANSE PERDE-LOS CAMBIOS)? " +msgstr "" +"Grava-lo buffer modificado (SE RESPOSTA \"Non\" HANSE PERDE-LOS CAMBIOS)? " #: nano.c:1982 msgid "Received SIGHUP" @@ -997,18 +1020,30 @@ msgstr " msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Texto de Axuda do Comando Busca\n" "\n" -" Introduza as palabras ou caracteres que quere buscar, e prema Intro. Se o texto que introduciu aparece no texto, a pantalla hase actualizar na posicin da aparicin mis cercana da cadea de busca.\n" +" Introduza as palabras ou caracteres que quere buscar, e prema Intro. Se o " +"texto que introduciu aparece no texto, a pantalla hase actualizar na " +"posicin da aparicin mis cercana da cadea de busca.\n" "\n" -" Se emprega o Modo Pico cos modificadores -p ou --pico, empregando as teclas Meta-P ou cun ficheiro nanorc, hase amosa-la cadea de busca anterior en corchetes despois do indicativo Busca:. Ao premer Intro sen introducir ningn texto hase face-la busca anterior. Noutro caso, a cadea anterior hase situar diante do cursor e pdese editar ou borrar antes de premer Intro.\n" +" Se emprega o Modo Pico cos modificadores -p ou --pico, empregando as teclas " +"Meta-P ou cun ficheiro nanorc, hase amosa-la cadea de busca anterior en " +"corchetes despois do indicativo Busca:. Ao premer Intro sen introducir " +"ningn texto hase face-la busca anterior. Noutro caso, a cadea anterior hase " +"situar diante do cursor e pdese editar ou borrar antes de premer Intro.\n" "\n" " As seguintes teclas de funcin estn dispoibles no modo Busca:\n" "\n" @@ -1017,14 +1052,18 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Texto de Axuda de Ir Lia\n" "\n" -" Introduza o nmero da lia que quere ir e prema Intro. Se hai menos lias de texto que o nmero introducido, hselle levar derradeira lia do ficheiro.\n" +" Introduza o nmero da lia que quere ir e prema Intro. Se hai menos lias " +"de texto que o nmero introducido, hselle levar derradeira lia do " +"ficheiro.\n" "\n" " As seguintes teclas de funcin estn dispoibles no modo Ir Lia:\n" "\n" @@ -1033,60 +1072,91 @@ msgstr "" msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Texto de Axuda de Insercin dun Ficheiro\n" "\n" -" Introduza o nome dun ficheiro a inserir no buffer de ficheiro actual na posicin actual do cursor.\n" +" Introduza o nome dun ficheiro a inserir no buffer de ficheiro actual na " +"posicin actual do cursor.\n" "\n" -" Se compilou nano con soporte de mltiples buffers de ficheiro e activa os buffers mltiples cos modificadores de lia de comando -F ou --multibuffer, coas teclas Meta-F ou cun ficheiro nanorc, a insercin dun ficheiro far que se cargue nun buffer separado (empregue Meta-< e > para cambiar entre buffers de ficheiro).\n" +" Se compilou nano con soporte de mltiples buffers de ficheiro e activa os " +"buffers mltiples cos modificadores de lia de comando -F ou --multibuffer, " +"coas teclas Meta-F ou cun ficheiro nanorc, a insercin dun ficheiro far que " +"se cargue nun buffer separado (empregue Meta-< e > para cambiar entre " +"buffers de ficheiro).\n" "\n" -" Se precisa doutro buffer en branco, non escriba un nome de ficheiro, ou escriba un nome de ficheiro que non exista no indicativo e prema Enter.\n" +" Se precisa doutro buffer en branco, non escriba un nome de ficheiro, ou " +"escriba un nome de ficheiro que non exista no indicativo e prema Enter.\n" "\n" -" As seguintes teclas de funcin estn dispoibles no modo de Insercin dun Ficheiro:\n" +" As seguintes teclas de funcin estn dispoibles no modo de Insercin dun " +"Ficheiro:\n" "\n" #: nano.c:2540 msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Texto de Axuda da Escritura de Ficheiros\n" "\n" -" Escriba o nome co que quere garda-lo ficheiro actual e prema Intro para grava-lo ficheiro.\n" +" Escriba o nome co que quere garda-lo ficheiro actual e prema Intro para " +"grava-lo ficheiro.\n" "\n" -" Se emprega o cdigo marcador con Control-^ e ten texto seleccionado, hselle pedir que grave s a parte seleccionada a un ficheiro separado. Para reduci-la posibilidade de sobrescribi-lo ficheiro actual con s unha parte del, o nome do ficheiro actual non o nome por defecto neste modo.\n" +" Se emprega o cdigo marcador con Control-^ e ten texto seleccionado, " +"hselle pedir que grave s a parte seleccionada a un ficheiro separado. Para " +"reduci-la posibilidade de sobrescribi-lo ficheiro actual con s unha parte " +"del, o nome do ficheiro actual non o nome por defecto neste modo.\n" "\n" -" As seguintes teclas de funcin estn dispoibles no modo de Escritura de Ficheiros:\n" +" As seguintes teclas de funcin estn dispoibles no modo de Escritura de " +"Ficheiros:\n" "\n" #: nano.c:2552 msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" msgstr "" "Texto de Axuda do Navegador de Ficheiros\n" "\n" -" O navegador de ficheiros emprgase para amosar visualmente a estructura de directorios para escoller un ficheiro que ler ou escribir. Pode usa-las teclas das frechas ou AvPg/RePg para navegar polos ficheiros, e S ou Intro para escolle-lo ficheiro seleccionado ou entrar no directorio seleccionado. Para subir un nivel, escolla o directorio chamado \"..\" na parte de enriba da lista de ficheiros.\n" +" O navegador de ficheiros emprgase para amosar visualmente a estructura de " +"directorios para escoller un ficheiro que ler ou escribir. Pode usa-las " +"teclas das frechas ou AvPg/RePg para navegar polos ficheiros, e S ou Intro " +"para escolle-lo ficheiro seleccionado ou entrar no directorio seleccionado. " +"Para subir un nivel, escolla o directorio chamado \"..\" na parte de enriba " +"da lista de ficheiros.\n" "\n" -" As seguintes teclas de funcin estn dispoibles no navegador de ficheiros:\n" +" As seguintes teclas de funcin estn dispoibles no navegador de " +"ficheiros:\n" "\n" #: nano.c:2563 @@ -1095,7 +1165,8 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" @@ -1104,23 +1175,31 @@ msgstr "" "\n" " Introduza o nome do directorio ao que quere pasar.\n" "\n" -" Se o completado co tabulador non est desactivado, pode emprega-la tecla TAB para (tratar de) completar automaticamente o nome do directorio.\n" +" Se o completado co tabulador non est desactivado, pode emprega-la tecla " +"TAB para (tratar de) completar automaticamente o nome do directorio.\n" "\n" -" As seguintes teclas de funcin estn dispoibles no modo Ir a Directorio do Navegador:\n" +" As seguintes teclas de funcin estn dispoibles no modo Ir a Directorio " +"do Navegador:\n" "\n" #: nano.c:2571 msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Texto de Axuda do Corrector Ortogrfico\n" "\n" -" O corrector ortogrfico comproba a ortografa de todo o texto do ficheiro actual. Cando se atopa unha palabra descoecida, resltase e pdese editar unha que a substita. Despois ha preguntar se se cambian todas as aparicins da palabra errada no ficheiro actual.\n" +" O corrector ortogrfico comproba a ortografa de todo o texto do ficheiro " +"actual. Cando se atopa unha palabra descoecida, resltase e pdese editar " +"unha que a substita. Despois ha preguntar se se cambian todas as aparicins " +"da palabra errada no ficheiro actual.\n" "\n" " Existen as seguintes funcins no modo Corrector Ortogrfico:\n" "\n" @@ -1129,14 +1208,16 @@ msgstr "" msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" msgstr "" "Texto de Axuda dos Comandos Externos\n" "\n" -" Este men permtelle inseri-la sada dun comando executado polo intrprete de comandos no buffer actual (ou noutro buffer no modo multibuffer).\n" +" Este men permtelle inseri-la sada dun comando executado polo intrprete " +"de comandos no buffer actual (ou noutro buffer no modo multibuffer).\n" "\n" " As seguintes teclas estn dispoibles neste modo:\n" "\n" @@ -1227,7 +1308,8 @@ msgstr "" #: rcfile.c:201 rcfile.c:327 rcfile.c:381 msgid "regex strings must begin and end with a \" character\n" -msgstr "as cadeas de expresin regular deben comezar e rematar cun carcter \"\n" +msgstr "" +"as cadeas de expresin regular deben comezar e rematar cun carcter \"\n" #: rcfile.c:210 msgid "Missing syntax name" @@ -1305,20 +1387,14 @@ msgstr " msgid "Search" msgstr "Busca" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Sensible s Maisculas/Minsculas]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [ExpReg]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Cara a Atrs]" @@ -1390,7 +1466,6 @@ msgstr "Vamos, sexa razonable" msgid "Not a bracket" msgstr "Non un delimitador" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Non se atopou a parella do delimitador" @@ -1469,9 +1544,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Recibiuse \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Ss" @@ -1572,7 +1644,8 @@ msgstr " #~ msgstr " -S\t\t--smooth\t\tDesprazamento suave\n" #~ msgid " -T [num]\t--tabsize=[num]\t\tSet width of a tab to num\n" -#~ msgstr " -t [nm]\t--tabsize=[nm]\t\tEstabrece-lo ancho da tabulacin a nm\n" +#~ msgstr "" +#~ " -t [nm]\t--tabsize=[nm]\t\tEstabrece-lo ancho da tabulacin a nm\n" #~ msgid " -V \t\t--version\t\tPrint version information and exit\n" #~ msgstr " -V \t\t--version\t\tAmosar informacin da versin e sar\n" @@ -1596,16 +1669,19 @@ msgstr " #~ msgstr " -m \t\t--mouse\t\t\tEmprega-lo rato\n" #~ msgid " -o [dir] \t--operatingdir=[dir]\tSet operating directory\n" -#~ msgstr " -o [dir] \t--operatingdir=[dir]\tEstabrece-lo directorio de traballo\n" +#~ msgstr "" +#~ " -o [dir] \t--operatingdir=[dir]\tEstabrece-lo directorio de traballo\n" #~ msgid " -p \t\t--pico\t\t\tEmulate Pico as closely as possible\n" #~ msgstr " -p \t\t--pico\t\t\tEmular Pico o mis fielmente posible\n" -#~ msgid " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" +#~ msgid "" +#~ " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n" #~ msgstr " -r [col] \t--fill=[col]\t\tCorta-las lias na columna col\n" #~ msgid " -s [prog] \t--speller=[prog]\tEnable alternate speller\n" -#~ msgstr " -s [prog] \t--speller=[prog]\tEmpregar outro corrector ortogrfico\n" +#~ msgstr "" +#~ " -s [prog] \t--speller=[prog]\tEmpregar outro corrector ortogrfico\n" #~ msgid " -t \t\t--tempfile\t\tAuto save on exit, don't prompt\n" #~ msgstr " -t \t\t--tempfile\t\tGravar ao sar, sen preguntar\n" diff --git a/po/hu.po b/po/hu.po index f6e2d405..05f1b99d 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.6\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-02-06 18:42+0200\n" "Last-Translator: Gergely Nagy \n" "Language-Team: Hungarian \n" @@ -48,7 +48,6 @@ msgstr "%d sort beolvastam (DOS form msgid "\"%s\" not found" msgstr "\"%s\" nem tallhat" -#. We have a new file #: files.c:299 msgid "New File" msgstr "j llomny" @@ -58,7 +57,6 @@ msgstr " msgid "File \"%s\" is a directory" msgstr "A(z) \"%s\" llomny egy knyvtr" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -140,7 +138,6 @@ msgstr "Nem lehet lez msgid "Could not open %s for prepend: %s" msgstr "Nem lehet %s-t megnyitni rsra: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -206,7 +203,6 @@ msgstr "Nem lehet egy k msgid "Can't visit parent in restricted mode" msgstr "Nem lehet feljebb menni korltozott mdban" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -465,9 +461,9 @@ msgstr "El msgid "Open next loaded file" msgstr "Kvetkez betlttt llomny megnyitsa" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Sg" @@ -475,7 +471,7 @@ msgstr "S msgid "Close" msgstr "Bezrs" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Kilps" @@ -483,16 +479,15 @@ msgstr "Kil msgid "WriteOut" msgstr "Ments" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Sorkizr" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Beolvass" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Csere" @@ -500,11 +495,11 @@ msgstr "Csere" msgid "Where Is" msgstr "Keress" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Elz old." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Kv. old." @@ -572,100 +567,100 @@ msgstr "Visszal msgid "Tab" msgstr "Tabultor" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Sorra ugrs" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Msik zrjel megkeresse" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "" -#: global.c:559 +#: global.c:558 #, fuzzy msgid "Next File" msgstr "j llomny" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Ugrs a kvetkez karakterre" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Ugrs az elz karakterre" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Mgsem" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Els sor" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Utols sor" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Kis/Nagy" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Irny" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regkif" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Nem cserl" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Tallzs" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Hozzfz" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Hozzfz" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Ugrs" @@ -990,7 +985,6 @@ msgstr "current->data most = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Azutn, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "A helyettest rtk mdostsa" @@ -1423,20 +1417,14 @@ msgstr "" msgid "Search" msgstr "Keress" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [kis/Nagy]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regexp]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Vissza]" @@ -1508,7 +1496,6 @@ msgstr "Naaa, legy msgid "Not a bracket" msgstr "Nem zrjel" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Nincs illeszked zrjel" @@ -1526,7 +1513,7 @@ msgid "nano: realloc: out of memory!" msgstr "nano: realloc: elfogyott a memria!" #: winio.c:123 -#, c-format +#, fuzzy, c-format msgid "actual_x_from_start for xplus=%d returned %d\n" msgstr "xplus=%d rtk actual_x_from_start-hoz\n" @@ -1587,9 +1574,6 @@ msgstr "current->Data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "\"%s\" szlelve.\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Ii" diff --git a/po/id.po b/po/id.po index 179441df..5851150e 100644 --- a/po/id.po +++ b/po/id.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.8\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-04-22 16:58GMT+0700\n" "Last-Translator: Tedi Heriyanto \n" "Language-Team: Indonesian \n" @@ -47,7 +47,6 @@ msgstr "Membaca %d baris (Konversi dari format DOS)" msgid "\"%s\" not found" msgstr "\"%s\" tidak ditemukan" -#. We have a new file #: files.c:299 msgid "New File" msgstr "File Baru" @@ -57,7 +56,6 @@ msgstr "File Baru" msgid "File \"%s\" is a directory" msgstr "File \"%s\" adalah sebuah direktori" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -139,7 +137,6 @@ msgstr "Tidak dapat menutup %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Tidak dapat membuka %s untuk menulis: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -205,7 +202,6 @@ msgstr "Tidak dapat memindahkan direktori" msgid "Can't visit parent in restricted mode" msgstr "Tidak dapat mengunjungi parent dalam mode terbatas" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -461,9 +457,9 @@ msgstr "Buka file yang telah dimuat sebelumnya" msgid "Open next loaded file" msgstr "Buka file yang akan dimuat" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Bantuan" @@ -471,7 +467,7 @@ msgstr "Bantuan" msgid "Close" msgstr "Tutup" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Keluar" @@ -479,16 +475,15 @@ msgstr "Keluar" msgid "WriteOut" msgstr "Tulis" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Justifikasi" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Baca File" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Ganti" @@ -496,11 +491,11 @@ msgstr "Ganti" msgid "Where Is" msgstr "Di mana" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Hlm sebelumnya" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Hlm berikutnya" @@ -568,99 +563,99 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Ke baris" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Cari Kurung Lain" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "File Sebelumnya" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "File Sesudahnya" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Pindah satu karakter ke depan" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Pindah satu karakter ke belakang" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Batal" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Baris pertama" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Baris terakhir" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Case Sens" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Arah" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regexp" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Tiada Replace" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Ke File" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Format DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Format Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Tambah" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Tambah" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Eksekusi Perintah" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Ke" @@ -964,7 +959,6 @@ msgstr "current->data sekarang =\"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Setelah, data= \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Edit pengganti" @@ -1402,20 +1396,14 @@ msgstr "" msgid "Search" msgstr "Cari" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Case Sensitive]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regexp]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Backwards]" @@ -1487,7 +1475,6 @@ msgstr "Ayo, yang masuk akal" msgid "Not a bracket" msgstr "Bukan tanda kurung" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Tidak ada tanda kurung yang cocok" @@ -1566,9 +1553,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Saya dapat \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Yy" diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 00000000..b26de01f --- /dev/null +++ b/po/insert-header.sin @@ -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 +} diff --git a/po/it.po b/po/it.po index a2674d55..b0ebd939 100644 --- a/po/it.po +++ b/po/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.9\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 10:31+01:00\n" "Last-Translator: Marco Colombo \n" "Language-Team: Italian \n" @@ -47,7 +47,6 @@ msgstr "Lette %d righe (Convertite dal formato DOS)" msgid "\"%s\" not found" msgstr "\"%s\" non trovato" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nuovo file" @@ -57,7 +56,6 @@ msgstr "Nuovo file" msgid "File \"%s\" is a directory" msgstr "Il file \"%s\" una directory" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -76,7 +74,8 @@ msgstr "File da inserire [da %s] " msgid "File to insert [from ./] " msgstr "File da inserire [da ./] " -#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 files.c:795 files.c:1597 +#: files.c:390 files.c:576 files.c:629 files.c:720 files.c:732 files.c:784 +#: files.c:795 files.c:1597 #, c-format msgid "filename is %s" msgstr "Il nome del file %s" @@ -112,7 +111,8 @@ msgstr "Scambiato da %s" msgid "Can't write outside of %s" msgstr "Non posso salvare fuori da %s" -#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 files.c:1366 files.c:1378 +#: files.c:1291 files.c:1307 files.c:1317 files.c:1331 files.c:1359 +#: files.c:1366 files.c:1378 #, c-format msgid "Could not open file for writing: %s" msgstr "Impossibile aprire il file in scrittura: %s" @@ -137,7 +137,6 @@ msgstr "Impossibile riaprire %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Impossibile aprire %s in scrittura: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -203,7 +202,6 @@ msgstr "Non posso risalire la directory" msgid "Can't visit parent in restricted mode" msgstr "Non posso risalire la directory in modalit ristretta" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -459,7 +457,9 @@ msgstr "Apri un file precedentemente caricato" msgid "Open next loaded file" msgstr "Apri il successivo file caricato" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Aiuto" @@ -467,7 +467,7 @@ msgstr "Aiuto" msgid "Close" msgstr "Chiudi" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Esci" @@ -475,16 +475,15 @@ msgstr "Esci" msgid "WriteOut" msgstr "Salva" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Giustifica" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Inserisci" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Sostituisci" @@ -492,11 +491,11 @@ msgstr "Sostituisci" msgid "Where Is" msgstr "Cerca" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Pag Prec." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Pag Succ." @@ -564,96 +563,97 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Invio" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Vai a riga" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Trova la parentesi corrispondente" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "File precedente" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "File successivo" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "Parola successiva" -#: global.c:566 +#: global.c:565 msgid "Move forward one word" msgstr "Avanza di una parola" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "Parola precedente" -#: global.c:569 +#: global.c:568 msgid "Move backward one word" msgstr "Arretra di una parola" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Annulla" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Prima riga" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Ultima riga" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Case sens" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Direzione" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regexp" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Non sost." -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Sfoglia" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Formato DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Formato Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Accoda" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Accoda" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Esegui comando" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Vai a..." @@ -687,16 +687,40 @@ msgstr "Chiave illegale in modalit msgid "" " nano help text\n" "\n" -" The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor: The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor.\n" +" The nano editor is designed to emulate the functionality and ease-of-use of " +"the UW Pico text editor. There are four main sections of the editor: The " +"top line shows the program version, the current filename being edited, and " +"whether or not the file has been modified. Next is the main editor window " +"showing the file being edited. The status line is the third line from the " +"bottom and shows important messages. The bottom two lines show the most " +"commonly used shortcuts in the editor.\n" "\n" -" The notation for shortcuts is as follows: Control-key sequences are notated with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-key sequences are notated with the Meta (M) symbol and can be entered using either the Esc, Alt or Meta key depending on your keyboard setup. The following keystrokes are available in the main editor window. Optional keys are shown in parentheses:\n" +" The notation for shortcuts is as follows: Control-key sequences are notated " +"with a caret (^) symbol and are entered with the Control (Ctrl) key. Escape-" +"key sequences are notated with the Meta (M) symbol and can be entered using " +"either the Esc, Alt or Meta key depending on your keyboard setup. The " +"following keystrokes are available in the main editor window. Optional keys " +"are shown in parentheses:\n" "\n" msgstr "" "Aiuto di nano\n" "\n" -" nano un editor di testi disegnato per emulare le funzionalit e la facilit d'uso di Pico. Ci sono quattro sezioni principali dell'editor: La riga superiore mostra la versione del programma, il nome del file correntemente in uso e se il file stato modificato oppure no. Pi sotto c' la finestra principale che mostra il contenuto del file che si sta editando. La barra di stato la terza riga dal basso e mostra importanti messaggi. Le due righe finali mostrano le abbreviazioni pi comunemente usate. \n" +" nano un editor di testi disegnato per emulare le funzionalit e la " +"facilit d'uso di Pico. Ci sono quattro sezioni principali dell'editor: La " +"riga superiore mostra la versione del programma, il nome del file " +"correntemente in uso e se il file stato modificato oppure no. Pi sotto " +"c' la finestra principale che mostra il contenuto del file che si sta " +"editando. La barra di stato la terza riga dal basso e mostra importanti " +"messaggi. Le due righe finali mostrano le abbreviazioni pi comunemente " +"usate. \n" "\n" -" La notazione per le abbreviazioni la seguente: Le sequenze col tasto Control sono identificate con il simbolo (^) e sono introdotte col tasto Control (Ctrl). Le sequenze col tasto Escape sono identificate col simbolo Meta (M) e possono essere inserite usato alternativamente il tasto Esc, Alt o Meta secondo la configurazione della vostra tastiera. Le seguenti abbreviazioni sono disponibili nella finestra principale dell'editor. Le sequenze alternative sono mostrate tra parentesi.\n" +" La notazione per le abbreviazioni la seguente: Le sequenze col tasto " +"Control sono identificate con il simbolo (^) e sono introdotte col tasto " +"Control (Ctrl). Le sequenze col tasto Escape sono identificate col simbolo " +"Meta (M) e possono essere inserite usato alternativamente il tasto Esc, Alt " +"o Meta secondo la configurazione della vostra tastiera. Le seguenti " +"abbreviazioni sono disponibili nella finestra principale dell'editor. Le " +"sequenze alternative sono mostrate tra parentesi.\n" "\n" #: nano.c:388 @@ -931,7 +955,6 @@ msgstr "current->data ora = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Dopo, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Modifica sostituzione" @@ -943,7 +966,8 @@ msgstr "Impossibile creare un nome file temporaneo: %s" #: nano.c:1666 msgid "Spell checking failed: unable to write temp file!" -msgstr "Controllo ortografico fallito: impossibile scrivere su file temporaneo!" +msgstr "" +"Controllo ortografico fallito: impossibile scrivere su file temporaneo!" #: nano.c:1685 msgid "Finished checking spelling" @@ -963,7 +987,9 @@ msgstr "Impossibile effettuare un fork" #: nano.c:1827 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? " -msgstr "Salva il buffer modificato? (RISPONDENDO \"No\" ANNULLERETE I CAMBIAMENTI AVVENUTI) " +msgstr "" +"Salva il buffer modificato? (RISPONDENDO \"No\" ANNULLERETE I CAMBIAMENTI " +"AVVENUTI) " #: nano.c:1982 msgid "Received SIGHUP" @@ -1001,18 +1027,31 @@ msgstr "E' ora possibile togliere la giustificazione!" msgid "" "Search Command Help Text\n" "\n" -" Enter the words or characters you would like to search for, then hit enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string.\n" +" Enter the words or characters you would like to search for, then hit " +"enter. If there is a match for the text you entered, the screen will be " +"updated to the location of the nearest match for the search string.\n" "\n" -" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or using a nanorc file, the previous search string will be shown in brackets after the Search: prompt. Hitting enter without entering any text will perform the previous search. Otherwise, the previous string will be placed in front of the cursor, and can be edited or deleted before hitting enter.\n" +" If using Pico Mode via the -p or --pico flags, using the Meta-P toggle or " +"using a nanorc file, the previous search string will be shown in brackets " +"after the Search: prompt. Hitting enter without entering any text will " +"perform the previous search. Otherwise, the previous string will be placed " +"in front of the cursor, and can be edited or deleted before hitting enter.\n" "\n" " The following functions keys are available in Search mode:\n" "\n" msgstr "" "Aiuto per il comando Cerca\n" "\n" -" Inserisci le parole o i caratteri che vuoi cercare, quindi premi invio. Se c' una corrispondenza con il testo inserito, lo schermo sar aggiornato alla posizione della pi vicina occorrenza della stringa cercata.\n" +" Inserisci le parole o i caratteri che vuoi cercare, quindi premi invio. Se " +"c' una corrispondenza con il testo inserito, lo schermo sar aggiornato " +"alla posizione della pi vicina occorrenza della stringa cercata.\n" "\n" -" Se ci si trova in modalit Pico (attraverso i flag -p o --pico, usando la combinazione Meta-P o mediante il file nanorc), la stringa cercata precedentemente sar mostrata tra parentesi dopo il comando Cerca. Premendo invio senza inserire alcun testo, verr effettuata la precedente ricerca. Altrimenti, la precedente stringa sar posizionata davanti al cursore, e potr essere modificata o cancellata prima di premere invio.\n" +" Se ci si trova in modalit Pico (attraverso i flag -p o --pico, usando la " +"combinazione Meta-P o mediante il file nanorc), la stringa cercata " +"precedentemente sar mostrata tra parentesi dopo il comando Cerca. Premendo " +"invio senza inserire alcun testo, verr effettuata la precedente ricerca. " +"Altrimenti, la precedente stringa sar posizionata davanti al cursore, e " +"potr essere modificata o cancellata prima di premere invio.\n" "\n" " Le seguenti funzioni sono disponibili in modalit Cerca:\n" "\n" @@ -1021,14 +1060,18 @@ msgstr "" msgid "" "Goto Line Help Text\n" "\n" -" Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file.\n" +" Enter the line number that you wish to go to and hit Enter. If there are " +"fewer lines of text than the number you entered, you will be brought to the " +"last line of the file.\n" "\n" " The following functions keys are available in Goto Line mode:\n" "\n" msgstr "" "Aiuto per il comando Vai a...\n" "\n" -" Inserisci il numero della riga in cui vuoi andare e premi Invio. Se ci sono meno righe di testo del numero inserito, sarai portato all'ultima riga del file.\n" +" Inserisci il numero della riga in cui vuoi andare e premi Invio. Se ci sono " +"meno righe di testo del numero inserito, sarai portato all'ultima riga del " +"file.\n" "\n" " Le seguenti funzioni sono disponibili in modalit Vai a...:\n" "\n" @@ -1038,20 +1081,30 @@ msgstr "" msgid "" "Insert File Help Text\n" "\n" -" Type in the name of a file to be inserted into the current file buffer at the current cursor location.\n" +" Type in the name of a file to be inserted into the current file buffer at " +"the current cursor location.\n" "\n" -" If you have compiled nano with multiple file buffer support, and enable multiple buffers with the -F or --multibuffer command line flags, the Meta-F toggle or using a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers).\n" +" If you have compiled nano with multiple file buffer support, and enable " +"multiple buffers with the -F or --multibuffer command line flags, the Meta-F " +"toggle or using a nanorc file, inserting a file will cause it to be loaded " +"into a separate buffer (use Meta-< and > to switch between file buffers).\n" "\n" -" If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter.\n" +" If you need another blank buffer, do not enter any filename, or type in a " +"nonexistent filename at the prompt and press Enter.\n" "\n" " The following function keys are available in Insert File mode:\n" "\n" msgstr "" "Aiuto per il comando Inserisci:\n" "\n" -" Scrivi il nome del file da inserire nel corrente all'attuale posizione del cursore.\n" +" Scrivi il nome del file da inserire nel corrente all'attuale posizione del " +"cursore.\n" "\n" -" Se nano stato compilato con il supporto ai file multipli (abilitato con i flag -F o --multibuffer da linea di comando, attraverso la combinazione Meta-F o usando il file nanorc), l'inserimento di un file ne provocher il caricamento in un buffer separato (usare Ctr-< e > per muoversi tra i buffer).\n" +" Se nano stato compilato con il supporto ai file multipli (abilitato con i " +"flag -F o --multibuffer da linea di comando, attraverso la combinazione Meta-" +"F o usando il file nanorc), l'inserimento di un file ne provocher il " +"caricamento in un buffer separato (usare Ctr-< e > per muoversi tra i " +"buffer).\n" "\n" " Le seguenti funzioni sono disponibili in modalit Inserisci:\n" "\n" @@ -1060,18 +1113,27 @@ msgstr "" msgid "" "Write File Help Text\n" "\n" -" Type the name that you wish to save the current file as and hit enter to save the file.\n" +" Type the name that you wish to save the current file as and hit enter to " +"save the file.\n" "\n" -" If you are using the marker code with Ctrl-^ and have selected text, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode.\n" +" If you are using the marker code with Ctrl-^ and have selected text, you " +"will be prompted to save only the selected portion to a separate file. To " +"reduce the chance of overwriting the current file with just a portion of it, " +"the current filename is not the default in this mode.\n" "\n" " The following function keys are available in Write File mode:\n" "\n" msgstr "" "Aiuto per il comando Salva\n" "\n" -" Inserisci il nome con cui vuoi salvare il file corrente e premi invio per procedere al salvataggio.\n" +" Inserisci il nome con cui vuoi salvare il file corrente e premi invio per " +"procedere al salvataggio.\n" "\n" -" Se stata impostata una marcatura con Ctrl-^ e del testo selezionato, vi verr chiesto se salvare solo la porzione selezionata in un file separato. Per ridurre la probabilit di sovrascrivere il file corrente con solo una porzione di esso, il nome corrente del file non il nome di default in questo modo.\n" +" Se stata impostata una marcatura con Ctrl-^ e del testo selezionato, vi " +"verr chiesto se salvare solo la porzione selezionata in un file separato. " +"Per ridurre la probabilit di sovrascrivere il file corrente con solo una " +"porzione di esso, il nome corrente del file non il nome di default in " +"questo modo.\n" "\n" " Le seguenti funzioni sono disponibili in modalit Salva:\n" @@ -1079,7 +1141,11 @@ msgstr "" msgid "" "File Browser Help Text\n" "\n" -" The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called \"..\" at the top of the file list.\n" +" The file browser is used to visually browse the directory structure to " +"select a file for reading or writing. You may use the arrow keys or Page Up/" +"Down to browse through the files, and S or Enter to choose the selected file " +"or enter the selected directory. To move up one level, select the directory " +"called \"..\" at the top of the file list.\n" "\n" " The following functions keys are available in the file browser:\n" "\n" @@ -1092,14 +1158,17 @@ msgid "" "\n" " Enter the name of the directory you would like to browse to.\n" "\n" -" If tab completion has not been disabled, you can use the TAB key to (attempt to) automatically complete the directory name.\n" +" If tab completion has not been disabled, you can use the TAB key to " +"(attempt to) automatically complete the directory name.\n" "\n" " The following function keys are available in Browser GotoDir mode:\n" "\n" msgstr "" "Aiuto per il comando Vai a...\n" "\n" -" Inserisci il numero della riga in cui vuoi andare e premi Invio. Se ci sono meno righe di testo del numero inserito, sarai portato all'ultima riga del file.\n" +" Inserisci il numero della riga in cui vuoi andare e premi Invio. Se ci sono " +"meno righe di testo del numero inserito, sarai portato all'ultima riga del " +"file.\n" "\n" " Le seguenti funzioni sono disponibili in modalit Vai a...:\n" "\n" @@ -1108,14 +1177,20 @@ msgstr "" msgid "" "Spell Check Help Text\n" "\n" -" The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file.\n" +" The spell checker checks the spelling of all text in the current file. " +"When an unknown word is encountered, it is highlighted and a replacement can " +"be edited. It will then prompt to replace every instance of the given " +"misspelled word in the current file.\n" "\n" " The following other functions are available in Spell Check mode:\n" "\n" msgstr "" "Aiuto per il comando Ortografia\n" "\n" -" Il correttore ortografico verifica l'ortografia di tutto il contenuto del file corrente. Quando viene trovata una parola non riconosciuta, questa viene evidenziata e una sostituzione pu essere predisposta. Verr chiesto se rimpiazzare ogni istanza della parola errata nel file corrente.\n" +" Il correttore ortografico verifica l'ortografia di tutto il contenuto del " +"file corrente. Quando viene trovata una parola non riconosciuta, questa " +"viene evidenziata e una sostituzione pu essere predisposta. Verr chiesto " +"se rimpiazzare ogni istanza della parola errata nel file corrente.\n" "\n" " Le seguenti funzioni sono disponibili in modalit Ortografia:\n" "\n" @@ -1124,7 +1199,8 @@ msgstr "" msgid "" "External Command Help Text\n" "\n" -" This menu allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multibuffer mode).\n" +" This menu allows you to insert the output of a command run by the shell " +"into the current buffer (or a new buffer in multibuffer mode).\n" "\n" " The following keys are available in this mode:\n" "\n" @@ -1149,7 +1225,9 @@ msgstr "disabilitato" #: nano.c:2759 msgid "NumLock glitch detected. Keypad will malfunction with NumLock off" -msgstr "Rilevato difetto di funzionamento del NumLock. Il keypad potrebbe non funzionare col Numlock spento" +msgstr "" +"Rilevato difetto di funzionamento del NumLock. Il keypad potrebbe non " +"funzionare col Numlock spento" #: nano.c:3077 msgid "Main: set up windows\n" @@ -1295,20 +1373,14 @@ msgstr "Non riesco a trovare l'home directory! Mah!" msgid "Search" msgstr "Ricerca" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Case sensitive]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Espressioni regolari]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [All'indietro]" @@ -1380,7 +1452,6 @@ msgstr "Avanti, sii ragionevole" msgid "Not a bracket" msgstr "Non una parentesi" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Parentesi corrispondente non trovata" @@ -1459,9 +1530,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Premuto \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Ss" @@ -1494,7 +1562,8 @@ msgstr "do_cursorpos: linepct = %f, bytepct = %f\n" #: winio.c:1680 #, c-format msgid "line %d/%d (%.0f%%), col %ld/%ld (%.0f%%), char %ld/%ld (%.0f%%)" -msgstr "Riga %d/%d (%.0f%%), colonna %ld/%ld (%.0f%%), carattere %ld/%ld (%.0f%%)" +msgstr "" +"Riga %d/%d (%.0f%%), colonna %ld/%ld (%.0f%%), carattere %ld/%ld (%.0f%%)" #: winio.c:1841 msgid "Dumping file buffer to stderr...\n" diff --git a/po/nb.po b/po/nb.po index 4168f329..ff69258f 100644 --- a/po/nb.po +++ b/po/nb.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.6\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-02-15 17:12+0100\n" "Last-Translator: Stig E Sandoe \n" "Language-Team: Norwegian \n" @@ -48,7 +48,6 @@ msgstr "Leste %d linjer (Konvertert fra DOS-format)" msgid "\"%s\" not found" msgstr "\"%s\" ikke funnet" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Ny fil" @@ -59,7 +58,6 @@ msgid "File \"%s\" is a directory" msgstr "Filen \"%s\" er en katalog" # "enhet" = "device", kanskje, men det er litt forvirrande -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -141,7 +139,6 @@ msgstr "Kunne ikke lukke %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Kunne ikke pne %s for skriving: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -207,7 +204,6 @@ msgstr "Kan ikke bevege seg opp en katalog" msgid "Can't visit parent in restricted mode" msgstr "Kan ikke beske forelder i begrenset modus" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -466,9 +462,9 @@ msgstr " msgid "Open next loaded file" msgstr "pne neste innlastede fil" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Hjelp" @@ -476,7 +472,7 @@ msgstr "Hjelp" msgid "Close" msgstr "Lukk" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Avslutt" @@ -484,16 +480,15 @@ msgstr "Avslutt" msgid "WriteOut" msgstr "Lagre" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Juster" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Les fil" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Erstatt" @@ -501,11 +496,11 @@ msgstr "Erstatt" msgid "Where Is" msgstr "Finn" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Forrige side" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Neste side" @@ -573,100 +568,100 @@ msgstr "Visketast" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "G til linje" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Finn den andre klammen" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "" -#: global.c:559 +#: global.c:558 #, fuzzy msgid "Next File" msgstr "Ny fil" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Flytt frem ett tegn" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Flytt tilbake ett tegn" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Avbryt" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Frste linje" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Siste linje" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Flsomt for store/sm bokstavar" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Retning" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regulrt uttrykk" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Ingen erstatting" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Til filer" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Legg til" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Legg til" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "G til" @@ -994,7 +989,6 @@ msgstr "current->data n msgid "After, data = \"%s\"\n" msgstr "Etter, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Rediger erstatning" @@ -1338,20 +1332,14 @@ msgstr "" msgid "Search" msgstr "Sk" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Ta hensyn til store/sm bokstaver]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regulrt uttrykk]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Bakover]" @@ -1423,7 +1411,6 @@ msgstr "Kom igjen, samarbeid litt" msgid "Not a bracket" msgstr "Ikke en klamme" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Ingen matchende klamme" @@ -1502,9 +1489,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Jeg fikk \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "JjYy" diff --git a/po/nl.po b/po/nl.po index 68060d6e..0b34fe66 100644 --- a/po/nl.po +++ b/po/nl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.8\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-04-13 14:40:41+0200\n" "Last-Translator: Guus Sliepen \n" "Language-Team: Dutch \n" @@ -46,7 +46,6 @@ msgstr "%d regels gelezen (omgezet van DOS formaat)" msgid "\"%s\" not found" msgstr "\"%s\" niet gevonden" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nieuw bestand" @@ -56,7 +55,6 @@ msgstr "Nieuw bestand" msgid "File \"%s\" is a directory" msgstr "Bestand \"%s\" is een map" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -138,7 +136,6 @@ msgstr "Kon %s niet afsluiten: %s" msgid "Could not open %s for prepend: %s" msgstr "Kon %s niet openen om te schrijven: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr "Kan niet naar bovenliggende map" msgid "Can't visit parent in restricted mode" msgstr "Kan hogere map niet bezoeken in beperkte modus" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -460,9 +456,9 @@ msgstr "Open eerder ingeladen bestand" msgid "Open next loaded file" msgstr "Open volgend ingeladen bestand" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Toon hulp" @@ -470,7 +466,7 @@ msgstr "Toon hulp" msgid "Close" msgstr "Sluit" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Afsluiten" @@ -478,16 +474,15 @@ msgstr "Afsluiten" msgid "WriteOut" msgstr "Schrijven" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Uitlijnen" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Lees bestand" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Vervang" @@ -495,11 +490,11 @@ msgstr "Vervang" msgid "Where Is" msgstr "Zoek" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Vorige Pagina" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Volgende Pagina" @@ -567,99 +562,99 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Ga naar" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Vind andere rechte haak" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Vorig bestand" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Volgend bestand" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Ga n karakter naar voren" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Ga n karakter naar achteren" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Afbreken" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Eerste regel" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Laatste regel" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Kast-gevoelig" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Richting" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Regexp" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Geen vervanging" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Naar bestanden" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "DOS formaat" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Mac formaat" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Voeg toe" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Voeg toe" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Voer opdracht uit" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Ga naar" @@ -965,7 +960,6 @@ msgstr "current->data nu = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Na afloop, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Bewerk vervanging" @@ -1407,20 +1401,14 @@ msgstr "" msgid "Search" msgstr "Zoek" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Kast-gevoelig]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Regexp]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Achterwaarts]" @@ -1492,7 +1480,6 @@ msgstr "Kom zeg, wees redelijk" msgid "Not a bracket" msgstr "Geen rechte haak" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Geen overeenkomende rechte haak" @@ -1571,9 +1558,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Ik kreeg \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Jj" diff --git a/po/nn.po b/po/nn.po index f884e81e..d6e2eacc 100644 --- a/po/nn.po +++ b/po/nn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.6\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-01-26 02:49+0100\n" "Last-Translator: Kjetil Torgrim Homme \n" "Language-Team: Norwegian nynorsk \n" @@ -48,7 +48,6 @@ msgstr "Leste %d linjer (p msgid "\"%s\" not found" msgstr "%s ikkje funne" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Ny fil" @@ -59,7 +58,6 @@ msgid "File \"%s\" is a directory" msgstr "Fila %s er ein katalog" # "enhet" = "device", kanskje, men det er litt forvirrande -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -141,7 +139,6 @@ msgstr "Kunne ikkje lukka %s: %s" msgid "Could not open %s for prepend: %s" msgstr "Kunne ikkje opna %s for skriving: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -207,7 +204,6 @@ msgstr "Kan ikkje skifta til foreldrekatalogen" msgid "Can't visit parent in restricted mode" msgstr "Kan ikkje g til foreldrekatalogen i avgrensa modus" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -466,9 +462,9 @@ msgstr "Opna tidlegare lest fil" msgid "Open next loaded file" msgstr "Opna neste leste fil" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Hjelp" @@ -476,7 +472,7 @@ msgstr "Hjelp" msgid "Close" msgstr "Lukk" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Avslutt" @@ -484,16 +480,15 @@ msgstr "Avslutt" msgid "WriteOut" msgstr "Lagra" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Brekk om" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Les fil" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Erstatt" @@ -501,11 +496,11 @@ msgstr "Erstatt" msgid "Where Is" msgstr "Finn" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Frre side" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Neste side" @@ -573,100 +568,100 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "G til linje" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Finn den andre klamma" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "" -#: global.c:559 +#: global.c:558 #, fuzzy msgid "Next File" msgstr "Ny fil" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "G ein bokstav fram" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "G ein bokstav attende" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Avbryt" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Frste linje" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Siste linje" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Store/sm" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Retning" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Reguttrykk" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Inga erstatting" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Til filer" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Legg til" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Legg til" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "G til" @@ -986,7 +981,6 @@ msgstr "current->data no = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Etter, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Rediger erstatning" @@ -1409,20 +1403,14 @@ msgstr "" msgid "Search" msgstr "Sk" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Skil store/sm]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Reguttrykk]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Bakover]" @@ -1494,7 +1482,6 @@ msgstr "Kom igjen, samarbeid litt" msgid "Not a bracket" msgstr "Ikkje ei klamme" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Inga motsvarande klamme" @@ -1573,9 +1560,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Eg fekk \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "JjYy" diff --git a/po/pl.po b/po/pl.po index 7e0de9ca..4d395dc5 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.7\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-03-15 11:42+0200\n" "Last-Translator: Wojciech Kotwica \n" "Language-Team: Polish \n" @@ -48,7 +48,6 @@ msgstr "Wczytano %d linii (przekonwertowane z formatu DOS)" msgid "\"%s\" not found" msgstr "Nie znaleziono \"%s\"" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Nowy plik" @@ -58,7 +57,6 @@ msgstr "Nowy plik" msgid "File \"%s\" is a directory" msgstr "Plik \"%s\" jest katalogiem" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -140,7 +138,6 @@ msgstr "Nie mo msgid "Could not open %s for prepend: %s" msgstr "Nie mona otworzy %s do zapisu: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -206,7 +203,6 @@ msgstr "Nie mo msgid "Can't visit parent in restricted mode" msgstr "W trybie ograniczonym nie mona odwiedzi katalogu nadrzdnego" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -462,9 +458,9 @@ msgstr "Otw msgid "Open next loaded file" msgstr "Otwrz nastpny wczytany plik" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "Pomoc" @@ -472,7 +468,7 @@ msgstr "Pomoc" msgid "Close" msgstr "Zamknij" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Wyjd" @@ -480,16 +476,15 @@ msgstr "Wyjd msgid "WriteOut" msgstr "Zapisz" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Wyjustuj" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Wczytaj plik" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Zastp" @@ -497,11 +492,11 @@ msgstr "Zast msgid "Where Is" msgstr "Wyszukaj" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Poprz.str." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Nast.str." @@ -569,99 +564,99 @@ msgstr "Backspace" msgid "Tab" msgstr "Tab" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "Przejd do linii" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Znajd nawias do pary" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Poprzedni plik" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Nastpny plik" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "Przejd o znak do przodu" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "Przejd o znak wstecz" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Anuluj" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Pierw.lin." -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Ost.lin." -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Wielk.liter" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Kierunek" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Wyr.reg." -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Nie zast." -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Pliki" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "Format DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Format Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Dopisz" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Dopisz" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "Przejd do" @@ -987,7 +982,6 @@ msgstr "current->data teraz = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Po, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Edytuj zastpienie" @@ -1421,20 +1415,14 @@ msgstr "" msgid "Search" msgstr "Szukaj" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Uwzgl.wielk.liter]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Wyr.reg.]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Wstecz]" @@ -1506,7 +1494,6 @@ msgstr "Cz msgid "Not a bracket" msgstr "To nie nawias" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Brak nawiasu do pary" @@ -1585,9 +1572,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Dostaem \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Tt" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 00000000..0122c463 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 00000000..2436c49e --- /dev/null +++ b/po/remove-potcdate.sin @@ -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 +} diff --git a/po/ru.po b/po/ru.po index 77a0b076..5c3e125f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.8\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-04-18 11:10+0300\n" "Last-Translator: Sergey A. Ribalchenko \n" "Language-Team: Russian \n" @@ -46,7 +46,6 @@ msgstr " msgid "\"%s\" not found" msgstr "\"%s\" " -#. We have a new file #: files.c:299 msgid "New File" msgstr " " @@ -56,7 +55,6 @@ msgstr " msgid "File \"%s\" is a directory" msgstr " \"%s\" - " -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -138,7 +136,6 @@ msgstr " msgid "Could not open %s for prepend: %s" msgstr " %s : %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr " msgid "Can't visit parent in restricted mode" msgstr " " -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -460,9 +456,9 @@ msgstr " msgid "Open next loaded file" msgstr " " -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "" @@ -470,7 +466,7 @@ msgstr " msgid "Close" msgstr "" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "" @@ -478,16 +474,15 @@ msgstr " msgid "WriteOut" msgstr "" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "" @@ -495,11 +490,11 @@ msgstr " msgid "Where Is" msgstr "" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr " C" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr " C" @@ -567,99 +562,99 @@ msgstr " msgid "Tab" msgstr "" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Enter" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr " " -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr " " -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr " " -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr " " -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr " " -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr " " -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr " " -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr " DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr " Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr " " -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr " .." @@ -964,7 +959,6 @@ msgstr "current->data msgid "After, data = \"%s\"\n" msgstr ", data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr " " @@ -1402,20 +1396,14 @@ msgstr "" msgid "Search" msgstr "" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " []" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " []" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " []" @@ -1487,7 +1475,6 @@ msgstr " msgid "Not a bracket" msgstr " " -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr " " @@ -1566,9 +1553,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr " \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Yy" diff --git a/po/sv.po b/po/sv.po index 49237af4..10c8df5c 100644 --- a/po/sv.po +++ b/po/sv.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.8\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-05-13 00:51+0200\n" "Last-Translator: Christian Rose \n" "Language-Team: Swedish \n" @@ -46,7 +46,6 @@ msgstr "L msgid "\"%s\" not found" msgstr "\"%s\" kunde inte hittas" -#. We have a new file #: files.c:299 msgid "New File" msgstr "Ny fil" @@ -56,7 +55,6 @@ msgstr "Ny fil" msgid "File \"%s\" is a directory" msgstr "\"%s\" r en katalog" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -138,7 +136,6 @@ msgstr "Kunde inte st msgid "Could not open %s for prepend: %s" msgstr "Kunde inte ppna %s fr skrivning: %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr "Kan inte g msgid "Can't visit parent in restricted mode" msgstr "Kan inte beska frlder i begrnsat lge" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -460,9 +456,9 @@ msgstr " msgid "Open next loaded file" msgstr "ppna nsta inlsta fil" -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "F hjlp" @@ -470,7 +466,7 @@ msgstr "F msgid "Close" msgstr "Stng" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Avsluta" @@ -478,16 +474,15 @@ msgstr "Avsluta" msgid "WriteOut" msgstr "Spara" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Justera" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr "Ls fil" -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "Erstt" @@ -495,11 +490,11 @@ msgstr "Ers msgid "Where Is" msgstr "Var finns" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr "Freg sid" -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "Nsta sid" @@ -567,101 +562,101 @@ msgstr "Backsteg" msgid "Tab" msgstr "Tabb" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "Retur" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr "G till rad" -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr "Hitta andra klammern" -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Fregende fil" -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr "Nsta fil" -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr "G framt ett tecken" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr "G bakt ett tecken" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "Avbryt" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr "Frsta raden" -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Sista raden" -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "Skiftknsl" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "Riktning" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "Reguljrt uttr" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr "Ingen ersttning" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr "Till filer" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr "DOS-format" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr "Mac-format" # Denna idiotiska meddelandekonstruktion r felrapporterad -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "Lgg till" # Denna idiotiska meddelandekonstruktion r felrapporterad -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "Lgg till" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr "Kr kommando" -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr "G till" @@ -965,7 +960,6 @@ msgstr "current->data nu = \"%s\"\n" msgid "After, data = \"%s\"\n" msgstr "Efter, data = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr "Redigera en ersttning" @@ -1404,20 +1398,14 @@ msgstr "" msgid "Search" msgstr "Sk" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " [Skiftlgesknslig]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " [Reguljrt uttryck]" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " [Baklnges]" @@ -1489,7 +1477,6 @@ msgstr "Kom igen, var nu f msgid "Not a bracket" msgstr "Inte en klammer" -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr "Ingen matchande klammer" @@ -1569,9 +1556,6 @@ msgstr "current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr "Jag mottog \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "JjYy" diff --git a/po/uk.po b/po/uk.po index 3bc8f149..e5a48a0e 100644 --- a/po/uk.po +++ b/po/uk.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: nano 1.1.8\n" -"POT-Creation-Date: 2002-05-12 19:29-0400\n" +"POT-Creation-Date: 2002-05-26 01:57+0200\n" "PO-Revision-Date: 2002-04-18 08:51+0300\n" "Last-Translator: Sergey A. Ribalchenko \n" "Language-Team: Ukrainian \n" @@ -46,7 +46,6 @@ msgstr " msgid "\"%s\" not found" msgstr "\"%s\" " -#. We have a new file #: files.c:299 msgid "New File" msgstr " " @@ -56,7 +55,6 @@ msgstr " msgid "File \"%s\" is a directory" msgstr " \"%s\" Ҧ" -#. Don't open character or block files. Sorry, /dev/sndstat! #: files.c:315 #, c-format msgid "File \"%s\" is a device file" @@ -138,7 +136,6 @@ msgstr " msgid "Could not open %s for prepend: %s" msgstr " צ %s : %s" -#. Try a rename?? #: files.c:1465 files.c:1474 files.c:1479 #, c-format msgid "Could not open %s for writing: %s" @@ -204,7 +201,6 @@ msgstr " msgid "Can't visit parent in restricted mode" msgstr " צצ ͦ" -#. We can't open this dir for some reason. Complain #: files.c:2474 files.c:2533 #, c-format msgid "Can't open \"%s\": %s" @@ -462,9 +458,9 @@ msgstr " msgid "Open next loaded file" msgstr " " -#: global.c:400 global.c:576 global.c:618 global.c:660 global.c:678 -#: global.c:710 global.c:746 global.c:767 global.c:778 global.c:791 -#: global.c:813 +#: global.c:400 global.c:574 global.c:608 global.c:641 global.c:655 +#: global.c:683 global.c:710 global.c:727 global.c:736 global.c:747 +#: global.c:767 msgid "Get Help" msgstr "" @@ -472,7 +468,7 @@ msgstr " msgid "Close" msgstr "" -#: global.c:411 global.c:703 global.c:794 +#: global.c:411 global.c:677 global.c:750 msgid "Exit" msgstr "Ȧ" @@ -480,16 +476,15 @@ msgstr " msgid "WriteOut" msgstr "" -#: global.c:420 global.c:537 +#: global.c:420 global.c:536 msgid "Justify" msgstr "Ҧ" -#. this is so we can view multiple files #: global.c:427 global.c:431 global.c:440 global.c:444 msgid "Read File" msgstr ". " -#: global.c:450 global.c:533 global.c:591 +#: global.c:450 global.c:532 global.c:587 msgid "Replace" msgstr "ͦ" @@ -497,11 +492,11 @@ msgstr " msgid "Where Is" msgstr "" -#: global.c:458 global.c:695 global.c:798 +#: global.c:458 global.c:669 global.c:753 msgid "Prev Page" msgstr ".." -#: global.c:462 global.c:699 global.c:802 +#: global.c:462 global.c:673 global.c:757 msgid "Next Page" msgstr "." @@ -569,99 +564,99 @@ msgstr " msgid "Tab" msgstr "æ" -#: global.c:541 +#: global.c:540 msgid "Enter" msgstr "" -#: global.c:545 global.c:595 global.c:638 +#: global.c:544 global.c:590 global.c:623 msgid "Goto Line" msgstr " " -#: global.c:550 +#: global.c:549 msgid "Find Other Bracket" msgstr " " -#: global.c:556 +#: global.c:555 msgid "Previous File" msgstr "Φ " -#: global.c:559 +#: global.c:558 msgid "Next File" msgstr " " -#: global.c:565 +#: global.c:564 msgid "Next Word" msgstr "" -#: global.c:566 +#: global.c:565 #, fuzzy msgid "Move forward one word" msgstr " ̦" -#: global.c:568 +#: global.c:567 msgid "Prev Word" msgstr "" -#: global.c:569 +#: global.c:568 #, fuzzy msgid "Move backward one word" msgstr " ̦" -#: global.c:580 global.c:622 global.c:664 global.c:681 global.c:740 -#: global.c:749 global.c:770 global.c:781 global.c:816 winio.c:1463 +#: global.c:577 global.c:611 global.c:644 global.c:658 global.c:705 +#: global.c:713 global.c:730 global.c:739 global.c:770 winio.c:1463 msgid "Cancel" msgstr "" -#: global.c:583 global.c:625 global.c:667 global.c:685 +#: global.c:580 global.c:614 global.c:647 global.c:661 msgid "First Line" msgstr " " -#: global.c:587 global.c:629 global.c:671 global.c:689 +#: global.c:584 global.c:617 global.c:650 global.c:664 msgid "Last Line" msgstr "Φ " -#: global.c:600 global.c:642 +#: global.c:594 global.c:627 msgid "Case Sens" msgstr "" -#: global.c:604 global.c:646 +#: global.c:597 global.c:630 msgid "Direction" msgstr "" -#: global.c:610 global.c:652 +#: global.c:601 global.c:634 msgid "Regexp" msgstr "" -#: global.c:633 +#: global.c:620 msgid "No Replace" msgstr " ͦ" -#: global.c:714 global.c:754 +#: global.c:687 global.c:717 msgid "To Files" msgstr " ̦" -#: global.c:721 +#: global.c:692 msgid "DOS Format" msgstr " DOS" -#: global.c:725 +#: global.c:695 msgid "Mac Format" msgstr " Mac" -#: global.c:730 +#: global.c:699 msgid "Append" msgstr "" -#: global.c:735 +#: global.c:702 #, fuzzy msgid "Prepend" msgstr "" -#: global.c:759 +#: global.c:721 msgid "Execute Command" msgstr " " -#: global.c:806 +#: global.c:761 msgid "Goto" msgstr " " @@ -964,7 +959,6 @@ msgstr "current->data msgid "After, data = \"%s\"\n" msgstr ", Φ = \"%s\"\n" -#. allow replace word to be corrected #: nano.c:1409 msgid "Edit a replacement" msgstr " ͦ" @@ -1403,20 +1397,14 @@ msgstr "" msgid "Search" msgstr "" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:135 msgid " [Case Sensitive]" msgstr " []" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:139 msgid " [Regexp]" msgstr " []" -#. This string is just a modifier for the search prompt, -#. no grammar is implied #: search.c:143 msgid " [Backwards]" msgstr " []" @@ -1488,7 +1476,6 @@ msgstr " msgid "Not a bracket" msgstr " " -#. didn't find either left or right bracket #: search.c:936 msgid "No matching bracket" msgstr " צצϧ " @@ -1567,9 +1554,6 @@ msgstr "(winio.c) current->data = \"%s\"\n" msgid "I got \"%s\"\n" msgstr " Ц \"%s\"\n" -#. Yes, no and all are strings of any length. Each string consists of -#. all characters accepted as a valid character for that value. -#. The first value will be the one displayed in the shortcuts. #: winio.c:1434 msgid "Yy" msgstr "Yy"