From 6d846a23891fb31a6129f6552177b2d37a3bcb23 Mon Sep 17 00:00:00 2001 From: John Zaitseff Date: Sat, 14 Apr 2012 14:41:38 +1000 Subject: [PATCH] Add all auto-generated files and update PO/GMO files The auto-generated files are created by running ./build-aux/bootstrap with Gnulib as at commit f8fea966d67a6ba06231689e63f668bd55ee5797 (with a date stamp of Thu Apr 12 18:56:54 2012 -0700), Autoconf 2.68, Automake 1.11.4 and Gettext 0.18.1.1. --- Makefile.in | 39 +++-- aclocal.m4 | 6 +- config.h.in | 6 + configure | 90 +++++++++-- doc/Makefile.in | 43 ++++- lib/Makefile.am | 4 +- lib/Makefile.in | 43 +++-- lib/locale.in.h | 105 +++++++++++++ lib/stdio.in.h | 25 +-- lib/stdlib.in.h | 12 +- lib/string.in.h | 23 ++- lib/unistr.in.h | 174 ++++++++++++++------- lib/unitypes.in.h | 22 ++- lib/wchar.in.h | 67 +++++--- m4/Makefile.in | 28 +++- m4/locale_h.m4 | 46 +++++- m4/stdio_h.m4 | 10 +- m4/warn-on-use.m4 | 6 +- po/de.gmo | Bin 0 -> 31255 bytes po/de.po | 2 +- po/en@quot.gmo | Bin 29706 -> 29867 bytes po/en@quot.po | 390 +++++++++++++++++++++++++++++++--------------- po/en_AU.gmo | Bin 29747 -> 29908 bytes po/en_AU.po | 2 +- po/en_CA.gmo | Bin 29745 -> 29906 bytes po/en_CA.po | 2 +- po/en_GB.gmo | Bin 29744 -> 29905 bytes po/en_GB.po | 2 +- po/en_US.gmo | Bin 29733 -> 29894 bytes po/en_US.po | 2 +- po/fi.gmo | Bin 0 -> 31079 bytes po/fi.po | 2 +- po/fr.gmo | Bin 0 -> 31730 bytes po/fr.po | 2 +- po/hr.gmo | Bin 0 -> 19048 bytes po/hr.po | 2 +- po/ru.gmo | Bin 38896 -> 39202 bytes po/ru.po | 2 +- po/trader.pot | 382 ++++++++++++++++++++++++++++++--------------- src/Makefile.in | 33 +++- 40 files changed, 1144 insertions(+), 428 deletions(-) create mode 100644 po/de.gmo create mode 100644 po/fi.gmo create mode 100644 po/fr.gmo create mode 100644 po/hr.gmo diff --git a/Makefile.in b/Makefile.in index 88f7bcb..f2731ed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,6 +43,23 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see http://www.gnu.org/licenses/. VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -123,6 +140,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -263,7 +285,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ @@ -278,6 +299,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -749,6 +771,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -807,6 +830,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ @@ -1140,13 +1164,10 @@ distdir: $(DISTFILES) done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ diff --git a/aclocal.m4 b/aclocal.m4 index f608c6d..c406863 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.11.3 -*- Autoconf -*- +# generated automatically by aclocal 1.11.4 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, @@ -38,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.3], [], +m4_if([$1], [1.11.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -54,7 +54,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.3])dnl +[AM_AUTOMAKE_VERSION([1.11.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) diff --git a/config.h.in b/config.h.in index c08c7c4..1386e40 100644 --- a/config.h.in +++ b/config.h.in @@ -337,6 +337,9 @@ /* Define to 1 if getpagesize is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETPAGESIZE +/* Define to 1 if gets is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_GETS + /* Define to 1 if getsubopt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETSUBOPT @@ -901,6 +904,9 @@ 'wint_t'. */ #undef WINT_T_SUFFIX +/* Define to 1 on Solaris. */ +#undef _LCONV_C99 + /* Define to 1 if on MINIX. */ #undef _MINIX diff --git a/configure b/configure index 4633fa0..843c23f 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for Star Traders 7.3. +# Generated by GNU Autoconf 2.68 for Star Traders 7.4-pre2. # # Report bugs to . # @@ -560,8 +560,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Star Traders' PACKAGE_TARNAME='trader' -PACKAGE_VERSION='7.3' -PACKAGE_STRING='Star Traders 7.3' +PACKAGE_VERSION='7.4-pre2' +PACKAGE_STRING='Star Traders 7.4-pre2' PACKAGE_BUGREPORT='J.Zaitseff@zap.org.au' PACKAGE_URL='http://www.zap.org.au/software/trader/' @@ -784,7 +784,6 @@ GNULIB_PERROR GNULIB_PCLOSE GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF -GNULIB_GETS GNULIB_GETLINE GNULIB_GETDELIM GNULIB_GETCHAR @@ -999,11 +998,14 @@ GL_GENERATE_STDDEF_H_TRUE STDDEF_H HAVE_WCHAR_T REPLACE_NULL +REPLACE_STRUCT_LCONV REPLACE_DUPLOCALE REPLACE_SETLOCALE +REPLACE_LOCALECONV HAVE_DUPLOCALE GNULIB_DUPLOCALE GNULIB_SETLOCALE +GNULIB_LOCALECONV LOCALCHARSET_TESTS_ENVIRONMENT GLIBC21 NEXT_AS_FIRST_DIRECTIVE_ICONV_H @@ -1923,7 +1925,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Star Traders 7.3 to adapt to many kinds of systems. +\`configure' configures Star Traders 7.4-pre2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1993,7 +1995,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Star Traders 7.3:";; + short | recursive ) echo "Configuration of Star Traders 7.4-pre2:";; esac cat <<\_ACEOF @@ -2096,7 +2098,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Star Traders configure 7.3 +Star Traders configure 7.4-pre2 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2743,7 +2745,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Star Traders $as_me 7.3, which was +It was created by Star Traders $as_me 7.4-pre2, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3592,7 +3594,7 @@ fi # Define the identity of the package. PACKAGE='trader' - VERSION='7.3' + VERSION='7.4-pre2' cat >>confdefs.h <<_ACEOF @@ -9994,11 +9996,14 @@ $as_echo "$ac_cv_gnu_library_2_1" >&6; } + GNULIB_LOCALECONV=0; GNULIB_SETLOCALE=0; GNULIB_DUPLOCALE=0; HAVE_DUPLOCALE=1; + REPLACE_LOCALECONV=0; REPLACE_SETLOCALE=0; REPLACE_DUPLOCALE=0; + REPLACE_STRUCT_LCONV=0; REPLACE_NULL=0; @@ -11919,7 +11924,6 @@ fi GNULIB_GETCHAR=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; - GNULIB_GETS=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_PCLOSE=0; @@ -13349,6 +13353,15 @@ LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_sourc + + case "$host_os" in + solaris*) + +$as_echo "#define _LCONV_C99 1" >>confdefs.h + + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5 $as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; } if ${gl_cv_header_locale_h_posix2001+:} false; then : @@ -13358,6 +13371,7 @@ else /* end confdefs.h. */ #include int x = LC_MESSAGES; + int y = sizeof (((struct lconv *) 0)->decimal_point); int main () { @@ -13417,6 +13431,39 @@ $as_echo "$gl_cv_header_locale_has_locale_t" >&6; } fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5 +$as_echo_n "checking whether struct lconv is properly defined... " >&6; } +if ${gl_cv_sys_struct_lconv_ok+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct lconv l; + int x = sizeof (l.decimal_point); + int y = sizeof (l.int_p_cs_precedes); +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_lconv_ok=yes +else + gl_cv_sys_struct_lconv_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5 +$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; } + if test $gl_cv_sys_struct_lconv_ok = no; then + REPLACE_STRUCT_LCONV=1 + fi + @@ -15028,7 +15075,6 @@ $as_echo "$gl_cv_next_stdio_h" >&6; } GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 @@ -15046,7 +15092,7 @@ $as_echo "$gl_cv_next_stdio_h" >&6; } - for gl_func in dprintf fpurge fseeko ftello getdelim getline pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do + for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -17749,6 +17795,22 @@ if test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes; then : as_fn_error $? "requires an X/Open-compatible Curses library with colour" "$LINENO" 5 +fi +if test "x$ax_cv_curses_enhanced" != xyes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no X/Open-compatible Enhanced Curses library found + +***************** Locales with multibyte character sequences (such as +*** WARNING *** UTF-8) require a wide-character version of Curses, +***************** such as NcursesW, to work correctly. +" >&5 +$as_echo "$as_me: WARNING: no X/Open-compatible Enhanced Curses library found + +***************** Locales with multibyte character sequences (such as +*** WARNING *** UTF-8) require a wide-character version of Curses, +***************** such as NcursesW, to work correctly. +" >&2;} + fi ac_config_files="$ac_config_files Makefile lib/Makefile src/Makefile doc/Makefile po/Makefile.in m4/Makefile" @@ -18360,7 +18422,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Star Traders $as_me 7.3, which was +This file was extended by Star Traders $as_me 7.4-pre2, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18427,7 +18489,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Star Traders config.status 7.3 +Star Traders config.status 7.4-pre2 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff --git a/doc/Makefile.in b/doc/Makefile.in index a974bc6..082fa26 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,6 +43,23 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see http://www.gnu.org/licenses/. VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -110,6 +127,11 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -234,7 +256,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ @@ -249,6 +270,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -720,6 +742,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -778,6 +801,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ @@ -916,9 +940,18 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-man6: $(dist_man6_MANS) @$(NORMAL_INSTALL) - test -z "$(man6dir)" || $(MKDIR_P) "$(DESTDIR)$(man6dir)" - @list='$(dist_man6_MANS)'; test -n "$(man6dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ + @list1='$(dist_man6_MANS)'; \ + list2=''; \ + test -n "$(man6dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man6dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man6dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.6[a-z]*$$/p'; \ + fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ diff --git a/lib/Makefile.am b/lib/Makefile.am index f9a16e9..5d038c5 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -336,12 +336,15 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ + -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @@ -646,7 +649,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 8df00e6..b56c136 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -41,6 +41,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -142,6 +159,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive @@ -269,7 +291,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ @@ -284,6 +305,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -755,6 +777,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -813,6 +836,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ @@ -1298,13 +1322,10 @@ distdir: $(DISTFILES) done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -1621,12 +1642,15 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ + -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @@ -1770,7 +1794,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ diff --git a/lib/locale.in.h b/lib/locale.in.h index a97e3e7..7747902 100644 --- a/lib/locale.in.h +++ b/lib/locale.in.h @@ -47,6 +47,111 @@ # define LC_MESSAGES 1729 #endif +/* Bionic libc's 'struct lconv' is just a dummy. */ +#if @REPLACE_STRUCT_LCONV@ +# define lconv rpl_lconv +struct lconv +{ + /* All 'char *' are actually 'const char *'. */ + + /* Members that depend on the LC_NUMERIC category of the locale. See + */ + + /* Symbol used as decimal point. */ + char *decimal_point; + /* Symbol used to separate groups of digits to the left of the decimal + point. */ + char *thousands_sep; + /* Definition of the size of groups of digits to the left of the decimal + point. */ + char *grouping; + + /* Members that depend on the LC_MONETARY category of the locale. See + */ + + /* Symbol used as decimal point. */ + char *mon_decimal_point; + /* Symbol used to separate groups of digits to the left of the decimal + point. */ + char *mon_thousands_sep; + /* Definition of the size of groups of digits to the left of the decimal + point. */ + char *mon_grouping; + /* Sign used to indicate a value >= 0. */ + char *positive_sign; + /* Sign used to indicate a value < 0. */ + char *negative_sign; + + /* For formatting local currency. */ + /* Currency symbol (3 characters) followed by separator (1 character). */ + char *currency_symbol; + /* Number of digits after the decimal point. */ + char frac_digits; + /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char p_cs_precedes; + /* For values >= 0: Position of the sign. */ + char p_sign_posn; + /* For values >= 0: Placement of spaces between currency symbol, sign, and + number. */ + char p_sep_by_space; + /* For values < 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char n_cs_precedes; + /* For values < 0: Position of the sign. */ + char n_sign_posn; + /* For values < 0: Placement of spaces between currency symbol, sign, and + number. */ + char n_sep_by_space; + + /* For formatting international currency. */ + /* Currency symbol (3 characters) followed by separator (1 character). */ + char *int_curr_symbol; + /* Number of digits after the decimal point. */ + char int_frac_digits; + /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char int_p_cs_precedes; + /* For values >= 0: Position of the sign. */ + char int_p_sign_posn; + /* For values >= 0: Placement of spaces between currency symbol, sign, and + number. */ + char int_p_sep_by_space; + /* For values < 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char int_n_cs_precedes; + /* For values < 0: Position of the sign. */ + char int_n_sign_posn; + /* For values < 0: Placement of spaces between currency symbol, sign, and + number. */ + char int_n_sep_by_space; +}; +#endif + +#if @GNULIB_LOCALECONV@ +# if @REPLACE_LOCALECONV@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef localeconv +# define localeconv rpl_localeconv +# endif +_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void)); +_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void)); +# else +_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void)); +# endif +_GL_CXXALIASWARN (localeconv); +#elif @REPLACE_STRUCT_LCONV@ +# undef localeconv +# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv +#elif defined GNULIB_POSIXCHECK +# undef localeconv +# if HAVE_RAW_DECL_LOCALECONV +_GL_WARN_ON_USE (localeconv, + "localeconv returns too few information on some platforms - " + "use gnulib module localeconv for portability"); +# endif +#endif + #if @GNULIB_SETLOCALE@ # if @REPLACE_SETLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/lib/stdio.in.h b/lib/stdio.in.h index 9dc7c4a..4d3f0bb 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " # endif #endif -#if @GNULIB_GETS@ -# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gets -# define gets rpl_gets -# endif -_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (gets, char *, (char *s)); -# else -_GL_CXXALIAS_SYS (gets, char *, (char *s)); -# undef gets -# endif -_GL_CXXALIASWARN (gets); /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ + so any use of gets warrants an unconditional warning; besides, C11 + removed it. */ +#undef gets +#if HAVE_RAW_DECL_GETS _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif @@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " # endif #endif -/* Some people would argue that sprintf should be handled like gets - (for example, OpenBSD issues a link warning for both functions), - since both can cause security holes due to buffer overruns. +/* Some people would argue that all sprintf uses should be warned about + (for example, OpenBSD issues a link warning for it), + since it can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more efficient than snprintf in those safe cases; and as proof of our belief, we use sprintf in several gnulib modules. So this header diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index e92a614..b546133 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -94,6 +94,14 @@ struct random_data # include #endif +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + /* The definition of _Noreturn is copied here. */ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -138,7 +146,9 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " /* Parse a signed decimal integer. Returns the value of the integer. Errors are not detected. */ # if !@HAVE_ATOLL@ -_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (atoll, long long, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (atoll, long long, (const char *string)); _GL_CXXALIASWARN (atoll); diff --git a/lib/string.in.h b/lib/string.in.h index cad18db..f8d7520 100644 --- a/lib/string.in.h +++ b/lib/string.in.h @@ -724,10 +724,14 @@ _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbslen rpl_mbslen # endif -_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbslen, size_t, (const char *string)); # else -_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif _GL_CXXALIASWARN (mbslen); @@ -737,6 +741,7 @@ _GL_CXXALIASWARN (mbslen); /* Return the number of multibyte characters in the character string starting at STRING and ending at STRING + LEN. */ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1)); #endif @@ -750,10 +755,12 @@ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) # define mbschr rpl_mbschr /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c)); # endif @@ -770,10 +777,12 @@ _GL_CXXALIASWARN (mbschr); # define mbsrchr rpl_mbsrchr /* avoid collision with system function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c)); # endif @@ -786,6 +795,7 @@ _GL_CXXALIASWARN (mbsrchr); Unlike strstr(), this function works correctly in multibyte locales with encodings different from UTF-8. */ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -797,6 +807,7 @@ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) different lengths! Unlike strcasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -811,6 +822,7 @@ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) Unlike strncasecmp(), this function works correctly in multibyte locales. But beware that N is not a byte count but a character count! */ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -824,6 +836,7 @@ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) Unlike strncasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -834,6 +847,7 @@ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) strlen (haystack) < strlen (needle) ! Unlike strcasestr(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -844,6 +858,7 @@ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) if none exists. Unlike strcspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -857,10 +872,12 @@ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) # define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept)); # else _GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept)); # endif @@ -874,6 +891,7 @@ _GL_CXXALIASWARN (mbspbrk); if none exists. Unlike strspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbsspn (const char *string, const char *reject) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -993,6 +1011,7 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - " #if @GNULIB_STRVERSCMP@ # if !@HAVE_STRVERSCMP@ _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *)); diff --git a/lib/unistr.in.h b/lib/unistr.in.h index 479075e..5cda3f5 100644 --- a/lib/unistr.in.h +++ b/lib/unistr.in.h @@ -66,17 +66,20 @@ extern "C" { /* Check whether an UTF-8 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint8_t * - u8_check (const uint8_t *s, size_t n); + u8_check (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; /* Check whether an UTF-16 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint16_t * - u16_check (const uint16_t *s, size_t n); + u16_check (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; /* Check whether an UCS-4 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint32_t * - u32_check (const uint32_t *s, size_t n); + u32_check (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; /* Elementary string conversions. */ @@ -119,11 +122,14 @@ extern uint16_t * failure. */ /* Similar to mblen(), except that s must not be NULL. */ extern int - u8_mblen (const uint8_t *s, size_t n); + u8_mblen (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u16_mblen (const uint16_t *s, size_t n); + u16_mblen (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u32_mblen (const uint32_t *s, size_t n); + u32_mblen (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; /* Return the length (number of units) of the first character in S, putting its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, @@ -400,38 +406,50 @@ extern uint32_t * /* Compare S1 and S2, each of length N. */ /* Similar to memcmp(). */ extern int - u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n); + u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n); + u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n); + u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; /* Compare S1 and S2. */ /* Similar to the gnulib function memcmp2(). */ extern int - u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2); + u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; extern int - u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2); + u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; extern int - u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2); + u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; /* Search the string at S for UC. */ /* Similar to memchr(). */ extern uint8_t * - u8_chr (const uint8_t *s, size_t n, ucs4_t uc); + u8_chr (const uint8_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint16_t * - u16_chr (const uint16_t *s, size_t n, ucs4_t uc); + u16_chr (const uint16_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint32_t * - u32_chr (const uint32_t *s, size_t n, ucs4_t uc); + u32_chr (const uint32_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; /* Count the number of Unicode characters in the N units from S. */ /* Similar to mbsnlen(). */ extern size_t - u8_mbsnlen (const uint8_t *s, size_t n); + u8_mbsnlen (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; extern size_t - u16_mbsnlen (const uint16_t *s, size_t n); + u16_mbsnlen (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; extern size_t - u32_mbsnlen (const uint32_t *s, size_t n); + u32_mbsnlen (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; /* Elementary string functions with memory allocation. */ @@ -448,11 +466,14 @@ extern uint32_t * /* Return the length (number of units) of the first character in S. Return 0 if it is the NUL character. Return -1 upon failure. */ extern int - u8_strmblen (const uint8_t *s); + u8_strmblen (const uint8_t *s) + _UC_ATTRIBUTE_PURE; extern int - u16_strmblen (const uint16_t *s); + u16_strmblen (const uint16_t *s) + _UC_ATTRIBUTE_PURE; extern int - u32_strmblen (const uint32_t *s); + u32_strmblen (const uint32_t *s) + _UC_ATTRIBUTE_PURE; /* Return the length (number of units) of the first character in S, putting its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL @@ -487,20 +508,26 @@ extern const uint32_t * /* Return the number of units in S. */ /* Similar to strlen(), wcslen(). */ extern size_t - u8_strlen (const uint8_t *s); + u8_strlen (const uint8_t *s) + _UC_ATTRIBUTE_PURE; extern size_t - u16_strlen (const uint16_t *s); + u16_strlen (const uint16_t *s) + _UC_ATTRIBUTE_PURE; extern size_t - u32_strlen (const uint32_t *s); + u32_strlen (const uint32_t *s) + _UC_ATTRIBUTE_PURE; /* Return the number of units in S, but at most MAXLEN. */ /* Similar to strnlen(), wcsnlen(). */ extern size_t - u8_strnlen (const uint8_t *s, size_t maxlen); + u8_strnlen (const uint8_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; extern size_t - u16_strnlen (const uint16_t *s, size_t maxlen); + u16_strnlen (const uint16_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; extern size_t - u32_strnlen (const uint32_t *s, size_t maxlen); + u32_strnlen (const uint32_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; /* Copy SRC to DEST. */ /* Similar to strcpy(), wcscpy(). */ @@ -562,16 +589,20 @@ extern uint32_t * #ifdef __sun /* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */ extern int - u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2); + u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2) + _UC_ATTRIBUTE_PURE; # define u8_strcmp u8_strcmp_gnu #else extern int - u8_strcmp (const uint8_t *s1, const uint8_t *s2); + u8_strcmp (const uint8_t *s1, const uint8_t *s2) + _UC_ATTRIBUTE_PURE; #endif extern int - u16_strcmp (const uint16_t *s1, const uint16_t *s2); + u16_strcmp (const uint16_t *s1, const uint16_t *s2) + _UC_ATTRIBUTE_PURE; extern int - u32_strcmp (const uint32_t *s1, const uint32_t *s2); + u32_strcmp (const uint32_t *s1, const uint32_t *s2) + _UC_ATTRIBUTE_PURE; /* Compare S1 and S2 using the collation rules of the current locale. Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2. @@ -587,11 +618,14 @@ extern int /* Compare no more than N units of S1 and S2. */ /* Similar to strncmp(), wcsncmp(). */ extern int - u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n); + u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n); + u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; extern int - u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n); + u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; /* Duplicate S, returning an identical malloc'd string. */ /* Similar to strdup(), wcsdup(). */ @@ -605,74 +639,98 @@ extern uint32_t * /* Find the first occurrence of UC in STR. */ /* Similar to strchr(), wcschr(). */ extern uint8_t * - u8_strchr (const uint8_t *str, ucs4_t uc); + u8_strchr (const uint8_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint16_t * - u16_strchr (const uint16_t *str, ucs4_t uc); + u16_strchr (const uint16_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint32_t * - u32_strchr (const uint32_t *str, ucs4_t uc); + u32_strchr (const uint32_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; /* Find the last occurrence of UC in STR. */ /* Similar to strrchr(), wcsrchr(). */ extern uint8_t * - u8_strrchr (const uint8_t *str, ucs4_t uc); + u8_strrchr (const uint8_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint16_t * - u16_strrchr (const uint16_t *str, ucs4_t uc); + u16_strrchr (const uint16_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; extern uint32_t * - u32_strrchr (const uint32_t *str, ucs4_t uc); + u32_strrchr (const uint32_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; /* Return the length of the initial segment of STR which consists entirely of Unicode characters not in REJECT. */ /* Similar to strcspn(), wcscspn(). */ extern size_t - u8_strcspn (const uint8_t *str, const uint8_t *reject); + u8_strcspn (const uint8_t *str, const uint8_t *reject) + _UC_ATTRIBUTE_PURE; extern size_t - u16_strcspn (const uint16_t *str, const uint16_t *reject); + u16_strcspn (const uint16_t *str, const uint16_t *reject) + _UC_ATTRIBUTE_PURE; extern size_t - u32_strcspn (const uint32_t *str, const uint32_t *reject); + u32_strcspn (const uint32_t *str, const uint32_t *reject) + _UC_ATTRIBUTE_PURE; /* Return the length of the initial segment of STR which consists entirely of Unicode characters in ACCEPT. */ /* Similar to strspn(), wcsspn(). */ extern size_t - u8_strspn (const uint8_t *str, const uint8_t *accept); + u8_strspn (const uint8_t *str, const uint8_t *accept) + _UC_ATTRIBUTE_PURE; extern size_t - u16_strspn (const uint16_t *str, const uint16_t *accept); + u16_strspn (const uint16_t *str, const uint16_t *accept) + _UC_ATTRIBUTE_PURE; extern size_t - u32_strspn (const uint32_t *str, const uint32_t *accept); + u32_strspn (const uint32_t *str, const uint32_t *accept) + _UC_ATTRIBUTE_PURE; /* Find the first occurrence in STR of any character in ACCEPT. */ /* Similar to strpbrk(), wcspbrk(). */ extern uint8_t * - u8_strpbrk (const uint8_t *str, const uint8_t *accept); + u8_strpbrk (const uint8_t *str, const uint8_t *accept) + _UC_ATTRIBUTE_PURE; extern uint16_t * - u16_strpbrk (const uint16_t *str, const uint16_t *accept); + u16_strpbrk (const uint16_t *str, const uint16_t *accept) + _UC_ATTRIBUTE_PURE; extern uint32_t * - u32_strpbrk (const uint32_t *str, const uint32_t *accept); + u32_strpbrk (const uint32_t *str, const uint32_t *accept) + _UC_ATTRIBUTE_PURE; /* Find the first occurrence of NEEDLE in HAYSTACK. */ /* Similar to strstr(), wcsstr(). */ extern uint8_t * - u8_strstr (const uint8_t *haystack, const uint8_t *needle); + u8_strstr (const uint8_t *haystack, const uint8_t *needle) + _UC_ATTRIBUTE_PURE; extern uint16_t * - u16_strstr (const uint16_t *haystack, const uint16_t *needle); + u16_strstr (const uint16_t *haystack, const uint16_t *needle) + _UC_ATTRIBUTE_PURE; extern uint32_t * - u32_strstr (const uint32_t *haystack, const uint32_t *needle); + u32_strstr (const uint32_t *haystack, const uint32_t *needle) + _UC_ATTRIBUTE_PURE; /* Test whether STR starts with PREFIX. */ extern bool - u8_startswith (const uint8_t *str, const uint8_t *prefix); + u8_startswith (const uint8_t *str, const uint8_t *prefix) + _UC_ATTRIBUTE_PURE; extern bool - u16_startswith (const uint16_t *str, const uint16_t *prefix); + u16_startswith (const uint16_t *str, const uint16_t *prefix) + _UC_ATTRIBUTE_PURE; extern bool - u32_startswith (const uint32_t *str, const uint32_t *prefix); + u32_startswith (const uint32_t *str, const uint32_t *prefix) + _UC_ATTRIBUTE_PURE; /* Test whether STR ends with SUFFIX. */ extern bool - u8_endswith (const uint8_t *str, const uint8_t *suffix); + u8_endswith (const uint8_t *str, const uint8_t *suffix) + _UC_ATTRIBUTE_PURE; extern bool - u16_endswith (const uint16_t *str, const uint16_t *suffix); + u16_endswith (const uint16_t *str, const uint16_t *suffix) + _UC_ATTRIBUTE_PURE; extern bool - u32_endswith (const uint32_t *str, const uint32_t *suffix); + u32_endswith (const uint32_t *str, const uint32_t *suffix) + _UC_ATTRIBUTE_PURE; /* Divide STR into tokens separated by characters in DELIM. This interface is actually more similar to wcstok than to strtok. */ diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h index b1235e6..e642b7a 100644 --- a/lib/unitypes.in.h +++ b/lib/unitypes.in.h @@ -1,4 +1,4 @@ -/* Elementary types for the GNU UniString library. +/* Elementary types and macros for the GNU UniString library. Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it @@ -23,4 +23,24 @@ /* Type representing a Unicode character. */ typedef uint32_t ucs4_t; +/* Attribute of a function whose result depends only on the arguments + (not pointers!) and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_CONST +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _UC_ATTRIBUTE_CONST __attribute__ ((__const__)) +# else +# define _UC_ATTRIBUTE_CONST +# endif +#endif + +/* Attribute of a function whose result depends only on the arguments + (possibly pointers) and global memory, and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _UC_ATTRIBUTE_PURE +# endif +#endif + #endif /* _UNITYPES_H */ diff --git a/lib/wchar.in.h b/lib/wchar.in.h index 4e92a77..f9bc30c 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -83,6 +83,14 @@ #ifndef _@GUARD_PREFIX@_WCHAR_H #define _@GUARD_PREFIX@_WCHAR_H +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -135,11 +143,11 @@ typedef int rpl_mbstate_t; # undef btowc # define btowc rpl_btowc # endif -_GL_FUNCDECL_RPL (btowc, wint_t, (int c)); +_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (btowc, wint_t, (int c)); # else # if !@HAVE_BTOWC@ -_GL_FUNCDECL_SYS (btowc, wint_t, (int c)); +_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (btowc, wint_t, (int c)); # endif @@ -160,12 +168,12 @@ _GL_WARN_ON_USE (btowc, "btowc is unportable - " # undef wctob # define wctob rpl_wctob # endif -_GL_FUNCDECL_RPL (wctob, int, (wint_t wc)); +_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wctob, int, (wint_t wc)); # else # if !defined wctob && !@HAVE_DECL_WCTOB@ /* wctob is provided by gnulib, or wctob exists but is not declared. */ -_GL_FUNCDECL_SYS (wctob, int, (wint_t wc)); +_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wctob, int, (wint_t wc)); # endif @@ -426,12 +434,12 @@ _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - " # undef wcwidth # define wcwidth rpl_wcwidth # endif -_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t)); +_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t)); # else # if !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ -_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t)); +_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t)); # endif @@ -448,7 +456,8 @@ _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - " /* Search N wide characters of S for C. */ #if @GNULIB_WMEMCHR@ # if !@HAVE_WMEMCHR@ -_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)); +_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n) + _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { @@ -479,7 +488,8 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - " #if @GNULIB_WMEMCMP@ # if !@HAVE_WMEMCMP@ _GL_FUNCDECL_SYS (wmemcmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -549,7 +559,7 @@ _GL_WARN_ON_USE (wmemset, "wmemset is unportable - " /* Return the number of wide characters in S. */ #if @GNULIB_WCSLEN@ # if !@HAVE_WCSLEN@ -_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s)); +_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s)); _GL_CXXALIASWARN (wcslen); @@ -565,7 +575,8 @@ _GL_WARN_ON_USE (wcslen, "wcslen is unportable - " /* Return the number of wide characters in S, but at most MAXLEN. */ #if @GNULIB_WCSNLEN@ # if !@HAVE_WCSNLEN@ -_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)); +_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)); _GL_CXXALIASWARN (wcsnlen); @@ -684,7 +695,8 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - " /* Compare S1 and S2. */ #if @GNULIB_WCSCMP@ # if !@HAVE_WCSCMP@ -_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); +_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscmp); @@ -701,7 +713,8 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - " #if @GNULIB_WCSNCMP@ # if !@HAVE_WCSNCMP@ _GL_FUNCDECL_SYS (wcsncmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -718,7 +731,8 @@ _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - " /* Compare S1 and S2, ignoring case. */ #if @GNULIB_WCSCASECMP@ # if !@HAVE_WCSCASECMP@ -_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)); +_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscasecmp); @@ -735,7 +749,8 @@ _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - " #if @GNULIB_WCSNCASECMP@ # if !@HAVE_WCSNCASECMP@ _GL_FUNCDECL_SYS (wcsncasecmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -803,7 +818,8 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " /* Find the first occurrence of WC in WCS. */ #if @GNULIB_WCSCHR@ # if !@HAVE_WCSCHR@ -_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); +_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc) + _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { @@ -832,7 +848,8 @@ _GL_WARN_ON_USE (wcschr, "wcschr is unportable - " /* Find the last occurrence of WC in WCS. */ #if @GNULIB_WCSRCHR@ # if !@HAVE_WCSRCHR@ -_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); +_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc) + _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { @@ -862,7 +879,8 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - " of wide characters not in REJECT. */ #if @GNULIB_WCSCSPN@ # if !@HAVE_WCSCSPN@ -_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)); +_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)); _GL_CXXALIASWARN (wcscspn); @@ -879,7 +897,8 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - " of wide characters in ACCEPT. */ #if @GNULIB_WCSSPN@ # if !@HAVE_WCSSPN@ -_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)); +_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)); _GL_CXXALIASWARN (wcsspn); @@ -896,7 +915,8 @@ _GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - " #if @GNULIB_WCSPBRK@ # if !@HAVE_WCSPBRK@ _GL_FUNCDECL_SYS (wcspbrk, wchar_t *, - (const wchar_t *wcs, const wchar_t *accept)); + (const wchar_t *wcs, const wchar_t *accept) + _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { @@ -928,7 +948,8 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - " #if @GNULIB_WCSSTR@ # if !@HAVE_WCSSTR@ _GL_FUNCDECL_SYS (wcsstr, wchar_t *, - (const wchar_t *haystack, const wchar_t *needle)); + (const wchar_t *haystack, const wchar_t *needle) + _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { @@ -982,11 +1003,13 @@ _GL_WARN_ON_USE (wcstok, "wcstok is unportable - " # undef wcswidth # define wcswidth rpl_wcswidth # endif -_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)); +_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n) + _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n)); # else # if !@HAVE_WCSWIDTH@ -_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)); +_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n)); # endif diff --git a/m4/Makefile.in b/m4/Makefile.in index 11b61fa..3b0a2cb 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,6 +43,23 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see http://www.gnu.org/licenses/. VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -109,6 +126,11 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ @@ -202,7 +224,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ @@ -217,6 +238,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -688,6 +710,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -746,6 +769,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 index 4289587..fb72e4e 100644 --- a/m4/locale_h.m4 +++ b/m4/locale_h.m4 @@ -1,4 +1,4 @@ -# locale_h.m4 serial 14 +# locale_h.m4 serial 18 dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,18 +10,29 @@ AC_DEFUN([gl_LOCALE_H], dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) - dnl Persuade glibc to define locale_t. + dnl Persuade glibc to define locale_t and the int_p_*, int_n_* + dnl members of 'struct lconv'. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl If is replaced, then must also be replaced. AC_REQUIRE([gl_STDDEF_H]) + dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' + dnl only if _LCONV_C99 is defined. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + solaris*) + AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.]) + ;; + esac + AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], [gl_cv_header_locale_h_posix2001], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include - int x = LC_MESSAGES;]], + int x = LC_MESSAGES; + int y = sizeof (((struct lconv *) 0)->decimal_point);]], [[]])], [gl_cv_header_locale_h_posix2001=yes], [gl_cv_header_locale_h_posix2001=no])]) @@ -54,6 +65,26 @@ AC_DEFUN([gl_LOCALE_H], fi AC_SUBST([HAVE_XLOCALE_H]) + dnl Check whether 'struct lconv' is complete. + dnl Bionic libc's 'struct lconv' is just a dummy. + dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, + dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members. + AC_CACHE_CHECK([whether struct lconv is properly defined], + [gl_cv_sys_struct_lconv_ok], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + struct lconv l; + int x = sizeof (l.decimal_point); + int y = sizeof (l.int_p_cs_precedes);]], + [[]])], + [gl_cv_sys_struct_lconv_ok=yes], + [gl_cv_sys_struct_lconv_ok=no]) + ]) + if test $gl_cv_sys_struct_lconv_ok = no; then + REPLACE_STRUCT_LCONV=1 + fi + dnl is always overridden, because of GNULIB_POSIXCHECK. gl_NEXT_HEADERS([locale.h]) @@ -79,10 +110,13 @@ AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], AC_DEFUN([gl_LOCALE_H_DEFAULTS], [ + GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) - REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) - REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) + HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) + REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) + REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) + REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) + REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) ]) diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 1973e8d..b03393b 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,4 +1,4 @@ -# stdio_h.m4 serial 40 +# stdio_h.m4 serial 41 dnl Copyright (C) 2007-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H], GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is @@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H], dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not - dnl guaranteed by C89. + dnl guaranteed by both C89 and C11. gl_WARN_ON_USE_PREPARE([[#include - ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat - snprintf tmpfile vdprintf vsnprintf]) + ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen + renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], @@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_GETS=0; AC_SUBST([GNULIB_GETS]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4 index 03b113c..a77802e 100644 --- a/m4/warn-on-use.m4 +++ b/m4/warn-on-use.m4 @@ -1,4 +1,4 @@ -# warn-on-use.m4 serial 4 +# warn-on-use.m4 serial 5 dnl Copyright (C) 2010-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,8 +18,8 @@ dnl with or without modifications, as long as this notice is preserved. # some systems declare functions in the wrong header, then INCLUDES # should do likewise. # -# If you assume C89, then it is generally safe to assume declarations -# for functions declared in that standard (such as gets) without +# It is generally safe to assume declarations for functions declared +# in the intersection of C89 and C11 (such as printf) without # needing gl_WARN_ON_USE_PREPARE. AC_DEFUN([gl_WARN_ON_USE_PREPARE], [ diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000000000000000000000000000000000000..b7f6f2bc88b60e42fd888593e22cc736d9ea7392 GIT binary patch literal 31255 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

-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\n" "Language-Team: German \n" diff --git a/po/en@quot.gmo b/po/en@quot.gmo index 7dfa951539c48b95349fa03e56a645cf637bcbb8..4d38ece8bdaebfceb5e3a2c8436518d271fe9699 100644 GIT binary patch delta 4393 zcmcK5`*Y7%9>?+X4OK!eL?lGyt7$|k(R?LYjawukE~Qa}Hb$#9z9~h*H$p?Y-!ZN3 zs?zc)y`bw_i=xD(tMo!eX_aM_u-4Ab?2H|)vZkw}t=;D<=lEg&fc;F~d7N`TpU?T8 z&$+&G)wk`RzVKh$HD6)4&Jvx8JuQss=rd+SluC{Hpsg|OaTm732JC>17>hStxsRK1 z&`z_(HCQIn6nJy$xp>(W5Om(B87rAw!j=hy>JOz<2C1PRE5p>l>}^yYFGx+ z1~UNpGo$#Y51EXrX923A%djJ^$ANed>-c^13yF0U%%e8F*qP=H!F)`^1=t)n<3sp9 zcEj_i=kKB#ltj05#T-=mSbP9On2sx4`5{++5tI3S^9u>JEQwl@Fc0;@Kq-i?^bF@U-&=b|N3^ z4U0$(HzU=TtSoRAJBMHd<&PrWVje>c(qw0?b1CYVH{gSK9%+^N88v9}^n*S<4V5oK z#@~!iV#GAsK??Nkb1{G$u^)beB^bxs`lRuwPg&yJj;iP+M&sYGH-3-#n9iKc#Yvco zD=`uepc-;iBbGtp90lsD|DYe!y4W8o!G+{2lxNy}i!aetZK#cjW|lE^+TbQ++{|v& ztU7^bdF}_iO8z*7n(n)M(A)SaYB~HICZU$JCm&OBoZ@eHb`!|i`%r&S5+#o4I!;$Z<^LO#|c z(XV~50DIy*WO&UMRE3{oDYkgTj`cWHebrcu%W(q@{svXwynf6l?HKQpP(|ONUTE3h zc6~ZBjAjVx{$yv^`3~xf_M+y*1=M=@(cSMlplM4o{ZRFeM?F`Idhcya){b$I1oO;X zM9qPJV=L^;=WDWbLoK`jYA7Z;Yfxjj7&QcMVlr-Y_YXTSIIlaK542lcCv4g=GF`!N z)DKL+6bw0+J9j(Jpx+qtFJ~P6uY4|Ql8r^Js&bdFarqZf%XbB;N4H{FEk8;^p1}mX zf|``Ku?yZ`WMAxt9mw}}`O&Cl_bjTyIjEjmhI;=KRD({r{AH~1G1RDrlnWP1#dZO8I zW7uj;D(d-CRC#zhi3do$iu#hBn2pDscbq*QwG~W2Z5+SD2k`)A;uU9`5%w&|NA?^u z12b?fYTci3UPtB(<3G|KK3UFyGtZgt?C&ge4t5U12r3?lT0NssLs;RQ?|dC~NNqwj zyb%+%{_m2|m?p3tscX_v`9Y{jI0iKrp2bY8MfJdY*bgrt!)@YA?H5l#b?s};ov3BnsY2{Yz7Dl9ZNoxrKziM@oMwmm$!TF*VGRYv+;{_ZN?kxz zSXb3_N}08&ioQoRAabVd`V7>Z8HT!F;auQcjrySdn1UCvJKk~kQ^T|DIvs$jcmnFd z`KT9Hx%(fZ_JhBm=D?4rS>GjOS5H?AkWWLEKj9qje9HL@Y7UfR42I{s#A4?v=QeE3 z10SJYIOg(K-2H3VmhzvRQPnn|;tXIr?iV}9Ij6e&b=I(1N+OB}*J4ZDf%@V7_5pJQ z84+{N*@#+3m$3zYi<*45Q17*xZR?9iGZ>Jj}u&7^fYfhJ+fhsHuQ+9DU?< z(mhP*Vu_n0#LL7dURhL9cn_(G#C~E7Q9|4WWM0 zwb|12zc>FsC*F2t&){!~-w=Ix^;T4T{~e^a5%;crBwiylbN@(a++HFM5vvGwm%8#( z;t$^7=ycyHZ$@-Ns}IS?5yo2*o#H#`ZI4dM+Mv9WNo~9)ymfTH@ZtF4c6gLp4o%WlnpaMa6liqndj&V-oXrH{G}Y-h+2s zek@kI^y|)^m_h9I4#gzgw~5rdUSmv3s{^Eph}E7iHlgF!q(%|Dh%#a_p(FID7lgr&%zamsMgOV9DCso$^tEWr~1*_|K^ls6*MQ+y2P_UP` zx2Pm9H!G0q59IdA3G@hLXJfXef+($1HH1c|L3{-?Bd2& Q|Iaoi-e3R1tR)fu1(mWn)c^nh delta 4318 zcmb`~dr+0f9merJibg>0iHO{eA~6IHa`A?ufGC;^V5lT9Q)@0oK`mg^j;88Sf=Oei z)o?;Ii5D=bu~ie5idv&la}hPRYHh~KjAPO<#dL5cjp?*Dt^Gdil4(2nv+vB0&+eXm z_uY4IukO6=S=;IHUx^NCGF%sk1Y%cTW8yr<T)V6O8%yo>xyOf<%CYDpwh@Kal0cB5`MgQ3{r{1d9dFEJK9JWU;o zL!NCiP#q}Xk6vU3s-1E8p$PPh%p_H(eyuvrt-z$5hk}g{X$AQ6uym zs=@83`loO>{?QpZ(B>zg?w^M~Y(y^}!+Y=(X9$gyV1Np2GU3KFvF#eEWulpHzR#EuZ?0Q;!)I4o6&YvWuxwU9JO8im@iL~(9qq% zxQ@eg%)mLw^qM9t!#&8T8#C56l!!%S^YC>#x(e0K&^%*GaT@CW4X6k2Lrv{@Ou#RY z-~A?hf~}b5oQ!&t*{B=pQTt$<`~3_ilK%|VaL`0sF9mg95$g9j$g(mGsJU;(VEhoZ zM$Vy6CrSqiO+hf@A(K&aHwrcMg{THg-R}#W_0EmXw@|D7eN_FAUH+!~y>Ef-Xo53O z`ldGHQ z?XLNg8Go&MKLu*A5%qv(=N{CQ9K-G*#boj~UH;A~wthBh$|gBWQSCj3dh;q&$5x?6 ztO?bDH>WWET8)P((1S0bdfJH`qvr2efHB4T{4liGg6C29En+WeJFVwWDqg}M{1<8$ z^`2(8X*R05)6 z7C9tMBkBl0jUzE=x*efh3?V-YBd`k7c)nRmLW^e`da)h#pzF8>gC8Q#s#=HoIK5qA zM_}YkyU(YgR(S>9i$6epoHk-7`31A=Zm9U4{Wv{^p_Fe$zk0Hhgof;}^P;m0wf*|e zwr`q%x#UNnK2FuxpZujK?Z@dFCXo-Tv>h3a`Zzs;Lntq=vLB}8PuK6<7L!+x7_cE z3+*{D-cKTxA09zQ%B(;-Y*t|wHn{RO=OO1i&UaCBe*z=$vh#E2EoaEncFqT(>fi11 z{)r@XP3t?^}quIC9(r*AH;`<29R1Jw~DM(zEk+?bz}e#PZ0{-b=IOJ`sj@vFeuh}b@F zklGx$9+4b;h}0zFwLny4Y}{E=(}_LAOyc{5KAGixnq-SMiW`;~J^OaZruzFE-ZH;g86N@Xyd9yRKvVEEVRj>6YMSlqXzjUTK F_}~6n9Jc@f diff --git a/po/en@quot.po b/po/en@quot.po index af306ee..ca9d039 100644 --- a/po/en@quot.po +++ b/po/en@quot.po @@ -27,10 +27,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.3\n" +"Project-Id-Version: trader 7.4-pre2\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-03-16 13:23+1100\n" -"PO-Revision-Date: 2012-03-16 13:23+1100\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" +"PO-Revision-Date: 2012-04-14 14:31+1000\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en@quot\n" @@ -172,37 +172,38 @@ msgstr "Star Traders home page: <%s>.\n" #. TRANSLATORS: The eight company names do NOT have to be literal #. translations of the English names. In fact, if possible, the #. names should start with successive letters of your alphabet (in -#. English, for example, "A" to "H"). No company name should be more -#. than 24 characters (column positions, to be precise) long. -#: src/globals.c:46 +#. English, for example, "A" to "H"), and, ideally, be related to +#. constellations or stars in our galaxy. No company name should be +#. more than 24 characters (column positions, to be precise) long. +#: src/globals.c:47 msgid "Altair Starways" msgstr "Altair Starways" -#: src/globals.c:47 +#: src/globals.c:48 msgid "Betelgeuse, Ltd" msgstr "Betelgeuse, Ltd" -#: src/globals.c:48 +#: src/globals.c:49 msgid "Capella Freight Co" msgstr "Capella Freight Co" -#: src/globals.c:49 +#: src/globals.c:50 msgid "Denebola Shippers" msgstr "Denebola Shippers" -#: src/globals.c:50 +#: src/globals.c:51 msgid "Eridani Expediters" msgstr "Eridani Expediters" -#: src/globals.c:51 +#: src/globals.c:52 msgid "Fornax Express" msgstr "Fornax Express" -#: src/globals.c:52 +#: src/globals.c:53 msgid "Gemeni Inc" msgstr "Gemeni Inc" -#: src/globals.c:53 +#: src/globals.c:54 msgid "Hercules and Co" msgstr "Hercules and Co" @@ -214,7 +215,7 @@ msgstr "Hercules and Co" #. possible, these should be successive letters in your alphabet (in #. English, "A" to "H"). Do NOT use digits or control characters. #. Do not change or translate anything after the vertical line. -#: src/globals.c:67 +#: src/globals.c:68 msgid "ABCDEFGH|input|Companies" msgstr "ABCDEFGH|input|Companies" @@ -225,7 +226,7 @@ msgstr "ABCDEFGH|input|Companies" #. should be successive letters in your alphabet. Do NOT use digits #. or control characters. Do not change or translate anything after #. the vertical line. -#: src/globals.c:79 +#: src/globals.c:80 msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves" msgstr "ABCDEFGHIJKLMNOPQRST|input|GameMoves" @@ -236,7 +237,7 @@ msgstr "ABCDEFGHIJKLMNOPQRST|input|GameMoves" #. the remaining for the eight companies. Do not change or translate #. anything after the vertical line. Double-width characters ARE #. handled correctly. -#: src/globals.c:91 +#: src/globals.c:92 msgid ".+*ABCDEFGH|output|MapVals" msgstr ".+*ABCDEFGH|output|MapVals" @@ -246,7 +247,7 @@ msgstr ".+*ABCDEFGH|output|MapVals" #. to the first character in the "input|GameMoves" string, and so on. #. Do not change or translate anything after the vertical line. #. Double-width characters ARE handled correctly. -#: src/globals.c:102 +#: src/globals.c:103 msgid "abcdefghijklmnopqrst|output|GameMoves" msgstr "abcdefghijklmnopqrst|output|GameMoves" @@ -255,35 +256,35 @@ msgstr "abcdefghijklmnopqrst|output|GameMoves" #. on the gender of the player, it may be simpler to list cardinal #. numbers instead (eg, "No. 1"). Up to five characters are allowed #. (see ORDINAL_COLS in src/intf.h). -#: src/globals.c:113 +#: src/globals.c:114 msgid "1st" msgstr "1st" -#: src/globals.c:114 +#: src/globals.c:115 msgid "2nd" msgstr "2nd" -#: src/globals.c:115 +#: src/globals.c:116 msgid "3rd" msgstr "3rd" -#: src/globals.c:116 +#: src/globals.c:117 msgid "4th" msgstr "4th" -#: src/globals.c:117 +#: src/globals.c:118 msgid "5th" msgstr "5th" -#: src/globals.c:118 +#: src/globals.c:119 msgid "6th" msgstr "6th" -#: src/globals.c:119 +#: src/globals.c:120 msgid "7th" msgstr "7th" -#: src/globals.c:120 +#: src/globals.c:121 msgid "8th" msgstr "8th" @@ -293,6 +294,7 @@ msgid "Loading game %d... " msgstr "Loading game %d... " #: src/game.c:226 +#, c-format msgid " First Player " msgstr " First Player " @@ -319,19 +321,23 @@ msgctxt "input|ContinueGame" msgid "Cc" msgstr "Cc" -#: src/game.c:341 src/move.c:386 +#: src/game.c:341 src/move.c:399 +#, c-format msgid "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " msgstr "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " #: src/game.c:406 +#, c-format msgid "Please enter your name: " msgstr "Please enter your name: " #: src/game.c:425 +#, c-format msgid "Do you need any instructions? [^{Y^}/^{N^}] " msgstr "Do you need any instructions? [^{Y^}/^{N^}] " #: src/game.c:443 +#, c-format msgid " Enter Player Names " msgstr " Enter Player Names " @@ -341,10 +347,12 @@ msgid "Player %d: " msgstr "Player %d: " #: src/game.c:529 +#, c-format msgid "Does any player need instructions? [^{Y^}/^{N^}] " msgstr "Does any player need instructions? [^{Y^}/^{N^}] " #: src/game.c:563 +#, c-format msgid " Game Over " msgstr " Game Over " @@ -356,6 +364,7 @@ msgstr[0] "The game is over after one turn." msgstr[1] "The game is over after %d turns." #: src/game.c:575 +#, c-format msgid " Total Value " msgstr " Total Value " @@ -383,12 +392,14 @@ msgstr "" "with a value of ^{%N^}." #: src/game.c:597 +#, c-format msgid " Game Winner " msgstr " Game Winner " #. TRANSLATORS: "Player" is used as a column title in a #. table containing all player names. -#: src/game.c:606 src/move.c:855 +#: src/game.c:606 src/move.c:868 +#, c-format msgctxt "subtitle" msgid "Player" msgstr "Player" @@ -413,26 +424,31 @@ msgid " Turn: ^{%d^} " msgstr " Turn: ^{%d^} " #: src/game.c:649 +#, c-format msgid " ^[*** Last Turn ***^] " msgstr " ^[*** Last Turn ***^] " #: src/game.c:693 +#, c-format msgid " Stock Portfolio " msgstr " Stock Portfolio " #. TRANSLATORS: The current player is bankrupt (has no #. shares or cash, ie, whose total value is zero) #: src/game.c:702 +#, c-format msgid "^[* * * B A N K R U P T * * *^]" msgstr "^[* * * B A N K R U P T * * *^]" #: src/game.c:717 src/exch.c:112 +#, c-format msgid "No companies on the map" msgstr "No companies on the map" #. TRANSLATORS: "Company" is a two-line column label in #. a table containing a list of companies. #: src/game.c:725 src/exch.c:120 +#, c-format msgctxt "subtitle" msgid "" "\n" @@ -462,6 +478,7 @@ msgstr "" #. maximum column width is 10 characters (see #. STOCK_OWNED_COLS in src/intf.h). #: src/game.c:739 +#, c-format msgctxt "subtitle" msgid "" "Holdings\n" @@ -510,96 +527,123 @@ msgstr "" #. Note that some of these labels are used for both the #. Player Status window and the Trading Bank window. #: src/game.c:796 +#, c-format msgctxt "label" msgid "Total value: " msgstr "Total value: " -#: src/game.c:800 src/exch.c:322 +#: src/game.c:800 src/exch.c:324 +#, c-format msgctxt "label" msgid "Current cash: " msgstr "Current cash: " -#: src/game.c:807 src/exch.c:330 +#: src/game.c:807 src/exch.c:332 +#, c-format msgctxt "label" msgid "Current debt: " msgstr "Current debt: " -#: src/game.c:813 src/exch.c:335 +#: src/game.c:813 src/exch.c:337 +#, c-format msgctxt "label" msgid "Interest rate: " msgstr "Interest rate: " -#: src/move.c:239 src/exch.c:182 +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and +#. ). The sequences "^{" and "^}" change the +#. character rendition (attributes) and take up no space. +#: src/move.c:243 src/exch.c:182 +#, c-format msgid "^{<1>^} Display stock portfolio" msgstr "^{<1>^} Display stock portfolio" -#: src/move.c:241 +#: src/move.c:245 +#, c-format msgid "^{<2>^} Declare bankruptcy" msgstr "^{<2>^} Declare bankruptcy" -#: src/move.c:243 +#: src/move.c:247 +#, c-format msgid "^{<3>^} Save and end the game" msgstr "^{<3>^} Save and end the game" -#: src/move.c:245 +#: src/move.c:249 +#, c-format msgid "^{^} Quit the game" msgstr "^{^} Quit the game" -#: src/move.c:249 +#. TRANSLATORS: The maximum column width is 38 characters, +#. including the trailing space. The sequences "^{", "^}", +#. "^[" and "^]" do not take up any room. "%lc" takes up +#. either one or two columns, depending on the appropriate +#. "output|GameMoves" string in the current PO file. +#: src/move.c:258 #, c-format msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " msgstr "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " -#. TRANSLATORS: "Move" refers to the choice of -#. moves made by the current player (out of a -#. selection of 20 moves). -#: src/move.c:282 +#. TRANSLATORS: A game usually consists of +#. DEFAULT_MAX_TURN (50) turns. On each +#. turn, the computer randomly selects +#. NUMBER_MOVES (20) moves (positions on the +#. map); each player selects just one move +#. per turn. "Move" refers to the player's +#. choice. +#: src/move.c:295 #, c-format msgid "Move ^{%lc^}" msgstr "Move ^{%lc^}" -#: src/move.c:303 +#: src/move.c:316 +#, c-format msgid "^{<2>^} (Declare bankruptcy)" msgstr "^{<2>^} (Declare bankruptcy)" -#: src/move.c:312 +#: src/move.c:325 +#, c-format msgid "^{<3>^} (Save and end the game)" msgstr "^{<3>^} (Save and end the game)" -#: src/move.c:333 +#: src/move.c:346 +#, c-format msgid "^{^} (Quit the game)" msgstr "^{^} (Quit the game)" -#: src/move.c:348 +#: src/move.c:361 +#, c-format msgid "Are you sure? [^{Y^}/^{N^}] " msgstr "Are you sure? [^{Y^}/^{N^}] " -#: src/move.c:365 src/move.c:443 +#: src/move.c:378 src/move.c:456 #, c-format msgid "Saving game %d... " msgstr "Saving game %d... " -#: src/move.c:673 src/move.c:681 src/move.c:1026 src/move.c:1062 +#: src/move.c:686 src/move.c:694 src/move.c:1052 src/move.c:1089 +#, c-format msgid " Bankruptcy Court " msgstr " Bankruptcy Court " #. TRANSLATORS: %ls is the player's name. -#: src/move.c:675 +#: src/move.c:688 #, c-format msgid "%ls has been declared bankrupt by the Interstellar Trading Bank." msgstr "%ls has been declared bankrupt by the Interstellar Trading Bank." #. TRANSLATORS: %ls is the player's name. -#: src/move.c:683 +#: src/move.c:696 #, c-format msgid "%ls has declared bankruptcy." msgstr "%ls has declared bankruptcy." -#: src/move.c:751 +#: src/move.c:764 +#, c-format msgid " New Company " msgstr " New Company " -#: src/move.c:752 +#: src/move.c:765 #, c-format msgid "" "A new company has been formed!\n" @@ -608,7 +652,7 @@ msgstr "" "A new company has been formed!\n" "Its name is ^{%ls^}." -#: src/move.c:811 +#: src/move.c:824 #, c-format msgid "" "^{%ls^} has just merged into ^{%ls^}.\n" @@ -617,7 +661,8 @@ msgstr "" "^{%ls^} has just merged into ^{%ls^}.\n" "Please note the following transactions:\n" -#: src/move.c:817 +#: src/move.c:830 +#, c-format msgid " Company Merger " msgstr " Company Merger " @@ -628,14 +673,16 @@ msgstr " Company Merger " #. the same length and must contain a trailing space for the #. display routines to work correctly. The maximum length of #. each label is 36 characters. -#: src/move.c:837 +#: src/move.c:850 +#, c-format msgctxt "label" msgid "Old stock: " msgstr "Old stock: " #. TRANSLATORS: "New stock" refers to the company that has #. absorbed the other due to a merger. -#: src/move.c:848 +#: src/move.c:861 +#, c-format msgctxt "label" msgid "New Stock: " msgstr "New Stock: " @@ -645,7 +692,7 @@ msgstr "New Stock: " #. symbol in the current locale. The maximum column width is #. 12 characters INCLUDING the currency symbol (see #. MERGE_BONUS_COLS in src/intf.h). -#: src/move.c:862 +#: src/move.c:875 #, c-format msgctxt "subtitle" msgid "Bonus (%ls)" @@ -654,7 +701,8 @@ msgstr "Bonus (%ls)" #. TRANSLATORS: "Total" refers to the total number of shares in #. the new company after a merger. The maximum column width is #. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h). -#: src/move.c:867 +#: src/move.c:880 +#, c-format msgctxt "subtitle" msgid "Total" msgstr "Total" @@ -663,7 +711,8 @@ msgstr "Total" #. player receives in the surviving company after a merger. #. The maximum column width is 8 characters (see #. MERGE_NEW_STOCK_COLS in src/intf.h). -#: src/move.c:874 +#: src/move.c:887 +#, c-format msgctxt "subtitle" msgid "New" msgstr "New" @@ -671,13 +720,14 @@ msgstr "New" #. TRANSLATORS: "Old" refers to how many shares each player had #. in the company ceasing existence. The maximum column width #. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h). -#: src/move.c:880 +#: src/move.c:893 +#, c-format msgctxt "subtitle" msgid "Old" msgstr "Old" #. TRANSLATORS: %ls represents the company name. -#: src/move.c:1028 +#: src/move.c:1054 #, c-format msgid "" "%ls has been declared bankrupt by the Interstellar Trading Bank.\n" @@ -689,7 +739,7 @@ msgstr "" "^{All assets have been taken to repay outstanding loans.^}" #. TRANSLATORS: %ls represents the company name. -#: src/move.c:1051 +#: src/move.c:1078 #, c-format msgid "" "%ls has been declared bankrupt by the Interstellar Trading Bank.\n" @@ -708,7 +758,8 @@ msgstr "" #. least one trailing space for the display #. routines to work correctly. The maximum #. length is 28 characters. -#: src/move.c:1079 +#: src/move.c:1106 +#, c-format msgctxt "label" msgid "Amount paid per share: " msgstr "Amount paid per share: " @@ -717,16 +768,27 @@ msgstr "Amount paid per share: " #. share price of a company before it was forced #. into bankruptcy by the Bank. This label must be #. the same width as "Amount paid per share". -#: src/move.c:1087 +#: src/move.c:1114 +#, c-format msgctxt "label" msgid "Old share value: " msgstr "Old share value: " -#: src/move.c:1180 src/exch.c:319 +#: src/move.c:1197 src/move.c:1232 src/exch.c:321 +#, c-format msgid " Interstellar Trading Bank " msgstr " Interstellar Trading Bank " -#: src/move.c:1182 +#: src/move.c:1199 +#, c-format +msgid "" +"You were forced to borrow %N\n" +"to cover losses from company shares." +msgstr "" +"You were forced to borrow %N\n" +"to cover losses from company shares." + +#: src/move.c:1234 #, c-format msgid "" "Your debt has amounted to %N!\n" @@ -736,6 +798,7 @@ msgstr "" "^{The Bank has impounded ^}%N^{ from your cash.^}" #: src/exch.c:98 +#, c-format msgid " Interstellar Stock Exchange " msgstr " Interstellar Stock Exchange " @@ -745,6 +808,7 @@ msgstr " Interstellar Stock Exchange " #. maximum column width is 10 characters (see #. STOCK_LEFT_COLS in src/intf.h). #: src/exch.c:127 +#, c-format msgctxt "subtitle" msgid "" "Shares\n" @@ -759,6 +823,7 @@ msgstr "" #. given company. The maximum column width is 10 #. characters (see STOCK_ISSUED_COLS in src/intf.h). #: src/exch.c:134 +#, c-format msgctxt "subtitle" msgid "" "Shares\n" @@ -767,19 +832,25 @@ msgstr "" "Shares\n" "issued" -#: src/exch.c:184 +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and <4>). +#: src/exch.c:186 +#, c-format msgid "^{<2>^} Display galaxy map" msgstr "^{<2>^} Display galaxy map" -#: src/exch.c:186 +#: src/exch.c:188 +#, c-format msgid "^{<3>^} Visit the Trading Bank" msgstr "^{<3>^} Visit the Trading Bank" -#: src/exch.c:188 +#: src/exch.c:190 +#, c-format msgid "^{<4>^} Exit the Stock Exchange" msgstr "^{<4>^} Exit the Stock Exchange" -#: src/exch.c:191 +#: src/exch.c:193 +#, c-format msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " msgstr "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " @@ -792,7 +863,8 @@ msgstr "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " #. #. Note that some of these labels are used for both the Player #. Status window and the Trading Bank window. -#: src/exch.c:349 +#: src/exch.c:351 +#, c-format msgctxt "label" msgid "Credit limit: " msgstr "Credit limit: " @@ -801,56 +873,68 @@ msgstr "Credit limit: " #. from the Bank" menu options must all be the same length #. (ie, padded with trailing spaces as required). The maximum #. length is 72 characters. -#: src/exch.c:364 +#: src/exch.c:366 +#, c-format msgid "^{<1>^} Borrow money " msgstr "^{<1>^} Borrow money " -#: src/exch.c:366 +#: src/exch.c:368 +#, c-format msgid "^{<2>^} Repay debt " msgstr "^{<2>^} Repay debt " -#: src/exch.c:368 +#: src/exch.c:370 +#, c-format msgid "^{<3>^} Exit from the Bank" msgstr "^{<3>^} Exit from the Bank" -#: src/exch.c:371 +#: src/exch.c:373 +#, c-format msgid "Enter selection [^{1^}-^{3^}]: " msgstr "Enter selection [^{1^}-^{3^}]: " -#: src/exch.c:424 +#: src/exch.c:426 +#, c-format msgid " Insufficient Credit Limit " msgstr " Insufficient Credit Limit " -#: src/exch.c:425 +#: src/exch.c:427 +#, c-format msgid "The Bank will not lend you any more money." msgstr "The Bank will not lend you any more money." -#: src/exch.c:445 +#: src/exch.c:447 +#, c-format msgid "How much do you wish to borrow? " msgstr "How much do you wish to borrow? " -#: src/exch.c:477 +#: src/exch.c:479 +#, c-format msgid " No Debt " msgstr " No Debt " -#: src/exch.c:478 +#: src/exch.c:480 +#, c-format msgid "You have no debt to repay." msgstr "You have no debt to repay." -#: src/exch.c:482 +#: src/exch.c:484 +#, c-format msgid " No Cash " msgstr " No Cash " -#: src/exch.c:483 +#: src/exch.c:485 +#, c-format msgid "You have no cash with which to repay the debt!" msgstr "You have no cash with which to repay the debt!" -#: src/exch.c:503 +#: src/exch.c:505 +#, c-format msgid "How much do you wish to repay? " msgstr "How much do you wish to repay? " #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:579 +#: src/exch.c:581 #, c-format msgid " Stock Transaction in %ls " msgstr " Stock Transaction in %ls " @@ -863,27 +947,31 @@ msgstr " Stock Transaction in %ls " #. and must have at least one trailing space for the output #. routines to work correctly. The maximum length of each #. label is 22 characters. -#: src/exch.c:590 +#: src/exch.c:592 +#, c-format msgctxt "label|Stock A" msgid "Shares issued: " msgstr "Shares issued: " #. TRANSLATORS: "Shares left" is the number of shares that are #. left to be purchased in the current company. -#: src/exch.c:598 +#: src/exch.c:600 +#, c-format msgctxt "label|Stock A" msgid "Shares left: " msgstr "Shares left: " #. TRANSLATORS: "Price per share" is the cost of each share in #. the current company. -#: src/exch.c:605 +#: src/exch.c:607 +#, c-format msgctxt "label|Stock A" msgid "Price per share: " msgstr "Price per share: " #. TRANSLATORS: "Return" is the share return as a percentage. -#: src/exch.c:611 +#: src/exch.c:613 +#, c-format msgctxt "label|Stock A" msgid "Return: " msgstr "Return: " @@ -896,56 +984,70 @@ msgstr "Return: " #. least one trailing space for the display routines to work #. correctly. The maximum length of each label is 18 #. characters. -#: src/exch.c:624 +#: src/exch.c:626 +#, c-format msgctxt "label|Stock B" msgid "Current holdings: " msgstr "Current holdings: " #. TRANSLATORS: "Percentage owned" is the current player's #. percentage ownership in this particular company. -#: src/exch.c:631 +#: src/exch.c:633 +#, c-format msgctxt "label|Stock B" msgid "Percentage owned: " msgstr "Percentage owned: " -#: src/exch.c:636 +#: src/exch.c:638 +#, c-format msgctxt "label|Stock B" msgid "Current cash: " msgstr "Current cash: " -#: src/exch.c:647 +#. TRANSLATORS: Each label may be up to 35 characters wide +#. (for <1> and <2>) or 36 characters wide (for <3> and <4>). +#: src/exch.c:651 +#, c-format msgid "^{<1>^} Buy stock from company" msgstr "^{<1>^} Buy stock from company" -#: src/exch.c:649 +#: src/exch.c:653 +#, c-format msgid "^{<2>^} Sell stock back to company" msgstr "^{<2>^} Sell stock back to company" -#: src/exch.c:651 +#: src/exch.c:655 +#, c-format msgid "^{<3>^} Bid company to issue more shares" msgstr "^{<3>^} Bid company to issue more shares" -#: src/exch.c:653 +#: src/exch.c:657 +#, c-format msgid "^{<4>^} Exit to the Stock Exchange" msgstr "^{<4>^} Exit to the Stock Exchange" -#: src/exch.c:656 +#: src/exch.c:660 +#, c-format msgid "Enter selection [^{1^}-^{4^}]: " msgstr "Enter selection [^{1^}-^{4^}]: " -#: src/exch.c:712 +#: src/exch.c:716 +#, c-format msgid " No Shares Available " msgstr " No Shares Available " -#: src/exch.c:713 +#: src/exch.c:717 +#, c-format msgid "No more shares are available for purchase." msgstr "No more shares are available for purchase." -#: src/exch.c:717 +#: src/exch.c:721 +#, c-format msgid " Insufficient Cash " msgstr " Insufficient Cash " -#: src/exch.c:718 +#: src/exch.c:722 +#, c-format msgid "" "You do not have enough cash\n" "to purchase additional shares." @@ -953,42 +1055,47 @@ msgstr "" "You do not have enough cash\n" "to purchase additional shares." -#: src/exch.c:729 +#: src/exch.c:733 #, c-format msgid "You can purchase ^{one^} share." msgid_plural "You can purchase up to ^{%'ld^} shares." msgstr[0] "You can purchase ^{one^} share." msgstr[1] "You can purchase up to ^{%'ld^} shares." -#: src/exch.c:735 +#: src/exch.c:739 +#, c-format msgid "How many shares do you wish to purchase? " msgstr "How many shares do you wish to purchase? " -#: src/exch.c:756 +#: src/exch.c:760 +#, c-format msgid " No Shares " msgstr " No Shares " -#: src/exch.c:757 +#: src/exch.c:761 +#, c-format msgid "You do not have any shares to sell." msgstr "You do not have any shares to sell." -#: src/exch.c:764 +#: src/exch.c:768 #, c-format msgid "You can sell ^{one^} share." msgid_plural "You can sell up to ^{%'ld^} shares." msgstr[0] "You can sell ^{one^} share." msgstr[1] "You can sell up to ^{%'ld^} shares." -#: src/exch.c:770 +#: src/exch.c:774 +#, c-format msgid "How many shares do you wish to sell? " msgstr "How many shares do you wish to sell? " -#: src/exch.c:798 +#: src/exch.c:802 +#, c-format msgid " No Shares Issued " msgstr " No Shares Issued " #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:800 +#: src/exch.c:804 #, c-format msgid "" "%ls has refused\n" @@ -997,12 +1104,13 @@ msgstr "" "%ls has refused\n" "to issue more shares." -#: src/exch.c:805 +#: src/exch.c:809 +#, c-format msgid " Shares Issued " msgstr " Shares Issued " #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:807 +#: src/exch.c:811 #, c-format msgid "" "%ls has issued\n" @@ -1048,6 +1156,7 @@ msgid "%s: could not convert string" msgstr "%s: could not convert string" #: src/fileio.c:255 +#, c-format msgid " Game Not Found " msgstr " Game Not Found " @@ -1057,6 +1166,7 @@ msgid "Game %d has not been saved to disk." msgstr "Game %d has not been saved to disk." #: src/fileio.c:263 +#, c-format msgid " Game Not Loaded " msgstr " Game Not Loaded " @@ -1107,6 +1217,7 @@ msgid "%s: illegal field on line %d" msgstr "%s: illegal field on line %d" #: src/fileio.c:466 src/fileio.c:487 +#, c-format msgid " Game Not Saved " msgstr " Game Not Saved " @@ -1192,7 +1303,17 @@ msgstr "" #. that would translate to just one character (or maybe two) in the #. output text). #. -#: src/help.c:103 +#. Formatting the help text is probably the most complicated and tedious +#. part of translating Star Traders. The author and maintainer of this +#. game is more than happy to help you with this task: if you are able +#. to provide a translation, even if it is not formatted correctly, the +#. maintainer will perform the necessary adjustments for word-wrapping +#. and justification. In addition, remember that you have up to 10 +#. pages in which to display your help text: the translation does not +#. need to correspond exactly to the original text. This text will not +#. be changing any time soon! +#. +#: src/help.c:113 msgid "" "^BStar Traders^N is a simple game of interstellar trading. The object of the\n" "game is to amass the greatest amount of wealth possible. This is done by\n" @@ -1228,7 +1349,7 @@ msgstr "" " ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" " ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" -#: src/help.c:122 +#: src/help.c:132 msgid "" "The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n" "on the map. To select any of the highlighted positions, press that letter.\n" @@ -1262,7 +1383,7 @@ msgstr "" "will set up an ^Boutpost^N, not belonging to any company. Thus, if move ^k~3^N is\n" "selected on the above map, a ^o ~+ ^N would be placed at that position.\n" -#: src/help.c:140 +#: src/help.c:150 msgid "" "If, on the other hand, a position next to a star (or another outpost) is\n" "selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n" @@ -1296,7 +1417,7 @@ msgstr "" " ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" " ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" -#: src/help.c:158 +#: src/help.c:168 msgid "" "Selecting positions next to stars increases the value of your stock by about\n" "five times as much as an extension not next to a star. Thus move ^k~6^N should\n" @@ -1330,7 +1451,7 @@ msgstr "" "more valuable: the company's share price will increase by a greater amount\n" "than it would for outposts not next to stars.\n" -#: src/help.c:176 +#: src/help.c:186 msgid "" "If two companies are separated on the map by only one square, then they can\n" "be ^Bmerged^N into one company by selecting that position (if available). For\n" @@ -1366,7 +1487,7 @@ msgstr "" "proportional to the amount owned in the old company. As well, a cash bonus\n" "is also paid, proportional to the percentage of the old company owned.\n" -#: src/help.c:195 +#: src/help.c:205 msgid "" "Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n" "you may purchase shares, sell them, borrow from the Trading Bank or repay\n" @@ -1402,27 +1523,32 @@ msgstr "" "The ^Bwinner of the game^N is the person with the greatest net worth (total\n" "value of cash, stock and debt). ^HGood luck^N and may the best person win!\n" -#: src/help.c:215 -msgid "@ Help text, page 7" -msgstr "@ Help text, page 7" +#: src/help.c:225 +msgid "@ Help text, page 7\n" +msgstr "@ Help text, page 7\n" -#: src/help.c:216 -msgid "@ Help text, page 8" -msgstr "@ Help text, page 8" +#: src/help.c:226 +msgid "@ Help text, page 8\n" +msgstr "@ Help text, page 8\n" -#: src/help.c:217 -msgid "@ Help text, page 9" -msgstr "@ Help text, page 9" +#: src/help.c:227 +msgid "@ Help text, page 9\n" +msgstr "@ Help text, page 9\n" -#: src/help.c:218 -msgid "@ Help text, page 10" -msgstr "@ Help text, page 10" +#: src/help.c:228 +msgid "@ Help text, page 10\n" +msgstr "@ Help text, page 10\n" -#: src/help.c:270 +#: src/help.c:280 +#, c-format msgid " How to Play " msgstr " How to Play " -#: src/help.c:272 +#. TRANSLATORS: The first %d is the current page number, +#. the second is the number of pages your help text takes +#. (6, in English). You can replace the second %d with a +#. fixed word, if you like. +#: src/help.c:286 #, c-format msgid "Page %d of %d" msgstr "Page %d of %d" @@ -1430,7 +1556,8 @@ msgstr "Page %d of %d" #. TRANSLATORS: The reason the user is not asked "Press any #. key to continue" is historical: many, many people used to #. ask "where is the key?" :-) -#: src/help.c:473 src/intf.c:3035 +#: src/help.c:487 src/intf.c:3035 +#, c-format msgid "[ Press to continue ] " msgstr "[ Press to continue ] " @@ -1440,7 +1567,8 @@ msgstr "[ Press to continue ] " #. , and almost any other key instead of #. (other than , , , , #. or <\>). -#: src/help.c:480 +#: src/help.c:494 +#, c-format msgid "[ Press to continue or for the previous page ] " msgstr "[ Press to continue or for the previous page ] " @@ -1460,10 +1588,12 @@ msgid "terminal size is too small (%d x %d required)" msgstr "terminal size is too small (%d x %d required)" #: src/intf.c:610 +#, c-format msgid "Star Traders" msgstr "Star Traders" #: src/intf.c:1265 +#, c-format msgid "mkchstr_conv: NUL" msgstr "mkchstr_conv: NUL" @@ -1524,6 +1654,7 @@ msgid ": " msgstr ": " #: src/utils.c:238 +#, c-format msgid "out of memory" msgstr "out of memory" @@ -1533,6 +1664,7 @@ msgid "xmbstowcs: `%s'" msgstr "xmbstowcs: ‘%s’" #: src/utils.c:611 +#, c-format msgid "xwcrtomb: NUL" msgstr "xwcrtomb: NUL" diff --git a/po/en_AU.gmo b/po/en_AU.gmo index 0d297ddde2246379ad746eafc153b50256cf7fce..fcfbd1187b497e526651f4446619710440b207ef 100644 GIT binary patch delta 4451 zcmb`}dwkE=9mnzWBO(d85SkE?pGKrA(fo);+=5gHA!^f>ZdHpPty|(3m&U{Tt%tHw zW$|lRYjiG|%c`w}Y7K1-t(v*6Zfkk$u{~Cs4eO(|b)|c~f9LqG|83ugPoC$T@AsVV z`JUTPII?0w&=NSMK9x zGWj;B=kDW=n&^v(Sn3>yZOK24>Be}*BauPDI$L1&qbgj&7Wg;kEmVU|c}ohmLUpVw z(g!mD`DaG+M;|f?)y_gxM{BViZp4AO4;S!$bDP8l3g*+ADt4fIL$MIEa3MzF7Q7!{ z$1Zpd_52-Fhte39PS_JwJ{IrA5N2bYE8p+RFJe0HH@8WsXKA#OhP_Y~9!51(gBqdL zs0QCgJ%0gn@C&Cu)#gW{>d(hq+=zZWiTB}6XL}mS?MXo~i5@r)^~Kv!FFfhIf$hmB zg-e@cdQD07B`b@Z#m=GFgz^!{u$WP(Nt)!WajrnUc@uWVb4ahuH>gQ#%Q)!MvrzfL z$o!izY0Q{rJ4k`PeI5pIGxozzumqE-txp<{`jnTPJ5UWB#{|5B1$Z3`F`G4+j}tKy zS7RLRMRnw`W~?iT-&3Hm`WF3|)zQAF1Q(N^tUSx+8a~fZwWKu`nyF>!w8VO3-b@2( zReg+Sco4t$~gr`v>?X`K(E~^q$#o4I+62>CDgnX6sN9~7yx%-_4M2;lW57q8?)N?hcdaq!*PKA2b5Kj=K~{D(7YpgrQ+W8}ohaRtLs zFZcmwV92@3+2A~leq+o(oym;9^7*JmHWsz3DqMb!%P&H0-#XNYZbwf&KTJZN#uU7a zT9mi2BQ_swD|W$q$oF;mF{o`f1=ZkO)JWB$>c5BT&S&Ba@3e2 zRQuChx%UEzdnwq8`jTVFSz-Q+d6+uF=1WlxEI^(0Td_0#0dvq-X6=r;|2V3hmDm*z zqW1kYXVS>Xn(<6N3C;ym?);wfQRm~%3C;@V6z4Q-Lj6kA8VI4L@CD~OX9KEZAEG+` zA57K$_j3$sP76^(Q|j`QQHyXcYAr0q99)Y!IzPgG_%$-!rl8z@@w2GKx6^qF)y_>! zz^KvoM=BW$dA}J!A|Dr{hG;Lw;b)kLS5ZUwZ_L8XhwXkZMZIV$F2-fbv#OHD7_)>S z&3nWy-aX^&_CAJM#h5eD5fjU>}f{ed{KtD=Gg|VvMJo^LwK{zzq_o-gxAXrE3& zec58vgPTzm54rn)L7fN9LUs*wLaq9tNPo?64B#kN{+x4>bBS{)Y7Hz$tu1e}OYCwU za-K!a{hv@3Zn%6*wXN6&TT$NG`Ji){b3C@@{&c73T;=Z9TRpRfL_7~3#TYz?dhr$e zfVqbH!aL3;v+XvD#%Rjhq848VRJ|Uk_6E3o88##T7^=fhU@lf+vQC8cBvhdxQo#Ss z&_`asbPo`^*y83l#1i7Y@VNLiZx^Wv#2(`N#AHHOIiXV_pU_@8Lg->)nKy|#;$uQr zn3zLooOErmME(}=_Ym=lD|-@uLOe_Kq3Rd$ZTr7L`d7r=>unM%iA>^MLi6@Kv7cB= zXt*?#?-N_YLlUxmC&DulQexjBpG=tWO9>gi%Lgt`fkoq;DYbnu4EF-!RTH-at-HTHya&baMmc243!ym*ahfl^wg{u-%do@Jv z+dsdAS6zNAR=f01o!aVMiQVD-i7CzMNv#iGNX&@cOKLFj^RO=|rQPpHjV5*yOcMDP4Dv_lU=cXNcE{qr@rVG;#OZ7v7na+-?=w)x;t~yIC9e81Yf~ z)1(YE~&Y)yQ z)x?=K{_3YDhJw|NZxlqgh|bTg3Izk<-GfWw^K%3F{y=`8o`G(Gyl_l$dh;Fy{=D9O d@)~oBzm5HWba_o&_hbyK0C| zoVEg6VxnjvX|btjgG5tXNi|xmQ5!XxHmx0N(xf4=I%CU=Oq-1T{yYa?bb4q0`#I;_ zd(S=hJl)w3zwmVTd4gBs!&?l;B_f6B9AZq8$C#qwDmA7p&X^I{j`4T|N8uUt;#F6E z6BEdXbCIqa&5x?c!dNVDK7=F5FT_-1f~JOqkAffA0&@U$!&!{N%g)bH75)no(Zkc! zuq5Q!CL7g&5`Od|^HBAyMm2OZCSfy{U? zub(hTcKV#@&IzH+LFvIkTyY;I8k`wO_nL1xmpeD0p1cDy@FdbI(}x-~5B;E5k3;3N zk#RROP=oy#>eZKG02{Fg-%Vyj%Sqg#K(ACzEqawY=c}lSj$#a+!+Y>D7GMH%aw=9} zI&Q&8>_9c73p4Qqs;jPH8pe&W&&eIbh`va{Too{FKEeh%?JGu3J+YCg6OB#CxS74E zS#<dl_VRXpGj zMw1_#!z^K}vXM5L1$37hvL63Uc^lGZvwIpd5#K>|waK@$Di?L%64Y`DVzE3;LR~kM zel5f-%*JKN@R}B^#5a*%H|AbjQ7V>^EyCAn=q6M>8AZm-#s^XN??gTL5Nc>IVhY|w z&Ie7*bbDc@b0+Fd7Nc(1f?5Z!x$|c+mHgjP6^GBT*QKNGD?^=MhDhgK0hSxajF_HXBsL9xlW3UT@ zy72;uQTQ1u|21m4#occ!Ohau=_n|7NMm3<$<+tJYJ&ZN#{*0M+G8drgeH68+FLmYX zP^)X(O!{B5em4cG@F3~|$DHR-L-H3?m;Mud=$&QrIjHMrqlWAW=Soz4&!OJD0oAZp zRF8F`8gOzJ{jb^hM+#I?KdPnS<#y8^i6!KxU_I7iJ6=cKw}Z8$<^-K#`GGrc9<>!s#Z1mG zN3HuN=V8<&{1dV*n11J1&aa)O;`aHV3AYI|%o*+U;vgy*ff~C+)R;|nmN@5O9_1@g z4R6KKcmg$~e@6Apmo7h)-AQvU5#zM}Cy|&;K@kS98jEl@GR)>9RM+_`ZP(6qu0d7Q zj4}9AWRo;+p|-F_L@`V{toX@_e(4geK1^Ov5ixV;l9D{WxWzK2BY@ zl|H>V-}c1g3++087B$Q3a1u75K2FE*8u`XWb~V&LVLwjWF^ckD45}rUNT|y`asJ0S zVzFI*e$<jWqrsL;Wh*2x;vMNVSvh_$Wn?}?aUqvnrGX*{hx=N_~R@?j1 zQRmB1`@qvd5*qtWsM+3uVfY3H@PI4-tMe1*XU;y<*k8j~3|nJOaHc!+P-9+(y1vro zgUj6oYcY-!FF0GA`6&OC*m;7M?JXMoqq)Nf{Uy{^CSr^ zpDG-J>ri|C2GosBs0#PE{C*rv{%zEQdr))eeN4b_P}j$;vw0tS$m>Hig%~*AC9zda zc_&moJUQ4+b}?~;m`5xlbWq#v-9Rf@Yvi|t4rY`&Nc@O6L+EHG))Vo{{Li7C;Uw`2 zQAsQzDhM_gP3=%v%*g2nNdKG|I1ZEOAkv9n5*oM$;ux`uPJy@DQAZy{i@5ehut}LxKuV~5^sgh$0iQ` z38_7yFJgTWM@ijJ><-0w6O+!9nnS!vEF_*L^vOIGD)kn7OlY$=F_Vvsws!M4@jS7g z_#JV9xJV2fzYd-7CL}eHZ6RJDv@Q6E_lVP>>t0{5os^C@h>b)mv5KfAUMB{QUy$e_ ziiw@XC8B`PWYwmoV>3}toK=P+l2}75AoRZ>M3fSHiC%(3m+*BXUhZy*J3lP6x+1}I z&+XrPLtPakx_c{jMs^pB`(b?d)MpZgcBd5I2=nBHyk+HqJbxfREs$53o0k;`\n" "Language-Team: English (Australian)\n" diff --git a/po/en_CA.gmo b/po/en_CA.gmo index da09042be7f98702bb636e6e9086067cacf724c1..1d8dc9612d28931345f1927510afec14008cd39c 100644 GIT binary patch delta 4370 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 PPt^DA&9GED(j4_)Z*v#7 diff --git a/po/en_CA.po b/po/en_CA.po index 713f311..4fd5dc1 100644 --- a/po/en_CA.po +++ b/po/en_CA.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: trader 7.4-pre1\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-04-14 14:02+1000\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" "PO-Revision-Date: 2012-03-27 08:02+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (Canadian)\n" diff --git a/po/en_GB.gmo b/po/en_GB.gmo index 9934aeaf0b3020375d4d2a8ffb7b3672b60446b2..b25dd79c3c3e20020bd07e0d4b699f5cde3aa1e7 100644 GIT binary patch delta 4426 zcmbu>dwkE=9mnzWi@1eEh%||a{9Hmc3Heo&LUM6m<)h!9#T&9dnyHa5-ignv#kFFlWx>>7_R&}p;zQ=$2Yx_QY@;vAKzUO?; z_uRhredcSp?sNXwE_|KgxY5po;4`KuQl-Z1Yimq<+>h%FXavwj& zkZ+H=??L{ki2>LK3$2qdmi#PCGR83uiDU|1^9sySRD~~}sE+kS z`d|hj|IAqa=tW9U?JPlcbPXn8H4erjxR~dgZ%J&SU=gjUVn@0+9J4S5mtZ*V#E0-L z?2Z>v_uoTxD3M|5jD1k$M2*mT zRD%am_g}^|ylwTzd->6*`in3ftI?0=@Im~iwF8Z$_n{!4#KX7{^~SqU4?Ji696OMY zb_>J0I!#CoAS-jN`PShWM)@dYSj?lSNh+~cT34fqwr7I5C4H#*n>5hiPNwv zuEz*GgzCsC%~($oA5x&P`VRe=(#d;J0alTpt~|@;2EN2lwWc)|npwlrX^q>Fc{4Sr zRrMZT;Jz>LGxG0JsO4Uh%4p*|sO@mqA)%hM;Po|R@z#KKBx>l3QEys_db5={mj~2i zYw~?Fcw6Qw59yrkt0Z(n1E;Ca+YJMACwmQ?|&;(XM8aWNOKATMhY z8P{yg#a_4wnO^fIs=<>u2AlQw=K2X#dli_EYjG-redmf0cs9^f|`O2n1tKx?H$+Q8AH~!)*9=1^c!RTWsPC{mCr;ivhk>0Rc!MMYsQc=q_~B^HU_`d5ptP zP>b>ocEaX)Ud8VC0QmtnKMu9+W}q5;1~pP^Q1y?YI`o0fU&GZtrW)0e#X}i?t?D&H zy@t18H2K4*^7m2O>=T>6jcTyjFz*5Ft=&)~mx-E!k*E=zY4blqb!Z1_$_`pj40F5& z&r+Z_zl!SFzfnWjvcT&=B5E=AMm1D~>gW{YI5nj>7?JdIm$7+Xp8{)XCB;Ul~? zR)pc?LksagK)``|B)~Bo`)|nVa{W+*LP==bqD(fceUR1|V zqB{N+#%up4aSUlrA3+UGfz21A7GVWyEiA({+=x0lPhk$;L8jYej`803hp3_5V?B#% z=N3kxZ>;x`ipDISZ$^;F#1~OR^fpG|6>Ni_qK5EGOhNx+-hMAYJ!l42;d13!RgvT9 zEJK?9gtvI>CVAWYG-{E5h!5dSbo7;qpUi*ED7f*Yw;L{f-}_2^imfQ`GS%xyFN`NY z$U4DVjvD$Es5gBBv#P8GrR;f6)6%T}3U%i!;5C%GVem zpEJulSmvTCzKYsThcOqM%=ShuAG68Nz+PC5I+z-82;M+u!Ss6Co9gGEcDx2RQ;^RO zhfrUsd)SqHby?$A%G9G8iY@o<&%k8zV^C|R4E6g;>rU$l)C*lh-EZc3A1OcT{z8X@ z_Gt;~&0a*^xCK@5xc&XFsPiB!8}}%0UTw^pR>MTU20v1S_3OkYs=YU z6Z@^ltqs_U8~%){aMR|SR(KWLVq3~PTl-jtStnpSexGGsY<=1OUhV0aIueoGSdT66 z52y!U^KLNLQE&K-^*huyYBHbi0JcLdz64ag-l+Bl*nA;2B|je3;qPHOmST)fgv}&W zVQ*uBF-OryUSGQ2gf6zY`7N=GIOa}@Omylfi+)1&ckKmML1Ua@6Q;d0`6BAcqWBVz~dA^l6@{&kSV%Y;_$uL;fD zOT_SL9;|W z@qKF=fA{|EfK4_(9xH76r`BHBlQ`fWZ4=jYJE_;*%WaZd9wL=Tyz2U*;}Xu28cXaa zCJ`lsKB1@FKy!{UhA5 zqucu;YFBqiNgC*17z_pd)5}7|!4m)cGXD?CLZPyS{**@}$P|}76Abz1lvPv&EBw<# zWu=sqmQR~o>93eMEflP%-P5mGt7e($<)L7}J&;!rnVBBQ^anDt`vg)08E%XGq~;Iz l^JnzW&ZtexzuWSE>f?rp+HWSTYxjS5G`@N5)_JSK{sYc%O4$Ga delta 4319 zcmbu?YjBmt9mnxK5RfF~4u&+Bb7F`gKyv`}KKh+G8Q+IFZH+FC*x=wxbVETgsGUw6Zcj_>-+{PWq} zv(G;J?CqIcxZ*j`=Lviq8?xDOeLy4;`-U2m;4!8+LZ!yE#~3pLJ1`axq@ol|in`MH>EOu*EV@KUhe7MT608%|?5UUXhYHTVyVM-NX^ z#}bfdn_N@}%J`!fnT=|v9@WtnOu$W8hWoII=bLLJIw)95Yr1hb-TO9XVmj7i2)5x^ z+<~{_NmTvos1AiQEUB1=DxZY6;X=&77hL&%SNW)=utLbg1Ubx=HMpu;Rzgrmz-fVQdvMj0f~HEf_md^s0W^Kev02B zuRnt!(dl)jIWvNpgVF+nsBsS^nw$y9@R|plOPt?DJ$WOJ#$KdXrVlk~9>zhh9)rr~ zBJ*x0peB1J>eU}dKfZ{?_*Nn_I+?`R6zG*E(~4eYm2)eqp(7ZHXYek(h=mx(n!FP$ zF%4H^816xJ~r!{n9&y~n56=i&F^sygZ2e8r;%u8=?ur0ka;sZ zQLE}O{+fE1u#fzk6l%He%wjZgA8I@Fp*r$8YQ#bq2AS*}A0WYsG*zfKtwz0BBQE0s zhj2Lg)I3%RbCrwq(LBg-sUy$e4a(b*KAY|1Sc!NXHPmLjT~+z0`{tvzO8`sdNfH{m zTNu|O%)(q;j7+cDj8%958Fgdswhbj?1=(Wkq@&NF+8JGJ%>6h8b$=V`!G};&djXTM zANf6CB1>$=Oy@+@o6JMquo|@wcDdhAV>0=_q8bjFVC$u!?yErkz8G0nW({iY+c6a1 zL9LPVn4=TrA_+}FDB~f$sJR=58v1fngZI1NpK`8tZgF;@R{Pti`X9Rd=kE8RWwxV9 z&SDv$;v=r034P>uIFC6$MlG(dQ4fe`M%|w}(JtoksCK8K4)yu2 zydJf?)=Xslwd%J}pax$ZD*6lzNTfEv=jqZcD4*?bPF{&duoeaE>3)!qu!o424k zwiPvEU8oM6n8f&NHU5SIHPnylsb{i1v}3W1d^R@W)7XK3L*4g%_L8>KEBr~vehk6* zDRvhnp|NqxJp6|q)fMG{4^X*{#oSgF`dry?)R@y4f*f0 zN9!WgzTeljYYj_85ZILSjPj_<8bo-UT8l~;g8#crJ&k&WESe<)Qnn;jZfH*({|KIfAj?7 zpF<+5#@<+h+D?yPDelHJ{0kQ0u%&ieRiGBxa%7avdej_$geiCfD=^_n`*C^{)sCmu zew@-#_czoA>c}NjJyUP* z^PzsPK%D~%0wgr|&B#cZP8^JT(2uXW@;^F1asJ8q8EWqPFbd6bYqZnn%tOt28LIw$ zE+1IrD%4>NKRoB$IEOR2Fzn5 zw0#!hP^?Ft`HiR>H=r8a=JI=S2>CZq4?c=oLuW7!Z=mW&HrRX;ddTZTbO$kTy+vZJ zx^g^N6OkC`COeNfOw1-06S`>azo&tAvi8WY2wkiw(?$G%I7R5%L_9;pD)T>=PKI7$ z3sFVPCn^aJ7cK4J;K-3B`$@k_3|w!L*h8cdKO;18YlvSE+XxL8FJOL2{3JLhGQ)E& z*c=%j`cv{6ihaSCBfXw8!DEq$IlIUYTsrM$5ib%ah#o>ypsStO8ypgqR{kSWM+sf) zh(pBph%7>Dcom_mmEd%`d1>80OS~VfiMnIl!JFmA{FwAsm*)(-d2Mv5T+Afi2%e3K zAF`X&%fTyA-q0hY?j^PdW1`~|&XSrz93bWriwJ!(-wu{XmwHUFB|1KnkBg3W^AOQU zyhglBoF^_21J}=kJ<)LqFOl6$JWuFY@DlG4Cxh3by@3u=x?Ulgi5aXd+H4!xcs>Cmtm9e?yQcCw3C=5L~Ka3@4`fVfW^kv%`u_ znQuzc)m_U)_Qw)xNvFq3rH&C@bvlt!xYHE==DL+wFfc?w0PP((8jg1;OZw z$^L>I|9GFjpeVl}%kR(23!71uGpl-K&5D}ZWjPZUG*lP)^7H)pIeE5TUXj1Mwc^Xr N|F<{U$#kSW^go-A7Ty2= diff --git a/po/en_GB.po b/po/en_GB.po index df86696..78ef08c 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: trader 7.4-pre1\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-04-14 14:02+1000\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" "PO-Revision-Date: 2012-03-27 08:02+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (British)\n" diff --git a/po/en_US.gmo b/po/en_US.gmo index 534c33243d7e7a01d288287a98c93b349560cdd1..75861b0d2c7aa3cf0569959dd3c689be84f9694d 100644 GIT binary patch delta 4456 zcmb`}dw7rM9mnxIXhg_Cf_V{iEGl)nZ&OUHAUvx&7Dwy65uE>%Q;jdG6;v z|1^FU)cko+;KQhP>kZdMq6cv>*qH7?#*7P7sWJOH8`A~%V-z-HH@t$8c*B+laWk5H z7u0io`J*bbF#^X}ORy{X*_dEVzywGnQt*;nV2-0+xQZR|-_|>*3fuCP80?H{SU;o< zCKvfY7r(Z~QAyfh3JOUK!WvYMccDIb-g*P$$VWP3 z+9U>ZmqShMtyl3_Qv;-R+;;#N$biusO!n7d;v25 zrZ}D%(`@@FP~U6Niw&5Am#_$);*|-&SE(J1Bc>Qn29N@$qby1Nw@(+ z@d&CRr!`~!NW4dZ#_ButVDiK6hl+3|`I*YIY`(x13{@v;W1*QkmQE*ZMCQ#LK&`5` z@gmRN#?Q!~p-{{HzyL-Y-#~4L`vDSaNeJE7ki}ZP*0HFeFGKaT7S*%g;5`ba3Tf|bLV;rs=g{L#I?AM246zew-7mKWtQ%21I)qvimr?uSuD#zgxAjOeIjDN4qMoZoz4sy}=)^cif^}v-K&^rQ zU^?}DR z5&hP+)&tfS^cZ8lu|_lg%4eV!*<{qNDzo_oHvcSY`>scg=q?PX<)=x=7L37

b>o zK8)=P+!y;`H}cswUyRyzPogS(1~pQ3sP|t-HRznpU&9qaOf{+@{*jEoR`sfpZp9lh zlKg&D`AO6^d(Y-SM^$(q^?}e)u5qZ5>yMg(eAEb*+Wa!q^P5pqw%hvJsDNAHDGJo{ z7F5grg&M-|Pz~r@WKS?uMFpsa79+>0DZ_kRic9bWZozD}k{0nb)ULY6pJXg}#QhbT z6(FJQG#9mBH=|y73$-Xe#hz%!xaGaD57|6S!I`#vwJm=I^?VCzByOQbB5JHL95rST zs{T?`d0;V#UL-c5dU66eE6im~$BvJ>`5aUQ6{xd*6ZXb)n2NWoJ;%BCC!p&2CHBKZ zsD1yDwe9%UH4`u?BsdpLfwjmw);hsjY@K4AYAwY!ygviA27IU~Tx?xqZA3Nv2&&=N zF;@FOnqx?Fnu;2l9GfpeEyCHTwXg(JaW(4bJc>E^B{JQn|3tUP^HD?FU_FJZ=Ti*F zJIG;af+um5^L>*`A_EtqhG-9l;suPrzoUlm3)JH2_L#fhb5I|80$1Wv<=Ziu#l}3x zkS0xW7w@hTcYB{eE%JA;KmHQ~`jrZw%8IAplPBEWaJJO_mAZ-@DUX@vHY5pS$q%-U zv-(g&zYNvWb(o1eu#);e#!lpm%iJHSX{d8$m5=dPOSb#mU#SbI#rW^)Qfef?X(Z`@Gd6dusQCJ)Z;jid_C%5YQ_=xF*5ol=_z-rtDXwD6|SM6kQ;kZ zzfw0*71md@{z{pnsER@>-RF}rk^D&1nkh%!UvAxOeHGQA7S!{%u`hO=?>?U!AfbI) zg6dff>cI`D7Z2O}S5W7{9n>0#_PeV-6KSu>K`-Xpa=&$fb)j`JY7Hzyt*yWYo7iqW zY;DGlJa7s1!Y4L=&)yHNa(6{HYhP=YbsR?VUa57yb%niO?;0>WNrds>Q4GN|s1LWe z510>8J-lJPh1y1UF&NudyNfRz^i=A;2rr`{X)`_r&gkET9E#UuX z7(`ybbUz|=vBk|_i06pcoszKlz(G>eh*yc95Hkr~6A7IP8HDyqGogzGW%d&5iMI(| z4zYmHIO*Eq()xEOe@_uF+OnVHDq%|Gxy6lxX@4Oin?VJy5=Tt_-4mr?z z-~F>4Hro7Ttg`7f)`8fMIOH6UhfuO+*Ic$U!a*T#K^_^Wd* zGBL1~l&)RGQsO0I9>Eb{8i)tiJ`yL0JmPo6MIw{XqSYa%YdNumcvl&&P{L1)BeIEg z#0cW|#9IWH9x;Xk)YLbv?0hyPKh)%V9`QY0>8bWDtWNb*PJhzp8Tx&N!@jRDGqh=S zTyny2PmRy-^USR9m-)&))fJu@6@Gt3jVF0RD4DW~XMBFo(-l=!zADd5f5lu%=2lLh zSL>;oHQn#4YWl^T*!E4$x!2nUXQWm7eO~8KK~Y#nnm5Da&Bz+;9pFuOLJAYw4;t!8 eAC{Hglv?;rhyO>r>qDEq{^`1?AKduH4*vtpJXOB{ delta 4319 zcmbu?X;78d9mnx=1s6b;3sFRbdleB0f?Nnj2nqzZEQlIoYn#+0774}x5^S`E-ioMW zXClU1tHceWF-fCwA#rJIqS0#I8nv0Etz)W_rkZAqlbWTIw6)(~&%qa+yz4Xb=X1`v z=Q+=L&h`w)KJvV9)f0R_K75VgI!_EDw)Zk7$zx1$v`UTX@EUU)c49p4#r}8#E1-l#B`jG;kXuW z#|=0PkE7~;g6dEd!!j7tQ03!s2tI}xxYU*JaOEd4h3A`VB-FDgT1m!q)D2~*hH6kF zv<%hYHdOr+I08R##tpFfF{u0JVm7WuKOVy2c-a|ABNh1+4=Or9S zUVp+M+39npIWt0;J<@_bsBsr1nw+u7@R|pl)y^NGp4^5*@d(l@a}_md9>zhh?nUKu zka;&_QIkCt_3E=RfUB?=-%4giCy=;FfnI3>t>{%2IonYU9l#hojd$V&EW`xXcJ1_!| zq1MP*%+`r=frO?Yg7J_()Z7)IhQ18d;AHpvJZFn@o%2=HYCnpq|E|k_=6>&0YCAf} zSuBH8e8?3vp`ZK)=RxQDsKs>?^?+z5Sa}~RpN-nSC8!~vj_P=wvk4Q)uRtxvPE5t! z7}SktN%Y4LQTczOwww2E+n^tHG~I=2pa#`}MJ~S_gC6D@b${YGyO>9y+ATpH>N8w< zHEMVLa2(^WRlkw~HQ0%Iz)t6zs400HHKZS+55vaWd>X2L8EVR=Iv+;0SA%-ms6}`hITp+n=f}?L&KuUC`O+19?Y!v>t1zYq4fICMT_kGGe9nC5M9ioB zyQq%0;Q)LMHKk`zBXiN^ze26KNKPrQ_J0bA5fqHX06v7pxDuIWa|-pw@s)OH$2+S~ z4K2kOT!$Qz=0(&I{%5=clcv}anv9X;8!#4|F_Y(;XGm!A>_b0ZM9uBLaVe%wCC{qb zipv<&qYv7VxNoN2=d)0&d>-D8t*DRFPW&7BB@f%(Q2RamacaUS%J*YXJvmB3L-vmI znzPp|cOs(Rv;Yfn64vv87VJy@#$)#5WMREm8hc|NYCBEE5^Tpb{390Ozc2?!&$WxJ8X0BNf|}#=n2Oi29AloaAE#-kcD|^! zAE$wJ_Wqi>puM4$0v{E&pc*>jDqM1Y?d)G~-z0#lKOKi-BWl%eL~YOgsE)jgs`oi+ z1p3XlzmG+Qu=#$@bkv*| zpz4>od~l|#P=#K8Sm0dlY>b@_WeV($5Z6Nlcd^qaC0aU#)s28lX z2F(K`w0*vXy>Jfd%zqMf;}VRA#~B&e@_GLWbKjP5V}}V=2hZn#0f&zYGMHqugw2k zIvI`->xfF?5u$>aOt7>=VKM#2>>&LMqWgNC#5N+0*iUHUT8Up1&k-6fUckIbycl{g zCd2c)P;*RT#6I#GitV9|F+R`f(7~AG?B~gMUpnok5vzzp#9=~HpsRy;DbzDIt!y)? zUlO`j5POK95?O@S_##5ra)Q(8)}?j-W8&>lP3*{m-M7m5+L3N|dCss~SDQ=aU?%Ze z=uB*4&#k03hCYh*MI0b?H?cnCjY~{ALuv}Ki;}SFZhUjQF z-zF9kuMoc_&JyQ{?(0{f!*K~o&yrn3EFrXueZ)!Pc<5T3FW5;+*ULmRv4N;1>WM8x z_qCJ6L863MOPnVP2`yF~YPuE^O~ff>xFU%LVg{lA8$v`Gv57cFaH)zhoS5e4U2D8& z`V^Z||D>vU_5Q}Hg^eTp^^aCp`S1LOveDmAR@il*Vr^tsVfxDWu3=9k^zIr|@=2H{ zKNMF!A&{RP808P-7v<$=1p>Lbky9$Or&ax+=Bb*x+U#+UHdYn+^Kt`u*}1k}Zc(6X SdHLTX{@>nYrO=U%i2ne{x*78T diff --git a/po/en_US.po b/po/en_US.po index eeb50ca..4d6f750 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: trader 7.4-pre1\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-04-14 14:02+1000\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" "PO-Revision-Date: 2012-03-27 08:02+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English\n" diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000000000000000000000000000000000000..005067bef8cf6d4b4673543ddf405480e623d760 GIT binary patch literal 31079 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 lIE6^`W5nM$\n" "Language-Team: Finnish \n" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..d73f9e20ddf53b5172b87595345eec93920658aa GIT binary patch literal 31730 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\n" "Language-Team: French \n" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a883730db45634bad955e2d528f266943b9f614e GIT binary patch literal 19048 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\n" "Language-Team: Croatian \n" diff --git a/po/ru.gmo b/po/ru.gmo index a81810bbf9871c36978466d221f0d8f393fb0b40..d97bf25fcd570aee4fe441b97fe2e708b61455c0 100644 GIT binary patch delta 8572 zcmai%2Ut~Cp1|+JhEGut8~qvuEPx^!lvof8YSdVwiH(T(u!B-;QJ;V)3K8{aOfx32 zWX$RWd7`LD%0xGl-6Z#!W{Q(Z)^C&9Y3}69COea|zyG-x&`f6be(!&O=bU@*DgSoP zyY*tgbF~59-*jnx(BOIpiA2t}HHPbEa zOspSd4#p_R&zR0l7P16NKP6Bmx(|lI=U_T)fSVcL_@2VEG;E?b`7n~{Wy0Yw7M8%) z@OjuDo`P}k11RtR0A)fEsHGQ7fzm!3-USO_JUr;MUv}C*f>Dfbd{04U7C|o&a43`y zWKPFG8#5!Ym{{9GgRFf$Ooqqc2>3pn07Lm&mNXB_QXX-58cIiR z!cOqFFctn84u|ph_~m+AXba5G9Ys_R-i7K$S(L-+RsAqwikyQ#u#`F zil)6?@3!4)0+bJnpu~%Uqv6Mp#TpUlH4To2NpKUyyv9i=9li$dgKdY|ww?o}zd|?` z?uSR2@cU5u+cW}yl8o^*1?lLIP(BD8X{$aSVn!nq%JU@-y$+v%vZ6XDK5-pNJbdds z?=?!NBx3}We&<1XZzGiN9*0qqF&Ze~XU0cReBggzdl<>`#aZH@1YR-}Q#|Cb7>W%m zp_t$hjDp9U=dU`v?(k0zTc_J8E*$ENk>E5;hBCkc7y}C&?sr)0@ESA?!}yECQ1mbL zAyAxbHk7E!aq7iRy$nkD9)zON7ob;WeuaYY8tef-h2oUoz-ZVm!~QT1cBg)iQ=bVX z?3P05a2*s)?Su0DOHd~Cwo|_W-*sVX*o*d8$Dx05hMVJT)dh~XO%Vr8+B2XelpKc@ zP$qa9N(Wb9I{X64zlxoeF?A0-Tr{1M>9q@!Xpo6K1ZBW7 zC?@!Y!`C4WZhQ%4U~{7VT?UM${va%ZTjB5ESMV0RG09G3Z%sCg3)DN@Ye&fyNIEgP zd8ZH}6v81|G4{Z8=!cS+x=giKG6D{wUI>XG;~1O|Z#ebg#8Nu-0x0kKU?RK;WrAIZ z&6#i*OoNq>IT_xo6sA)M;YQ>bi{U)@3}o`g-<1)387=P1O}@BtK6{RqXzu`EZJ3CYsNa)>gFgAV@_dZ?#9 zfZgF?I2uNxCNbRthdZG3TLWdB_u*pr1DwkEMmGAxAB-2_Aow>J2NSS^a2Cvfn;=Qj zxD3Tqe}&0#81`_x$oX)6Tf-<`fa=>2W{e^eS-8v&+nrFpe;SU1A46~3cBlb^mC!-_ z8av)kqNmNg@H*@Q#~0YU-GeZM`YJdcZiT1eYw!hFfG5jj+ z*m@)spV_w+{o^0T@6q3U9*jmENz|V#vpakPGB=}myB#H;!r|0sm6JT+Bd`We-(hRW zwG&6AJ`QHWH{so|8;zB43Oos~L+Ph<7XzkKXxL@j@OyZQ8E@WgxA)s?f3O0^@?O_{ z_DLrV4xygs@F*Ni{W_EZJM6dfNd^?3$c4k;2{;~p>O7D2D*J;;a4-+H!4&9o_yz1s zJ>r1v3*(^7d?m!x#&L+^j8kw7Jmb{Af~>>%7Rq}+IBav!?!P0H1$omc#8b$H32+aT z0WZOx@Fo=R{~m_HevjJkjfD}^*Fb5nf@0$n4qtcpUoeLDj)&|$A^~=$o(V%F{vV(q zGg%Hhz-kx_pMe0TQdMIM3M>@s0-c+YMMI;`T zx^szN%tUZ*;}t|guM;BIv&c#Hb*J8Ao}qLJk&7@gdaYE9>!Lu>6ueLund38y|A7CL2uQeToX`XP1da_1gxj#GMCeb_ms{Y6R{ z$WzJ{+#~EQO4E@u$XsLzBA$OmB?pgoO;u}yd-RiR=0zSvHXx^vUn73x8q#z%s58N# zVf(4#-bNV`j)>d+8}hok5gg-vj*?t2AX|{bNFK5VIfgV{H53|=(a2-SJIHWE!Z#C< zs|1mZ{O?lXl7J{crXcqqM7IwABk*4lE_uZ;mLZ3HuJ;sp%-sBf9M2N7DBoP1Ur><0-i)2*rjnDt&QoBn z$}cSR6q>mO`KxJJy(T+vqgl8tyTDWE`(OghnUGj(o&KK zBo9)7W1|972AP9W(~^g(#IZfbPtRWGS!GVmF4&lzm%q*&k)5-AN&1THoRvu{mwVPF z6=#ofPsz?(TFg=s@AqV{PBUi~7Zxth&ND|W%_~k{y&NWXzQ;`%GzS6Pj(Jg zrzXAM$7(eFC04D~=-+2GnARCSxNKeI!$x{5p}$(IPCYw0+4tV$BQ9U@l=d$5#ng~a zFIkP&C9BS~>Os9aIkk^UnA+d>?bHX`th8!P|8^PJd4vA->;5Y1yuVCOv&3I*GESX- zaMn6Y<2LIYoz?PPoz-B~$O{)4#Q1Dqw!kk+m|*8vjlf;3&(ay3O*j&<0j=84cE$)?=2k zp0W0twDP)jUTe8gO`JcdyW4t6FYv5h(>cB_^;el{&-`4MTYWu$a)>C3E@YT(^j2r8 zX$uDSHmzEJCFW}MZ!`Umh~2FVbOp|%u^p(XUL9MIsysIJV{OJ6|%hR&E`d zHO(GGEh_CAc$sg{$uL_M#;C&!!_}Ha?Y-81Q&z$(8gUcMaLHfBsxelADb^MvVKttJ z4`CgDmA``ZUofeh@$b?_t)fP4!A2?b&K}d$^YMv2d5sSJrLr~_#B$60dy;tLP^5N| z5`R^KTeP87CXRsHB$z5ID@?7+ic?Q!C3dGfrc$R}xTdK?xB6|?>{NTC^K>Pihwq9h zF3MuWz358M_%cr$MIF-EXw|vZs)ycazrRV@YV@L;k+$;BVv#*MO7K;Baxjh zO0%!Z&F;0>c49)L#YOyOEpJ~yd!kckxs}XHLdvH-;-VDAi7wHIqls}HJrS&Wp4dWJ z_jhky-!I9nu4fN)nJRGc!n=;}ef@17B8$DlHO&3RG3w;v1oiIX_<*bo_1)sZ0a?>j zQcgl^c~Q;J*@}~YlyfNc|L+RDRijheFT}&O^SrzyOntN@vX^!k`joU%Pf#Q>!Jn-e@qYEebEu66!>thGs(I8S|oTOIa9hGUBwZ62Q(htd4yjEDu2)Tf@9 z>Ho~T?-uXYX-a&3Sd*{Yp_u4)f>G?vc#iX{8M!ekZ9}X&m3!tk+vhI57IcIcoe=X^ zt1-)trQV_01g&=QdL8JvjZSG8STaPF9cN}%hV_(sc5Qd%uL|#yHBI|CtI@BxNo${M zk5Ma@uMBoO6L)N1qrO-^ZJ6~m5hZFYMTwFS7*bE10MsNV{X4~_+(@2nw83oL~L8f|plyQiE5T>c+lM_0+PSBa__L^Z26PBbwt|M%H$b z!X<`h4fYghXvqt8>gAQa?d+uUhT3~?j0#%SL4~av(k?4wYf&QEYUZlV-J9(w8LwHd z%AXyjTCENbW}fwKLV`FTHI$kvX?28}xO!w;JquIqUcE3*iY2{FlyXqgl*9omGw~OB zA~{Slj0(z2YQ<=3cwWAGJ}*jL$%}D|2AnPQPkFIk(J`h*BhAT5ha>uIieW4u-O^ld z_T|kQ8Bnx{-HAD^4YoZWj|a5)b$ve^QhPD4Sw)lEAAOB~_0z9adkUFyEI8Nre<#oNgsGRH<$vn$?J=exT0zJS~OxKGhQ zwZPNA72_yxQJ-We+fcQnWYW1_H;#+}$d0-y4yG+D8QWi?KHDAIMtg($tSBPhQE^Km z&`H%qdE`~@k{vFPp+56OB)6EAbyQ18N`R6=a3Jnt0ew2qy9i&`sio_pQ}|w-S`Yd6 zJrLAMZZ|g9SC+@j%Go+zy^=drUCwQ%{#?B5wzV%>7vBlf+~#R&L{gDzzy3b$5A)Y& zt4r%Mu~4)7HO(_w<|%PU#Iz(ZHGD%{tMMeyoDH+teI)Mn;Y1QkEqR*NtG73dbvJF2 z_+0eH?$M?g-tjQhbH}bp&YQ7uP^Vh4yY0bj5UP6PdoFFyXyTi%aW0cBhwVZ3QOOiy z^h#45-?TVHCU0-iPCTjs4_|d9sEEyB(V|2i^R?`JvZJshadR_s+HAL4zWE;Y^}}7_ zg?Q-+~q7)^HYyF%rWW-YcKMcb=++!ikzwFQoXkMUUl={B-MY5 zQc<�@JiF#1^XGZAoPx>$NpwummS5-$%D+NxxfH%RX?MiS6Wn`#DRMZ%xUTIUf+m zBr7)^0a${B-yVI?k!4H3owr>|BA#d4k^>bY$z?%v-t%R5J|Z`u+_G#Ogk zE!#GlP!mc9B@&9bc!GpvifE^K&*XgA&vq6GW!b*jw$GG=sw*YK)DI=m>JOgazAgG` z9+@!F2hrvp#XaPV*$!RGZmtSSC;J*pOI<(x_p)$%Pq%gt$vZXb(Dq^#Qa(mKS{}!F ze2%(rM@JP^9i9TnUM?i9~FE7r58gz@zm!aj-cL;{t@ zUWRoP^U2DzCrWy4e)x}jNHVPb;=y#zTI=f_JYPZ_HJ0%5$$p4!Pgq>Yd zjb2If{Mq^CABdfTbSg?<6N;W`HhqY*HGfKeBoEpDSL8IRqvs;}dw!b zt~M+7f+>H!!qr2SZPbiqv1)f^To*_8a-P#$zkiQ4>-oy6J`Hf0zMSeIuAVx}|J?uUQ+p%-@xvQ?8+u6Yxxj*$xK1@ru2;T&l{k8$ z>fxKa|E5cgIM7$+97t5v2l}b=2NvHMRb7K^`{azo3zPSf){ayIw9@_nX DlUd?2RyNG)F|8Y-#yqRIE+5u&1lu);^F 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 Djsq5* diff --git a/po/ru.po b/po/ru.po index 76bb432..2f4b0ff 100644 --- a/po/ru.po +++ b/po/ru.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: trader 7.4-pre1\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-04-14 14:02+1000\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" "PO-Revision-Date: 2012-03-30 07:15+1100\n" "Last-Translator: Pavel Maryanov \n" "Language-Team: Russian \n" diff --git a/po/trader.pot b/po/trader.pot index e4b197c..b887070 100644 --- a/po/trader.pot +++ b/po/trader.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: trader 7.3\n" +"Project-Id-Version: trader 7.4-pre2\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2012-03-16 13:23+1100\n" +"POT-Creation-Date: 2012-04-14 14:31+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,37 +129,38 @@ msgstr "" #. TRANSLATORS: The eight company names do NOT have to be literal #. translations of the English names. In fact, if possible, the #. names should start with successive letters of your alphabet (in -#. English, for example, "A" to "H"). No company name should be more -#. than 24 characters (column positions, to be precise) long. -#: src/globals.c:46 +#. English, for example, "A" to "H"), and, ideally, be related to +#. constellations or stars in our galaxy. No company name should be +#. more than 24 characters (column positions, to be precise) long. +#: src/globals.c:47 msgid "Altair Starways" msgstr "" -#: src/globals.c:47 +#: src/globals.c:48 msgid "Betelgeuse, Ltd" msgstr "" -#: src/globals.c:48 +#: src/globals.c:49 msgid "Capella Freight Co" msgstr "" -#: src/globals.c:49 +#: src/globals.c:50 msgid "Denebola Shippers" msgstr "" -#: src/globals.c:50 +#: src/globals.c:51 msgid "Eridani Expediters" msgstr "" -#: src/globals.c:51 +#: src/globals.c:52 msgid "Fornax Express" msgstr "" -#: src/globals.c:52 +#: src/globals.c:53 msgid "Gemeni Inc" msgstr "" -#: src/globals.c:53 +#: src/globals.c:54 msgid "Hercules and Co" msgstr "" @@ -171,7 +172,7 @@ msgstr "" #. possible, these should be successive letters in your alphabet (in #. English, "A" to "H"). Do NOT use digits or control characters. #. Do not change or translate anything after the vertical line. -#: src/globals.c:67 +#: src/globals.c:68 msgid "ABCDEFGH|input|Companies" msgstr "" @@ -182,7 +183,7 @@ msgstr "" #. should be successive letters in your alphabet. Do NOT use digits #. or control characters. Do not change or translate anything after #. the vertical line. -#: src/globals.c:79 +#: src/globals.c:80 msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves" msgstr "" @@ -193,7 +194,7 @@ msgstr "" #. the remaining for the eight companies. Do not change or translate #. anything after the vertical line. Double-width characters ARE #. handled correctly. -#: src/globals.c:91 +#: src/globals.c:92 msgid ".+*ABCDEFGH|output|MapVals" msgstr "" @@ -203,7 +204,7 @@ msgstr "" #. to the first character in the "input|GameMoves" string, and so on. #. Do not change or translate anything after the vertical line. #. Double-width characters ARE handled correctly. -#: src/globals.c:102 +#: src/globals.c:103 msgid "abcdefghijklmnopqrst|output|GameMoves" msgstr "" @@ -212,35 +213,35 @@ msgstr "" #. on the gender of the player, it may be simpler to list cardinal #. numbers instead (eg, "No. 1"). Up to five characters are allowed #. (see ORDINAL_COLS in src/intf.h). -#: src/globals.c:113 +#: src/globals.c:114 msgid "1st" msgstr "" -#: src/globals.c:114 +#: src/globals.c:115 msgid "2nd" msgstr "" -#: src/globals.c:115 +#: src/globals.c:116 msgid "3rd" msgstr "" -#: src/globals.c:116 +#: src/globals.c:117 msgid "4th" msgstr "" -#: src/globals.c:117 +#: src/globals.c:118 msgid "5th" msgstr "" -#: src/globals.c:118 +#: src/globals.c:119 msgid "6th" msgstr "" -#: src/globals.c:119 +#: src/globals.c:120 msgid "7th" msgstr "" -#: src/globals.c:120 +#: src/globals.c:121 msgid "8th" msgstr "" @@ -250,6 +251,7 @@ msgid "Loading game %d... " msgstr "" #: src/game.c:226 +#, c-format msgid " First Player " msgstr "" @@ -276,19 +278,23 @@ msgctxt "input|ContinueGame" msgid "Cc" msgstr "" -#: src/game.c:341 src/move.c:386 +#: src/game.c:341 src/move.c:399 +#, c-format msgid "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " msgstr "" #: src/game.c:406 +#, c-format msgid "Please enter your name: " msgstr "" #: src/game.c:425 +#, c-format msgid "Do you need any instructions? [^{Y^}/^{N^}] " msgstr "" #: src/game.c:443 +#, c-format msgid " Enter Player Names " msgstr "" @@ -298,10 +304,12 @@ msgid "Player %d: " msgstr "" #: src/game.c:529 +#, c-format msgid "Does any player need instructions? [^{Y^}/^{N^}] " msgstr "" #: src/game.c:563 +#, c-format msgid " Game Over " msgstr "" @@ -313,6 +321,7 @@ msgstr[0] "" msgstr[1] "" #: src/game.c:575 +#, c-format msgid " Total Value " msgstr "" @@ -336,12 +345,14 @@ msgid "" msgstr "" #: src/game.c:597 +#, c-format msgid " Game Winner " msgstr "" #. TRANSLATORS: "Player" is used as a column title in a #. table containing all player names. -#: src/game.c:606 src/move.c:855 +#: src/game.c:606 src/move.c:868 +#, c-format msgctxt "subtitle" msgid "Player" msgstr "" @@ -366,26 +377,31 @@ msgid " Turn: ^{%d^} " msgstr "" #: src/game.c:649 +#, c-format msgid " ^[*** Last Turn ***^] " msgstr "" #: src/game.c:693 +#, c-format msgid " Stock Portfolio " msgstr "" #. TRANSLATORS: The current player is bankrupt (has no #. shares or cash, ie, whose total value is zero) #: src/game.c:702 +#, c-format msgid "^[* * * B A N K R U P T * * *^]" msgstr "" #: src/game.c:717 src/exch.c:112 +#, c-format msgid "No companies on the map" msgstr "" #. TRANSLATORS: "Company" is a two-line column label in #. a table containing a list of companies. #: src/game.c:725 src/exch.c:120 +#, c-format msgctxt "subtitle" msgid "" "\n" @@ -411,6 +427,7 @@ msgstr "" #. maximum column width is 10 characters (see #. STOCK_OWNED_COLS in src/intf.h). #: src/game.c:739 +#, c-format msgctxt "subtitle" msgid "" "Holdings\n" @@ -453,110 +470,138 @@ msgstr "" #. Note that some of these labels are used for both the #. Player Status window and the Trading Bank window. #: src/game.c:796 +#, c-format msgctxt "label" msgid "Total value: " msgstr "" -#: src/game.c:800 src/exch.c:322 +#: src/game.c:800 src/exch.c:324 +#, c-format msgctxt "label" msgid "Current cash: " msgstr "" -#: src/game.c:807 src/exch.c:330 +#: src/game.c:807 src/exch.c:332 +#, c-format msgctxt "label" msgid "Current debt: " msgstr "" -#: src/game.c:813 src/exch.c:335 +#: src/game.c:813 src/exch.c:337 +#, c-format msgctxt "label" msgid "Interest rate: " msgstr "" -#: src/move.c:239 src/exch.c:182 +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and +#. ). The sequences "^{" and "^}" change the +#. character rendition (attributes) and take up no space. +#: src/move.c:243 src/exch.c:182 +#, c-format msgid "^{<1>^} Display stock portfolio" msgstr "" -#: src/move.c:241 +#: src/move.c:245 +#, c-format msgid "^{<2>^} Declare bankruptcy" msgstr "" -#: src/move.c:243 +#: src/move.c:247 +#, c-format msgid "^{<3>^} Save and end the game" msgstr "" -#: src/move.c:245 -msgid "^{^} Quit the game" -msgstr "" - #: src/move.c:249 #, c-format +msgid "^{^} Quit the game" +msgstr "" + +#. TRANSLATORS: The maximum column width is 38 characters, +#. including the trailing space. The sequences "^{", "^}", +#. "^[" and "^]" do not take up any room. "%lc" takes up +#. either one or two columns, depending on the appropriate +#. "output|GameMoves" string in the current PO file. +#: src/move.c:258 +#, c-format msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " msgstr "" -#. TRANSLATORS: "Move" refers to the choice of -#. moves made by the current player (out of a -#. selection of 20 moves). -#: src/move.c:282 +#. TRANSLATORS: A game usually consists of +#. DEFAULT_MAX_TURN (50) turns. On each +#. turn, the computer randomly selects +#. NUMBER_MOVES (20) moves (positions on the +#. map); each player selects just one move +#. per turn. "Move" refers to the player's +#. choice. +#: src/move.c:295 #, c-format msgid "Move ^{%lc^}" msgstr "" -#: src/move.c:303 +#: src/move.c:316 +#, c-format msgid "^{<2>^} (Declare bankruptcy)" msgstr "" -#: src/move.c:312 +#: src/move.c:325 +#, c-format msgid "^{<3>^} (Save and end the game)" msgstr "" -#: src/move.c:333 +#: src/move.c:346 +#, c-format msgid "^{^} (Quit the game)" msgstr "" -#: src/move.c:348 +#: src/move.c:361 +#, c-format msgid "Are you sure? [^{Y^}/^{N^}] " msgstr "" -#: src/move.c:365 src/move.c:443 +#: src/move.c:378 src/move.c:456 #, c-format msgid "Saving game %d... " msgstr "" -#: src/move.c:673 src/move.c:681 src/move.c:1026 src/move.c:1062 +#: src/move.c:686 src/move.c:694 src/move.c:1052 src/move.c:1089 +#, c-format msgid " Bankruptcy Court " msgstr "" #. TRANSLATORS: %ls is the player's name. -#: src/move.c:675 +#: src/move.c:688 #, c-format msgid "%ls has been declared bankrupt by the Interstellar Trading Bank." msgstr "" #. TRANSLATORS: %ls is the player's name. -#: src/move.c:683 +#: src/move.c:696 #, c-format msgid "%ls has declared bankruptcy." msgstr "" -#: src/move.c:751 +#: src/move.c:764 +#, c-format msgid " New Company " msgstr "" -#: src/move.c:752 +#: src/move.c:765 #, c-format msgid "" "A new company has been formed!\n" "Its name is ^{%ls^}." msgstr "" -#: src/move.c:811 +#: src/move.c:824 #, c-format msgid "" "^{%ls^} has just merged into ^{%ls^}.\n" "Please note the following transactions:\n" msgstr "" -#: src/move.c:817 +#: src/move.c:830 +#, c-format msgid " Company Merger " msgstr "" @@ -567,14 +612,16 @@ msgstr "" #. the same length and must contain a trailing space for the #. display routines to work correctly. The maximum length of #. each label is 36 characters. -#: src/move.c:837 +#: src/move.c:850 +#, c-format msgctxt "label" msgid "Old stock: " msgstr "" #. TRANSLATORS: "New stock" refers to the company that has #. absorbed the other due to a merger. -#: src/move.c:848 +#: src/move.c:861 +#, c-format msgctxt "label" msgid "New Stock: " msgstr "" @@ -584,7 +631,7 @@ msgstr "" #. symbol in the current locale. The maximum column width is #. 12 characters INCLUDING the currency symbol (see #. MERGE_BONUS_COLS in src/intf.h). -#: src/move.c:862 +#: src/move.c:875 #, c-format msgctxt "subtitle" msgid "Bonus (%ls)" @@ -593,7 +640,8 @@ msgstr "" #. TRANSLATORS: "Total" refers to the total number of shares in #. the new company after a merger. The maximum column width is #. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h). -#: src/move.c:867 +#: src/move.c:880 +#, c-format msgctxt "subtitle" msgid "Total" msgstr "" @@ -602,7 +650,8 @@ msgstr "" #. player receives in the surviving company after a merger. #. The maximum column width is 8 characters (see #. MERGE_NEW_STOCK_COLS in src/intf.h). -#: src/move.c:874 +#: src/move.c:887 +#, c-format msgctxt "subtitle" msgid "New" msgstr "" @@ -610,13 +659,14 @@ msgstr "" #. TRANSLATORS: "Old" refers to how many shares each player had #. in the company ceasing existence. The maximum column width #. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h). -#: src/move.c:880 +#: src/move.c:893 +#, c-format msgctxt "subtitle" msgid "Old" msgstr "" #. TRANSLATORS: %ls represents the company name. -#: src/move.c:1028 +#: src/move.c:1054 #, c-format msgid "" "%ls has been declared bankrupt by the Interstellar Trading Bank.\n" @@ -625,7 +675,7 @@ msgid "" msgstr "" #. TRANSLATORS: %ls represents the company name. -#: src/move.c:1051 +#: src/move.c:1078 #, c-format msgid "" "%ls has been declared bankrupt by the Interstellar Trading Bank.\n" @@ -641,7 +691,8 @@ msgstr "" #. least one trailing space for the display #. routines to work correctly. The maximum #. length is 28 characters. -#: src/move.c:1079 +#: src/move.c:1106 +#, c-format msgctxt "label" msgid "Amount paid per share: " msgstr "" @@ -650,16 +701,25 @@ msgstr "" #. share price of a company before it was forced #. into bankruptcy by the Bank. This label must be #. the same width as "Amount paid per share". -#: src/move.c:1087 +#: src/move.c:1114 +#, c-format msgctxt "label" msgid "Old share value: " msgstr "" -#: src/move.c:1180 src/exch.c:319 +#: src/move.c:1197 src/move.c:1232 src/exch.c:321 +#, c-format msgid " Interstellar Trading Bank " msgstr "" -#: src/move.c:1182 +#: src/move.c:1199 +#, c-format +msgid "" +"You were forced to borrow %N\n" +"to cover losses from company shares." +msgstr "" + +#: src/move.c:1234 #, c-format msgid "" "Your debt has amounted to %N!\n" @@ -667,6 +727,7 @@ msgid "" msgstr "" #: src/exch.c:98 +#, c-format msgid " Interstellar Stock Exchange " msgstr "" @@ -676,6 +737,7 @@ msgstr "" #. maximum column width is 10 characters (see #. STOCK_LEFT_COLS in src/intf.h). #: src/exch.c:127 +#, c-format msgctxt "subtitle" msgid "" "Shares\n" @@ -688,25 +750,32 @@ msgstr "" #. given company. The maximum column width is 10 #. characters (see STOCK_ISSUED_COLS in src/intf.h). #: src/exch.c:134 +#, c-format msgctxt "subtitle" msgid "" "Shares\n" "issued" msgstr "" -#: src/exch.c:184 +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and <4>). +#: src/exch.c:186 +#, c-format msgid "^{<2>^} Display galaxy map" msgstr "" -#: src/exch.c:186 +#: src/exch.c:188 +#, c-format msgid "^{<3>^} Visit the Trading Bank" msgstr "" -#: src/exch.c:188 +#: src/exch.c:190 +#, c-format msgid "^{<4>^} Exit the Stock Exchange" msgstr "" -#: src/exch.c:191 +#: src/exch.c:193 +#, c-format msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " msgstr "" @@ -719,7 +788,8 @@ msgstr "" #. #. Note that some of these labels are used for both the Player #. Status window and the Trading Bank window. -#: src/exch.c:349 +#: src/exch.c:351 +#, c-format msgctxt "label" msgid "Credit limit: " msgstr "" @@ -728,56 +798,68 @@ msgstr "" #. from the Bank" menu options must all be the same length #. (ie, padded with trailing spaces as required). The maximum #. length is 72 characters. -#: src/exch.c:364 +#: src/exch.c:366 +#, c-format msgid "^{<1>^} Borrow money " msgstr "" -#: src/exch.c:366 +#: src/exch.c:368 +#, c-format msgid "^{<2>^} Repay debt " msgstr "" -#: src/exch.c:368 +#: src/exch.c:370 +#, c-format msgid "^{<3>^} Exit from the Bank" msgstr "" -#: src/exch.c:371 +#: src/exch.c:373 +#, c-format msgid "Enter selection [^{1^}-^{3^}]: " msgstr "" -#: src/exch.c:424 +#: src/exch.c:426 +#, c-format msgid " Insufficient Credit Limit " msgstr "" -#: src/exch.c:425 +#: src/exch.c:427 +#, c-format msgid "The Bank will not lend you any more money." msgstr "" -#: src/exch.c:445 +#: src/exch.c:447 +#, c-format msgid "How much do you wish to borrow? " msgstr "" -#: src/exch.c:477 +#: src/exch.c:479 +#, c-format msgid " No Debt " msgstr "" -#: src/exch.c:478 +#: src/exch.c:480 +#, c-format msgid "You have no debt to repay." msgstr "" -#: src/exch.c:482 +#: src/exch.c:484 +#, c-format msgid " No Cash " msgstr "" -#: src/exch.c:483 +#: src/exch.c:485 +#, c-format msgid "You have no cash with which to repay the debt!" msgstr "" -#: src/exch.c:503 +#: src/exch.c:505 +#, c-format msgid "How much do you wish to repay? " msgstr "" #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:579 +#: src/exch.c:581 #, c-format msgid " Stock Transaction in %ls " msgstr "" @@ -790,27 +872,31 @@ msgstr "" #. and must have at least one trailing space for the output #. routines to work correctly. The maximum length of each #. label is 22 characters. -#: src/exch.c:590 +#: src/exch.c:592 +#, c-format msgctxt "label|Stock A" msgid "Shares issued: " msgstr "" #. TRANSLATORS: "Shares left" is the number of shares that are #. left to be purchased in the current company. -#: src/exch.c:598 +#: src/exch.c:600 +#, c-format msgctxt "label|Stock A" msgid "Shares left: " msgstr "" #. TRANSLATORS: "Price per share" is the cost of each share in #. the current company. -#: src/exch.c:605 +#: src/exch.c:607 +#, c-format msgctxt "label|Stock A" msgid "Price per share: " msgstr "" #. TRANSLATORS: "Return" is the share return as a percentage. -#: src/exch.c:611 +#: src/exch.c:613 +#, c-format msgctxt "label|Stock A" msgid "Return: " msgstr "" @@ -823,109 +909,129 @@ msgstr "" #. least one trailing space for the display routines to work #. correctly. The maximum length of each label is 18 #. characters. -#: src/exch.c:624 +#: src/exch.c:626 +#, c-format msgctxt "label|Stock B" msgid "Current holdings: " msgstr "" #. TRANSLATORS: "Percentage owned" is the current player's #. percentage ownership in this particular company. -#: src/exch.c:631 +#: src/exch.c:633 +#, c-format msgctxt "label|Stock B" msgid "Percentage owned: " msgstr "" -#: src/exch.c:636 +#: src/exch.c:638 +#, c-format msgctxt "label|Stock B" msgid "Current cash: " msgstr "" -#: src/exch.c:647 +#. TRANSLATORS: Each label may be up to 35 characters wide +#. (for <1> and <2>) or 36 characters wide (for <3> and <4>). +#: src/exch.c:651 +#, c-format msgid "^{<1>^} Buy stock from company" msgstr "" -#: src/exch.c:649 +#: src/exch.c:653 +#, c-format msgid "^{<2>^} Sell stock back to company" msgstr "" -#: src/exch.c:651 +#: src/exch.c:655 +#, c-format msgid "^{<3>^} Bid company to issue more shares" msgstr "" -#: src/exch.c:653 +#: src/exch.c:657 +#, c-format msgid "^{<4>^} Exit to the Stock Exchange" msgstr "" -#: src/exch.c:656 +#: src/exch.c:660 +#, c-format msgid "Enter selection [^{1^}-^{4^}]: " msgstr "" -#: src/exch.c:712 +#: src/exch.c:716 +#, c-format msgid " No Shares Available " msgstr "" -#: src/exch.c:713 +#: src/exch.c:717 +#, c-format msgid "No more shares are available for purchase." msgstr "" -#: src/exch.c:717 +#: src/exch.c:721 +#, c-format msgid " Insufficient Cash " msgstr "" -#: src/exch.c:718 +#: src/exch.c:722 +#, c-format msgid "" "You do not have enough cash\n" "to purchase additional shares." msgstr "" -#: src/exch.c:729 +#: src/exch.c:733 #, c-format msgid "You can purchase ^{one^} share." msgid_plural "You can purchase up to ^{%'ld^} shares." msgstr[0] "" msgstr[1] "" -#: src/exch.c:735 +#: src/exch.c:739 +#, c-format msgid "How many shares do you wish to purchase? " msgstr "" -#: src/exch.c:756 +#: src/exch.c:760 +#, c-format msgid " No Shares " msgstr "" -#: src/exch.c:757 +#: src/exch.c:761 +#, c-format msgid "You do not have any shares to sell." msgstr "" -#: src/exch.c:764 +#: src/exch.c:768 #, c-format msgid "You can sell ^{one^} share." msgid_plural "You can sell up to ^{%'ld^} shares." msgstr[0] "" msgstr[1] "" -#: src/exch.c:770 +#: src/exch.c:774 +#, c-format msgid "How many shares do you wish to sell? " msgstr "" -#: src/exch.c:798 +#: src/exch.c:802 +#, c-format msgid " No Shares Issued " msgstr "" #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:800 +#: src/exch.c:804 #, c-format msgid "" "%ls has refused\n" "to issue more shares." msgstr "" -#: src/exch.c:805 +#: src/exch.c:809 +#, c-format msgid " Shares Issued " msgstr "" #. TRANSLATORS: %ls represents the company name. -#: src/exch.c:807 +#: src/exch.c:811 #, c-format msgid "" "%ls has issued\n" @@ -967,6 +1073,7 @@ msgid "%s: could not convert string" msgstr "" #: src/fileio.c:255 +#, c-format msgid " Game Not Found " msgstr "" @@ -976,6 +1083,7 @@ msgid "Game %d has not been saved to disk." msgstr "" #: src/fileio.c:263 +#, c-format msgid " Game Not Loaded " msgstr "" @@ -1023,6 +1131,7 @@ msgid "%s: illegal field on line %d" msgstr "" #: src/fileio.c:466 src/fileio.c:487 +#, c-format msgid " Game Not Saved " msgstr "" @@ -1102,7 +1211,17 @@ msgstr "" #. that would translate to just one character (or maybe two) in the #. output text). #. -#: src/help.c:103 +#. Formatting the help text is probably the most complicated and tedious +#. part of translating Star Traders. The author and maintainer of this +#. game is more than happy to help you with this task: if you are able +#. to provide a translation, even if it is not formatted correctly, the +#. maintainer will perform the necessary adjustments for word-wrapping +#. and justification. In addition, remember that you have up to 10 +#. pages in which to display your help text: the translation does not +#. need to correspond exactly to the original text. This text will not +#. be changing any time soon! +#. +#: src/help.c:113 msgid "" "^BStar Traders^N is a simple game of interstellar trading. The object of the\n" "game is to amass the greatest amount of wealth possible. This is done by\n" @@ -1122,7 +1241,7 @@ msgid "" " ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" msgstr "" -#: src/help.c:122 +#: src/help.c:132 msgid "" "The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n" "on the map. To select any of the highlighted positions, press that letter.\n" @@ -1141,7 +1260,7 @@ msgid "" "selected on the above map, a ^o ~+ ^N would be placed at that position.\n" msgstr "" -#: src/help.c:140 +#: src/help.c:150 msgid "" "If, on the other hand, a position next to a star (or another outpost) is\n" "selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n" @@ -1160,7 +1279,7 @@ msgid "" " ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" msgstr "" -#: src/help.c:158 +#: src/help.c:168 msgid "" "Selecting positions next to stars increases the value of your stock by about\n" "five times as much as an extension not next to a star. Thus move ^k~6^N should\n" @@ -1179,7 +1298,7 @@ msgid "" "than it would for outposts not next to stars.\n" msgstr "" -#: src/help.c:176 +#: src/help.c:186 msgid "" "If two companies are separated on the map by only one square, then they can\n" "be ^Bmerged^N into one company by selecting that position (if available). For\n" @@ -1199,7 +1318,7 @@ msgid "" "is also paid, proportional to the percentage of the old company owned.\n" msgstr "" -#: src/help.c:195 +#: src/help.c:205 msgid "" "Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n" "you may purchase shares, sell them, borrow from the Trading Bank or repay\n" @@ -1219,27 +1338,32 @@ msgid "" "value of cash, stock and debt). ^HGood luck^N and may the best person win!\n" msgstr "" -#: src/help.c:215 -msgid "@ Help text, page 7" +#: src/help.c:225 +msgid "@ Help text, page 7\n" msgstr "" -#: src/help.c:216 -msgid "@ Help text, page 8" +#: src/help.c:226 +msgid "@ Help text, page 8\n" msgstr "" -#: src/help.c:217 -msgid "@ Help text, page 9" +#: src/help.c:227 +msgid "@ Help text, page 9\n" msgstr "" -#: src/help.c:218 -msgid "@ Help text, page 10" +#: src/help.c:228 +msgid "@ Help text, page 10\n" msgstr "" -#: src/help.c:270 +#: src/help.c:280 +#, c-format msgid " How to Play " msgstr "" -#: src/help.c:272 +#. TRANSLATORS: The first %d is the current page number, +#. the second is the number of pages your help text takes +#. (6, in English). You can replace the second %d with a +#. fixed word, if you like. +#: src/help.c:286 #, c-format msgid "Page %d of %d" msgstr "" @@ -1247,7 +1371,8 @@ msgstr "" #. TRANSLATORS: The reason the user is not asked "Press any #. key to continue" is historical: many, many people used to #. ask "where is the key?" :-) -#: src/help.c:473 src/intf.c:3035 +#: src/help.c:487 src/intf.c:3035 +#, c-format msgid "[ Press to continue ] " msgstr "" @@ -1257,7 +1382,8 @@ msgstr "" #. , and almost any other key instead of #. (other than , , , , #. or <\>). -#: src/help.c:480 +#: src/help.c:494 +#, c-format msgid "[ Press to continue or for the previous page ] " msgstr "" @@ -1277,10 +1403,12 @@ msgid "terminal size is too small (%d x %d required)" msgstr "" #: src/intf.c:610 +#, c-format msgid "Star Traders" msgstr "" #: src/intf.c:1265 +#, c-format msgid "mkchstr_conv: NUL" msgstr "" @@ -1341,6 +1469,7 @@ msgid ": " msgstr "" #: src/utils.c:238 +#, c-format msgid "out of memory" msgstr "" @@ -1350,6 +1479,7 @@ msgid "xmbstowcs: `%s'" msgstr "" #: src/utils.c:611 +#, c-format msgid "xwcrtomb: NUL" msgstr "" diff --git a/src/Makefile.in b/src/Makefile.in index 1561cf8..55bf820 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,23 @@ # along with this program. If not, see http://www.gnu.org/licenses/. VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -128,6 +145,11 @@ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(trader_SOURCES) DIST_SOURCES = $(trader_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -223,7 +245,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ @@ -238,6 +259,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -709,6 +731,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -767,6 +790,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ @@ -921,8 +945,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \