diff options
Diffstat (limited to 'gnu/usr.bin')
84 files changed, 31868 insertions, 0 deletions
diff --git a/gnu/usr.bin/texinfo/COPYING.DOC b/gnu/usr.bin/texinfo/COPYING.DOC new file mode 100644 index 00000000000..b42936beb35 --- /dev/null +++ b/gnu/usr.bin/texinfo/COPYING.DOC @@ -0,0 +1,355 @@ + GNU Free Documentation License + Version 1.1, March 2000 + + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +written document "free" in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The "Document", below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as "you". + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML designed for human modification. Opaque formats include +PostScript, PDF, proprietary formats that can be read and edited only +by proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML produced by some word processors for output +purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has less than five). +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section entitled "History", and its title, and add to + it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. In any section entitled "Acknowledgements" or "Dedications", + preserve the section's title, and preserve in the section all the + substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section as "Endorsements" + or to conflict in title with any Invariant Section. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections entitled "History" +in the various original documents, forming one section entitled +"History"; likewise combine any sections entitled "Acknowledgements", +and any sections entitled "Dedications". You must delete all sections +entitled "Endorsements." + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an "aggregate", and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write "no Front-Cover Texts" instead of +"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/gnu/usr.bin/texinfo/config.rpath b/gnu/usr.bin/texinfo/config.rpath new file mode 100644 index 00000000000..5ead7586a7c --- /dev/null +++ b/gnu/usr.bin/texinfo/config.rpath @@ -0,0 +1,513 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2002 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shlibext= + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix3* | aix4* | aix5*) + wl='-Wl,' + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6*) + wl='-Wl,' + ;; + linux*) + echo '__INTEL_COMPILER' > conftest.$ac_ext + if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null + then + : + else + # Intel icc + wl='-Qoption,ld,' + fi + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + if test "x$host_vendor" = xsni; then + wl='-LD' + else + wl='-Wl,' + fi + ;; + esac +fi + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX, the GNU linker is very broken + ld_shlibs=no + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + ;; + solaris* | sysv5*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + fi + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=yes + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9* | hpux10* | hpux11*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_minus_L=yes # Not in the search PATH, but as the default + # location of the library. + ;; + irix5* | irix6*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + sco3.2v5*) + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + if test "x$host_vendor" = xsno; then + hardcode_direct=yes # is this really true??? + else + hardcode_direct=no # Motorola manual says yes, but my tests say they lie + fi + ;; + sysv4.3*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5uw7* | unixware7*) + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +libname_spec='lib$name' +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +case "$host_os" in + aix3*) + shlibext=so + ;; + aix4* | aix5*) + shlibext=so + ;; + amigaos*) + shlibext=ixlibrary + ;; + beos*) + shlibext=so + ;; + bsdi4*) + shlibext=so + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + ;; + cygwin* | mingw* | pw32*) + case $GCC,$host_os in + yes,cygwin*) + shlibext=dll.a + ;; + yes,mingw*) + shlibext=dll + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` + ;; + yes,pw32*) + shlibext=dll + ;; + *) + shlibext=dll + ;; + esac + ;; + darwin* | rhapsody*) + shlibext=dylib + ;; + freebsd1*) + ;; + freebsd*) + shlibext=so + ;; + gnu*) + shlibext=so + ;; + hpux9* | hpux10* | hpux11*) + shlibext=sl + ;; + irix5* | irix6*) + shlibext=so + case "$host_os" in + irix5*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 ") libsuff= shlibsuff= ;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + ;; + linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) + ;; + linux-gnu*) + shlibext=so + ;; + netbsd*) + shlibext=so + ;; + newsos6) + shlibext=so + ;; + openbsd*) + shlibext=so + ;; + os2*) + libname_spec='$name' + shlibext=dll + ;; + osf3* | osf4* | osf5*) + shlibext=so + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + sco3.2v5*) + shlibext=so + ;; + solaris*) + shlibext=so + ;; + sunos4*) + shlibext=so + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + shlibext=so + case "$host_vendor" in + motorola) + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + uts4*) + shlibext=so + ;; + dgux*) + shlibext=so + ;; + sysv4*MP*) + if test -d /usr/nec; then + shlibext=so + fi + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF + +# How to pass a linker flag through the compiler. +wl="$escaped_wl" + +# Static library suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally "so"). +shlibext="$shlibext" + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="$hardcode_libdir_separator" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="$hardcode_direct" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="$hardcode_minus_L" + +# Compile-time system search path for libraries +sys_lib_search_path_spec="$escaped_sys_lib_search_path_spec" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="$escaped_sys_lib_dlsearch_path_spec" + +EOF diff --git a/gnu/usr.bin/texinfo/configure.ac b/gnu/usr.bin/texinfo/configure.ac new file mode 100644 index 00000000000..6debb26e106 --- /dev/null +++ b/gnu/usr.bin/texinfo/configure.ac @@ -0,0 +1,134 @@ +dnl Process this file with autoconf to produce a configure script. +dnl $Id: configure.ac,v 1.1.1.1 2002/06/10 13:20:14 espie Exp $ +dnl +AC_PREREQ(2.52)dnl Minimum Autoconf version required. +dnl +AC_INIT([GNU Texinfo], [4.2]) +AC_CONFIG_SRCDIR([makeinfo/makeinfo.c]) +AM_CONFIG_HEADER(config.h:config.in)dnl Keep filename to 8.3 for MS-DOS. +AM_INIT_AUTOMAKE +dnl +AM_CONDITIONAL(TEXINFO_MAINT, test -n "$TEXINFO_MAINT") + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_GCC_TRADITIONAL +AC_PROG_INSTALL +AC_PROG_RANLIB + +AC_ISC_POSIX +AC_MINIX + +# Needed on sysV68 for sigblock, sigsetmask. But check for it in libc first. +AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock)) + +dnl Checks for header files. +dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses. +if test "x$termlib" = xncurses; then + dnl Use AC_CHECK_HEADERS so the HAVE_*_H symbol gets defined. + AC_CHECK_HEADERS(ncurses/termcap.h) +fi +AC_HEADER_STAT +AC_HEADER_STDC +AC_CHECK_HEADERS(fcntl.h io.h limits.h pwd.h string.h strings.h \ + termcap.h termio.h termios.h unistd.h \ + sys/fcntl.h sys/file.h sys/ptem.h sys/time.h sys/ttold.h sys/wait.h) +AC_SYS_POSIX_TERMIOS +AC_HEADER_TIOCGWINSZ + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_TYPE_OFF_T +AC_TYPE_SIGNAL +AC_C_CONST +AC_STRUCT_TM + +dnl Checks for function declarations. +txi_CHECK_DECLS + +dnl Checks for library functions. +AC_FUNC_ALLOCA +AC_FUNC_STRCOLL +AC_FUNC_VPRINTF +dnl in theory only pre-sysvr3 systems needed this and it's not likely +dnl that anyone compiling new texinfo still has such a thing? we'll see. +dnl AC_FUNC_SETVBUF_REVERSED +AC_CHECK_FUNCS(setvbuf getcwd memset bzero strchr sigprocmask sigsetmask) +dnl strerror, xmalloc, xrealloc, probably others should be added. +AC_REPLACE_FUNCS(memcpy memmove strdup strcasecmp strerror strncasecmp) + +dnl We want to recognize djgpp to avoid the useless warning about no +dnl term library. +AC_CANONICAL_BUILD + +# Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but +# rather ncurses. So we check for it. +TERMLIBS= +# Check for termlib before termcap because Solaris termcap needs libucb. +TERMLIB_VARIANTS="ncurses curses termlib termcap terminfo" +for termlib in ${TERMLIB_VARIANTS}; do + AC_CHECK_LIB(${termlib}, tgetent, + [TERMLIBS="${TERMLIBS} -l${termlib}"; break]) +done +# don't bother warning on djgpp, it doesn't have a term library, it +# ports each termcap-needing program separately according to its needs. +if test -z "$TERMLIBS" && echo "$build" | grep -v djgpp >/dev/null; then + AC_MSG_WARN([probably need a terminal library, one of: ${TERMLIB_VARIANTS}]) +fi + +dnl Checks for variables. +# HP-UX 9 (at least) needs -lncurses which defines termcap variables PC etc. +AC_MSG_CHECKING(for library with termcap variables) +AC_CACHE_VAL(ac_cv_var_ospeed, +oldLIBS=$LIBS +for trylib in $termlib ${TERMLIB_VARIANTS}; do + if test "x$trylib" != "x$termlib"; then + LIBS="$oldLIBS -l$termlib -l$trylib" + else + LIBS="$oldLIBS -l$termlib" + fi + AC_TRY_LINK(, +#ifdef HAVE_NCURSES_TERMCAP_H +#include <ncurses/termcap.h> +#else +#ifdef HAVE_TERMCAP_H +#include <termcap.h> +#else +#undef PC +char *BC; +char **UP; +char PC; +short ospeed; +#endif +#endif +/* Make sure all variables actually exist. AIX 4.3 has ospeed but no BC. + --Andreas Ley <andy@rz.uni-karlsruhe.de>, 24 Aug 2000. */ +BC++; +UP++ +PC++; +return ospeed != 0; +, ac_cv_var_ospeed=$trylib; break) +done +LIBS=$oldLIBS +) +AC_MSG_RESULT($ac_cv_var_ospeed) +if test -n "$ac_cv_var_ospeed" \ + && test "x$termlib" != "x$ac_cv_var_ospeed"; then + TERMLIBS="${TERMLIBS} -l${ac_cv_var_ospeed}" +fi +AC_SUBST(TERMLIBS)dnl + +dnl i18n support. +AM_GNU_GETTEXT() + +AC_CONFIG_FILES([Makefile \ + doc/Makefile \ + info/Makefile \ + intl/Makefile \ + lib/Makefile \ + m4/Makefile \ + makeinfo/Makefile \ + makeinfo/tests/Makefile \ + po/Makefile.in \ + util/Makefile \ + ]) +AC_OUTPUT diff --git a/gnu/usr.bin/texinfo/depcomp b/gnu/usr.bin/texinfo/depcomp new file mode 100644 index 00000000000..65899658ee7 --- /dev/null +++ b/gnu/usr.bin/texinfo/depcomp @@ -0,0 +1,411 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 AIX compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + + tmpdepfile1="$object.d" + tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` + if test "$libtool" = yes; then + "$@" -Wc,-MD + else + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + test -z "$dashmflag" && dashmflag=-M + ( IFS=" " + case " $* " in + *" --mode=compile "*) # this is libtool, let us make it quiet + for arg + do # cycle over the arguments + case "$arg" in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + # X makedepend + ( + shift + cleared=no + for arg in "$@"; do + case $cleared in no) + set ""; shift + cleared=yes + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tail +3 "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/gnu/usr.bin/texinfo/doc/fdl.texi b/gnu/usr.bin/texinfo/doc/fdl.texi new file mode 100644 index 00000000000..361f90f7bb5 --- /dev/null +++ b/gnu/usr.bin/texinfo/doc/fdl.texi @@ -0,0 +1,403 @@ + +@node GNU Free Documentation License +@appendixsec GNU Free Documentation License + +@cindex FDL, GNU Free Documentation License +@center Version 1.1, March 2000 + +@display +Copyright @copyright{} 2000 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +@end display + +@enumerate 0 +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +written document @dfn{free} in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The ``Document'', below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as ``you''. + +A ``Modified Version'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``Secondary Section'' is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``Invariant Sections'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. + +The ``Cover Texts'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. + +A ``Transparent'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not ``Transparent'' is called ``Opaque''. + +Examples of suitable formats for Transparent copies include plain +@sc{ascii} without markup, Texinfo input format, La@TeX{} input format, +@acronym{SGML} or @acronym{XML} using a publicly available +@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed +for human modification. Opaque formats include PostScript, +@acronym{PDF}, proprietary formats that can be read and edited only by +proprietary word processors, @acronym{SGML} or @acronym{XML} for which +the @acronym{DTD} and/or processing tools are not generally available, +and the machine-generated @acronym{HTML} produced by some word +processors for output purposes only. + +The ``Title Page'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has less than five). + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section entitled ``History'', and its title, and add to +it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +In any section entitled ``Acknowledgments'' or ``Dedications'', +preserve the section's title, and preserve in the section all the +substance and tone of each of the contributor acknowledgments +and/or dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section as ``Endorsements'' +or to conflict in title with any Invariant Section. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections entitled ``History'' +in the various original documents, forming one section entitled +``History''; likewise combine any sections entitled ``Acknowledgments'', +and any sections entitled ``Dedications''. You must delete all sections +entitled ``Endorsements.'' + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an ``aggregate'', and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +@item +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +@uref{http://www.gnu.org/copyleft/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. +@end enumerate + +@page +@appendixsubsec ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +@smallexample +@group + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being @var{list their titles}, with the + Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +@end group +@end smallexample + +If you have no Invariant Sections, write ``with no Invariant Sections'' +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write ``no Front-Cover Texts'' instead of +``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: + diff --git a/gnu/usr.bin/texinfo/doc/pdfcolor.tex b/gnu/usr.bin/texinfo/doc/pdfcolor.tex new file mode 100644 index 00000000000..f09ecbcb750 --- /dev/null +++ b/gnu/usr.bin/texinfo/doc/pdfcolor.tex @@ -0,0 +1,158 @@ +% Very simple macros to show how to use colors with pdftex + +\def\cmykGreenYellow{0.15 0 0.69 0} +\def\cmykYellow{0 0 1 0} +\def\cmykGoldenrod{0 0.10 0.84 0} +\def\cmykDandelion{0 0.29 0.84 0} +\def\cmykApricot{0 0.32 0.52 0} +\def\cmykPeach{0 0.50 0.70 0} +\def\cmykMelon{0 0.46 0.50 0} +\def\cmykYellowOrange{0 0.42 1 0} +\def\cmykOrange{0 0.61 0.87 0} +\def\cmykBurntOrange{0 0.51 1 0} +\def\cmykBittersweet{0 0.75 1 0.24} +\def\cmykRedOrange{0 0.77 0.87 0} +\def\cmykMahogany{0 0.85 0.87 0.35} +\def\cmykMaroon{0 0.87 0.68 0.32} +\def\cmykBrickRed{0 0.89 0.94 0.28} +\def\cmykRed{0 1 1 0} +\def\cmykOrangeRed{0 1 0.50 0} +\def\cmykRubineRed{0 1 0.13 0} +\def\cmykWildStrawberry{0 0.96 0.39 0} +\def\cmykSalmon{0 0.53 0.38 0} +\def\cmykCarnationPink{0 0.63 0 0} +\def\cmykMagenta{0 1 0 0} +\def\cmykVioletRed{0 0.81 0 0} +\def\cmykRhodamine{0 0.82 0 0} +\def\cmykMulberry{0.34 0.90 0 0.02} +\def\cmykRedViolet{0.07 0.90 0 0.34} +\def\cmykFuchsia{0.47 0.91 0 0.08} +\def\cmykLavender{0 0.48 0 0} +\def\cmykThistle{0.12 0.59 0 0} +\def\cmykOrchid{0.32 0.64 0 0} +\def\cmykDarkOrchid{0.40 0.80 0.20 0} +\def\cmykPurple{0.45 0.86 0 0} +\def\cmykPlum{0.50 1 0 0} +\def\cmykViolet{0.79 0.88 0 0} +\def\cmykRoyalPurple{0.75 0.90 0 0} +\def\cmykBlueViolet{0.86 0.91 0 0.04} +\def\cmykPeriwinkle{0.57 0.55 0 0} +\def\cmykCadetBlue{0.62 0.57 0.23 0} +\def\cmykCornflowerBlue{0.65 0.13 0 0} +\def\cmykMidnightBlue{0.98 0.13 0 0.43} +\def\cmykNavyBlue{0.94 0.54 0 0} +\def\cmykRoyalBlue{1 0.50 0 0} +\def\cmykBlue{1 1 0 0} +\def\cmykCerulean{0.94 0.11 0 0} +\def\cmykCyan{1 0 0 0} +\def\cmykProcessBlue{0.96 0 0 0} +\def\cmykSkyBlue{0.62 0 0.12 0} +\def\cmykTurquoise{0.85 0 0.20 0} +\def\cmykTealBlue{0.86 0 0.34 0.02} +\def\cmykAquamarine{0.82 0 0.30 0} +\def\cmykBlueGreen{0.85 0 0.33 0} +\def\cmykEmerald{1 0 0.50 0} +\def\cmykJungleGreen{0.99 0 0.52 0} +\def\cmykSeaGreen{0.69 0 0.50 0} +\def\cmykGreen{1 0 1 0} +\def\cmykForestGreen{0.91 0 0.88 0.12} +\def\cmykPineGreen{0.92 0 0.59 0.25} +\def\cmykLimeGreen{0.50 0 1 0} +\def\cmykYellowGreen{0.44 0 0.74 0} +\def\cmykSpringGreen{0.26 0 0.76 0} +\def\cmykOliveGreen{0.64 0 0.95 0.40} +\def\cmykRawSienna{0 0.72 1 0.45} +\def\cmykSepia{0 0.83 1 0.70} +\def\cmykBrown{0 0.81 1 0.60} +\def\cmykTan{0.14 0.42 0.56 0} +\def\cmykGray{0 0 0 0.50} +\def\cmykBlack{0 0 0 1} +\def\cmykWhite{0 0 0 0} + +\def\GreenYellow{\pdfsetcolor{\cmykGreenYellow}} +\def\Yellow{\pdfsetcolor{\cmykYellow}} +\def\Goldenrod{\pdfsetcolor{\cmykGoldenrod}} +\def\Dandelion{\pdfsetcolor{\cmykDandelion}} +\def\Apricot{\pdfsetcolor{\cmykApricot}} +\def\Peach{\pdfsetcolor{\cmykPeach}} +\def\Melon{\pdfsetcolor{\cmykMelon}} +\def\YellowOrange{\pdfsetcolor{\cmykYellowOrange}} +\def\Orange{\pdfsetcolor{\cmykOrange}} +\def\BurntOrange{\pdfsetcolor{\cmykBurntOrange}} +\def\Bittersweet{\pdfsetcolor{\cmykBittersweet}} +\def\RedOrange{\pdfsetcolor{\cmykRedOrange}} +\def\Mahogany{\pdfsetcolor{\cmykMahogany}} +\def\Maroon{\pdfsetcolor{\cmykMaroon}} +\def\BrickRed{\pdfsetcolor{\cmykBrickRed}} +\def\Red{\pdfsetcolor{\cmykRed}} +\def\OrangeRed{\pdfsetcolor{\cmykOrangeRed}} +\def\RubineRed{\pdfsetcolor{\cmykRubineRed}} +\def\WildStrawberry{\pdfsetcolor{\cmykWildStrawberry}} +\def\Salmon{\pdfsetcolor{\cmykSalmon}} +\def\CarnationPink{\pdfsetcolor{\cmykCarnationPink}} +\def\Magenta{\pdfsetcolor{\cmykMagenta}} +\def\VioletRed{\pdfsetcolor{\cmykVioletRed}} +\def\Rhodamine{\pdfsetcolor{\cmykRhodamine}} +\def\Mulberry{\pdfsetcolor{\cmykMulberry}} +\def\RedViolet{\pdfsetcolor{\cmykRedViolet}} +\def\Fuchsia{\pdfsetcolor{\cmykFuchsia}} +\def\Lavender{\pdfsetcolor{\cmykLavender}} +\def\Thistle{\pdfsetcolor{\cmykThistle}} +\def\Orchid{\pdfsetcolor{\cmykOrchid}} +\def\DarkOrchid{\pdfsetcolor{\cmykDarkOrchid}} +\def\Purple{\pdfsetcolor{\cmykPurple}} +\def\Plum{\pdfsetcolor{\cmykPlum}} +\def\Violet{\pdfsetcolor{\cmykViolet}} +\def\RoyalPurple{\pdfsetcolor{\cmykRoyalPurple}} +\def\BlueViolet{\pdfsetcolor{\cmykBlueViolet}} +\def\Periwinkle{\pdfsetcolor{\cmykPeriwinkle}} +\def\CadetBlue{\pdfsetcolor{\cmykCadetBlue}} +\def\CornflowerBlue{\pdfsetcolor{\cmykCornflowerBlue}} +\def\MidnightBlue{\pdfsetcolor{\cmykMidnightBlue}} +\def\NavyBlue{\pdfsetcolor{\cmykNavyBlue}} +\def\RoyalBlue{\pdfsetcolor{\cmykRoyalBlue}} +\def\Blue{\pdfsetcolor{\cmykBlue}} +\def\Cerulean{\pdfsetcolor{\cmykCerulean}} +\def\Cyan{\pdfsetcolor{\cmykCyan}} +\def\ProcessBlue{\pdfsetcolor{\cmykProcessBlue}} +\def\SkyBlue{\pdfsetcolor{\cmykSkyBlue}} +\def\Turquoise{\pdfsetcolor{\cmykTurquoise}} +\def\TealBlue{\pdfsetcolor{\cmykTealBlue}} +\def\Aquamarine{\pdfsetcolor{\cmykAquamarine}} +\def\BlueGreen{\pdfsetcolor{\cmykBlueGreen}} +\def\Emerald{\pdfsetcolor{\cmykEmerald}} +\def\JungleGreen{\pdfsetcolor{\cmykJungleGreen}} +\def\SeaGreen{\pdfsetcolor{\cmykSeaGreen}} +\def\Green{\pdfsetcolor{\cmykGreen}} +\def\ForestGreen{\pdfsetcolor{\cmykForestGreen}} +\def\PineGreen{\pdfsetcolor{\cmykPineGreen}} +\def\LimeGreen{\pdfsetcolor{\cmykLimeGreen}} +\def\YellowGreen{\pdfsetcolor{\cmykYellowGreen}} +\def\SpringGreen{\pdfsetcolor{\cmykSpringGreen}} +\def\OliveGreen{\pdfsetcolor{\cmykOliveGreen}} +\def\RawSienna{\pdfsetcolor{\cmykRawSienna}} +\def\Sepia{\pdfsetcolor{\cmykSepia}} +\def\Brown{\pdfsetcolor{\cmykBrown}} +\def\Tan{\pdfsetcolor{\cmykTan}} +\def\Gray{\pdfsetcolor{\cmykGray}} +\def\Black{\pdfsetcolor{\cmykBlack}} +\def\White{\pdfsetcolor{\cmykWhite}} + +\def\pdfsetcolor#1{\pdfliteral{#1 k}} +\def\setcolor#1{\mark{#1}\pdfsetcolor{#1}} + +\pdfoutput=1 +\def\maincolor{\cmykBlack} +\pdfsetcolor{\maincolor} + +\def\makefootline{ + \baselineskip24pt + \line{\pdfsetcolor{\maincolor}\the\footline}} + +\def\makeheadline{% + \edef\M{\topmark} + \ifx\M\empty\let\M=\maincolor\fi + \vbox to 0pt{\vskip-22.5pt + \line{\vbox to8.5pt{}% + \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\M}}\vss}% + \nointerlineskip} diff --git a/gnu/usr.bin/texinfo/doc/stamp-1 b/gnu/usr.bin/texinfo/doc/stamp-1 new file mode 100644 index 00000000000..cbc67f41b53 --- /dev/null +++ b/gnu/usr.bin/texinfo/doc/stamp-1 @@ -0,0 +1,4 @@ +@set UPDATED 23 March 2002 +@set UPDATED-MONTH March 2002 +@set EDITION 4.2 +@set VERSION 4.2 diff --git a/gnu/usr.bin/texinfo/doc/txi-fr.tex b/gnu/usr.bin/texinfo/doc/txi-fr.tex new file mode 100644 index 00000000000..2210ac9ce51 --- /dev/null +++ b/gnu/usr.bin/texinfo/doc/txi-fr.tex @@ -0,0 +1,75 @@ +% txi-fr.tex -- TeX macros to handle French language for texinfo.tex documents. +% $Id: txi-fr.tex,v 1.1.1.1 2002/06/10 13:21:49 espie Exp $ +% +% Copyright (C) 1999 Free Software Foundation. +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +% Set up fixed words for French. +% Translated by Laurent Bourbeau <bourbeau@progiciels-bpi.ca> +% Translation date: le 10 d嶰embre 1999. +% Transmitted to: Karl Berry <karl@cs.umb.edu> + +\gdef\putwordAppendix{Annexe} +\gdef\putwordChapter{Chapitre} +\gdef\putwordfile{fichier} +\gdef\putwordin{dans} +\gdef\putwordIndexIsEmpty{(Index est vide)} +\gdef\putwordIndexNonexistent{(Index n'existe pas)} +\gdef\putwordInfo{Info} +\gdef\putwordInstanceVariableof{Variable d'instance de} +\gdef\putwordMethodon{M\'ethode sur} +\gdef\putwordNoTitle{Sans Titre} +\gdef\putwordof{de} +\gdef\putwordon{sur} +\gdef\putwordpage{page} +\gdef\putwordsection{section} +\gdef\putwordSection{Section} +\gdef\putwordsee{voir} +\gdef\putwordSee{Voir} +\gdef\putwordShortTOC{Sommaire} +\gdef\putwordTOC{Table des mati\`eres} +% +\gdef\putwordMJan{janvier} +\gdef\putwordMFeb{f\'evrier} +\gdef\putwordMMar{mars} +\gdef\putwordMApr{avril} +\gdef\putwordMMay{mai} +\gdef\putwordMJun{juin} +\gdef\putwordMJul{juillet} +\gdef\putwordMAug{ao\^ut} +\gdef\putwordMSep{septembre} +\gdef\putwordMOct{octobre} +\gdef\putwordMNov{novembre} +\gdef\putwordMDec{d\'ecembre} +% +\gdef\putwordDefmac{Macro} +\gdef\putwordDefspec{Forme Sp\'eciale} +\gdef\putwordDefvar{Variable} +\gdef\putwordDefopt{Option de l'usager} +\gdef\putwordDeftypevar{Variable} +\gdef\putwordDeffunc{Fonction} +\gdef\putwordDeftypefun{Fonction} + +% Produces Day Month Year style of output. +% French datation - for instance: 10 janvier 2000. +\def\today{% + \number\day\space + \ifcase\month + \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr + \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug + \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec + \fi + \space\number\year} diff --git a/gnu/usr.bin/texinfo/doc/version-stnd.texi b/gnu/usr.bin/texinfo/doc/version-stnd.texi new file mode 100644 index 00000000000..cbc67f41b53 --- /dev/null +++ b/gnu/usr.bin/texinfo/doc/version-stnd.texi @@ -0,0 +1,4 @@ +@set UPDATED 23 March 2002 +@set UPDATED-MONTH March 2002 +@set EDITION 4.2 +@set VERSION 4.2 diff --git a/gnu/usr.bin/texinfo/info/infokey.c b/gnu/usr.bin/texinfo/info/infokey.c new file mode 100644 index 00000000000..43e656050a5 --- /dev/null +++ b/gnu/usr.bin/texinfo/info/infokey.c @@ -0,0 +1,909 @@ +/* infokey.c -- compile ~/.infokey to ~/.info. + $Id: infokey.c,v 1.1.1.1 2002/06/10 13:21:13 espie Exp $ + + Copyright (C) 1999, 2001, 02 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by Andrew Bettison <andrewb@zip.com.au>. */ + +#include "info.h" +#include "infomap.h" +#include "infokey.h" +#include "key.h" +#include "getopt.h" + +static char *program_name = "infokey"; + +/* Non-zero means print version info only. */ +static int print_version_p = 0; + +/* Non-zero means print a short description of the options. */ +static int print_help_p = 0; + +/* String specifying the source file. This is set by the user on the + command line, or a default is used. */ +static char *input_filename = (char *) NULL; + +/* String specifying the name of the file to output to. This is + set by the user on the command line, or a default is used. */ +static char *output_filename = (char *) NULL; + +/* Structure describing the options that Infokey accepts. We pass this + structure to getopt_long (). If you add or otherwise change this + structure, you must also change the string which follows it. */ +static struct option long_options[] = +{ + {"output", 1, 0, 'o'}, + {"help", 0, &print_help_p, 1}, + {"version", 0, &print_version_p, 1}, + {NULL, 0, NULL, 0} +}; + +/* String describing the shorthand versions of the long options found above. */ +static char *short_options = "o:"; + +/* Structure for holding the compiled sections. */ +enum sect_e + { + info = 0, + ea = 1, + var = 2 + }; +struct sect + { + unsigned int cur; + unsigned char data[INFOKEY_MAX_SECTIONLEN]; + }; + +/* Some "forward" declarations. */ +static char *mkpath (); +static int compile (), write_infokey_file (); +static void syntax_error (), error_message (), suggest_help (), short_help (); + + +/* **************************************************************** */ +/* */ +/* Main Entry Point to the Infokey Program */ +/* */ +/* **************************************************************** */ + +int +main (argc, argv) + int argc; + char **argv; +{ + int getopt_long_index; /* Index returned by getopt_long (). */ + NODE *initial_node; /* First node loaded by Info. */ + +#ifdef HAVE_SETLOCALE + /* Set locale via LC_ALL. */ + setlocale (LC_ALL, ""); +#endif + + /* Set the text message domain. */ + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + + while (1) + { + int option_character; + + option_character = getopt_long + (argc, argv, short_options, long_options, &getopt_long_index); + + /* getopt_long () returns EOF when there are no more long options. */ + if (option_character == EOF) + break; + + /* If this is a long option, then get the short version of it. */ + if (option_character == 0 && long_options[getopt_long_index].flag == 0) + option_character = long_options[getopt_long_index].val; + + /* Case on the option that we have received. */ + switch (option_character) + { + case 0: + break; + + /* User is specifying the name of a file to output to. */ + case 'o': + if (output_filename) + free (output_filename); + output_filename = xstrdup (optarg); + break; + + default: + suggest_help (); + xexit (1); + } + } + + /* If the user specified --version, then show the version and exit. */ + if (print_version_p) + { + printf ("%s (GNU %s) %s\n", program_name, PACKAGE, VERSION); + puts (""); + printf (_ ("Copyright (C) %s Free Software Foundation, Inc.\n\ +There is NO warranty. You may redistribute this software\n\ +under the terms of the GNU General Public License.\n\ +For more information about these matters, see the files named COPYING.\n"), + "1999"); + xexit (0); + } + + /* If the `--help' option was present, show the help and exit. */ + if (print_help_p) + { + short_help (); + xexit (0); + } + + /* If there is one argument remaining, it is the name of the input + file. */ + if (optind == argc - 1) + { + if (input_filename) + free (input_filename); + input_filename = xstrdup (argv[optind]); + } + else if (optind != argc) + { + error_message (0, _("incorrect number of arguments")); + suggest_help (); + xexit (1); + } + + /* Use default filenames where none given. */ + { + char *homedir; + + homedir = getenv ("HOME"); +#ifdef __MSDOS__ + if (!homedir) + homedir = "."; +#endif + if (!input_filename) + input_filename = mkpath (homedir, INFOKEY_SRCFILE); + if (!output_filename) + output_filename = mkpath (homedir, INFOKEY_FILE); + } + + { + FILE *inf; + FILE *outf; + int write_error; + static struct sect sections[3]; + + /* Open the input file. */ + inf = fopen (input_filename, "r"); + if (!inf) + { + error_message (errno, _("cannot open input file `%s'"), input_filename); + xexit (1); + } + + /* Compile the input file to its verious sections, then write the + section data to the output file. */ + + if (compile (inf, input_filename, sections)) + { + /* Open the output file. */ + outf = fopen (output_filename, FOPEN_WBIN); + if (!outf) + { + error_message (errno, _("cannot create output file `%s'"), output_filename); + xexit (1); + } + + /* Write the contents of the output file and close it. If there is + an error writing to the file, delete it and exit with a failure + status. */ + write_error = 0; + if (!write_infokey_file (outf, sections)) + { + error_message (errno, _("error writing to `%s'"), output_filename); + write_error = 1; + } + if (fclose (outf) == EOF) + { + error_message (errno, _("error closing output file `%s'"), output_filename); + write_error = 1; + } + if (write_error) + { + unlink (output_filename); + xexit (1); + } + } + + /* Close the input file. */ + fclose (inf); + } + + xexit (0); +} + +static char * +mkpath (dir, file) + const char *dir; + const char *file; +{ + char *p; + + p = xmalloc (strlen (dir) + 1 + strlen (file) + 2); + strcpy (p, dir); + strcat (p, "/"); + strcat (p, file); + return p; +} + + +/* Compilation - the real work. + + Source file syntax + ------------------ + The source file is a line-based text file with the following + structure: + + # comments + # more comments + + #info + u prev-line + d next-line + ^a invalid # just beep + \ku prev-line + #stop + \kd next-line + q quit # of course! + + #echo-area + ^a echo-area-beg-of-line + ^e echo-area-end-of-line + \kr echo-area-forward + \kl echo-area-backward + \kh echo-area-beg-of-line + \ke echo-area-end-of-line + + #var + scroll-step=1 + ISO-Latin=Off + + Lines starting with '#' are comments, and are ignored. Blank + lines are ignored. Each section is introduced by one of the + following lines: + + #info + #echo-area + #var + + The sections may occur in any order. Each section may be + omitted completely. If the 'info' section is the first in the + file, its '#info' line may be omitted. + + The 'info' and 'echo-area' sections + ----------------------------------- + Each line in the 'info' or 'echo-area' sections has the + following syntax: + + key-sequence SPACE action-name [ SPACE [ # comment ] ] \n + + Where SPACE is one or more white space characters excluding + newline, "action-name" is the name of a GNU Info command, + "comment" is any sequence of characters excluding newline, and + "key-sequence" is a concatenation of one or more key definitions + using the following syntax: + + 1. A carat ^ followed by one character indicates a single + control character; + + 2. A backslash \ followed by one, two, or three octal + digits indicates a single character having that ASCII + code; + + 3. \n indicates a single NEWLINE; + \e indicates a single ESC; + \r indicates a single CR; + \t indicates a single TAB; + \b indicates a single BACKSPACE; + + 4. \ku indicates the Up Arrow key; + \kd indicates the Down Arrow key; + \kl indicates the Left Arrow key; + \kr indicates the Right Arrow key; + \kP indicates the Page Up (PRIOR) key; + \kN indicates the Page Down (NEXT) key; + \kh indicates the Home key; + \ke indicates the End key; + \kx indicates the DEL key; + \k followed by any other character indicates a single + control-K, and the following character is interpreted + as in rules 1, 2, 3, 5 and 6. + + 5. \m followed by any sequence defined in rules 1, 2, 3, 4 + or 6 indicates the "Meta" modification of that key. + + 6. A backslash \ followed by any character not described + above indicates that character itself. In particular: + \\ indicates a single backslash \, + \ (backslash-space) indicates a single space, + \^ indicates a single caret ^, + + If the following line: + + #stop + + occurs anywhere in an 'info' or 'echo-area' section, that + indicates to GNU Info to suppress all of its default key + bindings in that context. + + The 'var' section + ----------------- + Each line in the 'var' section has the following syntax: + + variable-name = value \n + + Where "variable-name" is the name of a GNU Info variable and + "value" is the value that GNU Info will assign to that variable + when commencing execution. There must be no white space in the + variable name, nor between the variable name and the '='. All + characters immediately following the '=', up to but not + including the terminating newline, are considered to be the + value that will be assigned. In other words, white space + following the '=' is not ignored. + */ + +static int add_to_section (), lookup_action (); + +/* Compile the input file into its various sections. Return true if no + error was encountered. + */ +static int +compile (fp, filename, sections) + FILE *fp; + const char *filename; + struct sect sections[]; +{ + int error = 0; + char rescan = 0; + unsigned int lnum = 0; + int c; + + /* This parser is a true state machine, with no sneaky fetching + of input characters inside the main loop. In other words, all + state is fully represented by the following variables: + */ + enum + { + start_of_line, + start_of_comment, + in_line_comment, + in_trailing_comment, + get_keyseq, + got_keyseq, + get_action, + got_action, + get_varname, + got_varname, + get_equals, + got_equals, + get_value + } + state = start_of_line; + enum sect_e section = info; + enum + { + normal, + slosh, + control, + octal, + special_key + } + seqstate; /* used if state == get_keyseq */ + char meta = 0; + char ocnt; /* used if state == get_keyseq && seqstate == octal */ + + /* Data is accumulated in the following variables. The code + avoids overflowing these strings, and throws an error + where appropriate if a string limit is exceeded. These string + lengths are arbitrary (and should be large enough) and their + lengths are not hard-coded anywhere else, so increasing them + here will not break anything. */ + char oval; + char comment[10]; + unsigned int clen; + char seq[20]; + unsigned int slen; + char act[80]; + unsigned int alen; + char varn[80]; + unsigned int varlen; + char val[80]; + unsigned int vallen; + +#define To_seq(c) \ + do { \ + if (slen < sizeof seq) \ + seq[slen++] = meta ? Meta(c) : (c); \ + else \ + { \ + syntax_error(filename, lnum, _("key sequence too long")); \ + error = 1; \ + } \ + meta = 0; \ + } while (0) + + sections[info].cur = 1; + sections[info].data[0] = 0; + sections[ea].cur = 1; + sections[ea].data[0] = 0; + sections[var].cur = 0; + + while (!error && (rescan || (c = fgetc (fp)) != EOF)) + { + rescan = 0; + switch (state) + { + case start_of_line: + lnum++; + if (c == '#') + state = start_of_comment; + else if (c != '\n') + { + switch (section) + { + case info: + case ea: + state = get_keyseq; + seqstate = normal; + slen = 0; + break; + case var: + state = get_varname; + varlen = 0; + break; + } + rescan = 1; + } + break; + + case start_of_comment: + clen = 0; + state = in_line_comment; + /* fall through */ + case in_line_comment: + if (c == '\n') + { + state = start_of_line; + comment[clen] = '\0'; + if (strcmp (comment, "info") == 0) + section = info; + else if (strcmp (comment, "echo-area") == 0) + section = ea; + else if (strcmp (comment, "var") == 0) + section = var; + else if (strcmp (comment, "stop") == 0 + && (section == info || section == ea)) + sections[section].data[0] = 1; + } + else if (clen < sizeof comment - 1) + comment[clen++] = c; + break; + + case in_trailing_comment: + if (c == '\n') + state = start_of_line; + break; + + case get_keyseq: + switch (seqstate) + { + case normal: + if (c == '\n' || isspace (c)) + { + state = got_keyseq; + rescan = 1; + if (slen == 0) + { + syntax_error (filename, lnum, _("missing key sequence")); + error = 1; + } + } + else if (c == '\\') + seqstate = slosh; + else if (c == '^') + seqstate = control; + else + To_seq (c); + break; + + case slosh: + switch (c) + { + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + seqstate = octal; + oval = c - '0'; + ocnt = 1; + break; + case 'b': + To_seq ('\b'); + seqstate = normal; + break; + case 'e': + To_seq ('\033'); + seqstate = normal; + break; + case 'n': + To_seq ('\n'); + seqstate = normal; + break; + case 'r': + To_seq ('\r'); + seqstate = normal; + break; + case 't': + To_seq ('\t'); + seqstate = normal; + break; + case 'm': + meta = 1; + seqstate = normal; + break; + case 'k': + seqstate = special_key; + break; + default: + /* Backslash followed by any other char + just means that char. */ + To_seq (c); + seqstate = normal; + break; + } + break; + + case octal: + switch (c) + { + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + if (++ocnt <= 3) + oval = oval * 8 + c - '0'; + if (ocnt == 3) + seqstate = normal; + break; + default: + ocnt = 4; + seqstate = normal; + rescan = 1; + break; + } + if (seqstate != octal) + { + if (oval) + To_seq (oval); + else + { + syntax_error (filename, lnum, _("NUL character (\\000) not permitted")); + error = 1; + } + } + break; + + case special_key: + To_seq (SK_ESCAPE); + switch (c) + { + case 'u': To_seq (SK_UP_ARROW); break; + case 'd': To_seq (SK_DOWN_ARROW); break; + case 'r': To_seq (SK_RIGHT_ARROW); break; + case 'l': To_seq (SK_LEFT_ARROW); break; + case 'U': To_seq (SK_PAGE_UP); break; + case 'D': To_seq (SK_PAGE_DOWN); break; + case 'h': To_seq (SK_HOME); break; + case 'e': To_seq (SK_END); break; + case 'x': To_seq (SK_DELETE); break; + default: To_seq (SK_LITERAL); rescan = 1; break; + } + seqstate = normal; + break; + + case control: + if (CONTROL (c)) + To_seq (CONTROL (c)); + else + { + syntax_error (filename, lnum, _("NUL character (^%c) not permitted"), c); + error = 1; + } + seqstate = normal; + break; + } + break; + + case got_keyseq: + if (isspace (c) && c != '\n') + break; + state = get_action; + alen = 0; + /* fall through */ + case get_action: + if (c == '\n' || isspace (c)) + { + int a; + + state = got_action; + rescan = 1; + if (alen == 0) + { + syntax_error (filename, lnum, _("missing action name"), c); + error = 1; + } + else + { + act[alen] = '\0'; + a = lookup_action (act); + if (a != -1) + { + char av = a; + + if (!(add_to_section (§ions[section], seq, slen) + && add_to_section (§ions[section], "", 1) + && add_to_section (§ions[section], &av, 1))) + { + syntax_error (filename, lnum, _("section too long")); + error = 1; + } + } + else + { + syntax_error (filename, lnum, _("unknown action `%s'"), act); + error = 1; + } + } + } + else if (alen < sizeof act - 1) + act[alen++] = c; + else + { + syntax_error (filename, lnum, _("action name too long")); + error = 1; + } + break; + + case got_action: + if (c == '#') + state = in_trailing_comment; + else if (c == '\n') + state = start_of_line; + else if (!isspace (c)) + { + syntax_error (filename, lnum, _("extra characters following action `%s'"), act); + error = 1; + } + break; + + case get_varname: + if (c == '=') + { + if (varlen == 0) + { + syntax_error (filename, lnum, _("missing variable name")); + error = 1; + } + state = get_value; + vallen = 0; + } + else if (c == '\n' || isspace (c)) + { + syntax_error (filename, lnum, _("missing `=' immediately after variable name")); + error = 1; + } + else if (varlen < sizeof varn) + varn[varlen++] = c; + else + { + syntax_error (filename, lnum, _("variable name too long")); + error = 1; + } + break; + + case get_value: + if (c == '\n') + { + state = start_of_line; + if (!(add_to_section (§ions[section], varn, varlen) + && add_to_section (§ions[section], "", 1) + && add_to_section (§ions[section], val, vallen) + && add_to_section (§ions[section], "", 1))) + { + syntax_error (filename, lnum, _("section too long")); + error = 1; + } + } + else if (vallen < sizeof val) + val[vallen++] = c; + else + { + syntax_error (filename, lnum, _("value too long")); + error = 1; + } + break; + } + } + +#undef To_seq + + return !error; +} + +/* Add some characters to a section's data. Return true if all the + characters fit, or false if the section's size limit was exceeded. + */ +static int +add_to_section (s, str, len) + struct sect *s; + const char *str; + unsigned int len; +{ + if (s->cur + len > sizeof s->data) + return 0; + strncpy (s->data + s->cur, str, len); + s->cur += len; + return 1; +} + +/* Translate from an action name to its numeric code. This uses the + auto-generated array in key.c. + */ +static int +lookup_action (actname) + const char *actname; +{ + int i; + + if (strcmp ("invalid", actname) == 0) + return A_INVALID; + for (i = 0; function_key_array[i].name != NULL; i++) + if (strcmp (function_key_array[i].name, actname) == 0) + return function_key_array[i].code; + return -1; +} + +/* Put an integer to an infokey file. + Integers are stored as two bytes, low order first, + in radix INFOKEY_RADIX. + */ +static int +putint (i, fp) + int i; + FILE *fp; +{ + return fputc (i % INFOKEY_RADIX, fp) != EOF + && fputc ((i / INFOKEY_RADIX) % INFOKEY_RADIX, fp) != EOF; +} + +/* Write an entire section to an infokey file. If the section is + empty, simply omit it. + */ +static int +putsect (s, code, fp) + struct sect *s; + int code; + FILE *fp; +{ + if (s->cur == 0) + return 1; + return fputc (code, fp) != EOF + && putint (s->cur, fp) + && fwrite (s->data, s->cur, 1, fp) == 1; +} + +/* Write an entire infokey file, given an array containing its sections. + */ +static int +write_infokey_file (fp, sections) + FILE *fp; + struct sect sections[]; +{ + /* Get rid of sections with no effect. */ + if (sections[info].cur == 1 && sections[info].data[0] == 0) + sections[info].cur = 0; + if (sections[ea].cur == 1 && sections[ea].data[0] == 0) + sections[ea].cur = 0; + + /* Write all parts of the file out in order (no lseeks), + checking for errors all the way. */ + return fputc (INFOKEY_MAGIC_S0, fp) != EOF + && fputc (INFOKEY_MAGIC_S1, fp) != EOF + && fputc (INFOKEY_MAGIC_S2, fp) != EOF + && fputc (INFOKEY_MAGIC_S3, fp) != EOF + && fputs (VERSION, fp) != EOF + && fputc ('\0', fp) != EOF + && putsect (§ions[info], INFOKEY_SECTION_INFO, fp) + && putsect (§ions[ea], INFOKEY_SECTION_EA, fp) + && putsect (§ions[var], INFOKEY_SECTION_VAR, fp) + && fputc (INFOKEY_MAGIC_E0, fp) != EOF + && fputc (INFOKEY_MAGIC_E1, fp) != EOF + && fputc (INFOKEY_MAGIC_E2, fp) != EOF + && fputc (INFOKEY_MAGIC_E3, fp) != EOF; +} + + +/* Error handling. */ + +/* Give the user a "syntax error" message in the form + progname: "filename", line N: message + */ +static void +error_message (error_code, fmt, a1, a2, a3, a4) + int error_code; + const char *fmt; + const void *a1, *a2, *a3, *a4; +{ + fprintf (stderr, "%s: ", program_name); + fprintf (stderr, fmt, a1, a2, a3, a4); + if (error_code) + fprintf (stderr, " - %s", strerror (error_code)); + fprintf (stderr, "\n"); +} + +/* Give the user a generic error message in the form + progname: message + */ +static void +syntax_error (filename, linenum, fmt, a1, a2, a3, a4) + const char *filename; + unsigned int linenum; + const char *fmt; + const void *a1, *a2, *a3, *a4; +{ + fprintf (stderr, "%s: ", program_name); + fprintf (stderr, _("\"%s\", line %u: "), filename, linenum); + fprintf (stderr, fmt, a1, a2, a3, a4); + fprintf (stderr, "\n"); +} + +/* Produce a gentle rtfm. */ +static void +suggest_help () +{ + fprintf (stderr, _("Try --help for more information.\n")); +} + +/* Produce a scaled down description of the available options to Info. */ +static void +short_help () +{ + printf (_("\ +Usage: %s [OPTION]... [INPUT-FILE]\n\ +\n\ +Compile infokey source file to infokey file. Reads INPUT-FILE (default\n\ +$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n\ +\n\ +Options:\n\ + --output FILE output to FILE instead of $HOME/.info\n\ + --help display this help and exit.\n\ + --version display version information and exit.\n\ +"), program_name); + + puts (_("\n\ +Email bug reports to bug-texinfo@gnu.org,\n\ +general questions and discussion to help-texinfo@gnu.org.\n\ +Texinfo home page: http://www.gnu.org/software/texinfo/")); + + xexit (0); +} diff --git a/gnu/usr.bin/texinfo/info/infokey.h b/gnu/usr.bin/texinfo/info/infokey.h new file mode 100644 index 00000000000..da9759851cd --- /dev/null +++ b/gnu/usr.bin/texinfo/info/infokey.h @@ -0,0 +1,128 @@ +/* infokey.h -- Custom keystroke definition support. + $Id: infokey.h,v 1.1.1.1 2002/06/10 13:21:13 espie Exp $ + + Copyright (C) 1999, 2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by Andrew Bettison <andrewb@zip.com.au>. + + This design was derived from the "lesskey" system in less 3.4.0. by + Mark Nudelman. + + The following terminology is confusing: + source file = $HOME/.infokey + infokey file = $HOME/.info + Oh, well. + */ + + +/* Default source file, where user writes text definitions to be + compiled to the infokey file. MS-DOS doesn't allow leading + dots in file names. */ +#ifdef __MSDOS__ +#define INFOKEY_SRCFILE "_infokey" +#else +#define INFOKEY_SRCFILE ".infokey" +#endif + +/* Default "infokey file", where compiled user defs are kept and + read by Info. MS-DOS doesn't allow leading dots in file names. */ +#ifdef __MSDOS__ +#define INFOKEY_FILE "_info" +#else +#define INFOKEY_FILE ".info" +#endif + +/* +Format of entire infokey file: + + 4 bytes magic number S + X bytes version string + 1 byte '\0' terminator + + any number of sections: + 1 byte section id + 2 bytes section length (N) + N bytes section definitions: format depends on section + + 4 bytes magic number E + +Format of INFO and EA sections: + + 1 byte flag: 1 == suppress default key bindings + Repeat: + X bytes key sequence + 1 byte '\0' terminator + 1 byte action code (A_xxx) + +Format of VAR section: + + Repeat: + X bytes variable name + 1 byte '\0' terminator + Y bytes value + 1 byte '\0' terminator + +*/ + +#define INFOKEY_NMAGIC 8 + +#define INFOKEY_MAGIC_S0 '\001' +#define INFOKEY_MAGIC_S1 'I' +#define INFOKEY_MAGIC_S2 'n' +#define INFOKEY_MAGIC_S3 'f' + +#define INFOKEY_SECTION_INFO 'i' +#define INFOKEY_SECTION_EA 'e' +#define INFOKEY_SECTION_VAR 'v' + +#define INFOKEY_MAGIC_E0 'A' +#define INFOKEY_MAGIC_E1 'l' +#define INFOKEY_MAGIC_E2 'f' +#define INFOKEY_MAGIC_E3 'n' + +#define INFOKEY_RADIX 64 +#define INFOKEY_MAX_SECTIONLEN 500 +#define INFOKEY_MAX_DEFLEN 16 + +#define A_MAX_COMMAND 120 +#define A_INVALID 121 + +/* Character transformations (independent of info's own) */ + +#define CONTROL(c) ((c) & 0x1f) +#define ISCONTROL(c) (((c) & ~0x1f) == 0) +#define META(c) ((c) | 0x80) +#define UNMETA(c) ((c) & ~0x80) +#define ISMETA(c) (((c) & 0x80) != 0) + +/* Special keys (keys which output different strings on different terminals) */ + +#define SK_ESCAPE CONTROL('k') +#define SK_RIGHT_ARROW 1 +#define SK_LEFT_ARROW 2 +#define SK_UP_ARROW 3 +#define SK_DOWN_ARROW 4 +#define SK_PAGE_UP 5 +#define SK_PAGE_DOWN 6 +#define SK_HOME 7 +#define SK_END 8 +#define SK_DELETE 9 +#define SK_INSERT 10 +#define SK_CTL_LEFT_ARROW 11 +#define SK_CTL_RIGHT_ARROW 12 +#define SK_CTL_DELETE 13 +#define SK_LITERAL 40 diff --git a/gnu/usr.bin/texinfo/info/key.c b/gnu/usr.bin/texinfo/info/key.c new file mode 100644 index 00000000000..06be6fa30f6 --- /dev/null +++ b/gnu/usr.bin/texinfo/info/key.c @@ -0,0 +1,146 @@ +/* key.c -- Generated array containing function names. + + This file was automatically made from various source files with the + command "./makedoc". DO NOT EDIT THIS FILE, only "./makedoc.c". + + Source files groveled to make this file include: + + ./session.c + ./echo-area.c + ./infodoc.c + ./m-x.c + ./indices.c + ./nodemenu.c + ./footnotes.c + ./variables.c + + An entry in the array FUNCTION_KEY_ARRAY is made for each command + found in the above files; each entry consists of + a string which is the user-visible name of the function. */ + +#include "key.h" +#include "funs.h" + +FUNCTION_KEY function_key_array[] = { + +/* Commands found in "./session.c". */ + { "next-line", A_info_next_line }, + { "prev-line", A_info_prev_line }, + { "end-of-line", A_info_end_of_line }, + { "beginning-of-line", A_info_beginning_of_line }, + { "forward-char", A_info_forward_char }, + { "backward-char", A_info_backward_char }, + { "forward-word", A_info_forward_word }, + { "backward-word", A_info_backward_word }, + { "global-next-node", A_info_global_next_node }, + { "global-prev-node", A_info_global_prev_node }, + { "scroll-forward", A_info_scroll_forward }, + { "scroll-forward-set-window", A_info_scroll_forward_set_window }, + { "scroll-forward-page-only", A_info_scroll_forward_page_only }, + { "scroll-forward-page-only-set-window", A_info_scroll_forward_page_only_set_window }, + { "scroll-backward", A_info_scroll_backward }, + { "scroll-backward-set-window", A_info_scroll_backward_set_window }, + { "scroll-backward-page-only", A_info_scroll_backward_page_only }, + { "scroll-backward-page-only-set-window", A_info_scroll_backward_page_only_set_window }, + { "beginning-of-node", A_info_beginning_of_node }, + { "end-of-node", A_info_end_of_node }, + { "down-line", A_info_down_line }, + { "up-line", A_info_up_line }, + { "scroll-half-screen-down", A_info_scroll_half_screen_down }, + { "scroll-half-screen-up", A_info_scroll_half_screen_up }, + { "next-window", A_info_next_window }, + { "prev-window", A_info_prev_window }, + { "split-window", A_info_split_window }, + { "delete-window", A_info_delete_window }, + { "keep-one-window", A_info_keep_one_window }, + { "scroll-other-window", A_info_scroll_other_window }, + { "scroll-other-window-backward", A_info_scroll_other_window_backward }, + { "grow-window", A_info_grow_window }, + { "tile-windows", A_info_tile_windows }, + { "toggle-wrap", A_info_toggle_wrap }, + { "next-node", A_info_next_node }, + { "prev-node", A_info_prev_node }, + { "up-node", A_info_up_node }, + { "last-node", A_info_last_node }, + { "first-node", A_info_first_node }, + { "last-menu-item", A_info_last_menu_item }, + { "menu-digit", A_info_menu_digit }, + { "menu-item", A_info_menu_item }, + { "xref-item", A_info_xref_item }, + { "find-menu", A_info_find_menu }, + { "visit-menu", A_info_visit_menu }, + { "goto-node", A_info_goto_node }, + { "menu-sequence", A_info_menu_sequence }, + { "goto-invocation-node", A_info_goto_invocation_node }, + { "man", A_info_man }, + { "top-node", A_info_top_node }, + { "dir-node", A_info_dir_node }, + { "history-node", A_info_history_node }, + { "kill-node", A_info_kill_node }, + { "view-file", A_info_view_file }, + { "print-node", A_info_print_node }, + { "search-case-sensitively", A_info_search_case_sensitively }, + { "search", A_info_search }, + { "search-backward", A_info_search_backward }, + { "search-next", A_info_search_next }, + { "search-previous", A_info_search_previous }, + { "isearch-forward", A_isearch_forward }, + { "isearch-backward", A_isearch_backward }, + { "move-to-prev-xref", A_info_move_to_prev_xref }, + { "move-to-next-xref", A_info_move_to_next_xref }, + { "select-reference-this-line", A_info_select_reference_this_line }, + { "abort-key", A_info_abort_key }, + { "move-to-window-line", A_info_move_to_window_line }, + { "redraw-display", A_info_redraw_display }, + { "quit", A_info_quit }, + { "do-lowercase-version", A_info_do_lowercase_version }, + { "add-digit-to-numeric-arg", A_info_add_digit_to_numeric_arg }, + { "universal-argument", A_info_universal_argument }, + { "numeric-arg-digit-loop", A_info_numeric_arg_digit_loop }, +/* Commands found in "./echo-area.c". */ + { "echo-area-forward", A_ea_forward }, + { "echo-area-backward", A_ea_backward }, + { "echo-area-beg-of-line", A_ea_beg_of_line }, + { "echo-area-end-of-line", A_ea_end_of_line }, + { "echo-area-forward-word", A_ea_forward_word }, + { "echo-area-backward-word", A_ea_backward_word }, + { "echo-area-delete", A_ea_delete }, + { "echo-area-rubout", A_ea_rubout }, + { "echo-area-abort", A_ea_abort }, + { "echo-area-newline", A_ea_newline }, + { "echo-area-quoted-insert", A_ea_quoted_insert }, + { "echo-area-insert", A_ea_insert }, + { "echo-area-tab-insert", A_ea_tab_insert }, + { "echo-area-transpose-chars", A_ea_transpose_chars }, + { "echo-area-yank", A_ea_yank }, + { "echo-area-yank-pop", A_ea_yank_pop }, + { "echo-area-kill-line", A_ea_kill_line }, + { "echo-area-backward-kill-line", A_ea_backward_kill_line }, + { "echo-area-kill-word", A_ea_kill_word }, + { "echo-area-backward-kill-word", A_ea_backward_kill_word }, + { "echo-area-possible-completions", A_ea_possible_completions }, + { "echo-area-complete", A_ea_complete }, + { "echo-area-scroll-completions-window", A_ea_scroll_completions_window }, +/* Commands found in "./infodoc.c". */ + { "get-help-window", A_info_get_help_window }, + { "get-info-help-node", A_info_get_info_help_node }, + { "describe-key", A_describe_key }, + { "where-is", A_info_where_is }, +/* Commands found in "./m-x.c". */ + { "describe-command", A_describe_command }, + { "execute-command", A_info_execute_command }, + { "set-screen-height", A_set_screen_height }, +/* Commands found in "./indices.c". */ + { "index-search", A_info_index_search }, + { "next-index-match", A_info_next_index_match }, + { "index-apropos", A_info_index_apropos }, +/* Commands found in "./nodemenu.c". */ + { "list-visited-nodes", A_list_visited_nodes }, + { "select-visited-node", A_select_visited_node }, +/* Commands found in "./footnotes.c". */ + { "show-footnotes", A_info_show_footnotes }, +/* Commands found in "./variables.c". */ + { "describe-variable", A_describe_variable }, + { "set-variable", A_set_variable }, + (char *)0 +}; diff --git a/gnu/usr.bin/texinfo/info/key.h b/gnu/usr.bin/texinfo/info/key.h new file mode 100644 index 00000000000..35d2762211f --- /dev/null +++ b/gnu/usr.bin/texinfo/info/key.h @@ -0,0 +1,35 @@ +/* key.h -- Structure associating function names with numeric codes. */ + +/* This file is part of GNU Info, a program for reading online documentation + stored in Info format. + + Copyright (C) 1993 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by Andrew Bettison <andrewb@zip.com.au> */ + +#if !defined (KEY_H) +#define KEY_H + +typedef struct { + char *name; + unsigned char code; +} + FUNCTION_KEY; + +extern FUNCTION_KEY function_key_array[]; + +#endif /* !KEY_H */ diff --git a/gnu/usr.bin/texinfo/intl/config.charset b/gnu/usr.bin/texinfo/intl/config.charset new file mode 100644 index 00000000000..0a1a68db135 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/config.charset @@ -0,0 +1,454 @@ +#! /bin/sh +# Output a system dependent table of character encoding aliases. +# +# Copyright (C) 2000-2002 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# +# The table consists of lines of the form +# ALIAS CANONICAL +# +# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". +# ALIAS is compared in a case sensitive way. +# +# CANONICAL is the GNU canonical name for this character encoding. +# It must be an encoding supported by libiconv. Support by GNU libc is +# also desirable. CANONICAL is case insensitive. Usually an upper case +# MIME charset name is preferred. +# The current list of GNU canonical charset names is as follows. +# +# name used by which systems a MIME name? +# ASCII, ANSI_X3.4-1968 glibc solaris freebsd +# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes +# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes +# ISO-8859-3 glibc yes +# ISO-8859-4 osf solaris freebsd yes +# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes +# ISO-8859-6 glibc aix hpux solaris yes +# ISO-8859-7 glibc aix hpux irix osf solaris yes +# ISO-8859-8 glibc aix hpux osf solaris yes +# ISO-8859-9 glibc aix hpux irix osf solaris yes +# ISO-8859-13 glibc +# ISO-8859-15 glibc aix osf solaris freebsd +# KOI8-R glibc solaris freebsd yes +# KOI8-U glibc freebsd yes +# CP437 dos +# CP775 dos +# CP850 aix osf dos +# CP852 dos +# CP855 dos +# CP856 aix +# CP857 dos +# CP861 dos +# CP862 dos +# CP864 dos +# CP865 dos +# CP866 freebsd dos +# CP869 dos +# CP874 win32 dos +# CP922 aix +# CP932 aix win32 dos +# CP943 aix +# CP949 osf win32 dos +# CP950 win32 dos +# CP1046 aix +# CP1124 aix +# CP1129 aix +# CP1250 win32 +# CP1251 glibc win32 +# CP1252 aix win32 +# CP1253 win32 +# CP1254 win32 +# CP1255 win32 +# CP1256 win32 +# CP1257 win32 +# GB2312 glibc aix hpux irix solaris freebsd yes +# EUC-JP glibc aix hpux irix osf solaris freebsd yes +# EUC-KR glibc aix hpux irix osf solaris freebsd yes +# EUC-TW glibc aix hpux irix osf solaris +# BIG5 glibc aix hpux osf solaris freebsd yes +# BIG5-HKSCS glibc +# GBK aix osf win32 dos +# GB18030 glibc +# SHIFT_JIS hpux osf solaris freebsd yes +# JOHAB glibc win32 +# TIS-620 glibc aix hpux osf solaris +# VISCII glibc yes +# HP-ROMAN8 hpux +# HP-ARABIC8 hpux +# HP-GREEK8 hpux +# HP-HEBREW8 hpux +# HP-TURKISH8 hpux +# HP-KANA8 hpux +# DEC-KANJI osf +# DEC-HANYU osf +# UTF-8 glibc aix hpux osf solaris yes +# +# Note: Names which are not marked as being a MIME name should not be used in +# Internet protocols for information interchange (mail, news, etc.). +# +# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications +# must understand both names and treat them as equivalent. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM + +host="$1" +os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` +echo "# This file contains a table of character encoding aliases," +echo "# suitable for operating system '${os}'." +echo "# It was automatically generated from config.charset." +# List of references, updated during installation: +echo "# Packages using this file: " +case "$os" in + linux* | *-gnu*) + # With glibc-2.1 or newer, we don't need any canonicalization, + # because glibc has iconv and both glibc and libiconv support all + # GNU canonical names directly. Therefore, the Makefile does not + # need to install the alias file at all. + # The following applies only to glibc-2.0.x and older libcs. + echo "ISO_646.IRV:1983 ASCII" + ;; + aix*) + echo "ISO8859-1 ISO-8859-1" + echo "ISO8859-2 ISO-8859-2" + echo "ISO8859-5 ISO-8859-5" + echo "ISO8859-6 ISO-8859-6" + echo "ISO8859-7 ISO-8859-7" + echo "ISO8859-8 ISO-8859-8" + echo "ISO8859-9 ISO-8859-9" + echo "ISO8859-15 ISO-8859-15" + echo "IBM-850 CP850" + echo "IBM-856 CP856" + echo "IBM-921 ISO-8859-13" + echo "IBM-922 CP922" + echo "IBM-932 CP932" + echo "IBM-943 CP943" + echo "IBM-1046 CP1046" + echo "IBM-1124 CP1124" + echo "IBM-1129 CP1129" + echo "IBM-1252 CP1252" + echo "IBM-eucCN GB2312" + echo "IBM-eucJP EUC-JP" + echo "IBM-eucKR EUC-KR" + echo "IBM-eucTW EUC-TW" + echo "big5 BIG5" + echo "GBK GBK" + echo "TIS-620 TIS-620" + echo "UTF-8 UTF-8" + ;; + hpux*) + echo "iso88591 ISO-8859-1" + echo "iso88592 ISO-8859-2" + echo "iso88595 ISO-8859-5" + echo "iso88596 ISO-8859-6" + echo "iso88597 ISO-8859-7" + echo "iso88598 ISO-8859-8" + echo "iso88599 ISO-8859-9" + echo "iso885915 ISO-8859-15" + echo "roman8 HP-ROMAN8" + echo "arabic8 HP-ARABIC8" + echo "greek8 HP-GREEK8" + echo "hebrew8 HP-HEBREW8" + echo "turkish8 HP-TURKISH8" + echo "kana8 HP-KANA8" + echo "tis620 TIS-620" + echo "big5 BIG5" + echo "eucJP EUC-JP" + echo "eucKR EUC-KR" + echo "eucTW EUC-TW" + echo "hp15CN GB2312" + #echo "ccdc ?" # what is this? + echo "SJIS SHIFT_JIS" + echo "utf8 UTF-8" + ;; + irix*) + echo "ISO8859-1 ISO-8859-1" + echo "ISO8859-2 ISO-8859-2" + echo "ISO8859-5 ISO-8859-5" + echo "ISO8859-7 ISO-8859-7" + echo "ISO8859-9 ISO-8859-9" + echo "eucCN GB2312" + echo "eucJP EUC-JP" + echo "eucKR EUC-KR" + echo "eucTW EUC-TW" + ;; + osf*) + echo "ISO8859-1 ISO-8859-1" + echo "ISO8859-2 ISO-8859-2" + echo "ISO8859-4 ISO-8859-4" + echo "ISO8859-5 ISO-8859-5" + echo "ISO8859-7 ISO-8859-7" + echo "ISO8859-8 ISO-8859-8" + echo "ISO8859-9 ISO-8859-9" + echo "ISO8859-15 ISO-8859-15" + echo "cp850 CP850" + echo "big5 BIG5" + echo "dechanyu DEC-HANYU" + echo "dechanzi GB2312" + echo "deckanji DEC-KANJI" + echo "deckorean EUC-KR" + echo "eucJP EUC-JP" + echo "eucKR EUC-KR" + echo "eucTW EUC-TW" + echo "GBK GBK" + echo "KSC5601 CP949" + echo "sdeckanji EUC-JP" + echo "SJIS SHIFT_JIS" + echo "TACTIS TIS-620" + echo "UTF-8 UTF-8" + ;; + solaris*) + echo "646 ASCII" + echo "ISO8859-1 ISO-8859-1" + echo "ISO8859-2 ISO-8859-2" + echo "ISO8859-4 ISO-8859-4" + echo "ISO8859-5 ISO-8859-5" + echo "ISO8859-6 ISO-8859-6" + echo "ISO8859-7 ISO-8859-7" + echo "ISO8859-8 ISO-8859-8" + echo "ISO8859-9 ISO-8859-9" + echo "ISO8859-15 ISO-8859-15" + echo "koi8-r KOI8-R" + echo "BIG5 BIG5" + echo "gb2312 GB2312" + echo "cns11643 EUC-TW" + echo "5601 EUC-KR" + echo "eucJP EUC-JP" + echo "PCK SHIFT_JIS" + echo "TIS620.2533 TIS-620" + #echo "sun_eu_greek ?" # what is this? + echo "UTF-8 UTF-8" + ;; + freebsd* | os2*) + # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore + # localcharset.c falls back to using the full locale name + # from the environment variables. + # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just + # reuse FreeBSD's locale data for OS/2. + echo "C ASCII" + echo "US-ASCII ASCII" + for l in la_LN lt_LN; do + echo "$l.ASCII ASCII" + done + for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ + fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ + lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do + echo "$l.ISO_8859-1 ISO-8859-1" + echo "$l.DIS_8859-15 ISO-8859-15" + done + for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do + echo "$l.ISO_8859-2 ISO-8859-2" + done + for l in la_LN lt_LT; do + echo "$l.ISO_8859-4 ISO-8859-4" + done + for l in ru_RU ru_SU; do + echo "$l.KOI8-R KOI8-R" + echo "$l.ISO_8859-5 ISO-8859-5" + echo "$l.CP866 CP866" + done + echo "uk_UA.KOI8-U KOI8-U" + echo "zh_TW.BIG5 BIG5" + echo "zh_TW.Big5 BIG5" + echo "zh_CN.EUC GB2312" + echo "ja_JP.EUC EUC-JP" + echo "ja_JP.SJIS SHIFT_JIS" + echo "ja_JP.Shift_JIS SHIFT_JIS" + echo "ko_KR.EUC EUC-KR" + ;; + netbsd*) + echo "646 ASCII" + echo "ISO8859-1 ISO-8859-1" + echo "ISO8859-2 ISO-8859-2" + echo "ISO8859-4 ISO-8859-4" + echo "ISO8859-5 ISO-8859-5" + echo "ISO8859-15 ISO-8859-15" + echo "eucCN GB2312" + echo "eucJP EUC-JP" + echo "eucKR EUC-KR" + echo "eucTW EUC-TW" + echo "BIG5 BIG5" + echo "SJIS SHIFT_JIS" + ;; + beos*) + # BeOS has a single locale, and it has UTF-8 encoding. + echo "* UTF-8" + ;; + msdosdjgpp*) + # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore + # localcharset.c falls back to using the full locale name + # from the environment variables. + echo "#" + echo "# The encodings given here may not all be correct." + echo "# If you find that the encoding given for your language and" + echo "# country is not the one your DOS machine actually uses, just" + echo "# correct it in this file, and send a mail to" + echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>" + echo "# and Bruno Haible <haible@clisp.cons.org>." + echo "#" + echo "C ASCII" + # ISO-8859-1 languages + echo "ca CP850" + echo "ca_ES CP850" + echo "da CP865" # not CP850 ?? + echo "da_DK CP865" # not CP850 ?? + echo "de CP850" + echo "de_AT CP850" + echo "de_CH CP850" + echo "de_DE CP850" + echo "en CP850" + echo "en_AU CP850" # not CP437 ?? + echo "en_CA CP850" + echo "en_GB CP850" + echo "en_NZ CP437" + echo "en_US CP437" + echo "en_ZA CP850" # not CP437 ?? + echo "es CP850" + echo "es_AR CP850" + echo "es_BO CP850" + echo "es_CL CP850" + echo "es_CO CP850" + echo "es_CR CP850" + echo "es_CU CP850" + echo "es_DO CP850" + echo "es_EC CP850" + echo "es_ES CP850" + echo "es_GT CP850" + echo "es_HN CP850" + echo "es_MX CP850" + echo "es_NI CP850" + echo "es_PA CP850" + echo "es_PY CP850" + echo "es_PE CP850" + echo "es_SV CP850" + echo "es_UY CP850" + echo "es_VE CP850" + echo "et CP850" + echo "et_EE CP850" + echo "eu CP850" + echo "eu_ES CP850" + echo "fi CP850" + echo "fi_FI CP850" + echo "fr CP850" + echo "fr_BE CP850" + echo "fr_CA CP850" + echo "fr_CH CP850" + echo "fr_FR CP850" + echo "ga CP850" + echo "ga_IE CP850" + echo "gd CP850" + echo "gd_GB CP850" + echo "gl CP850" + echo "gl_ES CP850" + echo "id CP850" # not CP437 ?? + echo "id_ID CP850" # not CP437 ?? + echo "is CP861" # not CP850 ?? + echo "is_IS CP861" # not CP850 ?? + echo "it CP850" + echo "it_CH CP850" + echo "it_IT CP850" + echo "lt CP775" + echo "lt_LT CP775" + echo "lv CP775" + echo "lv_LV CP775" + echo "nb CP865" # not CP850 ?? + echo "nb_NO CP865" # not CP850 ?? + echo "nl CP850" + echo "nl_BE CP850" + echo "nl_NL CP850" + echo "nn CP865" # not CP850 ?? + echo "nn_NO CP865" # not CP850 ?? + echo "no CP865" # not CP850 ?? + echo "no_NO CP865" # not CP850 ?? + echo "pt CP850" + echo "pt_BR CP850" + echo "pt_PT CP850" + echo "sv CP850" + echo "sv_SE CP850" + # ISO-8859-2 languages + echo "cs CP852" + echo "cs_CZ CP852" + echo "hr CP852" + echo "hr_HR CP852" + echo "hu CP852" + echo "hu_HU CP852" + echo "pl CP852" + echo "pl_PL CP852" + echo "ro CP852" + echo "ro_RO CP852" + echo "sk CP852" + echo "sk_SK CP852" + echo "sl CP852" + echo "sl_SI CP852" + echo "sq CP852" + echo "sq_AL CP852" + echo "sr CP852" # CP852 or CP866 or CP855 ?? + echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? + # ISO-8859-3 languages + echo "mt CP850" + echo "mt_MT CP850" + # ISO-8859-5 languages + echo "be CP866" + echo "be_BE CP866" + echo "bg CP866" # not CP855 ?? + echo "bg_BG CP866" # not CP855 ?? + echo "mk CP866" # not CP855 ?? + echo "mk_MK CP866" # not CP855 ?? + echo "ru CP866" + echo "ru_RU CP866" + # ISO-8859-6 languages + echo "ar CP864" + echo "ar_AE CP864" + echo "ar_DZ CP864" + echo "ar_EG CP864" + echo "ar_IQ CP864" + echo "ar_IR CP864" + echo "ar_JO CP864" + echo "ar_KW CP864" + echo "ar_MA CP864" + echo "ar_OM CP864" + echo "ar_QA CP864" + echo "ar_SA CP864" + echo "ar_SY CP864" + # ISO-8859-7 languages + echo "el CP869" + echo "el_GR CP869" + # ISO-8859-8 languages + echo "he CP862" + echo "he_IL CP862" + # ISO-8859-9 languages + echo "tr CP857" + echo "tr_TR CP857" + # Japanese + echo "ja CP932" + echo "ja_JP CP932" + # Chinese + echo "zh_CN GBK" + echo "zh_TW CP950" # not CP938 ?? + # Korean + echo "kr CP949" # not CP934 ?? + echo "kr_KR CP949" # not CP934 ?? + # Thai + echo "th CP874" + echo "th_TH CP874" + # Other + echo "eo CP850" + echo "eo_EO CP850" + ;; +esac diff --git a/gnu/usr.bin/texinfo/intl/dcigettext.c b/gnu/usr.bin/texinfo/intl/dcigettext.c new file mode 100644 index 00000000000..2e724e19e74 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/dcigettext.c @@ -0,0 +1,1167 @@ +/* Implementation of the internal dcigettext function. + Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Tell glibc's <string.h> to provide a prototype for mempcpy(). + This must come before <config.h> because <config.h> may include + <features.h>, and once <features.h> has been included, it's too late. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> + +#ifdef __GNUC__ +# define alloca __builtin_alloca +# define HAVE_ALLOCA 1 +#else +# if defined HAVE_ALLOCA_H || defined _LIBC +# include <alloca.h> +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca +char *alloca (); +# endif +# endif +# endif +#endif + +#include <errno.h> +#ifndef errno +extern int errno; +#endif +#ifndef __set_errno +# define __set_errno(val) errno = (val) +#endif + +#include <stddef.h> +#include <stdlib.h> +#include <string.h> + +#if defined HAVE_UNISTD_H || defined _LIBC +# include <unistd.h> +#endif + +#include <locale.h> + +#if defined HAVE_SYS_PARAM_H || defined _LIBC +# include <sys/param.h> +#endif + +#include "gettextP.h" +#include "plural-exp.h" +#ifdef _LIBC +# include <libintl.h> +#else +# include "libgnuintl.h" +#endif +#include "hash-string.h" + +/* Thread safetyness. */ +#ifdef _LIBC +# include <bits/libc-lock.h> +#else +/* Provide dummy implementation if this is outside glibc. */ +# define __libc_lock_define_initialized(CLASS, NAME) +# define __libc_lock_lock(NAME) +# define __libc_lock_unlock(NAME) +# define __libc_rwlock_define_initialized(CLASS, NAME) +# define __libc_rwlock_rdlock(NAME) +# define __libc_rwlock_unlock(NAME) +#endif + +/* Alignment of types. */ +#if defined __GNUC__ && __GNUC__ >= 2 +# define alignof(TYPE) __alignof__ (TYPE) +#else +# define alignof(TYPE) \ + ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) +#endif + +/* The internal variables in the standalone libintl.a must have different + names than the internal variables in GNU libc, otherwise programs + using libintl.a cannot be linked statically. */ +#if !defined _LIBC +# define _nl_default_default_domain _nl_default_default_domain__ +# define _nl_current_default_domain _nl_current_default_domain__ +# define _nl_default_dirname _nl_default_dirname__ +# define _nl_domain_bindings _nl_domain_bindings__ +#endif + +/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */ +#ifndef offsetof +# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) +#endif + +/* @@ end of prolog @@ */ + +#ifdef _LIBC +/* Rename the non ANSI C functions. This is required by the standard + because some ANSI C functions will require linking with this object + file and the name space must not be polluted. */ +# define getcwd __getcwd +# ifndef stpcpy +# define stpcpy __stpcpy +# endif +# define tfind __tfind +#else +# if !defined HAVE_GETCWD +char *getwd (); +# define getcwd(buf, max) getwd (buf) +# else +char *getcwd (); +# endif +# ifndef HAVE_STPCPY +static char *stpcpy PARAMS ((char *dest, const char *src)); +# endif +# ifndef HAVE_MEMPCPY +static void *mempcpy PARAMS ((void *dest, const void *src, size_t n)); +# endif +#endif + +/* Amount to increase buffer size by in each try. */ +#define PATH_INCR 32 + +/* The following is from pathmax.h. */ +/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define + PATH_MAX but might cause redefinition warnings when sys/param.h is + later included (as on MORE/BSD 4.3). */ +#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) +# include <limits.h> +#endif + +#ifndef _POSIX_PATH_MAX +# define _POSIX_PATH_MAX 255 +#endif + +#if !defined PATH_MAX && defined _PC_PATH_MAX +# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) +#endif + +/* Don't include sys/param.h if it already has been. */ +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include <sys/param.h> +#endif + +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif + +#ifndef PATH_MAX +# define PATH_MAX _POSIX_PATH_MAX +#endif + +/* Pathname support. + ISSLASH(C) tests whether C is a directory separator character. + IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, + it may be concatenated to a directory pathname. + IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. + */ +#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ + /* Win32, OS/2, DOS */ +# define ISSLASH(C) ((C) == '/' || (C) == '\\') +# define HAS_DEVICE(P) \ + ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ + && (P)[1] == ':') +# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) +# define IS_PATH_WITH_DIR(P) \ + (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) +#else + /* Unix */ +# define ISSLASH(C) ((C) == '/') +# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) +# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +#endif + +/* This is the type used for the search tree where known translations + are stored. */ +struct known_translation_t +{ + /* Domain in which to search. */ + char *domainname; + + /* The category. */ + int category; + + /* State of the catalog counter at the point the string was found. */ + int counter; + + /* Catalog where the string was found. */ + struct loaded_l10nfile *domain; + + /* And finally the translation. */ + const char *translation; + size_t translation_length; + + /* Pointer to the string in question. */ + char msgid[ZERO]; +}; + +/* Root of the search tree with known translations. We can use this + only if the system provides the `tsearch' function family. */ +#if defined HAVE_TSEARCH || defined _LIBC +# include <search.h> + +static void *root; + +# ifdef _LIBC +# define tsearch __tsearch +# endif + +/* Function to compare two entries in the table of known translations. */ +static int transcmp PARAMS ((const void *p1, const void *p2)); +static int +transcmp (p1, p2) + const void *p1; + const void *p2; +{ + const struct known_translation_t *s1; + const struct known_translation_t *s2; + int result; + + s1 = (const struct known_translation_t *) p1; + s2 = (const struct known_translation_t *) p2; + + result = strcmp (s1->msgid, s2->msgid); + if (result == 0) + { + result = strcmp (s1->domainname, s2->domainname); + if (result == 0) + /* We compare the category last (though this is the cheapest + operation) since it is hopefully always the same (namely + LC_MESSAGES). */ + result = s1->category - s2->category; + } + + return result; +} +#endif + +/* Name of the default domain used for gettext(3) prior any call to + textdomain(3). The default value for this is "messages". */ +const char _nl_default_default_domain[] = "messages"; + +/* Value used as the default domain for gettext(3). */ +const char *_nl_current_default_domain = _nl_default_default_domain; + +/* Contains the default location of the message catalogs. */ +#if defined __EMX__ +extern const char _nl_default_dirname[]; +#else +const char _nl_default_dirname[] = LOCALEDIR; +#endif + +/* List with bindings of specific domains created by bindtextdomain() + calls. */ +struct binding *_nl_domain_bindings; + +/* Prototypes for local functions. */ +static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain, + unsigned long int n, + const char *translation, + size_t translation_len)) + internal_function; +static const char *category_to_name PARAMS ((int category)) internal_function; +static const char *guess_category_value PARAMS ((int category, + const char *categoryname)) + internal_function; + + +/* For those loosing systems which don't have `alloca' we have to add + some additional code emulating it. */ +#ifdef HAVE_ALLOCA +/* Nothing has to be done. */ +# define ADD_BLOCK(list, address) /* nothing */ +# define FREE_BLOCKS(list) /* nothing */ +#else +struct block_list +{ + void *address; + struct block_list *next; +}; +# define ADD_BLOCK(list, addr) \ + do { \ + struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ + /* If we cannot get a free block we cannot add the new element to \ + the list. */ \ + if (newp != NULL) { \ + newp->address = (addr); \ + newp->next = (list); \ + (list) = newp; \ + } \ + } while (0) +# define FREE_BLOCKS(list) \ + do { \ + while (list != NULL) { \ + struct block_list *old = list; \ + list = list->next; \ + free (old); \ + } \ + } while (0) +# undef alloca +# define alloca(size) (malloc (size)) +#endif /* have alloca */ + + +#ifdef _LIBC +/* List of blocks allocated for translations. */ +typedef struct transmem_list +{ + struct transmem_list *next; + char data[ZERO]; +} transmem_block_t; +static struct transmem_list *transmem_list; +#else +typedef unsigned char transmem_block_t; +#endif + + +/* Names for the libintl functions are a problem. They must not clash + with existing names and they should follow ANSI C. But this source + code is also used in GNU C Library where the names have a __ + prefix. So we have to make a difference here. */ +#ifdef _LIBC +# define DCIGETTEXT __dcigettext +#else +# define DCIGETTEXT dcigettext__ +#endif + +/* Lock variable to protect the global data in the gettext implementation. */ +#ifdef _LIBC +__libc_rwlock_define_initialized (, _nl_state_lock) +#endif + +/* Checking whether the binaries runs SUID must be done and glibc provides + easier methods therefore we make a difference here. */ +#ifdef _LIBC +# define ENABLE_SECURE __libc_enable_secure +# define DETERMINE_SECURE +#else +# ifndef HAVE_GETUID +# define getuid() 0 +# endif +# ifndef HAVE_GETGID +# define getgid() 0 +# endif +# ifndef HAVE_GETEUID +# define geteuid() getuid() +# endif +# ifndef HAVE_GETEGID +# define getegid() getgid() +# endif +static int enable_secure; +# define ENABLE_SECURE (enable_secure == 1) +# define DETERMINE_SECURE \ + if (enable_secure == 0) \ + { \ + if (getuid () != geteuid () || getgid () != getegid ()) \ + enable_secure = 1; \ + else \ + enable_secure = -1; \ + } +#endif + +/* Get the function to evaluate the plural expression. */ +#include "eval-plural.h" + +/* Look up MSGID in the DOMAINNAME message catalog for the current + CATEGORY locale and, if PLURAL is nonzero, search over string + depending on the plural form determined by N. */ +char * +DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) + const char *domainname; + const char *msgid1; + const char *msgid2; + int plural; + unsigned long int n; + int category; +{ +#ifndef HAVE_ALLOCA + struct block_list *block_list = NULL; +#endif + struct loaded_l10nfile *domain; + struct binding *binding; + const char *categoryname; + const char *categoryvalue; + char *dirname, *xdomainname; + char *single_locale; + char *retval; + size_t retlen; + int saved_errno; +#if defined HAVE_TSEARCH || defined _LIBC + struct known_translation_t *search; + struct known_translation_t **foundp = NULL; + size_t msgid_len; +#endif + size_t domainname_len; + + /* If no real MSGID is given return NULL. */ + if (msgid1 == NULL) + return NULL; + + __libc_rwlock_rdlock (_nl_state_lock); + + /* If DOMAINNAME is NULL, we are interested in the default domain. If + CATEGORY is not LC_MESSAGES this might not make much sense but the + definition left this undefined. */ + if (domainname == NULL) + domainname = _nl_current_default_domain; + + /* OS/2 specific: backward compatibility with older libintl versions */ +#ifdef LC_MESSAGES_COMPAT + if (category == LC_MESSAGES_COMPAT) + category = LC_MESSAGES; +#endif + +#if defined HAVE_TSEARCH || defined _LIBC + msgid_len = strlen (msgid1) + 1; + + /* Try to find the translation among those which we found at + some time. */ + search = (struct known_translation_t *) + alloca (offsetof (struct known_translation_t, msgid) + msgid_len); + memcpy (search->msgid, msgid1, msgid_len); + search->domainname = (char *) domainname; + search->category = category; + + foundp = (struct known_translation_t **) tfind (search, &root, transcmp); + if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) + { + /* Now deal with plural. */ + if (plural) + retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, + (*foundp)->translation_length); + else + retval = (char *) (*foundp)->translation; + + __libc_rwlock_unlock (_nl_state_lock); + return retval; + } +#endif + + /* Preserve the `errno' value. */ + saved_errno = errno; + + /* See whether this is a SUID binary or not. */ + DETERMINE_SECURE; + + /* First find matching binding. */ + for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) + { + int compare = strcmp (domainname, binding->domainname); + if (compare == 0) + /* We found it! */ + break; + if (compare < 0) + { + /* It is not in the list. */ + binding = NULL; + break; + } + } + + if (binding == NULL) + dirname = (char *) _nl_default_dirname; + else if (IS_ABSOLUTE_PATH (binding->dirname)) + dirname = binding->dirname; + else + { + /* We have a relative path. Make it absolute now. */ + size_t dirname_len = strlen (binding->dirname) + 1; + size_t path_max; + char *ret; + + path_max = (unsigned int) PATH_MAX; + path_max += 2; /* The getcwd docs say to do this. */ + + for (;;) + { + dirname = (char *) alloca (path_max + dirname_len); + ADD_BLOCK (block_list, dirname); + + __set_errno (0); + ret = getcwd (dirname, path_max); + if (ret != NULL || errno != ERANGE) + break; + + path_max += path_max / 2; + path_max += PATH_INCR; + } + + if (ret == NULL) + { + /* We cannot get the current working directory. Don't signal an + error but simply return the default string. */ + FREE_BLOCKS (block_list); + __libc_rwlock_unlock (_nl_state_lock); + __set_errno (saved_errno); + return (plural == 0 + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); + } + + stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); + } + + /* Now determine the symbolic name of CATEGORY and its value. */ + categoryname = category_to_name (category); + categoryvalue = guess_category_value (category, categoryname); + + domainname_len = strlen (domainname); + xdomainname = (char *) alloca (strlen (categoryname) + + domainname_len + 5); + ADD_BLOCK (block_list, xdomainname); + + stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), + domainname, domainname_len), + ".mo"); + + /* Creating working area. */ + single_locale = (char *) alloca (strlen (categoryvalue) + 1); + ADD_BLOCK (block_list, single_locale); + + + /* Search for the given string. This is a loop because we perhaps + got an ordered list of languages to consider for the translation. */ + while (1) + { + /* Make CATEGORYVALUE point to the next element of the list. */ + while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') + ++categoryvalue; + if (categoryvalue[0] == '\0') + { + /* The whole contents of CATEGORYVALUE has been searched but + no valid entry has been found. We solve this situation + by implicitly appending a "C" entry, i.e. no translation + will take place. */ + single_locale[0] = 'C'; + single_locale[1] = '\0'; + } + else + { + char *cp = single_locale; + while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') + *cp++ = *categoryvalue++; + *cp = '\0'; + + /* When this is a SUID binary we must not allow accessing files + outside the dedicated directories. */ + if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) + /* Ingore this entry. */ + continue; + } + + /* If the current locale value is C (or POSIX) we don't load a + domain. Return the MSGID. */ + if (strcmp (single_locale, "C") == 0 + || strcmp (single_locale, "POSIX") == 0) + { + FREE_BLOCKS (block_list); + __libc_rwlock_unlock (_nl_state_lock); + __set_errno (saved_errno); + return (plural == 0 + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); + } + + + /* Find structure describing the message catalog matching the + DOMAINNAME and CATEGORY. */ + domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); + + if (domain != NULL) + { + retval = _nl_find_msg (domain, binding, msgid1, &retlen); + + if (retval == NULL) + { + int cnt; + + for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) + { + retval = _nl_find_msg (domain->successor[cnt], binding, + msgid1, &retlen); + + if (retval != NULL) + { + domain = domain->successor[cnt]; + break; + } + } + } + + if (retval != NULL) + { + /* Found the translation of MSGID1 in domain DOMAIN: + starting at RETVAL, RETLEN bytes. */ + FREE_BLOCKS (block_list); + __set_errno (saved_errno); +#if defined HAVE_TSEARCH || defined _LIBC + if (foundp == NULL) + { + /* Create a new entry and add it to the search tree. */ + struct known_translation_t *newp; + + newp = (struct known_translation_t *) + malloc (offsetof (struct known_translation_t, msgid) + + msgid_len + domainname_len + 1); + if (newp != NULL) + { + newp->domainname = + mempcpy (newp->msgid, msgid1, msgid_len); + memcpy (newp->domainname, domainname, domainname_len + 1); + newp->category = category; + newp->counter = _nl_msg_cat_cntr; + newp->domain = domain; + newp->translation = retval; + newp->translation_length = retlen; + + /* Insert the entry in the search tree. */ + foundp = (struct known_translation_t **) + tsearch (newp, &root, transcmp); + if (foundp == NULL + || __builtin_expect (*foundp != newp, 0)) + /* The insert failed. */ + free (newp); + } + } + else + { + /* We can update the existing entry. */ + (*foundp)->counter = _nl_msg_cat_cntr; + (*foundp)->domain = domain; + (*foundp)->translation = retval; + (*foundp)->translation_length = retlen; + } +#endif + /* Now deal with plural. */ + if (plural) + retval = plural_lookup (domain, n, retval, retlen); + + __libc_rwlock_unlock (_nl_state_lock); + return retval; + } + } + } + /* NOTREACHED */ +} + + +char * +internal_function +_nl_find_msg (domain_file, domainbinding, msgid, lengthp) + struct loaded_l10nfile *domain_file; + struct binding *domainbinding; + const char *msgid; + size_t *lengthp; +{ + struct loaded_domain *domain; + size_t act; + char *result; + size_t resultlen; + + if (domain_file->decided == 0) + _nl_load_domain (domain_file, domainbinding); + + if (domain_file->data == NULL) + return NULL; + + domain = (struct loaded_domain *) domain_file->data; + + /* Locate the MSGID and its translation. */ + if (domain->hash_size > 2 && domain->hash_tab != NULL) + { + /* Use the hashing table. */ + nls_uint32 len = strlen (msgid); + nls_uint32 hash_val = hash_string (msgid); + nls_uint32 idx = hash_val % domain->hash_size; + nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); + + while (1) + { + nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]); + + if (nstr == 0) + /* Hash table entry is empty. */ + return NULL; + + /* Compare msgid with the original string at index nstr-1. + We compare the lengths with >=, not ==, because plural entries + are represented by strings with an embedded NUL. */ + if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len + && (strcmp (msgid, + domain->data + W (domain->must_swap, + domain->orig_tab[nstr - 1].offset)) + == 0)) + { + act = nstr - 1; + goto found; + } + + if (idx >= domain->hash_size - incr) + idx -= domain->hash_size - incr; + else + idx += incr; + } + /* NOTREACHED */ + } + else + { + /* Try the default method: binary search in the sorted array of + messages. */ + size_t top, bottom; + + bottom = 0; + top = domain->nstrings; + while (bottom < top) + { + int cmp_val; + + act = (bottom + top) / 2; + cmp_val = strcmp (msgid, (domain->data + + W (domain->must_swap, + domain->orig_tab[act].offset))); + if (cmp_val < 0) + top = act; + else if (cmp_val > 0) + bottom = act + 1; + else + goto found; + } + /* No translation was found. */ + return NULL; + } + + found: + /* The translation was found at index ACT. If we have to convert the + string to use a different character set, this is the time. */ + result = ((char *) domain->data + + W (domain->must_swap, domain->trans_tab[act].offset)); + resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; + +#if defined _LIBC || HAVE_ICONV + if (domain->codeset_cntr + != (domainbinding != NULL ? domainbinding->codeset_cntr : 0)) + { + /* The domain's codeset has changed through bind_textdomain_codeset() + since the message catalog was initialized or last accessed. We + have to reinitialize the converter. */ + _nl_free_domain_conv (domain); + _nl_init_domain_conv (domain_file, domain, domainbinding); + } + + if ( +# ifdef _LIBC + domain->conv != (__gconv_t) -1 +# else +# if HAVE_ICONV + domain->conv != (iconv_t) -1 +# endif +# endif + ) + { + /* We are supposed to do a conversion. First allocate an + appropriate table with the same structure as the table + of translations in the file, where we can put the pointers + to the converted strings in. + There is a slight complication with plural entries. They + are represented by consecutive NUL terminated strings. We + handle this case by converting RESULTLEN bytes, including + NULs. */ + + if (domain->conv_tab == NULL + && ((domain->conv_tab = (char **) calloc (domain->nstrings, + sizeof (char *))) + == NULL)) + /* Mark that we didn't succeed allocating a table. */ + domain->conv_tab = (char **) -1; + + if (__builtin_expect (domain->conv_tab == (char **) -1, 0)) + /* Nothing we can do, no more memory. */ + goto converted; + + if (domain->conv_tab[act] == NULL) + { + /* We haven't used this string so far, so it is not + translated yet. Do this now. */ + /* We use a bit more efficient memory handling. + We allocate always larger blocks which get used over + time. This is faster than many small allocations. */ + __libc_lock_define_initialized (static, lock) +# define INITIAL_BLOCK_SIZE 4080 + static unsigned char *freemem; + static size_t freemem_size; + + const unsigned char *inbuf; + unsigned char *outbuf; + int malloc_count; +# ifndef _LIBC + transmem_block_t *transmem_list = NULL; +# endif + + __libc_lock_lock (lock); + + inbuf = (const unsigned char *) result; + outbuf = freemem + sizeof (size_t); + + malloc_count = 0; + while (1) + { + transmem_block_t *newmem; +# ifdef _LIBC + size_t non_reversible; + int res; + + if (freemem_size < sizeof (size_t)) + goto resize_freemem; + + res = __gconv (domain->conv, + &inbuf, inbuf + resultlen, + &outbuf, + outbuf + freemem_size - sizeof (size_t), + &non_reversible); + + if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) + break; + + if (res != __GCONV_FULL_OUTPUT) + { + __libc_lock_unlock (lock); + goto converted; + } + + inbuf = result; +# else +# if HAVE_ICONV + const char *inptr = (const char *) inbuf; + size_t inleft = resultlen; + char *outptr = (char *) outbuf; + size_t outleft; + + if (freemem_size < sizeof (size_t)) + goto resize_freemem; + + outleft = freemem_size - sizeof (size_t); + if (iconv (domain->conv, + (ICONV_CONST char **) &inptr, &inleft, + &outptr, &outleft) + != (size_t) (-1)) + { + outbuf = (unsigned char *) outptr; + break; + } + if (errno != E2BIG) + { + __libc_lock_unlock (lock); + goto converted; + } +# endif +# endif + + resize_freemem: + /* We must allocate a new buffer or resize the old one. */ + if (malloc_count > 0) + { + ++malloc_count; + freemem_size = malloc_count * INITIAL_BLOCK_SIZE; + newmem = (transmem_block_t *) realloc (transmem_list, + freemem_size); +# ifdef _LIBC + if (newmem != NULL) + transmem_list = transmem_list->next; + else + { + struct transmem_list *old = transmem_list; + + transmem_list = transmem_list->next; + free (old); + } +# endif + } + else + { + malloc_count = 1; + freemem_size = INITIAL_BLOCK_SIZE; + newmem = (transmem_block_t *) malloc (freemem_size); + } + if (__builtin_expect (newmem == NULL, 0)) + { + freemem = NULL; + freemem_size = 0; + __libc_lock_unlock (lock); + goto converted; + } + +# ifdef _LIBC + /* Add the block to the list of blocks we have to free + at some point. */ + newmem->next = transmem_list; + transmem_list = newmem; + + freemem = newmem->data; + freemem_size -= offsetof (struct transmem_list, data); +# else + transmem_list = newmem; + freemem = newmem; +# endif + + outbuf = freemem + sizeof (size_t); + } + + /* We have now in our buffer a converted string. Put this + into the table of conversions. */ + *(size_t *) freemem = outbuf - freemem - sizeof (size_t); + domain->conv_tab[act] = (char *) freemem; + /* Shrink freemem, but keep it aligned. */ + freemem_size -= outbuf - freemem; + freemem = outbuf; + freemem += freemem_size & (alignof (size_t) - 1); + freemem_size = freemem_size & ~ (alignof (size_t) - 1); + + __libc_lock_unlock (lock); + } + + /* Now domain->conv_tab[act] contains the translation of all + the plural variants. */ + result = domain->conv_tab[act] + sizeof (size_t); + resultlen = *(size_t *) domain->conv_tab[act]; + } + + converted: + /* The result string is converted. */ + +#endif /* _LIBC || HAVE_ICONV */ + + *lengthp = resultlen; + return result; +} + + +/* Look up a plural variant. */ +static char * +internal_function +plural_lookup (domain, n, translation, translation_len) + struct loaded_l10nfile *domain; + unsigned long int n; + const char *translation; + size_t translation_len; +{ + struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; + unsigned long int index; + const char *p; + + index = plural_eval (domaindata->plural, n); + if (index >= domaindata->nplurals) + /* This should never happen. It means the plural expression and the + given maximum value do not match. */ + index = 0; + + /* Skip INDEX strings at TRANSLATION. */ + p = translation; + while (index-- > 0) + { +#ifdef _LIBC + p = __rawmemchr (p, '\0'); +#else + p = strchr (p, '\0'); +#endif + /* And skip over the NUL byte. */ + p++; + + if (p >= translation + translation_len) + /* This should never happen. It means the plural expression + evaluated to a value larger than the number of variants + available for MSGID1. */ + return (char *) translation; + } + return (char *) p; +} + + +/* Return string representation of locale CATEGORY. */ +static const char * +internal_function +category_to_name (category) + int category; +{ + const char *retval; + + switch (category) + { +#ifdef LC_COLLATE + case LC_COLLATE: + retval = "LC_COLLATE"; + break; +#endif +#ifdef LC_CTYPE + case LC_CTYPE: + retval = "LC_CTYPE"; + break; +#endif +#ifdef LC_MONETARY + case LC_MONETARY: + retval = "LC_MONETARY"; + break; +#endif +#ifdef LC_NUMERIC + case LC_NUMERIC: + retval = "LC_NUMERIC"; + break; +#endif +#ifdef LC_TIME + case LC_TIME: + retval = "LC_TIME"; + break; +#endif +#ifdef LC_MESSAGES + case LC_MESSAGES: + retval = "LC_MESSAGES"; + break; +#endif +#ifdef LC_RESPONSE + case LC_RESPONSE: + retval = "LC_RESPONSE"; + break; +#endif +#ifdef LC_ALL + case LC_ALL: + /* This might not make sense but is perhaps better than any other + value. */ + retval = "LC_ALL"; + break; +#endif + default: + /* If you have a better idea for a default value let me know. */ + retval = "LC_XXX"; + } + + return retval; +} + +/* Guess value of current locale from value of the environment variables. */ +static const char * +internal_function +guess_category_value (category, categoryname) + int category; + const char *categoryname; +{ + const char *language; + const char *retval; + + /* The highest priority value is the `LANGUAGE' environment + variable. But we don't use the value if the currently selected + locale is the C locale. This is a GNU extension. */ + language = getenv ("LANGUAGE"); + if (language != NULL && language[0] == '\0') + language = NULL; + + /* We have to proceed with the POSIX methods of looking to `LC_ALL', + `LC_xxx', and `LANG'. On some systems this can be done by the + `setlocale' function itself. */ +#ifdef _LIBC + retval = setlocale (category, NULL); +#else + retval = _nl_locale_name (category, categoryname); +#endif + + /* Ignore LANGUAGE if the locale is set to "C" because + 1. "C" locale usually uses the ASCII encoding, and most international + messages use non-ASCII characters. These characters get displayed + as question marks (if using glibc's iconv()) or as invalid 8-bit + characters (because other iconv()s refuse to convert most non-ASCII + characters to ASCII). In any case, the output is ugly. + 2. The precise output of some programs in the "C" locale is specified + by POSIX and should not depend on environment variables like + "LANGUAGE". We allow such programs to use gettext(). */ + return language != NULL && strcmp (retval, "C") != 0 ? language : retval; +} + +/* @@ begin of epilog @@ */ + +/* We don't want libintl.a to depend on any other library. So we + avoid the non-standard function stpcpy. In GNU C Library this + function is available, though. Also allow the symbol HAVE_STPCPY + to be defined. */ +#if !_LIBC && !HAVE_STPCPY +static char * +stpcpy (dest, src) + char *dest; + const char *src; +{ + while ((*dest++ = *src++) != '\0') + /* Do nothing. */ ; + return dest - 1; +} +#endif + +#if !_LIBC && !HAVE_MEMPCPY +static void * +mempcpy (dest, src, n) + void *dest; + const void *src; + size_t n; +{ + return (void *) ((char *) memcpy (dest, src, n) + n); +} +#endif + + +#ifdef _LIBC +/* If we want to free all resources we have to do some work at + program's end. */ +static void __attribute__ ((unused)) +free_mem (void) +{ + void *old; + + while (_nl_domain_bindings != NULL) + { + struct binding *oldp = _nl_domain_bindings; + _nl_domain_bindings = _nl_domain_bindings->next; + if (oldp->dirname != _nl_default_dirname) + /* Yes, this is a pointer comparison. */ + free (oldp->dirname); + free (oldp->codeset); + free (oldp); + } + + if (_nl_current_default_domain != _nl_default_default_domain) + /* Yes, again a pointer comparison. */ + free ((char *) _nl_current_default_domain); + + /* Remove the search tree with the known translations. */ + __tdestroy (root, free); + root = NULL; + + while (transmem_list != NULL) + { + old = transmem_list; + transmem_list = transmem_list->next; + free (old); + } +} + +text_set_element (__libc_subfreeres, free_mem); +#endif diff --git a/gnu/usr.bin/texinfo/intl/dcngettext.c b/gnu/usr.bin/texinfo/intl/dcngettext.c new file mode 100644 index 00000000000..c16af21269c --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/dcngettext.c @@ -0,0 +1,60 @@ +/* Implementation of the dcngettext(3) function. + Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include "gettextP.h" +#ifdef _LIBC +# include <libintl.h> +#else +# include "libgnuintl.h" +#endif + +/* @@ end of prolog @@ */ + +/* Names for the libintl functions are a problem. They must not clash + with existing names and they should follow ANSI C. But this source + code is also used in GNU C Library where the names have a __ + prefix. So we have to make a difference here. */ +#ifdef _LIBC +# define DCNGETTEXT __dcngettext +# define DCIGETTEXT __dcigettext +#else +# define DCNGETTEXT dcngettext__ +# define DCIGETTEXT dcigettext__ +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +char * +DCNGETTEXT (domainname, msgid1, msgid2, n, category) + const char *domainname; + const char *msgid1; + const char *msgid2; + unsigned long int n; + int category; +{ + return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); +} + +#ifdef _LIBC +/* Alias for function name in GNU C Library. */ +weak_alias (__dcngettext, dcngettext); +#endif diff --git a/gnu/usr.bin/texinfo/intl/dngettext.c b/gnu/usr.bin/texinfo/intl/dngettext.c new file mode 100644 index 00000000000..f214e95b471 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/dngettext.c @@ -0,0 +1,61 @@ +/* Implementation of the dngettext(3) function. + Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <locale.h> + +#include "gettextP.h" +#ifdef _LIBC +# include <libintl.h> +#else +# include "libgnuintl.h" +#endif + +/* @@ end of prolog @@ */ + +/* Names for the libintl functions are a problem. They must not clash + with existing names and they should follow ANSI C. But this source + code is also used in GNU C Library where the names have a __ + prefix. So we have to make a difference here. */ +#ifdef _LIBC +# define DNGETTEXT __dngettext +# define DCNGETTEXT __dcngettext +#else +# define DNGETTEXT dngettext__ +# define DCNGETTEXT dcngettext__ +#endif + +/* Look up MSGID in the DOMAINNAME message catalog of the current + LC_MESSAGES locale and skip message according to the plural form. */ +char * +DNGETTEXT (domainname, msgid1, msgid2, n) + const char *domainname; + const char *msgid1; + const char *msgid2; + unsigned long int n; +{ + return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); +} + +#ifdef _LIBC +/* Alias for function name in GNU C Library. */ +weak_alias (__dngettext, dngettext); +#endif diff --git a/gnu/usr.bin/texinfo/intl/eval-plural.h b/gnu/usr.bin/texinfo/intl/eval-plural.h new file mode 100644 index 00000000000..44f493425e9 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/eval-plural.h @@ -0,0 +1,106 @@ +/* Plural expression evaluation. + Copyright (C) 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef STATIC +#define STATIC static +#endif + +/* Evaluate the plural expression and return an index value. */ +STATIC unsigned long int plural_eval PARAMS ((struct expression *pexp, + unsigned long int n)) + internal_function; + +STATIC +unsigned long int +internal_function +plural_eval (pexp, n) + struct expression *pexp; + unsigned long int n; +{ + switch (pexp->nargs) + { + case 0: + switch (pexp->operation) + { + case var: + return n; + case num: + return pexp->val.num; + default: + break; + } + /* NOTREACHED */ + break; + case 1: + { + /* pexp->operation must be lnot. */ + unsigned long int arg = plural_eval (pexp->val.args[0], n); + return ! arg; + } + case 2: + { + unsigned long int leftarg = plural_eval (pexp->val.args[0], n); + if (pexp->operation == lor) + return leftarg || plural_eval (pexp->val.args[1], n); + else if (pexp->operation == land) + return leftarg && plural_eval (pexp->val.args[1], n); + else + { + unsigned long int rightarg = plural_eval (pexp->val.args[1], n); + + switch (pexp->operation) + { + case mult: + return leftarg * rightarg; + case divide: + return leftarg / rightarg; + case module: + return leftarg % rightarg; + case plus: + return leftarg + rightarg; + case minus: + return leftarg - rightarg; + case less_than: + return leftarg < rightarg; + case greater_than: + return leftarg > rightarg; + case less_or_equal: + return leftarg <= rightarg; + case greater_or_equal: + return leftarg >= rightarg; + case equal: + return leftarg == rightarg; + case not_equal: + return leftarg != rightarg; + default: + break; + } + } + /* NOTREACHED */ + break; + } + case 3: + { + /* pexp->operation must be qmop. */ + unsigned long int boolarg = plural_eval (pexp->val.args[0], n); + return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); + } + } + /* NOTREACHED */ + return 0; +} diff --git a/gnu/usr.bin/texinfo/intl/gmo.h b/gnu/usr.bin/texinfo/intl/gmo.h new file mode 100644 index 00000000000..f05ae470c72 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/gmo.h @@ -0,0 +1,100 @@ +/* Description of GNU message catalog format: general file layout. + Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _GETTEXT_H +#define _GETTEXT_H 1 + +#include <limits.h> + +/* @@ end of prolog @@ */ + +/* The magic number of the GNU message catalog format. */ +#define _MAGIC 0x950412de +#define _MAGIC_SWAPPED 0xde120495 + +/* Revision number of the currently used .mo (binary) file format. */ +#define MO_REVISION_NUMBER 0 + +/* The following contortions are an attempt to use the C preprocessor + to determine an unsigned integral type that is 32 bits wide. An + alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but + as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work + when cross-compiling. */ + +#if __STDC__ +# define UINT_MAX_32_BITS 4294967295U +#else +# define UINT_MAX_32_BITS 0xFFFFFFFF +#endif + +/* If UINT_MAX isn't defined, assume it's a 32-bit type. + This should be valid for all systems GNU cares about because + that doesn't include 16-bit systems, and only modern systems + (that certainly have <limits.h>) have 64+-bit integral types. */ + +#ifndef UINT_MAX +# define UINT_MAX UINT_MAX_32_BITS +#endif + +#if UINT_MAX == UINT_MAX_32_BITS +typedef unsigned nls_uint32; +#else +# if USHRT_MAX == UINT_MAX_32_BITS +typedef unsigned short nls_uint32; +# else +# if ULONG_MAX == UINT_MAX_32_BITS +typedef unsigned long nls_uint32; +# else + /* The following line is intended to throw an error. Using #error is + not portable enough. */ + "Cannot determine unsigned 32-bit data type." +# endif +# endif +#endif + + +/* Header for binary .mo file format. */ +struct mo_file_header +{ + /* The magic number. */ + nls_uint32 magic; + /* The revision number of the file format. */ + nls_uint32 revision; + /* The number of strings pairs. */ + nls_uint32 nstrings; + /* Offset of table with start offsets of original strings. */ + nls_uint32 orig_tab_offset; + /* Offset of table with start offsets of translation strings. */ + nls_uint32 trans_tab_offset; + /* Size of hashing table. */ + nls_uint32 hash_tab_size; + /* Offset of first hashing entry. */ + nls_uint32 hash_tab_offset; +}; + +struct string_desc +{ + /* Length of addressed string. */ + nls_uint32 length; + /* Offset of string in file. */ + nls_uint32 offset; +}; + +/* @@ begin of epilog @@ */ + +#endif /* gettext.h */ diff --git a/gnu/usr.bin/texinfo/intl/libgnuintl.h b/gnu/usr.bin/texinfo/intl/libgnuintl.h new file mode 100644 index 00000000000..7fd547ef048 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/libgnuintl.h @@ -0,0 +1,137 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include <locale.h> + +/* The LC_MESSAGES locale category is the category used by the functions + gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. + On systems that don't define it, use an arbitrary value instead. + On Solaris, <locale.h> defines __LOCALE_H then includes <libintl.h> (i.e. + this file!) and then only defines LC_MESSAGES. To avoid a redefinition + warning, don't define LC_MESSAGES in this case. */ +#if !defined LC_MESSAGES && !defined __LOCALE_H +# define LC_MESSAGES 1729 +#endif + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Resolve a platform specific conflict on DJGPP. GNU gettext takes + precedence over _conio_gettext. */ +#ifdef __DJGPP__ +# undef gettext +# define gettext gettext +#endif + +/* Use _INTL_PARAMS, not PARAMS, in order to avoid clashes with identifiers + used by programs. Similarly, test __PROTOTYPES, not PROTOTYPES. */ +#ifndef _INTL_PARAMS +# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES +# define _INTL_PARAMS(args) args +# else +# define _INTL_PARAMS(args) () +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +extern char *gettext _INTL_PARAMS ((const char *__msgid)); + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +extern char *dgettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid)); + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +extern char *dcgettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid, + int __category)); + + +/* Similar to `gettext' but select the plural form corresponding to the + number N. */ +extern char *ngettext _INTL_PARAMS ((const char *__msgid1, + const char *__msgid2, + unsigned long int __n)); + +/* Similar to `dgettext' but select the plural form corresponding to the + number N. */ +extern char *dngettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid1, + const char *__msgid2, + unsigned long int __n)); + +/* Similar to `dcgettext' but select the plural form corresponding to the + number N. */ +extern char *dcngettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid1, + const char *__msgid2, + unsigned long int __n, + int __category)); + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +extern char *textdomain _INTL_PARAMS ((const char *__domainname)); + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname, + const char *__dirname)); + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname, + const char *__codeset)); + + +/* Optimized version of the functions above. */ +#if defined __OPTIMIZED +/* These are macros, but could also be inline functions. */ + +# define gettext(msgid) \ + dgettext (NULL, msgid) + +# define dgettext(domainname, msgid) \ + dcgettext (domainname, msgid, LC_MESSAGES) + +# define ngettext(msgid1, msgid2, n) \ + dngettext (NULL, msgid1, msgid2, n) + +# define dngettext(domainname, msgid1, msgid2, n) \ + dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES) + +#endif /* Optimizing. */ + + +#ifdef __cplusplus +} +#endif + +#endif /* libintl.h */ diff --git a/gnu/usr.bin/texinfo/intl/localcharset.c b/gnu/usr.bin/texinfo/intl/localcharset.c new file mode 100644 index 00000000000..bc5587bf601 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/localcharset.c @@ -0,0 +1,345 @@ +/* Determine a canonical name for the current locale's character encoding. + + Copyright (C) 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Written by Bruno Haible <haible@clisp.cons.org>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#if HAVE_STDDEF_H +# include <stddef.h> +#endif + +#include <stdio.h> +#if HAVE_STRING_H +# include <string.h> +#else +# include <strings.h> +#endif +#if HAVE_STDLIB_H +# include <stdlib.h> +#endif + +#if defined _WIN32 || defined __WIN32__ +# undef WIN32 /* avoid warning on mingw32 */ +# define WIN32 +#endif + +#if defined __EMX__ +/* Assume EMX program runs on OS/2, even if compiled under DOS. */ +# define OS2 +#endif + +#if !defined WIN32 +# if HAVE_LANGINFO_CODESET +# include <langinfo.h> +# else +# if HAVE_SETLOCALE +# include <locale.h> +# endif +# endif +#elif defined WIN32 +# define WIN32_LEAN_AND_MEAN +# include <windows.h> +#endif +#if defined OS2 +# define INCL_DOS +# include <os2.h> +#endif + +#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ + /* Win32, OS/2, DOS */ +# define ISSLASH(C) ((C) == '/' || (C) == '\\') +#endif + +#ifndef DIRECTORY_SEPARATOR +# define DIRECTORY_SEPARATOR '/' +#endif + +#ifndef ISSLASH +# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) +#endif + +#ifdef HAVE_GETC_UNLOCKED +# undef getc +# define getc getc_unlocked +#endif + +/* The following static variable is declared 'volatile' to avoid a + possible multithread problem in the function get_charset_aliases. If we + are running in a threaded environment, and if two threads initialize + 'charset_aliases' simultaneously, both will produce the same value, + and everything will be ok if the two assignments to 'charset_aliases' + are atomic. But I don't know what will happen if the two assignments mix. */ +#if __STDC__ != 1 +# define volatile /* empty */ +#endif +/* Pointer to the contents of the charset.alias file, if it has already been + read, else NULL. Its format is: + ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ +static const char * volatile charset_aliases; + +/* Return a pointer to the contents of the charset.alias file. */ +static const char * +get_charset_aliases () +{ + const char *cp; + + cp = charset_aliases; + if (cp == NULL) + { +#if !defined WIN32 + FILE *fp; + const char *dir = LIBDIR; + const char *base = "charset.alias"; + char *file_name; + + /* Concatenate dir and base into freshly allocated file_name. */ + { + size_t dir_len = strlen (dir); + size_t base_len = strlen (base); + int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); + file_name = (char *) malloc (dir_len + add_slash + base_len + 1); + if (file_name != NULL) + { + memcpy (file_name, dir, dir_len); + if (add_slash) + file_name[dir_len] = DIRECTORY_SEPARATOR; + memcpy (file_name + dir_len + add_slash, base, base_len + 1); + } + } + + if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) + /* Out of memory or file not found, treat it as empty. */ + cp = ""; + else + { + /* Parse the file's contents. */ + int c; + char buf1[50+1]; + char buf2[50+1]; + char *res_ptr = NULL; + size_t res_size = 0; + size_t l1, l2; + + for (;;) + { + c = getc (fp); + if (c == EOF) + break; + if (c == '\n' || c == ' ' || c == '\t') + continue; + if (c == '#') + { + /* Skip comment, to end of line. */ + do + c = getc (fp); + while (!(c == EOF || c == '\n')); + if (c == EOF) + break; + continue; + } + ungetc (c, fp); + if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) + break; + l1 = strlen (buf1); + l2 = strlen (buf2); + if (res_size == 0) + { + res_size = l1 + 1 + l2 + 1; + res_ptr = (char *) malloc (res_size + 1); + } + else + { + res_size += l1 + 1 + l2 + 1; + res_ptr = (char *) realloc (res_ptr, res_size + 1); + } + if (res_ptr == NULL) + { + /* Out of memory. */ + res_size = 0; + break; + } + strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); + strcpy (res_ptr + res_size - (l2 + 1), buf2); + } + fclose (fp); + if (res_size == 0) + cp = ""; + else + { + *(res_ptr + res_size) = '\0'; + cp = res_ptr; + } + } + + if (file_name != NULL) + free (file_name); + +#else + + /* To avoid the troubles of installing a separate file in the same + directory as the DLL and of retrieving the DLL's directory at + runtime, simply inline the aliases here. */ + +# if defined WIN32 + cp = "CP936" "\0" "GBK" "\0" + "CP1361" "\0" "JOHAB" "\0"; +# endif +#endif + + charset_aliases = cp; + } + + return cp; +} + +/* Determine the current locale's character encoding, and canonicalize it + into one of the canonical names listed in config.charset. + The result must not be freed; it is statically allocated. + If the canonical name cannot be determined, the result is a non-canonical + name. */ + +#ifdef STATIC +STATIC +#endif +const char * +locale_charset () +{ + const char *codeset; + const char *aliases; + +#if !(defined WIN32 || defined OS2) + +# if HAVE_LANGINFO_CODESET + + /* Most systems support nl_langinfo (CODESET) nowadays. */ + codeset = nl_langinfo (CODESET); + +# else + + /* On old systems which lack it, use setlocale or getenv. */ + const char *locale = NULL; + + /* But most old systems don't have a complete set of locales. Some + (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't + use setlocale here; it would return "C" when it doesn't support the + locale name the user has set. */ +# if HAVE_SETLOCALE && 0 + locale = setlocale (LC_CTYPE, NULL); +# endif + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv ("LANG"); + } + } + + /* On some old systems, one used to set locale = "iso8859_1". On others, + you set it to "language_COUNTRY.charset". In any case, we resolve it + through the charset.alias file. */ + codeset = locale; + +# endif + +#elif defined WIN32 + + static char buf[2 + 10 + 1]; + + /* Win32 has a function returning the locale's codepage as a number. */ + sprintf (buf, "CP%u", GetACP ()); + codeset = buf; + +#elif defined OS2 + + const char *locale; + static char buf[2 + 10 + 1]; + ULONG cp[3]; + ULONG cplen; + + /* Allow user to override the codeset, as set in the operating system, + with standard language environment variables. */ + locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv ("LANG"); + } + if (locale != NULL && locale[0] != '\0') + { + /* If the locale name contains an encoding after the dot, return it. */ + const char *dot = strchr (locale, '.'); + + if (dot != NULL) + { + const char *modifier; + + dot++; + /* Look for the possible @... trailer and remove it, if any. */ + modifier = strchr (dot, '@'); + if (modifier == NULL) + return dot; + if (modifier - dot < sizeof (buf)) + { + memcpy (buf, dot, modifier - dot); + buf [modifier - dot] = '\0'; + return buf; + } + } + + /* Resolve through the charset.alias file. */ + codeset = locale; + } + else + { + /* OS/2 has a function returning the locale's codepage as a number. */ + if (DosQueryCp (sizeof (cp), cp, &cplen)) + codeset = ""; + else + { + sprintf (buf, "CP%u", cp[0]); + codeset = buf; + } + } + +#endif + + if (codeset == NULL) + /* The canonical name cannot be determined. */ + codeset = ""; + + /* Resolve alias. */ + for (aliases = get_charset_aliases (); + *aliases != '\0'; + aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) + if (strcmp (codeset, aliases) == 0 + || (aliases[0] == '*' && aliases[1] == '\0')) + { + codeset = aliases + strlen (aliases) + 1; + break; + } + + return codeset; +} diff --git a/gnu/usr.bin/texinfo/intl/locale.alias b/gnu/usr.bin/texinfo/intl/locale.alias new file mode 100644 index 00000000000..bd7b9b31eb3 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/locale.alias @@ -0,0 +1,78 @@ +# Locale name alias data base. +# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. + +# The format of this file is the same as for the corresponding file of +# the X Window System, which normally can be found in +# /usr/lib/X11/locale/locale.alias +# A single line contains two fields: an alias and a substitution value. +# All entries are case independent. + +# Note: This file is far from being complete. If you have a value for +# your own site which you think might be useful for others too, share +# it with the rest of us. Send it using the `glibcbug' script to +# bugs@gnu.org. + +# Packages using this file: + +bokmal no_NO.ISO-8859-1 +bokm嶚 no_NO.ISO-8859-1 +catalan ca_ES.ISO-8859-1 +croatian hr_HR.ISO-8859-2 +czech cs_CZ.ISO-8859-2 +danish da_DK.ISO-8859-1 +dansk da_DK.ISO-8859-1 +deutsch de_DE.ISO-8859-1 +dutch nl_NL.ISO-8859-1 +eesti et_EE.ISO-8859-1 +estonian et_EE.ISO-8859-1 +finnish fi_FI.ISO-8859-1 +fran蓷is fr_FR.ISO-8859-1 +french fr_FR.ISO-8859-1 +galego gl_ES.ISO-8859-1 +galician gl_ES.ISO-8859-1 +german de_DE.ISO-8859-1 +greek el_GR.ISO-8859-7 +hebrew he_IL.ISO-8859-8 +hrvatski hr_HR.ISO-8859-2 +hungarian hu_HU.ISO-8859-2 +icelandic is_IS.ISO-8859-1 +italian it_IT.ISO-8859-1 +japanese ja_JP.eucJP +japanese.euc ja_JP.eucJP +ja_JP ja_JP.eucJP +ja_JP.ujis ja_JP.eucJP +japanese.sjis ja_JP.SJIS +korean ko_KR.eucKR +korean.euc ko_KR.eucKR +ko_KR ko_KR.eucKR +lithuanian lt_LT.ISO-8859-13 +nb_NO no_NO.ISO-8859-1 +nb_NO.ISO-8859-1 no_NO.ISO-8859-1 +norwegian no_NO.ISO-8859-1 +nynorsk nn_NO.ISO-8859-1 +polish pl_PL.ISO-8859-2 +portuguese pt_PT.ISO-8859-1 +romanian ro_RO.ISO-8859-2 +russian ru_RU.ISO-8859-5 +slovak sk_SK.ISO-8859-2 +slovene sl_SI.ISO-8859-2 +slovenian sl_SI.ISO-8859-2 +spanish es_ES.ISO-8859-1 +swedish sv_SE.ISO-8859-1 +thai th_TH.TIS-620 +turkish tr_TR.ISO-8859-9 diff --git a/gnu/usr.bin/texinfo/intl/localename.c b/gnu/usr.bin/texinfo/intl/localename.c new file mode 100644 index 00000000000..a7241981418 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/localename.c @@ -0,0 +1,694 @@ +/* Determine the current selected locale. + Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */ +/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stdlib.h> +#include <locale.h> + +#if defined _WIN32 || defined __WIN32__ +# undef WIN32 /* avoid warning on mingw32 */ +# define WIN32 +#endif + +#ifdef WIN32 +# define WIN32_LEAN_AND_MEAN +# include <windows.h> +/* Mingw headers don't have latest language and sublanguage codes. */ +# ifndef LANG_AFRIKAANS +# define LANG_AFRIKAANS 0x36 +# endif +# ifndef LANG_ALBANIAN +# define LANG_ALBANIAN 0x1c +# endif +# ifndef LANG_ARABIC +# define LANG_ARABIC 0x01 +# endif +# ifndef LANG_ARMENIAN +# define LANG_ARMENIAN 0x2b +# endif +# ifndef LANG_ASSAMESE +# define LANG_ASSAMESE 0x4d +# endif +# ifndef LANG_AZERI +# define LANG_AZERI 0x2c +# endif +# ifndef LANG_BASQUE +# define LANG_BASQUE 0x2d +# endif +# ifndef LANG_BELARUSIAN +# define LANG_BELARUSIAN 0x23 +# endif +# ifndef LANG_BENGALI +# define LANG_BENGALI 0x45 +# endif +# ifndef LANG_CATALAN +# define LANG_CATALAN 0x03 +# endif +# ifndef LANG_ESTONIAN +# define LANG_ESTONIAN 0x25 +# endif +# ifndef LANG_FAEROESE +# define LANG_FAEROESE 0x38 +# endif +# ifndef LANG_FARSI +# define LANG_FARSI 0x29 +# endif +# ifndef LANG_GEORGIAN +# define LANG_GEORGIAN 0x37 +# endif +# ifndef LANG_GUJARATI +# define LANG_GUJARATI 0x47 +# endif +# ifndef LANG_HEBREW +# define LANG_HEBREW 0x0d +# endif +# ifndef LANG_HINDI +# define LANG_HINDI 0x39 +# endif +# ifndef LANG_INDONESIAN +# define LANG_INDONESIAN 0x21 +# endif +# ifndef LANG_KANNADA +# define LANG_KANNADA 0x4b +# endif +# ifndef LANG_KASHMIRI +# define LANG_KASHMIRI 0x60 +# endif +# ifndef LANG_KAZAK +# define LANG_KAZAK 0x3f +# endif +# ifndef LANG_KONKANI +# define LANG_KONKANI 0x57 +# endif +# ifndef LANG_LATVIAN +# define LANG_LATVIAN 0x26 +# endif +# ifndef LANG_LITHUANIAN +# define LANG_LITHUANIAN 0x27 +# endif +# ifndef LANG_MACEDONIAN +# define LANG_MACEDONIAN 0x2f +# endif +# ifndef LANG_MALAY +# define LANG_MALAY 0x3e +# endif +# ifndef LANG_MALAYALAM +# define LANG_MALAYALAM 0x4c +# endif +# ifndef LANG_MANIPURI +# define LANG_MANIPURI 0x58 +# endif +# ifndef LANG_MARATHI +# define LANG_MARATHI 0x4e +# endif +# ifndef LANG_NEPALI +# define LANG_NEPALI 0x61 +# endif +# ifndef LANG_ORIYA +# define LANG_ORIYA 0x48 +# endif +# ifndef LANG_PUNJABI +# define LANG_PUNJABI 0x46 +# endif +# ifndef LANG_SANSKRIT +# define LANG_SANSKRIT 0x4f +# endif +# ifndef LANG_SERBIAN +# define LANG_SERBIAN 0x1a +# endif +# ifndef LANG_SINDHI +# define LANG_SINDHI 0x59 +# endif +# ifndef LANG_SLOVAK +# define LANG_SLOVAK 0x1b +# endif +# ifndef LANG_SWAHILI +# define LANG_SWAHILI 0x41 +# endif +# ifndef LANG_TAMIL +# define LANG_TAMIL 0x49 +# endif +# ifndef LANG_TATAR +# define LANG_TATAR 0x44 +# endif +# ifndef LANG_TELUGU +# define LANG_TELUGU 0x4a +# endif +# ifndef LANG_THAI +# define LANG_THAI 0x1e +# endif +# ifndef LANG_UKRAINIAN +# define LANG_UKRAINIAN 0x22 +# endif +# ifndef LANG_URDU +# define LANG_URDU 0x20 +# endif +# ifndef LANG_UZBEK +# define LANG_UZBEK 0x43 +# endif +# ifndef LANG_VIETNAMESE +# define LANG_VIETNAMESE 0x2a +# endif +# ifndef SUBLANG_ARABIC_SAUDI_ARABIA +# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +# endif +# ifndef SUBLANG_ARABIC_IRAQ +# define SUBLANG_ARABIC_IRAQ 0x02 +# endif +# ifndef SUBLANG_ARABIC_EGYPT +# define SUBLANG_ARABIC_EGYPT 0x03 +# endif +# ifndef SUBLANG_ARABIC_LIBYA +# define SUBLANG_ARABIC_LIBYA 0x04 +# endif +# ifndef SUBLANG_ARABIC_ALGERIA +# define SUBLANG_ARABIC_ALGERIA 0x05 +# endif +# ifndef SUBLANG_ARABIC_MOROCCO +# define SUBLANG_ARABIC_MOROCCO 0x06 +# endif +# ifndef SUBLANG_ARABIC_TUNISIA +# define SUBLANG_ARABIC_TUNISIA 0x07 +# endif +# ifndef SUBLANG_ARABIC_OMAN +# define SUBLANG_ARABIC_OMAN 0x08 +# endif +# ifndef SUBLANG_ARABIC_YEMEN +# define SUBLANG_ARABIC_YEMEN 0x09 +# endif +# ifndef SUBLANG_ARABIC_SYRIA +# define SUBLANG_ARABIC_SYRIA 0x0a +# endif +# ifndef SUBLANG_ARABIC_JORDAN +# define SUBLANG_ARABIC_JORDAN 0x0b +# endif +# ifndef SUBLANG_ARABIC_LEBANON +# define SUBLANG_ARABIC_LEBANON 0x0c +# endif +# ifndef SUBLANG_ARABIC_KUWAIT +# define SUBLANG_ARABIC_KUWAIT 0x0d +# endif +# ifndef SUBLANG_ARABIC_UAE +# define SUBLANG_ARABIC_UAE 0x0e +# endif +# ifndef SUBLANG_ARABIC_BAHRAIN +# define SUBLANG_ARABIC_BAHRAIN 0x0f +# endif +# ifndef SUBLANG_ARABIC_QATAR +# define SUBLANG_ARABIC_QATAR 0x10 +# endif +# ifndef SUBLANG_AZERI_LATIN +# define SUBLANG_AZERI_LATIN 0x01 +# endif +# ifndef SUBLANG_AZERI_CYRILLIC +# define SUBLANG_AZERI_CYRILLIC 0x02 +# endif +# ifndef SUBLANG_CHINESE_MACAU +# define SUBLANG_CHINESE_MACAU 0x05 +# endif +# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA +# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +# endif +# ifndef SUBLANG_ENGLISH_JAMAICA +# define SUBLANG_ENGLISH_JAMAICA 0x08 +# endif +# ifndef SUBLANG_ENGLISH_CARIBBEAN +# define SUBLANG_ENGLISH_CARIBBEAN 0x09 +# endif +# ifndef SUBLANG_ENGLISH_BELIZE +# define SUBLANG_ENGLISH_BELIZE 0x0a +# endif +# ifndef SUBLANG_ENGLISH_TRINIDAD +# define SUBLANG_ENGLISH_TRINIDAD 0x0b +# endif +# ifndef SUBLANG_ENGLISH_ZIMBABWE +# define SUBLANG_ENGLISH_ZIMBABWE 0x0c +# endif +# ifndef SUBLANG_ENGLISH_PHILIPPINES +# define SUBLANG_ENGLISH_PHILIPPINES 0x0d +# endif +# ifndef SUBLANG_FRENCH_LUXEMBOURG +# define SUBLANG_FRENCH_LUXEMBOURG 0x05 +# endif +# ifndef SUBLANG_FRENCH_MONACO +# define SUBLANG_FRENCH_MONACO 0x06 +# endif +# ifndef SUBLANG_GERMAN_LUXEMBOURG +# define SUBLANG_GERMAN_LUXEMBOURG 0x04 +# endif +# ifndef SUBLANG_GERMAN_LIECHTENSTEIN +# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +# endif +# ifndef SUBLANG_KASHMIRI_INDIA +# define SUBLANG_KASHMIRI_INDIA 0x02 +# endif +# ifndef SUBLANG_MALAY_MALAYSIA +# define SUBLANG_MALAY_MALAYSIA 0x01 +# endif +# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM +# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +# endif +# ifndef SUBLANG_NEPALI_INDIA +# define SUBLANG_NEPALI_INDIA 0x02 +# endif +# ifndef SUBLANG_SERBIAN_LATIN +# define SUBLANG_SERBIAN_LATIN 0x02 +# endif +# ifndef SUBLANG_SERBIAN_CYRILLIC +# define SUBLANG_SERBIAN_CYRILLIC 0x03 +# endif +# ifndef SUBLANG_SPANISH_GUATEMALA +# define SUBLANG_SPANISH_GUATEMALA 0x04 +# endif +# ifndef SUBLANG_SPANISH_COSTA_RICA +# define SUBLANG_SPANISH_COSTA_RICA 0x05 +# endif +# ifndef SUBLANG_SPANISH_PANAMA +# define SUBLANG_SPANISH_PANAMA 0x06 +# endif +# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC +# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +# endif +# ifndef SUBLANG_SPANISH_VENEZUELA +# define SUBLANG_SPANISH_VENEZUELA 0x08 +# endif +# ifndef SUBLANG_SPANISH_COLOMBIA +# define SUBLANG_SPANISH_COLOMBIA 0x09 +# endif +# ifndef SUBLANG_SPANISH_PERU +# define SUBLANG_SPANISH_PERU 0x0a +# endif +# ifndef SUBLANG_SPANISH_ARGENTINA +# define SUBLANG_SPANISH_ARGENTINA 0x0b +# endif +# ifndef SUBLANG_SPANISH_ECUADOR +# define SUBLANG_SPANISH_ECUADOR 0x0c +# endif +# ifndef SUBLANG_SPANISH_CHILE +# define SUBLANG_SPANISH_CHILE 0x0d +# endif +# ifndef SUBLANG_SPANISH_URUGUAY +# define SUBLANG_SPANISH_URUGUAY 0x0e +# endif +# ifndef SUBLANG_SPANISH_PARAGUAY +# define SUBLANG_SPANISH_PARAGUAY 0x0f +# endif +# ifndef SUBLANG_SPANISH_BOLIVIA +# define SUBLANG_SPANISH_BOLIVIA 0x10 +# endif +# ifndef SUBLANG_SPANISH_EL_SALVADOR +# define SUBLANG_SPANISH_EL_SALVADOR 0x11 +# endif +# ifndef SUBLANG_SPANISH_HONDURAS +# define SUBLANG_SPANISH_HONDURAS 0x12 +# endif +# ifndef SUBLANG_SPANISH_NICARAGUA +# define SUBLANG_SPANISH_NICARAGUA 0x13 +# endif +# ifndef SUBLANG_SPANISH_PUERTO_RICO +# define SUBLANG_SPANISH_PUERTO_RICO 0x14 +# endif +# ifndef SUBLANG_SWEDISH_FINLAND +# define SUBLANG_SWEDISH_FINLAND 0x02 +# endif +# ifndef SUBLANG_URDU_PAKISTAN +# define SUBLANG_URDU_PAKISTAN 0x01 +# endif +# ifndef SUBLANG_URDU_INDIA +# define SUBLANG_URDU_INDIA 0x02 +# endif +# ifndef SUBLANG_UZBEK_LATIN +# define SUBLANG_UZBEK_LATIN 0x01 +# endif +# ifndef SUBLANG_UZBEK_CYRILLIC +# define SUBLANG_UZBEK_CYRILLIC 0x02 +# endif +#endif + +/* XPG3 defines the result of 'setlocale (category, NULL)' as: + "Directs 'setlocale()' to query 'category' and return the current + setting of 'local'." + However it does not specify the exact format. Neither do SUSV2 and + ISO C 99. So we can use this feature only on selected systems (e.g. + those using GNU C Library). */ +#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2) +# define HAVE_LOCALE_NULL +#endif + +/* Determine the current locale's name, and canonicalize it into XPG syntax + language[_territory[.codeset]][@modifier] + The codeset part in the result is not reliable; the locale_charset() + should be used for codeset information instead. + The result must not be freed; it is statically allocated. */ + +const char * +_nl_locale_name (category, categoryname) + int category; + const char *categoryname; +{ + const char *retval; + +#ifndef WIN32 + + /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. + On some systems this can be done by the 'setlocale' function itself. */ +# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL + retval = setlocale (category, NULL); +# else + /* Setting of LC_ALL overwrites all other. */ + retval = getenv ("LC_ALL"); + if (retval == NULL || retval[0] == '\0') + { + /* Next comes the name of the desired category. */ + retval = getenv (categoryname); + if (retval == NULL || retval[0] == '\0') + { + /* Last possibility is the LANG environment variable. */ + retval = getenv ("LANG"); + if (retval == NULL || retval[0] == '\0') + /* We use C as the default domain. POSIX says this is + implementation defined. */ + retval = "C"; + } + } +# endif + + return retval; + +#else /* WIN32 */ + + /* Return an XPG style locale name language[_territory][@modifier]. + Don't even bother determining the codeset; it's not useful in this + context, because message catalogs are not specific to a single + codeset. */ + + LCID lcid; + LANGID langid; + int primary, sub; + + /* Let the user override the system settings through environment + variables, as on POSIX systems. */ + retval = getenv ("LC_ALL"); + if (retval != NULL && retval[0] != '\0') + return retval; + retval = getenv (categoryname); + if (retval != NULL && retval[0] != '\0') + return retval; + retval = getenv ("LANG"); + if (retval != NULL && retval[0] != '\0') + return retval; + + /* Use native Win32 API locale ID. */ + lcid = GetThreadLocale (); + + /* Strip off the sorting rules, keep only the language part. */ + langid = LANGIDFROMLCID (lcid); + + /* Split into language and territory part. */ + primary = PRIMARYLANGID (langid); + sub = SUBLANGID (langid); + switch (primary) + { + case LANG_AFRIKAANS: return "af_ZA"; + case LANG_ALBANIAN: return "sq_AL"; + case LANG_ARABIC: + switch (sub) + { + case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; + case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; + case SUBLANG_ARABIC_EGYPT: return "ar_EG"; + case SUBLANG_ARABIC_LIBYA: return "ar_LY"; + case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; + case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; + case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; + case SUBLANG_ARABIC_OMAN: return "ar_OM"; + case SUBLANG_ARABIC_YEMEN: return "ar_YE"; + case SUBLANG_ARABIC_SYRIA: return "ar_SY"; + case SUBLANG_ARABIC_JORDAN: return "ar_JO"; + case SUBLANG_ARABIC_LEBANON: return "ar_LB"; + case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; + case SUBLANG_ARABIC_UAE: return "ar_AE"; + case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; + case SUBLANG_ARABIC_QATAR: return "ar_QA"; + } + return "ar"; + case LANG_ARMENIAN: return "hy_AM"; + case LANG_ASSAMESE: return "as_IN"; + case LANG_AZERI: + switch (sub) + { + /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ + case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; + case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; + } + return "az"; + case LANG_BASQUE: + return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ + case LANG_BELARUSIAN: return "be_BY"; + case LANG_BENGALI: return "bn_IN"; + case LANG_BULGARIAN: return "bg_BG"; + case LANG_CATALAN: return "ca_ES"; + case LANG_CHINESE: + switch (sub) + { + case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; + case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; + case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; + case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; + case SUBLANG_CHINESE_MACAU: return "zh_MO"; + } + return "zh"; + case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN + * What used to be called Serbo-Croatian + * should really now be two separate + * languages because of political reasons. + * (Says tml, who knows nothing about Serbian + * or Croatian.) + * (I can feel those flames coming already.) + */ + switch (sub) + { + /* FIXME: How to distinguish Croatian and Latin Serbian locales? */ + case SUBLANG_SERBIAN_LATIN: return "sr_YU"; + case SUBLANG_SERBIAN_CYRILLIC: return "sr_YU@cyrillic"; + default: return "hr_HR"; + } + case LANG_CZECH: return "cs_CZ"; + case LANG_DANISH: return "da_DK"; + case LANG_DUTCH: + switch (sub) + { + case SUBLANG_DUTCH: return "nl_NL"; + case SUBLANG_DUTCH_BELGIAN: return "nl_BE"; + } + return "nl"; + case LANG_ENGLISH: + switch (sub) + { + /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought + * English was the language spoken in England. + * Oh well. + */ + case SUBLANG_ENGLISH_US: return "en_US"; + case SUBLANG_ENGLISH_UK: return "en_GB"; + case SUBLANG_ENGLISH_AUS: return "en_AU"; + case SUBLANG_ENGLISH_CAN: return "en_CA"; + case SUBLANG_ENGLISH_NZ: return "en_NZ"; + case SUBLANG_ENGLISH_EIRE: return "en_IE"; + case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; + case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; + case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ + case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; + case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; + case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; + case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; + } + return "en"; + case LANG_ESTONIAN: return "et_EE"; + case LANG_FAEROESE: return "fo_FO"; + case LANG_FARSI: return "fa_IR"; + case LANG_FINNISH: return "fi_FI"; + case LANG_FRENCH: + switch (sub) + { + case SUBLANG_FRENCH: return "fr_FR"; + case SUBLANG_FRENCH_BELGIAN: return "fr_BE"; + case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; + case SUBLANG_FRENCH_SWISS: return "fr_CH"; + case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; + case SUBLANG_FRENCH_MONACO: return "fr_MC"; + } + return "fr"; + case LANG_GEORGIAN: return "ka_GE"; + case LANG_GERMAN: + switch (sub) + { + case SUBLANG_GERMAN: return "de_DE"; + case SUBLANG_GERMAN_SWISS: return "de_CH"; + case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; + case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; + case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; + } + return "de"; + case LANG_GREEK: return "el_GR"; + case LANG_GUJARATI: return "gu_IN"; + case LANG_HEBREW: return "he_IL"; + case LANG_HINDI: return "hi_IN"; + case LANG_HUNGARIAN: return "hu_HU"; + case LANG_ICELANDIC: return "is_IS"; + case LANG_INDONESIAN: return "id_ID"; + case LANG_ITALIAN: + switch (sub) + { + case SUBLANG_ITALIAN: return "it_IT"; + case SUBLANG_ITALIAN_SWISS: return "it_CH"; + } + return "it"; + case LANG_JAPANESE: return "ja_JP"; + case LANG_KANNADA: return "kn_IN"; + case LANG_KASHMIRI: + switch (sub) + { + case SUBLANG_DEFAULT: return "ks_PK"; + case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; + } + return "ks"; + case LANG_KAZAK: return "kk_KZ"; + case LANG_KONKANI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "kok_IN"; + case LANG_KOREAN: return "ko_KR"; + case LANG_LATVIAN: return "lv_LV"; + case LANG_LITHUANIAN: return "lt_LT"; + case LANG_MACEDONIAN: return "mk_MK"; + case LANG_MALAY: + switch (sub) + { + case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; + case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; + } + return "ms"; + case LANG_MALAYALAM: return "ml_IN"; + case LANG_MANIPURI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "mni_IN"; + case LANG_MARATHI: return "mr_IN"; + case LANG_NEPALI: + switch (sub) + { + case SUBLANG_DEFAULT: return "ne_NP"; + case SUBLANG_NEPALI_INDIA: return "ne_IN"; + } + return "ne"; + case LANG_NORWEGIAN: + switch (sub) + { + case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO"; + case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; + } + return "no"; + case LANG_ORIYA: return "or_IN"; + case LANG_POLISH: return "pl_PL"; + case LANG_PORTUGUESE: + switch (sub) + { + case SUBLANG_PORTUGUESE: return "pt_PT"; + /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. + Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ + case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; + } + return "pt"; + case LANG_PUNJABI: return "pa_IN"; + case LANG_ROMANIAN: return "ro_RO"; + case LANG_RUSSIAN: + return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA". */ + case LANG_SANSKRIT: return "sa_IN"; + case LANG_SINDHI: return "sd"; + case LANG_SLOVAK: return "sk_SK"; + case LANG_SLOVENIAN: return "sl_SI"; + case LANG_SORBIAN: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "wen_DE"; + case LANG_SPANISH: + switch (sub) + { + case SUBLANG_SPANISH: return "es_ES"; + case SUBLANG_SPANISH_MEXICAN: return "es_MX"; + case SUBLANG_SPANISH_MODERN: + return "es_ES@modern"; /* not seen on Unix */ + case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; + case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; + case SUBLANG_SPANISH_PANAMA: return "es_PA"; + case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; + case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; + case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; + case SUBLANG_SPANISH_PERU: return "es_PE"; + case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; + case SUBLANG_SPANISH_ECUADOR: return "es_EC"; + case SUBLANG_SPANISH_CHILE: return "es_CL"; + case SUBLANG_SPANISH_URUGUAY: return "es_UY"; + case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; + case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; + case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; + case SUBLANG_SPANISH_HONDURAS: return "es_HN"; + case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; + case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; + } + return "es"; + case LANG_SWAHILI: return "sw"; + case LANG_SWEDISH: + switch (sub) + { + case SUBLANG_DEFAULT: return "sv_SE"; + case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; + } + return "sv"; + case LANG_TAMIL: + return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ + case LANG_TATAR: return "tt"; + case LANG_TELUGU: return "te_IN"; + case LANG_THAI: return "th_TH"; + case LANG_TURKISH: return "tr_TR"; + case LANG_UKRAINIAN: return "uk_UA"; + case LANG_URDU: + switch (sub) + { + case SUBLANG_URDU_PAKISTAN: return "ur_PK"; + case SUBLANG_URDU_INDIA: return "ur_IN"; + } + return "ur"; + case LANG_UZBEK: + switch (sub) + { + /* FIXME: Adjust this when Uzbek locales appear on Unix. */ + case SUBLANG_UZBEK_LATIN: return "uz_UZ@latin"; + case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; + } + return "uz"; + case LANG_VIETNAMESE: return "vi_VN"; + default: return "C"; + } + +#endif +} diff --git a/gnu/usr.bin/texinfo/intl/ngettext.c b/gnu/usr.bin/texinfo/intl/ngettext.c new file mode 100644 index 00000000000..fb3ec5a91ea --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/ngettext.c @@ -0,0 +1,68 @@ +/* Implementation of ngettext(3) function. + Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#ifdef _LIBC +# define __need_NULL +# include <stddef.h> +#else +# include <stdlib.h> /* Just for NULL. */ +#endif + +#include "gettextP.h" +#ifdef _LIBC +# include <libintl.h> +#else +# include "libgnuintl.h" +#endif + +#include <locale.h> + +/* @@ end of prolog @@ */ + +/* Names for the libintl functions are a problem. They must not clash + with existing names and they should follow ANSI C. But this source + code is also used in GNU C Library where the names have a __ + prefix. So we have to make a difference here. */ +#ifdef _LIBC +# define NGETTEXT __ngettext +# define DCNGETTEXT __dcngettext +#else +# define NGETTEXT ngettext__ +# define DCNGETTEXT dcngettext__ +#endif + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +char * +NGETTEXT (msgid1, msgid2, n) + const char *msgid1; + const char *msgid2; + unsigned long int n; +{ + return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); +} + +#ifdef _LIBC +/* Alias for function name in GNU C Library. */ +weak_alias (__ngettext, ngettext); +#endif diff --git a/gnu/usr.bin/texinfo/intl/os2compat.c b/gnu/usr.bin/texinfo/intl/os2compat.c new file mode 100644 index 00000000000..681e98aea7d --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/os2compat.c @@ -0,0 +1,101 @@ +/* OS/2 compatibility functions. + Copyright (C) 2001-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#define OS2_AWARE +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdlib.h> +#include <string.h> + +/* A version of getenv() that works from DLLs */ +extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); + +char * +_nl_getenv (const char *name) +{ + unsigned char *value; + if (DosScanEnv (name, &value)) + return NULL; + else + return value; +} + +/* A fixed size buffer. */ +#define LOCALEDIR_MAX 260 +char _nl_default_dirname__[LOCALEDIR_MAX+1]; + +char *_os2_libdir = NULL; +char *_os2_localealiaspath = NULL; +char *_os2_localedir = NULL; + +static __attribute__((constructor)) void +os2_initialize () +{ + char *root = getenv ("UNIXROOT"); + char *gnulocaledir = getenv ("GNULOCALEDIR"); + + _os2_libdir = gnulocaledir; + if (!_os2_libdir) + { + if (root) + { + size_t sl = strlen (root); + _os2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); + memcpy (_os2_libdir, root, sl); + memcpy (_os2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); + } + else + _os2_libdir = LIBDIR; + } + + _os2_localealiaspath = gnulocaledir; + if (!_os2_localealiaspath) + { + if (root) + { + size_t sl = strlen (root); + _os2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); + memcpy (_os2_localealiaspath, root, sl); + memcpy (_os2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); + } + else + _os2_localealiaspath = LOCALE_ALIAS_PATH; + } + + _os2_localedir = gnulocaledir; + if (!_os2_localedir) + { + if (root) + { + size_t sl = strlen (root); + _os2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); + memcpy (_os2_localedir, root, sl); + memcpy (_os2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); + } + else + _os2_localedir = LOCALEDIR; + } + + { + extern const char _nl_default_dirname__[]; + if (strlen (_os2_localedir) <= LOCALEDIR_MAX) + strcpy (_nl_default_dirname__, _os2_localedir); + } +} diff --git a/gnu/usr.bin/texinfo/intl/os2compat.h b/gnu/usr.bin/texinfo/intl/os2compat.h new file mode 100644 index 00000000000..3605e7a3661 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/os2compat.h @@ -0,0 +1,46 @@ +/* OS/2 compatibility defines. + This file is intended to be included from config.h + Copyright (C) 2001-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* When included from os2compat.h we need all the original definitions */ +#ifndef OS2_AWARE + +#undef LIBDIR +#define LIBDIR _os2_libdir +extern char *_os2_libdir; + +#undef LOCALEDIR +#define LOCALEDIR _os2_localedir +extern char *_os2_localedir; + +#undef LOCALE_ALIAS_PATH +#define LOCALE_ALIAS_PATH _os2_localealiaspath +extern char *_os2_localealiaspath; + +#endif + +#undef HAVE_STRCASECMP +#define HAVE_STRCASECMP 1 +#define strcasecmp stricmp +#define strncasecmp strnicmp + +/* We have our own getenv() which works even if library is compiled as DLL */ +#define getenv _nl_getenv + +/* Older versions of gettext used -1 as the value of LC_MESSAGES */ +#define LC_MESSAGES_COMPAT (-1) diff --git a/gnu/usr.bin/texinfo/intl/osdep.c b/gnu/usr.bin/texinfo/intl/osdep.c new file mode 100644 index 00000000000..b3725983818 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/osdep.c @@ -0,0 +1,24 @@ +/* OS dependent parts of libintl. + Copyright (C) 2001-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#if defined __EMX__ +# include "os2compat.c" +#else +/* Avoid AIX compiler warning. */ +typedef int dummy; +#endif diff --git a/gnu/usr.bin/texinfo/intl/plural-exp.c b/gnu/usr.bin/texinfo/intl/plural-exp.c new file mode 100644 index 00000000000..c937c011ac5 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/plural-exp.c @@ -0,0 +1,156 @@ +/* Expression parsing for plural form selection. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Written by Ulrich Drepper <drepper@cygnus.com>, 2000. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <ctype.h> +#include <stdlib.h> +#include <string.h> + +#include "plural-exp.h" + +#if (defined __GNUC__ && !defined __APPLE_CC__) \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) + +/* These structs are the constant expression for the germanic plural + form determination. It represents the expression "n != 1". */ +static const struct expression plvar = +{ + .nargs = 0, + .operation = var, +}; +static const struct expression plone = +{ + .nargs = 0, + .operation = num, + .val = + { + .num = 1 + } +}; +struct expression GERMANIC_PLURAL = +{ + .nargs = 2, + .operation = not_equal, + .val = + { + .args = + { + [0] = (struct expression *) &plvar, + [1] = (struct expression *) &plone + } + } +}; + +# define INIT_GERMANIC_PLURAL() + +#else + +/* For compilers without support for ISO C 99 struct/union initializers: + Initialization at run-time. */ + +static struct expression plvar; +static struct expression plone; +struct expression GERMANIC_PLURAL; + +static void +init_germanic_plural () +{ + if (plone.val.num == 0) + { + plvar.nargs = 0; + plvar.operation = var; + + plone.nargs = 0; + plone.operation = num; + plone.val.num = 1; + + GERMANIC_PLURAL.nargs = 2; + GERMANIC_PLURAL.operation = not_equal; + GERMANIC_PLURAL.val.args[0] = &plvar; + GERMANIC_PLURAL.val.args[1] = &plone; + } +} + +# define INIT_GERMANIC_PLURAL() init_germanic_plural () + +#endif + +void +internal_function +EXTRACT_PLURAL_EXPRESSION (nullentry, pluralp, npluralsp) + const char *nullentry; + struct expression **pluralp; + unsigned long int *npluralsp; +{ + if (nullentry != NULL) + { + const char *plural; + const char *nplurals; + + plural = strstr (nullentry, "plural="); + nplurals = strstr (nullentry, "nplurals="); + if (plural == NULL || nplurals == NULL) + goto no_plural; + else + { + char *endp; + unsigned long int n; + struct parse_args args; + + /* First get the number. */ + nplurals += 9; + while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) + ++nplurals; + if (!(*nplurals >= '0' && *nplurals <= '9')) + goto no_plural; +#if defined HAVE_STRTOUL || defined _LIBC + n = strtoul (nplurals, &endp, 10); +#else + for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) + n = n * 10 + (*endp - '0'); +#endif + if (nplurals == endp) + goto no_plural; + *npluralsp = n; + + /* Due to the restrictions bison imposes onto the interface of the + scanner function we have to put the input string and the result + passed up from the parser into the same structure which address + is passed down to the parser. */ + plural += 7; + args.cp = plural; + if (PLURAL_PARSE (&args) != 0) + goto no_plural; + *pluralp = args.res; + } + } + else + { + /* By default we are using the Germanic form: singular form only + for `one', the plural form otherwise. Yes, this is also what + English is using since English is a Germanic language. */ + no_plural: + INIT_GERMANIC_PLURAL (); + *pluralp = &GERMANIC_PLURAL; + *npluralsp = 2; + } +} diff --git a/gnu/usr.bin/texinfo/intl/plural-exp.h b/gnu/usr.bin/texinfo/intl/plural-exp.h new file mode 100644 index 00000000000..6a4bba01931 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/plural-exp.h @@ -0,0 +1,122 @@ +/* Expression parsing and evaluation for plural form selection. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Written by Ulrich Drepper <drepper@cygnus.com>, 2000. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _PLURAL_EXP_H +#define _PLURAL_EXP_H + +#ifndef PARAMS +# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES +# define PARAMS(args) args +# else +# define PARAMS(args) () +# endif +#endif + +#ifndef internal_function +# define internal_function +#endif + + +/* This is the representation of the expressions to determine the + plural form. */ +struct expression +{ + int nargs; /* Number of arguments. */ + enum operator + { + /* Without arguments: */ + var, /* The variable "n". */ + num, /* Decimal number. */ + /* Unary operators: */ + lnot, /* Logical NOT. */ + /* Binary operators: */ + mult, /* Multiplication. */ + divide, /* Division. */ + module, /* Modulo operation. */ + plus, /* Addition. */ + minus, /* Subtraction. */ + less_than, /* Comparison. */ + greater_than, /* Comparison. */ + less_or_equal, /* Comparison. */ + greater_or_equal, /* Comparison. */ + equal, /* Comparison for equality. */ + not_equal, /* Comparison for inequality. */ + land, /* Logical AND. */ + lor, /* Logical OR. */ + /* Ternary operators: */ + qmop /* Question mark operator. */ + } operation; + union + { + unsigned long int num; /* Number value for `num'. */ + struct expression *args[3]; /* Up to three arguments. */ + } val; +}; + +/* This is the data structure to pass information to the parser and get + the result in a thread-safe way. */ +struct parse_args +{ + const char *cp; + struct expression *res; +}; + + +/* Names for the libintl functions are a problem. This source code is used + 1. in the GNU C Library library, + 2. in the GNU libintl library, + 3. in the GNU gettext tools. + The function names in each situation must be different, to allow for + binary incompatible changes in 'struct expression'. Furthermore, + 1. in the GNU C Library library, the names have a __ prefix, + 2.+3. in the GNU libintl library and in the GNU gettext tools, the names + must follow ANSI C and not start with __. + So we have to distinguish the three cases. */ +#ifdef _LIBC +# define FREE_EXPRESSION __gettext_free_exp +# define PLURAL_PARSE __gettextparse +# define GERMANIC_PLURAL __gettext_germanic_plural +# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural +#elif defined (IN_LIBINTL) +# define FREE_EXPRESSION gettext_free_exp__ +# define PLURAL_PARSE gettextparse__ +# define GERMANIC_PLURAL gettext_germanic_plural__ +# define EXTRACT_PLURAL_EXPRESSION gettext_extract_plural__ +#else +# define FREE_EXPRESSION free_plural_expression +# define PLURAL_PARSE parse_plural_expression +# define GERMANIC_PLURAL germanic_plural +# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression +#endif + +extern void FREE_EXPRESSION PARAMS ((struct expression *exp)) + internal_function; +extern int PLURAL_PARSE PARAMS ((void *arg)); +extern struct expression GERMANIC_PLURAL; +extern void EXTRACT_PLURAL_EXPRESSION PARAMS ((const char *nullentry, + struct expression **pluralp, + unsigned long int *npluralsp)) + internal_function; + +#if !defined (_LIBC) && !defined (IN_LIBINTL) +extern unsigned long int plural_eval PARAMS ((struct expression *pexp, + unsigned long int n)); +#endif + +#endif /* _PLURAL_EXP_H */ diff --git a/gnu/usr.bin/texinfo/intl/plural.c b/gnu/usr.bin/texinfo/intl/plural.c new file mode 100644 index 00000000000..c9ff63fbdb8 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/plural.c @@ -0,0 +1,1322 @@ + +/* A Bison parser, made from plural.y + by GNU Bison version 1.28 */ + +#define YYBISON 1 /* Identify Bison output. */ + +#define yyparse __gettextparse +#define yylex __gettextlex +#define yyerror __gettexterror +#define yylval __gettextlval +#define yychar __gettextchar +#define yydebug __gettextdebug +#define yynerrs __gettextnerrs +#define EQUOP2 257 +#define CMPOP2 258 +#define ADDOP2 259 +#define MULOP2 260 +#define NUMBER 261 + +#line 1 "plural.y" + +/* Expression parsing for plural form selection. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Written by Ulrich Drepper <drepper@cygnus.com>, 2000. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* The bison generated parser uses alloca. AIX 3 forces us to put this + declaration at the beginning of the file. The declaration in bison's + skeleton file comes too late. This must come before <config.h> + because <config.h> may include arbitrary system headers. */ +#if defined _AIX && !defined __GNUC__ + #pragma alloca +#endif + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stddef.h> +#include <stdlib.h> +#include "plural-exp.h" + +/* The main function generated by the parser is called __gettextparse, + but we want it to be called PLURAL_PARSE. */ +#ifndef _LIBC +# define __gettextparse PLURAL_PARSE +#endif + +#define YYLEX_PARAM &((struct parse_args *) arg)->cp +#define YYPARSE_PARAM arg + +#line 49 "plural.y" +typedef union { + unsigned long int num; + enum operator op; + struct expression *exp; +} YYSTYPE; +#line 55 "plural.y" + +/* Prototypes for local functions. */ +static struct expression *new_exp PARAMS ((int nargs, enum operator op, + struct expression * const *args)); +static inline struct expression *new_exp_0 PARAMS ((enum operator op)); +static inline struct expression *new_exp_1 PARAMS ((enum operator op, + struct expression *right)); +static struct expression *new_exp_2 PARAMS ((enum operator op, + struct expression *left, + struct expression *right)); +static inline struct expression *new_exp_3 PARAMS ((enum operator op, + struct expression *bexp, + struct expression *tbranch, + struct expression *fbranch)); +static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); +static void yyerror PARAMS ((const char *str)); + +/* Allocation of expressions. */ + +static struct expression * +new_exp (nargs, op, args) + int nargs; + enum operator op; + struct expression * const *args; +{ + int i; + struct expression *newp; + + /* If any of the argument could not be malloc'ed, just return NULL. */ + for (i = nargs - 1; i >= 0; i--) + if (args[i] == NULL) + goto fail; + + /* Allocate a new expression. */ + newp = (struct expression *) malloc (sizeof (*newp)); + if (newp != NULL) + { + newp->nargs = nargs; + newp->operation = op; + for (i = nargs - 1; i >= 0; i--) + newp->val.args[i] = args[i]; + return newp; + } + + fail: + for (i = nargs - 1; i >= 0; i--) + FREE_EXPRESSION (args[i]); + + return NULL; +} + +static inline struct expression * +new_exp_0 (op) + enum operator op; +{ + return new_exp (0, op, NULL); +} + +static inline struct expression * +new_exp_1 (op, right) + enum operator op; + struct expression *right; +{ + struct expression *args[1]; + + args[0] = right; + return new_exp (1, op, args); +} + +static struct expression * +new_exp_2 (op, left, right) + enum operator op; + struct expression *left; + struct expression *right; +{ + struct expression *args[2]; + + args[0] = left; + args[1] = right; + return new_exp (2, op, args); +} + +static inline struct expression * +new_exp_3 (op, bexp, tbranch, fbranch) + enum operator op; + struct expression *bexp; + struct expression *tbranch; + struct expression *fbranch; +{ + struct expression *args[3]; + + args[0] = bexp; + args[1] = tbranch; + args[2] = fbranch; + return new_exp (3, op, args); +} + +#include <stdio.h> + +#ifndef __cplusplus +#ifndef __STDC__ +#define const +#endif +#endif + + + +#define YYFINAL 27 +#define YYFLAG -32768 +#define YYNTBASE 16 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18) + +static const char yytranslate[] = { 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, + 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, + 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 6, 7, 8, 9, + 11 +}; + +#if YYDEBUG != 0 +static const short yyprhs[] = { 0, + 0, 2, 8, 12, 16, 20, 24, 28, 32, 35, + 37, 39 +}; + +static const short yyrhs[] = { 17, + 0, 17, 3, 17, 12, 17, 0, 17, 4, 17, + 0, 17, 5, 17, 0, 17, 6, 17, 0, 17, + 7, 17, 0, 17, 8, 17, 0, 17, 9, 17, + 0, 10, 17, 0, 13, 0, 11, 0, 14, 17, + 15, 0 +}; + +#endif + +#if YYDEBUG != 0 +static const short yyrline[] = { 0, + 174, 182, 186, 190, 194, 198, 202, 206, 210, 214, + 218, 223 +}; +#endif + + +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) + +static const char * const yytname[] = { "$","error","$undefined.","'?'","'|'", +"'&'","EQUOP2","CMPOP2","ADDOP2","MULOP2","'!'","NUMBER","':'","'n'","'('","')'", +"start","exp", NULL +}; +#endif + +static const short yyr1[] = { 0, + 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17 +}; + +static const short yyr2[] = { 0, + 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, + 1, 3 +}; + +static const short yydefact[] = { 0, + 0, 11, 10, 0, 1, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 0, 3, 4, 5, 6, + 7, 8, 0, 2, 0, 0, 0 +}; + +static const short yydefgoto[] = { 25, + 5 +}; + +static const short yypact[] = { -9, + -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9, + -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26, + -3,-32768, -9, 34, 21, 53,-32768 +}; + +static const short yypgoto[] = {-32768, + -1 +}; + + +#define YYLAST 53 + + +static const short yytable[] = { 6, + 1, 2, 7, 3, 4, 14, 16, 17, 18, 19, + 20, 21, 22, 8, 9, 10, 11, 12, 13, 14, + 26, 24, 12, 13, 14, 15, 8, 9, 10, 11, + 12, 13, 14, 13, 14, 23, 8, 9, 10, 11, + 12, 13, 14, 10, 11, 12, 13, 14, 11, 12, + 13, 14, 27 +}; + +static const short yycheck[] = { 1, + 10, 11, 4, 13, 14, 9, 8, 9, 10, 11, + 12, 13, 14, 3, 4, 5, 6, 7, 8, 9, + 0, 23, 7, 8, 9, 15, 3, 4, 5, 6, + 7, 8, 9, 8, 9, 12, 3, 4, 5, 6, + 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, + 8, 9, 0 +}; +#define YYPURE 1 + +/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ +#line 3 "/usr/local/share/bison.simple" +/* This file comes from bison-1.28. */ + +/* Skeleton output parser for bison, + Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include <alloca.h> +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include <malloc.h> +#endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include <malloc.h> */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ +#endif +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif + +/* Note: there must be only one dollar sign in this file. + It is replaced by the list of actions, each action + as one case of the switch. */ + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY -2 +#define YYEOF 0 +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrlab1 +/* Like YYERROR except do call yyerror. + This remains here temporarily to ease the + transition to the new meaning of YYERROR, for GCC. + Once GCC version 2 has supplanted version 1, this can go. */ +#define YYFAIL goto yyerrlab +#define YYRECOVERING() (!!yyerrstatus) +#define YYBACKUP(token, value) \ +do \ + if (yychar == YYEMPTY && yylen == 1) \ + { yychar = (token), yylval = (value); \ + yychar1 = YYTRANSLATE (yychar); \ + YYPOPSTACK; \ + goto yybackup; \ + } \ + else \ + { yyerror ("syntax error: cannot back up"); YYERROR; } \ +while (0) + +#define YYTERROR 1 +#define YYERRCODE 256 + +#ifndef YYPURE +#define YYLEX yylex() +#endif + +#ifdef YYPURE +#ifdef YYLSP_NEEDED +#ifdef YYLEX_PARAM +#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) +#else +#define YYLEX yylex(&yylval, &yylloc) +#endif +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX yylex(&yylval, YYLEX_PARAM) +#else +#define YYLEX yylex(&yylval) +#endif +#endif /* not YYLSP_NEEDED */ +#endif + +/* If nonreentrant, generate the variables here */ + +#ifndef YYPURE + +int yychar; /* the lookahead symbol */ +YYSTYPE yylval; /* the semantic value of the */ + /* lookahead symbol */ + +#ifdef YYLSP_NEEDED +YYLTYPE yylloc; /* location data for the lookahead */ + /* symbol */ +#endif + +int yynerrs; /* number of parse errors so far */ +#endif /* not YYPURE */ + +#if YYDEBUG != 0 +int yydebug; /* nonzero means print parse trace */ +/* Since this is uninitialized, it does not stop multiple parsers + from coexisting. */ +#endif + +/* YYINITDEPTH indicates the initial size of the parser's stacks */ + +#ifndef YYINITDEPTH +#define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH is the maximum size the stacks can grow to + (effective only if the built-in stack extension method is used). */ + +#if YYMAXDEPTH == 0 +#undef YYMAXDEPTH +#endif + +#ifndef YYMAXDEPTH +#define YYMAXDEPTH 10000 +#endif + +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + +#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ +#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) +#else /* not GNU C or C++ */ +#ifndef __cplusplus + +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +static void +__yy_memcpy (to, from, count) + char *to; + char *from; + unsigned int count; +{ + register char *f = from; + register char *t = to; + register int i = count; + + while (i-- > 0) + *t++ = *f++; +} + +#else /* __cplusplus */ + +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +static void +__yy_memcpy (char *to, char *from, unsigned int count) +{ + register char *t = to; + register char *f = from; + register int i = count; + + while (i-- > 0) + *t++ = *f++; +} + +#endif +#endif + +#line 217 "/usr/local/share/bison.simple" + +/* The user can define YYPARSE_PARAM as the name of an argument to be passed + into yyparse. The argument should have type void *. + It should actually point to an object. + Grammar actions can access the variable by casting it + to the proper pointer type. */ + +#ifdef YYPARSE_PARAM +#ifdef __cplusplus +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +#define YYPARSE_PARAM_DECL +#else /* not __cplusplus */ +#define YYPARSE_PARAM_ARG YYPARSE_PARAM +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +#endif /* not __cplusplus */ +#else /* not YYPARSE_PARAM */ +#define YYPARSE_PARAM_ARG +#define YYPARSE_PARAM_DECL +#endif /* not YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + +int +yyparse(YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL +{ + register int yystate; + register int yyn; + register short *yyssp; + register YYSTYPE *yyvsp; + int yyerrstatus; /* number of tokens to shift before error messages enabled */ + int yychar1 = 0; /* lookahead token as an internal (translated) token number */ + + short yyssa[YYINITDEPTH]; /* the state stack */ + YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + + short *yyss = yyssa; /* refer to the stacks thru separate pointers */ + YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ + +#ifdef YYLSP_NEEDED + YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ + YYLTYPE *yyls = yylsa; + YYLTYPE *yylsp; + +#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) +#else +#define YYPOPSTACK (yyvsp--, yyssp--) +#endif + + int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; + +#ifdef YYPURE + int yychar; + YYSTYPE yylval; + int yynerrs; +#ifdef YYLSP_NEEDED + YYLTYPE yylloc; +#endif +#endif + + YYSTYPE yyval; /* the variable used to return */ + /* semantic values from the action */ + /* routines */ + + int yylen; + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Starting parse\n"); +#endif + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + + /* Initialize stack pointers. + Waste one element of value and location stack + so that they stay on the same level as the state stack. + The wasted elements are never initialized. */ + + yyssp = yyss - 1; + yyvsp = yyvs; +#ifdef YYLSP_NEEDED + yylsp = yyls; +#endif + +/* Push a new state, which is found in yystate . */ +/* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. */ +yynewstate: + + *++yyssp = yystate; + + if (yyssp >= yyss + yystacksize - 1) + { + /* Give user a chance to reallocate the stack */ + /* Use copies of these so that the &'s don't force the real ones into memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; +#ifdef YYLSP_NEEDED + YYLTYPE *yyls1 = yyls; +#endif + + /* Get the current used size of the three stacks, in elements. */ + int size = yyssp - yyss + 1; + +#ifdef yyoverflow + /* Each stack pointer address is followed by the size of + the data in use in that stack, in bytes. */ +#ifdef YYLSP_NEEDED + /* This used to be a conditional around just the two extra args, + but that might be undefined if yyoverflow is a macro. */ + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yyls1, size * sizeof (*yylsp), + &yystacksize); +#else + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yystacksize); +#endif + + yyss = yyss1; yyvs = yyvs1; +#ifdef YYLSP_NEEDED + yyls = yyls1; +#endif +#else /* no yyoverflow */ + /* Extend the stack our own way. */ + if (yystacksize >= YYMAXDEPTH) + { + yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 2; + } + yystacksize *= 2; + if (yystacksize > YYMAXDEPTH) + yystacksize = YYMAXDEPTH; +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); +#ifdef YYLSP_NEEDED + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); +#endif +#endif /* no yyoverflow */ + + yyssp = yyss + size - 1; + yyvsp = yyvs + size - 1; +#ifdef YYLSP_NEEDED + yylsp = yyls + size - 1; +#endif + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Stack size increased to %d\n", yystacksize); +#endif + + if (yyssp >= yyss + yystacksize - 1) + YYABORT; + } + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Entering state %d\n", yystate); +#endif + + goto yybackup; + yybackup: + +/* Do appropriate processing given the current state. */ +/* Read a lookahead token if we need one and don't already have one. */ +/* yyresume: */ + + /* First try to decide what to do without reference to lookahead token. */ + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ + + if (yychar == YYEMPTY) + { +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Reading a token: "); +#endif + yychar = YYLEX; + } + + /* Convert token to internal form (in yychar1) for indexing tables with */ + + if (yychar <= 0) /* This means end of input. */ + { + yychar1 = 0; + yychar = YYEOF; /* Don't call YYLEX any more */ + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Now at end of input.\n"); +#endif + } + else + { + yychar1 = YYTRANSLATE(yychar); + +#if YYDEBUG != 0 + if (yydebug) + { + fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); + /* Give the individual parser a way to print the precise meaning + of a token, for further debugging info. */ +#ifdef YYPRINT + YYPRINT (stderr, yychar, yylval); +#endif + fprintf (stderr, ")\n"); + } +#endif + } + + yyn += yychar1; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + goto yydefault; + + yyn = yytable[yyn]; + + /* yyn is what to do for this token type in this state. + Negative => reduce, -yyn is rule number. + Positive => shift, yyn is new state. + New state is final state => don't bother to shift, + just return success. + 0, or most negative number => error. */ + + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + else if (yyn == 0) + goto yyerrlab; + + if (yyn == YYFINAL) + YYACCEPT; + + /* Shift the lookahead token. */ + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); +#endif + + /* Discard the token being shifted unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; + + *++yyvsp = yylval; +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif + + /* count tokens shifted since error; after three, turn off error status. */ + if (yyerrstatus) yyerrstatus--; + + yystate = yyn; + goto yynewstate; + +/* Do the default action for the current state. */ +yydefault: + + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + +/* Do a reduction. yyn is the number of a rule to reduce with. */ +yyreduce: + yylen = yyr2[yyn]; + if (yylen > 0) + yyval = yyvsp[1-yylen]; /* implement default value of the action */ + +#if YYDEBUG != 0 + if (yydebug) + { + int i; + + fprintf (stderr, "Reducing via rule %d (line %d), ", + yyn, yyrline[yyn]); + + /* Print the symbols being reduced, and their result. */ + for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) + fprintf (stderr, "%s ", yytname[yyrhs[i]]); + fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif + + + switch (yyn) { + +case 1: +#line 175 "plural.y" +{ + if (yyvsp[0].exp == NULL) + YYABORT; + ((struct parse_args *) arg)->res = yyvsp[0].exp; + ; + break;} +case 2: +#line 183 "plural.y" +{ + yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 3: +#line 187 "plural.y" +{ + yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 4: +#line 191 "plural.y" +{ + yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 5: +#line 195 "plural.y" +{ + yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 6: +#line 199 "plural.y" +{ + yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 7: +#line 203 "plural.y" +{ + yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 8: +#line 207 "plural.y" +{ + yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); + ; + break;} +case 9: +#line 211 "plural.y" +{ + yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); + ; + break;} +case 10: +#line 215 "plural.y" +{ + yyval.exp = new_exp_0 (var); + ; + break;} +case 11: +#line 219 "plural.y" +{ + if ((yyval.exp = new_exp_0 (num)) != NULL) + yyval.exp->val.num = yyvsp[0].num; + ; + break;} +case 12: +#line 224 "plural.y" +{ + yyval.exp = yyvsp[-1].exp; + ; + break;} +} + /* the action file gets copied in in place of this dollarsign */ +#line 543 "/usr/local/share/bison.simple" + + yyvsp -= yylen; + yyssp -= yylen; +#ifdef YYLSP_NEEDED + yylsp -= yylen; +#endif + +#if YYDEBUG != 0 + if (yydebug) + { + short *ssp1 = yyss - 1; + fprintf (stderr, "state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); + } +#endif + + *++yyvsp = yyval; + +#ifdef YYLSP_NEEDED + yylsp++; + if (yylen == 0) + { + yylsp->first_line = yylloc.first_line; + yylsp->first_column = yylloc.first_column; + yylsp->last_line = (yylsp-1)->last_line; + yylsp->last_column = (yylsp-1)->last_column; + yylsp->text = 0; + } + else + { + yylsp->last_line = (yylsp+yylen-1)->last_line; + yylsp->last_column = (yylsp+yylen-1)->last_column; + } +#endif + + /* Now "shift" the result of the reduction. + Determine what state that goes to, + based on the state we popped back to + and the rule number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTBASE] + *yyssp; + if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTBASE]; + + goto yynewstate; + +yyerrlab: /* here on detecting error */ + + if (! yyerrstatus) + /* If not already recovering from an error, report this error. */ + { + ++yynerrs; + +#ifdef YYERROR_VERBOSE + yyn = yypact[yystate]; + + if (yyn > YYFLAG && yyn < YYLAST) + { + int size = 0; + char *msg; + int x, count; + + count = 0; + /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + size += strlen(yytname[x]) + 15, count++; + msg = (char *) malloc(size + 15); + if (msg != 0) + { + strcpy(msg, "parse error"); + + if (count < 5) + { + count = 0; + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + { + strcat(msg, count == 0 ? ", expecting `" : " or `"); + strcat(msg, yytname[x]); + strcat(msg, "'"); + count++; + } + } + yyerror(msg); + free(msg); + } + else + yyerror ("parse error; also virtual memory exceeded"); + } + else +#endif /* YYERROR_VERBOSE */ + yyerror("parse error"); + } + + goto yyerrlab1; +yyerrlab1: /* here on error raised explicitly by an action */ + + if (yyerrstatus == 3) + { + /* if just tried and failed to reuse lookahead token after an error, discard it. */ + + /* return failure if at end of input */ + if (yychar == YYEOF) + YYABORT; + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); +#endif + + yychar = YYEMPTY; + } + + /* Else will try to reuse lookahead token + after shifting the error token. */ + + yyerrstatus = 3; /* Each real token shifted decrements this */ + + goto yyerrhandle; + +yyerrdefault: /* current state does not do anything special for the error token. */ + +#if 0 + /* This is wrong; only states that explicitly want error tokens + should shift them. */ + yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ + if (yyn) goto yydefault; +#endif + +yyerrpop: /* pop the current state because it cannot handle the error token */ + + if (yyssp == yyss) YYABORT; + yyvsp--; + yystate = *--yyssp; +#ifdef YYLSP_NEEDED + yylsp--; +#endif + +#if YYDEBUG != 0 + if (yydebug) + { + short *ssp1 = yyss - 1; + fprintf (stderr, "Error: state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); + } +#endif + +yyerrhandle: + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yyerrdefault; + + yyn += YYTERROR; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) + goto yyerrdefault; + + yyn = yytable[yyn]; + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrpop; + yyn = -yyn; + goto yyreduce; + } + else if (yyn == 0) + goto yyerrpop; + + if (yyn == YYFINAL) + YYACCEPT; + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting error token, "); +#endif + + *++yyvsp = yylval; +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif + + yystate = yyn; + goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; +} +#line 229 "plural.y" + + +void +internal_function +FREE_EXPRESSION (exp) + struct expression *exp; +{ + if (exp == NULL) + return; + + /* Handle the recursive case. */ + switch (exp->nargs) + { + case 3: + FREE_EXPRESSION (exp->val.args[2]); + /* FALLTHROUGH */ + case 2: + FREE_EXPRESSION (exp->val.args[1]); + /* FALLTHROUGH */ + case 1: + FREE_EXPRESSION (exp->val.args[0]); + /* FALLTHROUGH */ + default: + break; + } + + free (exp); +} + + +static int +yylex (lval, pexp) + YYSTYPE *lval; + const char **pexp; +{ + const char *exp = *pexp; + int result; + + while (1) + { + if (exp[0] == '\0') + { + *pexp = exp; + return YYEOF; + } + + if (exp[0] != ' ' && exp[0] != '\t') + break; + + ++exp; + } + + result = *exp++; + switch (result) + { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + { + unsigned long int n = result - '0'; + while (exp[0] >= '0' && exp[0] <= '9') + { + n *= 10; + n += exp[0] - '0'; + ++exp; + } + lval->num = n; + result = NUMBER; + } + break; + + case '=': + if (exp[0] == '=') + { + ++exp; + lval->op = equal; + result = EQUOP2; + } + else + result = YYERRCODE; + break; + + case '!': + if (exp[0] == '=') + { + ++exp; + lval->op = not_equal; + result = EQUOP2; + } + break; + + case '&': + case '|': + if (exp[0] == result) + ++exp; + else + result = YYERRCODE; + break; + + case '<': + if (exp[0] == '=') + { + ++exp; + lval->op = less_or_equal; + } + else + lval->op = less_than; + result = CMPOP2; + break; + + case '>': + if (exp[0] == '=') + { + ++exp; + lval->op = greater_or_equal; + } + else + lval->op = greater_than; + result = CMPOP2; + break; + + case '*': + lval->op = mult; + result = MULOP2; + break; + + case '/': + lval->op = divide; + result = MULOP2; + break; + + case '%': + lval->op = module; + result = MULOP2; + break; + + case '+': + lval->op = plus; + result = ADDOP2; + break; + + case '-': + lval->op = minus; + result = ADDOP2; + break; + + case 'n': + case '?': + case ':': + case '(': + case ')': + /* Nothing, just return the character. */ + break; + + case ';': + case '\n': + case '\0': + /* Be safe and let the user call this function again. */ + --exp; + result = YYEOF; + break; + + default: + result = YYERRCODE; +#if YYDEBUG != 0 + --exp; +#endif + break; + } + + *pexp = exp; + + return result; +} + + +static void +yyerror (str) + const char *str; +{ + /* Do nothing. We don't print error messages here. */ +} diff --git a/gnu/usr.bin/texinfo/intl/plural.y b/gnu/usr.bin/texinfo/intl/plural.y new file mode 100644 index 00000000000..616b7c11a21 --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/plural.y @@ -0,0 +1,409 @@ +%{ +/* Expression parsing for plural form selection. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Written by Ulrich Drepper <drepper@cygnus.com>, 2000. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* The bison generated parser uses alloca. AIX 3 forces us to put this + declaration at the beginning of the file. The declaration in bison's + skeleton file comes too late. This must come before <config.h> + because <config.h> may include arbitrary system headers. */ +#if defined _AIX && !defined __GNUC__ + #pragma alloca +#endif + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stddef.h> +#include <stdlib.h> +#include "plural-exp.h" + +/* The main function generated by the parser is called __gettextparse, + but we want it to be called PLURAL_PARSE. */ +#ifndef _LIBC +# define __gettextparse PLURAL_PARSE +#endif + +#define YYLEX_PARAM &((struct parse_args *) arg)->cp +#define YYPARSE_PARAM arg +%} +%pure_parser +%expect 7 + +%union { + unsigned long int num; + enum operator op; + struct expression *exp; +} + +%{ +/* Prototypes for local functions. */ +static struct expression *new_exp PARAMS ((int nargs, enum operator op, + struct expression * const *args)); +static inline struct expression *new_exp_0 PARAMS ((enum operator op)); +static inline struct expression *new_exp_1 PARAMS ((enum operator op, + struct expression *right)); +static struct expression *new_exp_2 PARAMS ((enum operator op, + struct expression *left, + struct expression *right)); +static inline struct expression *new_exp_3 PARAMS ((enum operator op, + struct expression *bexp, + struct expression *tbranch, + struct expression *fbranch)); +static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); +static void yyerror PARAMS ((const char *str)); + +/* Allocation of expressions. */ + +static struct expression * +new_exp (nargs, op, args) + int nargs; + enum operator op; + struct expression * const *args; +{ + int i; + struct expression *newp; + + /* If any of the argument could not be malloc'ed, just return NULL. */ + for (i = nargs - 1; i >= 0; i--) + if (args[i] == NULL) + goto fail; + + /* Allocate a new expression. */ + newp = (struct expression *) malloc (sizeof (*newp)); + if (newp != NULL) + { + newp->nargs = nargs; + newp->operation = op; + for (i = nargs - 1; i >= 0; i--) + newp->val.args[i] = args[i]; + return newp; + } + + fail: + for (i = nargs - 1; i >= 0; i--) + FREE_EXPRESSION (args[i]); + + return NULL; +} + +static inline struct expression * +new_exp_0 (op) + enum operator op; +{ + return new_exp (0, op, NULL); +} + +static inline struct expression * +new_exp_1 (op, right) + enum operator op; + struct expression *right; +{ + struct expression *args[1]; + + args[0] = right; + return new_exp (1, op, args); +} + +static struct expression * +new_exp_2 (op, left, right) + enum operator op; + struct expression *left; + struct expression *right; +{ + struct expression *args[2]; + + args[0] = left; + args[1] = right; + return new_exp (2, op, args); +} + +static inline struct expression * +new_exp_3 (op, bexp, tbranch, fbranch) + enum operator op; + struct expression *bexp; + struct expression *tbranch; + struct expression *fbranch; +{ + struct expression *args[3]; + + args[0] = bexp; + args[1] = tbranch; + args[2] = fbranch; + return new_exp (3, op, args); +} + +%} + +/* This declares that all operators have the same associativity and the + precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. + There is no unary minus and no bitwise operators. + Operators with the same syntactic behaviour have been merged into a single + token, to save space in the array generated by bison. */ +%right '?' /* ? */ +%left '|' /* || */ +%left '&' /* && */ +%left EQUOP2 /* == != */ +%left CMPOP2 /* < > <= >= */ +%left ADDOP2 /* + - */ +%left MULOP2 /* * / % */ +%right '!' /* ! */ + +%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2 +%token <num> NUMBER +%type <exp> exp + +%% + +start: exp + { + if ($1 == NULL) + YYABORT; + ((struct parse_args *) arg)->res = $1; + } + ; + +exp: exp '?' exp ':' exp + { + $$ = new_exp_3 (qmop, $1, $3, $5); + } + | exp '|' exp + { + $$ = new_exp_2 (lor, $1, $3); + } + | exp '&' exp + { + $$ = new_exp_2 (land, $1, $3); + } + | exp EQUOP2 exp + { + $$ = new_exp_2 ($2, $1, $3); + } + | exp CMPOP2 exp + { + $$ = new_exp_2 ($2, $1, $3); + } + | exp ADDOP2 exp + { + $$ = new_exp_2 ($2, $1, $3); + } + | exp MULOP2 exp + { + $$ = new_exp_2 ($2, $1, $3); + } + | '!' exp + { + $$ = new_exp_1 (lnot, $2); + } + | 'n' + { + $$ = new_exp_0 (var); + } + | NUMBER + { + if (($$ = new_exp_0 (num)) != NULL) + $$->val.num = $1; + } + | '(' exp ')' + { + $$ = $2; + } + ; + +%% + +void +internal_function +FREE_EXPRESSION (exp) + struct expression *exp; +{ + if (exp == NULL) + return; + + /* Handle the recursive case. */ + switch (exp->nargs) + { + case 3: + FREE_EXPRESSION (exp->val.args[2]); + /* FALLTHROUGH */ + case 2: + FREE_EXPRESSION (exp->val.args[1]); + /* FALLTHROUGH */ + case 1: + FREE_EXPRESSION (exp->val.args[0]); + /* FALLTHROUGH */ + default: + break; + } + + free (exp); +} + + +static int +yylex (lval, pexp) + YYSTYPE *lval; + const char **pexp; +{ + const char *exp = *pexp; + int result; + + while (1) + { + if (exp[0] == '\0') + { + *pexp = exp; + return YYEOF; + } + + if (exp[0] != ' ' && exp[0] != '\t') + break; + + ++exp; + } + + result = *exp++; + switch (result) + { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + { + unsigned long int n = result - '0'; + while (exp[0] >= '0' && exp[0] <= '9') + { + n *= 10; + n += exp[0] - '0'; + ++exp; + } + lval->num = n; + result = NUMBER; + } + break; + + case '=': + if (exp[0] == '=') + { + ++exp; + lval->op = equal; + result = EQUOP2; + } + else + result = YYERRCODE; + break; + + case '!': + if (exp[0] == '=') + { + ++exp; + lval->op = not_equal; + result = EQUOP2; + } + break; + + case '&': + case '|': + if (exp[0] == result) + ++exp; + else + result = YYERRCODE; + break; + + case '<': + if (exp[0] == '=') + { + ++exp; + lval->op = less_or_equal; + } + else + lval->op = less_than; + result = CMPOP2; + break; + + case '>': + if (exp[0] == '=') + { + ++exp; + lval->op = greater_or_equal; + } + else + lval->op = greater_than; + result = CMPOP2; + break; + + case '*': + lval->op = mult; + result = MULOP2; + break; + + case '/': + lval->op = divide; + result = MULOP2; + break; + + case '%': + lval->op = module; + result = MULOP2; + break; + + case '+': + lval->op = plus; + result = ADDOP2; + break; + + case '-': + lval->op = minus; + result = ADDOP2; + break; + + case 'n': + case '?': + case ':': + case '(': + case ')': + /* Nothing, just return the character. */ + break; + + case ';': + case '\n': + case '\0': + /* Be safe and let the user call this function again. */ + --exp; + result = YYEOF; + break; + + default: + result = YYERRCODE; +#if YYDEBUG != 0 + --exp; +#endif + break; + } + + *pexp = exp; + + return result; +} + + +static void +yyerror (str) + const char *str; +{ + /* Do nothing. We don't print error messages here. */ +} diff --git a/gnu/usr.bin/texinfo/intl/ref-add.sin b/gnu/usr.bin/texinfo/intl/ref-add.sin new file mode 100644 index 00000000000..167374e3c5e --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/ref-add.sin @@ -0,0 +1,31 @@ +# Add this package to a list of references stored in a text file. +# +# Copyright (C) 2000 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# +# Written by Bruno Haible <haible@clisp.cons.org>. +# +/^# Packages using this file: / { + s/# Packages using this file:// + ta + :a + s/ @PACKAGE@ / @PACKAGE@ / + tb + s/ $/ @PACKAGE@ / + :b + s/^/# Packages using this file:/ +} diff --git a/gnu/usr.bin/texinfo/intl/ref-del.sin b/gnu/usr.bin/texinfo/intl/ref-del.sin new file mode 100644 index 00000000000..613cf37f3ba --- /dev/null +++ b/gnu/usr.bin/texinfo/intl/ref-del.sin @@ -0,0 +1,26 @@ +# Remove this package from a list of references stored in a text file. +# +# Copyright (C) 2000 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# +# Written by Bruno Haible <haible@clisp.cons.org>. +# +/^# Packages using this file: / { + s/# Packages using this file:// + s/ @PACKAGE@ / / + s/^/# Packages using this file:/ +} diff --git a/gnu/usr.bin/texinfo/lib/gettext.h b/gnu/usr.bin/texinfo/lib/gettext.h new file mode 100644 index 00000000000..4ab74d92c29 --- /dev/null +++ b/gnu/usr.bin/texinfo/lib/gettext.h @@ -0,0 +1,74 @@ +/* Convenience header for conditional use of GNU <libintl.h>. + Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include <libintl.h> + +#else + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +#if 0 +/* no thanks, not ready to go const --karl, 26feb02 */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) +# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) +#else /* not 0 */ +# define gettext(Msgid) ((Msgid)) +# define dgettext(Domainname, Msgid) (Msgid) +# define dcgettext(Domainname, Msgid, Category) (Msgid) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 ? (Msgid1) : (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) == 1 ? (Msgid1) : (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) == 1 ? (Msgid1) : (Msgid2)) +# define textdomain(Domainname) (Domainname) +# define bindtextdomain(Domainname, Dirname) (Dirname) +# define bind_textdomain_codeset(Domainname, Codeset) (Codeset) +#endif /* 0 */ +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +#endif /* _LIBGETTEXT_H */ diff --git a/gnu/usr.bin/texinfo/m4/ChangeLog b/gnu/usr.bin/texinfo/m4/ChangeLog new file mode 100644 index 00000000000..405f1327546 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/ChangeLog @@ -0,0 +1,14 @@ +2002-02-25 gettextize <bug-gnu-gettext@gnu.org> + + * codeset.m4: New file, from gettext-0.11. + * gettext.m4: New file, from gettext-0.11. + * glibc21.m4: New file, from gettext-0.11. + * iconv.m4: New file, from gettext-0.11. + * isc-posix.m4: New file, from gettext-0.11. + * lcmessage.m4: New file, from gettext-0.11. + * lib-ld.m4: New file, from gettext-0.11. + * lib-link.m4: New file, from gettext-0.11. + * lib-prefix.m4: New file, from gettext-0.11. + * progtest.m4: New file, from gettext-0.11. + * Makefile.am: New file. + diff --git a/gnu/usr.bin/texinfo/m4/Makefile.am b/gnu/usr.bin/texinfo/m4/Makefile.am new file mode 100644 index 00000000000..60cca4c3c58 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 diff --git a/gnu/usr.bin/texinfo/m4/Makefile.in b/gnu/usr.bin/texinfo/m4/Makefile.in new file mode 100644 index 00000000000..5f7f08d5bdd --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/Makefile.in @@ -0,0 +1,220 @@ +# Makefile.in generated by automake 1.6 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_HEADER = $(INSTALL_DATA) +transform = @program_transform_name@ +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ + +EXEEXT = @EXEEXT@ +OBJEXT = @OBJEXT@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +AMTAR = @AMTAR@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +DATADIRNAME = @DATADIRNAME@ +DEPDIR = @DEPDIR@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GMSGFMT = @GMSGFMT@ +HAVE_LIB = @HAVE_LIB@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LIB = @LIB@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LTLIB = @LTLIB@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +PACKAGE = @PACKAGE@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +TERMLIBS = @TERMLIBS@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +am__include = @am__include@ +am__quote = @am__quote@ +install_sh = @install_sh@ +EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 +subdir = m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +DIST_COMMON = ChangeLog Makefile.am Makefile.in +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu m4/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +install-info-am: +uninstall-info-am: +tags: TAGS +TAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @for file in $(DISTFILES); do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + cp -pR $$d/$$file $(distdir)$$dir \ + || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile + +installdirs: + +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/gnu/usr.bin/texinfo/m4/codeset.m4 b/gnu/usr.bin/texinfo/m4/codeset.m4 new file mode 100644 index 00000000000..59535ebcff5 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/codeset.m4 @@ -0,0 +1,23 @@ +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include <langinfo.h>], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) + fi +]) diff --git a/gnu/usr.bin/texinfo/m4/gettext.m4 b/gnu/usr.bin/texinfo/m4/gettext.m4 new file mode 100644 index 00000000000..520f973d8de --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/gettext.m4 @@ -0,0 +1,541 @@ +# gettext.m4 serial 13 (gettext-0.11.1) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + dnl Add a version number to the cache macros. + define([gt_api_version], ifelse([$2], [need-ngettext], 2, 1)) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) + + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include <libintl.h> +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) + + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include <libintl.h> +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <libintl.h> +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + INTLOBJS="\$(GETTOBJS)" + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + AC_SUBST(INTLOBJS) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for all prerequisites of the po subdirectory, +dnl except for USE_NLS. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.11 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + fi + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete $ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it + # from automake. + eval 'ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) + + AM_ICONV + AM_LANGINFO_CODESET + AM_LC_MESSAGES + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) + + +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) diff --git a/gnu/usr.bin/texinfo/m4/glibc21.m4 b/gnu/usr.bin/texinfo/m4/glibc21.m4 new file mode 100644 index 00000000000..9c9f3db3036 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/glibc21.m4 @@ -0,0 +1,32 @@ +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include <features.h> +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) diff --git a/gnu/usr.bin/texinfo/m4/iconv.m4 b/gnu/usr.bin/texinfo/m4/iconv.m4 new file mode 100644 index 00000000000..f81e8b995f6 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/iconv.m4 @@ -0,0 +1,96 @@ +# iconv.m4 serial AM3 (gettext-0.11) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AC_REQUIRE([AM_ICONV_LINK]) + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/gnu/usr.bin/texinfo/m4/isc-posix.m4 b/gnu/usr.bin/texinfo/m4/isc-posix.m4 new file mode 100644 index 00000000000..dcaf3608f98 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/isc-posix.m4 @@ -0,0 +1,24 @@ +# isc-posix.m4 serial 1 (gettext-0.10.40) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) diff --git a/gnu/usr.bin/texinfo/m4/lcmessage.m4 b/gnu/usr.bin/texinfo/m4/lcmessage.m4 new file mode 100644 index 00000000000..ffbf915f1a9 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/lcmessage.m4 @@ -0,0 +1,32 @@ +# lcmessage.m4 serial 2 (gettext-0.10.40) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995. + +# Check whether LC_MESSAGES is available in <locale.h>. + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your <locale.h> file defines LC_MESSAGES.]) + fi + fi]) diff --git a/gnu/usr.bin/texinfo/m4/lib-ld.m4 b/gnu/usr.bin/texinfo/m4/lib-ld.m4 new file mode 100644 index 00000000000..ddb573234cb --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/lib-ld.m4 @@ -0,0 +1,97 @@ +# lib-ld.m4 serial 1 (gettext-0.11) +dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/gnu/usr.bin/texinfo/m4/lib-link.m4 b/gnu/usr.bin/texinfo/m4/lib-link.m4 new file mode 100644 index 00000000000..a16aa446054 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/lib-link.m4 @@ -0,0 +1,521 @@ +# lib-link.m4 serial 1 (gettext-0.11) +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L, +dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. +AC_DEFUN([AC_LIB_RPATH], +[ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) diff --git a/gnu/usr.bin/texinfo/m4/lib-prefix.m4 b/gnu/usr.bin/texinfo/m4/lib-prefix.m4 new file mode 100644 index 00000000000..b8b79ab9ad5 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/lib-prefix.m4 @@ -0,0 +1,148 @@ +# lib-prefix.m4 serial 1 (gettext-0.11) +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) diff --git a/gnu/usr.bin/texinfo/m4/progtest.m4 b/gnu/usr.bin/texinfo/m4/progtest.m4 new file mode 100644 index 00000000000..443c8e30630 --- /dev/null +++ b/gnu/usr.bin/texinfo/m4/progtest.m4 @@ -0,0 +1,59 @@ +# progtest.m4 serial 2 (gettext-0.10.40) +dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1996. + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) diff --git a/gnu/usr.bin/texinfo/makeinfo/docbook.c b/gnu/usr.bin/texinfo/makeinfo/docbook.c new file mode 100644 index 00000000000..7301341e2f5 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/docbook.c @@ -0,0 +1,492 @@ +/* docbook.c -- docbook output. + $Id: docbook.c,v 1.1 2002/06/10 13:21:15 espie Exp $ + + Copyright (C) 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "system.h" +#include "cmds.h" +#include "docbook.h" +#include "insertion.h" +#include "lang.h" +#include "makeinfo.h" +#include "macro.h" +#include "sectioning.h" + +int docbook_version_inserted = 0; +int docbook_first_chapter_found = 0; +int docbook_must_insert_node_anchor = 0; +int docbook_begin_book_p = 0; +int docbook_no_new_paragraph = 0; + +static int section_level = -1; +static int in_docbook_paragraph = 0; +static int in_list = 0; + +static int in_table = 0; +static int in_term = 0; +static int in_entry = 0; +static int in_varlistitem = 0; + +static int in_example = 0; + +void +docbook_begin_section (level, cmd) + int level; + char *cmd; +{ + int i, old_no_indent; + char *temp, *tem; + static char *last_chap = NULL; + + close_paragraph (); + docbook_first_chapter_found = 1; + filling_enabled = indented_fill = 0; + old_no_indent = no_indent; + no_indent = 1; + + if (!docbook_begin_book_p) + docbook_begin_book (); + + if (macro_expansion_output_stream && !executing_string) + append_to_expansion_output (input_text_offset + 1); + + get_rest_of_line (0, &temp); + + if (in_docbook_paragraph) + { + insert_string ("\n</para>\n\n"); + adjust_braces_following (0, 10); + } + in_docbook_paragraph = 0; + docbook_no_new_paragraph++; + + if (level > section_level + 1) + level = section_level + 1; + + for (i = section_level; i >= level ; i--) + { + if (i == 0) + { + if (last_chap && strcmp(last_chap, "appendix") == 0) + add_word ("</appendix>\n\n"); + else + add_word ("</chapter>\n\n"); + } + else + add_word_args ("</sect%d>\n\n", i); + } + + section_level = level; + + if (level == 0) + { + if (strcmp(cmd, "appendix") == 0) + add_word ("<appendix"); + else + add_word ("<chapter"); + last_chap = cmd; + } + else + add_word_args ("<sect%d", level); + + if (docbook_must_insert_node_anchor) + { + add_word (" id=\""); + tem = expansion (current_node, 0); + add_escaped_anchor_name (tem, 0); + free (tem); + add_word ("\""); + docbook_must_insert_node_anchor = 0; + } + add_word (">\n"); + add_word ("<title>"); + + if (macro_expansion_output_stream && !executing_string) + { + char *temp1 = xmalloc (2 + strlen (temp)); + sprintf (temp1, "%s", temp); + remember_itext (input_text, input_text_offset); + me_execute_string (temp1); + free (temp1); + } + else + execute_string ("%s", temp); + + free (temp); + + add_word ("</title>\n"); + + close_paragraph (); + filling_enabled = 1; + no_indent = old_no_indent; + docbook_no_new_paragraph--; + insert_string("\n<para>"); + in_docbook_paragraph = 1; +} + +void +docbook_begin_paragraph () +{ + if (!docbook_first_chapter_found) + return; + + if (in_example) + return; + + if (in_table && !in_term) + { + if (!in_varlistitem) + insert_string ("\n<listitem><para>\n"); + else + insert_string ("\n</para>\n\n<para>\n"); + in_varlistitem = 1; + + return; + } + if (in_list) + return; + if (in_docbook_paragraph) + { + insert_string ("\n</para>\n\n"); + adjust_braces_following (0, 10); + } + +#if 0 + if (docbook_must_insert_node_anchor) + { + char *tem; + insert_string ("<para id=\""); + adjust_braces_following (0, 10); + tem = expansion (current_node, 0); + add_escaped_anchor_name (tem, 0); + free (tem); + add_word ("\">\n"); + docbook_must_insert_node_anchor = 0; + } + else +#endif + { + insert_string ("<para>\n"); + adjust_braces_following (0, 7); + } + in_docbook_paragraph = 1; +} + +void +docbook_begin_book () +{ + if (!docbook_begin_book_p) + docbook_begin_book_p = 1; + else + return; + + ++docbook_no_new_paragraph; + add_word_args ("<!DOCTYPE book PUBLIC \"-//Davenport//DTD DocBook V3.0//EN\">\n\ +<book>\n<title>%s</title>\n", title); + --docbook_no_new_paragraph; +} + +void +docbook_end_book () +{ + int i; + if (in_docbook_paragraph) + { + insert_string ("\n</para>\n\n"); + } + + for (i = section_level; i >= 0 ; i--) + { + if (i == 0) + add_word ("</chapter>\n"); + else + add_word_args ("</sect%d>\n", i); + } + + add_word ("</book>\n"); +} + +void +docbook_insert_tag (start_or_end, tag) + int start_or_end; + char *tag; +{ + if (!paragraph_is_open && start_or_end == START) + docbook_begin_paragraph (); + + add_char ('<'); + if (start_or_end == START) + add_word (tag); + else + { + add_char ('/'); + for (; *tag && *tag != ' '; tag++) + add_char(*tag); + } + add_meta_char ('>'); +} + +void +docbook_xref1 (node_name) + char *node_name; +{ + char *tem; + add_word ("<xref linkend=\""); + tem = expansion (node_name, 0); + add_escaped_anchor_name (tem, 1); + free (tem); + add_word ("\"/>"); +} + +void +docbook_xref2 (node_name, ref_name) + char *node_name; + char *ref_name; +{ + char *tem; + add_word ("<xref linkend=\""); + tem = expansion (node_name, 0); + add_escaped_anchor_name (tem, 1); + free (tem); + add_word ("\"/>"); +} + +int +docbook_quote (character) + int character; +{ + switch (language_code) + { + case fr: + if (character == '`') + { + add_word (" "); + return ';'; + } + else + { + add_word (" "); + return ''; + } + break; + + default: + if (character == '`') + { + add_word ("&ldquo"); + return ';'; + } + else + { + add_word ("&rdquo"); + return ';'; + } + break; + } +} + +#define IS_BLANK(c) (c == ' ' || c == '\t' || c == '\n') + +int +docbook_is_punctuation (character, next) + int character; + int next; +{ + return ( (character == ';' + || character == ':' + || character == '?' + || character == '!') + && IS_BLANK (next)); +} + +void +docbook_punctuation (character) + int character; +{ + switch (language_code) + { + case fr: + while (output_paragraph[output_paragraph_offset-1] == ' ') + output_paragraph_offset--; + add_word (" "); + break; + } +} + +static int in_item = 0; + +void +docbook_begin_itemize () +{ + if (in_docbook_paragraph) + insert_string ("\n</para>\n"); + + in_docbook_paragraph = 0; + insert_string ("\n<itemizedlist>\n"); + in_item = 0; + in_list = 1; +} + +void +docbook_end_itemize () +{ + if (in_item) + { + insert_string ("\n</para></listitem>\n"); + in_item = 0; + } + insert_string ("\n</itemizedlist>\n\n<para>\n"); + in_docbook_paragraph = 1; + in_list = 0; +} + +void +docbook_begin_enumerate () +{ + if (in_docbook_paragraph) + insert_string ("\n</para>\n"); + in_docbook_paragraph = 0; + insert_string ("\n<orderedlist>\n"); + in_item = 0; + in_list = 1; +} + +void +docbook_end_enumerate () +{ + if (in_item) + { + insert_string ("\n</para></listitem>\n"); + in_item = 0; + } + insert_string ("\n</orderedlist>\n\n<para>\n"); + in_docbook_paragraph = 1; + in_list = 0; +} + +void +docbook_begin_table () +{ +#if 0 + if (in_docbook_paragraph) + insert_string ("\n</para>\n\n"); + in_docbook_paragraph = 0; +#endif + + add_word ("\n<variablelist>\n"); + in_table ++; + in_varlistitem = 0; + in_entry = 0; +} + +void +docbook_end_table () +{ + if (!in_varlistitem) + docbook_begin_paragraph (); + insert_string ("\n</para></listitem>\n</varlistentry>\n\n</variablelist>\n"); +#if 0 + if (in_table == 1) + { + insert_string ("\n</para>\n\n"); + in_docbook_paragraph = 0; + } + else + { + insert_string ("\n<para>\n\n"); + in_docbook_paragraph = 1; + } +#endif + in_table --; + in_list = 0; +} + +void +docbook_add_item () +{ + if (in_item) + insert_string ("\n</para></listitem>\n"); + insert_string ("\n<listitem><para>\n"); + in_docbook_paragraph = 1; + in_item = 1; +} + +void +docbook_add_table_item () +{ + if (in_varlistitem) + { + insert_string ("\n</para></listitem>\n</varlistentry>\n\n"); + in_entry = 0; + in_varlistitem = 0; + } + if (!in_entry) + { + insert_string ("<varlistentry>\n"); + in_entry = 1; + } + insert_string ("<term>"); + in_list = 1; + in_term = 1; +} + +void +docbook_close_table_item () +{ + insert_string ("</term>"); + in_list = 1; + in_term = 0; +} + +void +docbook_add_anchor (anchor) + char *anchor; +{ + add_word ("<anchor id=\""); + add_anchor_name (anchor, 0); + add_word ("\">"); +} + +void +docbook_footnote (note) + char *note; +{ + /* add_word_args ("<footnote><para>\n%s\n</para></footnote>\n", note); */ + add_word ("<footnote><para>\n"); + execute_string("%s", note); + add_word("\n</para></footnote>\n"); +} + +void +docbook_begin_index () +{ + add_word ("<variablelist>\n"); +} + +void +docbook_begin_example () +{ + add_word ("\n\n<screen>\n"); + in_example = 1; +} + +void +docbook_end_example () +{ + in_example = 0; + add_word ("</screen>\n\n"); +} diff --git a/gnu/usr.bin/texinfo/makeinfo/docbook.h b/gnu/usr.bin/texinfo/makeinfo/docbook.h new file mode 100644 index 00000000000..e3aa2b05112 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/docbook.h @@ -0,0 +1,81 @@ +/* docbook.h -- docbook declarations. + $Id: docbook.h,v 1.1 2002/06/10 13:21:15 espie Exp $ + + Copyright (C) 2001 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef DOCBOOK_H +#define DOCBOOK_H + +#define DB_B "emphasis role=\"bold\"" +#define DB_CITE "citetitle" +#define DB_CODE "literal" +#define DB_COMMAND "command" +#define DB_DFN "firstterm" +#define DB_EMPH "emphasis" +#define DB_ENV "envar" +#define DB_FILE "filename" +#define DB_FUNCTION "function" +#define DB_I "emphasis" +#define DB_KBD "userinput" +#define DB_KEY "keycap" +#define DB_OPTION "option" +#define DB_STRONG "emphasis role=\"bold\"" +#define DB_TT "literal" +#define DB_URL "systemitem role=\"sitename\"" +#define DB_VAR "replaceable" + +extern int docbook_version_inserted; +extern int docbook_begin_book_p; +extern int docbook_first_chapter_found; +extern int docbook_must_insert_node_anchor; +extern int docbook_no_new_paragraph; + +void docbook_begin_section (); +void docbook_begin_paragraph (); +void docbook_begin_book (); +void docbook_end_book (); + +void docbook_insert_tag (); + +void docbook_xref1 (); +void docbook_xref2 (); + +int docbook_quote (); + +int docbook_is_punctuation (); +void docbook_punctuation (); + +void docbook_begin_itemize (); +void docbook_end_itemize (); +void docbook_begin_enumerate (); +void docbook_end_enumerate (); + +void docbook_begin_table (); +void docbook_end_table (); +void docbook_add_item (); +void docbook_add_table_item (); +void docbook_close_table_item (); +void docbook_add_anchor (); + +void docbook_footnote (); + +void docbook_begin_index (); + +void docbook_begin_example (); +void docbook_end_example (); + +#endif /* DOCBOOK_H */ diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/accent b/gnu/usr.bin/texinfo/makeinfo/tests/accent new file mode 100644 index 00000000000..dc008683200 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/accent @@ -0,0 +1,33 @@ +#!/bin/sh +# Test accent output. + +: ${srcdir=.} +input=`basename $0`.txi + +# html +houtput=`basename $0`.html +../makeinfo --html --no-split -I$srcdir $srcdir/$input +hexit_status=$? +if test $hexit_status = 0; then + grep 'ì' $houtput >/dev/null \ + && grep '´i' $houtput >/dev/null \ + && grep 'Ø' $houtput >/dev/null \ + && grep '/L' $houtput >/dev/null + hexit_status=$? +fi + +# info +ioutput=`basename $0`.info +../makeinfo --no-split -I$srcdir $srcdir/$input +iexit_status=$? +if test $iexit_status = 0; then + grep 'i`' $ioutput >/dev/null \ + && grep 'i"' $ioutput >/dev/null \ + && grep '/L' $ioutput >/dev/null + iexit_status=$? +fi + +rm -f $houtput $ioutput + +exit_status=`expr $hexit_status + $iexit_status` +exit $exit_status diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/accent-text.txi b/gnu/usr.bin/texinfo/makeinfo/tests/accent-text.txi new file mode 100644 index 00000000000..e1bd2dacbdf --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/accent-text.txi @@ -0,0 +1,64 @@ +@c args with braces, without braces/following whitespace + +should be e`: @`{e} @`e + +should be e': @'{e} @'e + +should be e^: @^{e} @^e + +should be u": @"{u} @"u + +should be i`: @`{i} @`i + +should be i': @'{i} @'i + +should be i^: @^{i} @^i + +should be u": @"{u} @"u + +should be c,: @,{c} @,c + +should be n~: @~{n} @~n + +should be e=: @={e} @=e + +should be e@w{'}': @H{e} @H e + +should be e.: @dotaccent{e} @dotaccent e + +should be e*: @ringaccent{e} @ringaccent e + +should be ee[: @tieaccent{ee} + +should be e(: @u{e} @u e + +should be e_: @ubaraccent{e} @ubaraccent e + +should be .e: @udotaccent{e} @udotaccent e + +should be e<: @v{e} @v e + +upside down: @questiondown{} @exclamdown{} + +A-with-circle: @aa{},@AA{} + +AE, OE ligatures: @ae{} @AE{} @oe{} @OE{} + +dotless i, j: @dotless{i} @dotless{j} + +Polish suppressed-L: @l{} @L{} + +O-with-slash: @o{} @O{} + +es-zet or sharp S: @ss{} + +pounds sterling: @pounds{} + +@c arg is command +should be dotless i`: @`{@dotless{i}} + +should be dotless i': @'{@dotless{i}} + +should be dotless i^: @^{@dotless{i}} + +should be dotless i": @"{@dotless{i}} diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/accent.txi b/gnu/usr.bin/texinfo/makeinfo/tests/accent.txi new file mode 100644 index 00000000000..3c52a90bde4 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/accent.txi @@ -0,0 +1,10 @@ +\input texinfo +@setfilename accent.info +@settitle Accent test + +@node Top +@top Accent test top + +@include accent-text.txi + +@bye diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/accentenc b/gnu/usr.bin/texinfo/makeinfo/tests/accentenc new file mode 100644 index 00000000000..baf26b60186 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/accentenc @@ -0,0 +1,19 @@ +#!/bin/sh +# Test encoded accent info output. + +: ${srcdir=.} +input=`basename $0`.txi +output=`basename $0`.info + +../makeinfo --enable-encoding --no-split -I$srcdir $srcdir/$input +exit_status=$? +if test $exit_status = 0; then + grep '' $output >/dev/null \ + && grep '' $output >/dev/null \ + && grep '/L' $output >/dev/null + exit_status=$? +fi + +rm -f $output + +exit $exit_status diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/accentenc.txi b/gnu/usr.bin/texinfo/makeinfo/tests/accentenc.txi new file mode 100644 index 00000000000..b6e209c64fa --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/accentenc.txi @@ -0,0 +1,11 @@ +\input texinfo +@setfilename accentenc.info +@settitle Accent encoding test +@documentencoding ISO-8859-1 + +@node Top +@top Accent encoding test top + +@include accent-text.txi + +@bye diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc b/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc new file mode 100644 index 00000000000..59df74e411b --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc @@ -0,0 +1,12 @@ +#!/bin/sh +# Test that @documentdescription works. + +if ../makeinfo --html --no-split ${srcdir-.}/html-docdesc.txi; then + grep 'explicit document description' html-docdesc.html >/dev/null + exit_status=$? +else + exit_status=1 +fi + +rm -f html-docdesc.html +exit $exit_status diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc.txi b/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc.txi new file mode 100644 index 00000000000..0b328dacd2a --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/html-docdesc.txi @@ -0,0 +1,14 @@ +\input texinfo +@setfilename html-docdesc.info +@settitle HTML docdesc test + +@documentdescription +This is the explicit document description. +@end documentdescription + +@node Top +@top Top of HTML docdesc test + +This is the top. + +@bye diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/macro-at b/gnu/usr.bin/texinfo/makeinfo/tests/macro-at new file mode 100644 index 00000000000..90841e89f11 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/macro-at @@ -0,0 +1,7 @@ +#!/bin/sh +# Test @@ in macro expansions, etc. --eliz, 14nov99. + +: ${srcdir=.} +../makeinfo $srcdir/macro-at.txi || exit 1 + +rm -f macro-at.info diff --git a/gnu/usr.bin/texinfo/makeinfo/tests/macro-at.txi b/gnu/usr.bin/texinfo/makeinfo/tests/macro-at.txi new file mode 100644 index 00000000000..24b91013456 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/tests/macro-at.txi @@ -0,0 +1,38 @@ +\input texinfo @c -*- texinfo -*- +@setfilename macro-at.info +@settitle AUTHORS -- who did what on GNU LilyPond + +@macro foo +foo-expansion +@end macro + +@macro bar +bar-expansion +@end macro + +@node Top, , AUTHORS -- who did what on GNU LilyPond, (dir) +@top +@menu +* AUTHORS -- who did what on GNU LilyPond:: AUTHORS -- who did what. +@end menu + +@node AUTHORS -- who did what on GNU LilyPond, Top, , Top +@chapter AUTHORS -- who did what on GNU LilyPond? + +This file lists authors of GNU LilyPond, and what they wrote. +It also uses foobar@{. + +@itemize @bullet +@item @email{pinard@@iro.montreal.ca, Fran@,{c}ois Pinard}, + parts of Documentation. +@item @email{foobar@@baz@@, The Foobar}, + the usual foobarical thing. +@item @email{another@@foobar@{, Buzzer}, + buzzed all the way. +@item @email{@foo{}@@@bar{}}, + also helped. +@item @email{tomcato@@xoommail.com, Tom Cato Amundsen}, + cembalo-partita in mundela. +@end itemize + +@bye diff --git a/gnu/usr.bin/texinfo/makeinfo/texinfo.dtd b/gnu/usr.bin/texinfo/makeinfo/texinfo.dtd new file mode 100644 index 00000000000..da4352e634d --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/texinfo.dtd @@ -0,0 +1,337 @@ +<!-- $Id: texinfo.dtd,v 1.1 2002/06/10 13:21:23 espie Exp $ + Document Type Definition for Texinfo. + + Author: Philippe Martin (feloy@free.fr) + Contributors: + Karl Eichwalder (keichwa@gmx.net) + + Copyright (C) 2001, 02 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +--> + +<!-- ENTITIES --> + +<!-- Meta-information --> +<!ENTITY % metainformation "setfilename | settitle | titlefont | dircategory"> + +<!-- block --> +<!-- ***** --> +<!ENTITY % block "menu | para | quotation | example | smallexample | lisp + | smalllisp | cartouche | copying + | format | smallformat | display + | smalldisplay | itemize | enumerate | sp | center | group + | table | multitable"> + +<!-- Sectioning --> +<!-- ********** --> +<!ENTITY % section.level1 "top | chapter | unnumbered | appendix + | majorheading | chapheading"> + +<!ENTITY % section.level2 "section | unnumberedsec | appendixsec | heading"> + +<!ENTITY % section.level3 "subsection | unnumberedsubsec | appendixsubsec + | subheading"> + +<!ENTITY % section.level4 "subsubsection | unnumberedsubsubsec + | appendixsubsubsec | subsubheading"> + +<!ENTITY % section.all "%section.level1; | %section.level2; | %section.level3; + | %section.level4;"> + + +<!ENTITY % section.level1.content "(%block; + | %section.level2; + | %section.level3; + | %section.level4; + | printindex)*"> + +<!ENTITY % section.level2.content "(%block; + | %section.level3; + | %section.level4;)*"> + +<!ENTITY % section.level3.content "(%block; + | %section.level4;)*"> + +<!ENTITY % section.level4.content "(%block;)*"> + + +<!-- Inline --> +<!-- ****** --> +<!ENTITY % Inline.emphasize "strong | emph"> +<!ENTITY % Inline.smallcaps "sc"> +<!ENTITY % Inline.fonts "i | b | tt | r"> +<!ENTITY % Inline.markup "code | dfn | cite | key | kbd | var | acronym | url"> +<!ENTITY % Inline.reference "xref | inforef | indexterm | email | uref"> + +<!ENTITY % Inline.phrase + "%Inline.emphasize; | %Inline.smallcaps; | %Inline.fonts; + | %Inline.markup; | %Inline.reference; "> + + +<!-- ************ --> +<!-- * ELEMENTS * --> +<!-- ************ --> + +<!-- TOP Level Element --> +<!-- ***************** --> +<!ELEMENT texinfo ((%metainformation; | node | %block;)* )> + +<!-- meta-information --> +<!ELEMENT setfilename (#PCDATA)> +<!ELEMENT settitle (#PCDATA)> +<!ELEMENT titlefont (#PCDATA)> +<!ELEMENT dircategory (#PCDATA)> + +<!-- NODES --> +<!-- ***** --> +<!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?, + (para | menu | %section.all;)*) > + +<!ELEMENT nodename (#PCDATA)> +<!ELEMENT nodenext (#PCDATA)> +<!ELEMENT nodeprev (#PCDATA)> +<!ELEMENT nodeup (#PCDATA)> + +<!-- SECTIONING --> +<!-- ********** --> + +<!ELEMENT top (title?, %section.level1.content;)> + +<!ELEMENT chapter (title?, %section.level1.content;)> +<!ELEMENT section (title?, %section.level2.content;)> +<!ELEMENT subsection (title?, %section.level3.content;)> +<!ELEMENT subsubsection (title?, %section.level4.content;)> + +<!ELEMENT unnumbered (title?, %section.level1.content;)> +<!ELEMENT unnumberedsec (title?, %section.level2.content;)> +<!ELEMENT unnumberedsubsec (title?, %section.level3.content;)> +<!ELEMENT unnumberedsubsubsec (title?, %section.level4.content;)> + +<!ELEMENT appendix (title?, %section.level1.content;)> +<!ELEMENT appendixsec (title?, %section.level2.content;)> +<!ELEMENT appendixsubsec (title?, %section.level3.content;)> +<!ELEMENT appendixsubsubsec (title?, %section.level4.content;)> + +<!ELEMENT majorheading (title?, %section.level1.content;)> +<!ELEMENT chapheading (title?, %section.level1.content;)> +<!ELEMENT heading (title?, %section.level2.content;)> +<!ELEMENT subheading (title?, %section.level3.content;)> +<!ELEMENT subsubheading (title?, %section.level4.content;)> + +<!ELEMENT title (#PCDATA | %Inline.phrase; | footnote)*> + +<!-- BLOCK Elements --> +<!-- ************** --> + +<!ELEMENT quotation (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT example (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT smallexample (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT lisp (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT smalllisp (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT cartouche (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT copying (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT format (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT smallformat (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT display (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT smalldisplay (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT center (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT group (#PCDATA | %block; | %Inline.phrase;)*> +<!ELEMENT image (#PCDATA)> + +<!ELEMENT para (#PCDATA | %Inline.phrase; | footnote)*> + +<!ELEMENT menu ((menuentry | para)*)> +<!ELEMENT menuentry (menunode?, menutitle?, menucomment?)> +<!ELEMENT menunode (#PCDATA)> +<!ELEMENT menutitle (#PCDATA)> +<!ELEMENT menucomment (#PCDATA | para)*> + +<!-- Lists --> +<!ELEMENT itemize (itemfunction, (item | itemize | enumerate | indexterm)*)> +<!ELEMENT enumerate (enumarg?, (item | itemize | enumerate)*)> +<!ATTLIST enumerate + first CDATA #IMPLIED> + +<!ELEMENT item (%block;)*> +<!ELEMENT enumarg (#PCDATA)> + +<!ELEMENT itemfunction (#PCDATA | %Inline.phrase;)*> + +<!-- Tables --> +<!ELEMENT table (tableitem | indexterm)+> +<!ELEMENT tableitem (tableterm+, item)> +<!ELEMENT tableterm (#PCDATA | %Inline.phrase;)*> + +<!ELEMENT multitable (columnfraction*, row*)> +<!ELEMENT columnfraction (#PCDATA)> +<!ELEMENT row (entry*)> +<!ELEMENT entry (#PCDATA | %Inline.phrase;)*> + +<!-- INLINE Elements --> +<!-- *************** --> + +<!-- Emphasize --> +<!ELEMENT strong (#PCDATA | %Inline.phrase;)*> +<!ELEMENT emph (#PCDATA | %Inline.phrase;)*> + +<!-- small caps --> +<!ELEMENT sc (#PCDATA | %Inline.phrase;)*> + +<!-- fonts --> +<!ELEMENT i (#PCDATA | %Inline.phrase;)*> +<!ELEMENT b (#PCDATA | %Inline.phrase;)*> +<!ELEMENT tt (#PCDATA | %Inline.phrase;)*> +<!ELEMENT r (#PCDATA | %Inline.phrase;)*> +<!ELEMENT notfixedwidth (#PCDATA | %Inline.phrase;)*> + +<!-- markup --> +<!ELEMENT code (#PCDATA | %Inline.phrase;)*> +<!ELEMENT dfn (#PCDATA | %Inline.phrase;)*> +<!ELEMENT cite (#PCDATA | %Inline.phrase;)*> +<!ELEMENT key (#PCDATA | %Inline.phrase;)*> +<!ELEMENT kbd (#PCDATA | %Inline.phrase;)*> +<!ELEMENT var (#PCDATA | %Inline.phrase;)*> +<!ELEMENT acronym (#PCDATA | %Inline.phrase;)*> +<!ELEMENT url (#PCDATA | %Inline.phrase;)*> + +<!-- reference --> +<!ELEMENT anchor EMPTY> +<!ATTLIST anchor + name CDATA #IMPLIED> + +<!ELEMENT xref (xrefnodename | xrefinfoname | xrefinfofile + | xrefprintedname | xrefprinteddesc)*> +<!ELEMENT xrefnodename (#PCDATA | %Inline.phrase;)*> +<!ELEMENT xrefinfoname (#PCDATA | %Inline.phrase;)*> +<!ELEMENT xrefinfofile (#PCDATA | %Inline.phrase;)*> +<!ELEMENT xrefprintedname (#PCDATA | %Inline.phrase;)*> +<!ELEMENT xrefprinteddesc (#PCDATA | %Inline.phrase;)*> + +<!ELEMENT inforef (inforefnodename | inforefrefname | inforefinfoname)*> +<!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*> +<!ELEMENT inforefrefname (#PCDATA | %Inline.phrase;)*> +<!ELEMENT inforefinfoname (#PCDATA | %Inline.phrase;)*> + +<!ELEMENT indexterm (#PCDATA | %Inline.phrase;)*> +<!ATTLIST indexterm + INDEX CDATA #IMPLIED> + +<!ELEMENT email (emailaddress, emailname?)> +<!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*> +<!ELEMENT emailname (#PCDATA | %Inline.phrase;)*> + +<!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)> +<!ELEMENT urefurl (#PCDATA | %Inline.phrase;)*> +<!ELEMENT urefdesc (#PCDATA | %Inline.phrase;)*> +<!ELEMENT urefreplacement (#PCDATA | %Inline.phrase;)*> + +<!ELEMENT footnote (para)> + + + +<!ENTITY tex "TeX"> +<!ENTITY ellipsis ""> +<!ENTITY lt ""> +<!ENTITY gt ""> +<!ENTITY bullet ""> +<!ENTITY copyright ""> +<!ENTITY minus ""> +<!ENTITY linebreak ""> +<!ENTITY space ""> +<!ENTITY dots ""> +<!ENTITY enddots ""> +<!ENTITY amp ""> + +<!ENTITY auml ""> +<!ENTITY ouml ""> +<!ENTITY uuml ""> +<!ENTITY Auml ""> +<!ENTITY Ouml ""> +<!ENTITY Uuml ""> +<!ENTITY Euml ""> +<!ENTITY euml ""> +<!ENTITY Iuml ""> +<!ENTITY iuml ""> +<!ENTITY yuml ""> +<!ENTITY uml ""> + +<!ENTITY Aacute ""> +<!ENTITY Eacute ""> +<!ENTITY Iacute ""> +<!ENTITY Oacute ""> +<!ENTITY Uacute ""> +<!ENTITY Yacute ""> +<!ENTITY aacute ""> +<!ENTITY eacute ""> +<!ENTITY iacute ""> +<!ENTITY oacute ""> +<!ENTITY uacute ""> +<!ENTITY yacute ""> + +<!ENTITY ccedil ""> +<!ENTITY Ccedil ""> + +<!ENTITY Acirc ""> +<!ENTITY Ecirc ""> +<!ENTITY Icirc ""> +<!ENTITY Ocirc ""> +<!ENTITY Ucirc ""> +<!ENTITY acirc ""> +<!ENTITY ecirc ""> +<!ENTITY icirc ""> +<!ENTITY ocirc ""> +<!ENTITY ucirc ""> + +<!ENTITY Agrave ""> +<!ENTITY Egrave ""> +<!ENTITY Igrave ""> +<!ENTITY Ograve ""> +<!ENTITY Ugrave ""> +<!ENTITY agrave ""> +<!ENTITY egrave ""> +<!ENTITY igrave ""> +<!ENTITY ograve ""> +<!ENTITY ugrave ""> + +<!ENTITY Atilde ""> +<!ENTITY Ntilde ""> +<!ENTITY Otilde ""> +<!ENTITY atilde ""> +<!ENTITY ntilde ""> +<!ENTITY otilde ""> + +<!ENTITY oslash ""> +<!ENTITY Oslash ""> + +<!ENTITY iexcl ""> +<!ENTITY pound ""> +<!ENTITY iquest ""> +<!ENTITY AElig ""> +<!ENTITY aelig ""> +<!ENTITY Aring ""> +<!ENTITY aring ""> +<!ENTITY szlig ""> + +<!ENTITY macr ""> + + +<!-- fixxme: not yet classified --> + +<!ELEMENT sp (#PCDATA)> +<!ATTLIST sp + lines CDATA #IMPLIED> +<!ELEMENT printindex (#PCDATA)> + diff --git a/gnu/usr.bin/texinfo/makeinfo/texinfo.xsl b/gnu/usr.bin/texinfo/makeinfo/texinfo.xsl new file mode 100644 index 00000000000..afe90c9f1c4 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/texinfo.xsl @@ -0,0 +1,242 @@ +<?xml version='1.0'?> +<!-- $Id: texinfo.xsl,v 1.1 2002/06/10 13:21:23 espie Exp $ --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:output method="html" indent="yes"/> + +<!-- root rule --> +<xsl:template match="/"> + <html> + <head><title> + <xsl:apply-templates select="TEXINFO/SETTITLE" mode="head"/> + </title></head> + <body bgcolor="#FFFFFF"><xsl:apply-templates/> +</body></html> +</xsl:template> + + +<xsl:template match="TEXINFO"> + <xsl:apply-templates/> +</xsl:template> + + +<xsl:template match="TEXINFO/SETFILENAME"> +</xsl:template> + +<xsl:template match="TEXINFO/SETTITLE" mode="head"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="TEXINFO/SETTITLE"> + <h1><xsl:apply-templates/></h1> +</xsl:template> + + +<xsl:template match="TEXINFO/DIRCATEGORY"> +</xsl:template> + +<xsl:template match="//PARA"> + <p><xsl:apply-templates/></p> +</xsl:template> + +<xsl:template match="//EMPH"> + <i><xsl:apply-templates/></i> +</xsl:template> + +<!-- The node --> +<xsl:template match="TEXINFO/NODE"> + <hr/> + <p> + <xsl:apply-templates select="NODENAME" mode="select"/> + <xsl:apply-templates select="NODEPREV" mode="select"/> + <xsl:apply-templates select="NODEUP" mode="select"/> + <xsl:apply-templates select="NODENEXT" mode="select"/> + <xsl:apply-templates/> + <h2>Footnotes</h2> + <ol> + <xsl:apply-templates select=".//FOOTNOTE" mode="footnote"/> + </ol> + </p> +</xsl:template> + +<xsl:template match="TEXINFO/NODE/NODENAME" mode="select"> +<h2> + <a> + <xsl:attribute name="name"> + <xsl:apply-templates/> + </xsl:attribute> + <xsl:apply-templates/> + </a> +</h2> +</xsl:template> + +<xsl:template match="TEXINFO/NODE/NODENAME"/> + + +<xsl:template match="TEXINFO/NODE/NODEPREV" mode="select"> + [ <b>Previous: </b> + <a> + <xsl:attribute name="href"> + <xsl:text>#</xsl:text> + <xsl:apply-templates/> + </xsl:attribute> + <xsl:apply-templates/> + </a> ] +</xsl:template> + +<xsl:template match="TEXINFO/NODE/NODEPREV"/> + +<xsl:template match="TEXINFO/NODE/NODEUP" mode="select"> + [ <b>Up: </b> + <a> + <xsl:attribute name="href"> + <xsl:text>#</xsl:text> + <xsl:apply-templates/> + </xsl:attribute> + <xsl:apply-templates/> + </a> ] +</xsl:template> + +<xsl:template match="TEXINFO/NODE/NODEUP"/> + +<xsl:template match="TEXINFO/NODE/NODENEXT" mode="select"> + [ <b>Next: </b> + <a> + <xsl:attribute name="href"> + <xsl:text>#</xsl:text> + <xsl:apply-templates/> + </xsl:attribute> + <xsl:apply-templates/> + </a> ] +</xsl:template> + +<xsl:template match="TEXINFO/NODE/NODENEXT"/> + +<!-- Menu --> +<xsl:template match="//MENU"> + <h3>Menu</h3> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="//MENU/MENUENTRY"> + <a> + <xsl:attribute name="href"> + <xsl:text>#</xsl:text> + <xsl:apply-templates select="MENUNODE"/> + </xsl:attribute> + <xsl:apply-templates select="MENUTITLE"/> + </a>: + <xsl:apply-templates select="MENUCOMMENT"/> + <br/> +</xsl:template> + +<xsl:template match="//MENU/MENUENTRY/MENUNODE"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="//MENU/MENUENTRY/MENUTITLE"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="//MENU/MENUENTRY/MENUCOMMENT"> + <xsl:apply-templates mode="menucomment"/> +</xsl:template> + +<xsl:template match="PARA" mode="menucomment"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="//PARA"> + <p><xsl:apply-templates/></p> +</xsl:template> + +<!-- LISTS --> +<xsl:template match="//ITEMIZE"> + <ul> + <xsl:apply-templates/> + </ul> +</xsl:template> + +<xsl:template match="//ITEMIZE/ITEM"> + <li> + <xsl:apply-templates/> + </li> +</xsl:template> + +<xsl:template match="//ENUMERATE"> + <ol> + <xsl:apply-templates/> + </ol> +</xsl:template> + +<xsl:template match="//ENUMERATE/ITEM"> + <li> + <xsl:apply-templates/> + </li> +</xsl:template> + +<!-- INLINE --> +<xsl:template match="//CODE"> + <tt> + <xsl:apply-templates/> + </tt> +</xsl:template> + +<xsl:template match="//DFN"> + <i><b> + <xsl:apply-templates/> + </b></i> +</xsl:template> + +<xsl:template match="//STRONG"> + <b> + <xsl:apply-templates/> + </b> +</xsl:template> + +<xsl:template match="//CENTER"> + <center> + <xsl:apply-templates/> + </center> +</xsl:template> + +<xsl:template match="//VAR"> + <i> + <xsl:apply-templates/> + </i> +</xsl:template> + +<xsl:template match="//KBD"> + <tt> + <xsl:apply-templates/> + </tt> +</xsl:template> + +<xsl:template match="//KEY"> + <b> + <xsl:apply-templates/> + </b> +</xsl:template> + +<!-- BLOCKS --> +<xsl:template match="//DISPLAY"> + <pre> + <xsl:apply-templates/> + </pre> +</xsl:template> + + +<!-- INDEX --> +<xsl:template match="//INDEXTERM"> +</xsl:template> + +<!-- FOOTNOTE --> +<xsl:template match="//FOOTNOTE"> +</xsl:template> + +<xsl:template match="//FOOTNOTE" mode="footnote"> + <li><xsl:apply-templates/></li> +</xsl:template> + +</xsl:stylesheet> diff --git a/gnu/usr.bin/texinfo/makeinfo/xml.c b/gnu/usr.bin/texinfo/makeinfo/xml.c new file mode 100644 index 00000000000..70cb4f10486 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/xml.c @@ -0,0 +1,1430 @@ +/* xml.c -- xml output. + $Id: xml.c,v 1.1 2002/06/10 13:21:23 espie Exp $ + + Copyright (C) 2001, 02 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by Philippe Martin <feloy@free.fr>. */ + +#include "system.h" +#include "makeinfo.h" +#include "insertion.h" +#include "macro.h" +#include "cmds.h" +#include "lang.h" + +#include "xml.h" + +/* Options */ +int xml_index_divisions = 1; + + +void xml_close_sections (/* int level */); + +typedef struct _element +{ + char name[32]; + int contains_para; + int contained_in_para; +} element; + +element texinfoml_element_list [] = { + { "texinfo", 1, 0 }, + { "setfilename", 0, 0 }, + { "titlefont", 0, 0 }, + { "settitle", 0, 0 }, + + { "node", 1, 0 }, + { "nodenext", 0, 0 }, + { "nodeprev", 0, 0 }, + { "nodeup", 0, 0 }, + + { "chapter", 1, 0 }, + { "section", 1, 0 }, + { "subsection", 1, 0 }, + { "subsubsection", 1, 0 }, + + { "top", 1, 0 }, + { "unnumbered", 1, 0 }, + { "unnumberedsec", 1, 0 }, + { "unnumberedsubsec", 1, 0 }, + { "unnumberedsubsubsec", 1, 0 }, + + { "appendix", 1, 0 }, + { "appendixsec", 1, 0 }, + { "appendixsubsec", 1, 0 }, + { "appendixsubsubsec", 1, 0 }, + + { "majorheading", 1, 0 }, + { "chapheading", 1, 0 }, + { "heading", 1, 0 }, + { "subheading", 1, 0 }, + { "subsubheading", 1, 0 }, + + { "menu", 1, 0 }, + { "menuentry", 1, 0 }, + { "menutitle", 0, 0 }, + { "menucomment", 1, 0 }, + { "menunode", 0, 0 }, + { "nodename", 0, 0 }, + + { "acronym", 0, 1 }, + { "tt", 0, 1 }, + { "code", 0, 1 }, + { "kbd", 0, 1 }, + { "url", 0, 1 }, + { "key", 0, 1 }, + { "var", 0, 1 }, + { "sc", 0, 1 }, + { "dfn", 0, 1 }, + { "emph", 0, 1 }, + { "strong", 0, 1 }, + { "cite", 0, 1 }, + { "notfixedwidth", 0, 1 }, + { "i", 0, 1 }, + { "b", 0, 1 }, + { "r", 0, 1 }, + + { "title", 0, 0 }, + { "ifinfo", 1, 0 }, + { "sp", 0, 0 }, + { "center", 1, 0 }, + { "dircategory", 0, 0 }, + { "quotation", 1, 0 }, + { "example", 1, 0 }, + { "smallexample", 1, 0 }, + { "lisp", 1, 0 }, + { "smalllisp", 1, 0 }, + { "cartouche", 1, 0 }, + { "copying", 1, 0 }, + { "format", 1, 0 }, + { "smallformat", 1, 0 }, + { "display", 1, 0 }, + { "smalldisplay", 1, 0 }, + { "footnote", 0, 1 }, + + { "itemize", 0, 0 }, + { "itemfunction", 0, 0 }, + { "item", 1, 0 }, + { "enumerate", 0, 0 }, + { "table", 0, 0 }, + { "tableitem", 0, 0 }, /* not used */ /* TABLEITEM */ + { "tableterm", 0, 0 }, /* not used */ /* TABLETERM */ + + { "indexterm", 0, 1 }, + + { "xref", 0, 1 }, + { "xrefnodename", 0, 1 }, + { "xrefinfoname", 0, 1 }, + { "xrefprinteddesc", 0, 1 }, + { "xrefinfofile", 0, 1 }, + { "xrefprintedname", 0, 1 }, + + { "inforef", 0, 1 }, + { "inforefnodename", 0, 1 }, + { "inforefrefname", 0, 1 }, + { "inforefinfoname", 0, 1 }, + + { "uref", 0, 1 }, + { "urefurl", 0, 1 }, + { "urefdesc", 0, 1 }, + { "urefreplacement", 0, 1 }, + + { "email", 0, 1 }, + { "emailaddress", 0, 1 }, + { "emailname", 0, 1 }, + + { "group", 0, 0 }, + + { "printindex", 0, 0 }, + { "anchor", 0, 1 }, + { "image", 0, 1 }, + { "", 0, 1 }, /* PRIMARY (docbook) */ + { "", 0, 1 }, /* SECONDARY (docbook) */ + { "", 0, 0 }, /* INFORMALFIGURE (docbook) */ + { "", 0, 0 }, /* MEDIAOBJECT (docbook) */ + { "", 0, 0 }, /* IMAGEOBJECT (docbook) */ + { "", 0, 0 }, /* IMAGEDATA (docbook) */ + { "", 0, 0 }, /* TEXTOBJECT (docbook) */ + { "", 0, 0 }, /* INDEXENTRY (docbook) */ + { "", 0, 0 }, /* PRIMARYIE (docbook) */ + { "", 0, 0 }, /* SECONDARYIE (docbook) */ + { "", 0, 0 }, /* INDEXDIV (docbook) */ + { "multitable", 0, 0 }, + { "", 0, 0 }, /* TGROUP (docbook) */ + { "columnfraction", 0, 0 }, + { "", 0, 0 }, /* TBODY (docbook) */ + { "entry", 0, 0 }, /* ENTRY (docbook) */ + { "row", 0, 0 }, /* ROW (docbook) */ + { "", 0, 0 }, /* BOOKINFO (docbook) */ + { "", 0, 0 }, /* ABSTRACT (docbook) */ + { "", 0, 0 }, /* REPLACEABLE (docbook) */ + { "para", 0, 0 } /* Must be last */ + /* name / contains para / contained in para */ +}; + +element docbook_element_list [] = { + { "book", 0, 0 }, /* TEXINFO */ + { "", 0, 0 }, /* SETFILENAME */ + { "", 0, 0 }, /* TITLEINFO */ + { "title", 0, 0 }, /* SETTITLE */ + + { "", 1, 0 }, /* NODE */ + { "", 0, 0 }, /* NODENEXT */ + { "", 0, 0 }, /* NODEPREV */ + { "", 0, 0 }, /* NODEUP */ + + { "chapter", 1, 0 }, + { "sect1", 1, 0 }, /* SECTION */ + { "sect2", 1, 0 }, /* SUBSECTION */ + { "sect3", 1, 0 }, /* SUBSUBSECTION */ + + { "chapter", 1, 0 }, /* TOP */ + { "chapter", 1, 0 }, /* UNNUMBERED */ + { "sect1", 1, 0 }, /* UNNUMBEREDSEC */ + { "sect2", 1, 0 }, /* UNNUMBEREDSUBSEC */ + { "sect3", 1, 0 }, /* UNNUMBEREDSUBSUBSEC */ + + { "appendix", 1, 0 }, + { "sect1", 1, 0 }, /* APPENDIXSEC */ + { "sect2", 1, 0 }, /* APPENDIXSUBSEC */ + { "sect3", 1, 0 }, /* APPENDIXSUBSUBSEC */ + + { "chapter", 1, 0 }, /* MAJORHEADING */ + { "chapter", 1, 0 }, /* CHAPHEADING */ + { "sect1", 1, 0 }, /* HEADING */ + { "sect2", 1, 0 }, /* SUBHEADING */ + { "sect3", 1, 0 }, /* SUBSUBHEADING */ + + { "", 1, 0 }, /* MENU */ + { "", 1, 0 }, /* MENUENTRY */ + { "", 0, 0 }, /* MENUTITLE */ + { "", 1, 0 }, /* MENUCOMMENT */ + { "", 0, 0 }, /* MENUNODE */ + { "anchor", 0, 0 }, /* NODENAME */ + + { "acronym", 0, 1 }, + { "wordasword", 0, 1 }, /* TT */ + { "command", 0, 1 }, /* CODE */ + { "userinput", 0, 1 }, /* KBD */ + { "wordasword", 0, 1 }, /* URL */ + { "keycap", 0, 1 }, /* KEY */ + { "varname", 0, 1 }, /* VAR */ + { "", 0, 1 }, /* SC */ + { "firstterm", 0, 1 }, /* DFN */ + { "emphasis", 0, 1 }, /* EMPH */ + { "emphasis", 0, 1 }, /* STRONG */ + { "citation", 0, 1 }, /* CITE */ + { "", 0, 1 }, /* NOTFIXEDWIDTH */ + { "wordasword", 0, 1 }, /* I */ + { "wordasword", 0, 1 }, /* B */ + { "", 0, 1 }, /* R */ + + { "title", 0, 0 }, + { "", 1, 0 }, /* IFINFO */ + { "", 0, 0 }, /* SP */ + { "", 1, 0 }, /* CENTER */ + { "", 0, 0 }, /* DIRCATEGORY */ + { "blockquote", 1, 0 }, /* QUOTATION */ + { "screen", 0, 1 }, + { "screen", 0, 1 }, /* SMALLEXAMPLE */ + { "screen", 0, 1 }, /* LISP */ + { "screen", 0, 1 }, /* SMALLLISP */ + { "", 1, 0 }, /* CARTOUCHE */ + { "", 1, 0 }, /* COPYING */ + { "screen", 0, 1 }, /* FORMAT */ + { "screen", 0, 1 }, /* SMALLFORMAT */ + { "screen", 0, 1 }, /* DISPLAY */ + { "screen", 0, 1 }, /* SMALLDISPLAY */ + { "footnote", 0, 1 }, + + { "itemizedlist", 0, 0 }, /* ITEMIZE */ + { "", 0, 0 }, /* ITEMFUNCTION */ + { "listitem", 1, 0 }, + { "orderedlist", 0, 0 }, /* ENUMERATE */ + { "variablelist", 0, 0 }, /* TABLE */ + { "varlistentry", 0, 0 }, /* TABLEITEM */ + { "term", 0, 0 }, /* TABLETERM */ + + { "indexterm", 0, 1 }, + + { "xref", 0, 1 }, /* XREF */ + { "link", 0, 1 }, /* XREFNODENAME */ + { "", 0, 1 }, /* XREFINFONAME */ + { "", 0, 1 }, /* XREFPRINTEDDESC */ + { "", 0, 1 }, /* XREFINFOFILE */ + { "", 0, 1 }, /* XREFPRINTEDNAME */ + + { "", 0, 1 }, /* INFOREF */ + { "", 0, 1 }, /* INFOREFNODENAME */ + { "", 0, 1 }, /* INFOREFREFNAME */ + { "", 0, 1 }, /* INFOREFINFONAME */ + + { "", 0, 1 }, /* UREF */ + { "", 0, 1 }, /* UREFURL */ + { "", 0, 1 }, /* UREFDESC */ + { "", 0, 1 }, /* UREFREPLACEMENT */ + + { "ulink", 0, 1 }, /* EMAIL */ + { "", 0, 1 }, /* EMAILADDRESS */ + { "", 0, 1 }, /* EMAILNAME */ + + { "", 0, 0 }, /* GROUP */ + + { "index", 0, 0 }, /* PRINTINDEX */ + { "", 0, 1 }, /* ANCHOR */ + { "", 0, 1 }, /* IMAGE */ + { "primary", 0, 1 }, /* PRIMARY */ + { "secondary", 0, 1 }, + { "informalfigure", 0, 0 }, + { "mediaobject", 0, 0 }, + { "imageobject", 0, 0 }, + { "imagedata", 0, 0 }, + { "textobject", 0, 0 }, + { "indexentry", 0, 0 }, + { "primaryie", 0, 0 }, + { "secondaryie", 0, 0 }, + { "indexdiv", 0, 0 }, + { "informaltable", 0, 0 }, + { "tgroup", 0, 0 }, + { "colspec", 0, 0 }, + { "tbody", 0, 0 }, + { "entry", 0, 0 }, + { "row", 0, 0 }, + { "bookinfo", 0, 0 }, + { "abstract", 1, 0 }, + { "replaceable", 0, 0 }, + + { "para", 0, 0 } /* Must be last */ + /* name / contains para / contained in para */ +}; + +element *xml_element_list = NULL; + + +typedef struct _replace_element +{ + int element_to_replace; + int element_containing; + int element_replacing; +} replace_element; + +/* Elements to replace - Docbook only + ------------------- + if `element_to_replace' have to be inserted + as a child of `element_containing,' + use `element_replacing' instead. + + A value of `-1' for element_replacing means `do not use any element.' +*/ + +replace_element replace_elements [] = { + { I, TABLETERM, EMPH }, + { B, TABLETERM, EMPH }, + { TT, CODE, -1 }, + { EXAMPLE, DISPLAY, -1 }, + { CODE, DFN, -1 }, + { CODE, VAR, -1 }, + { EMPH, CODE, REPLACEABLE }, + /* Add your elements to replace here */ + {-1, 0, 0} +}; + +int xml_in_menu_entry = 0; +int xml_in_menu_entry_comment = 0; +int xml_node_open = 0; +int xml_node_level = -1; +int xml_in_para = 0; +int xml_just_after_element = 0; + +int xml_no_para = 0; +char *xml_node_id = NULL; +int xml_sort_index = 0; + +static int xml_after_table_term = 0; +static int book_started = 0; +static int first_section_opened = 0; +static int in_abstract = 0; + +static int xml_current_element (); + +void +#if defined (VA_FPRINTF) && __STDC__ +xml_insert_element_with_attribute (int elt, int arg, char *format, ...); +#else +xml_insert_element_with_attribute (); +#endif + +char * +xml_id (id) + char *id; +{ + char *tem = xmalloc (strlen (id) + 1); + char *p = tem; + strcpy (tem, id); + while (*p++) + { + if (*p == ' ' || *p == '&' || *p == '/' || *p == '+') + *p = '-'; + } + p = tem; + while (*p == '-') + *p = 'i'; + return tem; +} + +int +xml_element (name) + char *name; +{ + int i; + for (i=0; i<=PARA; i++) + { + if (strcasecmp (name, texinfoml_element_list[i].name) == 0) + return i; + } + printf ("Error xml_element\n"); + return -1; +} + +void +xml_begin_document (output_filename) + char *output_filename; +{ + if (book_started) + return; + + book_started = 1; + if (docbook) + { + insert_string ("<!DOCTYPE Book PUBLIC \"-//OASIS//DTD DocBook V3.1//EN\">"); + xml_element_list = docbook_element_list; + } + else + { + insert_string ("<!DOCTYPE texinfo SYSTEM \"texinfo.dtd\">"); + xml_element_list = texinfoml_element_list; + } + if (docbook) + { + if (language_code != last_language_code) + xml_insert_element_with_attribute (TEXINFO, START, "lang=\"%s\"", language_table[language_code].abbrev); + } + else + xml_insert_element (TEXINFO, START); + if (!docbook) + { + xml_insert_element (SETFILENAME, START); + insert_string (output_filename); + xml_insert_element (SETFILENAME, END); + } +} + +/* */ +static int element_stack[256]; +static int element_stack_index = 0; + +static void +xml_push_current_element (elt) + int elt; +{ + element_stack[element_stack_index++] = elt; + if (element_stack_index > 200) + printf ("*** stack overflow (%d - %s) ***\n", + element_stack_index, + xml_element_list[elt].name); +} + +void +xml_pop_current_element () +{ + element_stack_index--; + if (element_stack_index < 0) + printf ("*** stack underflow (%d - %d) ***\n", + element_stack_index, + xml_current_element()); +} + +static int +xml_current_element () +{ + return element_stack[element_stack_index-1]; +} + +static void +xml_indent () +{ + int i; + insert ('\n'); + for (i = 0; i < element_stack_index; i++) + insert (' '); +} + +static void +xml_indent_end_para () +{ + int i; + for (i = 0; i < element_stack_index; i++) + insert (' '); +} + +void +xml_end_document () +{ + if (xml_node_open) + { + if (xml_node_level != -1) + { + xml_close_sections (xml_node_level); + xml_node_level = -1; + } + xml_insert_element (NODE, END); + } + xml_insert_element (TEXINFO, END); + insert_string ("\n"); + insert_string ("<!-- Keep this comment at the end of the file\n\ +Local variables:\n\ +mode: sgml\n\ +sgml-indent-step:1\n\ +sgml-indent-data:nil\n\ +End:\n\ +-->\n"); + if (element_stack_index != 0) + error ("Element stack index : %d\n", element_stack_index); +} + +/* MUST be 0 or 1, not true or false values */ +static int start_element_inserted = 1; + +/* NOTE: We use `elt' rather than `element' in the argument list of + the next function, since otherwise the Solaris SUNWspro compiler + barfs because `element' is a typedef declared near the beginning of + this file. */ +void +#if defined (VA_FPRINTF) && __STDC__ +xml_insert_element_with_attribute (int elt, int arg, char *format, ...) +#else +xml_insert_element_with_attribute (elt, arg, format, va_alist) + int elt; + int arg; + char *format; + va_dcl +#endif +{ + /* Look at the replace_elements table to see if we have to change the element */ + if (xml_sort_index) + return; + if (docbook) + { + replace_element *element_list = replace_elements; + while (element_list->element_to_replace >= 0) + { + if ( ( (arg == START) && + (element_list->element_containing == xml_current_element ()) && + (element_list->element_to_replace == elt) ) || + ( (arg == END) && + (element_list->element_containing == element_stack[element_stack_index-1-start_element_inserted]) && + (element_list->element_to_replace == elt) ) ) + { + elt = element_list->element_replacing; + break; + } + element_list ++; + } + + /* Forget the element */ + if (elt < 0) + { + if (arg == START) + start_element_inserted = 0; + else + /* Replace the default value, for the next time */ + start_element_inserted = 1; + return; + } + } + + if (!book_started) + return; + + if (xml_after_table_term && elt != TABLETERM) + { + xml_after_table_term = 0; + xml_insert_element (ITEM, START); + } + + if (docbook && !only_macro_expansion && (in_menu || in_detailmenu)) + return; + + if (!xml_element_list[elt].name || !strlen (xml_element_list[elt].name)) + { + /* printf ("Warning: Inserting empty element %d\n", elt);*/ + return; + } + + if (arg == START && !xml_in_para && !xml_no_para + && xml_element_list[elt].contained_in_para + && xml_element_list[xml_current_element()].contains_para ) + { + xml_indent (); + insert_string ("<para>"); + xml_in_para = 1; + } + + + if (arg == START && xml_in_para && !xml_element_list[elt].contained_in_para) + { + xml_indent_end_para (); + insert_string ("</para>"); + xml_in_para = 0; + } + + if (arg == END && xml_in_para && !xml_element_list[elt].contained_in_para) + { + xml_indent_end_para (); + insert_string ("</para>"); + xml_in_para = 0; + } + + if (arg == START && !xml_in_para && !xml_element_list[elt].contained_in_para) + xml_indent (); + + if (arg == START) + xml_push_current_element (elt); + else + xml_pop_current_element (); + + insert ('<'); + if (arg == END) + insert ('/'); + insert_string (xml_element_list[elt].name); + + /* printf ("%s ", xml_element_list[elt].name);*/ + + if (format) + { + char temp_string[2000]; /* xx no fixed limits */ +#ifdef VA_SPRINTF + va_list ap; +#endif + + VA_START (ap, format); +#ifdef VA_SPRINTF + VA_SPRINTF (temp_string, format, ap); +#else + sprintf (temp_string, format, a1, a2, a3, a4, a5, a6, a7, a8); +#endif + insert (' '); + insert_string (temp_string); + va_end (ap); + } + + if (arg == START && xml_node_id && elt != NODENAME) + { + insert_string (" id=\""); + insert_string (xml_node_id); + insert_string ("\""); + free (xml_node_id); + xml_node_id = NULL; + } + + insert ('>'); + + xml_just_after_element = 1; +} + +/* See the NOTE before xml_insert_element_with_attribute, for why we + use `elt' rather than `element' here. */ +void +xml_insert_element (int elt, int arg) +{ + xml_insert_element_with_attribute (elt, arg, NULL); +} + +void +xml_insert_entity (char *entity_name) +{ + int saved_escape_html = escape_html; + + if (!book_started) + return; + if (docbook && !only_macro_expansion && (in_menu || in_detailmenu)) + return; + + if (!xml_in_para && !xml_no_para && !only_macro_expansion + && xml_element_list[xml_current_element ()].contains_para) + { + insert_string ("<para>"); + xml_in_para = 1; + } + escape_html = 0; + insert ('&'); + escape_html = saved_escape_html; + insert_string (entity_name); + insert (';'); +} + +typedef struct _xml_section xml_section; +struct _xml_section { + int level; + char *name; + xml_section *prev; +}; + +xml_section *last_section = NULL; + +void +xml_begin_node () +{ + if (xml_node_open && ! docbook) + { + if (xml_node_level != -1) + { + xml_close_sections (xml_node_level); + xml_node_level = -1; + } + xml_insert_element (NODE, END); + } + xml_insert_element (NODE, START); + xml_node_open = 1; +} + +void +xml_close_sections (level) + int level; +{ + if (!first_section_opened && in_abstract) + { + xml_insert_element (ABSTRACT, END); + xml_insert_element (BOOKINFO, END); + first_section_opened = 1; + } + while (last_section && last_section->level >= level) + { + xml_section *temp = last_section; + xml_insert_element (xml_element(last_section->name), END); + temp = last_section; + last_section = last_section->prev; + free (temp->name); + free (temp); + } +} + +void +xml_open_section (level, name) + int level; + char *name; +{ + xml_section *sect = (xml_section *) xmalloc (sizeof (xml_section)); + + sect->level = level; + sect->name = xmalloc (1 + strlen (name)); + strcpy (sect->name, name); + sect->prev = last_section; + last_section = sect; + + if (xml_node_open && xml_node_level == -1) + xml_node_level = level; +} + +void +xml_start_menu_entry (tem) + char *tem; +{ + char *string; + discard_until ("* "); + + /* The line number was already incremented in reader_loop when we + saw the newline, and discard_until has now incremented again. */ + line_number--; + + if (xml_in_menu_entry) + { + if (xml_in_menu_entry_comment) + { + xml_insert_element (MENUCOMMENT, END); + xml_in_menu_entry_comment=0; + } + xml_insert_element (MENUENTRY, END); + xml_in_menu_entry=0; + } + xml_insert_element (MENUENTRY, START); + xml_in_menu_entry=1; + + xml_insert_element (MENUNODE, START); + string = expansion (tem, 0); + add_word (string); + xml_insert_element (MENUNODE, END); + free (string); + + /* The menu item may use macros, so expand them now. */ + xml_insert_element (MENUTITLE, START); + only_macro_expansion++; + get_until_in_line (1, ":", &string); + only_macro_expansion--; + execute_string ("%s", string); /* get escaping done */ + xml_insert_element (MENUTITLE, END); + free (string); + + if (looking_at ("::")) + discard_until (":"); + else + { /* discard the node name */ + get_until_in_line (0, ".", &string); + free (string); + } + input_text_offset++; /* discard the second colon or the period */ + xml_insert_element (MENUCOMMENT, START); + xml_in_menu_entry_comment ++; +} + +void +xml_end_menu () +{ + if (xml_in_menu_entry) + { + if (xml_in_menu_entry_comment) + { + xml_insert_element (MENUCOMMENT, END); + xml_in_menu_entry_comment --; + } + xml_insert_element (MENUENTRY, END); + xml_in_menu_entry--; + } + xml_insert_element (MENU, END); +} + +static int xml_last_character; + +void +xml_add_char (character) + int character; +{ + if (!book_started) + return; + if (docbook && !only_macro_expansion && (in_menu || in_detailmenu)) + return; + + if (!first_section_opened && !in_abstract && xml_current_element () == TEXINFO + && !xml_no_para && character != '\r' && character != '\n' && character != ' ') + { + xml_insert_element (BOOKINFO, START); + xml_insert_element (ABSTRACT, START); + in_abstract = 1; + } + + if (xml_after_table_term && !xml_sort_index) + { + xml_after_table_term = 0; + xml_insert_element (ITEM, START); + } + + if (xml_just_after_element && !xml_in_para && !inhibit_paragraph_indentation) + { + if (character == '\r' || character == '\n' || character == '\t' || character == ' ') + return; + xml_just_after_element = 0; + } + + if (xml_element_list[xml_current_element()].contains_para + && !xml_in_para && !only_macro_expansion && !xml_no_para) + { + xml_indent (); + insert_string ("<para>\n"); + xml_in_para = 1; + } + + if (xml_in_para) + { + if (character == '\n') + { + if (xml_last_character == '\n' && !only_macro_expansion && !xml_no_para + && xml_element_list[xml_current_element()].contains_para ) + { + xml_indent_end_para (); + insert_string ("</para>"); + xml_in_para = 0; + xml_just_after_element = 1; + if (xml_in_menu_entry_comment) + { + xml_insert_element (MENUCOMMENT, END); + xml_in_menu_entry_comment = 0; + xml_insert_element (MENUENTRY, END); + xml_in_menu_entry = 0; + } + } + } + } + + if (character == '\n' && !xml_in_para && !inhibit_paragraph_indentation) + return; + + xml_last_character = character; + + if (character == '&' && escape_html) + insert_string ("&"); + else if (character == '<' && escape_html) + insert_string ("<"); + else + insert (character); + + return; +} + +void +xml_insert_footnote (note) + char *note; +{ + xml_insert_element (FOOTNOTE, START); + insert_string ("<para>"); + execute_string ("%s", note); + insert_string ("</para>"); + xml_insert_element (FOOTNOTE, END); +} + + +/* + * Lists and Tables + */ +static int xml_in_item[256]; +static int xml_table_level = 0; + +void +xml_begin_table (type, item_function) + enum insertion_type type; + char *item_function; +{ + switch (type) + { + case ftable: + case vtable: + case table: + /*if (docbook)*/ /* 05-08 */ + { + xml_insert_element (TABLE, START); + xml_table_level ++; + xml_in_item[xml_table_level] = 0; + } + break; + case itemize: + if (!docbook) + { + xml_insert_element (ITEMIZE, START); + xml_table_level ++; + xml_in_item[xml_table_level] = 0; + xml_insert_element (ITEMFUNCTION, START); + if (*item_function == COMMAND_PREFIX + && item_function[strlen (item_function) - 1] != '}' + && command_needs_braces (item_function + 1)) + execute_string ("%s{}", item_function); + else + execute_string ("%s", item_function); + xml_insert_element (ITEMFUNCTION, END); + } + else + { + xml_insert_element_with_attribute (ITEMIZE, START, + "mark=\"%s\"", + (*item_function == COMMAND_PREFIX) ? + &item_function[1] : item_function); + xml_table_level ++; + xml_in_item[xml_table_level] = 0; + } + break; + } +} + +void +xml_end_table (type) + enum insertion_type type; +{ + switch (type) + { + case ftable: + case vtable: + case table: + /* if (docbook)*/ /* 05-08 */ + { + if (xml_in_item[xml_table_level]) + { + xml_insert_element (ITEM, END); + xml_insert_element (TABLEITEM, END); + xml_in_item[xml_table_level] = 0; + } + xml_insert_element (TABLE, END); + xml_table_level --; + } + break; + case itemize: + if (xml_in_item[xml_table_level]) + { + xml_insert_element (ITEM, END); + xml_in_item[xml_table_level] = 0; + } + xml_insert_element (ITEMIZE, END); + xml_table_level --; + break; + } +} + +void +xml_begin_item () +{ + if (xml_in_item[xml_table_level]) + xml_insert_element (ITEM, END); + + xml_insert_element (ITEM, START); + xml_in_item[xml_table_level] = 1; +} + +void +xml_begin_table_item () +{ + if (!xml_after_table_term) + { + if (xml_in_item[xml_table_level]) + { + xml_insert_element (ITEM, END); + xml_insert_element (TABLEITEM, END); + } + xml_insert_element (TABLEITEM, START); + } + xml_insert_element (TABLETERM, START); + xml_in_item[xml_table_level] = 1; + xml_after_table_term = 0; +} + +void +xml_continue_table_item () +{ + xml_insert_element (TABLETERM, END); + xml_after_table_term = 1; +} + +void +xml_begin_enumerate (enum_arg) + char *enum_arg; +{ + if (!docbook) + xml_insert_element_with_attribute (ENUMERATE, START, "first=\"%s\"", enum_arg); + else + { + if (isdigit (*enum_arg)) + { + if (enum_arg[0] == '1') + xml_insert_element_with_attribute (ENUMERATE, START, + "numeration=\"Arabic\"", NULL); + else + xml_insert_element_with_attribute (ENUMERATE, START, + "continuation=\"Continues\" numeration=\"Arabic\"", NULL); + } + else if (isupper (*enum_arg)) + { + if (enum_arg[0] == 'A') + xml_insert_element_with_attribute (ENUMERATE, START, + "numeration=\"Upperalpha\"", NULL); + else + xml_insert_element_with_attribute (ENUMERATE, START, + "continuation=\"Continues\" numeration=\"Upperalpha\"", NULL); + } + else + { + if (enum_arg[0] == 'a') + xml_insert_element_with_attribute (ENUMERATE, START, + "numeration=\"Loweralpha\"", NULL); + else + xml_insert_element_with_attribute (ENUMERATE, START, + "continuation=\"Continues\" numeration=\"Loweralpha\"", NULL); + } + } + xml_table_level ++; + xml_in_item[xml_table_level] = 0; +} + +void +xml_end_enumerate () +{ + if (xml_in_item[xml_table_level]) + { + xml_insert_element (ITEM, END); + xml_in_item[xml_table_level] = 0; + } + xml_insert_element (ENUMERATE, END); + xml_table_level --; +} + +static void +xml_insert_text_file (name_arg) + char *name_arg; +{ + char *fullname = xmalloc (strlen (name_arg) + 4 + 1); + FILE *image_file; + strcpy (fullname, name_arg); + strcat (fullname, ".txt"); + image_file = fopen (fullname, "r"); + if (image_file) + { + int ch; + int save_inhibit_indentation = inhibit_paragraph_indentation; + int save_filling_enabled = filling_enabled; + + xml_insert_element (TEXTOBJECT, START); + xml_insert_element (DISPLAY, START); + + inhibit_paragraph_indentation = 1; + filling_enabled = 0; + last_char_was_newline = 0; + + /* Maybe we need to remove the final newline if the image + file is only one line to allow in-line images. On the + other hand, they could just make the file without a + final newline. */ + while ((ch = getc (image_file)) != EOF) + add_char (ch); + + inhibit_paragraph_indentation = save_inhibit_indentation; + filling_enabled = save_filling_enabled; + + xml_insert_element (DISPLAY, END); + xml_insert_element (TEXTOBJECT, END); + + if (fclose (image_file) != 0) + perror (fullname); + } + else + warning (_("@image file `%s' unreadable: %s"), fullname, + strerror (errno)); + + free (fullname); +} + +void +xml_insert_docbook_image (name_arg) + char *name_arg; +{ + xml_insert_element (INFORMALFIGURE, START); + xml_insert_element (MEDIAOBJECT, START); + + xml_insert_element (IMAGEOBJECT, START); + xml_insert_element_with_attribute (IMAGEDATA, START, "fileref=\"%s.eps\" format=\"eps\"", name_arg); + xml_pop_current_element (); + xml_insert_element (IMAGEOBJECT, END); + + xml_insert_element (IMAGEOBJECT, START); + xml_insert_element_with_attribute (IMAGEDATA, START, "fileref=\"%s.jpg\" format=\"jpg\"", name_arg); + xml_pop_current_element (); + xml_insert_element (IMAGEOBJECT, END); + + xml_insert_text_file (name_arg); + + xml_insert_element (MEDIAOBJECT, END); + xml_insert_element (INFORMALFIGURE, END); +} + +void +xml_asterisk () +{ +} + + +/* + * INDEX + */ +/* Used to separate primary and secondary entries in an index */ +#define INDEX_SEP ", " + +xml_insert_indexterm (indexterm, index) + char *indexterm; + char *index; +{ + if (!docbook) + { + xml_insert_element_with_attribute (INDEXTERM, START, "index=\"%s\"", index); + execute_string ("%s", indexterm); + xml_insert_element (INDEXTERM, END); + } + else + { + char *expanded; + char *primary = NULL, *secondary; + xml_sort_index = 1; + xml_no_para = 1; + expanded = expansion (indexterm); + xml_sort_index = 0; + xml_no_para = 0; + if (strstr (expanded+1, INDEX_SEP)) + { + primary = xmalloc (strlen (expanded) + 1); + strcpy (primary, expanded); + secondary = strstr (primary+1, INDEX_SEP); + *secondary = '\0'; + secondary += strlen (INDEX_SEP); + } + xml_insert_element_with_attribute (INDEXTERM, START, "role=\"%s\"", index); + xml_insert_element (PRIMARY, START); + if (primary) + insert_string (primary); + else + insert_string (expanded); + xml_insert_element (PRIMARY, END); + if (primary) + { + xml_insert_element (SECONDARY, START); + insert_string (secondary); + xml_insert_element (SECONDARY, END); + } + xml_insert_element (INDEXTERM, END); + free (expanded); + } +} + + +int xml_last_section_output_position = 0; +static char last_division_letter = ' '; +static char index_primary[2000]; /** xx no fixed limit */ +static int indexdivempty = 0; + +static int in_indexentry = 0; +static int in_secondary = 0; +static void +xml_close_indexentry () +{ + if (!in_indexentry) + return; + if (in_secondary) + xml_insert_element (SECONDARYIE, END); + xml_insert_element (INDEXENTRY, END); + in_secondary = 0; + in_indexentry = 0; +} + +void +xml_begin_index () +{ + /* + We assume that we just opened a section, and so that the last output is + <SECTION ID="node-name"><TITLE>Title</TITLE> + where SECTION can be CHAPTER, ... + */ + + xml_section *temp = last_section; + + int l = output_paragraph_offset-xml_last_section_output_position; + char *tmp = xmalloc (l+1); + char *p = tmp; + strncpy (tmp, output_paragraph, l); + + /* We remove <SECTION */ + tmp[l] = '\0'; + while (*p != '<') + p++; + while (*p != ' ') + p++; + + output_paragraph_offset = xml_last_section_output_position; + xml_last_section_output_position = 0; + + xml_pop_current_element (); /* remove section element from elements stack */ + + last_section = last_section->prev; /* remove section from sections stack */ + free (temp->name); + free (temp); + + /* We put <INDEX> */ + xml_insert_element (PRINTINDEX, START); + /* Remove the final > */ + output_paragraph_offset--; + + /* and put ID="node-name"><TITLE>Title</TITLE> */ + insert_string (p); + + if (xml_index_divisions) + { + xml_insert_element (INDEXDIV, START); + indexdivempty = 1; + } +} + +void +xml_end_index () +{ + xml_close_indexentry (); + if (xml_index_divisions) + xml_insert_element (INDEXDIV, END); + xml_insert_element (PRINTINDEX, END); +} + +void +xml_index_divide (entry) + char *entry; +{ + char c; + if (strlen (entry) > (strlen (xml_element_list[CODE].name) + 2) && + strncmp (entry+1, xml_element_list[CODE].name, strlen (xml_element_list[CODE].name)) == 0) + c = entry[strlen (xml_element_list[CODE].name)+2]; + else + c = entry[0]; + if (tolower (c) != last_division_letter && isalpha (c)) + { + last_division_letter = tolower (c); + xml_close_indexentry (); + if (!indexdivempty) + { + xml_insert_element (INDEXDIV, END); + xml_insert_element (INDEXDIV, START); + } + xml_insert_element (TITLE, START); + insert (toupper (c)); + xml_insert_element (TITLE, END); + } +} + +void +xml_insert_indexentry (entry, node) + char *entry; + char *node; +{ + char *primary = NULL, *secondary; + if (xml_index_divisions) + xml_index_divide (entry); + + indexdivempty = 0; + if (strstr (entry+1, INDEX_SEP)) + { + primary = xmalloc (strlen (entry) + 1); + strcpy (primary, entry); + secondary = strstr (primary+1, INDEX_SEP); + *secondary = '\0'; + secondary += strlen (INDEX_SEP); + + if (in_secondary && strcmp (primary, index_primary) == 0) + { + xml_insert_element (SECONDARYIE, END); + xml_insert_element (SECONDARYIE, START); + insert_string (secondary); + } + else + { + xml_close_indexentry (); + xml_insert_element (INDEXENTRY, START); + in_indexentry = 1; + xml_insert_element (PRIMARYIE, START); + insert_string (primary); + xml_insert_element (PRIMARYIE, END); + xml_insert_element (SECONDARYIE, START); + insert_string (secondary); + in_secondary = 1; + } + } + else + { + xml_close_indexentry (); + xml_insert_element (INDEXENTRY, START); + in_indexentry = 1; + xml_insert_element (PRIMARYIE, START); + insert_string (entry); + } + add_word_args (", %s", _("see ")); + xml_insert_element_with_attribute (XREF, START, "linkend=\"%s\"", xml_id (node)); + xml_pop_current_element (); + + if (primary) + { + strcpy (index_primary, primary); + /* xml_insert_element (SECONDARYIE, END);*/ + /* *(secondary-1) = ',';*/ /* necessary ? */ + free (primary); + } + else + xml_insert_element (PRIMARYIE, END); + + /* xml_insert_element (INDEXENTRY, END); */ +} + +/* + * MULTITABLE + */ +void +xml_begin_multitable (ncolumns, column_widths) + int ncolumns; + int *column_widths; +{ + int i; + if (docbook) + { + xml_insert_element (MULTITABLE, START); + xml_insert_element_with_attribute (TGROUP, START, "cols=\"%d\"", ncolumns); + for (i=0; i<ncolumns; i++) + { + xml_insert_element_with_attribute (COLSPEC, START, "colwidth=\"%d*\"", column_widths[i]); + xml_pop_current_element (); + } + xml_insert_element (TBODY, START); + xml_no_para = 1; + } + else + { + xml_insert_element (MULTITABLE, START); + for (i=0; i<ncolumns; i++) + { + xml_insert_element (COLSPEC, START); + add_word_args ("%d", column_widths[i]); + xml_insert_element (COLSPEC, END); + } + xml_no_para = 1; + } +} + +void +xml_end_multitable_row (first_row) + int first_row; +{ + if (!first_row) + { + xml_insert_element (ENTRY, END); + xml_insert_element (ROW, END); + } + xml_insert_element (ROW, START); + xml_insert_element (ENTRY, START); +} + +void +xml_end_multitable_column () +{ + xml_insert_element (ENTRY, END); + xml_insert_element (ENTRY, START); +} + +void +xml_end_multitable () +{ + if (docbook) + { + xml_insert_element (ENTRY, END); + xml_insert_element (ROW, END); + xml_insert_element (TBODY, END); + xml_insert_element (TGROUP, END); + xml_insert_element (MULTITABLE, END); + xml_no_para = 0; + } + else + { + xml_insert_element (ENTRY, END); + xml_insert_element (ROW, END); + xml_insert_element (MULTITABLE, END); + xml_no_para = 0; + } +} diff --git a/gnu/usr.bin/texinfo/makeinfo/xml.h b/gnu/usr.bin/texinfo/makeinfo/xml.h new file mode 100644 index 00000000000..e5849d37476 --- /dev/null +++ b/gnu/usr.bin/texinfo/makeinfo/xml.h @@ -0,0 +1,81 @@ +/* xml.h -- xml output declarations. + $Id: xml.h,v 1.1.1.1 2002/06/10 13:21:23 espie Exp $ + + Copyright (C) 2001, 02 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by Philippe Martin <feloy@free.fr>. */ + +#ifndef XML_H +#define XML_H + +/* Options. */ + +/* Separate index entries into divisions for each letters. */ +extern int xml_index_divisions; +extern int xml_sort_index; + +extern int xml_node_open; +extern int xml_no_para; +extern char *xml_node_id; +extern int xml_last_section_output_position; + +enum xml_element +{ + TEXINFO=0, SETFILENAME, TITLEFONT, SETTITLE, + /* Node */ + NODE /* 4 */, NODENEXT, NODEPREV, NODEUP, + /* Structuring */ + CHAPTER /* 8 */, SECTION, SUBSECTION, SUBSUBSECTION, + TOP /* 12 */, UNNUMBERED, UNNUMBEREDSEC, UNNUMBEREDSUBSEC, + UNNUMBEREDSUBSUBSEC, + APPENDIX /* 17 */, APPENDIXSEC, APPENDIXSUBSEC, APPENDIXSUBSUBSEC, + MAJORHEADING /* 21 */, CHAPHEADING, HEADING, SUBHEADING, SUBSUBHEADING, + /* Menu */ + MENU /* 26 */, MENUENTRY, MENUTITLE, MENUCOMMENT, MENUNODE, NODENAME, + /* -- */ + ACRONYM/* 32 */, TT, CODE, KBD, URL, KEY, VAR, SC, DFN, EMPH, STRONG, + CITE, NOTFIXEDWIDTH, I, B, R, + TITLE, + IFINFO, + SP, CENTER, + DIRCATEGORY, + QUOTATION, EXAMPLE, SMALLEXAMPLE, LISP, SMALLLISP, CARTOUCHE, + COPYING, FORMAT, SMALLFORMAT, DISPLAY, SMALLDISPLAY, + FOOTNOTE, + ITEMIZE, ITEMFUNCTION, ITEM, ENUMERATE, TABLE, TABLEITEM, TABLETERM, + INDEXTERM, + XREF, XREFNODENAME, XREFINFONAME, XREFPRINTEDDESC, XREFINFOFILE, + XREFPRINTEDNAME, + INFOREF, INFOREFNODENAME, INFOREFREFNAME, INFOREFINFONAME, + UREF, UREFURL, UREFDESC, UREFREPLACEMENT, + EMAIL, EMAILADDRESS, EMAILNAME, + GROUP, + PRINTINDEX, + ANCHOR, + IMAGE, + PRIMARY, SECONDARY, INFORMALFIGURE, MEDIAOBJECT, IMAGEOBJECT, + IMAGEDATA, TEXTOBJECT, + INDEXENTRY, PRIMARYIE, SECONDARYIE, INDEXDIV, + MULTITABLE, TGROUP, COLSPEC, TBODY, ENTRY, ROW, + BOOKINFO, ABSTRACT, REPLACEABLE, + PARA +}; + +extern void xml_insert_element (/* int name, int arg */); +extern char *xml_id (/* char *id */); + +#endif /* XML_H */ diff --git a/gnu/usr.bin/texinfo/po/LINGUAS b/gnu/usr.bin/texinfo/po/LINGUAS new file mode 100644 index 00000000000..d5a32048a4e --- /dev/null +++ b/gnu/usr.bin/texinfo/po/LINGUAS @@ -0,0 +1,14 @@ +cs +da +de +de_AT +eo +fr +he +hr +ja +nl +no +ru +sv +zh_TW diff --git a/gnu/usr.bin/texinfo/po/Makevars b/gnu/usr.bin/texinfo/po/Makevars new file mode 100644 index 00000000000..8b09f53b0f5 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/Makevars @@ -0,0 +1,25 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/gnu/usr.bin/texinfo/po/Rules-quot b/gnu/usr.bin/texinfo/po/Rules-quot new file mode 100644 index 00000000000..5f46d237d25 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/Rules-quot @@ -0,0 +1,42 @@ +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/gnu/usr.bin/texinfo/po/boldquot.sed b/gnu/usr.bin/texinfo/po/boldquot.sed new file mode 100644 index 00000000000..4b937aa517b --- /dev/null +++ b/gnu/usr.bin/texinfo/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/\1/g +s/`\([^`']*\)'/\1/g +s/ '\([^`']*\)' / \1 /g +s/ '\([^`']*\)'$/ \1/g +s/^'\([^`']*\)' /\1 /g +s//""/g +s//[1m/g +s//[0m/g +s//[1m/g +s//[0m/g diff --git a/gnu/usr.bin/texinfo/po/da.gmo b/gnu/usr.bin/texinfo/po/da.gmo Binary files differnew file mode 100644 index 00000000000..850f0216189 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/da.gmo diff --git a/gnu/usr.bin/texinfo/po/da.po b/gnu/usr.bin/texinfo/po/da.po new file mode 100644 index 00000000000..929fa97118b --- /dev/null +++ b/gnu/usr.bin/texinfo/po/da.po @@ -0,0 +1,2918 @@ +# Danish texinfo translation po-file. +# Copyright (C) 2002 Free Software Foundation, Inc. +# Claus Hindsgaul <claus_h@image.dk>, 2000-2001. +# +msgid "" +msgstr "" +"Project-Id-Version: texinfo 4.1c\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-03-25 11:57GMT\n" +"Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n" +"Language-Team: Danish <dansk@klid.dk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 0.9.5\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "G et tegn frem" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "G et tegn tilbage" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "G til starten af linjen" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "G til slutning af linjen" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "Ryk et ord frem" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "Ryk et ord tilbage" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "Slet tegnet under mark鷨en" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "Slet tegnet efter mark鷨en" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "Afbryd eller afslut aktivitet" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "Accept廨 (eller gennemtving afslutning af) linjen" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "Inds犚 n犘te tegn r廞" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "Inds犚 dette tegn" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "Inds犚 et tabulatortegn" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "Transpon廨 tegn ved mark鷨" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "Gendan indholdet fra sidste sletning" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "Skraldespand er tom" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "Gendan en tidligere sletning" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "Slet resten af linjen" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "Slet bagud til linjestart" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "Slet resten af ordet" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "Slet ordet f鷨 mark鷨en" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "Ingen afslutninger" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "Ikke afsluttet" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "Vis mulige afslutninger" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "Eneste afslutning" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr "圢 afslutning:\n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr "%d afslutninger:\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "Inds犚 afslutning" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "Opbygger afslutninger..." + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "Rul afslutningsvinduet" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "Fodnoter kunne ikke vises" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "Vis fodnoter, det h鷨er til dette emne i et andet vindue" + +#: info/footnotes.h:26 +msgid "---------- Footnotes ----------" +msgstr "---------- Fodnoter -----------" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "Sl en tekst op i denne fils indeks." + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "Finder indeksindgange..." + +#: info/indices.c:212 +msgid "No indices found." +msgstr "Fandt intet indeks." + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "Indeksindgang:" + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "G til n犘te fundne indekspunkt fra sidste '\\[index-search]'-kommando" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr "Ingen tidligere indeks s鷤etekst" + +#: info/indices.c:349 +msgid "No index entries." +msgstr "Ingen indeksindgange." + +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr "Ingen %sindeksindgange indeholder \"%s\"." + +#: info/indices.c:383 +msgid "more " +msgstr "mere " + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "KAN IKKE SE DETTE" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "Fandt \"%s\" i %s. ('\\[next-index-match]' s鷤er efter den n犘te.)" + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "Skimmer \"%s\"'s indekser..." + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr "Ingen tilg熡gelige info-filer har \"%s\" i sit index." + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "" +"Gennemtr獒l alle kendte Info-filers indekser for en tekst og opbyg en menu" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "Indeks apropos:" + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* Menu: Emner, hvis indeks indeholder \"%s\":\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr "Pr黲 --help for mere information.\n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Der er INGEN garanti. Du m redistribuere denne software\n" +"under GNU General Public License's betingelser.\n" +"For mere information om dette, se filerne 'COPYING'.\n" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "ingen indeksindgange blev fundet for '%s'\n" + +#: info/info.c:555 +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr " -b, --speech-friendly v熳 talesyntese-venlig.\n" + +#: info/info.c:562 +#, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +"Brug: %s [TILVALG]... [MENUPUNKT...]\n" +"\n" +"L犘 dokumentationen i Info format.\n" +"\n" +"Tilvalg:\n" +" --apropos=STRENG sl STRENG op i alle indekser og manualer.\n" +" -d, --directory=KATALOG tilf鷮 KATALOG til INFOPATH.\n" +" --dribble=FILNAVN gem brugerens tastetryk i FILNAVN.\n" +" -f, --file=FILNAVN angiv Info fil, der skal bes鷤es.\n" +" -h, --help vis denne hj熞p og afslut.\n" +" --index-search=TEKST g til det punkt, indeks-indgang TEKST " +"angiver.\n" +" -n, --node=EMNENAVN angiv emner i f鷨st bes鷤te Info-fil.\n" +" -o, --output=FILNAVN udl犘 de valgte emner til FILNAVN.\n" +" -R, --raw-escapes fjern ikke ANSI-escapekoder fra manualsider\n" +" --restore=FILNAVN indl犘 de f鷨ste tastetryk fra FILNAVN.\n" +" -O, --show-options, --usage g til emnet kommandolinje-tilvalg.\n" +"%s --subnodes udl犘 menupunkter rekursivt.\n" +" --vi-keys benyt 'vi'- og 'less'-agtige tastebindinger.\n" +" --version vis versionsinformation og afslut.\n" +"\n" +"Det f鷨ste ikke-tilvalgs-parameter er menuindgangen der startes fra;\n" +"den s鷤es i alle 'katalog'-filer angivet i milj黲ariablen INFOPATH.\n" +"Hvis ikke dette parameter er angivet, samler info alle 'katalog'-filer\n" +" og viser resultatet.\n" +"Resterende parametre angiver navne p menupunkter i forhold til " +"startpunktet.\n" +"\n" +"Eksempler:\n" +" info viser top-niveau katalog menu\n" +" info emacs start ved emnet emacs i topniveau kataloget\n" +" info emacs buffers start ved emnet 'buffers' i emacs-manualen\n" +" info --show-options emacs start ved emnet med emacs' kommandolinje " +"tilvalg\n" +" info -f ./xxx.info vis filen ./xxx.info uden at s鷤e i katalog\n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" +"\n" +"Rapport廨 fejl i programmet p engelsk til bug-texinfo@gnu.org,\n" +"generelle sp鷨gsm嶚 og diskussion til help-texinfo@gnu.org,\n" +"overs犚telsesfejl til claus_h@image.dk\n" +"Texinfos hjemmeside: http://www.gnu.org/software/texinfo/" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr "Kan ikke finde emnet '%s'." + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr "Kan ikke finde emnet '(%s)%s'." + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "Kan ikke finde et vindue!" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "Punktet optr熛er ikke i dette vindues emne!" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr "Kan ikke slette det sidste vindue." + +#: info/info.c:637 +msgid "No menu in this node." +msgstr "Ingen menu i dette emne." + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr "Ingen fodnoter i dette emne." + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr "Ingen krydsreferencer i dette emne." + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr "Ingen '%s'-peger mod dette emne." + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr "Ukendt Info kommando '%c'; pr黲 '?' for hj熞p." + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr "Info kan ikke k鷨e p terminal type '%s'." + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr "Du er i forvejen ved emnets sidste side." + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr "Du er i forvejen ved emnets f鷨ste side." + +#: info/info.c:645 +msgid "Only one window." +msgstr "Kun 彋 vindue." + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr "Det resulterende vindue ville v熳e for lille." + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr "Ikke nok plads til et hj熞pevindue. Fjern venligst et vindue." + +#: info/infodoc.c:45 info/infodoc.c:94 +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "" +"Grundl熚gende kommandoer i Info-vinduer\n" +"***************************************\n" + +#: info/infodoc.c:48 +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr "\\%-10[quit-help] Afslut denne hj熞p.\n" + +#: info/infodoc.c:49 +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr "\\%-10[quit] Afslut hele Info-programmet.\n" + +#: info/infodoc.c:50 +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr "\\%-10[get-info-help-node] K鷨 info introduktionen.\n" + +#: info/infodoc.c:52 info/infodoc.c:101 +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "" +"Valg af ander emnder:\n" +"---------------------\n" + +#: info/infodoc.c:54 +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr "\\%-10[next-node] Flyt til emnet 'n犘te' i dette emne.\n" + +#: info/infodoc.c:55 +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr "\\%-10[prev-node] Flyt til emnet 'Forrige' i dette emne.\n" + +#: info/infodoc.c:56 +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr "\\%-10[up-node] Flyt til emnet 'Op' i dette emne.\n" + +#: info/infodoc.c:57 +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr "" +"\\%-10[menu-item] V熞g menupunkt angivet ved navn.\n" +" Valg af menupunkt v熞ger et andet emne.\n" + +#: info/infodoc.c:59 +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr "" +"\\%-10[xref-item] F鷲g en krydshenvisning. Indl犘er referencens navn.\n" + +#: info/infodoc.c:60 +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr "\\%-10[history-node] Flyt til vinduets sidste synlige emne-felt.\n" + +#: info/infodoc.c:61 +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr "" +"\\%-10[move-to-next-xref] Hop til n犘te hypertekst-henvisning i dette " +"emne.\n" + +#: info/infodoc.c:62 +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr "" +"\\%-10[move-to-prev-xref] Hop til n犘te hypertekst-henvisning i dette " +"emne.\n" + +#: info/infodoc.c:63 +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr "" +"\\%-10[select-reference-this-line] F鷲g hypertekst-henvisningen under " +"mark鷨en.\n" + +#: info/infodoc.c:64 +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr "" +"\\%-10[dir-node] Flyt til emnet 'katalog'. Svarer til 'g (KATALOG)'.\n" + +#: info/infodoc.c:65 +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr "\\%-10[top-node] G til emnet Top. Svarer til '\\[goto-node] Top'.\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "" +"Bev熚elser indenfor et emne:\n" +"----------------------------\n" + +#: info/infodoc.c:69 +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr "\\%-10[scroll-forward] Rul en side frem.\n" + +#: info/infodoc.c:70 +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr "\\%-10[scroll-backward] Rul en side tilbage.\n" + +#: info/infodoc.c:71 +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr "\\%-10[beginning-of-node] G til starten af emnet.\n" + +#: info/infodoc.c:72 +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr "\\%-10[end-of-node] G til enden af emnet.\n" + +#: info/infodoc.c:73 +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr "\\%-10[scroll-forward] Rul 1 linje frem.\n" + +#: info/infodoc.c:74 +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr "\\%-10[scroll-backward] Rul en linje tilbage.\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "" +"Andre kommandoer:\n" +"-----------------\n" + +#: info/infodoc.c:78 +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr "\\%-10[menu-digit] V熞g f鷨ste til niende punkt i emnets menu.\n" + +#: info/infodoc.c:79 +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr "\\%-10[last-menu-item] V熞g sidste punkt i emnets menu.\n" + +#: info/infodoc.c:80 +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "" +"\\%-10[index-search] S鷤 efter den angivne streng i denne Infos " +"indeksindgange\n" +" og v熞g det emne, der refereres til af den f鷨st fundne " +"indgang.\n" + +#: info/infodoc.c:82 +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +"\\%-10[goto-node] G til emne angivet ved navn.\n" +" Du kan ogs medtage filnavn, som (FILNAVN)EMNENAVN.\n" + +#: info/infodoc.c:84 +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr "" +"\\%-10[search] S鷤 fremad efter en given streng\n" +" og v熞g emnet med den n犘te forekomst.\n" + +#: info/infodoc.c:86 +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr "" +"\\%-10[search-backward] S熚 bagl熡s efter en given streng\n" +" og v熞g emnet med den forrige forekomst.\n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s Afslut hj熞p.\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s Afslut hele Info-programmet.\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s K鷨 info introduktionen.\n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s Flyt til emnet 'n犘te' i dette emne.\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s Flyt til emnet 'Forrige' i dette emne.\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s G et niveau op.\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s V熞g menupunkt angivet ved navn.\n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr " Valg af menupunkt v熞ger et andet emne.\n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s F鷲g en krydshenvisning. Indl犘er referencens navn.\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s Flyt til vinduets sidste synlige emne-felt.\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s Hop til n犘te hypertekst-l熡ke i dette emne.\n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s F鷲g hypertekst-l熡ken under mark鷨en.\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s Flyt til emnet 'katalog'. Svarer til 'g (KATALOG)'.\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s G til emnet Top. Svarer til 'g Top'.\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s Rul en side frem.\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s Rul en side tilbage.\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s G til starten af emnet.\n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s G til enden af emnet.\n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s Rul 1 linje frem.\n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s Rul en linje tilbage.\n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s V熞g f鷨ste ... niende punkt i emnets menu.\n" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s V熞g sidste punkt i emnets menu.\n" + +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr "" +" %-10s S鷤 efter en angivet tekst i denne Info-fils indeksindgange,\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "" +" og v熞g det emne, der refereres til af den f鷨st fundne " +"indgang.\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s G til emne angivet ved navn.\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr " Du kan ogs medtage filnavn, som (FILNAVN)EMNENAVN.\n" + +#: info/infodoc.c:132 +#, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s S鷤 fremad efter en given streng,\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr " og v熞g emne med den n犘te forekomst.\n" + +#: info/infodoc.c:134 +#, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr " %-10s S鷤 bagl熡s efter en given streng\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr "Den nuv熳ende s鷤esti er:\n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "" +"Tilg熡gelige kommandoer i infovinduer:\n" +"\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "" +"Tilg熡gelige kommandoer i ekko-omr嶟e:\n" +"\n" + +#: info/infodoc.c:340 +#, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +"F鷲gende kommandoer kan kun k鷨es via %s:\n" +"\n" + +#: info/infodoc.c:343 +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +"F鷲gende kommandoer kan slet ikke k鷨es:\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "" +"--- Benyt '\\[history-node]' eller '\\[kill-node]' for at afslutte ---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "Vis hj熞p" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "Bes鷤 infoemnet '(info)Help'" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "Vis dokumentation for TAST" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "Beskriv tast: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr "ESC %s er ikke defineret." + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr "%s er ikke defineret." + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s er defineret til %s." + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "Vis hvad der skal tastes, for at udf鷨e en given kommando" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "Hvor er kommando: " + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "'%s' er ikke p nogen taster" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr "%s kan kun udf鷨es via %s." + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr "%s kan udf鷨es via %s." + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr "Der er ingen funktion kaldet '%s'" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "ugyldigt antal parametre" + +#: info/infokey.c:194 +#, c-format +msgid "cannot open input file `%s'" +msgstr "can ikke 嶙ne inddata-filen '%s'." + +#: info/infokey.c:207 +#, c-format +msgid "cannot create output file `%s'" +msgstr "kan ikke oprette uddatafil '%s'" + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "fejl under skrivning til '%s'" + +#: info/infokey.c:222 +#, c-format +msgid "error closing output file `%s'" +msgstr "fejl under lukning af uddatafilen '%s'" + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "n鷤lesekvens for lang" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "manglende n鷤lesekvens" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "NUL-tegn (\\000) ikke tilladt" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "NUL-tegn (^%c) ikke tilladt" + +#: info/infokey.c:652 +msgid "missing action name" +msgstr "mangler handlingsnavn" + +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "for langt afsnit" + +#: info/infokey.c:673 +#, c-format +msgid "unknown action `%s'" +msgstr "ukendt handling '%s'" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "for langt handlingsnavn" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "ekstra tegn f鷲ger handlingen '%s'" + +#: info/infokey.c:704 +msgid "missing variable name" +msgstr "manglende variabelnavn" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "mangler '=' umiddelbart efter variabelnavn" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "for langt variabelnavn" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "for lang v熳di" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "\"%s\", linje %u: " + +#: info/infokey.c:891 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" +"Brug: %s [TILVALG]... [INDDATA-FIL]\n" +"\n" +"Overs犚 en infokey-kildefil til en infokey-fil. L犘er INDDATA-FIL (som " +"standard\n" +"$HOME/.infokey) og skriver oversat fil til (som standard) $HOME/.info.\n" +"\n" +"Tilvalg:\n" +" --output FILNAVN uddata til FILNAVN i stedet for $HOME/.info\n" +" --help vis denne hj熞p og afslut.\n" +" --version vis versionsoplysninger og afslut.\n" +"\n" +"Overs犚 infokey-kildefil til infokey-fil. L犘er INDDATA-FIL (standard\n" +"$HOME/.infokey) og skriver oversat key-fil til $HOME/.info.\n" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "Ignorerer ugyldig infokey-fil '%s' - for lille" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "Ignorerer ugyldig infokey-fil '%s' - for stor" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "Fejl under l犘ning af infokey-fil '%s' - \"short read\"" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" +"Ugyldig infokey-fil '%s' (ugyldige magiske tal) -- k鷨 infokey for at " +"opdatere den" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "Din infokey-fil '%s' er for gammel -- k鷨 infokey for at opdatere den" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" +"Ugyldig infokey-fil '%s' (ugyldig afsnitsl熡gde) -- k鷨 infokey for at " +"opdatere den" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "" +"Ugyldig infokey-fil '%s' (ugyldig afsnitskode) -- k鷨 infokey for at " +"opdatere den" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "Ugyldige data i infokey-fil -- visse tastebindinger blev ignoreret" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "" +"Ugyldige data i infokey-fil -- visse variabelindstillinger blev ignoreret" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "Indl犘 navnet p en info-kommando og beskriv den" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "Beskriv kommando: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "Indl犘 et kommandonavn i ekko-omr嶟et og udf鷨 den" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr "Kan ikke udf鷨e en 'ekko-omr嶟e'-kommando her." + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "S犚 h鷮den p det viste vindue" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "S犚 sk熳mh鷮den til (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" +" Kildetekster gennemtr獒let for at inkludere filen;\n" +"\n" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr "Kunne ikke bearbejde filen %s.\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* Menu:\n" +" (Fil)Emne linjer St鷨r. Indeholder fil\n" +" ---------- ----- ---- ---------------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +"Her er menuen med emner, du har bes鷤t for nylig.\n" +"V熞g et fra denne menu eller brug '\\[history-node]' i et andet vindue,\n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "Opret et vindue med en menu, der indeholder alle nyligt bes鷤te emner" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "V熞g et emne, som tidligere har v熳et bes鷤t i et synligt vindue" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "V熞g bes鷤t emne: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "Referencen forsvandt! (%s)." + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +"Velkommen til Info version %s. Skriv \\[get-help-window] for hj熞p. \\[menu-" +"item] for menupunkt." + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "G ned til n犘te linje" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "G op til forrige linje" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "G til linjeslutning" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "G til linjestart" + +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "N犘te" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "F鷲ger emnet N犘te..." + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "V熞ger f鷨ste menupunkt..." + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "V熞ger emnet 'N犘te'..." + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr "G緳 'Op' %d gang(e), derefter 'N犘te'." + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr "Ikke flere emner i dette dokument." + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr "Ingen 'Forrige' i dette emne." + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr "G緳 til 'Forrige' i dette vindue." + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr "Ingen 'Forrige' eller 'Op' for dette emne i dette dokument." + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr "G緳 'Op' i dette vindue." + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr "G緳 til 'Forrige's sidste menupunkt." + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr "G frem eller ned gennem emne-strukturen" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr "G tilbage eller op gennem emne-strukturen" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr "Rul tilbage i vinduet" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "Rul frem i vinduet og s犚 standard vinduesst鷨relse" + +#: info/session.c:1245 +msgid "Scroll forward in this window staying within node" +msgstr "Rul frem i vinduet i samme emne" + +#: info/session.c:1253 +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "Rul frem i vinduet i samme emne og s犚 standard vinduesst鷨relse" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "Rul tilbage i vinduet" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "Rul tilbage i vinduet og s犚 standard vinduesst鷨relse" + +#: info/session.c:1278 +msgid "Scroll backward in this window staying within node" +msgstr "Rul tilbage i vinduet indenfor samme emne" + +#: info/session.c:1286 +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "" +"Rul tilbage i vinduet indenfor samme emne og s犚 standard vinduesst鷨relse" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "G til starten af dette emne" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "G til slutningen af dette emne" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "Rul N linjer ned" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "Rul N linjer op" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "Rul en halv sk熳mst鷨relse ned" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "Rul en halv sk熳mst鷨relse op" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "V熞g det n犘te vindue" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "V熞g det forrige vindue" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "Opdel nuv熳ende vindue" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "Slet nuv熳ende vindue" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "Kan ikke slette et permanent vindue" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "Slet alle andre vinduer" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "Rul det andet vindue" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "Rul det andet vindue bagl熡s" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "Forst鷨 (eller formindsk) dette vindue" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "Fordel det tilg熡gelige sk熳momr嶟e mellem de synlige vinduer" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "V熞g/frav熞g linjeombrydning i nuv熳ende vindue" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "V熞g emnet N犘te" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "V熞g emnet Forrige" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "V熞g emnet 'Op'" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "V熞g det sidste emne i filen" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "Dette vindue har ingen yderligere emner" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "V熞g det f鷨ste emne i filen" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "V熞g det sidste punkt i emnets menu" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "V熞g dette menupunkt" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr "Der er ikke %d punkter i denne menu." + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "Menupunkt (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "Menupunkt: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "F鷲g krydsreference (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "F鷲g krydsreference: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "Indl犘 et menupunkt og v熞g dets emne" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "Indl犘 en fodnote eller krydsreference og v熞g dets emne" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "Flyt til starten af dette emnes menu" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "Bes鷤 s mange menupunkter p en gang, som det er muligt" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "Indl犘 et emnenavn og v熞g det" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "G til emne: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr "Ingen menu i emne '%s'." + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr "Intet menupunkt '%s' i emne '%s'." + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr "Kunne ikke finde emnet, der refereres til af '%s' i '%s'." + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "Indl犘 en liste med menuer, der starter i katalog, og f鷲g dem" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "F鷲g menuer: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "Find emnet, der beskriver hvordan programmet startes" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "Find programstart emne for [%s]: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "Indl犘 en man-side reference og v熞g den" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "Hent man-side: " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "V熞g emnet 'Top' i filen" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "V熞g emnet '(katalog)'" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "Fjern emne (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "Kan ikke fjerne emnet '%s'" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "Kan ikke fjerne det sidste emne" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "V熞g det sidst valgt emne" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "Fjern dette emne" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "Indl犘 et filnavn og v熞g det" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "Find fil: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr "Kan ikke finde '%s'." + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr "Kunne ikke oprette uddatafil '%s'." + +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr "F熳dig." + +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "Skriver emnet %s..." + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "" +"Udskriv indholdet af dette emne (ved videref鷨sel gennem INFO_PRINT_COMMAND)" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr "Kan ikke 嶙ne videref鷨sel til '%s'." + +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "Udskriver emnet %s..." + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "Leder efter underfilen %s ..." + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "Indl犘 en tekst og s鷤 efter den uden versalf鷲somhed" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "Indl犘 en tekst og s鷤 for den" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "Indl犘 en tekst og s鷤 bagl熡s efter den" + +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "%s%sefter tekst [%s]: " + +#: info/session.c:3668 +msgid "Search backward" +msgstr "S鷤 bagl熡s" + +#: info/session.c:3668 +msgid "Search" +msgstr "S鷤" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr " versalf鷲somt" + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr "S鷤ning mislykkedes." + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "Gentag sidste s鷤ning i samme retning" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "Ingen tidligere s鷤etekst" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "Gentag sidste s鷤ning i modsat retning" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "S鷤 interaktivt efter en tekst, mens du skriver den" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "I-s鷤ning bagl熡s: " + +#: info/session.c:3857 +msgid "I-search: " +msgstr "I-s鷤ning: " + +#: info/session.c:3882 +msgid "Failing " +msgstr "Fejler " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "G til foreg嶒nde krydsreference" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "G til n犘te krydsreference" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "V熞g reference eller menupunkt, der optr熛er p denne linje" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "Afbryd nuv熳ende aktivitet" + +#: info/session.c:4388 +msgid "Quit" +msgstr "Afslut" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "Flyt mark鷨 til bestemt linje i vinduet" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "Gentegn sk熳men" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "Afslut info" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "K鷨 kommandoen, der er bundet til denne tasts sm嶙ogstavs-variant" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr "Ukendt kommando (%s)." + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" er ugyldig" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" er ugyldig" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "Tilf鷮 dette tegn til det nuv熳ende numeriske parameter" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "Start (eller gang med 4) det nuv熳ende numeriske parameter" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "Bruges internt af \\[universal-argument]" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "readline: Virtuel hukommelse opbrugt!\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "N緳 \"On\", vises og skjules fodnoter automatisk" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "" +"N緳 \"On\", 熡dres st鷨relsen p andre vinduer, n緳 det vindues oprettes " +"eller fjernes" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "N緳 \"On\", blinker sk熳men i stedet for at ringe med systemklokken" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "N緳 \"On\", vil fejl aktivere systemklokken" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "" +"N緳 \"On\", vil info fjerne eventuelle afkomprimerede filer, den laver." + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "N緳 \"On\", vil trufne s鷤estrenge blive markeret" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "Bestemmer, hvad der sker, n緳 rulning fors鷤es ved slutning af et emne" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "Antallet af linjer, der rulles, n緳 mark鷨en flytter ud af vinduet" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "N緳 \"On\", vil Info benytte og vise ISO Latin tegn" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "Forklar brugen af en variabel" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "Beskriv variabel: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "S犚 v熳dien af en Info-variabel" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "S犚 variabel: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "S犚 %s til v熳dien (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "S犚 %s til v熳dien (%s): " + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "--*** M熳ker (tags) er for熞dede ***" + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), linjer ---, " + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, %d linjer -%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, %d linjer -%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " Underfil: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: tilvalg '%s' er flertydig\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: tilvalg '--%s' tillader ikke en parameter\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: tilvalg '%c%s' tillader ikke en parameter\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: tilvalg '%s' kr獒er en parameter\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: ukendt tilvalg '--%s'\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: ukendt tilvalg '%c%s'\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: ugyldigt tilvalg -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: ugyldigt tilvalg -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: tilvalg kr獒er en parameter -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: tilvalg '-W %s' er flertydigt\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: tilvalg '-W %s' tillader ikke en parameter\n" + +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "januar" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "februar" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "marts" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "april" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "maj" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "juni" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "juli" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "august" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "september" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "oktober" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "november" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "december" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "usandsynligt tegn %c i @var" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "@sc parameter er kun versaler, derfor ingen virkning" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "'{' forventedes, men fandt '%c'" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "filslutning inden i en verb-blok" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "'}' forventedes, men fandt '%c'" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "%c%s er for熞det" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "@sp kr獒er et positivt tal, ikke '%s'" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "Ugyldigt argument til %c%s" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "asis" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "none" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "Manglende '}' i @def parameter" + +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "Funktion" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "Makro" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "Specialform" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "Variabel" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "Brugerfunktion" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "Instansvariabel" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "Metode" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "for" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "p" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "Skal v熳e i '%s' inds犚ning for at bruge '%sx'" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "%s: getwd: %s, %s\n" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "'%c%s' kr獒er en parameter i '{...}', ikke blot '%s'" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "Ingen slutparentes for fodnote '%s'" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "Fodnote defineret uden for熞dre-emne" + +#: makeinfo/footnote.c:210 +msgid "Footnotes inside footnotes are not allowed" +msgstr "Fodnoter indeni fodnoter er ikke tilladt" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "Fodnoter" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "Uden titel" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "Ugyldigt emnenavn: '%s'" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "Ukendt indeks '%s'" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "Info kan ikke h幩dtere ':' i indeksindgangen '%s'" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "Indeks '%s' eksisterer allerede" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "Ukendt indeks '%s' og/eller '%s' i @synindex" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "Ukendt indeks '%s' i @printindex" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "Indgang til indeks '%s' udenfor et emne" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "(udenfor et emne)" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "Broken-Type i insertion_type_pname" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "Overl鷷 i opt熞lingsstak (enumeration stack)" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "bogstavsoverl鷷, genstarter ved %c" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "%s kr獒er en parameter: formatteringen for %citem" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "'@end' forventede '%s', men fandt '%s'" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "Mangler en tilsvarende '%cend %s'" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "%s kr獒er et bogstav eller ciffer" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "filslutning indeni en verbatim-blok" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "@menu fundet f鷨 f鷨ste @node, opretter 'Top' emne" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "m廛ke skulle dit @top emne inds犚tes i @ifnottex i stedet for @ifinfo?" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "@detailmenu fundet f鷨 f鷨ste emne, opretter emnet 'Top'" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "Uparret '%c%s'" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "'%c%s' kr獒er noget efterf鷲gende" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "Ugyldigt parameter '%s', '%s', benytter '%s'" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "@%s giver ingen mening i en '@%s'-blok" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "@itemx giver ingen mening i en '%s'-blok" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "%c%s fundet udenfor en inds犚ningsblok" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "%s er ikke en gyldig ISO 639 sprogkode" + +#: makeinfo/lang.c:384 +#, c-format +msgid "unrecogized encoding name `%s'" +msgstr "ukendt indkodningsnavn '%s'" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "beklager, indkodningen '%s' underst黂tes ikke" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "ugyldig indkodet tegn '%s'" + +#: makeinfo/lang.c:502 +#, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "%s er en ugyldig ISO-kode, bruger %c" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "%c%s kr獒er 'i' eller 'j' som parameter, ikke '%c'" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "%c%s kr獒er et enkelt tegn 'i' eller 'j' som parameter" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "makro '%s' er allerede defineret" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "her er den forrige definition af '%s'" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "\\ i makroudfoldelse fulgt af '%s' i stedet for \\ eller parameternavn" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "Makro '%s' kaldt p linje %d med for mange parametre" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "%cend makro ikke fundet" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "@quote-arg kan kun bruges til makroer med et enkelt parameter" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "uparret @end %s med @%s" + +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "%s:%d: advarsel: " + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr "For mange fejl! Gav op.\n" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "Fejlplaceret %c" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Pr黲 '%s --help' for mere information.\n" + +#: makeinfo/makeinfo.c:373 +#, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "Brug: %s [TILVALG]... TEXINFO-FIL...\n" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" +"Overs犚 Texinfo kildedokumentation til flere andre formater, som standard " +"til\n" +"Info-filer, der er lavet til at blive l犘t p sk熳men med Emacs eller GNU " +"Info.\n" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" +"Generelle tilvalg:\n" +" --error-limit=ANTAL afbryd efter ANTAL fejl (standard %d).\n" +" --force bevar uddata selvom der opst緳 fejl.\n" +" --help vis denne hj熞p og afslut.\n" +" --no-validate undertryk validering af emne-krydsreferencer.\n" +" --no-warn undertryk advarsler (men ikke fejl).\n" +" --reference-limit=ANTAL advar h鷮st om ANTAL referencer (standard %" +"d).\n" +" -v, --verbose forklar, hvad der sker.\n" +" --version vis versionsoplysninger og afslut.\n" + +#: makeinfo/makeinfo.c:394 +#, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" +"Valg af format p uddata (ellers laves Info):\n" +" --docbook lav DocBook i stedet for Info.\n" +" --html lav HTML i stedet for Info.\n" +" --xml lav XML (TexinfoML) i stedet for Info.\n" + +#: makeinfo/makeinfo.c:401 +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" +"Generelle uddatatilvalg:\n" +" -E, --macro-expand FIL send makroekspanderet kildetekst til FIL.\n" +" ignor廨 eventuelle @setfilename.\n" +" --no-headers undertryk emneadskillere, Node:衍injer og " +"menuer\n" +" fra Infos uddata (og lav dermed simpel tekst)\n" +" og skriv som udgangspunkt til standard-ud." +"n --no-split undertryk opdeling af Info eller HTML-uddata,\n" +" lav kun 幯 uddatafil.\n" +" --number-sections lav afsnits- og sektionsnumre.\n" +" -o, --output=FILE send til FIL (katalog i tilf熞det opdelt HTML),\n" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" +"Tilvalg for Info og ren tekst:\n" +" --enable-encoding konstru廨 specialtegn i Infouddata i henhold " +"til\n" +" @documentencoding.\n" +" --fill-column=ANTAL opdel Info-linjer ved ANTAL tegn (standard %" +"d).\n" +" --footnote-style=STIL vis fodnoter i Info med valgt STIL:\n" +" `separate' for at placere dem i deres eget " +"emne;\n" +" `end' for at placere dem i slutningen af det " +"emne,\n" +" de er defineret(standard).\n" +" --paragraph-indent=ANTAL indryk Info-afsnit med ANTAL mellemrum " +"(standard %d).\n" +" Hvis ANTAL er 'none' indrykkes ikke. Hvis " +"ANTAL er\n" +" `asis', bevares eksisterende indrykning.\n" +" --split-size=ANTAL opdel Info-filer ved st鷨relsen ANTAL " +"(standard %d).\n" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" +"Inddata-tilvalg:\n" +" --commands-in-node-names tillad @-kommandoer i emnenavne.\n" +" -D VAR defin廨 variablen VAR som med @set.\n" +" -I KATALOG tilf鷮 KATALOG til @include-s鷤estien.\n" +" -P KATALOG inds犚 KATALOG forrest i @include-" +"s鷤estien.\n" +" -U VAR afdefin廨 variablen VAR som med @clear.\n" + +#: makeinfo/makeinfo.c:442 +#, fuzzy +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" +"Betinget behandling i inddata:\n" +" --ifhtml behandl @ifhtml og @html selvom der ikke laves HTML.\n" +" --ifinfo behandl @ifinfo-tekst selvom der laves HTML.\n" +" --iftex behandl @iftex og @tex-tekster; underforst緳 --no-split.\n" +" --no-ifhtml behandl ikke @ifhtml og @html-tekst.\n" +" --no-ifinfo behandl ikke @ifinfo-tekst.\n" +" --no-iftex behandl ikke @iftex og @tex-tekst.\n" + +#: makeinfo/makeinfo.c:454 +#, fuzzy +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" +" Standarden for @if... betingelser afh熡ger af uddataformatet:\n" +" hvis der laves HTML, er --ifhtml aktiveret, mens de andre er " +"deaktiverede;\n" +" hvis der laves Info eller ren tekst, er --ifinfo aktiveret og de andre er " +"deaktiverede.\n" + +#: makeinfo/makeinfo.c:461 +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" +"Eksempler:\n" +" makeinfo xxx.texi skriv Info til xxx's @setfilename\n" +" makeinfo --html xxx.texi skriv HTML til @setfilename\n" +" makeinfo --xml xxx.texi skriv XML til @setfilename\n" +" makeinfo --no-headers -o - xxx.texi skriv simpel tekst til standard-ud\n" +"\n" +" makeinfo --html --noheaders xxx.texi skriv html uden emnelinjer og menuer\n" +" makeinfo --number-sections xxx.texi skriv Info med nummererede afsnit\n" +" makeinfo --no-split xxx.texi skriv 幯 Info-fil, uanset st鷨relsen\n" + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr "%s: %s parameter skal v熳e et tal, ikke '%s'.\n" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "Kunne ikke 嶙ne makroudfoldelses-uddata '%s'" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "Kan ikke angive mere end 幯 makroudfoldelses-uddata" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "" +"%s: --paragraph-indent parameter skal v熳e tal/'none'/'asis', ikke '%s'.\n" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "" +"%s: --footnote-style parameter skal v熳e 'separate' eller 'end', ikke '%s'.\n" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr "%s: mangler filparameter.\n" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "Forventede '%s'" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "Filen eksisterer, men er ikke et katalog" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "Kan ikke oprette kataloget '%s': %s" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "Ingen '%s' fundet i '%s'" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "" +"%s: Undlader makroudfoldelse til standard-ud, da Info-uddata sendes der.\n" + +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr "Producerer %s file '%s' ud fra '%s'.\n" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "Dette er %s, produceret med makeinfo version %s ud fra %s.\n" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: Fjerner makro uddatafil '%s' grundet fejl; brug --force for at beholde.\n" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: Fjerner uddatafil '%s' grundet fejl; brug --force for at beholde.\n" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "Ukendt kommando '%s'" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "Benyt parenteser for at angive en kommando som parameter til @%s" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "%c%s forventede '{...}'" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "Uparret }" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "INTET_NAVN!" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "%c%s mangler h鷮re parentes" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "F鷨ste parameter i krydsreferencen m ikke v熳e tom" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "se " + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "Se " + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "en krydsreference m efterf鷲ges af '.' eller ',', ikke %c" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "F鷨ste parameter i @inforef m ikke v熳e tom" + +#: makeinfo/makeinfo.c:3427 +#, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "@image-fil '%s' (for HTML) er ul犘elig: %s" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "Ingen `%s.png' eller `.jpg', og ingen filendelse angivet" + +#: makeinfo/makeinfo.c:3490 +#, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "@image-fil '%s' (for tekst) er ul犘elig: %s" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "@image mangler filnavnsparameter" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "{Ingen v熳di for '%s'}" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "%c%s kr獒er et navn" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "N嶒de filslutning f鷨 samh鷨ende @end %s" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "`%.40s...' er for langt til ekspansion; blev ikke ekspanderet" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "Manglende } i @multitable skabelon" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "ignorerer vildfaren tekst '%s' efter @multitable" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "For mange s鷮ler i 'multitable' element (maks %d)" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "Kan ikke v熞ge kolonne %d i 'multitable'" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "ignorerer @tab udenfor 'multitable'" + +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "** Flerkolonne uddata fra sidste r熥ke:\n" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "* kolonne %d: uddata = %s\n" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "Emne '%s' er tidligere defineret p linje %d" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "Formatterer emne %s...\n" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "Emne '%s' kr獒er en sektionsopdelende kommando (f.eks. %c%s)" + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "Intet emnenavn angivet for '%c%s'-kommandoen" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "M嶚 '%s' og emne '%s' ender med at have samme filnavn" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "Denne @anchor-kommando er ignoreret; referencer til den vil ikke virke" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "Omd鷷 dette m嶚 eller brug tilvalget '--no-split'" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "Uventet streng i slutningen af opdelt HTML-fil '%s'" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "Emne:" + +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "N犘te:" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "Forrige:" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "Op:" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "M嶚ene '%s' og '%s' ender med at have samme filnavn" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "@anchor-kommandoen ignoreres. Referencer til den vil ikke fungere" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "%s reference til ikke-eksisterende emne '%s'" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "Menu" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "Kryds" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "'N犘te'-felt i emne '%s' blive ikke peget p" + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "Dette emne (%s) har den ugyldige 'Forrige'" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "Forrige" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "Feltet 'Forrige' i emne '%s' bliver ikke peget p" + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "Dette emne (%s) har den ugyldige 'N犘te'-felt" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "'%s' har intet 'Op'-felt" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "Op" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "" +"Emnet '%s' mangler menupunkt for '%s' p trods af at det er dens 'Op'-m嶚" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "emne '%s' blev refereret %d gange" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "ikke-refereret emne '%s'" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "Appendiks %c " + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "Intern fejl (search_sectioning) \"%s\"!" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "%c%s er for熞det; benyt i stedet %c%s" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "Emne med %ctop som sektion eksisterer allerede" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "Her er %ctop-emnet" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "%ctop benyttet f鷨 %cnode, benytter forvalget %s" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "Indhold" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "Kort indhold" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "%s: 'Indhold' burde v熳e her, men blev ikke fundet" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "@image-fil '%s' er ul犘elig: %s" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "%s: advarsel: " + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "virtuel hukommelse opbrugt" + +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr " for %s" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr "\tPr黲 '%s --help' for en komplet tilvalgsliste.\n" + +#: util/install-info.c:389 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" +"Brug: %s [TILVALG]... [INFOFIL [KATALOGFIL]]\n" +"\n" +"Install廨 eller slet katalogindgange fra INFOFIL i Info katalogfilen\n" +"KATALOGFIL.\n" +"\n" +"Tilvalg:\n" +" --delete slet eksisterende indgange til INFOFIL fra KATALOGFIL;\n" +" tilf鷮 ikke nye indgange.\n" +" --dir-file=NAVN angiv navn p Info katalogfil.\n" +" Dette svarer til at bruge KATALOGFIL parameteren.\n" +" --entry=TEKST tilf鷮 TEKST som en Info katalogindgang.\n" +" TEKST skal v熳e formateret som en Info menupunkts-\n" +" linje plus nul eller flere ekstra linjer, der starter\n" +" med mellemrum.\n" +" Hvis du angiver flere indgange, tilf鷮es de alle.\n" +" Hvis du ingen indgange angiver, bestemmes de ud fra\n" +" informationerne i selve Info-filen.\n" +" --help vis denne hj熞p og afslut.\n" +" --info-file=FIL angiv Info-fil, der skal inds犚tes i kataloget.\n" +" Dette svarer til at bruge INFOFIL parameteren.\n" +" --info-dir=KATALOG svarer til --dir-file=KATALOG/katalog.\n" +" --item=TEKST svarer til --entry TEKST.\n" +" Et Info-katalog er i virkeligheden et menupunkt.\n" +" --quiet undlad advarsler.\n" +" --remove svarer til --delete.\n" +" --section=SEK put denne fil's indgange i katalogets sektion SEK.\n" +" Hvis du angiver flere sektioner, tilf鷮es samtlige\n" +" indgangene til alle sektionerne.\n" +" Hvis du ingen sektioner angiver, bestemmes de ud fra\n" +" informationerne i selve Info-filen.\n" +" --version vis denne versions-information og afslut.\n" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" +"Dette er filen .../info/dir, som indeholde det 黲erste\n" +"emne i Info-hierakiet, kaldet (katalog)Top.\n" +"F鷨ste gang, du k鷨er Info, vil du indledningsvist se dette emne.\n" +"\n" +"%s\tDette er toppen af INFO-tr熰t\n" +"\n" +" Dette (katalog emnet) indeholder en menu med hovedemner.\n" +" Afslut med \"q\", \"?\" viser alle Info-kommandoer, \"d\" returnerer " +"hertil,\n" +" \"h\" introducerer nybegyndere for Info,\n" +" \"mEmacs<Return>\" bes鷤er Emacs-manualen, osv.\n" +"\n" +" I Emacs kan du klikke med museknap 2 p et menupunkt eller krydsreference\n" +" for at v熞ge den.\n" +"\n" +"* Menu:\n" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "%s: kunne ikke l犘e (%s) og kunne ikke oprette (%s)\n" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "%s: tom fil" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "START-INFO-DIR-ENTRY uden tilh鷨ende END-INFO-DIR-ENTRY" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "END-INFO-DIR-ENTRY uden tilh鷨ende START-INFO-DIR-ENTRY" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr "%s: Angiv kun Info-kataloget 幯 gang.\n" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr "%s: Angiv kun Info-filen 幯 gang.\n" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "overskydende kommandolinjeparameter '%s'" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr "Ingen inddatafil angivet; pr黲 --help for mere information." + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr "Intet katalog angivet; pr黲 --help for mere information." + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "ingen infokatalog-indgang i '%s'" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "menupunkt '%s' eksisterer allerede i filen '%s'" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "ingen indgange fundet for '%s'; intet slettet" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "viser denne hj熞p og afslutter" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "efterlad midlertidige filer" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "efterlad ikke midlertidige filer (standard)" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "send uddata til FIL" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "vis versions-information og afslut" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "Brug: %s [TILVALG]... FIL...\n" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr "Opret et ordnet indeks for hver TeX uddata-FIL.\n" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr "Normalt angives FIL... som 'xxx.%c%c' for dokumentet 'xxx.texi'.\n" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Tilvalg:\n" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "%s: ikke en texinfo indeksfil" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "kunne ikke 嶙ne %s" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "Intet sidenummer i %s" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "indgang %s f鷲ger en indgang med et sekund熳t navn" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr "%s; for filen '%s'.\n" diff --git a/gnu/usr.bin/texinfo/po/en@boldquot.header b/gnu/usr.bin/texinfo/po/en@boldquot.header new file mode 100644 index 00000000000..fedb6a06d12 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/gnu/usr.bin/texinfo/po/en@quot.header b/gnu/usr.bin/texinfo/po/en@quot.header new file mode 100644 index 00000000000..a9647fc35c3 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/gnu/usr.bin/texinfo/po/he.gmo b/gnu/usr.bin/texinfo/po/he.gmo Binary files differnew file mode 100644 index 00000000000..0e5b97b15d1 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/he.gmo diff --git a/gnu/usr.bin/texinfo/po/he.po b/gnu/usr.bin/texinfo/po/he.po new file mode 100644 index 00000000000..fc96b2a7b5b --- /dev/null +++ b/gnu/usr.bin/texinfo/po/he.po @@ -0,0 +1,2889 @@ +# Hebrew messages for GNU Texinfo -*- coding: hebrew-iso-8bit -*- +# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Eli Zaretskii <eliz@is.elta.co.il>, 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: texinfo 4.1c\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-03-24 18:31+0200\n" +"Last-Translator: Eli Zaretskii <eliz@gnu.org>\n" +"Language-Team: Hebrew <eliz@gnu.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "儋殫 蜭 漦 瀁 緧" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "噌樄 蜭 漦 瀁 緧" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "噌潁 擩踖 瀁 緧" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "噌潁 鵴儵 瀁 緧" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "儋殫 諘 僶濎 瀁 緧" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "噌樄 諘 僶濎 瀁 緧" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "樥曒 瀁鼥 漦 玂" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "瀁鼥 潞鐔 漦 玂" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "僽氂諘 僶殣 虀醵 樈 擯" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "(蕖氀 縺 噁樈 臅) 蠈灖摐 樉 噌潁 憼" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "濇樦濎 濻樈 颬 漦 鵨槼" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "僿 漦 鵨槼" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "TAB 鵨槼" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "瀁鼥 蜒檛 臄漦 潞 檛 鸁 僽" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "僽氂諘 噂氃 檛 瀇漦 鷽諙" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "噂澮 毿氃鍱 鼞瘔 蠌" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "鍏毿 噂氃 瀇漦 鷽諙" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "噌潁 鵴 蜚 玂" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "噌潁 擩踖 蜚 玂" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "瀁鼥 澮諘 僶濎 玂" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "瀁鼥 潞鐔 僶濎 玂" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "儋檛 鶆 毉" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "臅 鳭" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "樥矙邍 槴檛 碢" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "鳲氃 儋檛" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr " :諘 儋檛踊n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr " :槴檛 %d\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "儋檛 鵨槼" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "...槴檛 鍣 摋鋿" + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "槴檛鳵 櫇懞 懤懧" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "臄濇潁 氂蟼 睾欋 燿潞 鳭" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "樉 噂齌鐔 臄濇潁 氂蟼 碢" + +#: info/footnotes.h:26 +msgid "---------- Footnotes ----------" +msgstr "---------- Footnotes ----------" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "僿 礭毿 檛 壝蜸歖 緪鸄 鐋" + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "...臄壝蜸歖 擫 蠲殥" + +#: info/indices.c:212 +msgid "No indices found." +msgstr ".壝蜸歖 鶆 僪闉 鳭" + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "Index entry: " + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "僽氂諘 `\\[index-search]' 蜲蘱 緪鸄 縺漦 鵨歑 壝蜸歖 鴇欚 鐋" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr ".壝蜸歖 殦氃 鍏毿 緪鸄 毉" + +#: info/indices.c:349 +msgid "No index entries." +msgstr ".壝蜸歖 氆澮 樈犩 鳭" + +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr ".\"%s\" 緪鸄 臄擩鋋 壝蜸歖 氆澮%s 毉" + +#: info/indices.c:383 +msgid "more " +msgstr " 礹樥" + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "!樈鼞僶 膦爦 歑歖 黓玁" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "(.蜲 馲犩 儊謮 `\\[next-index-match]') .\"%s\" 鴇欚 %s- 澬僪" + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "...\"%s\" 檛 臄壝蜸歖 擫 蠲殥" + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr ".樦 壝蜸歖 \"%s\" 擩鋋 櫡 臄蹜槴儋 Info 礭毿 鶆" + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "" +"僪霘 儋 鴇欚 僽摎 緪鸄 罽 鐋 ,臄蠈蜒 Info 瀄暠 檛 臄壝蜸歖 擫 鳷" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "Index apropos: " + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* Menu: (槴歖鍱 樈虀醵 \"%s\" 臄擩鋋 壝蜸歖 氆澮)\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr ".礹樥 暟 蠆濎 碢僶 --help 儊礒n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +" Copyright (C) %s Free Software Foundation, Inc.\n" +"樉 僽錼 纈醵 臊槶 .樥鸄 朄錆 麧樦 僽歖 樉 潞錼\n" +" .GNU General Public License 櫇澺鸉 歖蹗 縺魟\n" +" .COPYING 礭毿 歑澭 ,樦 臄謮貗 鳺鼞 礹濇\n" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "`%s' 緪鸄 臄擩鋋 壝蜸歖 氆澮 毉赨n" + +#: info/info.c:555 +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr "" +" .鷿摋 翨貘鍎 槴歖僶 殫 膲鍎 魟澬 濻樈 僽 -b, --speech-friendly\n" + +#: info/info.c:562 +#, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +" %s [臄謮濊麀]... [...鴇欚 臄鏻襙] :槴澺 濻樈\n" +"\n" +" .Info 鴅鷿酃 臄錼欙 蜲襢 瀄暠 毉澽\n" +"\n" +" :臄謮濊麀\n" +" .霝鍎 膦鸁 擫 檛 臄壝蜸歖 擫 SUBJECT 鐋 --apropos=SUBJECT\n" +" .INFOPATH- 儋澺齵 DIR 僸玃 鵨槼 -d, --directory=DIR\n" +" .FILENAME 礭毿 臄纕 氀氃 擫 翴 --dribble=FILENAME\n" +" .FILENAME 礭毿 矙 霝 膦鸁 碢 -f, --file=FILENAME\n" +" .潞錹儋 僪 僿 噌羬 膲 碢 -h, --help\n" +".僸憵 擩摎 壝蜸歖嘵 噂齌 碢麧 壝蜸歖 緪鸄 鐋 --index-" +"search=STRING\n" +" .櫇僤 Info 礭毿 耪 NODENAME 噂齌 碢 -n, --node=NODENAME\n" +" .FILENAME 礭毿 耪 氂諃蹠 樈虀濊 摎 -o, --output=FILENAME\n" +" .man 濊蜦 ANSI 檛 噌欒 毇漦 籧嬽 憵 -R, --raw-escapes\n" +" .FILENAME 礭毿 臄纕 氀氃 鷽踛 --restore=FILENAME\n" +" .鳲毿醵 鷿 檛 臄謮濊麀 儑鐕 噂齌 碢 -O, --show-options, --" +"usage\n" +"%s .鳻鐔 瀌槶 摎錼 殧濄鷿蠲 鸁鼁 樈虀濊 毉 鷿摥 --subnodes\n" +" .Less 樈 vi- 儋樍 樍毿鐔 臄纕 鷿 --vi-keys\n" +" .僪 潞錼 壛殪 曒 蠆濎 碢 --version\n" +"\n" +";擩踖僶 歑闇 鴇欚 鶅襙 毉瀄 ,臄澥 馲 縺 ,毉濊麀 歑歖 櫇僤 麃鍷禘赨n" +" .INFOPATH 鍣 蕖樈 `dir' 瀄暠 擫 僿 鶅襙 鐋 潞錼踊n" +" .`dir' 瀄暠 擫 摠鷿鍱 鴇欚 睾籗 info ,毉濊麀 歑歖 麃鍷禘 鶆 毉 縺\n" +" 鴇欚儋 懞 ,鴇欚 濊澽 槴 潁鷿鏻 櫇僤 鸅襜 臄麃鍷禘赨n" +" .鳱欈嘵 僽潁僤 噂齌酃\n" +"\n" +" :樈鍒樍\n" +" dir 礭毿 摳-鴇欚 碢 info\n" +" emacs 鴇欚 襢暡 僸憵 噂齌鐔 膵 摳-鴇欚 info emacs\n" +"buffers 鴇欚 蕅鍱 薋鍷 emacs 鶅襙 膵 摳-鴇欚 info emacs buffers\n" +" emacs 檛 鳲毿醵 鷿 潞澭邍 鸆鍱 噂齌 碢 info --show-options emacs\n" +" dir 鴇欚 蕖 鷿摥 濇搿 ./foo.info 礭毿 碢 info -f ./foo.info\n" +"\n" +" ,bug-texinfo@gnu.org- 僶蠳 氃槫殫 谾檛 僦\n" +" .help-texinfo@gnu.org- 櫇殫 臄僓歑 樥擤 樦僓嫹n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" +"\n" +" ,bug-texinfo@gnu.org- 僶蠳 氃槫殫 谾檛 僦\n" +" .help-texinfo@gnu.org- 櫇殫 臄僓歑 樥擤 樦僓嫹n" +" .http://www.gnu.org/software/texinfo/ :Texinfo 檛 殧 鵽" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr ".魡犩 鳭 `%s' 噂齌" + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr ".魡犩 鳭 `%s' 礭毿 `%s' 噂齌" + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "!櫇懞 鶆 僪闉 鳭" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "!僿 櫇懞 碢槴 噂齌酃 僪闉 歑歖 瀁鼥" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr ".蜒賟 櫇懞 灚賧 燿潞 鳭" + +#: info/info.c:637 +msgid "No menu in this node." +msgstr ".臄鴇欚 毉 樉 噂齌酃" + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr ".臄濇潁 氂蟼 毉 樉 噂齌酃" + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr ".臄鷿澥 毉 樉 噂齌酃" + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr ".%s 僸潞醵 毉 樉 噂齌酃" + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr ".噌羬 憼籧 `?' 儊 ;Info- 齴槴 僽歖 `%c' 鳲毿" + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr ".Info 纈鸉 殫 樥 擤錼 歑歖 `%s' 瞂勷 碢" + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr ".樉 噂齌 檛 櫇鸄馯 蜲闅 鸅 /" + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr ".樉 噂齌 檛 櫇僤 蜲闅 鸅 /" + +#: info/info.c:645 +msgid "Only one window." +msgstr ".蜭 櫇懞 蠲 臄澥" + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr ".殫 礹樥 歞 僸 櫇懞" + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr ".槼擫 櫇懞 灚賧 僦 ;噌羬 櫇懞 睾欋 翴纕 玃鐙 毉" + +#: info/infodoc.c:45 info/infodoc.c:94 +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "" +" Info 歑樦諃 樥齌鼁 樍毿瀵n" +" ***************************\n" + +#: info/infodoc.c:48 +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr "\\%-10[quit-help] 僿 噌羬 櫇懞 鷿碫\n" + +#: info/infodoc.c:49 +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr "\\%-10[quit] Info 潞錹 澮鍒 僪\n" + +#: info/infodoc.c:50 +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr "\\%-10[get-info-help-node] Info 霝鍎 膦鸁 碢踊n" + +#: info/infodoc.c:52 info/infodoc.c:101 +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "" +" :氂諘 樈虀濊 噌氃塿n" +" ---------------------\n" + +#: info/infodoc.c:54 +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr "\\%-10[next-node] 氃錼 噂齌 澮諘 魡撦 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:55 +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr "\\%-10[prev-node] 氃錼 噂齌 潞鐔 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:56 +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr "\\%-10[up-node] 氃錼 噂齌 檛 摳-虀濊 鷿摥\n" + +#: info/infodoc.c:57 +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr "" +"\\%-10[menu-item] 槴 嬞"鐍 鴇欚 鶅襙 鸄塿n" +" .鸄 噂齌鐔 鸅襜 霟槻 鴇欚 噌氃塿n" + +#: info/infodoc.c:59 +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr "\\%-10[xref-item] 鷿澥 薋 僤毿 ;鷿澥 鸄 摎蘹\n" + +#: info/infodoc.c:60 +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr "\\%-10[history-node] 僿 櫇懞 鳱欈嘵 僽氂諘 噂齌鐔 鷿緗\n" + +#: info/infodoc.c:61 +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr "\\%-10[move-to-next-xref] 氃錼 噂齌酃 颬 鷿澥 瀁 緧踊n" + +#: info/infodoc.c:62 +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr "\\%-10[move-to-prev-xref] 氃錼 噂齌酃 罾毿 鷿澥 瀁 緧踊n" + +#: info/infodoc.c:63 +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr "\\%-10[select-reference-this-line] 樥曒 僪闉 瀁鼥 鷿澥 澮諘 摎蘹\n" + +#: info/infodoc.c:64 +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr "\\%-10[dir-node] `\\[goto-node] (DIR)'- 蕖-麧潁 ;DIR 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:65 +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr "\\%-10[top-node] `\\[goto-node] Top'- 蕖-麧潁 ;Top 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "" +" :噂齌 耪 瀁 蠈蹗\n" +" ---------------------\n" + +#: info/infodoc.c:69 +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr "\\%-10[scroll-forward] 儋殫 蜭 鵽 懤懧\n" + +#: info/infodoc.c:70 +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr "\\%-10[scroll-backward] 噌樄 蜭 鵽 懤懧\n" + +#: info/infodoc.c:71 +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr "\\%-10[beginning-of-node] 氃錼 噂齌 擩踖 瀁 緧踊n" + +#: info/infodoc.c:72 +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr "\\%-10[end-of-node] 氃錼 噂齌 鵴儵 瀁 緧踊n" + +#: info/infodoc.c:73 +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr "\\%-10[scroll-forward] 儋殫 諘 噌潁 瀁 緧踊n" + +#: info/infodoc.c:74 +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr "\\%-10[scroll-backward] 噌樄 蜭 鵽 懤懧\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "" +" :氂諘 樍毿瀵n" +" -------------\n" + +#: info/infodoc.c:78 +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr "\\%-10[menu-digit] 氃錼謱 噂齌醵 鴇欚 澽澺 蜚 櫇僤 鶅襙 鸄塿n" + +#: info/infodoc.c:79 +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr "\\%-10[last-menu-item] 氃錼謱 噂齌醵 鴇欚 櫇鸄 鶅襙 鸄塿n" + +#: info/infodoc.c:80 +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "" +"\\%-10[index-search] 鷿摥 僿 Info 礭毿 檛 臄壝蜸歖 緪鸄 鐋\n" +" 縺漦 僪闉 櫇僤 壝蜸歖 鴇欚 劋殧犩 僸憵 噂齌鐔\n" + +#: info/infodoc.c:82 +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +"\\%-10[goto-node] 儋 嬞"鐍 噂齌鐔 鷿摥\n" +" .(FILENAME)NODENAME- 槴 噂齌醵 薋 籧賨 礭毿 薋 毉瀄 燿潞\n" + +#: info/infodoc.c:84 +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr "" +"\\%-10[search] 僿 Info 籓欒 膵歖 櫡鋋 緪鸄 鐋\n" +" .緪鸄鍱 魡犩 魟 噂齌鐔 鷿摥嫹n" + +#: info/infodoc.c:86 +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr "" +"\\%-10[search-backward] 僿 Info 籓欒 噌樄馲 櫡鋋 緪鸄 鐋\n" +" .緪鸄鍱 魡犩 魟 噂齌鐔 鷿摥嫹n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s 僿 噌羬 櫇懞 鷿碫\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s Info 潞錹 澮鍒 僪\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s Info 霝鍎 膦鸁 碢踊n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s 氃錼 噂齌 澮諘 魡撦 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s 氃錼 噂齌 潞鐔 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s 氃錼 噂齌 檛 摳-虀濊 鷿摥\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s 槴 嬞"鐍 鴇欚 鶅襙 鸄塿n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr " .鸄 噂齌鐔 鸅襜 霟槻 鴇欚 噌氃塿n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s 鷿澥 薋 僤毿 ;鷿澥 鸄 摎蘹\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s 僿 櫇懞 鳱欈嘵 僽氂諘 噂齌鐔 鷿緗\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s 氃錼 噂齌酃 颬 鷿澥 瀁 緧踊n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s 樥曒 僪闉 瀁鼥 鷿澥 澮諘 摎蘹\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s `g (DIR)'- 蕖-麧潁 ;DIR 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s `g Top'- 蕖-麧潁 ;Top 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s 儋殫 蜭 鵽 懤懧\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s 噌樄 蜭 鵽 懤懧\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s 氃錼 噂齌 擩踖 瀁 緧踊n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s 氃錼 噂齌 鵴儵 瀁 緧踊n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s 儋殫 諘 噌潁 瀁 緧踊n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s 噌樄 諘 噌潁 瀁 緧踊n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s 氃錼謱 噂齌醵 鴇欚 澽澺 蜚 櫇僤 鶅襙 鸄塿n" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s 氃錼謱 噂齌醵 鴇欚 櫇鸄 鶅襙 鸄塿n" + +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr " %-10s 鷿摥 僿 Info 礭毿 檛 臄壝蜸歖 緪鸄 鐋\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr " 縺漦 僪闉 櫇僤 壝蜸歖 鴇欚 劋殧犩 僸憵 噂齌鐔\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s 儋 嬞"鐍 噂齌鐔 鷿摥\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" .(FILENAME)NODENAME- 槴 噂齌醵 薋 籧賨 礭毿 薋 毉瀄 燿潞\n" + +#: info/infodoc.c:132 +#, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s 僿 Info 礭毿 膵歖 櫡鋋 緪鸄 鐋\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr " .緪鸄鍱 魡犩 魟 噂齌鐔 鷿摥嫹n" + +#: info/infodoc.c:134 +#, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr " %-10s 僿 Info 礭毿 噌樄馲 櫡鋋 緪鸄 鐋\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr " :骫 氃錼 殦氃 鍣鱋n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "" +" :Info 歑樦諃 樥矙邍 樍毿瀵n" +"\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "" +" :樍毿醵 鷿 樥矙邍 樍毿瀵n" +"\n" + +#: info/infodoc.c:340 +#, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +" :蝁憼 %s 殣犩颬 擩覶僶 燿潞 樈撦 樍毿醵 赨n" +"\n" + +#: info/infodoc.c:343 +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +" :擤 僶覶僶 歑潞 瀔歖 樈撦 樍毿醵\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "--- `\\[kill-node]' 樈 `\\[history-node]' 灛 魡瀄濇 ---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "噌羬 膲 碢" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "Info 鋿襜 槴澺 膦鸁 碢" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "臄殥 纕 鷿摥 蜲襢 碢" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "Describe key: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr ".鸁瞂 歑歖 \"ESC %s\"" + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr ".鸁瞂 歑歖 \"%s\"" + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s is defined to %s." + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "鍣殥 鳲毿 曒醵 蜒檉僶 儋 碢" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "Where is command: " + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "槼擫 纕 噌潁 僽歖 `%s' 鳲毿醵" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr ".`%s' 曒醵 鳲氃毈 蕖蜠 馲 `%s'" + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr ".%s 鳲毿醵 擩覶 %s" + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr ".鍣澥 僽歖 `%s' 薋 僸禴謥" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "毇禊 鳲毿鐔 臄麃鍷禘馯 欚勷" + +#: info/infokey.c:194 +#, c-format +msgid "cannot open input file `%s'" +msgstr "`%s' 鳻 礭毿 賟酃 僶蠳" + +#: info/infokey.c:207 +#, c-format +msgid "cannot create output file `%s'" +msgstr "`%s' 鳻 礭毿 鼞灖 僶蠳" + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "`%s'- 魟澬錆 僶蠳" + +#: info/infokey.c:222 +#, c-format +msgid "error closing output file `%s'" +msgstr "`%s' 鳻 礭毿 鼞碫 僶蠳" + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "殫 儇氂 臄纕 鸁" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "噌鼩 臄纕 鸁" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "鷿黟 (\\000) 玃 漦 槴澺" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "鷿黟 (^%c) 玃 漦 槴澺" + +#: info/infokey.c:652 +msgid "missing action name" +msgstr "鳲毿 薋 欘" + +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "殫 耪鸆 籧" + +#: info/infokey.c:673 +#, c-format +msgid "unknown action `%s'" +msgstr "劋樍 僽謮 `%s' 鳲毿" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "殫 耪鸆 鳲毿 薋" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "`%s' 鳲毿鐔 蕅鍱 臄礹樥 臄漦" + +#: info/infokey.c:704 +msgid "missing variable name" +msgstr "僽鍱 薋 欘" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "僽鍱 薋 澮諘 蜒 `=' 欘" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "殫 耪鸆 僽鍱 薋" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "殫 耪鸆 蕖" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "\"%s\" 礭毿 %u 噌潁 " + +#: info/infokey.c:891 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" +" %s [毉濊麀]... [鳻-礭毿] :槴澺 濻樈\n" +"\n" +":懠賧 鼞鸅) 鳻-礭毿 僤毿 .infokey 礭毿 臄纕 氂蜾 檛 鷿纕 礭毿 檖霠\n" +" .(鸄 謮瀄 鳭 縺) $HOME/.info- 檖鍷纕 礭毿 朄槶 ($HOME/.infokey\n" +"\n" +" :臄謮濊麀\n" +" .$HOME/.info- 翴纕 FILE 礭毿 鳻 翴 --output FILE\n" +" .潞錹儋 僪 僿 噌羬 膲 碢 --help\n" +" .僪 潞錹 壛殪 曒 蠆濎 碢 --version\n" +"\n" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "毉蠳 infokey 礭毿 樥僶 殫錆 殫 歞 -- `%s' 礭毿 臅譓" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "毉蠳 infokey 礭毿 樥僶 殫錆 殫 懤蜾 -- `%s' 礭毿 臅譓" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "僤蘺 礭毿 擫 鳭 - `%s' infokey 礭毿 骫犪 僶蠳" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" +"歑槶蜚 蕖氀 infokey 蘧 -- (毇禊 艚 欚勷) 毉蠳 歑歖 `%s' infokey 礭毿" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "歑槶蜚 蕖氀 infokey 蘧 -- 瀇蜲襜 歑歖 `%s' infokey 礭毿" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" +"歑槶蜚 蕖氀 infokey 蘧 -- (毇禊 籧 蕖樈) 毉蠳 歑歖 `%s' infokey 礭毿" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "歑槶蜚 蕖氀 infokey 蘧 -- (毇禊 籧 蜲) 毉蠳 歑歖 `%s' infokey 礭毿" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "僽曒鏺 鳭 樍諘 臄纕 氂蜾 -- infokey 礭毿 臄毇禊 臄謥" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "齀漦 鳭 樍諘 臄蹗 氂蜾 -- infokey 礭毿 臄毇禊 臄謥" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "噁樈 鸆 Info 蜲蘱 檛 薋 僤" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "Describe command: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "噁樈 譐摎 樍毿醵 鷿 鳲毿 檛 薋 僤" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr ".僿 暡鍕 `echo-area' 蜲蘱 譐摐 燿潞 鳭" + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "碢槴 櫇懞 魟槻 僽" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "Set screen height to (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" +" :臄擤槶 僿 礭毿 樍摎譀 鷿纕 瀄暠\n" +"\n" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr ".%s 礭毿 蝁襗 燿潞 鳭\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* Menu:\n" +" (礭毿)噂齌 氂潁 '勷 懠槻 摳-礭毿\n" +" ----------- --------- ---- -------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +" .僽氂諘 犪殧 檷 樈虀濊 鍣囔 瀇槼 鴇欚 瀌僶\n" +" .鸄 櫇懞 `\\[history-node]' 曒醵 樈 鴇欚儋 噂齌 鸄塿n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "僽氂諘 犪殧 檷 樈虀濊 擫 檛 鴇欚 艜 櫇懞 碢" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "歑樦諙 蜭颬 罾毿 碢 噁樈 噂齌 鸄" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "Select visited node: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "!臅襝 (%s) 鷿澥 檛 蜚毈" + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +".碢槴 鴇欚儋 噌氃摐 \\[menu-item] ,僤羬 憼籧 \\[get-help-window] 灛 .%s " +"僔鼞 Info 潞錹 臄颬 臄錼鸅" + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "魡撦 噌潁 瀁 緧" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "鍏毿 噌潁 瀁 緧" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "噌潁 鵴儵 瀁 緧" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "僿 勷 檡賟檡 嘵氂" + +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "Next 鳲" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "...魡撦 噂齌鐔 鸅殣" + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "...鴇欚儋 櫇僤 鶅襙 鸄槦" + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "...魡撦 噂齌酃 鸄槦" + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr ".魡撦 噂齌醵 鸄槦 糈 ,樈虀濊 蘪 /儋 %d 僶殣" + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr ".僿 膰勷 樈虀濊 礹樥 毉" + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr ".樉 噂齌酃 `Prev' 鷿澥 毉" + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr ".僿 櫇懞 鍏毿 噂齌鐔 鸅殣" + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr ".樉 噂齌 鷿摥 `Up'- `Prev' 擤槶 歑歖 僿 膰勷" + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr ".僿 櫇懞 縺 虀鐔 鸅殣" + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr ".鍏毿 噂齌 檛 鴇欚 櫇鸄 鶅襙 鸅殣" + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr ".樈虀濊 僽搿 礹樥 灚闅 樈 儋殫 蠈" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr ".樈虀濊 僽搿 僶襜 濊擫 樈 噌樄 蠈" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr ".僿 櫇懞 儋殫 懤懧" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "櫇懞 懠槻 檛 蔌"霟 蕖 僽 僿 櫇懞 儋殫 懤懧" + +#: info/session.c:1245 +msgid "Scroll forward in this window staying within node" +msgstr "氃錼謱 噂齌醵 僪 濇搿 僿 櫇懞 儋殫 懤懧" + +#: info/session.c:1253 +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "" +"櫇懞 懠槻 檛 蔌"霟 蕖 僽 氃錼謱 噂齌醵 僪 濇搿 僿 櫇懞 儋殫 懤懧" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "僿 櫇懞 噌樄 懤懧" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "櫇懞 懠槻 檛 蔌"霟 蕖 僽 僿 櫇懞 噌樄 懤懧" + +#: info/session.c:1278 +msgid "Scroll backward in this window staying within node" +msgstr "氃錼謱 噂齌醵 僪 濇搿 僿 櫇懞 噌樄 懤懧" + +#: info/session.c:1286 +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "" +"櫇懞 懠槻 檛 蔌"霟 蕖 僽 氃錼謱 噂齌醵 僪 濇搿 僿 櫇懞 噌樄 懤懧" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "樉 噂齌 擩踖 瀁 緧" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "樉 噂齌 鵴儵 瀁 緧" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "儰 濊擫 氂潁 N 懤懧" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "僶襜 濊擫 氂潁 N 懤懧" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "儰 濊擫 鳱氀 瀄 懤懧" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "僶襜 濊擫 鳱氀 瀄 懤懧" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "颬 櫇懞 鸄" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "罾毿 櫇懞 鸄" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "臄潞 氃錼謱 櫇懞 籧" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "氃錼謱 櫇懞 欘" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "蠈暠 櫇懞 鼞鼥 燿潞 鳭" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "氃錼謱 蝁斁 歑樦諙 擫 欘" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "颬 櫇懞 懤懧" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "颬 櫇懞 噌樄 懤懧" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "僿 櫇懞 (歞灛 樈) 懠瞅" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "臄碢槴 歑樦諙 擫 毉 鳱氀 賥 籧" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "氃錼謱 櫇懞 潁懧 氂潁 碢 暡 僽" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "魡撦 噂齌酃 鷿摥" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "鍏毿 噂齌鐔 鷿摥" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "曒霘 噂齌鐔 鷿摥" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "僿 膰勷 僽氂諘 噂齌鐔 鷿摥" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "僿 櫇懞 樈虀濊 礹樥 毉" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "僿 膰勷 僽潁僤 噂齌鐔 鷿摥" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "樉 噂齌醵 鴇欚 櫇鸄馯 鶅襙 鸄" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "鴇欚儋 僿 鶅襙 鸄" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr ".臄鏻襙 %d 毉 僿 鴇欚" + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "Menu item (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "Menu item: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "Follow xref (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "Follow xref: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "儋歖鍱 噂齌鐔 鷿摥 鴇欚 鶅襙 薋 僤" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "儋歖鍱 噂齌鐔 鷿摥 鷿澥 樈 噌蟼 檛 薋 僤" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "樉 噂齌酃 鴇欚 擩踖 瀁 緧" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "僿 鴇欚 臄鏻襙 檛 矙邍 擫 暟 欚勷 碢" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "僸憵 鷿摥 噂齌 檛 薋 僤" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "Goto node: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr ".臄鴇欚 `%s' 毉 噂齌酃" + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr ".`%s' 鶅襙 毉 `%s' 噂齌 檛 鴇欚" + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr ".`%s' 鶅襙 僸憵 矙纕 `%s'- 鴇欚 矙 噂齌 澬僪 鳭" + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "罽澮諘 摎蘹 dir- 僶氃鍱 鴇欚 濊澽 鸁濄 僤" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "Follow menus: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "潞錹 纈鸉 裧澣 鸆鍱 噂齌醵 僪" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "Find Invocation node of [%s]: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "漦樈 碢麧 manpage- 僸潞醵 僤" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "Get Manpage: " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "僿 膰勷 (`Top') 澺僤 噂齌鐔 鷿摥" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "`(dir)' 噂齌鐔 鷿摥" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "Kill node (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "`%s' 噂齌 籧儵 氂邍 毉" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "鳲氃 噂齌 籧儵 氂邍 毉" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "鳱欈嘵 僽氂諘 噂齌鐔 鷿緗" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "樉 噂齌 籧" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "漦樈 碢麧 礭毿 檛 薋 僤" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "Find file: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr ".僪闉 鳭 `%s' 礭毿" + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr ".`%s' 鳻 礭毿 鼞灖 僶蠳" + +# Note that this needs to make sense when displayed to the _right_ of +# the translated "Writing node foo..." and "Printing node foo...", +# no matter whether the following word is masculine or feminine! +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr " 儃檥" + +# No ellipsis because that would look awkward when the translation of +# "Done." is appended. +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "`%s' 噂齌 鳻" + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "INFO_PRINT_COMMAND 蕖 樉 噂齌 瀇漦 嚪蜠" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr ".`%s'- 玃邍 賟酃 僶蠳" + +# No ellipsis because that would look awkward when the translation of +# "Done." is appended. +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "%s 噂齌 嚪蜠" + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "... %s 礭毿- 蠲殥" + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "樥澮 槦踖 耪 噁樈 鐋 緪鸄 僤" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "噁樈 鐋 緪鸄 僤" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "噌樄 噁樈 鐋 緪鸄 僤" + +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "%s%sfor string [%s]: " + +# The following 4 are untranslated because they are used with the +# format string above in a prompt, and we don't translate prompts. +#: info/session.c:3668 +msgid "Search backward" +msgstr "Search backward" + +#: info/session.c:3668 +msgid "Search" +msgstr "Search" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr " case-sensitively " + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr ".魡犩 鳭 緪鸄鍱" + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "櫇樥 漦樈 櫇鸄 殦氃 曒 鷿緗" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "櫇鸄 殦氃 緪鸄 毉" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "耪醵 櫇樥錆 櫇鸄 殦氃 曒 鷿緗" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "噁樈 /蜒檉 /僓 殫 耪 緪鸄 鐋" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "I-search backward: " + +#: info/session.c:3857 +msgid "I-search: " +msgstr "I-search: " + +# Untranslated because is used with the I-search: prompt. +#: info/session.c:3882 +msgid "Failing " +msgstr "Failing " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "罾毿 鷿澥 瀁 緧" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "颬 鷿澥 瀁 緧" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "氃錼謱 噌潁 襢醲鍱 鴇欚 鶅襙 樈 鷿澥 鸄 摎蘹" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "氃錼 僶殣 擯" + +#: info/session.c:4388 +msgid "Quit" +msgstr "擯槦" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "僿 櫇懞 鍣殥 噌潁 瀁 緧" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "鳱氀 蜭" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "Info 潞錼 僪" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "僿 纕 檛 歑儚 樥樈 壛殪 噌潁灛 鳲毿 曒醵" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr ".(%s) 齴槴-澬憼 鳲毿" + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" 僸槻 鳲毿" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" 僸槻 鳲毿" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "氃錼 澮鍷 麃鍷禘鳭 樉 噌鐙 鵨槼" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "4- 臄澥 蕖 懤鐏 樈 ,澮鍷 麃鍷禘 檛 鳲檉 懞" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "樉 鳲毿酃 霝 \\[universal-argument]" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "!毇贄 櫇齴 礹樥 毉 :readline\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "氆鍷鳺 槴曒謥 殣濊槴 臄濇潁 氂蟼 ,\"On\" 暡鍕 縺" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "臄鸄 歑樦 殫鍣 僽 櫇懞 檛 灚擩 樈 噌瀄 ,\"On\" 暡鍕 縺" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "擩檥 襜 翴纕 膲鍱 澽暡 爢撦 ,\"On\" 暡鍕 縺" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "劋礹 擩檥 襜僶 霟槻 魡殪 擫 ,\"On\" 暡鍕 縺" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "" +"勱 鵴齌 膦懥 嬞" 臄鼫誽 臄攠籧 噈灚嘵 櫇齴 鷽賧 Info ,\"On\" 暡鍕 縺" + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "殦氃 緪鸄鍎 臄僬嘵 壝蜸歖 氆澮 檛 籧諙 睼樥 ,\"On\" 暡鍕 縺" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "噂齌 鵴鼁 僶濇瞅 槻僽 曒 鳻潁" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "櫇懞 樦槦碭 僪樥 瀁鼥 鳱氀 懤懧 氂潁 欚勷" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "樥摋 8 濇蠌 ISO 毇 睾犩 鳻毿 Info ,\"On\" 暡鍕 縺" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "臄蹗 檛 蜒蘱 鸆" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "Describe variable: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "Info 僽 檛 蕖 僽" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "Set variable: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "Set %s to value (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "Set %s to value (%s): " + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "--*** 謻蜲襜 僽歖 Tags 憼 ***-- " + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), lines ----, " + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, %d lines --%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, %d lines --%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " Subfile: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s 潞錹 鷿摥 澽霘-蜭 歑歖 `%s' 毉濊麀\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s 潞錹 鷿摥 麃鍷禘 憼纕 歑歖 `--%s' 毉濊麀\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s 潞錹 鷿摥 麃鍷禘 憼纕 歑歖 `%c%s' 毉濊麀\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s 潞錹 鷿摥 麃鍷禘 摋氃 `%s' 毉濊麀\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s 潞錹 鷿摥 `--%s' 鳵樉-澬憼 毉濊麀\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s 潞錹 鷿摥 `%c%s' 鳵樉-澬憼 毉濊麀\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: 澥樄-澬憼 毉濊麀 -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s 潞錹 鷿摥 毇禊 毉濊麀 -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: 麃鍷禘 摋氃 毉濊麀 -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s 潞錹 鷿摥 澽霘-蜭 歑歖 `-W %s' 毉濊麀\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s 潞錹 鷿摥 麃鍷禘 憼纕 歑歖 `-W %s' 毉濊麀\n" + +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "鸆歑" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "鸆氂敳" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "蘧" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "擩欚" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "歖" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "潞樥" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "濇樥" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "黓槻樈" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "鸅鍞鐙" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "鸅樘灚" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "鸅鍕歑" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "鸅隬" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "@var 耪 %c 鼞摙-澬憼 漦" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "儚邍 擫 @sc- 毉 瀇 ,樦樍 樥樈 樦槶 @sc 檛 麃鍷禘" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "%c 僪闉 罻 ,`{' 餤"" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "verb 耪 礭毿 鵴" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "%c 僪闉 罻 ,`}' 餤"" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "爁樥 歑毈 %c%s" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "`%s' 鳭 ,殧樥 欚勷 馲嘵 麃鍷禘 鷿 @sp" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "%c%s- 毇禊 麃鍷禘" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "馲嘵 槴" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "毉" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "@def 檛 麃鍷禘颬 `}' 欘" + +# It would be hilarious to translate those... +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "Function" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "Macro" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "Special Form" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "Variable" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "User Option" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "Instance Variable" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "Method" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "of" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "on" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "`%s' 耪 蠲 罻 槴澺 礹槴 `%sx'" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "%s 潞錹 %s- %s 鷿摥 魡殪 曒 谾樥 getwd/getcwd\n" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "`{...}' 耪 樥僶 摋氃 ,%c%s 檛 麃鍷禘 樥僶 臄僬 歑歖 `%s'" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "`}'- 鍣澬勷 僽歖 `%s' 臄濇潁 欙" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "噂齌鐔 籓賧 臄濇潁 欙" + +#: makeinfo/footnote.c:210 +msgid "Footnotes inside footnotes are not allowed" +msgstr "臄濇潁 氂蟼 耪 臄濇潁 氂蟼 儇濎 毉" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "臄濇潁 氂蟼" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "礹槶 鳭" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "`%s' :毇禊 (node) 噂齌 薋" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "`%s' 齴槴-澬憼 壝蜸歖" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "`%s' 壝蜸歖 鴇欚 `:' 擤皸 檛錁 Info" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "鸁瞂 鸅 `%s' 壝蜸歖" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "齴槴-澬憼 壝蜸歖 歑毈 @synindex- `%s' 樈 `%s'" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "@printindex- `%s' 齴槴-澬憼 壝蜸歖" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "噂齌 擫 籓賧 鸁瞂 `%s' 壝蜸歖 鴇欚" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "(噂齌 擫 籓賧)" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "insertion_type_pname- 毇禊 type" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "@enumerate- 潞鼩 濇" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "%c- 蜭 擩踖 ,樦欈 樥樈 擫" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "%s 僤槼 %citem 鷿摥 摎灖 鴇 :麃鍷禘 鸁" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "`%s' 僪闉 臅樈 ,`%s' 餤" `@end' 澮諘" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "縺漦 `%cend %s' 欘" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "噌鐙 樈 樈 鷿 %s" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "verbatim 耪 礭毿 鵴" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "`Top' 虀濊 爦樥 ,僽潁僤 噂齌醵 潞鐔 僪闉 @menu" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "?@ifinfo 翴纕 @ifnottex- 鐎槴 樥僶 噁毈 儇澮 @top 虀濊 澣 瀇澭" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "`Top' 虀濊 爦樥 ,僽潁僤 噂齌醵 潞鐔 僪闉 @detailmenu" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "瞂-櫆 樦 毉僓 `%c%s'" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "樥鸄 馲摋 槼 膦爦 `%c%s'" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "`%s'- 麃鍷禘鳪 臄僬 歑歖 `%s'- 翴 `%s'- 澬霝" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "`@%s' 耪 @%s- 殣霘 毉" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "`%s' 耪 @itemx- 殣霘 毉" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "儊謻 灚憼 擫 籓賧 %c%s 僪闉" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "ISO 639 嬞" 臄齴槴 櫇懥 潞鍣勷 蜭 歑歖 %s" + +#: makeinfo/lang.c:384 +#, c-format +msgid "unrecogized encoding name `%s'" +msgstr "`%s' 齴槴-澬憼 蜲蜒 薋" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "膰 歑歖 `%s' 蜲蜒 ,臄欙儗" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "`%s' 毇禊 蝆毿 漦" + +#: makeinfo/lang.c:502 +#, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "毇禊 ISO 蜲 歑毈 %s 澣 %c- 霝" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "`j' 樈 `i' 樥僶 摋氃 矙 ,%c%s 檛 麃鍷禘 樥僶 臄僬 歑歖 `%c'" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "麃鍷禘鳪 `j' 樈 `i' 蜒賟 漦 憼纕 %c%s" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "罾濷 鸁瞂 鸅 `%s' 氂欑" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "僽潁僤 鸁瞂 `%s' 櫡" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "麠霟 薋 樈 \\ 翴纕 ,氂欑 摞鸉 \\ 槦蘹 `%s'" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "殫 臄暟 臄麃鍷禘 擤槶 `%s' 氂欑鍎 %d 噌潁 噁擩踖 魡澮" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "僪闉 鳭 %cend macro" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "蜒賟 麃鍷禘 曒 氂欑 耪 蠲 澺槴澺 @quote-arg" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "@end %s 縺漦 歑歖 @%s" + +# Not translated because Emacs recognizes warningsby this template. +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "%s:%d: warning: " + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr ".臄殫 澬霟 !骫禊 殫 礹樥\n" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "槴毿鍕 歑歖 %c" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr ".`%s --help' 儊 礹 鳺欚餤n" + +#: makeinfo/makeinfo.c:373 +#, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "%s [臄謮濊麀]... TEXINFO-礭毿... :槴澺 濻樈\n" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" +" 懠賧 鼞鸅 ,臄鸄 臄謥 臄鴅鷿鐔 Texinfo 鷿纕 鐒 蜲襢 罿礹\n" +".GNU Info 潞錹 樈 Emacs 鷽蠌 魡澮籧 臄鍣僬鍱 Info 瀄暠 爦澭 \n" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" +" :臄濇擫 臄謮濊麀\n" +" .(%d 蔌"霟) 樈殪 NUM 澮諘 鷿瓙 --error-limit=NUM\n" +" .樈殪 樥 縺 罿 鳻 礭毿 玂霝 憵 --force\n" +" .潞錹儋 僪 僿 噌羬 膲 碢 --help\n" +" .樈虀濊 毉 樥贄鳵 歑澥 灚蝁 憵 --no-validate\n" +" .(僽碢漦 樈殪 殣蜲) 噌僿 殣蜲 睾籗 憵 --no-warn\n" +" .(%d 蔌"霟) 樥贄 殧碪 氂僿 NUM- 礹樥 鳭 --reference-limit=NUM\n" +" .潞錹 懤覶 曒 鳺欚 碢 -v, --verbose\n" +" .僪 僽錹 壛殪 殧碪 蠆濎 碢 --version\n" + +#: makeinfo/makeinfo.c:394 +#, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" +" :鳻醵 鴅鷿 鼞諃\n" +" .Info 翴纕 DocBook 鴅鷿酃 鳻 瀇 --docbook\n" +" .Info 翴纕 HTML 鴅鷿酃 鳻 瀇 --html\n" +" .Info 翴纕 XML 鴅鷿酃 鳻 瀇 --xml\n" + +#: makeinfo/makeinfo.c:401 +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" +" :臄濇擫 鳻 潞澭邍螰n" +" ,FILE 礭毿 氂欑 摞鸉 鸄鳭 鷿纕 摎 -E, --macro-expand FILE\n" +" .@setfilename- 槴曒 耪\n" +"樈虀濊 殫澮鐕 臄鴇欚 ,Node: 氂槶 鳭 鳻 --no-headers\n" +" 黓錒 礭毿 毉鋋 Info 鴅鷿酃\n" +" .礹樥 爦 鳻 - HTML 鴅鷿酃嫹n" +".潞蠳 鳻 籓欙 摎 ,--output 鸁襢魟 ,瀇-槴螏n" +" .蝁憼 蜭 鳻 礭毿 摎 --no-split\n" +" .鳻 礭毿 樈虀濊 臄蠲 矘鐙 --number-sections\n" +" .(HTML 鳻 縺 僸玃) FILE 礭毿 鳻 摎 -o, --output=FILE\n" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" +" :黓錒 樈 Info 鴅鷿酃 鳻 潞澭邍螰n" +" 鸁瞂鍱 嬞"鐍 鳻酃 氂 殦 樥樈 摎 --enable-encoding\n" +" .@documentencoding 僤槼塿n" +" .(%d 蔌"霟) 臄槫 NUM- Info 鷿 蕖樈 憼瞅 --fill-column=NUM\n" +" :STYLE 櫇謼鼁 Info 鴅鷿酃 臄濇潁 氂蟼 耪欙 --footnote-style=STYLE\n" +" ;樍欚 樈虀濊 氂蟼 緦齵 - `separate'\n" +" 噂齌醵 翴濄 燿樈 臄 - `end'\n" +" .(蔌"霟) 氂蜾槴 檷 魟\n" +".(%d 蔌"霟) 臄谾氂 VAL 儋潞 Info 樈虀濊 緧 --paragraph-indent=VAL\n" +"馲 VAL 縺 ;擤 齌謻 憵 ,`none' 馲 VAL 縺\n" +" .鷿纕 噁毈 濊 僿緛 曒 鷿霘 ,`asis'\n" +" .(%d 蔌"霟) NUM 懠槻 臄攠- Info 籧 --split-size=NUM\n" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" +" :鳻 瀄暠 檛 臄謮濊麀\n" +" .樈虀濊 槴 @ 蜲蘱 槴澺 嘵鸉 --commands-in-node-names\n" +" .@set 鳲毿酃 槴 VAR 僽鐒 鸁瞅 -D VAR\n" +" .@include 檛 殦氃 鍣 鵴鼁 DIR 鵨槼 -I DIR\n" +" .@include 檛 殦氃 鍣 僤 DIR 鵨槼 -P DIR\n" +" .@clear 蜲蘱 槴 ,VAR 僽 鸁瞅 擯 -U VAR\n" + +#: makeinfo/makeinfo.c:442 +#, fuzzy +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" +" :鳻欒 僽槴 蜲摋瀙n" +" .HTML 歑歖 鳻醵 縺 樦濊 @html- @ifhtml 蝁 --ifhtml\n" +" .HTML 馲 鳻醵 縺 樦濊 @ifinfo- 黓錒 蝁 --ifinfo\n" +" .--no-split 襜鍕;@tex- @iftex- 黓錒 蝁 --iftex\n" +" .@html- @ifhtml- 黓錒 蝁譓 憵 --no-ifhtml\n" +" .@ifinfo- 黓錒 蝁譓 憵 --no-ifinfo\n" +" .@tex- @iftex- 黓錒 蝁譓 憵 --no-iftex\n" + +#: makeinfo/makeinfo.c:454 +#, fuzzy +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" +" :鳻醵 鴅鷿酃 僸樦 @if... 樥蹗 鷿摥 懠賧 鼞鸅\n" +" ;臄曒醲 艛歖 礹毈 擫 曒醲 --ifhtml ,HTML 馲 鳻醵 縺\n" +" .臄曒醲 艛歖 礹毈 擫 曒醲 --ifinfo ,黓錒 樈 Info 馲 鳻醵 縺\n" + +#: makeinfo/makeinfo.c:461 +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" +" :樈鍒樍\n" +"@setfilename 嬞" 櫇謱 礭毿 Info 鳻 makeinfo foo.texi\n" +"@setfilename 嬞" 櫇謱 礭毿 HTML 鳻 makeinfo --html foo.texi\n" +" @setfilename 嬞" 櫇謱 礭毿 XML 鳻 makeinfo --xml foo.texi\n" +" @setfilename- DocBook XML 鳻 makeinfo --docbook foo.texi\n" +" 潞蠳 鳻 籓欙 黓錒 鳻 makeinfo --no-headers foo.texi\n" +" 臄鴇欚 鳭懤 氂槶 鳭 HTML 鳻 makeinfo --html --no-headers foo." +"texi\n" +" 樈虀濊 鷿欚 艜 Info 鳻 makeinfo --number-sections foo.texi\n" +" 僸僸 擫 懤蜾 ,蜒賟 礭毿 Info 鳻 makeinfo --no-split foo.texi\n" + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr ".%s 毉濊麀 鷿摥 %s 嬞" 鸁謻 ,澮鍷 麃鍷禘 歑歖 `%s'\n" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "`%s' 氂欑 槦踕 鳻 賟酃 僶蠳" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "氂欑鍱 槦踕 鳻鐔 蜭 礭毿 蠲 毉瀄 燿潞" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "" +"%s: `%s' 鳭 ,`asis'/`none'/澮鍷 樥僶 --paragraph-indent 檛 麃鍷禘 曒\n" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "" +"%s: `%s' 鳭 ,`end' 樈 `separate' 樥僶 --footnote-style 檛 麃鍷禘 曒\n" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr ".礭毿 薋 欘 %s 潞錹餤n" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "`%s' 毇鐇 僸 櫡" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "噈氃 歑謮僓 臄澥 礭毿 僪闉" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "`%s' 僸玃 鼞灖 (%s) 僶蠳" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "`%s' 僪闉 鳭 `%s' 礭毿" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "%s: .薋 櫇槶 鳻鐒 翴 樘霘樥 潞蠳 鳻 籓欙 氂欑 槦踕踊n" + +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr ".%s 鴅鷿酃 `%s'- `%s' 礭毿 蝁襜\n" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "This is %s, produced by makeinfo version %s from %s.\n" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "%s: .氂霘 --force- 霝 ;樦蠳 暠 玂鍣 `%s' 氂欑 槦踕 礭毿\n" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "%s: .氂霘 --force- 霝 ;樦蠳 暠 玂鍣 `%s' 鳻 礭毿\n" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "`%s' 齴槴-澬憼 魡鷿" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "臄旚懤勷 臄澮瞂鼁 蕖氀 ,@%s- 麃鍷禘 僸噁 魡鷿嘵 殫" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "`{...}'- 勱瀄 %c%s" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "瞂-櫆 樦 毉僓 }" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "NO_NAME!" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "%c%s- 欘 潞鍣 鸀殥" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "玃 樥僶 懤錁 歑歖 鷿澥 檛 櫇僤 麃鍷禘" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "see " + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "See " + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "%c 鳭 `,' 樈 `.' 馲摐 膦爦 鷿澥 澮諘" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "玃 樥僶 懤錁 歑歖 @inforef 檛 櫇僤 麃鍷禘" + +#: makeinfo/makeinfo.c:3427 +#, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "(HTML 鷿摥 鸁) @image 鷿摥 `%s' 礭毿 骫犪 (%s) 僶蠳" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "鸄 鍷濄 僽毇 鳭 樈犩 鳭 .jpg- `%s.png'" + +#: makeinfo/makeinfo.c:3490 +#, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "(黓錒 鷿摥 鸁) @image 鷿摥 `%s' 礭毿 骫犪 (%s) 僶蠳" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "@image 僤槼 欘 礭毿 薋" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "{No value for `%s'}" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "薋 鷿 %c%s" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "縺漦 @end %s 潞鐔 囔硾 鳻 礭毿" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "摞鷿 鳭 ;槦氃鸉 殫鋋 耪鸆 `%.40s...'" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "} 欘 @multitable 檛 潞朄" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "@multiline 澮諘 `%s' 礹樥 黓錒 澬鍎譓" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "(%d 蜚 礹槴) multitable 檛 @item- 樍槴 殫 礹樥" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "multitable- %d '勷 鳲槴 鼞諃 僶蠳" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "multitable- 籓賧 @tab- 澬鍎譓" + +# The following two look like debugging output, and aren't compiled. +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "** Multicolumn output from last row:\n" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "* column #%d: output = %s\n" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "`%s' 噂齌 鸁瞅 鸅 %d 噌潁" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "...%s 噂齌 蝁襜 襛\n" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "`%s' 噂齌酃 (%c%s 櫇碲) 灚齌 僤槼 蕖氀 " + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "噂齌 薋 鳭 `%c%s' 魡鷿" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "礭毿 薋 漦樈 槴禘漦 `%s' 鷿澥 毇 `%s' 噂齌" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "樦覶 鳭 樉 毇 憵 臄鷿澥 ;譐槦 鳭 樉 @anchor 僤槼" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "`--no-split' 毉濊麀 霝 樈 毇 薋 僽" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "`%s' 籧樄 HTML 礭毿 翴濄 僸殦-澬憼 緪鸄" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "Node:" + +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "Next:" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "Previous:" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "Up:" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "礭毿 薋 漦樈 槴禘漦 `%s- `%s' 鷿澥 樥漦" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "樦覶 鳭 樉 毇 憵 臄鷿澥 ;譐槦 鳭 @anchor 僤槼" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "%s `%s' 鍣澥 僽謮僓 噂齌鐔 僸潞醵" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "鴇欚" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "鷿澥" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "噌緗 劋殧犩 僽歖 `%s' 噂齌 檛 Next 鳲 噂齌醵" + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "毇禊 Prev 鳲 曒 骫 (%s) 樉 噂齌" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "Prev 鳲" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "噌緗 劋殧犩 僽歖 `%s' 噂齌 檛 Prev 鳲 噂齌醵" + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "毇禊 Next 鳲 曒 骫 (%s) 樉 噂齌" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "Up 鳲 毉 `%s'-" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "Up 鳲" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "噌緗 襢暡霘 鴇欚 鶅襙 毉 憼 ,`%s' 曒 襢暡 `%s' 噂齌 檛 Up 鳲" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "`%s' 噂齌鐔 臄鷿澥 %d 澬欚" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "鷿澥 鶆 毉 `%s' 噂齌鐔" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "Appendix %c " + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "!\"%s\" (search_sectioning) 濎潞 僽錼 檉" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "%c%s- 霝僶 鶅蜚 ;蹠樥 僽毈 %c%s 魡鷿" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "罾毿 噌蜾槼 鸅 %ctop 艜 噂齌" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "%ctop 虀濊 檛 翴纕 槼" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "濎瓙 @node 澬鐙槼 ,%cnode 潞鐔 %ctop- 嘵霝 %s 噂齌" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "Table of Contents" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "Short Contents" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "僪闉 鳭 罻 ,%s 礭毿 樥僶 僸 鷿鍗 臄謮潞 瀇漦" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "@image 鷿摥 `%s' 礭毿 骫犪 (%s) 僶蠳" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "%s: warning: " + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "濇骭鼞槼 櫇齴緛 囔硾" + +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr " for %s" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr ".臄謮濊麀 檛 魡斁 儋澺 憼籧 `%s --help' 儊礒n" + +#: util/install-info.c:389 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" +" %s [OPTION]... [INFO-FILE [DIR-FILE]] :槴澺 濻樈\n" +"\n" +" :臄謮濊麀\n" +" ;INFO-FILE 鷿摥 臄鍣澥 鴇欚 濊澽 DIR-FILE- 玂 --delete\n" +" .臄蜭 鴇欚 濊澽 鶅鼫 憵\n" +" .澺僤 Info 鴇欚 檛 礭毿 薋 毉瀄 --dir-file=NAME\n" +" .DIR-FILE 麃鍷禘颬 槴澺 蕖-麧潁 僿\n" +" .Info 檛 鴇欚 鶅襙 TEXT- 霝 --entry=TEXT\n" +" Info 鴇欚 鶅襙 鷿 檛 噌氀 樥僶 膦爦 TEXT\n" +" .臄谾氂 樦氃鍱 氂潁 儋 鐙漦 氂邍 艜\n" +" 臄鏻襙 擫 ,諘 艜鐕 礹樥 --entry- 霝 縺\n" +" .殦鼫 樦懥\n" +" 耪 槦樄 鴇欚 濊澽 ,--entry- 槴澺 毉颬\n" +" .槴瓙 Info 礭毿 檛 瀇漦踊n" +" .潞錹儋 僪 馰 噌羬 膲 碢 --help\n" +" .澺僤 鴇欚 僽蠳僶 礭毿 薋 毉瀄 --info-file=FILE\n" +" .INFO-FILE 麃鍷禘颬 槴澺 蕖-麧潁 僿\n" +" .\"--dir-file=DIR/dir\"- 蕖-麧潁 --info-dir=DIR\n" +" .\"--entry=TEXT\"- 蕖-麧潁 --item=TEXT\n" +" .鴇欚 檛 鶅襙 嘵襜 馲 Info 膦鸁鍕 鶅襙\n" +" .噌僿 樈蜲 睾籗 憵 --quiet\n" +" .\"--delete\"- 蕖-麧潁 --remove\n" +" .澺僤 鴇欚 檛 SEC 籧諃 僿 礭毿 耪 臄鏻襙 薕 --section=SEC\n" +" 鴇欚 濊澽 ,諘 艜鐕 礹樥 --section- 霝 縺\n" +" .謮瀄 澺僤 鴇欚 澥懞 蜭 擫 殦鼫嬞n" +" 蠌玃 鴇欚 籧諙 ,--section- 槴澺 毉颬\n" +" .槴瓙 Info 礭毿 檛 瀇漦 耪螰n" +" .僪 潞錹 壛殪 曒 蠆濎 碢 --version\n" +"\n" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "%s 礭毿 檛 (%s) 魡澮欒 檷 (%s) 噌瀄殧 檷 僶蠳\n" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "玃 歑毈 %s 礭毿" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "縺漦 END-INFO-DIR-ENTRY 鳭 START-INFO-DIR-ENTRY" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "縺漦 START-INFO-DIR-ENTRY 鳭 END-INFO-DIR-ENTRY" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr ".蝁憼 諘 艜 %s- Info 澭玃 毉瀄 燿潞\n" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr ".蝁憼 諘 艜 %s- Info 礭毿 毉瀄 燿潞\n" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "`%s' 礹樥 麃鍷禘" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr ".噌羬 憼籧 --help 儊 ;鳻 礭毿 櫇瀄 毉" + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr ".噌羬 憼籧 --help 儊 ;dir 礭毿 櫇瀄 毉" + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "`%s'- 澺僤 鴇欚 濊澽 毉" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "`%s' 鶅襙 澺僤 鴇欚 臄澥 鸅 `%s' 礭毿" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "玂闉 鳭 翴擫 ;`%s' 鷿摥 鴇欚 濊澽 樈犩 鳭" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "潞錹儋 僪 僿 噌羬 膲 碢" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "蜲摋蟼 膵儋 臄爦歑 臄潞鍻 臄攠 玂霝 憵" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "(蔌"霟) 蜲摋蟼 膵儋 臄爦歑 臄潞鍻 臄攠 玂" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "FILE 礭毿 鳻 僽醵" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "僪 潞錹 壛殪 曒 蠆濎 碢" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "%s [OPTION]... FILE... :槴澺 濻樈\n" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr ".TeX 嬞" 朄鋺 FILE 礭毿 擫 毉毇闇 壝蜸歖 瀇踊n" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr ".`foo.%c%c' 薋 臄僤蘺 `foo.texi' 膰勷 鷿摥 FILE 瀄暠 擤 蕖蝁\n" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +" :臄謮濊麀\n" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "texinfo 檛 壝蜸歖 礭毿 歑歖 `%s'" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "%s 檛 蜲賧 儃澬酃 僶蠳" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "蜲闅 欚勷 毉 %s-" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "潞 薋 曒 鴇欚 槦蘹 颬 %s 鴇欚" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr ".%s 僶蠳 噁犪 `%s' 礭毿塿n" diff --git a/gnu/usr.bin/texinfo/po/hr.gmo b/gnu/usr.bin/texinfo/po/hr.gmo Binary files differnew file mode 100644 index 00000000000..ff3c2c64448 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/hr.gmo diff --git a/gnu/usr.bin/texinfo/po/hr.po b/gnu/usr.bin/texinfo/po/hr.po new file mode 100644 index 00000000000..3d64d1528bb --- /dev/null +++ b/gnu/usr.bin/texinfo/po/hr.po @@ -0,0 +1,2914 @@ +# Texinfo project .po file for hr_HR localization +# Copyright (C) 2002 Free Software Foundation, Inc. +# Mirsad Todorovac <mtodorov_69@yahoo.com>, 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: texinfo 4.0f\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-01-24 00:14-MET\n" +"Last-Translator: Mirsad Todorovac <mtodorov_69@yahoo.com>\n" +"Language-Team: Croatian <lokalizacija@linux.hr>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "Pomakni se znak unaprijed" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "Pomakni se znak unazad" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "Pomakni se na po鋀tak teku熰 linije" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "Pomakni se na kraj teku熰 linije" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "Pomakni se rije unaprijed" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "Pomakni se rije unazad" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "Obri隘 znak ispod kursora" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "Obri隘 znak iza kursora" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "Poni靖i ili prekini operaciju" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "Prihva潻nje (ili tra頡nje kompletiranja) linije" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "Umetni slijede熵 znak doslovno" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "Umetni teku熵 znak" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "Umetni znak TAB" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "Zamijeni mjesta znakovima kod kurzora" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "Povrati zadnji obrisani sadr靠j" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "Spremnik za obrisani sadr靠j je prazan" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "Povrati prije obrisani sadr靠j" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "Obri隘 tekst do kraja retka" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "Obri隘 tekst do po鋀tka retka" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "Obri隘 rije iza kurzora" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "Obri隘 rije ispred kurzora" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "Ne mogu kompletirati" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "Nije dovr鈹no" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "Izlistaj mogu熰 varijante kompletiranja" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "Jedino mogu熰 kompletiranje" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr "Jedno kompletiranje:\n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr "%d kompletiranja:\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "Umetni kompletiranje" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "Izgra繠jem varijante kompletiranja..." + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "'Skrolaj' prozor za varijante kompletiranja" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "Ne mogu prikazati fusnote" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "Prika養 fusnote povezane s ovim 鋦orom u drugom prozoru" + +#: info/footnotes.h:26 +msgid "---------- Footnotes ----------" +msgstr "---------- Fusnote ----------" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "Potra養 niz u indeksu ove datoteke" + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "Tra養m stavke indeksa..." + +#: info/indices.c:212 +msgid "No indices found." +msgstr "Nije prona簟n indeks." + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "Stavka indeksa: " + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "" +"Idi na slijede獘 podudaraju獘 stavki indeksa zadnje `\\[index-search]' " +"naredbe" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr "Nema prethodnog zadanog niza za pretra養vanje indeksa." + +#: info/indices.c:349 +msgid "No index entries." +msgstr "Nema stavaka indeksa." + +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr "Nema stavaka %sindeksa koje sadr頡 \"%s\"." + +#: info/indices.c:383 +msgid "more " +msgstr "jo " + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "NE MOGU VIDJETI OVO" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "" +"Prona鈴o \"%s\" u %s. (`\\[next-index-match]' poku鈴va na熵 slijede熵.)" + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "Skeniram indekse od \"%s\"..." + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr "Niti jedna raspolo養va info datoteka ne sadr養 \"%s\" u svom indeksu." + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "Propu養 kroz sve poznate indekse u potrazi za nizom i slo養 meni" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "Indeks apropos: " + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* Meni: vorovi 鋱ji indeksi sadr頡 \"%s\":\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr "Poku鈴jte --help za vi鈹 informacija.\n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "nijedna stavka indeksa nije na簟na za `%s'\n" + +#: info/info.c:555 +#, fuzzy +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr "" +" --speech-friendly vi鈹 prijateljski prema sintetizatorima govora.\n" + +#: info/info.c:562 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +"Kori靖enje: %s [OPCIJA]... [STAVKA-MENIJA...]\n" +"\n" +"itanje dokumentacije u Info formatu.\n" +"\n" +"Options:\n" +" --apropos=SUBJEKT potra養 SUBJEKT u svim indeksima svih priru鋝ika.\n" +" --directory=DIR didaj DIR u INFOPATH.\n" +" --dribble=IMEDAT zapamti korisnikovo tipkanje u IMEDAT.\n" +" --file=IMEDATOTEKE zadaje ime Info datoteke koju se posje獘je.\n" +" --help ispi隘 ovu pomo i zavr隘 s radom.\n" +" --index-search=NIZ idi na 鋦or na koji pokazuje stavka indeksa NIZ.\n" +" --node=IMEVORA zadaje 鋦orove u prvoj posje熰noj info datoteci.\n" +" --output=IMEDATOTEKE ispi隘 izabrane 鋦orove u IMEDATOTEKE.\n" +" --restore=IMEDATOTEKE 鋱taj inicijalne tipke iz IMEDATOTEKE.\n" +" --show-options, --usage idi na 鋦or sa opcijama komandne linije.\n" +"%s --subnodes rekurzivno ispi隘 stavke menija.\n" +" --vi-keys koristi tipke kao 靖o su u vi-u i less-u.\n" +" --version ispi隘 informaciju o verziji i zavr隘 s radom.\n" +"\n" +"Prvi argument koji nije opcija, ako je prisutan, je stavka menija od koje\n" +"se po鋱nje; nju se tra養 u svim `dir' daotekama kroz INFOPATH.\n" +"Ako nije prisutan, info spaja (merge) sve `dir' datoteke i prikazuje\n" +"resultat. Eventualni preostali argumenti se tretiraju kao imena stavki\n" +"menija relativno od inicijalno posje熰nog 鋦ora.\n" +"\n" +"Primjeri:\n" +" info prika養 vr雉i dir meni\n" +" info emacs zapo鋝i od emacs 鋦ora iz vr雉og dir-a\n" +" info emacs buffers zapo鋝i u buffers 鋦oru unutar emacs " +"priru鋝ika\n" +" info --show-options emacs zapo鋝i u 鋦oru s emacsovim komandnim opcijama\n" +" info -f ./foo.info prika養 datoteku ./foo.info, zaobilaze熵 dir\n" +"\n" +"Izvje靖aje o bugovima molimo slati emailom na bug-texinfo@gnu.org,\n" +"generalna pitanja i diskusije na help-texinfo@gnu.org.\n" +"Pitanja i kritike glede translacije slati na lokalizacija@linux.hr.\n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr "Ne mogu na熵 鋦or `%s'." + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr "Ne mogu na熵 鋦or `(%s)%s'." + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "Ne mogu na熵 prozor!" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "To鋘a se ne nalazi unutar 鋦ora ovog prozora!" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr "Ne mogu dokinuti zadnji prozor." + +#: info/info.c:637 +msgid "No menu in this node." +msgstr "Nema menija u ovom 鋦oru." + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr "Nema fusnota u ovom 鋦oru." + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr "Nema unakrsnih referenci u ovom 鋦oru." + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr "Nema `%s' pokaziva醀 za ovaj 鋦or." + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr "Nepoznata Info naredba `%c'; poku鈴jte `?' za pomo." + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr "Terminal tipa `%s' nema dovoljno sposobnosti da izvodi Info." + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr "Ve se nalazite na zadnjoj stranici ovog 鋦ora." + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr "Ve se nalazite na prvoj stranici ovog 鋦ora." + +#: info/info.c:645 +msgid "Only one window." +msgstr "Samo jedan prozor." + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr "Nastali prozor bi bio premalen." + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr "Nema dovoljno mjesta za prozor za pomo, molimo dokinite jedan prozor." + +#: info/infodoc.c:45 info/infodoc.c:94 +#, fuzzy +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "Osnovne naredbe u Info Prozorima\n" + +#: info/infodoc.c:48 +#, fuzzy +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr " %-10s Napusti ovu pomo.\n" + +#: info/infodoc.c:49 +#, fuzzy +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr " %-10s Potpuno zavr隘 s radom (Quit).\n" + +#: info/infodoc.c:50 +#, fuzzy +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr " %-10s Pozovi Info priru鋝ik.\n" + +#: info/infodoc.c:52 info/infodoc.c:101 +#, fuzzy +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "Selektiranje drugih 鋦orova:\n" + +#: info/infodoc.c:54 +#, fuzzy +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr " %-10s Idi na slijede熵 (`next') 鋦or u odnosu na ovaj.\n" + +#: info/infodoc.c:55 +#, fuzzy +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr " %-10s Idi na prethodni (`previous') 鋦or u odnosu na ovaj.\n" + +#: info/infodoc.c:56 +#, fuzzy +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr " %-10s Idi navi鈹 (`up') od ovog 鋦ora.\n" + +#: info/infodoc.c:57 +#, fuzzy +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr " Odabiranje stavke menija selektira drugi 鋦or.\n" + +#: info/infodoc.c:59 +#, fuzzy +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s Slijedi unakrsnu referencu. ita ime reference.\n" + +#: info/infodoc.c:60 +#, fuzzy +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr " %-10s Pomakni se do posljednjeg vidljivog 鋦ora u ovom prozoru.\n" + +#: info/infodoc.c:61 +#, fuzzy +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr " %-10s Presko鋱 do slijede熰g hipertekst linka unutar ovog 鋦ora.\n" + +#: info/infodoc.c:62 +#, fuzzy +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr " %-10s Presko鋱 do slijede熰g hipertekst linka unutar ovog 鋦ora.\n" + +#: info/infodoc.c:63 +#, fuzzy +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr " %-10s SLijedi hipertekst link ispod kursora.\n" + +#: info/infodoc.c:64 +#, fuzzy +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr " %-10s Pomakni se na `directory' 鋦or. Ekvivalentno `g (DIR)'.\n" + +#: info/infodoc.c:65 +#, fuzzy +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr " %-10s Idi na Top (vr雉i) 鋦or. Ekvivalentno `g Top'.\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +#, fuzzy +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "Pomicanje unutar 鋦ora:\n" + +#: info/infodoc.c:69 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr " %-10s 'Skrolaj stranicu naprijed.\n" + +#: info/infodoc.c:70 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr " %-10s 'Skrolaj' stranicu unazad.\n" + +#: info/infodoc.c:71 +#, fuzzy +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr " %-10s Idi na po鋀tak ovog 鋦ora.\n" + +#: info/infodoc.c:72 +#, fuzzy +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr " %-10s Idi na kraj ovog 鋦ora.\n" + +#: info/infodoc.c:73 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr " %-10s 'Skrolaj' naprijed 1 redak.\n" + +#: info/infodoc.c:74 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr " %-10s 'Skrolaj' unazad 1 redak.\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +#, fuzzy +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "Druge naredbe:\n" + +#: info/infodoc.c:78 +#, fuzzy +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr " %-10s Odaberi prvu ... devetu stavku u 鋦orovom meniju.\n" + +#: info/infodoc.c:79 +#, fuzzy +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr " %-10s Odaberi zadnju stavku u 鋦orovom meniju.\n" + +#: info/infodoc.c:80 +#, fuzzy +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "datoteke, i selektiraj 鋦or referenciran prvom na簟nom stavkom.\n" + +#: info/infodoc.c:82 +#, fuzzy +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" Mo頡te tako簟r uklju鋱ti ime datoteke, kao u (DATOTEKA)" +"IME_VORA.\n" + +#: info/infodoc.c:84 +#, fuzzy +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr "" +" i selektiraj 鋦or u kojem je slijede潻 pojava niza na簟na.\n" + +#: info/infodoc.c:86 +#, fuzzy +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr "" +" i selektiraj 鋦or u kojem je slijede潻 pojava niza na簟na.\n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s Napusti ovu pomo.\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s Potpuno zavr隘 s radom (Quit).\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s Pozovi Info priru鋝ik.\n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s Idi na slijede熵 (`next') 鋦or u odnosu na ovaj.\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s Idi na prethodni (`previous') 鋦or u odnosu na ovaj.\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s Idi navi鈹 (`up') od ovog 鋦ora.\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s Odaberi stavku menija specificirane imenom.\n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr " Odabiranje stavke menija selektira drugi 鋦or.\n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s Slijedi unakrsnu referencu. ita ime reference.\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s Pomakni se do posljednjeg vidljivog 鋦ora u ovom prozoru.\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s Presko鋱 do slijede熰g hipertekst linka unutar ovog 鋦ora.\n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s SLijedi hipertekst link ispod kursora.\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s Pomakni se na `directory' 鋦or. Ekvivalentno `g (DIR)'.\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s Idi na Top (vr雉i) 鋦or. Ekvivalentno `g Top'.\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s 'Skrolaj stranicu naprijed.\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s 'Skrolaj' stranicu unazad.\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s Idi na po鋀tak ovog 鋦ora.\n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s Idi na kraj ovog 鋦ora.\n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s 'Skrolaj' naprijed 1 redak.\n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s 'Skrolaj' unazad 1 redak.\n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s Odaberi prvu ... devetu stavku u 鋦orovom meniju.\n" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s Odaberi zadnju stavku u 鋦orovom meniju.\n" + +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr " %-10s Tra養 zadani niz u indeks stavkama ove Info\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "datoteke, i selektiraj 鋦or referenciran prvom na簟nom stavkom.\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s Idi na 鋦or zadan imenom.\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" Mo頡te tako簟r uklju鋱ti ime datoteke, kao u (DATOTEKA)" +"IME_VORA.\n" + +#: info/infodoc.c:132 +#, fuzzy, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s Tra養 zadani niz prema naprijed kroz ovu Info datoteku,\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr "" +" i selektiraj 鋦or u kojem je slijede潻 pojava niza na簟na.\n" + +#: info/infodoc.c:134 +#, fuzzy, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr " %-10s Tra養 zadani niz prema natrag u ovoj Info datoteci,\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr "Trenutni put pretra養vanja je:\n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "" +"Naredbe raspolo養ve u Info prozorima:\n" +"\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "" +"Naredbe raspolo養ve u echo podru鋟u:\n" +"\n" + +#: info/infodoc.c:340 +#, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +"Slijede熰 naredbe mogu biti pozvane pomo獘 %s:\n" +"\n" + +#: info/infodoc.c:343 +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +"Slijede熰 naredbe ne mogu uop熰 biti pozvane:\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "--- Upotrijebi `\\[history-node]' ili `\\[kill-node]' za izlaz ---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "Ispi隘 poruku za pomo" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "Posjeti Info 鋦or `(info)Help'" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "Ispi隘 dokumentaciju za TIPKU" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "Opi隘 tipku: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr "ESC %s nije definiran." + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr "%s nije definiran." + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s je definiran kao %s." + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "Poka養 靖o otipkati da se izvr隘 data naredba" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "Gdje je naredba: " + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "`%s' nije niti na jednoj tipki" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr "%s mo頡 biti pozvan samo putem %s." + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr "%s mo頡 biti pozvan putem %s." + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr "Ne postoji funkcija `%s'" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "pogre鈴n broj argumenata" + +#: info/infokey.c:194 +#, c-format +msgid "cannot open input file `%s'" +msgstr "ne mogu otvoriti ulaznu datoteku `%s'" + +#: info/infokey.c:207 +#, c-format +msgid "cannot create output file `%s'" +msgstr "ne mogu kreirati izlaznu datoteku `%s'" + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "gre隕a pri pisanju u `%s'" + +#: info/infokey.c:222 +#, c-format +msgid "error closing output file `%s'" +msgstr "gre隕a pri zatvaranju izlazne datoteke `%s'" + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "niz tipaka preduga醀k" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "nedostaje niz tipaka" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "NUL znak (\\000) nije dozvoljen" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "NUL znak (^%c) nije dozvoljen" + +#: info/infokey.c:652 +msgid "missing action name" +msgstr "nedostaje ime akcije" + +# this needs to be clarified and verified against info program, since +# I'm not sure what kind of section they're talking about +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "preduga鋘i odlomak" + +#: info/infokey.c:673 +#, c-format +msgid "unknown action `%s'" +msgstr "nepoznata akcija `%s'" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "preduga鋘o ime akcije" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "suvi雉i znaci slijede akciju `%s'" + +#: info/infokey.c:704 +msgid "missing variable name" +msgstr "nedostaje ime varijable" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "inedostaje `=' odmah iza imena varijable" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "ime varijable preduga鋘o" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "preduga鋘a vrijednost" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "\"%s\", redak %u: " + +#: info/infokey.c:891 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" +"Kori靖enje: %s [OPCIJA]... [ULAZNA-DATOTEKA]\n" +"\n" +"Opcije:\n" +" --output DATOTEKA izlaz u DATOTEKA umjesto u $HOME/.info\n" +" --help ispi隘 ovu pomo i zavr隘.\n" +" --version ispi隘 informaciju o verziji i zavr隘.\n" +"\n" +"Prevedi infokey izvornu datoteku u infokey datoteku. ita ULAZNA-DATOTEKA\n" +"(podrazumno $HOME/.infokey) i ispisuje prevedenu key datoteku u $HOME/." +"info.\n" +"\n" +"奄ljite izvje頊aje u bugovima na email bug-texinfo@gnu.org,\n" +"op潻 pitanja i diskusije na help-texinfo@gnu.org.\n" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "Ignoriram neispravnu infokey datoteku `%s' - premalena" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "Ignoriram neispravnu infokey datoteku `%s' - prevelika" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "Pogre隕a pri 鋱tanju infokey datoteke `%s' - prekratki read" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" +"Neispravna infokey datoteka `%s' (pogre雉i magic number) -- pokreni infokey " +"da se obnovi" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "" +"Va鈴 infokey datoteka `%s' je istekla -- pokrenite infokey da se obnovi" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" +"Neispravna infokey datoteka `%s' (bad section length) -- pokrenite infokey " +"da se obnovi" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "" +"Neispravna infokey datoteka `%s' (bad section code) -- pokrenite infokey da " +"se obnovi" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "" +"Pogre雉i podatci u infokey datoteci -- neka povezivanja tipki zanemarena" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "Pogre雉i podatci u infokey datoteci -- neke var postavke ignorirane" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "Pro鋱taj ime Info naredbe i opi隘 je" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "Opi隘 naredbu: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "Pro鋱taj ime naredbe u echo podru鋟u i izvr隘 je" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr "Ne mogu izvr隘ti komandu za echo podru鋟e ovdje." + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "Postavi visinu prikazanog prozora" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "Postavi veli鋱nu screena na (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" +" Izvorne datoteke prepzane da se uklju鋱 ova datoteka:\n" +"\n" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr "Neuspjelo rukovanje datotekom %s.\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* Meni:\n" +" (Datoteka)vor Redaka Vel. Sadr養 datoteku\n" +" -------------- ------ ---- ---------------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +"Ovdje je popis 鋦orova koje ste nedavno posjetili.\n" +"Odaberite jedan s menija, ili koristite `\\[history-node]' u drugom prozoru\n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "Na鋱ni prozor sadr靠vaju熵 meni svih dosad posje熰nih 鋦orova" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "Izaberi 鋦or koji je prethodno bio posje熰n u vidljivi prozor" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "Izaberi posje熰ni 鋦or: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "Referenca je nestala! (%s)." + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +"Dobrodo雍i u Info verzija %s. Otipkajte \\[get-help-window] za pomo, " +"\\[menu-item] za stavku menija." + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "Pomakni se dolje to slijede熰g retka" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "Pomakni se gore do prethodnog retka" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "Pomakni se do kraja retka" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "Pomekni se na po鋀tak retka" + +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "Next" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "Slijedim Next (slijede熵) 鋦or..." + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "Izabirem prvu stavku menija..." + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "Selektiram Next (slijede熵) 鋦or..." + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr "Pomi鋀m se gore (Up) %d put(a), onda Next." + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr "Nema vi鈹 鋦orova u ovom dokumentu." + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr "Nema `Prev' (prethodni) za ovaj 鋦or." + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr "Idemo na Prev (prethodni) u ovom prozoru." + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr "Nema `Prev' ni `Up' za ovaj 鋦or unutar dokumenta." + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr "Idem gore (Up) u ovom prozoru." + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr "Idem na zadnju stavku `Prev'-ovog menija." + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr "Idi naprijed ili nani頡 kruz strukturu 鋦orova" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr "Idi unatrag ili gore kroz strukturu 鋦orova" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr "'Skrolaj' prema gore u ovom prozoru" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "" +"'Skrolaj' prema dolje u ovom prozoru i postavi inicijalnu veli鋱nu prozora" + +#: info/session.c:1245 +msgid "Scroll forward in this window staying within node" +msgstr "'Skrolaj' prema dolje u ovom prozoru ostaju熵 unutar 鋦ora" + +#: info/session.c:1253 +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "" +"'Skrolaj' prema dolje u ovom prozoru ostaju熵 unutar 鋦ora i postavi " +"inicijalnu veli鋱nu prozora" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "'Skrolaj' prema gore u ovom prozoru" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "" +"'Skrolaj' prema gore u ovom prozoru i postavi inicijalnu veli鋱nu prozora" + +#: info/session.c:1278 +msgid "Scroll backward in this window staying within node" +msgstr "'Skrolaj' prema gore u ovom prozoru ostaju熵 unutar 鋦ora" + +#: info/session.c:1286 +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "" +"'Skrolaj' prema gore u ovom prozoru ostaju熵 unutar 鋦ora i postavi " +"inicijalnu veli鋱nu prozora" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "Pomakni se na po鋀tak trenutnog 鋦ora" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "Pomakni se na kraj trenutnog 鋦ora" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "'Skrolaj' dolje za redaka" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "'Skrolaj' gore za redaka" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "'Skrolaj' dolje za polovinu veli鋱ne ekrana" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "'Skrolaj' gore za polovinu veli鋱ne ekrana" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "Selektiraj slijede熵 prozor" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "Selektiraj prethodni prozor" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "Raspolovi trenutni prozor" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "Obri隘 trenutni prozor" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "Ne mogu obrisati permanentni prozor" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "Obri隘 sve ostale prozore" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "'Skrolaj' drugi prozor" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "'Skrolaj' drugi prozor unazad" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "Pove潻j (ili smanji) ovaj prozor" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "Podijeli vidljivu povr隘nu ekrana izme繠 vidljivih prozora" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "Promijeni stanje prelamanja linija u trenutnom prozoru" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "Prika養 Next (slijede熵) 鋦or" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "Prika養 Prev (prethodni) 鋦or" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "Prika養 Up (gornji) 鋦or" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "Prika養 posljednji 鋦or u ovoj datoteci" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "Ovaj prozor nema dodatnih 鋦orova" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "Prika養 prvi 鋦or u ovoj datoteci" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "Prika養 zadnji 鋦or u ovoj datoteci" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "Selektiraj ovu stavku menija" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr "Nema %d stavaka u ovom meniju." + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "Stavka menija (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "Stavka menija: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "Slijedi xref (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "Slijedi xref: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "itaj stavku menija i selektiraj njen 鋦or" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "itaj fusnotu ili referencu i selektiraj njezin 鋦or" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "Idi na po鋀tak menija ovog 鋦ora" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "Posjeti 靖o je vi鈹 mogu熰 stavki odjednom" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "itaj ime 鋦ora i selektiraj ga" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "Idi na 鋦or: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr "Nema menija u 鋦oru `%s'." + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr "Nema stavke menija `%s' u 鋦oru `%s'." + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr "Ne mogu na熵 鋦or referenciran od `%s' u `%s'." + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "itaj listu menija po鋀v隘 od dir i slijedi ih" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "Slijedi menije: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "Prona簨 鋦or koji opisuje pozivanje programa" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "Na簨 pozivanje (Invocation) 鋦or od [%s]: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "Pro鋱taj referentnu man stranicu i selektiraj je" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "Dobavi man stranicu: " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "Selektiraj 鋦or `Top' u ovoj datoteci" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "Selektiraj 鋦or `(dir)'" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "Poni靖i 鋦or (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "Ne mogu poni靖iti 鋦or `%s'" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "Ne mogu poni靖iti zadnji 鋦or" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "Selektiraj najzadnji odabrani 鋦or" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "Poni靖i ovaj 鋦or" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "Pro鋱taj ime datoteke i selektiraj ga" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "Na簨 datoteku: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr "Ne mogu na熵 `%s'." + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr "Ne mogu kreirati izlaznu datoteku `%s'." + +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr "Gotovo." + +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "Ispisujem 鋦or %s..." + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "" +"Propusti sadr靠j ovog 鋦ora kroz cjevovod (pipe) prema INFO_PRINT_COMMAND" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr "Ne mogu otvoriti cjevovod (pipe) prema `%s'." + +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "Ispisujem 鋦or %s..." + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "Tra養m poddatoteku %s ..." + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "itaj niz znakova i kreni u potragu za njim (case-sensitive)" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "itaj niz znakova i potra養 ga" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "itaj niz znakova i potra養 ga unatrag" + +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "%s%sza niz znakova [%s]: " + +#: info/session.c:3668 +msgid "Search backward" +msgstr "Tra養 unazad" + +#: info/session.c:3668 +msgid "Search" +msgstr "Tra養" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr " (case-sensitive) " + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr "Pretra養vanje neuspjelo." + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "Ponovi zadnje pretra養vanje u istom pravcu" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "Nema prethodnog trazenog niza" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "Ponovi zadnje pretra養vanje u suprotnom pravcu" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "Tra養 niz interaktivno kako ga tipkate" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "I-pretraga unazad" + +#: info/session.c:3857 +msgid "I-search: " +msgstr "I-pretraga: " + +#: info/session.c:3882 +msgid "Failing " +msgstr "Neuspjela " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "Idi na prethodnu referencu" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "Idi na slijede獘 referencu" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "Selektiraj referencu ili stavku menija koja se pojavljuje u retku" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "Poni靖i trenutnu operaciju" + +#: info/session.c:4388 +msgid "Quit" +msgstr "Zavr隘 (Quit)" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "Pomakni kurzor na specificirani redak prozora" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "Osvje養 prikaz" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "Zavr隘 kori靖enje Info-a" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr "Nepoznata naredba (%s)." + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" je neispravno" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" je neispravno" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "Dodaj ovu znamenku trenutnom numeri鋘om argumentu" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "Zapo鋝i (ili pomno養 s 4) trenutni numeri鋘i argument" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "Interno kori靖en od \\[universal-argument]" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "readline: Premalo virtualne memorije!\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "Kada je \"On\", fusnote se pojavljuju i nestaju automatski" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "" +"Kada je \"On\", kreiranje ili zatvaranje prozora mijenja veli鋱nu drugih " +"prozora" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "Kada je \"On\", bljesni ekranom umjesto zvonjenja zvona" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "Kada je \"On\", gre隕e pruzro鋎ju zvon zvona" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "" +"Kada je \"On\", Info radi 'garbage collection' s datotekama koje je trebalo " +"odkompresirati" + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "Kada je \"On\", dio znakovnog niza koji se podudara je osvijetljen" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "Kontrolira 靖o se doga簜 kad se skrolanje tra養 na kraju 鋦ora" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "Broj redaka koliko treba skrolati kad se kurzor pomakne izvan prozora" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "Kada je \"On\", Info prihva潻 i prikazuje ISO Latin znakove" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "Obja雉java kori靖enje varijable" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "Opi隘 varijablu: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "Postavi vrijednost info varijable" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "Postavi varijablu: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "Postavi %s na vrijednost (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "Postavi %s na vrijednost (%s):" + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "--*** Tagovima istekao rok trajanja ***" + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), redaka ----," + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, %d redaka --%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, %d redaka --%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " Poddatoteka: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: opcija `%s' nije jednozna鋝a\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: opcija `--%s' ne dopu靖a argument\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: opcija `%c%s' ne dopu靖a argument\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: opcija `%s' tra養 neophodan argument\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: nepoznata opcija `--%s'\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: nepoznata opcija `%c%s'\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: nedozvoljena opcija -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: pogre雉a opcija -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: opcija zahtijeva argument -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: opcija `-W %s' nije jednozna鋝a\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: opcija `-W %s' ne dopu靖a argument\n" + +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "" + +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "" + +#: makeinfo/footnote.c:210 +msgid "Footnotes inside footnotes are not allowed" +msgstr "" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "" + +#: makeinfo/lang.c:384 +#, c-format +msgid "unrecogized encoding name `%s'" +msgstr "" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "" + +#: makeinfo/lang.c:502 +#, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "" + +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "" + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr "" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "" + +#: makeinfo/makeinfo.c:373 +#, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" + +#: makeinfo/makeinfo.c:394 +#, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" + +#: makeinfo/makeinfo.c:401 +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" + +#: makeinfo/makeinfo.c:442 +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" + +#: makeinfo/makeinfo.c:454 +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" + +#: makeinfo/makeinfo.c:461 +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr "" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr "" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "" + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "" + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "" + +#: makeinfo/makeinfo.c:3427 +#, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "" + +#: makeinfo/makeinfo.c:3490 +#, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "" + +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "" + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "" + +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "" + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "" + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "" + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "" + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "" + +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr "" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr "" + +#: util/install-info.c:389 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr "" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr "" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr "" + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr "" + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr "" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr "" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr "" + +#~ msgid "" +#~ "Basic Commands in Info Windows\n" +#~ "******************************\n" +#~ "\n" +#~ " \\%-10[quit-help] Quit this help.\n" +#~ " \\%-10[quit] Quit Info altogether.\n" +#~ " \\%-10[get-info-help-node] Invoke the Info tutorial.\n" +#~ "\n" +#~ "Selecting other nodes:\n" +#~ "----------------------\n" +#~ " \\%-10[next-node] Move to the \"next\" node of this node.\n" +#~ " \\%-10[prev-node] Move to the \"previous\" node of this node.\n" +#~ " \\%-10[up-node] Move \"up\" from this node.\n" +#~ " \\%-10[menu-item] Pick menu item specified by name.\n" +#~ " Picking a menu item causes another node to be selected.\n" +#~ " \\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +#~ " \\%-10[history-node] Move to the last node seen in this window.\n" +#~ " \\%-10[move-to-next-xref] Skip to next hypertext link within this " +#~ "node.\n" +#~ " \\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +#~ "node.\n" +#~ " \\%-10[select-reference-this-line] Follow the hypertext link under " +#~ "cursor.\n" +#~ " \\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +#~ "node] (DIR)'.\n" +#~ " \\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] " +#~ "Top'.\n" +#~ "\n" +#~ "Moving within a node:\n" +#~ "---------------------\n" +#~ " \\%-10[scroll-forward] Scroll forward a page.\n" +#~ " \\%-10[scroll-backward] Scroll backward a page.\n" +#~ " \\%-10[beginning-of-node] Go to the beginning of this node.\n" +#~ " \\%-10[end-of-node] Go to the end of this node.\n" +#~ " \\%-10[1scroll-forward] Scroll forward 1 line.\n" +#~ " \\%-10[1scroll-backward] Scroll backward 1 line.\n" +#~ "\n" +#~ "Other commands:\n" +#~ "---------------\n" +#~ " \\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +#~ " \\%-10[last-menu-item] Pick last item in node's menu.\n" +#~ " \\%-10[index-search] Search for a specified string in the index " +#~ "entries of this Info\n" +#~ " file, and select the node referenced by the first entry " +#~ "found.\n" +#~ " \\%-10[goto-node] Move to node specified by name.\n" +#~ " You may include a filename as well, as in (FILENAME)" +#~ "NODENAME.\n" +#~ " \\%-10[search] Search forward through this Info file for a specified " +#~ "string,\n" +#~ " and select the node in which the next occurrence is found.\n" +#~ " \\%-10[search-backward] Search backward in this Info file for a " +#~ "specified string,\n" +#~ " and select the node in which the next occurrence is found.\n" +#~ msgstr "" +#~ "Osnovne naredbe u Info Prozorima\n" +#~ "********************************\n" +#~ "\n" +#~ " \\%-10[quit-help] Zavr隘 ovu pomo.\n" +#~ " \\%-10[quit] Izi簨 iz Info programa.\n" +#~ " \\%-10[get-info-help-node] Pozovi Info priru鋝ik.\n" +#~ "\n" +#~ "Selektiranje drugih 鋦orova:\n" +#~ "----------------------------\n" +#~ " \\%-10[next-node] Idi na slijede熵 (\"next\") 鋦or od ovog 鋦ora.\n" +#~ " \\%-10[prev-node] Idi na prethodni (\"previous\") 鋦or od ovog 鋦ora.\n" +#~ " \\%-10[up-node] Idi gore (\"up\") od ovog 鋦ora.\n" +#~ " \\%-10[menu-item] Izaberi stavku menija zadanu imenom.\n" +#~ " Odabiranjeim stavke menija se selektira drugi 鋦or.\n" +#~ " \\%-10[xref-item] Slijedi unakrsnu referencu. ita ime reference.\n" +#~ " \\%-10[history-node] Idi na zadnji vidljiv 鋦or u ovom prozoru.\n" +#~ " \\%-10[move-to-next-xref] Idi na slijede熵 hipertekst link u ovom " +#~ "鋦oru.\n" +#~ " \\%-10[move-to-prev-xref] Idi na prethodni hipertekst link u ovom " +#~ "鋦oru.\n" +#~ " \\%-10[select-reference-this-line] Slijedi hipertekst link pod " +#~ "kursorom.\n" +#~ " \\%-10[dir-node] Idi na 鋦or `directory'. Ekvivalentno `\\[goto-node] " +#~ "(DIR)'.\n" +#~ " \\%-10[top-node] Idi na vr雉i (Top) 鋦or. Ekvivaletno `\\[goto-node] " +#~ "Top'.\n" +#~ "\n" +#~ "Pomicanje unutar 鋦ora:\n" +#~ "-----------------------\n" +#~ " \\%-10[scroll-forward] Skrolaj stranicu naprijed.\n" +#~ " \\%-10[scroll-backward] Skrolaj stranicu unazad.\n" +#~ " \\%-10[beginning-of-node] Idi na po鋀tak ovog 鋦ora.\n" +#~ " \\%-10[end-of-node] Idi na kraj ovog 鋦ora.\n" +#~ " \\%-10[1scroll-forward] Skrolaj naprijed 1 redak.\n" +#~ " \\%-10[1scroll-backward] Skrolaj unazad 1 redak.\n" +#~ "\n" +#~ "Druge naredbe:\n" +#~ "--------------\n" +#~ " \\%-10[menu-digit] Odaberi prvu ... devetu stavku u 鋦orovom meniju.\n" +#~ " \\%-10[last-menu-item] Odaberi zadnju stavku u 鋦orovom meniju.\n" +#~ " \\%-10[index-search] Tra養 zadani niz u indeks stavkama ove Info\n" +#~ " datoteke, i selektiraj 鋦or referenciran prvom na簟nom " +#~ "stavkom.\n" +#~ " \\%-10[goto-node] Idi na 鋦or zadan imenom.\n" +#~ " Mo頡te tako簟r uklju鋱ti ime datoteke, kao u (DATOTEKA)" +#~ "IME_VORA.\n" +#~ " \\%-10[search] Tra養 zadani niz prema naprijed kroz ovu Info " +#~ "datoteku,\n" +#~ " i selektiraj 鋦or u kojem je slijede潻 pojava niza na簟na.\n" +#~ " \\%-10[search-backward] Tra養 zadani niz prema nazad kroz ovu Info " +#~ "datoteku,\n" +#~ " i selektiraj 鋦or u kojem je slijede潻 pojava niza na簟na.\n" + +#~ msgid "******************************\n" +#~ msgstr "********************************\n" + +#~ msgid "---------------------\n" +#~ msgstr "-----------------------\n" + +#~ msgid "----------------------\n" +#~ msgstr "----------------------------\n" + +#~ msgid "---------------\n" +#~ msgstr "--------------\n" diff --git a/gnu/usr.bin/texinfo/po/insert-header.sin b/gnu/usr.bin/texinfo/po/insert-header.sin new file mode 100644 index 00000000000..b26de01f6c8 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/gnu/usr.bin/texinfo/po/ja.gmo b/gnu/usr.bin/texinfo/po/ja.gmo Binary files differnew file mode 100644 index 00000000000..110b524f554 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/ja.gmo diff --git a/gnu/usr.bin/texinfo/po/ja.po b/gnu/usr.bin/texinfo/po/ja.po new file mode 100644 index 00000000000..38321b07fec --- /dev/null +++ b/gnu/usr.bin/texinfo/po/ja.po @@ -0,0 +1,3171 @@ +# Japanese message for texinfo 4.0f +# Copyright (C) 2002 Free Software Foundation, Inc. +# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 1999-2002 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU texinfo 4.0f\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-01-23 20:46+0900\n" +"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "域妐儂坌褡戶月" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "域妐儂坌枑允" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "墊え卞啖が" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "墊坱卞啖が" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "簽賄域勾坌褡戶月" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "簽賄域勾坌枑允" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "市□末伙匏譆及妐儂毛綽輪" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "市□末伙及詨欠及妐儂毛綽輪" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "平乓件本伙﹜醜綜及潸曰鞅戶" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "仇及墊毛熬仃ェ木月(坭反怀敦今六月)" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "慼及妐儂毛公及引引醣ェ允月" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "仇及妐儂毛醣ェ允月" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "正皮妐儂毛醣ェ允月" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "妐儂及跟晶" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "平伙伉件弘及ま芢毛鬚曰勾仃月" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "平伙伉件弘互塢匹允" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "動蟆及平伙伉件弘ま芢毛醣ェ允月" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "墊坱引匹毛濠曰潸月" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "墊え引匹毛濠曰潸月" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "簽賄及市□末伙方曰手詨毛濠曰潸月" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "簽賄及市□末伙方曰蟆毛濠曰潸月" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "怀敦跳怀互丐曰引六氏" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "怀敦匹五引六氏" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "怀敦伉旦玄" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "怀敦毛嘟曰慇心引仄凶" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr "1 勾及怀敦:\n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr "%d 蜊及怀敦\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "怀敦毛醣ェ" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "怀敦伉旦玄毛綜嶽醱..." + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "怀敦它奴件玉它毛旦弁伕□伙" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "萍鏜毛刓憎匹五引六氏" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "職及它奴件玉它ま卞仇及用□玉午楮洘仄凶萍鏜毛刓憎" + +#: info/footnotes.h:26 +msgid "---------- Footnotes ----------" +msgstr "------------ 萍鏜 ------------" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "仇及白央奶伙及葦請仄井日妐儂昫毛腹綢允月" + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "葦請仄嫩杴毛葦勾仃化中引允" + +#: info/indices.c:212 +msgid "No indices found." +msgstr "嫩杴互葦勾井曰引六氏" + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "葦請仄嫩杴: " + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "躂蟆及 `\\[index-search]' 戊穴件玉午域譙仄凶葦請仄失奶氾丞毛矇月" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr "蟆及葦請仄腹綢妐儂昫互丐曰引六氏" + +#: info/indices.c:349 +msgid "No index entries." +msgstr "葦請仄嫩杴互丐曰引六氏" + +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr "\"%2$s\" 毛殖戈%1$s葦請仄嫩杴互丐曰引六氏﹝" + +#: info/indices.c:383 +msgid "more " +msgstr "仇木動曉及" + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "*仇木毛葦日木引六氏*" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "" +"%1$s 井日 \"%2$s\" 互葦勾井曰引仄凶﹝(`\\[next-index-match]' 匹慼毛繭仄引允)" + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "\"%s\" 及葦請仄毛譬屯化中引允..." + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr "奶件犯永弁旦卞 \"%s\" 毛儅勻化中月 info 白央奶伙互迕啦今木化中引六氏﹝" + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "蟈化及 info 白央奶伙妐儂昫井日葦請仄毛雖犖仄﹜丟瓦亙□毛綜嶽" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "賄嗥毛殖戈嫩杴毛腹綢: " + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* 丟瓦亙□: \"%s\" 毛殖戈葦請仄嫩杴\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr "擇仄仁反 --help 左皿扑亦件毛魂仄化心化仁分今中﹝\n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +"\n" +"沭鏜: 騞鴾佌攪蚺巠蜀洃峇縣寣9催舅羃臚楔々中牏飽αn" +" -- 輔嗶沭\n" +"域濠及忡據反丐曰引六氏﹝丐卅凶反﹜GNU General Public Licence 及妐蛻及票匹﹜\n" +"仇及末白玄它尼失毛瘋т幵匹五引允﹝仇木日卞勾中化及方曰擇仄中濩抸反﹜COPYING\n" +"午中丹白央奶伙毛葦化仁分今中﹝\n" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "`%s' 卞覆允月嫩杴互葦勾井曰引六氏\n" + +#: info/info.c:555 +#, fuzzy +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr " --speech-friendly 祥擘寧嶽湛卞覆允月褪狟嶺毛嫖戶月\n" + +#: info/info.c:562 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +"銀中杅: %s [左皿扑亦件]... [丟瓦亙□嫩杴...]\n" +"\n" +"Info 白巧□穴永玄及玉平亙丟件玄毛づ戈﹝\n" +"\n" +"左皿扑亦件:\n" +" --apropos=SUBJECT 蟈穴瓦亙失伙及嫩杴井日潛鎖毛葦勾仃月\n" +" --directory=DIR DIR 毛 INFOPATH 卞馨笛允月\n" +" --dribble=FILENAME FILENAME 卞交□扒及平□旦玄伕□弁毛創尹化云仁\n" +" --file=FILENAME 邠杽燮白央奶伙毛 FIENAME 午隙爛允月\n" +" --help 仇及目伙皿毛刓憎仄化蔽弇允月\n" +" --index-search=STRING 嫩杴巨件玄伉 STRING 匹隙憎今木凶用□玉卞墊仁\n" +" --node=NODENAME 瘉賡卞邠木月 Info 白央奶伙及用□玉隙爛允月\n" +" --output=FILENAME 薊鎗今木凶用□玉毛 FILENAME 卞請恘允月\n" +" --restore=FILENAME 瘉賡及平□旦玄伕□弁毛 FILENAME 井日づ慇戈\n" +" --show-options, --usage 戊穴件玉仿奶件左皿扑亦件用□玉卞墊仁\n" +" --subnodes 請恘丟瓦亙□失奶氾丞毛瘋窖讀卞請恘允月\n" +"%s --subnodes 丟瓦亙□嫩杴毛瘋窖讀卞請恘允月\n" +" --vi-keys vi 支 less 及方丹卅平□田奶件玉毛銀丹\n" +" --version 田□斥亦件樹扷毛刓憎仄化蔽弇允月\n" +"\n" +"瘉賡卞左皿扑亦件動陸及婁醒互丐勻凶樺寧﹜公木反粟鰾丟瓦亙□巨件玄伉午卅曰引" +"允\n" +" -- INFOPATH 卞梯勻凶蟈化及 `dir' 白央奶伙井日仁引卅仁繭仄引允\n" +"仇木互隙爛今木卅中樺寧﹜允屯化及 `dir' 白央奶伙毛煉亢寧歹六化刓憎仄引允﹝\n" +"酸曰及婁醒反瘉賡卞邠杽今木月用□玉卞楮洘允月丟瓦亙□失奶氾丞及抩蟆午仄化\n" +"健歹木引允﹝\n" +"\n" +"拺:\n" +" info 瘉曉匏及 dir 丟瓦亙□毛刓憎\n" +" info emacs 瘉曉匏 dir 及 emacs 用□玉井日釩銨\n" +" info emacs buffers emacs 穴瓦亙失伙ま及 buffers 用□玉井日釩銨\n" +" info --show-options emacs emacs 及戊穴件玉仿奶件左皿扑亦件用□玉井日釩銨\n" +" info -f ./foo.info ./foo.info 毛刓憎仄﹜dir 反繭綢仄卅中\n" +"\n" +"Email 卞方月田弘伊禾□玄反 bug-texinfo@gnu.org﹜\n" +"域旼炊宎賻鉹鉾鰍壑 help-texinfo@gnu.org 引匹﹝\n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +#, fuzzy +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" +"\n" +"Email 卞方月田弘伊禾□玄反 bug-texinfo@gnu.org﹜\n" +"域旼炊宎賻鉹鉾鰍壑 help-texinfo@gnu.org 引匹﹝\n" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr "`%s' 用□玉互葦勾井曰引六氏﹝" + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr "`(%s)%s' 用□玉互葦勾井曰引六氏" + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "它奴件玉它互葦勾井曰引六氏" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "仇及它奴件玉它用□玉ま卞禾奶件玄互蜇木引六氏〞" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr "瘉詨及它奴件玉它反綽輪匹五引六氏" + +#: info/info.c:637 +msgid "No menu in this node." +msgstr "仇及用□玉卞丟瓦亙□反丐曰引六氏﹝" + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr "仇及用□玉卞萍鏜反丐曰引六氏﹝" + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr "仇及用□玉卞鍬詢輔寰反丐曰引六氏﹝" + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr "仇及用□玉及 `%s' 禾奶件正互丐曰引六氏﹝" + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr "怳襞及 Info 戊穴件玉 `%c' -- `?' 匹目伙皿毛葦化仁分今中﹝" + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr "羹坱正奶皿 `%s' 反 Info 毛が井六月幻升厙軾匹反丐曰引六氏" + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr "仇仇反手丹﹜仇及用□玉及瘉蔽矢□斥匹允﹝" + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr "仇仇反手丹﹜仇及用□玉及瘉賡及矢□斥匹允﹝" + +#: info/info.c:645 +msgid "Only one window." +msgstr "礿域及它奴件玉它﹝" + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr "瑛絆它奴件玉它互凝今允亢月迋匹允" + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr "" +"目伙皿它奴件玉它迕及樺赭互簫曰引六氏﹜它奴件玉它毛域勾綽輪仄化仁分今中﹝" + +#: info/infodoc.c:45 info/infodoc.c:94 +#, fuzzy +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "Info 它奴件玉它ま及湘呿戊穴件玉\n" + +#: info/infodoc.c:48 +#, fuzzy +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr " %-10s 仇及目伙皿毛蔽弇允月﹝\n" + +#: info/infodoc.c:49 +#, fuzzy +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr " %-10s Info 手域踝卞蔽弇允月﹝\n" + +#: info/infodoc.c:50 +#, fuzzy +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr " %-10s Info 民亙□玄伉失伙毛粟が允月﹝\n" + +#: info/infodoc.c:52 info/infodoc.c:101 +#, fuzzy +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "職及用□玉毛薊鎗允月:\n" + +#: info/infodoc.c:54 +#, fuzzy +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr " %-10s 仇及用□玉及 `慼' 及用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:55 +#, fuzzy +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr " %-10s 仇及用□玉及 `蟆' 及用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:56 +#, fuzzy +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr " %-10s 仇及用□玉井日 `曉' 尺啖が允月﹝\n" + +#: info/infodoc.c:57 +#, fuzzy +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr "" +" 丟瓦亙□失奶氾丞及薊鎗匹﹜職及用□玉互薊鎗今木月儀卞卅月﹝\n" + +#: info/infodoc.c:59 +#, fuzzy +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s 鍬詢輔寰毛矇月﹝輔寰抩毛づ心潸月﹝\n" + +#: info/infodoc.c:60 +#, fuzzy +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr " %-10s 仇及它奴件玉它匹瘉詨卞葦凶用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:61 +#, fuzzy +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr " %-10s 仇及用□玉ま及慼及甩奶由□伉件弁尺旦平永皿允月﹝\n" + +#: info/infodoc.c:62 +#, fuzzy +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr " %-10s 仇及用□玉ま及慼及甩奶由□伉件弁尺旦平永皿允月﹝\n" + +#: info/infodoc.c:63 +#, fuzzy +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr " %-10s 市□末伙匏譆及甩奶由□伉件弁毛矇月﹝\n" + +#: info/infodoc.c:64 +#, fuzzy +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr " %-10s `犯奴伊弁玄伉' 用□玉尺啖が﹝`g (DIR)' 午き元﹝\n" + +#: info/infodoc.c:65 +#, fuzzy +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr " %-10s Top 用□玉尺啖が﹝`g Top' 午き元﹝\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +#, fuzzy +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "用□玉ま匹及啖が:\n" + +#: info/infodoc.c:69 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr " %-10s 1 矢□斥坌蟆杅尺褡戶月﹝\n" + +#: info/infodoc.c:70 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr " %-10s 1 矢□斥坌詨杅尺枑允﹝\n" + +#: info/infodoc.c:71 +#, fuzzy +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr " %-10s 蜇箕及用□玉及燮え尺啖が允月﹝\n" + +#: info/infodoc.c:72 +#, fuzzy +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr " %-10s 蜇箕及用□玉及燮え尺啖が允月﹝\n" + +#: info/infodoc.c:73 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr " %-10s 1 墊坌蟆杅尺允允戶月﹝\n" + +#: info/infodoc.c:74 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr " %-10s 1 墊坌詨杅尺枑允﹝\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +#, fuzzy +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "公及職及戊穴件玉:\n" + +#: info/infodoc.c:78 +#, fuzzy +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr " %-10s 用□玉丟瓦亙□及瘉賡井日 9 筇嗛齯峊╞丰ぁ鄐臗祁礞馱諢αn" + +#: info/infodoc.c:79 +#, fuzzy +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr " %-10s 用□玉丟瓦亙□及瘉詨及失奶氾丞毛薊鎗允月﹝\n" + +#: info/infodoc.c:80 +#, fuzzy +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr " 瘉賡卞葦勾井勻凶嫩杴互輔寰仄化中月用□玉毛薊鎗允月﹝\n" + +#: info/infodoc.c:82 +#, fuzzy +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" (白央奶伙抩)用□玉抩 及迋卞﹜白央奶伙抩毛殖戶月仇午互匹五引" +"允﹝\n" + +#: info/infodoc.c:84 +#, fuzzy +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr " 葦勾井勻凶手及互殖引木化中月用□玉毛薊鎗允月﹝\n" + +#: info/infodoc.c:86 +#, fuzzy +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr " 葦勾井勻凶手及互殖引木化中月用□玉毛薊鎗允月﹝\n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s 仇及目伙皿毛蔽弇允月﹝\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s Info 手域踝卞蔽弇允月﹝\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s Info 民亙□玄伉失伙毛粟が允月﹝\n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s 仇及用□玉及 `慼' 及用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s 仇及用□玉及 `蟆' 及用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s 仇及用□玉井日 `曉' 尺啖が允月﹝\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s 抩蟆匹隙爛仄凶丟瓦亙□失奶氾丞毛薊鎗允月﹝\n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr "" +" 丟瓦亙□失奶氾丞及薊鎗匹﹜職及用□玉互薊鎗今木月儀卞卅月﹝\n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s 鍬詢輔寰毛矇月﹝輔寰抩毛づ心潸月﹝\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s 仇及它奴件玉它匹瘉詨卞葦凶用□玉尺啖が允月﹝\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s 仇及用□玉ま及慼及甩奶由□伉件弁尺旦平永皿允月﹝\n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s 市□末伙匏譆及甩奶由□伉件弁毛矇月﹝\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s `犯奴伊弁玄伉' 用□玉尺啖が﹝`g (DIR)' 午き元﹝\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s Top 用□玉尺啖が﹝`g Top' 午き元﹝\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s 1 矢□斥坌蟆杅尺褡戶月﹝\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s 1 矢□斥坌詨杅尺枑允﹝\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s 蜇箕及用□玉及燮え尺啖が允月﹝\n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s 蜇箕及用□玉及燮え尺啖が允月﹝\n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s 1 墊坌蟆杅尺允允戶月﹝\n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s 1 墊坌詨杅尺枑允﹝\n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s 用□玉丟瓦亙□及瘉賡井日 9 筇嗛齯峊╞丰ぁ鄐臗祁礞馱諢αn" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s 用□玉丟瓦亙□及瘉詨及失奶氾丞毛薊鎗允月﹝\n" + +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr "" +" %-10s 蜇箕及 Info 白央奶伙及奶件犯永弁旦嫩杴匹﹜妐儂昫毛隙爛仄化腹綢仄﹜\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr " 瘉賡卞葦勾井勻凶嫩杴互輔寰仄化中月用□玉毛薊鎗允月﹝\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s 抩蟆匹隙爛今木凶用□玉卞啖が允月﹝\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" (白央奶伙抩)用□玉抩 及迋卞﹜白央奶伙抩毛殖戶月仇午互匹五引" +"允﹝\n" + +#: info/infodoc.c:132 +#, fuzzy, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s 蜇箕及 Info 白央奶伙蟈蟲毛﹜隙爛今木凶妐儂昫匹蟆杅腹綢仄﹜\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr " 葦勾井勻凶手及互殖引木化中月用□玉毛薊鎗允月﹝\n" + +#: info/infodoc.c:134 +#, fuzzy, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr "\\\\ %-10s 蜇箕及 Info 白央奶伙毛﹜隙爛今木凶妐儂昫匹詨杅腹綢仄﹜\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr "蜇箕及腹綢由旦:\n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "Info 它奴件玉它匹厙迕第Х卅戊穴件玉:\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "巨戊□恄啗匹厙迕第Х卅戊穴件玉:\n" + +#: info/infodoc.c:340 +#, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +"動票及戊穴件玉反﹜%s 毛騷元化及心粟が匹五引允:\n" +"\n" + +#: info/infodoc.c:343 +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +"動票及戊穴件玉反﹜蟈仁粟が允月儀互匹五引六氏:\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "" +"--- 蔽弇允月卞反 `\\[history-node]' 井 `\\[kill-node]' 毛銀勻化仁分今中 ---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "銀中杅毛刓憎允月" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "`(info)Help' 用□玉卞啖が允月" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "平□醜綜毛刓憎允月" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "平□及濩抸: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr "ESC %s 反爛聒今木化中引六氏﹝" + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr "%s 反爛聒今木化中引六氏" + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s 反 %s 卞爛聒今木化中引允﹝" + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "芨尹日木凶戊穴件玉毛撢墊允月及卞﹜窒毛正奶皿允月井毛刓憎允月" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "升及戊穴件玉: " + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "`%s' 反平□喃曰癲化今木化中引六氏" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr "%s 反 %s 毛騷元化及心裟太請六引允﹝" + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr "%s 反 %s 毛騷元化裟太請六引允" + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr "`%s' 午中丹窗Х反丐曰引六氏" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "婁醒及醒儂互棉啜勻化中引允" + +#: info/infokey.c:194 +#, c-format +msgid "cannot open input file `%s'" +msgstr "ェ恘白央奶伙 `%s' 毛釩仃引六氏" + +#: info/infokey.c:207 +#, c-format +msgid "cannot create output file `%s'" +msgstr "請恘白央奶伙 `%s' 毛綜嶽匹五引六氏" + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "`%s' 尺及踏五慇心醱及巨仿□" + +#: info/infokey.c:222 +#, c-format +msgid "error closing output file `%s'" +msgstr "請恘白央奶伙 `%s' 毛岉元月端及巨仿□" + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "平□ェ恘昫互贏允亢引允" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "平□ェ恘昫毛瑞中化中引允" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "NUL 妐儂 (\\000) 反銀尹引六氏" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "NUL 妐儂 (^%c) 反銀尹引六氏" + +#: info/infokey.c:652 +msgid "missing action name" +msgstr "失弁扑亦件抩毛瑞中化中引允" + +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "本弁扑亦件互贏允亢引允" + +#: info/infokey.c:673 +#, c-format +msgid "unknown action `%s'" +msgstr "尕抸卅失弁扑亦件 `%s'" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "失弁扑亦件抩互贏允亢引允" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "失弁扑亦件 `%s' 卞芴坌卅妐儂互糧中化中引允" + +#: info/infokey.c:704 +msgid "missing variable name" +msgstr "庍醒抩毛瑞中化中引允" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "庍醒抩及躂詨及 `=' 毛瑞中化中引允" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "庍醒抩互贏允亢引允" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "襖互贏允亢引允" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "\"%s\", %u 墊杴: " + +#: info/infokey.c:891 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" +"銀中杅: %s [左皿扑亦件]... [ェ恘白央奶伙]\n" +"\n" +"左皿扑亦件:\n" +" --output FILENAME 請恘燮毛 $HOME/.info 及醫曰卞 FILENAME 午允" +"月\n" +" --help 仇及目伙皿毛刓憎仄化蔽弇允月\n" +" --version 田□斥亦件樹扷毛刓憎仄化蔽弇允月\n" +"\n" +"infokey 末□旦白央奶伙毛戊件由奶伙仄化 infokey 白央奶伙毛請恘允月﹝\n" +"ェ恘白央奶伙(犯白巧伙玄: $HOME/.infokey) 毛づ心潸勻化﹜\n" +"戊件由奶伙碧平□白央奶伙 $HOME/.info 卞踏五慇戈﹝\n" +"\n" +"田弘伊禾□玄反 bug-texinfo@gnu.org 尺﹜\n" +"域旼炊宎賻鉹鉾鰍壑 help-texinfo@gnu.org 尺﹝\n" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "尕贗濠卅 infokey 白央奶伙 `%s' 毛拑骰仄引允 - 凝今允亢引允" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "尕贗濠卅 infokey 白央奶伙 `%s' 毛拑骰仄引允 - 釐五允亢引允" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "infokey 白央奶伙 `%s' づ慇心醱及巨仿□ -- 蟈化づ慇戶引六氏匹仄凶" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" +"infokey 白央奶伙 `%s' 互尕贗濠 (穴斥永弁砦璊為膉) 匹允 -- infokey 毛撢墊仄" +"化凳蕙仄引仄斤丹" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "" +"丐卅凶及 infokey 白央奶伙 `%s' 反衙中匹允 -- infokey 毛撢墊仄化凳蕙仄引仄斤丹" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" +"infokey 白央奶伙 `%s' 互尕贗濠匹允 (本弁扑亦件贏互尕懇匹允) -- infokey 毛撢墊" +"仄化凳蕙仄引仄斤丹" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "" +"infokey 白央奶伙 `%s' 互尕贗濠匹允 (本弁扑亦件戊□玉互尕懇匹允) -- infokey 毛" +"撢墊仄化凳蕙仄引仄斤丹" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "" +"infokey 白央奶伙卞尕懇卅犯□正互丐曰引允 -- 湯勾井及平□田奶件玉互拑骰今木引" +"仄凶" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "" +"infokey 白央奶伙卞尕懇卅犯□正互丐曰引允 -- 湯勾井及庍醒澀爛互拑骰今木引仄凶" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "Info 戊穴件玉抩午公及濩抸毛づ戈" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "濩抸允月戊穴件玉: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "巨戊□恄啗匹戊穴件玉抩毛づ心﹜撢墊允月" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr "仇仇匹反 `echo-area' 戊穴件玉毛撢墊匹五引六氏﹝" + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "刓憎今木月它奴件玉它及嫖今毛澀爛" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "旦弁伉□件及嫖今毛本永玄 (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" +" 仇及白央奶伙毛綜月葭卞卅勻凶白央奶伙:\n" +"\n" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr "白央奶伙 %s 毛曉澎仁質咥匹五引六氏﹝\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* 丟瓦亙□:\n" +" (白央奶伙)用□玉 墊醒 扔奶朮 殖引木月白央奶伙\n" +" ---------------- ----- ---- ----------------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +"仇仇反﹜丐卅凶互瘉嗤邠木凶用□玉及丟瓦亙□匹允﹝\n" +"丟瓦亙□井日域勾薊少井﹜職及它奴件玉它匹 `\\[history-node]' 毛銀勻化仁分今" +"中﹝\n" +"\n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "瘉嗤邠木凶用□玉蟈化及丟瓦亙□毛殖氏匹中月它奴件玉它毛綜嶽" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "刓憎今木化中月它奴件玉它ま及﹜動蟆邠木凶儀及丐月用□玉毛薊鎗" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "邠木凶用□玉毛薊鎗: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "公及輔寰反壅尹引仄凶! (%s)﹝" + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +"Info 田□斥亦件 %s 卞方丹仇公﹝\\[get-help-window] 匹銀中杅﹜\\[menu-item] 匹" +"丟瓦亙□嫩杴毛裟太請六引允﹝" + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "慼及墊卞啖が" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "蟆及墊卞啖が" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "墊坱卞啖が" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "墊え卞啖が" + +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "慼" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "慼 及用□玉毛矇勻化中引允..." + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "瘉賡及丟瓦亙□嫩杴毛薊鎗..." + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "慼 及用□玉毛薊鎗..." + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr "%d 莢 曉 卞啖が仄﹜公仇匹 慼 尺﹝" + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr "仇及玉平亙丟件玄卞反﹜仇木動曉及用□玉反丐曰引六氏﹝" + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr "仇及用□玉及 `蟆' 反丐曰引六氏﹝" + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr "仇及它奴件玉它及 蟆 卞啖が仄引允﹝" + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr "仇及玉平亙丟件玄匹反﹜仇及用□玉及 `蟆' 支 `曉' 反丐曰引六氏﹝" + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr "仇及它奴件玉它及 曉 卞啖が仄引允﹝" + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr "`蟆' 及瘉詨及丟瓦亙□嫩杴卞啖が仄引允﹝" + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr "用□玉厭瞻毛騷元化褡戶凶曰票互勻凶曰允月" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr "用□玉厭瞻毛騷元化枑勻凶曰曉互勻凶曰允月" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr "仇及它奴件玉它毛旦弁伕□伙母它件" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "仇及它奴件玉它毛旦弁伕□伙仄﹜犯白巧伙玄它奴件玉它扔奶朮毛澀爛" + +#: info/session.c:1245 +msgid "Scroll forward in this window staying within node" +msgstr "仇及它奴件玉它毛用□玉炾玅滮Щ動旦弁伕□伙" + +#: info/session.c:1253 +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "" +"仇及它奴件玉它毛用□玉炾玅滮Щ動旦弁伕□伙仄﹜犯白巧伙玄它奴件玉它扔奶朮毛" +"澀爛" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "仇及它奴件玉它毛菅旦弁伕□伙" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "仇及它奴件玉它毛菅旦弁伕□伙仄﹜犯白巧伙玄它奴件玉它扔奶朮毛澀爛" + +#: info/session.c:1278 +msgid "Scroll backward in this window staying within node" +msgstr "仇及它奴件玉它毛用□玉炾玅滮К樀旦弁伕□伙" + +#: info/session.c:1286 +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "" +"仇及它奴件玉它毛用□玉炾玅滮К樀旦弁伕□伙仄﹜犯白巧伙玄它奴件玉它扔奶朮毛" +"澀爛" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "仇及用□玉及瘉賡卞啖が" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "仇及用□玉及瘉詨卞啖が" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "墊醒卞方月旦弁伕□伙" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "墊醒卞方月菅旦弁伕□伙" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "脰昍扔奶朮及彊洛馴砲瞴憧" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "脰昍扔奶朮及彊炸掍馴砲瞴憧" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "慼及它奴件玉它毛薊鎗" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "蟆及它奴件玉它毛薊鎗" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "蜇箕及它奴件玉它毛坌喃" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "蜇箕及它奴件玉它毛綽輪" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "捩菁它奴件玉它反綽輪匹五引六氏" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "職及它奴件玉它毛綽輪" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "職及它奴件玉它毛旦弁伕□伙" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "職及它奴件玉它毛菅旦弁伕□伙" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "仇及它奴件玉它毛釐五仁允月(引凶反凝今仁允月)" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "第骰它奴件玉它及厙迕第Х旦弁伉□件塢棉毛坌喃允月" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "蜇箕及它奴件玉它卞嗟禮質咥毛雒允" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "慼 用□玉毛薊鎗" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "蟆 用□玉毛薊鎗" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "曉 用□玉毛薊鎗" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "仇及白央奶伙及瘉詨及用□玉毛薊鎗" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "仇及它奴件玉它卞反用□玉互尥中化中引六氏" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "仇及白央奶伙及瘉賡及用□玉毛薊鎗" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "仇及用□玉及丟瓦亙□ま匹及瘉詨及嫩杴毛薊鎗" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "仇及丟瓦亙□嫩杴毛薊鎗" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr "仇及丟瓦亙□卞 %d 蜊及嫩杴互丐曰引六氏﹝" + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "丟瓦亙□嫩杴 (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "丟瓦亙□嫩杴: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "輔寰燮 (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "輔寰燮: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "丟瓦亙□毛づ氏匹﹜公及用□玉毛薊鎗允月" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "萍鏜支鍬詢輔寰毛づ氏匹﹜公及用□玉毛薊鎗允月" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "仇及用□玉丟瓦亙□及燮え卞啖が允月" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "第Х卅蜃曰聶仁及丟瓦亙□嫩杴尺域蘸卞邠木月" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "用□玉抩毛づ氏匹﹜薊鎗允月" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "用□玉尺啖が: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr "用□玉 `%s' 卞丟瓦亙□互丐曰引六氏﹝" + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr "丟瓦亙□失奶氾丞 `%s' 反用□玉 `%s' 醱卞反丐曰引六氏" + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr "`%s' 井日輔寰今木化中月用□玉毛葦勾仃日木引六氏(`%s' 醱)" + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "dir 井日丟瓦亙□釩銨伉旦玄毛づ心﹜公木毛矇月" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "丟瓦亙□卞糧仁: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "皿伕弘仿丞粟が卞楮允月濩抸及用□玉毛葦勾仃月" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "[%s] 及粟が用□玉毛葦勾仃月: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "man 矢□斥尺及輔寰毛づ氏匹﹜薊鎗允月" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "Man 矢□斥毛刓憎: " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "仇及白央奶伙及 `燮え' 用□玉毛薊鎗" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "`(dir)'用□玉毛薊鎗允月" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "用□玉及濠曰潸曰 (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "`%s' 用□玉毛濠曰潸木引六氏" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "瘉詨及用□玉反濠曰潸木引六氏" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "瘉詨卞薊鎗今木凶用□玉毛薊鎗允月" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "仇及用□玉毛濠曰潸月" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "白央奶伙抩毛づ氏匹薊鎗允月" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "白央奶伙毛葦勾仃月: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr "`%s' 毛葦勾仃日木引六氏﹝" + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr "請恘白央奶伙 `%s' 毛綜嶽匹五引六氏﹝" + +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr "敦弇﹝" + +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "用□玉 %s 及踏五慇心..." + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "INFO_PRINT_COMMAND 卞方勻化仇及用□玉及ま芢毛由奶皿允月" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr "`%s' 尺及由奶皿毛釩仃引六氏﹝" + +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "用□玉 `%s' 毛執綬..." + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "汏白央奶伙 %s 毛繭仄化中引允 ..." + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "妐儂昫毛づ心﹜釐妐儂凝妐儂及嗉帎毛勾仃化腹綢允月" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "妐儂昫毛づ氏匹腹綢允月" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "妐儂昫毛づ氏匹詨杅腹綢允月" + +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "妐儂昫尺及%s%s [%s]: " + +#: info/session.c:3668 +msgid "Search backward" +msgstr "詨杅腹綢" + +#: info/session.c:3668 +msgid "Search" +msgstr "腹綢" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr "(釐妐儂凝妐儂及嗉帎毛勾仃化) " + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr "腹綢卞撩л﹝" + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "き域杅輊匹瘉詨及腹綢毛楞曰忒允" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "蟆及腹綢妐儂昫互丐曰引六氏" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "菅杅輊匹瘉詨及腹綢毛楞曰忒允" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "ェ恘仄凶妐儂昫及覆狪讀卅腹綢" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "蹴慼詨杅腹綢: " + +#: info/session.c:3857 +msgid "I-search: " +msgstr "蹴慼腹綢: " + +#: info/session.c:3882 +msgid "Failing " +msgstr "撩л " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "蟆及鍬詢輔寰卞啖が" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "慼及鍬詢輔寰卞啖が" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "輔寰引凶反﹜仇及墊卞蜇木凶丟瓦亙□嫩杴毛薊鎗" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "蜇箕及醜綜毛醱鞅" + +#: info/session.c:4388 +msgid "Quit" +msgstr "鞅戶引仄凶" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "它奴件玉它及隙爛墊卞市□末伙毛啖が" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "脰昍及瘋匢脰" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "Info 及銀迕毛蔽弇" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "仇及平□及凝妐儂卞田奶件玉今木凶戊穴件玉毛撢墊" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr "尕抸卅戊穴件玉 (%s) 匹允﹝" + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" 反拑躲匹允" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" 反拑躲匹允" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "蜇箕及醒襖婁醒卞仇及醒襖毛笛尹月" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "蜇箕及醒襖婁醒毛釩銨(坭反 4 у允月)" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "ま朿讀卞 \\[universal-argument] 卞方勻化厙迕今木引允" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "readline: 移邂丟乒伉毛銀中絆凶仄引仄凶!\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "\"On\" 及凜﹜萍鏜毛憤が讀卞刓憎仄﹜壅蛔允月" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "\"On\" 及凜﹜它奴件玉它及綜嶽’綽輪匹﹜職及它奴件玉它及扔奶朮毛庍凳" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "\"On\" 及凜﹜矛伙毛卅日允醫歹曰卞﹜脰昍毛白仿永扑亙今六月" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "\"On\" 及午五﹜巨仿□互素舅楔縣擖晱諵藚臚擗" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "\"On\" 及午五﹜饇善怚掍‘丰諵禰活憧晱艇野鴠砲允月" + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "\"On\" 及凜﹜腹綢妐儂昫午域譙仄凶樺赭毛衡導蝦角竣誘" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "瘉詨及用□玉卞云中化﹜旦弁伕□伙毛墊卅勻凶午五卞が綜毛譬濡" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "市□末伙毛它奴件玉它及陸卞が井公丹午仄凶凜及旦弁伕□伙墊醒" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "\"On\" 及凜﹜Info 反 ISO Latin 妐儂及刓憎互第Х卞卅月" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "庍醒及銀中杅毛荸濩允月" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "庍醒及濩抸: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "Info 庍醒及襖毛澀爛" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "庍醒毛澀爛: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "%s 卞襖毛澀爛 (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "%s 卞襖毛澀爛 (%s): " + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "--*** 蛙摯及正弘 ***" + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), 墊醒 ----, " + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, %d 墊 --%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, %d 墊 --%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " 汏白央奶伙: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: 左皿扑亦件 `%s' 反菇呴匹允\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: 左皿扑亦件 `--%s' 反婁醒互尕邰匹允\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: 左皿扑亦件 `%c%s' 反婁醒互尕邰匹允\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: 左皿扑亦件 `%s' 卞反﹜婁醒互优邰匹允\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: `--%s' 反ロ摹匹五卅中左皿扑亦件匹允\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: `%c%s' 反ロ摹匹五卅中左皿扑亦件匹允\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: 尕懇卅左皿扑亦件 -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: 拑躲卅左皿扑亦件 -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: 左皿扑亦件反婁醒毛邰菲仄引允 -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: `-W %s' 左皿扑亦件互菇呴匹允\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: `-W %s' 左皿扑亦件卞反婁醒互尕邰匹允\n" + +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "域畸" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "わ畸" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "趕畸" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "銓畸" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "詭畸" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "牰畸" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "撥畸" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "炤" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "嗅畸" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "蝸畸" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "蝸域畸" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "蝸わ畸" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "@var 匹銀尹公丹卞卅中妐儂 %c" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "蟈化釐妐儂及 @sc 婁醒﹜蝨勻化躲絆互丐曰引六氏" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "`{' 互丐月反內匹允互﹜`%c' 匹仄凶" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "verb 皮伕永弁ま匹白央奶伙坱齯卅曰引仄凶" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "`}' 互丐月反內匹允互﹜`%c' 匹仄凶" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "%c%s 反и木凶抰挓匹允" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "@sp 卞反 `%s' 匹反卅仁﹜懇及醒襖毛芨尹卅仃木壬卅曰引六氏" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "%c%s 卞覆允月尕懇卅婁醒" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "公及引引" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "卅仄" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "@def 婁醒卞 `}' 毛侉木化中引允" + +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "窗Х" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "穴弁伕" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "た潰滇" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "庍醒" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "交□扒左皿扑亦件" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "奶件旦正件旦庍醒" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "丟末永玉" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "of" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "on" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "`%2$sx' 毛銀丹凶戶卞反 `%1$s' 醣ェ匹卅仃木壬卅曰引六氏" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "%s: getwd: %s, %s\n" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "`%c%s' 卞反 `%s' 分仃匹卅仁﹜`{...}' 溥摯及婁醒互优邰匹允" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "萍鏜 `%s' 及岉元皮伊□旦互丐曰引六氏" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "萍鏜卞褪用□玉及爛聒互丐曰引六氏" + +#: makeinfo/footnote.c:210 +#, fuzzy +msgid "Footnotes inside footnotes are not allowed" +msgstr "萍鏜卞褪用□玉及爛聒互丐曰引六氏" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "萍鏜" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "拑鎖" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "尕贗濠卅用□玉抩匹允: `%s'" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "尕抸卅奶件犯永弁旦 `%s'" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "葦請仄 `%s' 反湃卞繡箕仄引允" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "@synindex 卞﹜襞日卅中葦請仄 `%s' 支 `%s' 互丐曰引允" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "@printindex 卞﹜襞日卅中葦請仄 `%s' 互丐曰引允" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "葦請仄 `%s' 及巨件玄伉反丐日斗月用□玉及陸礎匹允" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "(丐日斗月用□玉及陸礎)" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "insertion_type_pname 醱卞莽木凶滇互丐曰引允" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "昫街迕旦正永弁互左□田白伕□仄引仄凶" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "仿矛伙妐儂互左□田□白伕□﹜%c 卞枑仄引允" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "%s 卞反婁醒互优邰匹允: %citem 毛幫溥允月凶戶" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "`@end' 卞反 `%s' 互优邰匹允互﹜`%s' 互葦勾井曰引仄凶" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "`%cend %s' 午及覆殺互葦勾井曰引六氏" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "%s 卞反敗醒妐儂互优邰匹允" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "verbatim 皮伕永弁醱匹白央奶伙及坱齯卅曰引仄凶" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "@menu 互瘉賡及 @node 動蟆卞蜇木引仄凶﹝`Top' 用□玉毛勾仁曰引允" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "聶坌 @top 用□玉反 @ifinfo 方曰反 @ifnottex 卞吨歹木月屯五匹反〝" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "@detailmenu 互瘉賡及用□玉動蟆卞蜇木引仄凶﹝`贍鰾' 用□玉毛綜曰引允" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "`%c%s' 午及覆殺互葦勾井曰引六氏" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "`%c%s' 及詨欠卞反窒井互优邰匹允" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "`%s' 卞覆允月尕懇卅婁醒 `%s'﹝`%s' 毛銀中引允" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "`@%2$s' 皮伕永弁ま礎匹及 @%1$s 反﹜丐引曰啦怗互丐曰引六氏" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "`%s' 皮伕永弁ま礎匹及 @itemx 反﹜丐引曰啦怗互丐曰引六氏" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "醣ェ皮伕永弁陸匹﹜%c%s 互葦勾井曰引仄凶" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "%s 反肣躲卅 ISO 639 蛻賄戊□玉匹反丐曰引六氏" + +#: makeinfo/lang.c:384 +#, c-format +msgid "unrecogized encoding name `%s'" +msgstr "巨件戊□犯奴件弘抩 `%s' 毛ロ摹匹五引六氏" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "酸ヶ卅互日﹜巨件戊□玉 `%s' 反熬仃尥仃日木引六氏" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "巨件戊□玉妐儂 `%s' 互拑躲匹允" + +#: makeinfo/lang.c:502 +#, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "%s 反尕贗濠卅 ISO 戊□玉匹允﹝%c 毛銀中引允" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "%c%s 反 `%c' 匹反卅仁﹜`i' 井 `j' 毛婁醒午仄化优邰午仄引允" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "%c%s 反婁醒午仄化 `i' 井 `j' 及中內木井域妐儂互优邰匹允" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "穴弁伕 `%s' 反動蟆卞爛聒今木化中引允" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "仇仇反﹜`%s' 及蟆及爛聒匹允" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "穴弁伕顫釩ま及 \\ 及詨欠卞 \\ 支由仿丟正抩匹反卅仁 `%s' 互糧中化中引允" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "穴弁伕 `%s' 裟太請仄(%d墊杴)及婁醒互聶允亢引允" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "%cend 穴弁伕互葦勾井曰引六氏" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "@quote-arg 反﹜婁醒毛域勾芨尹凶午五及心肣躲匹允" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "@%2$s 午域譙仄卅中 @end %1$s" + +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "%s:%d: 煞屢: " + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr "巨仿□互聶允亢引允! 襬戶引仄凶﹝\n" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "棉啜勻凶匏譆卞 %c" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "擇仄仁反 `%s --help' 毛撢墊仄化仁分今中﹝\n" + +#: makeinfo/makeinfo.c:373 +#, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "銀中杅: %s [左皿扑亦件]... TEXINFO白央奶伙...\n" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" +"Texinfo 末□旦妐踏毛迋★卅溥摯匹づ戶月方丹卞庍晶仄引允﹝犯白巧伙玄匹反\n" +"左件仿奶件匹 Emacs 支簽つ及 GNU Info 匹づ戈及卞贗仄凶 Info 白央奶伙匹允﹝\n" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" +"域旼炊吤炙蚰極蟡:\n" +" --error-limit=NUM 巨仿□互 NUM 蜊素舅楔縣橨皛艉馱 (default %" +"d)﹝\n" +" --force 巨仿□互素舅楔々熀倛洃藡暐舅馱諢αn" +" --help 仇及銀中杅毛刓憎仄化蔽弇允月﹝\n" +" --no-validate 用□玉棉鍬詢輔寰及腹據毛俅孺允月﹝\n" +" --no-warn 煞屢毛俅孺允月 (互﹜巨仿□反刓憎允月)﹝\n" +" --reference-limit=NUM 瘉釐輔寰醒 NUM 卞骯木壬煞屢允月 (default %" +"d)﹝\n" +" -v, --verbose 墊卅歹木月儀毛濩抸允月﹝\n" +" --version 田□斥亦件樹扷毛刓憎仄化蔽弇允月﹝\n" + +#: makeinfo/makeinfo.c:394 +#, fuzzy, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" +"請恘溥摯本弁扑亦件 (犯白巧伙玄匹反 Info 毛戲嶽仄引允):\n" +" --docbook Info 匹反卅仁 DocBook 毛請恘允月﹝\n" +" --html Info 匹反氏仁 HTML 毛請恘允月﹝\n" +" --no-headers 皿伊奶件氾弁旦玄毛請恘允月﹝Info 用□玉嗉濠曰閡\n" +" 支 Node: 墊毛俅孺﹝--output 左皿扑亦件毛\n" +" 勾仃卅中午伓賞請恘卞踏五慇戈\n" +" --xml Info 匹反卅仁 XML (TexinfoML) 溥摯匹請恘允月﹝\n" + +#: makeinfo/makeinfo.c:401 +#, fuzzy +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" +"域抻倛洏炙蚰極蟡:\n" +" -E, --macro-expand FILE 穴弁伕顫釩今木凶末□旦毛 FILE 卞請恘允月﹝\n" +" @setfilename 反拑骰今木月﹝\n" +" --no-split Info 支 HTML 及坌喃請恘毛俅孺允月﹝\n" +" 凶分域勾及請恘白央奶伙毛戲嶽允月﹝\n" +" --number-sections 懍支濡及砦璊羷倛洃馱諢αn" +" -o, --output=FILE FILE 尺請恘允月 (坌喃 HTML 及樺寧犯奴伊弁玄" +"伉)﹝\n" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" +"Info 支皿伊奶件氾弁旦玄迕左皿扑亦件:\n" +" --enable-encoding @documentencoding 卞湘五﹜Info 請恘卞\n" +" 失弁本件玄支た潰妐儂毛請恘允月﹝\n" +" --fill-column=NUM NUM 妐儂匹 Info 墊毛荼墊允月 (default %d)﹝\n" +" --footnote-style=STYLE STYLE 卞湘勿中化 Info 及萍鏜毛請恘允月﹝\n" +" `separate' 公及用□玉醱卞萍鏜毛譆仁\n" +" `end' 爛聒今木凶用□玉及坱齯佸痐 " +"(default)\n" +" --paragraph-indent=VAL Info 蟾侹毛 VAL 蜊及塢⑩匹儂票仆 (default %" +"d)﹝\n" +" VAL 互 `none' 分午儂票仆六內﹜VAL 互 `asis'\n" +" 分午﹜湃繡及儂票仆毛公及引引銀丹﹝\n" +" --split-size=NUM Info 白央奶伙扔奶朮毛 NUM 匹坌喃 (default %d)\n" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" +"ェ恘白央奶伙左皿扑亦件:\n" +" --commands-in-node-names 用□玉抩醱及 @ 戊穴件玉毛袱第允月﹝\n" +" -D VAR 庍醒 VAR 毛爛聒允月﹝@set 午き元﹝\n" +" -I DIR @include 繭綢由旦卞 DIR 毛馨笛允月﹝\n" +" -P DIR @include 繭綢由旦及燮え卞 DIR 毛醣ェ允月﹝\n" +" -U VAR 庍醒 VAR 毛怳爛聒卞允月﹝@clear 午き元﹝\n" + +#: makeinfo/makeinfo.c:442 +#, fuzzy +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" +"ェ恘及橢瘀讀質咥:\n" +" --ifhtml HTML 戲嶽匹卅仁化手﹜@ifhtml 支 @html 毛質咥允月﹝\n" +" --ifinfo HTML 戲嶽允月午五匹手﹜@ifinfo 氾弁旦玄毛質咥允月﹝\n" +" --iftex @iftex 支 @tex 氾弁旦玄毛質咥允月 -- 剪构卞 --no-split﹝\n" +" --no-ifhtml @ifhtml 支 @html 氾弁旦玄毛質咥仄卅中﹝\n" +" --no-ifinfo @ifinfo 氾弁旦玄毛質咥仄卅中﹝\n" +" --no-iftex @iftex 支 @tex 氾弁旦玄毛質咥仄卅中﹝\n" + +#: makeinfo/makeinfo.c:454 +#, fuzzy +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" +" た卞隙爛互卅仃木壬﹜@if... 橢瘀反請恘溥摯慼鎔午卅曰引允:\n" +" HTML 毛戲嶽允月卅日 --ifhtml 互肣躲匹職反拑躲匹允﹝\n" +" Info 支皿伊奶件氾弁旦玄毛戲嶽允月卅日 --ifinfo 互肣躲匹職反拑躲匹允﹝\n" + +#: makeinfo/makeinfo.c:461 +#, fuzzy +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" +"拺:\n" +" makeinfo foo.texi foo 及 @setfilename 卞 Info 毛踏慇戈\n" +" makeinfo --html foo.texi foo 及 @setfilename 卞 HTML 毛踏慇戈\n" +" makeinfo --no-headers -o - foo.texi 伓賞請恘卞皿伊奶件氾弁旦玄毛踏慇戈\n" +" makeinfo --number-sections foo.texi 濡卞砦璊藙掑惜 Info 毛請恘\n" +" makeinfo --no-split foo.texi 釐五今卞楮歹日內域勾及 Info 毛請恘\n" + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr "%s: %s 婁醒反 `%s' 匹反卅仁化﹜醒襖匹卅仃木壬卅曰引六氏﹝\n" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "穴弁伕傀艦請恘 `%s' 毛釩仃引六氏" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "呁醒及穴弁伕傀艦請恘毛隙爛匹五引六氏" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "" +"%s: --paragraph-indent 婁醒反 `%s' 匹反卅仁﹜醒襖/`none'/`asis' 匹卅仃木壬\n" +" 卅曰引六氏﹝\n" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "" +"%s: --footnote-style 婁醒反 `%s' 匹反卅仁﹜`separate' 坭反 `end' 匹卅仃木壬\n" +" 卅曰引六氏﹝\n" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr "%s: 白央奶伙婁醒毛侉木化中引允方\n" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "仇仇匹反 `%s' 互邰菲今木引允" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "犯奴伊弁玄伉 `%s' 毛綜嶽匹五引六氏: %s" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "`%2$s' 卞 `%1$s' 互葦勾井曰引六氏" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "%s: Info 及請恘毛墊卅丹及匹﹜穴弁伕傀艦毛伓賞請恘卞請恘仄引六氏﹝\n" + +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr "`%3$s' 井日 %1$s 白央奶伙 `%2$s' 毛綜嶽仄引允﹝\n" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "" +"仇木反 %1$s﹜%3$s 方曰 makeinfo 田□斥亦件 %2$s 卞方勻化綜嶽今木引仄凶﹝\n" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: 巨仿□卞方曰﹜穴弁伕請恘白央奶伙 `%s' 毛綽輪仄引允﹝\n" +" -- 酸仄凶中樺寧卞反 `--force' 左皿扑亦件毛銀勻化仁分今中﹝\n" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: 巨仿□卞方曰﹜請恘白央奶伙 `%s' 毛綽輪仄引允﹝\n" +" -- 酸仄凶中樺寧卞反 `--force' 左皿扑亦件毛銀勻化仁分今中﹝\n" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "襞日卅中戊穴件玉 `%s'" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "@%s 尺及婁醒午仄化戊穴件玉毛芨尹月卞反﹜皮伊□旦毛銀中引仄斤丹" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "%c%s 卞反 `{...}' 互优邰匹允" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "覆殺及卅中 }" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "抩蟆互拑中〞" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "岉元月皮伊□旦及卅中 %c%s" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "鍬詢輔寰尺及鎔域婁醒互塢匹丐勻化反卅曰引六氏" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "see " + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "See " + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "`.' 支 ',' 反 %c 匹反卅仁﹜鍬詢輔寰卞糧仃日木卅仃木壬卅曰引六氏" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "@inforef 尺及鎔域婁醒反塢匹丐勻化反卅曰引六氏" + +#: makeinfo/makeinfo.c:3427 +#, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "@image 白央奶伙 `%s' (HTML 迕) 互づ戶引六氏: %s" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "`%s.png' 支 `.jpg' 互卅仁﹜傀艦閡互勾仃日木化中引六氏" + +#: makeinfo/makeinfo.c:3490 +#, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "@image 白央奶伙 `%s' (text 迕) 互づ戶引六氏: %s" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "@image 卞白央奶伙抩互芨尹日木化中引六氏" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "{`%s' 及襖互卅中}" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "%c%s 卞反抩蟆互优邰匹允" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "@end %s 及覆殺及蟆卞白央奶伙及蔽曰卞請仁歹仄引仄凶" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "@multitable 氾件皿伊□玄卞 } 互丐曰引六氏" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "@multitable 及詨欠及氾弁旦玄 `%s' 毛拑骰仄引允" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "穴伙民氾□皮伙嫩杴ま及市仿丞醒互聶允亢引允(瘉釐 %d)" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "穴伙民氾□皮伙ま匹反﹜鎔 %d 墊毛薊鎗匹五引六氏" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "穴伙民氾□皮伙及陸礎及 @tab 毛拑骰仄引允" + +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "** 穴伙民市仿丞及瘉詨及昫井日請恘\n" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "* 鎔 %d 市仿丞: 請恘 = %s\n" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "用□玉 `%s' 蟆(%d 墊杴)卞爛聒今木化中引允" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "用□玉 %s 毛幫溥醱...\n" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "用□玉 `%s' 卞反本弁扑亦件迕戊穴件玉互优邰匹允(拺: %c%s)" + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "`%c%s' 戊穴件玉卞隙爛今木凶用□玉抩互丐曰引六氏" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "失件市□ `%s' 午用□玉 `%s' 互き元白央奶伙毛穴永皿仄化中引允" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "仇及 @anchor 戊穴件玉反拑骰今木引允 -- 公仇尺及輔寰反が綜仄引六氏" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "仇及失件市□抩毛庍凳允月井 `--no-split' 左皿扑亦件毛銀中引仄斤丹" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "split-HTML 白央奶伙 `%s' 及蔽曰卞﹜丐月反內及卅中妐儂昫互丐曰引允" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "用□玉:" + +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "慼:" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "蟆:" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "曉:" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "失件市□ `%s' 午 `%s' 互き元白央奶伙抩卞穴永皿仄化中引允" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "@anchor 戊穴件玉反拑骰今木引允 -- 公仇尺及輔寰反が綜仄引六氏" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "%s 反繡箕仄卅中用□玉 `%s' 毛輔寰仄化中引允" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "丟瓦亙□" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "鍬詢" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "用□玉 `%s' 及慼及白奴□伙玉互用□玉毛隙仄化中引六氏 -- " + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "仇及用□玉 (%s) 反五切氏午 蟆 毛儅勻化中引六氏" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "蟆" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "用□玉 `%s' 及蟆及白奴□伙玉互用□玉毛隙仄化中引六氏 -- " + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "仇及用□玉 (%s) 反五切氏午 慼 毛儅勻化中引六氏" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "`%s' 卞 曉 白奴□伙玉互丐曰引六氏" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "曉" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "" +"用□玉 `%s' 卞反 曉匏嫩杴互丐月及卞﹜`%s' 尺及丟瓦亙□失奶氾丞毛瑞中化中引允" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "用□玉 `%s' 反湃卞 %d 莢輔寰今木化中引允" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "輔寰今木化中卅中用□玉 `%s'" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "尥狤 %c " + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "ま朿巨仿□ (濡繭綢醱) \"%s\"!" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "%c%s 反и鞅仄引仄凶﹝ -- 醫歹曰卞 %c%s 毛銀勻化仁分今中" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "%ctop 及用□玉反﹜本弁扑亦件午仄化湃卞繡箕仄引允" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "仇仇反 %ctop 用□玉匹允" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "%ctop 互 %cnode 及蟆卞銀歹木引仄凶﹜%s 卞瑁戶丹切仄引允" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "杴慼" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "棵啞杴慼" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "%s: TOC 互仇仇卞丐月反內卅及卞﹜葦勾井曰引六氏" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "@image 白央奶伙 `%s' 互づ戶引六氏: %s" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "%s: 煞屢: " + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "移邂丟乒伉毛銀中絆凶仄引仄凶" + +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr " %s" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr "\t敦蟈卅 左皿扑亦件伉旦玄毛ぜ月卞反 `%s --help' 毛撢墊仄化仁分今中﹝\n" + +#: util/install-info.c:389 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" +"銀中杅: %s [左皿扑亦件]... [INFO白央奶伙 [DIR白央奶伙]]\n" +"\n" +"Info 犯奴伊弁玄伉白央奶伙 `DIR白央奶伙' ま及 `INFO白央奶伙' 井日\n" +"dir 巨件玄伉毛奶件旦玄□伙引凶反綽輪仄引允﹝\n" +"\n" +"左皿扑亦件:\n" +" --delete 蜇繡允月 INFO白央奶伙 及嫩杴毛 DIR白央奶伙 井日綽輪允月\n" +" -- 蕙凶卅嫩杴毛醣ェ仄卅中\n" +" --dir-file=NAME Info 犯奴伊弁玄伉白央奶伙及白央奶伙抩毛隙爛允月\n" +" DIR-FILE 婁醒毛厙迕允月及午き元\n" +" --entry=TEXT Info 犯奴伊弁玄伉嫩杴午仄化 TEXT 毛醣ェ允月\n" +" TEXT 反﹜Info 及丟瓦亙□失奶氾丞及墊及溥摯匹卅仃木壬卅日" +"內\n" +" 仇木卞﹜塢⑩匹銨引月中仁勾井及墊毛馨笛匹五月\n" +" 呁醒墊及嫩杴毛隙爛仄凶樺寧﹜蟈化互笛尹日木月\n" +" 嫩杴毛隙爛仄卅仃木壬﹜Info 白央奶伙憤褥及樹扷卞方勻化\n" +" 瑁爛允月\n" +" --help 銀中杅毛刓憎仄化蔽弇允月﹝\n" +" --info-file=FILE 犯奴伊弁玄伉卞奶件旦玄□伙允月 Info 白央奶伙毛隙爛允月\n" +" INFO-FILE 婁醒毛厙迕允月及午き元\n" +" --info-dir=DIR --dir-file=DIR/dir 左皿扑亦件午き元\n" +" --item=TEXT --entry TEXT 左皿扑亦件午き元\n" +" Info 犯奴伊弁玄伉嫩杴反撢端卞丟瓦亙□嫩杴卞卅月\n" +" --quiet 煞屢丟永本□斥毛俅孺允月\n" +" --remove --delete 左皿扑亦件午き元\n" +" --section=SEC 犯奴伊弁玄伉及 SEC 本弁扑亦件卞仇及白央奶伙及嫩杴毛譆仁\n" +" 呁醒及本弁扑亦件毛隙爛仄凶樺寧﹜本弁扑亦件咍卞蟈化及嫩" +"杴\n" +" 互馨笛今木月\n" +" 本弁扑亦件毛隙爛仄卅仃木壬﹜Info 白央奶伙憤褥及樹扷卞\n" +" 方勻化瑁爛允月\n" +" --version 田□斥亦件樹扷毛刓憎仄化蔽弇允月﹝\n" +"\n" +"Email 卞方月田弘伊禾□玄反 bug-texinfo@gnu.org﹜\n" +"域旼炊宎賻鉹鉾鰍壑 help-texinfo@gnu.org 引匹﹝\n" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" +"仇木互﹜(dir)Top 午裟壬木月 Info 閉遽及瘉曉匏用□玉及殖戶日木化中月\n" +".../info/dir 白央奶伙匹允﹝\n" +"丐卅凶互﹜銨戶化 Info 毛粟が仄凶及卅日﹜引內仇及用□玉毛葦化仁分今中﹝\n" +"\n" +"%s\t仇木互﹜INFO 汁伉□及贍鰾匹允\n" +"\n" +" 仇仇(the Directory 用□玉)匹反﹜潛分勻凶潛鎖毛健勻化中引允﹝\n" +" 平□ \"q\" 匹蔽弇仄﹜\"?\" 匹 Info 及戊穴件玉毛伉旦玄失永皿仄﹜\"d\" 匹仇仇" +"卞\n" +" 枑曰引允﹝\n" +" \"h\" 匹くェ妐儂毛ェ恘仄引允﹝凶午尹壬﹜\n" +" \"mEmacs<Return>\" 匹 Emacs 穴瓦亙失伙毛邠木月﹜卅升匹允﹝\n" +"\n" +" Emacs 及ま卅日壬﹜丟瓦亙□嫩杴支鍬詢輔寰毛﹜穴它旦及示正件 2 毛弁伉永弁仄" +"化\n" +" 薊鎗匹五引允﹝\n" +"\n" +"* 丟瓦亙□:\n" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "%s: (%s) 毛づ戶內﹜(%s) 毛綜嶽匹五引六氏匹仄凶\n" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "%s: 塢及白央奶伙" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "START-INFO-DIR-ENTRY 卞覆殺允月 END-INFO-DIR-ENTRY 互丐曰引六氏" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "END-INFO-DIR-ENTRY 卞覆殺允月 START-INFO-DIR-ENTRY 互丐曰引六氏" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr "%s: Info 犯奴伊弁玄伉反域蘸分仃隙爛仄化仁分今中﹝\n" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr "%s: Info 白央奶伙反域蘸分仃隙爛仄化仁分今中﹝\n" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "戊穴件玉仿奶件婁醒互聶允亢引允 `%s'" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr "" +"ェ恘白央奶伙互隙爛今木化中引六氏 -- 擇仄仁反 --help 尥匹撢墊仄化仁分今中﹝" + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr "" +"dir 白央奶伙互隙爛今木化中引六氏 -- 擇仄仁反 --help 尥匹撢墊仄化票今中﹝" + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "`%s' 卞 Info dir 迕及嫩杴互丐曰引六氏" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "丟瓦亙□嫩杴 `%s' 反﹜`%s' 卞湃卞繡箕仄引允" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "`%s' 嫩杴互葦勾井曰引六氏 -- 窒手綽輪仄引六氏匹仄凶" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "銀中杅毛刓憎仄化蔽弇仄引允" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "質咥及詨卞氾件禾仿伉白央奶伙毛酸仄化云五引允" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "質咥及丐午卞氾件禾仿伉白央奶伙毛綽輪仄引允 (default)" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "請恘毛 FILE 卞霜曰引允" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "田□斥亦件樹扷毛刓憎仄化蔽弇仄引允" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "銀中杅: %s [左皿扑亦件]... 白央奶伙...\n" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr "TeX 及啃及末□玄碧奶件犯永弁旦白央奶伙毛戲嶽仄引允\n" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr "" +"`foo.texi' 妐踏卞覆仄化反﹜騷橘反白央奶伙午仄化 `foo.%c%c' 毛隙爛仄引允﹝\n" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"左皿扑亦件:\n" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "%s: texinfo 及奶件犯永弁旦白央奶伙匹反丐曰引六氏" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "%s 及瘋左□皿件卞撩л" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "%s 卞矢□斥砦璊洶═磥牏誘" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "%s 嫩杴卞わ勾杴及嫩杴抩互糧中化中引允" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr "%s -- 白央奶伙 `%s'﹝\n" + +#~ msgid "" +#~ "Email bug reports to bug-texinfo@gnu.org,\n" +#~ "general questions and discussion to help-texinfo@gnu.org." +#~ msgstr "" +#~ "Email 卞方月田弘伊禾□玄反 bug-texinfo@gnu.org﹜\n" +#~ "域旼炊宎賻鉹鉾鰍壑 help-texinfo@gnu.org 引匹﹝" + +#~ msgid "" +#~ "Basic Commands in Info Windows\n" +#~ "******************************\n" +#~ "\n" +#~ " \\%-10[quit-help] Quit this help.\n" +#~ " \\%-10[quit] Quit Info altogether.\n" +#~ " \\%-10[get-info-help-node] Invoke the Info tutorial.\n" +#~ "\n" +#~ "Selecting other nodes:\n" +#~ "----------------------\n" +#~ " \\%-10[next-node] Move to the \"next\" node of this node.\n" +#~ " \\%-10[prev-node] Move to the \"previous\" node of this node.\n" +#~ " \\%-10[up-node] Move \"up\" from this node.\n" +#~ " \\%-10[menu-item] Pick menu item specified by name.\n" +#~ " Picking a menu item causes another node to be selected.\n" +#~ " \\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +#~ " \\%-10[history-node] Move to the last node seen in this window.\n" +#~ " \\%-10[move-to-next-xref] Skip to next hypertext link within this " +#~ "node.\n" +#~ " \\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +#~ "node.\n" +#~ " \\%-10[select-reference-this-line] Follow the hypertext link under " +#~ "cursor.\n" +#~ " \\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +#~ "node] (DIR)'.\n" +#~ " \\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] " +#~ "Top'.\n" +#~ "\n" +#~ "Moving within a node:\n" +#~ "---------------------\n" +#~ " \\%-10[scroll-forward] Scroll forward a page.\n" +#~ " \\%-10[scroll-backward] Scroll backward a page.\n" +#~ " \\%-10[beginning-of-node] Go to the beginning of this node.\n" +#~ " \\%-10[end-of-node] Go to the end of this node.\n" +#~ " \\%-10[1scroll-forward] Scroll forward 1 line.\n" +#~ " \\%-10[1scroll-backward] Scroll backward 1 line.\n" +#~ "\n" +#~ "Other commands:\n" +#~ "---------------\n" +#~ " \\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +#~ " \\%-10[last-menu-item] Pick last item in node's menu.\n" +#~ " \\%-10[index-search] Search for a specified string in the index " +#~ "entries of this Info\n" +#~ " file, and select the node referenced by the first entry " +#~ "found.\n" +#~ " \\%-10[goto-node] Move to node specified by name.\n" +#~ " You may include a filename as well, as in (FILENAME)" +#~ "NODENAME.\n" +#~ " \\%-10[search] Search forward through this Info file for a specified " +#~ "string,\n" +#~ " and select the node in which the next occurrence is found.\n" +#~ " \\%-10[search-backward] Search backward in this Info file for a " +#~ "specified string,\n" +#~ " and select the node in which the next occurrence is found.\n" +#~ msgstr "" +#~ "Info 它奴件玉它ま及湘呿戊穴件玉\n" +#~ "*******************************\n" +#~ "\n" +#~ " \\%-10[quit-help] 仇及目伙皿毛蔽弇允月﹝\n" +#~ " \\%-10[quit] Info 手域踝卞蔽弇允月﹝\n" +#~ " \\%-10[get-info-help-node] Info 民亙□玄伉失伙毛粟が允月﹝\n" +#~ "\n" +#~ "職及用□玉毛薊鎗允月:\n" +#~ "---------------------\n" +#~ " \\%-10[next-node] 仇及用□玉及 \"慼\" 及用□玉尺啖が允月﹝\n" +#~ " \\%-10[prev-node] 仇及用□玉及 \"蟆\" 及用□玉尺啖が允月﹝\n" +#~ " \\%-10[up-node] 仇及用□玉井日 \"曉\" 尺啖が允月﹝\n" +#~ " \\%-10[menu-item] 抩蟆匹隙爛仄凶丟瓦亙□失奶氾丞毛薊鎗允月﹝\n" +#~ " 丟瓦亙□失奶氾丞及薊鎗匹職及用□玉互薊鎗今木月儀卞卅月﹝\n" +#~ " \\%-10[xref-item] 鍬詢輔寰毛矇月﹝輔寰抩毛づ心潸月﹝\n" +#~ " \\%-10[history-node] 仇及它奴件玉它匹瘉詨卞葦凶用□玉尺啖が允月﹝\n" +#~ " \\%-10[move-to-next-xref] 仇及用□玉ま及慼及伉件弁尺旦平永皿允月﹝\n" +#~ " \\%-10[move-to-prev-xref] 仇及用□玉ま及蟆及伉件弁尺旦平永皿允月﹝\n" +#~ " \\%-10[select-reference-this-line] 市□末伙匏譆及伉件弁毛矇月\n" +#~ " \\%-10[dir-node] `犯奴伊弁玄伉' 用□玉尺啖が允月﹝`\\[goto-node] " +#~ "(DIR)' 午き元﹝\n" +#~ " \\%-10[top-node] Top 用□玉尺啖が允月﹝`\\[goto-node] Top' 午き元﹝\n" +#~ "\n" +#~ "用□玉ま匹及啖が:\n" +#~ "-----------------\n" +#~ " \\%-10[scroll-forward] 1 矢□斥坌蟆杅尺允允戶月﹝\n" +#~ " \\%-10[scroll-backward] 1 矢□斥坌詨杅尺枑允﹝\n" +#~ " \\%-10[beginning-of-node] 蜇箕及用□玉及燮え尺啖が允月﹝\n" +#~ " \\%-10[end-of-node] 蜇箕及用□玉及坱齯堸剺陘馱諢αn" +#~ " \\%-10[1scroll-forward] 1 墊坌蟆杅尺允允戶月﹝\n" +#~ " \\%-10[1scroll-backward] 1 墊坌詨杅尺枑允﹝\n" +#~ "\n" +#~ "公及職及戊穴件玉:\n" +#~ "-----------------\n" +#~ " \\%-10[menu-digit] 用□玉丟瓦亙□及瘉賡井日 9 筇嗛齯峊╞丰ぁ鄐臗祁礞" +#~ "月﹝\n" +#~ " \\%-10[last-menu-item] 用□玉丟瓦亙□及瘉詨及失奶氾丞毛薊鎗允月﹝\n" +#~ " \\%-10[index-search] 蜇箕及 Info 白央奶伙及奶件犯永弁旦嫩杴匹妐儂昫毛隙" +#~ "爛仄化腹綢仄﹜\n" +#~ " 瘉賡卞葦勾井勻凶嫩杴互輔寰仄化中月用□玉毛薊鎗允月﹝\n" +#~ " \\%-10[goto-node] 抩蟆匹隙爛今木凶用□玉尺啖が允月﹝\n" +#~ " (白央奶伙抩)用□玉抩及迋卞﹜白央奶伙抩毛殖戶月仇午互匹五" +#~ "月﹝\n" +#~ " \\%-10[search] 蜇箕及 Info 白央奶伙蟈蟲毛﹜隙爛今木凶妐儂昫匹蟆杅腹綢" +#~ "仄﹜\n" +#~ " 葦勾井勻凶手及互殖引木化中月用□玉毛薊鎗允月﹝\n" +#~ " \\%-10[search-backward] 蜇箕及 Info 白央奶伙毛﹜隙爛今木凶妐儂昫匹詨杅" +#~ "腹綢仄﹜\n" +#~ " 葦勾井勻凶手及互殖引木化中月用□玉毛薊鎗允月﹝\n" + +#~ msgid "******************************\n" +#~ msgstr "*******************************\n" + +#~ msgid "---------------------\n" +#~ msgstr "-----------------\n" + +#~ msgid "----------------------\n" +#~ msgstr "---------------------\n" + +#~ msgid "---------------\n" +#~ msgstr "-----------------\n" + +#~ msgid "%s' argument to @image command not found" +#~ msgstr "@image 戊穴件玉尺及 %s 及婁醒互葦勾井曰引六氏" + +#~ msgid "" +#~ "Usage: %s [OPTION]... TEXINFO-FILE...\n" +#~ "\n" +#~ "Translate Texinfo source documentation to various other formats:\n" +#~ "Info files suitable for reading online with Emacs or standalone GNU Info\n" +#~ "(by default); plain text (with --no-headers); or HTML (with --html).\n" +#~ "\n" +#~ "Options:\n" +#~ " --commands-in-node-names allow @ commands in node names.\n" +#~ " -D VAR define a variable, as with @set.\n" +#~ " -E, --macro-expand FILE output macro-expanded source to FILE.\n" +#~ " --error-limit=NUM quit after NUM errors (default %d).\n" +#~ " --fill-column=NUM break Info lines at NUM characters (default %" +#~ "d).\n" +#~ " --footnote-style=STYLE output footnotes according to STYLE:\n" +#~ " `separate' to place footnotes in their own " +#~ "node,\n" +#~ " `end' to place the footnotes at the end of " +#~ "the\n" +#~ " node in which they are defined (the " +#~ "default).\n" +#~ " --force preserve output even if errors.\n" +#~ " --help display this help and exit.\n" +#~ " --html output HTML rather than Info format;\n" +#~ " -I DIR append DIR to the @include search path.\n" +#~ " --ifhtml process @ifhtml and @html text even when not\n" +#~ " generating HTML.\n" +#~ " --ifinfo process @ifinfo text even when generating " +#~ "HTML.\n" +#~ " --iftex process @iftex and @tex text.\n" +#~ " implies --no-split.\n" +#~ msgstr "" +#~ "銀中杅: %s [左皿扑亦件]... TEXINFO白央奶伙...\n" +#~ "\n" +#~ "Texinfo 妐踏及末□旦毛中欠中欠卅溥摯匹づ戶月方丹卞庍晶允月﹝\n" +#~ "Info 白央奶伙反 Emacs 支 GNU Info 匹左件仿奶件曉匹づ戈及卞贗仄引允\n" +#~ "(犯白巧伙玄)﹝皿伊奶件氾平旦玄反(--no-headers)﹜HTML 反(--html)﹝\n" +#~ "\n" +#~ "左皿扑亦件:\n" +#~ " --commands-in-node-names 用□玉抩卞 @ 戊穴件玉毛譆仃月方丹卞允月\n" +#~ " -D VAR 庍醒毛澀爛允月﹝@set 午き元\n" +#~ " -E, --macro-expand FILE 穴弁伕傀艦今木凶末□旦毛 FILE 卞請恘\n" +#~ " --error-limit=NUM 巨仿□互 NUM 蜊素舅楔縣朣駖毛醱鞅允月 " +#~ "(default %d)\n" +#~ " --fill-column=NUM NUM 仇及妐儂醒匹荼墊毛ェ木月 (default %d)\n" +#~ " --footnote-style STYLE 萍鏜毛 動票及方丹卅 STYLE 匹請恘允月:\n" +#~ " `separate' 公及用□玉卞萍鏜毛譆仁\n" +#~ " `end' 萍鏜互爛聒今木凶用□玉及瘉詨卞譆仁" +#~ "(default)\n" +#~ " --force 巨仿□互中仁勾素舅楔々漶Ⅴ倛洃藡暐舅馱諢αn" +#~ " --help 銀中杅毛刓憎允月﹝\n" +#~ " --ifhtml HTML 毛戲嶽仄卅中午五卞手﹜@ifhtml 午 @html 及\n" +#~ " 氾平旦玄毛質咥允月\n" +#~ " --ifinfo HTML 毛戲嶽允月午五卞手 @ifinfo 及氾平旦玄毛質咥" +#~ "允月\n" +#~ " --iftex @iftex 午 @tex 及氾平旦玄毛質咥允月\n" +#~ " --no-split 毛隙爛仄凶仇午卞卅月\n" + +#~ msgid "" +#~ " --no-headers suppress Info node separators and Node: lines " +#~ "and\n" +#~ " write to standard output without --output.\n" +#~ " --no-ifhtml do not process @ifhtml and @html text.\n" +#~ " --no-ifinfo do not process @ifinfo text.\n" +#~ " --no-iftex do not process @iftex and @tex text.\n" +#~ " --no-split suppress splitting of large Info output files " +#~ "or\n" +#~ " generation of one HTML file per node.\n" +#~ " --no-validate suppress node cross-reference validation.\n" +#~ " --no-warn suppress warnings (but not errors).\n" +#~ " --number-sections include chapter, section, etc. numbers in " +#~ "output.\n" +#~ " -o, --output=FILE output to FILE, ignoring any @setfilename.\n" +#~ " -P DIR prepend DIR to the @include search path.\n" +#~ " --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +#~ "d).\n" +#~ " if VAL is `none', do not indent;\n" +#~ " if VAL is `asis', preserve existing " +#~ "indentation.\n" +#~ " --reference-limit=NUM warn about at most NUM references (default %" +#~ "d).\n" +#~ " -U VAR undefine a variable, as with @clear.\n" +#~ " -v, --verbose explain what is being done.\n" +#~ " --version display version information and exit.\n" +#~ msgstr "" +#~ " --no-headers 用□玉坌喃筏寞午 Node: 墊毛俅孺仄化﹜\n" +#~ " --output 卅仄匹手伓賞請恘卞踏慇戈\n" +#~ " --no-ifhtml @ifhtml 支 @html 及氾平旦玄毛質咥仄卅中\n" +#~ " --no-ifinfo @ifinfo 及氾平旦玄毛質咥仄卅中\n" +#~ " --no-iftex @iftex 支 @tex 及氾平旦玄毛質咥仄卅中\n" +#~ " --no-split 釐五卅 Info 請恘白央奶伙及坌喃支用□玉咍及 " +#~ "HTML\n" +#~ " 白央奶伙戲嶽毛俅孺允月\n" +#~ " --no-validate 用□玉鍬詢輔寰及割ロ毛俅孺允月\n" +#~ " --no-warn 煞屢毛俅孺允月 (巨仿□反刓憎今木月)\n" +#~ " --number-sections 懍支濡卞騷仄砦璊藙掑惜す倛洃馱螏n" +#~ " -o, --output=FILE @setfilename 毛拑骰仄化﹜FILE 尺請恘允月\n" +#~ " -P DIR @include 腹綢由旦卞 DIR 毛馨笛允月\n" +#~ " --paragraph-indent=VAL 蟾侹毛 VAL 蜊及塢⑩匹奶件犯件玄允月 (default %" +#~ "d)\n" +#~ " VAL 互 `none' 卅日奶件犯件玄仄卅中\n" +#~ " VAL 互 `asis' 卅日奶件犯件玄恟毛丐月引引卞忡" +#~ "勾\n" +#~ " --reference-limit=NUM 瘉釐 NUM 蜊及輔寰卞勾中化煞屢允月 (default %" +#~ "d)\n" +#~ " -U VAR @clear 及迋卞庍醒 VAR 毛怳爛聒卞允月\n" +#~ " -v, --verbose 窒互墊卅歹木化中月井毛扷屢允月\n" +#~ " --version 田□斥亦件樹扷毛刓憎仄化蔽弇允月\n" diff --git a/gnu/usr.bin/texinfo/po/quot.sed b/gnu/usr.bin/texinfo/po/quot.sed new file mode 100644 index 00000000000..0122c46318d --- /dev/null +++ b/gnu/usr.bin/texinfo/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/\1/g +s/`\([^`']*\)'/\1/g +s/ '\([^`']*\)' / \1 /g +s/ '\([^`']*\)'$/ \1/g +s/^'\([^`']*\)' /\1 /g +s//""/g diff --git a/gnu/usr.bin/texinfo/po/remove-potcdate.sin b/gnu/usr.bin/texinfo/po/remove-potcdate.sin new file mode 100644 index 00000000000..2436c49e786 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/gnu/usr.bin/texinfo/po/sv.gmo b/gnu/usr.bin/texinfo/po/sv.gmo Binary files differnew file mode 100644 index 00000000000..322c599346f --- /dev/null +++ b/gnu/usr.bin/texinfo/po/sv.gmo diff --git a/gnu/usr.bin/texinfo/po/sv.po b/gnu/usr.bin/texinfo/po/sv.po new file mode 100644 index 00000000000..6649e6ec389 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/sv.po @@ -0,0 +1,3144 @@ +# Swedish messages for texinfo. +# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Christian Rose <menthos@menthos.com>, 2001, 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: texinfo 4.1c\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-03-24 12:16+0100\n" +"Last-Translator: Christian Rose <menthos@menthos.com>\n" +"Language-Team: Swedish <sv@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "G ett tecken fram廞" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "G ett tecken bak廞" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "G till b顤jan p raden" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "G till slutet p raden" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "G ett ord fram廞" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "G ett ord bak廞" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "Ta bort tecknet under mark顤en" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "Ta bort tecknet bakom mark顤en" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "Avbryt eller avsluta operation" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "Acceptera (eller tvinga komplettering av) denna rad" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "Infoga n酲ta tecken ordagrant" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "Infoga detta tecken" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "Infoga ett TABULATOR-tecken" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "Transponera tecken vid punkt" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "Ryck tillbaka inneh嶚let i det senaste d鐰andet" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "D鐰sringen 酺 tom" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "Ryck tillbaka ett tidigare d鐰ande" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "D鐰a till slutet p raden" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "D鐰a till b顤jan p raden" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "D鐰a ordet efter mark顤en" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "D鐰a ordet f顤e mark顤en" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "Inga kompletteringar" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "Inte fullst鄚dig" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "Visa m鐱liga kompletteringar" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "Enda komplettering" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr "En komplettering:\n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr "%d kompletteringar:\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "Infoga komplettering" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "Bygger kompletteringar..." + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "Rulla kompletteringsf霵stret" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "Fotnoter kunde inte visas" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "Visa fotnoterna som 酺 associerade med denna nod i ett annat f霵ster" + +#: info/footnotes.h:26 +msgid "---------- Footnotes ----------" +msgstr "---------- Fotnoter -----------" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "Sl upp en str鄚g i indexet f顤 denna fil" + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "S闥er indexposter..." + +#: info/indices.c:212 +msgid "No indices found." +msgstr "Inga index hittades." + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "Indexpost: " + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "" +"G till n酲ta matchande indexpost fr幩 det senaste \"\\[index-search]\"-" +"kommandot" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr "Det finns ingen tidigare indexs闥str鄚g." + +#: info/indices.c:349 +msgid "No index entries." +msgstr "Inga indexposter." + +# This is broken +# +# info_error (_("No %sindex entries containing \"%s\"."), +# index_offset > 0 ? _("more ") : "", index_search); +# +# Please don't use this type of construct, use two complete sentences +# instead and an outer if statement. +# +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr "Inga %sindexposter som inneh嶚ler \"%s\"." + +#: info/indices.c:383 +msgid "more " +msgstr "fler " + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "KAN INTE SE DETTA" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "Hittade \"%s\" i %s (\"\\[next-index-match]\" f顤s闥er hitta n酲ta)." + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "Genoms闥er index av \"%s\"..." + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr "Inga tillg鄚gliga infofiler har \"%s\" i deras index." + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "Gr銥 i alla k鄚da infofilers index efter en str鄚g och bygg en meny" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "Index-apropos: " + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* Meny: Noder vars index inneh嶚ler \"%s\":\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr "Prova --help f顤 mer information.\n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Copyright %s Free Software Foundation, Inc.\n" +"Det finns INGEN garanti. Du kan vidaredistribuera denna programvara\n" +"under villkoren i GNU General Public License.\n" +"Se filen COPYING f顤 mer information om detta.\n" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "inga indexposter f顤 \"%s\" hittades\n" + +#: info/info.c:555 +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr " -b, --speech-friendly var v鄚lig mot talsyntesprogram.\n" + +#: info/info.c:562 +#, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +"Anv鄚dning: %s [FLAGGA]... [MENYPOST...]\n" +"\n" +"L酲 dokumentation i Info-format.\n" +"\n" +"Flaggor:\n" +" --apropos=STR鵲G sl upp STR鵲G i alla index i alla manualer.\n" +" -d, --directory=KATALOG l輍g till KATALOG till INFOPATH.\n" +" --dribble=FILNAMN kom ih嶓 anv鄚darens tangentnedtryckningar i\n" +" FILNAMN.\n" +" -f, --file=FILNAMN ange den Info-fil som ska bes闥as.\n" +" -h, --help visa denna hj鄟ptext och avsluta.\n" +" --index-search=STR鵲G g till noden som utpekas av indexpost\n" +" STR鵲G.\n" +" -n, --node=NODNAMN ange noder i den f顤st bes闥ta Info-filen.\n" +" -o, --output=FILNAMN skriv ut valda noder till FILNAMN.\n" +" -R, --raw-escapes ta inte bort ANSI-styrkoder fr幩\n" +" manualsidor.\n" +" --restore=FILNAMN l酲 initiala tangentnedtryckningar fr幩\n" +" FILNAMN.\n" +" -O, --show-options, --usage g till noden f顤 kommandoradsflaggor.\n" +"%s --subnodes skriv ut menyposter rekursivt.\n" +" --vi-keys anv鄚d vi- och less-liknande\n" +" snabbtangenter.\n" +" --version visa versionsinformation och avsluta.\n" +"\n" +"Det f顤sta argumentet som inte 酺 en flagga 酺, om det finns, menyposten\n" +"att b顤ja fr幩. Det s闥s efter i alla \"dir\"-filer i INFOPATH.\n" +"Om den inte finns sl緳 info samman alla \"dir\"-filer och visar resultatet.\n" +"Alla 廞erst嶒nde argument betraktas som namnen p menyposter relativa till\n" +"den f顤st bes闥ta noden.\n" +"\n" +"Exampel:\n" +" info visa 饘ersta katalogmenyn\n" +" info emacs b顤ja p emacs-noden fr幩 饘ersta katalogen\n" +" info emacs buffers b顤ja p buffertnoden inom emacs-manualen\n" +" info --show-options emacs b顤ja p noden med emacs kommandoradsflaggor\n" +" info -f ./foo.info visa filen ./foo.info, s闥 inte i katalogen\n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" +"\n" +"Skicka felrapporter till bug-texinfo@gnu.org,\n" +"allm鄚na fr嶓or och diskussion till help-texinfo@gnu.org\n" +"och synpunkter p 饘ers酹tningen till sv@li.org.\n" +"Hemsida f顤 texinfo: http://www.gnu.org/software/texinfo/" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr "Kan inte hitta noden \"%s\"." + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr "Kan inte hitta noden \"(%s)%s\"." + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "Kan inte hitta ett f霵ster!" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "Punkten finns inte inom detta f霵sters nod!" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr "Kan inte ta bort det sista f霵stret." + +#: info/info.c:637 +msgid "No menu in this node." +msgstr "Ingen meny i denna nod." + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr "Inga fotnoter i denna nod." + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr "Inga korsreferenser i denna nod." + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr "Ingen \"%s\"-pekare f顤 denna nod." + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr "Ok鄚t Info-kommando \"%c\". Prova \"?\" f顤 hj鄟p." + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr "Terminaltypen \"%s\" 酺 inte tillr踄kligt smart f顤 att k顤a Info." + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr "Du 酺 redan p sista sidan f顤 denna nod." + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr "Du 酺 redan p f顤sta sidan f顤 denna nod." + +#: info/info.c:645 +msgid "Only one window." +msgstr "Endast ett f霵ster." + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr "Resulterande f霵stret skulle bli f顤 litet." + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr "" +"Inte tillr踄kligt med utrymme f顤 ett hj鄟pf霵ster, ta bort ett f霵ster." + +#: info/infodoc.c:45 info/infodoc.c:94 +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "" +"Grundl輍gande kommandon i Info-f霵ster\n" +"**************************************\n" + +#: info/infodoc.c:48 +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr "\\%-10[quit-help] Avsluta denna hj鄟p.\n" + +#: info/infodoc.c:49 +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr "\\%-10[quit] Avsluta Info helt.\n" + +#: info/infodoc.c:50 +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr "\\%-10[get-info-help-node] Starta Info-handboken.\n" + +#: info/infodoc.c:52 info/infodoc.c:101 +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "" +"V鄟ja andra noder:\n" +"------------------\n" + +#: info/infodoc.c:54 +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr "\\%-10[next-node] G till n酲ta nod fr幩 denna nod.\n" + +#: info/infodoc.c:55 +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr "\\%-10[prev-node] G till f顤eg嶒nde nod fr幩 denna nod.\n" + +#: info/infodoc.c:56 +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr "\\%-10[up-node] G upp fr幩 denna nod.\n" + +#: info/infodoc.c:57 +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr "" +"\\%-10[menu-item] V鄟j den menypost som anges med namn.\n" +" Att v鄟ja en menypost g顤 att en annan nod v鄟js.\n" + +#: info/infodoc.c:59 +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr "" +"\\%-10[xref-item] F闤j en korsreferens. L酲er namnet p en referens.\n" + +#: info/infodoc.c:60 +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr "\\%-10[history-node] G till den sista noden i detta f霵ster.\n" + +#: info/infodoc.c:61 +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr "" +"\\%-10[move-to-next-xref] Hoppa till n酲ta hypertextl鄚k i denna nod.\n" + +#: info/infodoc.c:62 +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr "" +"\\%-10[move-to-prev-xref] Hoppa till n酲ta hypertextl鄚k i denna nod.\n" + +#: info/infodoc.c:63 +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr "" +"\\%-10[select-reference-this-line] F闤j hypertextl鄚ken under mark顤en.\n" + +#: info/infodoc.c:64 +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr "" +"\\%-10[dir-node] G till \"directory\"-noden. Likv酺digt med \"g (DIR)\".\n" + +#: info/infodoc.c:65 +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr "" +"\\%-10[top-node] G till den 饘ersta noden. Likv酺digt med \"g Top\".\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "" +"F顤flyttning inom en nod:\n" +"-------------------------\n" + +#: info/infodoc.c:69 +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr "\\%-10[scroll-forward] Rulla en sida fram廞.\n" + +#: info/infodoc.c:70 +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr "\\%-10[scroll-backward] Rulla en sida bak廞.\n" + +#: info/infodoc.c:71 +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr "\\%-10[beginning-of-node] G till b顤jan p denna nod.\n" + +#: info/infodoc.c:72 +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr "\\%-10[end-of-node] G till slutet av denna nod.\n" + +#: info/infodoc.c:73 +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr "\\%-10[scroll-forward] Rulla en rad fram廞.\n" + +#: info/infodoc.c:74 +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr "\\%-10[scroll-backward] Rulla en rad bak廞.\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "" +"Andra kommandon:\n" +"----------------\n" + +#: info/infodoc.c:78 +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr "\\%-10[menu-digit] V鄟j f顤sta ... nionde objektet i nodens meny.\n" + +#: info/infodoc.c:79 +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr "\\%-10[last-menu-item] V鄟j det sista objektet i nodens meny.\n" + +#: info/infodoc.c:80 +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "" +"\\%-10[index-search] S闥 efter en angiven str鄚g i indexposterna i denna\n" +" Info-fil, och v鄟j noden som refereras av den f顤sta posten\n" +" som hittas.\n" + +#: info/infodoc.c:82 +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +"\\%-10[goto-node] G till den nod som anges.\n" +" Du kan 銥en inkludera ett filnamn, som exempelvis\n" +" (FILNAMN)NODNAMN.\n" + +#: info/infodoc.c:84 +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr "" +"\\%-10[search] S闥 fram廞 efter en angiven str鄚g\n" +" och v鄟j den nod i vilken n酲ta f顤ekomst hittas.\n" + +#: info/infodoc.c:86 +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr "" +"\\%-10[search-backward] S闥 bak廞 efter en angiven str鄚g\n" +" och v鄟j den nod i vilken n酲ta f顤ekomst hittas.\n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s Avsluta denna hj鄟p.\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s Avsluta Info helt.\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s Starta Info-handboken.\n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s G till n酲ta nod fr幩 denna nod.\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s G till f顤eg嶒nde nod fr幩 denna nod.\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s G upp fr幩 denna nod.\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s V鄟j angiven menypost.\n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr " Att v鄟ja en menypost g顤 att en annan nod v鄟js.\n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s F闤j en korsreferens. L酲er namnet p en referens.\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s G till den sista noden i detta f霵ster.\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s Hoppa till n酲ta hypertextl鄚k i denna nod.\n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s F闤j hypertextl鄚ken under mark顤en.\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s G till \"directory\"-noden. Likv酺digt med \"g (DIR)\".\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s G till den 饘ersta noden. Likv酺digt med \"g Top\".\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s Rulla en sida fram廞.\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s Rulla en sida bak廞.\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s G till b顤jan p denna nod.\n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s G till slutet av denna nod.\n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s Rulla en rad fram廞.\n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s Rulla en rad bak廞.\n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s V鄟j f顤sta ... nionde objektet i nodens meny.\n" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s V鄟j det sista objektet i nodens meny.\n" + +# This is broken +# +# N_(" %-10s Search for a specified string in the index entries of this Info\n"), +# N_(" file, and select the node referenced by the first entry found.\n"), +# +# Please don't split a single sentence like this in multiple messages, +# use one single message instead. Sentences have to be kept together when +# translating, you can't split a sentence into parts and mark them for +# separate translation and expect it to work with word ordering, +# grammar, and everything else in other languages. Splitting sentences +# just makes it harder for translators when having not just to translate, +# but also puzzle the pieces of the sentence together again so that it +# makes some sense, in order to be able to translate in the first place. +# +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr " %-10s S闥 efter en angiven str鄚g i indexposterna i denna\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr "" +" Info-fil, och v鄟j noden som refereras av den f顤sta posten\n" +" som hittas.\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s G till den nod som anges.\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr "" +" Du kan 銥en inkludera ett filnamn, som exempelvis\n" +" (FILNAMN)NODNAMN.\n" + +# This is broken +# +# N_(" %-10s Search forward through this Info file for a specified string,\n"), +# N_(" and select the node in which the next occurrence is found.\n"), +# +# Please don't split a single sentence like this in multiple messages, +# use one single message instead. Sentences have to be kept together when +# translating, you can't split a sentence into parts and mark them for +# separate translation and expect it to work with word ordering, +# grammar, and everything else in other languages. Splitting sentences +# just makes it harder for translators when having not just to translate, +# but also puzzle the pieces of the sentence together again so that it +# makes some sense, in order to be able to translate in the first place. +# +#: info/infodoc.c:132 +#, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s S闥 fram廞 efter en angiven str鄚g,\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr " och v鄟j den nod i vilken n酲ta f顤ekomst hittas.\n" + +# This is broken +# +# N_(" %-10s Search backward in this Info file for a specified string,\n"), +# N_(" and select the node in which the next occurrence is found.\n"), +# +# Please don't split a single sentence like this in multiple messages, +# use one single message instead. Sentences have to be kept together when +# translating, you can't split a sentence into parts and mark them for +# separate translation and expect it to work with word ordering, +# grammar, and everything else in other languages. Splitting sentences +# just makes it harder for translators when having not just to translate, +# but also puzzle the pieces of the sentence together again so that it +# makes some sense, in order to be able to translate in the first place. +# +#: info/infodoc.c:134 +#, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr " %-10s S闥 bak廞 efter en angiven str鄚g,\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr "Den aktuella s闥v輍en 酺:\n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "" +"Kommandon som 酺 tillg鄚gliga i Info-f霵ster:\n" +"\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "" +"Kommandon som 酺 tillg鄚gliga i echo-omr嶟et:\n" +"\n" + +#: info/infodoc.c:340 +#, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +"F闤jande kommandon kan endast startas via %s:\n" +"\n" + +#: info/infodoc.c:343 +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +"F闤jande kommandon kan inte startas alls:\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "" +"--- Anv鄚d \"\\[history-node]\" eller \"\\[kill-node]\" f顤 att avsluta ---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "Visa hj鄟pmeddelande" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "Bes闥 Info-noden \"(info)Help\"" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "Visa dokumentationen f顤 NYCKEL" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "Beskriv nyckel: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr "ESC %s 酺 odefinierad." + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr "%s 酺 odefinierad." + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s 酺 definierad till %s." + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "Visa vad som ska anges f顤 att k顤a ett angivet kommando" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "Var 酺 kommando: " + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "\"%s\" finns inte p n嶓ra tangenter" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr "%s kan endast startas via %s." + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr "%s kan startas via %s." + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr "Det finns ingen funktion med namnet \"%s\"" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "felaktigt antal argument" + +#: info/infokey.c:194 +#, c-format +msgid "cannot open input file `%s'" +msgstr "kan inte 鞿pna indatafilen \"%s\"" + +#: info/infokey.c:207 +#, c-format +msgid "cannot create output file `%s'" +msgstr "kan inte skapa utdatafilen \"%s\"" + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "fel vid skrivning till \"%s\"" + +#: info/infokey.c:222 +#, c-format +msgid "error closing output file `%s'" +msgstr "fel vid st鄚gning av utdatafilen \"%s\"" + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "nyckelsekvensen 酺 f顤 l幩g" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "nyckelsekvens saknas" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "NUL-tecknet (\\000) 酺 inte till廞et" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "NUL-tecknet (^%c) 酺 inte till廞et" + +#: info/infokey.c:652 +msgid "missing action name" +msgstr "廞g酺dsnamn saknas" + +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "avsnittet 酺 f顤 l幩gt" + +#: info/infokey.c:673 +#, c-format +msgid "unknown action `%s'" +msgstr "ok鄚d 廞g酺d \"%s\"" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "廞g酺dsnamnet 酺 f顤 l幩gt" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "extra tecken f闤jer p 廞g酺den \"%s\"" + +#: info/infokey.c:704 +msgid "missing variable name" +msgstr "variabelnamn saknas" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "\"=\" saknas direkt efter variabelnamnet" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "variabelnamnet 酺 f顤 l幩gt" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "v酺det 酺 f顤 l幩gt" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "\"%s\", rad %u: " + +#: info/infokey.c:891 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" +"Anv鄚dning: %s [FLAGGA]... [INDATAFIL]\n" +"\n" +"Kompilera infonyckelk鄟lfil till infonyckelfil. L酲er INDATAFIL (som\n" +"standard $HOME/.infokey) och skriver (som standard) den kompilerade\n" +"nyckelfilen till $HOME/.info.\n" +"\n" +"Flaggor:\n" +" --output FIL generera till FIL ist鄟let f顤 $HOME/.info\n" +" --help visa denna hj鄟ptext och avsluta.\n" +" --version visa versionsinformation och avsluta.\n" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "Ignorerar ogiltig infonyckelfil \"%s\" - f顤 liten" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "Ignorerar ogiltig infonyckelfil \"%s\" - f顤 stor" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "Fel vid l酲ning av infonyckelfilen \"%s\" - kort l酲ning" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" +"Ogiltig infonyckelfil \"%s\" (felaktiga magiska nummer) -- k顤 infokey f顤\n" +"att uppdatera den" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "" +"Din infonyckelfil \"%s\" 酺 f顤 gammal -- k顤 infokey f顤 att uppdatera den" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" +"Ogiltig infonyckelfil \"%s\" (felaktig asvnittsl鄚gd) -- k顤 infokey f顤\n" +"att uppdatera den" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "" +"ogiltig infonyckelfil \"%s\" (felaktig avsnittskod) -- k顤 infokey f顤 att\n" +"uppdatera den" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "Felaktig data i infonyckelfil -- en del bindningar ignorerades" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "Felaktig data i infonyckelfil -- en del inst鄟lningar ignorerades" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "L酲 namnet p ett Info-kommando och beskriv det" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "Beskriv kommando: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "L酲 ett kommandonamn i echo-omr嶟et och k顤 det" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr "Kan inte k顤a ett \"echo-area\"-kommando h酺." + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "St鄟l in h鐱den p det visade f霵stret" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "St鄟l in sk酺mh鐱den till (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" +" K鄟lkodsfiler som gr銥des igenom f顤 att g顤a att denna fil inkluderar:\n" +"\n" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr "Kunde inte manipulera filen %s.\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* Meny:\n" +" (Fil)Nod Rader Storl. Inneh嶚lande fil\n" +" -------- ----- ------ ----------------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +"H酺 酺 menyn med de noder som du har bes闥t nyligen.\n" +"V鄟j en fr幩 denna meny eller anv鄚d\"\\[history-node]\" i ett annat " +"f霵ster.\n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "" +"Skapa ett f霵ster som inneh嶚ler en meny med alla nyligen bes闥ta noder" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "V鄟j en nod som har bes闥ts nyligen i ett synligt f霵ster" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "V鄟j bes闥t nod: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "Referensen f顤svann! (%s)." + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +"V鄟kommen till Info version %s. Skriv in \\[get-help-window] f顤 hj鄟p, " +"\\[menu-item] f顤 menypost." + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "G ned till n酲ta rad" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "G upp till f顤eg嶒nde rad" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "G till slutet p raden" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "G till b顤jan p raden" + +# src/menus.c:332 +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "N酲ta" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "F闤jer n酲ta-nod..." + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "V鄟jer f顤sta menyposten..." + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "V鄟jer n酲ta nod..." + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr "G緳 upp %d g幩g(er), sedan N酲ta." + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr "Inga fler noder i detta dokument." + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr "Ingen \"F顤eg\" f顤 denna nod." + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr "G till f顤eg嶒nde i detta f霵ster." + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr "Inget \"Prev\" eller \"Up\" f顤 denna nod inom detta dokument." + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr "G緳 upp i detta f霵ster." + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr "G till \"F顤eg\"s senaste menypost." + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr "G fram廞 eller ned廞 i nodstrukturen" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr "G bak廞 eller upp i nodstrukturen" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr "Rulla fram廞 i detta f霵ster" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "Rulla fram廞 i detta f霵ster och st鄟l in standardf霵sterstorleken" + +#: info/session.c:1245 +msgid "Scroll forward in this window staying within node" +msgstr "Rulla fram廞 i detta f霵ster och stanna inom noden" + +#: info/session.c:1253 +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "" +"Rulla fram廞 i detta f霵ster och stanna inom noden och st鄟l in " +"standardf霵sterstorleken" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "Rulla bak廞 i detta f霵ster" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "Rulla bak廞 i detta f霵ster och st鄟l in standardf霵sterstorleken" + +#: info/session.c:1278 +msgid "Scroll backward in this window staying within node" +msgstr "Rulla bak廞 i detta f霵ster och stanna inom noden" + +#: info/session.c:1286 +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "" +"Rulla bak廞 i detta f霵ster och stanna inom noden och st鄟l in " +"standardf霵sterstorleken" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "G till b顤jan p denna nod" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "G till slutet p denna nod" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "Rulla ned廞 radvis" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "Rulla upp廞 radvis" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "Rulla ned廞 med halva sk酺mstorleken" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "Rulla upp廞 med halva sk酺mstorleken" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "V鄟j n酲ta f霵ster" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "V鄟j f顤eg嶒nde f霵ster" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "Dela aktuellt f霵ster" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "Ta bort aktuellt f霵ster" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "Kan inte ta bort ett permanent f霵ster" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "Ta bort alla andra f霵ster" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "Rulla det andra f霵stret" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "Rulla det andra f霵stret bak廞" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "V鉶 (eller krymp) detta f霵ster" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "Dela det tillg鄚gliga sk酺mutrymmet mellan de synliga f霵stren" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "V鉶la tillst幩det f顤 radbrytning i det aktuella f霵stret" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "V鄟j n酲ta nod" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "V鄟j f顤eg嶒nde nod" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "V鄟j uppnoden" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "V鄟j den sista noden i denna fil" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "Detta f霵ster har inga ytterligare noder" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "V鄟j den f顤sta noden i denna fil" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "V鄟j det sista objektet i denna nods meny" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "V鄟j denna menypost" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr "Det finns inte %d poster i denna meny." + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "Menypost (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "Menypost: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "F闤j xref (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "F闤j xref: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "L酲 en menypost och v鄟j dess nod" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "L酲 en fotnot eller korsreferens och v鄟j dess nod" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "G till b顤jan p denna nods meny" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "Bes闥 s m幩ga menyposter som m鐱ligt samtidigt" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "L酲 ett nodnamn och v鄟j det" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "G till nod: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr "Ingen meny i noden \"%s\"." + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr "Ingen menypost \"%s\" i noden \"%s\"." + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr "Kan inte hitta noden som refereras av \"%s\" i \"%s\"." + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "L酲 en lista med menyer som b顤jar med katalog, och f闤j dem" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "F闤j menyer: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "Hitta den nod som beskriver start av programmet" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "Hitta programstartnod f顤 [%s]: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "L酲 en referens till manualsida och v鄟j den" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "H鄝ta manualsida: " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "V鄟j noden \"Top\" i denna fil" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "V鄟j noden \"(dir)\"" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "D鐰a noden (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "Kan inte d鐰a noden \"%s\"" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "Kan inte d鐰a den sista noden" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "V鄟j den senast valda noden" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "D鐰a denna nod" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "L酲 namnet p en fil och v鄟j den" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "S闥 fil: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr "Kan inte hitta \"%s\"." + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr "Kunde inte skapa utdatafilen \"%s\"." + +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr "F酺dig." + +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "Skriver noden %s..." + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "Skicka inneh嶚let i denna nod i r顤 till INFO_PRINT_COMMAND" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr "Kan inte 鞿pna r顤 till \"%s\"." + +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "Skriver ut noden %s..." + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "S闥er i underfilen %s..." + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "L酲 en str鄚g och s闥 efter den skiftl輍esk鄚sligt" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "L酲 en str鄚g och s闥 efter den" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "L酲 en str鄚g och s闥 bakl鄚ges efter den" + +# This is broken +# +# sprintf (prompt, _("%s%sfor string [%s]: "), +# direction < 0 ? _("Search backward") : _("Search"), +# case_sensitive ? _(" case-sensitively ") : _(" "), +# search_string); +# +# Never split a sentence like this, use multiple complete messages instead. +# If you split a sentence like this, you actually mark them for seperate +# translation, but they shouldn't be translated seperately, since they +# belong to the same sentence! All grammar/wording/sentence rules affect +# how the words interact in the sentence, and you cannot take them out of +# their sentence context and expect the same grammar to be valid. If you do, +# you assume things about languages that are hardly true for any language +# but the original one. +# Make this several, complete messages, and move the logic out of the +# messages themselves. Yes, this will result in many more messages, but +# those will be translatable, while the current design isn't. +# +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "%s%sefter st鄚gen [%s]: " + +#: info/session.c:3668 +msgid "Search backward" +msgstr "S闥 bakl鄚ges" + +#: info/session.c:3668 +msgid "Search" +msgstr "S闥" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr " skiljandes p VERSALER/gemener " + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr "S闥ningen misslyckades." + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "Upprepa den senaste s闥ningen i samma riktning" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "Ingen tidigare s闥str鄚g" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "Upprepa den senaste s闥ningen i omv鄚d riktning" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "S闥 interaktivt efter en str鄚g allteftersom du skriver den" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "I-s闥 bakl鄚ges: " + +#: info/session.c:3857 +msgid "I-search: " +msgstr "I-s闥: " + +#: info/session.c:3882 +msgid "Failing " +msgstr "Misslyckas " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "G till f顤eg嶒nde korsreferens" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "G till n酲ta korsreferens" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "V鄟j referens eller menypost som finns p denna rad" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "Avbryt aktuell 廞g酺d" + +#: info/session.c:4388 +msgid "Quit" +msgstr "Avsluta" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "Flytta mark顤en till en specifik rad i f霵stret" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "Rita om displayen" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "Avsluta anv鄚dandet av Info" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "K顤 kommando som 酺 knutet till denna tangents gemena variant" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr "Ok鄚t kommando (%s)." + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" 酺 ogiltigt" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" 酺 ogiltigt" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "L輍g till denna siffra till det aktuella numeriska argumentet" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "B顤ja (eller multiplicera med 4) det numeriska argumentet" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "Anv鄚ds internt av \\[universal-argument]" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "readline: Slut p virtuellt minne!\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "N酺 detta 酺 \"On\" visas och f顤svinner fotnoter automatiskt" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "" +"N酺 detta 酺 \"On\" 鄚drar skapande eller borttagande av ett f霵ster\n" +"storleken p andra f霵ster" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "" +"N酺 detta 酺 \"On\" blinkar sk酺men till ist鄟let f顤 att klockan ringer" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "N酺 detta 酺 \"On\" g顤 fel att klockan ringer" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "N酺 detta 酺 \"On\" skr鄡samlar Info filer som beh饘de packas upp" + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "N酺 detta 酺 \"On\" markeras delen av den matchade s闥str鄚gen" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "Styr vad som h鄚der d rullning beg酺s i slutet p en nod" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "Antalet rader att rulla d mark顤en flyttas utanf顤 f霵stret" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "N酺 detta 酺 \"On\" accepterar och visar Info ISO Latin-tecken" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "F顤klara anv鄚dandet av en variabel" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "Beskriv variabel: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "St鄟l in v酺det p en Info-variabel" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "St鄟l in variabel: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "St鄟l in %s till v酺det (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "St鄟l in %s till v酺det (%s): " + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "--*** F顤 gamla taggar ***" + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), rader ----, " + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, %d rader --%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, %d rader --%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " Underfil: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: flaggan \"%s\" 酺 flertydig\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: flaggan \"--%s\" till廞er inget argument\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: flaggan \"%c%s\" till廞er inget argument\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: flaggan \"%s\" kr銥er ett argument\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: ok鄚d flagga \"--%s\"\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: ok鄚d flagga \"%c%s\"\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: otill廞en flagga -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: ogiltig flagga -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: flaggan kr銥er ett argument -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: flaggan \"-W %s\" 酺 flertydig\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: flaggan \"-W %s\" till廞er inget argument\n" + +# This is broken +# +# The translator should not need to translate this - it is all present +# in libc and can be used with nl_langinfo(), strftime() and friends. +# +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "januari" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "februari" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "mars" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "april" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "maj" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "juni" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "juli" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "augusti" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "september" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "oktober" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "november" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "december" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "osannolikt tecken %c i @var" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "" +"@sc-argumentet 酺 enbart med stora bokst銥er, d酺f顤 har det ingen effekt" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "\"{\" f顤v鄚tades, men s嶓 \"%c\"" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "filslut inuti verb-block" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "\"}\" f顤v鄚tades, men s嶓 \"%c\"" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "%c%s 酺 f顤嶚drat" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "@sp kr銥er ett positivt numeriskt argument, inte \"%s\"" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "Felaktigt argument till %c%s" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "of顤鄚drad" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "ingen" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "\"}\" saknas i @def-argumentet" + +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "Funktion" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "Makro" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "Specialform" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "Variabel" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "Anv鄚darflagga" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "Instansvariabel" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "Metod" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "av" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "p" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "M廛te vara i \"%s\"-ins酹tningen f顤 att anv鄚da \"%sx\"" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "%s: getwd: %s, %s\n" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "\"%c%s\" beh饘er ett argument \"{...}\", inte bara \"%s\"" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "Ingen avslutande klammer f顤 fotnoten \"%s\"" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "Fotnoten definierad utan f顤鄟dernod" + +#: makeinfo/footnote.c:210 +msgid "Footnotes inside footnotes are not allowed" +msgstr "Fotnoter inuti fotnoter 酺 inte till廞et" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "Fotnoter" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "Namnl飉" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "Ogiltigt nodnamn: \"%s\"" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "Ok鄚t index \"%s\"" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "Info kan inte hantera \":\" i indexposten \"%s\"" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "Indexet \"%s\" finns redan" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "Ok鄚t index \"%s\" och/eller \"%s\" i @synindex" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "Ok鄚t index \"%s\" i @printindex" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "Posten f顤 index \"%s\" 酺 utanf顤 alla noder" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "(utanf顤 alla noder)" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "Felaktig typ i insertion_type_pname" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "Uppr鄢ningsstacken har fl鐰at 饘er" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "bokstaveringen har fl鐰at 饘er, startar om vid %c" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "%s kr銥er ett argument: formateraren f顤 %citem" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "\"@end\" f顤v鄚tade \"%s\", men s嶓 \"%s\"" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "Inget matchande \"%cend %s\"" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "%s kr銥er bokstav eller siffra" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "filslut inuti bokstavligt block" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "@menu s嶓s innan f顤sta @node, skapar \"Top\"-nod" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "din @top-nod ska kanske packas i @ifnottex ist鄟let f顤 @ifinfo?" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "@detailmenu s嶓s innan f顤sta noden, skapar \"Top\"-nod" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "Ensamt \"%c%s\"" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "\"%c%s\" kr銥er n嶓onting efter sig" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "Felaktigt argument till \"%s\", \"%s\", anv鄚der \"%s\"" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "@%s 酺 inte meningsfullt inuti \"@%s\"-block" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "@itemx 酺 inte meningsfullt inuti \"%s\"-block" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "%c%s hittades utanf顤 ett ins酹tningsblock" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "%s 酺 inte en giltig landskod enligt ISO 639" + +#: makeinfo/lang.c:384 +#, c-format +msgid "unrecogized encoding name `%s'" +msgstr "ok鄚d kodningsnamn \"%s\"" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "tyv酺r, kodningen \"%s\" st鐰s inte" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "ogiltigt kodat tecken \"%s\"" + +#: makeinfo/lang.c:502 +#, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "%s 酺 en ogiltig ISO-kod, anv鄚der %c" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "%c%s f顤v鄚tar \"i\" eller \"j\" som argument, inte \"%c\"" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "%c%s f顤v鄚tar ett ensamt tecken \"i\" eller \"j\" som argument" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "makrot \"%s\" 酺 redan definierat" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "h酺 酺 den tidigare definitionen av \"%s\"" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "" +"\\ i makrout闥ning f闤jdes av \"%s\" ist鄟let f顤 \\ eller parameternamn" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "Makrot \"%s\" anropades p rad %d med f顤 m幩ga argument" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "Makrot %cend hittades inte" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "@quote-arg 酺 endast anv鄚dbart f顤 makron med ett argument" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "@end %s och @%s passar inte" + +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "%s:%d: varning: " + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr "F顤 m幩ga fel! Gav upp.\n" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "Felplacerat %c" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Prova \"%s --help\" f顤 mer information.\n" + +#: makeinfo/makeinfo.c:373 +#, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "Anv鄚dning: %s [FLAGGA]... TEXINFO-FIL...\n" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" +"琌ers酹t Texinfo-k鄟ldokumentation till diverse andra format, som standard\n" +"infofiler som 酺 l鄝pliga f顤 l酲ning med Emacs eller GNU Info.\n" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" +"Allm鄚na flaggor:\n" +" --error-limit=ANTAL avsluta efter ANTAL fel (standardv酺de %d).\n" +" --force bevara utdata 銥en om fel.\n" +" --help visa denna hj鄟ptext och avsluta.\n" +" --no-validate undertryck korsreferensvalidering av noder.\n" +" --no-warn undertryck varningar (men inte fel).\n" +" --reference-limit=ANTAL varna vid som mest ANTAL referenser\n" +" (standardv酺de %d).\n" +" -v, --verbose f顤klara vad som g顤s.\n" +" --version visa versionsinformation och avsluta.\n" + +#: makeinfo/makeinfo.c:394 +#, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" +"Val av utdataformat (standard 酺 att producera Info):\n" +" --docbook generera DocBook ist鄟let f顤 Info.\n" +" --html generera HTML ist鄟let f顤 Info.\n" +" --xml generera XML (TexinfoML) ist鄟let f顤 Info.\n" + +#: makeinfo/makeinfo.c:401 +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" +"Allm鄚na utdataflaggor:\n" +" -E, --macro-expand FIL generera makroexpanderad k鄟lkod till FIL,\n" +" ignorera alla @setfilename.\n" +" --no-headers undertryck nodseparatorer, Node:-rader och\n" +" menyer fr幩 Info-utdata (och skapa d酺igenom\n" +" vanlig text) eller fr幩 HTML (och producera\n" +" d酺igenom kortare utdata). Skriv 銥en till\n" +" standard ut som standard.\n" +" --no-split undertryck delning av Info eller HTML-utdata,\n" +" generera endast en utdatafil.\n" +" --number-sections generera kapitel- och avsnittsnummer.\n" +" -o, --output=FIL generera till FIL (katalog om delad HTML),\n" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" +"Flaggor f顤 Info och vanlig text:\n" +" --enable-encoding generera tecken med accent och specialtecken\n" +" i Info-utdata baserat p @documentencoding.\n" +" --fill-column=ANTAL radbryt Info-rader vid ANTAL tecken\n" +" (standardv酺de %d).\n" +" --footnote-style=STIL generera fotnoter i Info som f闤jer STIL:\n" +" \"separate\" f顤 att placera fotnoter i sin\n" +" egen nod,\n" +" \"end\" f顤 att placera fotnoter i slutet\n" +" av den nod d酺 de 酺 definierade\n" +" (standardalternativ).\n" +" --paragraph-indent=V麗DE g顤 indrag i Info-stycken med V麗DE\n" +" blanksteg (standardv酺de %d).\n" +" Om V麗DE 酺 \"none\" g顤s inga indrag; om\n" +" V麗DE 酺 \"asis\" bevaras befintliga\n" +" indrag.\n" +" --split-size=ANTAL dela upp Info-filer vid storleken ANTAL\n" +" (standardv酺de %d).\n" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" +"Flaggor f顤 indatafil:\n" +" --commands-in-node-names till廞 @-kommandon i nodnamn.\n" +" -D VARIABEL definiera variabeln VARIABEL, som med " +"@set.\n" +" -I KATALOG l輍g till KATALOG till @include-s闥v輍en.\n" +" -P KATALOG l輍g till KATALOG f顤st i @include-" +"s闥v輍en.\n" +" -U VARIABEL odefiniera variabeln VARIABEL, som med " +"@clear.\n" + +#: makeinfo/makeinfo.c:442 +#, fuzzy +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" +"Villkorlig behandling i indata:\n" +" --ifhtml behandla @ifhtml och @html 銥en om inte HTML genereras.\n" +" --ifinfo behandla @ifinfo-text 銥en om HTML genereras.\n" +" --iftex behandla @iftex och @tex-text; medf顤 --no-split.\n" +" --no-ifhtml behandla inte @ifhtml- och @html-text.\n" +" --no-ifinfo behandla inte @ifinfo-text.\n" +" --no-iftex behandla inte @iftex- och @tex-text.\n" + +#: makeinfo/makeinfo.c:454 +#, fuzzy +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" +" Standardv酺dena f顤 @if...-villkoren beror p utdataformatet:\n" +" om HTML genereras 酺 --ifhtml p och de andra av;\n" +" om Info eller vanlig text genereras 酺 --ifinfo p och de andra av.\n" + +#: makeinfo/makeinfo.c:461 +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" +"Exempel:\n" +" makeinfo apa.texi skriv Info till apas @setfilename\n" +" makeinfo --html apa.texi skriv HTML till @setfilename\n" +" makeinfo --xml apa.texi skriv XML till @setfilename\n" +" makeinfo --docbook apa.texi skriv DocBook XML till @setfilename\n" +" makeinfo --no-headers apa.texi skriv vanlig text till standard ut\n" +" makeinfo --html --no-headers apa.texi skriv html utan nodrader och menyer\n" +" makeinfo --number-sections apa.texi skriv Info med numrerade avsnitt\n" +" makeinfo --no-split apa.texi skriv en Info-fil hur stor den 鄚 " +"酺\n" + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr "%s: argumentet %s m廛te vara numeriskt, inte \"%s\".\n" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "Kunde inte 鞿pna makroexpansionsutdata \"%s\"" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "Kan inte ange mer 鄚 en makroexpansionsutdata" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "" +"%s: argumentet --paragraph-indent m廛te vara numeriskt/\"none\"/\"asis\", " +"inte \"%s\".\n" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "" +"%s: argumentet --footnote-style m廛te vara \"separate\" eller \"end\", inte " +"\"%s\".\n" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr "%s: filargument saknas.\n" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "\"%s\" f顤v鄚tades" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "Filen finns men 酺 ingen katalog" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "Kan inte skapa katalogen \"%s\": %s" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "Inget \"%s\" hittades i \"%s\"" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "" +"%s: Hoppar 饘er makroexpansionen till standard ut eftersom Info-utdatan g緳 " +"dit.\n" + +# printf (_("Making %s file `%s' from `%s'.\n"), +# no_headers ? "text" : (html ? "HTML" : "info"), +# output_filename, input_filename); +# +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr "Skapar %s-fil \"%s\" fr幩 \"%s\".\n" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "Detta 酺 %s, skapad av makeinfo version %s fr幩 %s.\n" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: Tar bort makroutdatafilen \"%s\" p grund av fel; anv鄚d --force f顤 att " +"bevara.\n" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "" +"%s: Tar bort utdatafilen \"%s\" p grund av fel; anv鄚d --force f顤 att " +"bevara.\n" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "Ok鄚t kommando \"%s\"" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "Anv鄚d klamrar f顤 att ge ett komamndo som ett argument till @%s" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "%c%s f顤v鄚tades \"{...}\"" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "Ensam }" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "INGET_NAMN!" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "%c%s saknar avslutande klammer" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "F顤sta argumentet till korsreferens kan inte vara tomt" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "se " + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "Se " + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "\".\" eller \",\" m廛te f闤ja p korsreferens, inte %c" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "F顤sta argumentet till @inforef kan inte vara tomt" + +#: makeinfo/makeinfo.c:3427 +#, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "@image-filen \"%s\" (f顤 HTML) 酺 ol酲lig: %s" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "Ingen \"%s.png\" eller \".jpg\" och ingen fil鄚delse angiven" + +#: makeinfo/makeinfo.c:3490 +#, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "@image-filen \"%s\" (f顤 text) 酺 ol酲lig: %s" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "@image saknar filnamnsargument" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "{Inget v酺de f顤 \"%s\"}" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "%c%s kr銥er ett namn" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "N嶟de filslut innan matchande @end %s" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "\"%.40s...\" 酺 f顤 l幩g f顤 expansion; inte expanderad" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "Ett } saknas i @multitable-mall" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "ignorerar l飉 text \"%s\" efter @multitable" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "F顤 m幩ga kolumner i multitabellsobjekt (max %d)" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "Kan inte v鄟ja kolumn %d i multitabell" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "ignorerar @tab utanf顤 multitabell" + +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "** Utdata p flera kolumner fr幩 senaste raden:\n" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "* kolumn %d: utdata = %s\n" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "Noden \"%s\" 酺 tidigare definierad p rad %d" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "Formaterar noden %s...\n" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "Noden \"%s\" kr銥er ett avsnittskommando (t.ex. %c%s)" + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "Inget nodnamn angivet f顤 kommandot \"%c%s\"" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "Ankaret \"%s\" och noden \"%s\" mappas till samma filnamn" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "" +"Detta @anchor-kommando ignoreras; referenser till det kommer inte att fungera" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "Byt namn p detta ankare eller anv鄚d flaggan \"--no-split\"" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "Ov鄚tad str鄚g vid slutet p den delade HTML-filen \"%s\"" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "Nod:" + +# src/menus.c:332 +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "N酲ta:" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "F顤eg嶒nde:" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "Upp:" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "Ankarna \"%s\" och \"%s\" mappas till samma filnamn" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "" +"@anchor-kommandot ignoreras; referenser till det kommer inte att fungera" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "%s-referens till ickeexisterande noden \"%s\"" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "Meny" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "Kors" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "N酲ta f鄟t i noden \"%s\" pekas inte till" + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "Denna nod (%s) har den felaktiga f顤eg嶒nde-noden" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "F顤eg" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "F顤eg嶒nde-f鄟tet i noden \"%s\" pekas inte till" + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "Denna nod (%s) har den felaktiga n酲ta-noden" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "\"%s\" har inget upp-f鄟t" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "Upp" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "Noden \"%s\" saknar menypost f顤 \"%s\" trots att den 酺 dess Upp-m嶚" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "noden \"%s\" har refererats %d g幩ger" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "orefererad nod \"%s\"" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "Appendix %c " + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "Internt fel (search_sectioning) \"%s\"!" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "%c%s 酺 f顤嶚drat; anv鄚d %c%s ist鄟let" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "En nod med %ctop som en sektion finns redan" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "H酺 酺 %ctop-noden" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "%ctop anv鄚des innan %cnode, anv鄚der %s som standard" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "Inneh嶚lsf顤teckning" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "Kort inneh嶚lsf顤teckning" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "%s: Inneh嶚lsf顤teckningen skulle vara h酺, men hittades inte" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "@image-filen \"%s\" 酺 ol酲lig: %s" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "%s: varning: " + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "virtuellt minne slut" + +# char *s = concat ("", strerror (errno), _(" for %s")); +# +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr " f顤 %s" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr "\tProva \"%s --help\" f顤 en fullst鄚dig lista med flaggor.\n" + +#: util/install-info.c:389 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" +"Anv鄚dning: %s [FLAGGA]... [INFO-FIL [KATALOGFIL]]\n" +"\n" +"Installera eller ta bort katalogposter fr幩 INFO-FIL i Info-katalogfilen\n" +"KATALOGFIL.\n" +"\n" +"Flaggor:\n" +" --delete ta bort existerande poster f顤 INFO-FIL fr幩 KATALOGFIL;\n" +" infoga inte n嶓ra nya poster.\n" +" --dir-file=NAMN ange filnamnet p Info-katalogfilen.\n" +" Detta motsvarar anv鄚dning av argumentet KATALOGFIL.\n" +" --entry=TEXT infoga TEXT som en Info-katalogpost.\n" +" TEXT b顤 vara i formen av en Info-menypostsrad plus\n" +" noll eller fler extra rader som b顤jar med tomrum.\n" +" Om du anger mer 鄚 en post kommer alla att l輍gas\n" +" till. Om du inte anger n嶓ra poster kommer de att\n" +" avg顤as fr幩 information i sj鄟va Info-filen.\n" +" --help visa denna hj鄟ptext och avsluta.\n" +" --info-file=FIL ange Info-fil att installera i katalogen.\n" +" Detta motsvarar anv鄚dning av argumentet INFO-FIL.\n" +" --info-dir=KAT samma som --dir-file=KAT/kat.\n" +" --item=TEXT samma som --entry TEXT.\n" +" En Info-katalogpost 酺 egentligen en menypost.\n" +" --quiet undertryck varningar.\n" +" --remove samma som --delete.\n" +" --section=AVSNITT placera denna fils poster i avsnittet AVSNITT i\n" +" katalogen. Om du anger mer 鄚 ett avsnitt kommer alla\n" +" poster att l輍gas till i varje sektion. Om du inte\n" +" anger n嶓ra avsnitt kommer de att best鄝mas fr幩\n" +" information i sj鄟va Info-filen.\n" +" --version visa versionsinformation och avsluta.\n" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" +"Detta 酺 filen .../info/dir som inneh嶚ler den 饘ersta noden i\n" +"Info-hierarkin som kallas (kat)Top.\n" +"F顤sta g幩gen du anv鄚der Info b顤jar du med denna nod.\n" +"\n" +"%s\tDetta 酺 饘ersta noden i INFO-tr輐et\n" +"\n" +" Denna nod (katalognoden) erbjuder en meny med huvudrubriker.\n" +" Att skriva \"q\" avslutar, \"?\" visar alla Info-kommandon, \"d\"\n" +" 廞erv鄚der hit, \"h\" visar en hj鄟p f顤 f顤stag幩gsanv鄚dare,\n" +" \"mEmacs<Retur>\" bes闥er Emacs-manualen, osv.\n" +"\n" +" I Emacs kan du klicka med musknapp 2 p en menypost eller korsreferens\n" +" f顤 att v鄟ja den.\n" +"\n" +"* Meny:\n" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "%s: kunde inte l酲a (%s) och kunde inte skapa (%s)\n" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "%s: tom fil" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "START-INFO-DIR-ENTRY utan matchande END-INFO-DIR-ENTRY" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "END-INFO-DIR-ENTRY utan matchande START-INFO-DIR-ENTRY" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr "%s: Ange Info-katalogen endast en g幩g.\n" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr "%s: Ange Info-filen endast en g幩g.\n" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "f顤 m幩ga kommandoradsargument \"%s\"" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr "Ingen indatafil angiven; prova --help f顤 mer information." + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr "Ingen katalogfil angiven; prova --help f顤 mer information." + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "ingen info-katalogpost i \"%s\"" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "menyposten \"%s\" finns redan, f顤 filen \"%s\"" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "inga poster hittades f顤 \"%s\"; ingenting togs bort" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "visa denna hj鄟ptext och avsluta" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "beh嶚l tempor酺a filer efter behandling" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "beh嶚l inte tempor酺a filer efter behandling (standardalternativ)" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "skicka utdata till FIL" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "visa versionsinformation och avsluta" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "Anv鄚dning: %s [FLAGGA]... FIL...\n" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr "Generera ett sorterat index f顤 varje TeX-utdataFIL.\n" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr "" +"Vanligtvis anges FIL... som \"apa.%c%c\" f顤 ett dokument \"apa.texi\".\n" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Flaggor:\n" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "%s: inte en texinfo-indexfil" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "misslyckande vid 廞er鞿pnande av %s" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "Inget sidnummer i %s" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "posten %s f闤jer p en post med ett sekund酺t namn" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr "%s; f顤 filen \"%s\".\n" + +#~ msgid "" +#~ "Email bug reports to bug-texinfo@gnu.org,\n" +#~ "general questions and discussion to help-texinfo@gnu.org." +#~ msgstr "" +#~ "Skicka felrapporter till bug-texinfo@gnu.org,\n" +#~ "allm鄚na fr嶓or och diskussion till help-texinfo@gnu.org\n" +#~ "och synpunkter p 饘ers酹tningen till sv@li.org." + +#~ msgid "%s' argument to @image command not found" +#~ msgstr "%s argument till @image-kommandot hittades inte" + +#~ msgid "" +#~ "Usage: %s [OPTION]... TEXINFO-FILE...\n" +#~ "\n" +#~ "Translate Texinfo source documentation to various other formats:\n" +#~ "Info files suitable for reading online with Emacs or standalone GNU Info\n" +#~ "(by default); plain text (with --no-headers); or HTML (with --html).\n" +#~ "\n" +#~ "Options:\n" +#~ " --commands-in-node-names allow @ commands in node names.\n" +#~ " -D VAR define a variable, as with @set.\n" +#~ "--docbook output DocBook rather than Info format.\n" +#~ " -E, --macro-expand FILE output macro-expanded source to FILE.\n" +#~ " --error-limit=NUM quit after NUM errors (default %d).\n" +#~ " --fill-column=NUM break Info lines at NUM characters (default %" +#~ "d).\n" +#~ " --footnote-style=STYLE output footnotes according to STYLE:\n" +#~ " `separate' to place footnotes in their own " +#~ "node,\n" +#~ " `end' to place the footnotes at the end of " +#~ "the\n" +#~ " node in which they are defined (the " +#~ "default).\n" +#~ " --force preserve output even if errors.\n" +#~ " --help display this help and exit.\n" +#~ " --html output HTML rather than Info format.\n" +#~ " -I DIR append DIR to the @include search path.\n" +#~ " --ifhtml process @ifhtml and @html text even when not\n" +#~ " generating HTML.\n" +#~ " --ifinfo process @ifinfo text even when generating " +#~ "HTML.\n" +#~ " --iftex process @iftex and @tex text.\n" +#~ " implies --no-split.\n" +#~ msgstr "" +#~ "Anv鄚dning: %s [FLAGGA]... TEXINFO-FIL...\n" +#~ "\n" +#~ "琌ers酹t Texinfo-k鄟ldokumentation till diverse andra format:\n" +#~ "Info-filer som 酺 l鄝pliga f顤 l酲ning p sk酺m med Emacs eller separat\n" +#~ "GNU Info (standardalternativ), vanlig text (med --no-headers), eller\n" +#~ "HTML (med --html).\n" +#~ "\n" +#~ "Flaggor:\n" +#~ " --commands-in-node-names till廞 @-kommandon i nodnamn.\n" +#~ " -D VARIABEL definiera en variabel, som med @set.\n" +#~ "--docbook generera DocBook ist鄟let f顤 Info-format.\n" +#~ " -E, --macro-expand FIL generera makroexpanderad k鄟lkod till FIL.\n" +#~ " --error-limit=ANTAL avsluta efter ANTAL fel (standard %d).\n" +#~ " --fill-column=ANTAL radbryt Info-rader vid ANTAL tecken (standard %" +#~ "d).\n" +#~ " --footnote-style=STIL generera fotnoter enligt STIL:\n" +#~ " \"separate\" f顤 att placera fotnoter i sin\n" +#~ " egen nod,\n" +#~ " \"end\" f顤 att placera fotnoter i slutet av\n" +#~ " den nod d酺 de 酺 definierade (standard).\n" +#~ " --force bevara utdata 銥en om fel p廞r輎fas.\n" +#~ " --help visa denna hj鄟ptext och avsluta.\n" +#~ " --html generera HTML ist鄟let f顤 Info-format.\n" +#~ " -I KATALOG l輍g till KATALOG till @include-s闥v輍en.\n" +#~ " --ifhtml behandla @ifhtml- och @html-text 銥en om inte\n" +#~ " HTML genereras.\n" +#~ " --ifinfo behandla @ifinfo-text 銥en d HTML genereras.\n" +#~ " --iftex behandla @iftex- och @tex-text.\n" +#~ " medf顤 --no-split.\n" + +#~ msgid "" +#~ " --no-headers suppress Info node separators and Node: " +#~ "lines;\n" +#~ " write to standard output without --output.\n" +#~ " --no-ifhtml do not process @ifhtml and @html text.\n" +#~ " --no-ifinfo do not process @ifinfo text.\n" +#~ " --no-iftex do not process @iftex and @tex text.\n" +#~ " --no-split suppress splitting of Info or HTML output,\n" +#~ " generate only one output file.\n" +#~ " --no-validate suppress node cross-reference validation.\n" +#~ " --no-warn suppress warnings (but not errors).\n" +#~ " --number-sections include chapter, section, etc. numbers in " +#~ "output.\n" +#~ " -o, --output=FILE output to FILE (directory if split HTML),\n" +#~ " ignoring any @setfilename.\n" +#~ " -P DIR prepend DIR to the @include search path.\n" +#~ " --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +#~ "d).\n" +#~ " if VAL is `none', do not indent;\n" +#~ " if VAL is `asis', preserve existing " +#~ "indentation.\n" +#~ " --reference-limit=NUM warn about at most NUM references (default %" +#~ "d).\n" +#~ " --split-size=NUM split into files at NUM size. (default %d).\n" +#~ " -U VAR undefine a variable, as with @clear.\n" +#~ " -v, --verbose explain what is being done.\n" +#~ " --version display version information and exit.\n" +#~ " --xml output XML (TexinfoML) rather than Info " +#~ "format.\n" +#~ msgstr "" +#~ " --no-headers undertryck Info-nodavskiljare och \"Node:\"-" +#~ "rader,\n" +#~ " skriv till standard ut utan --output.\n" +#~ " --no-ifhtml behandla inte @ifhtml- och @html-text.\n" +#~ " --no-ifinfo behandla inte @ifinfo-text.\n" +#~ " --no-iftex behandla inte @iftex- och @tex-text.\n" +#~ " --no-split undertryck delning av Info- eller HTML-" +#~ "utdata,\n" +#~ " skapa endast en utdatafil.\n" +#~ " --no-validate undertryck nod-korsreferensvalidering.\n" +#~ " --no-warn undertryck varningar (men inte fel).\n" +#~ " --number-sections inkludera kapitel-, sektionsnummer osv i " +#~ "utdata.\n" +#~ " -o, --output=FIL skriv till FIL (katalog om delad HTML),\n" +#~ " ignorerar alla @setfilename.\n" +#~ " -P KATALOG l輍g till KATALOG till @include-s闥v輍en.\n" +#~ " --paragraph-indent=V麗DE g顤 indrag i Info-stycken med V麗DE blanksteg\n" +#~ " (standardv酺de %d).\n" +#~ " om V麗DE 酺 \"none\" g顤s inget indrag;\n" +#~ " om V麗DE 酺 \"asis\" bevaras befintlig " +#~ "indragning.\n" +#~ " --reference-limit=ANTAL varna om h鐷st ANTAL referenser\n" +#~ " (standardv酺de %d).\n" +#~ " --split-size=ANTAL dela i filer vid storleken ANTAL\n" +#~ " (standardv酺de %d).\n" +#~ " -U VARIABEL odefiniera en variabel, som med @clear.\n" +#~ " -v, --verbose f顤klara vad som g顤s.\n" +#~ " --version visa versionsinformation och avsluta.\n" +#~ " --xml generera XML (TexinfoML) ist鄟let f顤 Info-" +#~ "format.\n" diff --git a/gnu/usr.bin/texinfo/po/zh_TW.gmo b/gnu/usr.bin/texinfo/po/zh_TW.gmo Binary files differnew file mode 100644 index 00000000000..b06e41326c7 --- /dev/null +++ b/gnu/usr.bin/texinfo/po/zh_TW.gmo diff --git a/gnu/usr.bin/texinfo/po/zh_TW.po b/gnu/usr.bin/texinfo/po/zh_TW.po new file mode 100644 index 00000000000..8182698151c --- /dev/null +++ b/gnu/usr.bin/texinfo/po/zh_TW.po @@ -0,0 +1,2954 @@ +# traditional Chinese translation for texinfo +# Copyright (C) 2000 Free Software Foundation, Inc. +# plasma <plasmaball@pchome.com.tw>, 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: texinfo 4.1\n" +"POT-Creation-Date: 2002-04-01 06:10-0800\n" +"PO-Revision-Date: 2002-03-08 04:56+0800\n" +"Last-Translator: Abel Cheung <maddog@linux.org.hk>\n" +"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=Big5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: info/echo-area.c:283 info/session.c:712 +msgid "Move forward a character" +msgstr "向前移動一個字元" + +#: info/echo-area.c:295 info/session.c:728 +msgid "Move backward a character" +msgstr "向後移動一個字元" + +#: info/echo-area.c:307 +msgid "Move to the start of this line" +msgstr "移至本行開頭" + +#: info/echo-area.c:312 +msgid "Move to the end of this line" +msgstr "移至本行結尾" + +#: info/echo-area.c:320 info/session.c:746 +msgid "Move forward a word" +msgstr "向前移動一個字" + +#: info/echo-area.c:360 info/session.c:795 +msgid "Move backward a word" +msgstr "向後移動一個字" + +#: info/echo-area.c:400 +msgid "Delete the character under the cursor" +msgstr "刪除游標位置的字元" + +#: info/echo-area.c:430 +msgid "Delete the character behind the cursor" +msgstr "刪除游標位置後的字元" + +#: info/echo-area.c:451 +msgid "Cancel or quit operation" +msgstr "取消或結束目前的動作" + +#: info/echo-area.c:466 +msgid "Accept (or force completion of) this line" +msgstr "接受 (或強迫完成) 本行" + +#: info/echo-area.c:471 +msgid "Insert next character verbatim" +msgstr "不作轉換, 插入下一個字元" + +#: info/echo-area.c:479 +msgid "Insert this character" +msgstr "插入本字元" + +#: info/echo-area.c:497 +msgid "Insert a TAB character" +msgstr "插入一個 TAB 字元" + +#: info/echo-area.c:504 +msgid "Transpose characters at point" +msgstr "變換游標位置的字元的順序" + +#: info/echo-area.c:555 +msgid "Yank back the contents of the last kill" +msgstr "貼入上一次剪下的內容" + +#: info/echo-area.c:562 +msgid "Kill ring is empty" +msgstr "剪貼簿沒有內容" + +#: info/echo-area.c:575 +msgid "Yank back a previous kill" +msgstr "貼上前次的剪下內容" + +#: info/echo-area.c:608 +msgid "Kill to the end of the line" +msgstr "刪除至本行結尾, 並置入剪貼簿" + +#: info/echo-area.c:621 +msgid "Kill to the beginning of the line" +msgstr "刪除至本行開頭, 並置入剪貼簿" + +#: info/echo-area.c:633 +msgid "Kill the word following the cursor" +msgstr "刪除游標後的單字, 並置入剪貼簿" + +#: info/echo-area.c:652 +msgid "Kill the word preceding the cursor" +msgstr "刪除游標前的單字, 並置入剪貼簿" + +#: info/echo-area.c:872 info/echo-area.c:932 +msgid "No completions" +msgstr "沒有可能的完成句" + +#: info/echo-area.c:874 +msgid "Not complete" +msgstr "未完成" + +#: info/echo-area.c:919 +msgid "List possible completions" +msgstr "列出可能的完成句" + +#: info/echo-area.c:936 +msgid "Sole completion" +msgstr "單一的完成句" + +#: info/echo-area.c:945 +msgid "One completion:\n" +msgstr "一個完成句:\n" + +#: info/echo-area.c:946 +#, c-format +msgid "%d completions:\n" +msgstr "%d 個完成句:\n" + +#: info/echo-area.c:1092 +msgid "Insert completion" +msgstr "插入完成句" + +#: info/echo-area.c:1225 +msgid "Building completions..." +msgstr "建立完成句中..." + +#: info/echo-area.c:1342 +msgid "Scroll the completions window" +msgstr "捲動完成句分隔視窗" + +#: info/footnotes.c:212 +msgid "Footnotes could not be displayed" +msgstr "無法顯示註腳" + +#: info/footnotes.c:238 +msgid "Show the footnotes associated with this node in another window" +msgstr "將本節點的註腳顯示在另一個分隔視窗內" + +#: info/footnotes.h:26 +#, fuzzy +msgid "---------- Footnotes ----------" +msgstr "---------------------\n" + +#: info/indices.c:175 +msgid "Look up a string in the index for this file" +msgstr "在本檔案的索引內查詢字串" + +#: info/indices.c:205 +msgid "Finding index entries..." +msgstr "找尋索引項目..." + +#: info/indices.c:212 +msgid "No indices found." +msgstr "找不到索引" + +#: info/indices.c:222 +msgid "Index entry: " +msgstr "索引項目: " + +#: info/indices.c:332 +msgid "" +"Go to the next matching index item from the last `\\[index-search]' command" +msgstr "移動至下一個符合上一次的 `\\[index-search] 命令的搜尋項目" + +#: info/indices.c:342 +msgid "No previous index search string." +msgstr "沒有前一個索引搜尋字串" + +#: info/indices.c:349 +msgid "No index entries." +msgstr "沒有索引項目." + +#: info/indices.c:382 +#, c-format +msgid "No %sindex entries containing \"%s\"." +msgstr "沒有 %s索引項目包含 \"%s\"." + +#: info/indices.c:383 +msgid "more " +msgstr "更多的 " + +#: info/indices.c:393 +msgid "CAN'T SEE THIS" +msgstr "" + +#: info/indices.c:429 +#, c-format +msgid "Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)" +msgstr "找到 \"%s\" 在 %s 之中. (`\\[next-index-match]' 嘗試要找到下一個字串.)" + +#: info/indices.c:549 +#, c-format +msgid "Scanning indices of \"%s\"..." +msgstr "掃瞄 \"%s\" 的索引中..." + +#: info/indices.c:603 +#, c-format +msgid "No available info files have \"%s\" in their indices." +msgstr "" + +#: info/indices.c:632 +msgid "Grovel all known info file's indices for a string and build a menu" +msgstr "整理所有已知 info 檔中包含查詢字串的索引, 並建立一個選單" + +#: info/indices.c:636 +msgid "Index apropos: " +msgstr "" + +#: info/indices.c:666 +#, c-format +msgid "" +"\n" +"* Menu: Nodes whoses indices contain \"%s\":\n" +msgstr "" +"\n" +"* Menu: 其索引中包含 \"%s\" 的節點:\n" + +#: info/info.c:260 info/infokey.c:884 +msgid "Try --help for more information.\n" +msgstr "試試 --help 以取得更多的資訊.\n" + +#: info/info.c:279 info/infokey.c:139 makeinfo/makeinfo.c:689 +#: util/install-info.c:1224 util/texindex.c:338 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"There is NO warranty. You may redistribute this software\n" +"under the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Copyright (C) %s 自由軟體基金會 Free Software Foundation, Inc.\n" +"本軟體*不作任何保證*. 您可在 GNU 公共授權 \n" +"(GNU General Public License) 的條款下散佈本軟體.\n" +"欲知更多的詳情, 請看檔名為 COPYING 的檔案.\n" + +#: info/info.c:462 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "找不到包含 `%s' 的索引項目\n" + +#: info/info.c:555 +msgid " -b, --speech-friendly be friendly to speech synthesizers.\n" +msgstr "" + +#: info/info.c:562 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"Read documentation in Info format.\n" +"\n" +"Options:\n" +" --apropos=STRING look up STRING in all indices of all " +"manuals.\n" +" -d, --directory=DIR add DIR to INFOPATH.\n" +" --dribble=FILENAME remember user keystrokes in FILENAME.\n" +" -f, --file=FILENAME specify Info file to visit.\n" +" -h, --help display this help and exit.\n" +" --index-search=STRING go to node pointed by index entry STRING.\n" +" -n, --node=NODENAME specify nodes in first visited Info file.\n" +" -o, --output=FILENAME output selected nodes to FILENAME.\n" +" -R, --raw-escapes don't remove ANSI escapes from man pages.\n" +" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" -O, --show-options, --usage go to command-line options node.\n" +"%s --subnodes recursively output menu items.\n" +" --vi-keys use vi-like and less-like key bindings.\n" +" --version display version information and exit.\n" +"\n" +"The first non-option argument, if present, is the menu entry to start from;\n" +"it is searched for in all `dir' files along INFOPATH.\n" +"If it is not present, info merges all `dir' files and shows the result.\n" +"Any remaining arguments are treated as the names of menu\n" +"items relative to the initial node visited.\n" +"\n" +"Examples:\n" +" info show top-level dir menu\n" +" info emacs start at emacs node from top-level dir\n" +" info emacs buffers start at buffers node within emacs manual\n" +" info --show-options emacs start at node with emacs' command line options\n" +" info -f ./foo.info show file ./foo.info, not searching dir\n" +msgstr "" +"用法: %s [OPTION]... [MENU-ITEM...]\n" +"\n" +"閱讀 Info 格式的文件.\n" +"\n" +"Options:\n" +" --apropos=SUBJECT 在所有的手冊的索引中尋找 SUBJECT.\n" +" --directory=DIR 將 DIR 加至 INFOPATH 中.\n" +" --dribble=FILENAME 將使用者的按鍵記錄在 FILENAME 中.\n" +" --file=FILENAME 指定拜訪的 Info 檔案.\n" +" --help 顯示本求助資訊, 然後離開.\n" +" --index-search=STRING 跳至索引項目 STRING 所指向的節點.\n" +" --node=NODENAME 指定第一個拜訪的 Info 檔案中的節點.\n" +" --output=FILENAME 將選擇的節點輸出至檔案 FILENAME.\n" +" --restore=FILENAME 自檔案 FILENAME 讀取初始的按鍵.\n" +" --show-options, --usage 跳至命令列選項的節點.\n" +" --subnodes 以遞迴方式輸出選單項目.\n" +"%s --vi-keys 使用類似 vi 與 less 的按鍵方式.\n" +" --version 顯示版本資訊, 然後結束.\n" +"\n" +"如果有非選項的引數, 第一個非選項的引數是開始的選單項目;\n" +"它會被用來當作在 INFOPATH 內的所有 dir 檔案的搜尋標的.\n" +"如果沒有的話, info 會統合所有的 dir 檔案, 然後顯示結果.\n" +"剩下的引數會被當作相對於最初拜訪節點的選單項目的名稱.\n" +"\n" +"範例:\n" +" info 顯示最上層的選單\n" +" info emacs 以最上層中的 emacs 節點作為起點\n" +" info emacs buffers 以 emacs 手冊中的 buffers 節點作為起點\n" +" info --show-options emacs 以介紹 emacs 的執行選項的節點作為起點\n" +" info -f ./foo.info 顯示檔案 ./foo.info, 不搜尋目錄\n" +"\n" +"程式臭蟲, 請以電子郵件 (英文) 回報至 bug-texinfo@gnu.org,\n" +"一般問題與討論, 請以電子郵件 (英文) 寄到 help-texinfo@gnu.org.\n" + +#: info/info.c:598 info/infokey.c:903 makeinfo/makeinfo.c:474 +#: util/install-info.c:421 util/texindex.c:286 +#, fuzzy +msgid "" +"\n" +"Email bug reports to bug-texinfo@gnu.org,\n" +"general questions and discussion to help-texinfo@gnu.org.\n" +"Texinfo home page: http://www.gnu.org/software/texinfo/" +msgstr "" +"\n" +"程式臭蟲, 請以電子郵件 (英文) 回報至 bug-texinfo@gnu.org,\n" +"一般問題與討論, 請以電子郵件 (英文) 寄到 help-texinfo@gnu.org.\n" + +#: info/info.c:632 +#, c-format +msgid "Cannot find node `%s'." +msgstr "找不到 `%s' 節點." + +#: info/info.c:633 +#, c-format +msgid "Cannot find node `(%s)%s'." +msgstr "找不到 `(%s)%s' 節點." + +#: info/info.c:634 +msgid "Cannot find a window!" +msgstr "找不到分隔視窗!" + +#: info/info.c:635 +msgid "Point doesn't appear within this window's node!" +msgstr "游標位置不在本分隔視窗的節點內!" + +#: info/info.c:636 +msgid "Cannot delete the last window." +msgstr "無法刪除上一個分隔視窗." + +#: info/info.c:637 +msgid "No menu in this node." +msgstr "本節點沒有選單." + +#: info/info.c:638 +msgid "No footnotes in this node." +msgstr "本節點沒有註腳." + +#: info/info.c:639 +msgid "No cross references in this node." +msgstr "本節點沒有交互參照." + +#: info/info.c:640 +#, c-format +msgid "No `%s' pointer for this node." +msgstr "本節點沒有 `%s' pointer." + +#: info/info.c:641 +#, c-format +msgid "Unknown Info command `%c'; try `?' for help." +msgstr "未知的 Info 命令 `%c'; 試試 `?' 以取得求助資訊." + +#: info/info.c:642 +#, c-format +msgid "Terminal type `%s' is not smart enough to run Info." +msgstr "終端機類型 `%s' 無法支援執行 Info 所需的需求." + +#: info/info.c:643 +msgid "You are already at the last page of this node." +msgstr "您已在本節點的最後一頁." + +#: info/info.c:644 +msgid "You are already at the first page of this node." +msgstr "您已在本節點的第一頁." + +#: info/info.c:645 +msgid "Only one window." +msgstr "只有一個分隔視窗." + +#: info/info.c:646 +msgid "Resulting window would be too small." +msgstr "產生的分隔視窗會太小." + +#: info/info.c:647 +msgid "Not enough room for a help window, please delete a window." +msgstr "剩下的空間太小, 無法容納求助分隔視窗, 請刪除一個分隔視窗." + +#: info/infodoc.c:45 info/infodoc.c:94 +#, fuzzy +msgid "" +"Basic Commands in Info Windows\n" +"******************************\n" +msgstr "******************************\n" + +#: info/infodoc.c:48 +#, fuzzy +msgid "\\%-10[quit-help] Quit this help.\n" +msgstr " %-10s 結束本求助.\n" + +#: info/infodoc.c:49 +#, fuzzy +msgid "\\%-10[quit] Quit Info altogether.\n" +msgstr " %-10s 一併結束 Info 程式.\n" + +#: info/infodoc.c:50 +#, fuzzy +msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" +msgstr " %-10s 執行 Info 指導課程.\n" + +#: info/infodoc.c:52 info/infodoc.c:101 +#, fuzzy +msgid "" +"Selecting other nodes:\n" +"----------------------\n" +msgstr "----------------------\n" + +#: info/infodoc.c:54 +#, fuzzy +msgid "\\%-10[next-node] Move to the \"next\" node of this node.\n" +msgstr " %-10s 移至本節點的 '下一個 (next)' 節點.\n" + +#: info/infodoc.c:55 +#, fuzzy +msgid "\\%-10[prev-node] Move to the \"previous\" node of this node.\n" +msgstr " %-10s 移至本節點的 '上一個 (previous)' 節點.\n" + +#: info/infodoc.c:56 +#, fuzzy +msgid "\\%-10[up-node] Move \"up\" from this node.\n" +msgstr " %-10s 移至本節點的 '上一層 (up)' 節點.\n" + +#: info/infodoc.c:57 +#, fuzzy +msgid "" +"\\%-10[menu-item] Pick menu item specified by name.\n" +" Picking a menu item causes another node to be selected.\n" +msgstr " 選取選單項目以選擇另一個節點.\n" + +#: info/infodoc.c:59 +#, fuzzy +msgid "" +"\\%-10[xref-item] Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s 跟隨交互參照. 讀取參照的名稱.\n" + +#: info/infodoc.c:60 +#, fuzzy +msgid "\\%-10[history-node] Move to the last node seen in this window.\n" +msgstr " %-10s 移動至本分隔視窗中, 上一個觀看的節點.\n" + +#: info/infodoc.c:61 +#, fuzzy +msgid "" +"\\%-10[move-to-next-xref] Skip to next hypertext link within this node.\n" +msgstr " %-10s 跳到本節點中的下一個超本文連結.\n" + +#: info/infodoc.c:62 +#, fuzzy +msgid "" +"\\%-10[move-to-prev-xref] Skip to previous hypertext link within this " +"node.\n" +msgstr " %-10s 跳到本節點中的下一個超本文連結.\n" + +#: info/infodoc.c:63 +#, fuzzy +msgid "" +"\\%-10[select-reference-this-line] Follow the hypertext link under cursor.\n" +msgstr " %-10s 跟隨游標下的超本文連結.\n" + +#: info/infodoc.c:64 +#, fuzzy +msgid "" +"\\%-10[dir-node] Move to the `directory' node. Equivalent to `\\[goto-" +"node] (DIR)'.\n" +msgstr " %-10s 移至 `directory' 節點. 同 `g (DIR)'.\n" + +#: info/infodoc.c:65 +#, fuzzy +msgid "" +"\\%-10[top-node] Move to the Top node. Equivalent to `\\[goto-node] Top'.\n" +msgstr " %-10s 移至 Top 節點. 同 `g TOP'.\n" + +#: info/infodoc.c:67 info/infodoc.c:115 +#, fuzzy +msgid "" +"Moving within a node:\n" +"---------------------\n" +msgstr "---------------------\n" + +#: info/infodoc.c:69 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward a page.\n" +msgstr " %-10s 向前捲動一頁.\n" + +#: info/infodoc.c:70 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward a page.\n" +msgstr " %-10s 向後捲動一頁.\n" + +#: info/infodoc.c:71 +#, fuzzy +msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" +msgstr " %-10s 移至本節點的開頭.\n" + +#: info/infodoc.c:72 +#, fuzzy +msgid "\\%-10[end-of-node] Go to the end of this node.\n" +msgstr " %-10s 移至本節點的結尾.\n" + +#: info/infodoc.c:73 +#, fuzzy +msgid "\\%-10[scroll-forward] Scroll forward 1 line.\n" +msgstr " %-10s 往前捲動一行.\n" + +#: info/infodoc.c:74 +#, fuzzy +msgid "\\%-10[scroll-backward] Scroll backward 1 line.\n" +msgstr " %-10s 往後捲動一行.\n" + +#: info/infodoc.c:76 info/infodoc.c:124 +#, fuzzy +msgid "" +"Other commands:\n" +"---------------\n" +msgstr "---------------\n" + +#: info/infodoc.c:78 +#, fuzzy +msgid "\\%-10[menu-digit] Pick first ... ninth item in node's menu.\n" +msgstr " %-10s 挑選節點目錄中的第一個...第九個項目.\n" + +#: info/infodoc.c:79 +#, fuzzy +msgid "\\%-10[last-menu-item] Pick last item in node's menu.\n" +msgstr " %-10s 挑選節點目錄的最後一個項目.\n" + +#: info/infodoc.c:80 +#, fuzzy +msgid "" +"\\%-10[index-search] Search for a specified string in the index entries of " +"this Info\n" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr " 並且選擇第一個搜尋到的項目所參照的節點.\n" + +#: info/infodoc.c:82 +#, fuzzy +msgid "" +"\\%-10[goto-node] Move to node specified by name.\n" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr " 您也可以包含檔名, 如: (檔名)節點名.\n" + +#: info/infodoc.c:84 +#, fuzzy +msgid "" +"\\%-10[search] Search forward for a specified string\n" +" and select the node in which the next occurrence is found.\n" +msgstr " 並且選擇下一個搜尋到的字串所在的節點.\n" + +#: info/infodoc.c:86 +#, fuzzy +msgid "" +"\\%-10[search-backward] Search backward for a specified string\n" +" and select the node in which the previous occurrence is " +"found.\n" +msgstr " 並且選擇下一個搜尋到的字串所在的節點.\n" + +#: info/infodoc.c:97 +#, c-format +msgid " %-10s Quit this help.\n" +msgstr " %-10s 結束本求助.\n" + +#: info/infodoc.c:98 +#, c-format +msgid " %-10s Quit Info altogether.\n" +msgstr " %-10s 一併結束 Info 程式.\n" + +#: info/infodoc.c:99 +#, c-format +msgid " %-10s Invoke the Info tutorial.\n" +msgstr " %-10s 執行 Info 指導課程.\n" + +#: info/infodoc.c:103 +#, c-format +msgid " %-10s Move to the `next' node of this node.\n" +msgstr " %-10s 移至本節點的 '下一個 (next)' 節點.\n" + +#: info/infodoc.c:104 +#, c-format +msgid " %-10s Move to the `previous' node of this node.\n" +msgstr " %-10s 移至本節點的 '上一個 (previous)' 節點.\n" + +#: info/infodoc.c:105 +#, c-format +msgid " %-10s Move `up' from this node.\n" +msgstr " %-10s 移至本節點的 '上一層 (up)' 節點.\n" + +#: info/infodoc.c:106 +#, c-format +msgid " %-10s Pick menu item specified by name.\n" +msgstr " %-10s 以名稱選取選單項目.\n" + +#: info/infodoc.c:107 +msgid " Picking a menu item causes another node to be selected.\n" +msgstr " 選取選單項目以選擇另一個節點.\n" + +#: info/infodoc.c:108 +#, c-format +msgid " %-10s Follow a cross reference. Reads name of reference.\n" +msgstr " %-10s 跟隨交互參照. 讀取參照的名稱.\n" + +#: info/infodoc.c:109 +#, c-format +msgid " %-10s Move to the last node seen in this window.\n" +msgstr " %-10s 移動至本分隔視窗中, 上一個觀看的節點.\n" + +#: info/infodoc.c:110 +#, c-format +msgid " %-10s Skip to next hypertext link within this node.\n" +msgstr " %-10s 跳到本節點中的下一個超本文連結.\n" + +#: info/infodoc.c:111 +#, c-format +msgid " %-10s Follow the hypertext link under cursor.\n" +msgstr " %-10s 跟隨游標下的超本文連結.\n" + +#: info/infodoc.c:112 +#, c-format +msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" +msgstr " %-10s 移至 `directory' 節點. 同 `g (DIR)'.\n" + +#: info/infodoc.c:113 +#, c-format +msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" +msgstr " %-10s 移至 Top 節點. 同 `g TOP'.\n" + +#: info/infodoc.c:117 +#, c-format +msgid " %-10s Scroll forward a page.\n" +msgstr " %-10s 向前捲動一頁.\n" + +#: info/infodoc.c:118 +#, c-format +msgid " %-10s Scroll backward a page.\n" +msgstr " %-10s 向後捲動一頁.\n" + +#: info/infodoc.c:119 +#, c-format +msgid " %-10s Go to the beginning of this node.\n" +msgstr " %-10s 移至本節點的開頭.\n" + +#: info/infodoc.c:120 +#, c-format +msgid " %-10s Go to the end of this node.\n" +msgstr " %-10s 移至本節點的結尾.\n" + +#: info/infodoc.c:121 +#, c-format +msgid " %-10s Scroll forward 1 line.\n" +msgstr " %-10s 往前捲動一行.\n" + +#: info/infodoc.c:122 +#, c-format +msgid " %-10s Scroll backward 1 line.\n" +msgstr " %-10s 往後捲動一行.\n" + +#: info/infodoc.c:126 +#, c-format +msgid " %-10s Pick first ... ninth item in node's menu.\n" +msgstr " %-10s 挑選節點目錄中的第一個...第九個項目.\n" + +#: info/infodoc.c:127 +#, c-format +msgid " %-10s Pick last item in node's menu.\n" +msgstr " %-10s 挑選節點目錄的最後一個項目.\n" + +#: info/infodoc.c:128 +#, c-format +msgid "" +" %-10s Search for a specified string in the index entries of this Info\n" +msgstr " %-10s 在本 Info 檔的索引項目中, 搜尋一個指定的字串,\n" + +#: info/infodoc.c:129 +msgid "" +" file, and select the node referenced by the first entry " +"found.\n" +msgstr " 並且選擇第一個搜尋到的項目所參照的節點.\n" + +#: info/infodoc.c:130 +#, c-format +msgid " %-10s Move to node specified by name.\n" +msgstr " %-10s 移動到指定名稱的節點.\n" + +#: info/infodoc.c:131 +msgid "" +" You may include a filename as well, as in (FILENAME)NODENAME.\n" +msgstr " 您也可以包含檔名, 如: (檔名)節點名.\n" + +#: info/infodoc.c:132 +#, fuzzy, c-format +msgid " %-10s Search forward for a specified string,\n" +msgstr " %-10s 在本 Info 檔中, 向前搜尋一個指定的字串,\n" + +#: info/infodoc.c:133 info/infodoc.c:135 +msgid "" +" and select the node in which the next occurrence is found.\n" +msgstr " 並且選擇下一個搜尋到的字串所在的節點.\n" + +#: info/infodoc.c:134 +#, fuzzy, c-format +msgid " %-10s Search backward for a specified string\n" +msgstr " %-10s 在本 Info 檔中, 向後搜尋一個指定的字串,\n" + +#: info/infodoc.c:313 +msgid "The current search path is:\n" +msgstr "目前的搜尋路徑為:\n" + +#: info/infodoc.c:316 +msgid "" +"Commands available in Info windows:\n" +"\n" +msgstr "" +"在 Info 分隔視窗中可用的指令:\n" +"\n" + +#: info/infodoc.c:319 +msgid "" +"Commands available in the echo area:\n" +"\n" +msgstr "" +"回應區中可用的指令:\n" +"\n" + +#: info/infodoc.c:340 +#, fuzzy, c-format +msgid "" +"The following commands can only be invoked via %s:\n" +"\n" +msgstr "" +"以下的指令, 只可經由 M-x 執行:\n" +"\n" + +#: info/infodoc.c:343 +#, fuzzy +msgid "" +"The following commands cannot be invoked at all:\n" +"\n" +msgstr "" +"以下的指令, 只可經由 M-x 執行:\n" +"\n" + +#: info/infodoc.c:367 +msgid "--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n" +msgstr "--- 使用 `\\[history-node]' 或 `\\[kill-node]' 離開---\n" + +#: info/infodoc.c:477 +msgid "Display help message" +msgstr "顯示求助訊息" + +#: info/infodoc.c:495 +msgid "Visit Info node `(info)Help'" +msgstr "拜訪 Info 節點 `(info)Help'" + +#: info/infodoc.c:638 +msgid "Print documentation for KEY" +msgstr "列出 KEY 的文件" + +#: info/infodoc.c:650 +#, c-format +msgid "Describe key: %s" +msgstr "描述按鍵指令: %s" + +#: info/infodoc.c:660 +#, c-format +msgid "ESC %s is undefined." +msgstr "ESC %s 未定義." + +#: info/infodoc.c:676 info/infodoc.c:703 +#, c-format +msgid "%s is undefined." +msgstr "%s 未定義." + +#: info/infodoc.c:724 +#, c-format +msgid "%s is defined to %s." +msgstr "%s 定義成 %s." + +#: info/infodoc.c:1151 +msgid "Show what to type to execute a given command" +msgstr "顯示執行某命令所需鍵入的按鍵" + +#: info/infodoc.c:1155 +msgid "Where is command: " +msgstr "" + +#: info/infodoc.c:1177 +#, c-format +msgid "`%s' is not on any keys" +msgstr "`%s' 未鏈結到任何按鍵" + +#: info/infodoc.c:1183 +#, c-format +msgid "%s can only be invoked via %s." +msgstr "%s 只能經由 %s 執行." + +#: info/infodoc.c:1186 +#, c-format +msgid "%s can be invoked via %s." +msgstr "%s 可經由 %s 執行." + +#: info/infodoc.c:1190 +#, c-format +msgid "There is no function named `%s'" +msgstr "沒有名為 `%s' 的函式" + +#: info/infokey.c:164 +msgid "incorrect number of arguments" +msgstr "" + +#: info/infokey.c:194 +#, fuzzy, c-format +msgid "cannot open input file `%s'" +msgstr "無法開啟至 `%s' 的管道." + +#: info/infokey.c:207 +#, fuzzy, c-format +msgid "cannot create output file `%s'" +msgstr "無法建立輸出檔案 `%s'." + +#: info/infokey.c:217 +#, c-format +msgid "error writing to `%s'" +msgstr "" + +#: info/infokey.c:222 +#, fuzzy, c-format +msgid "error closing output file `%s'" +msgstr "無法建立輸出檔案 `%s'." + +#: info/infokey.c:443 +msgid "key sequence too long" +msgstr "" + +#: info/infokey.c:521 +msgid "missing key sequence" +msgstr "" + +#: info/infokey.c:600 +msgid "NUL character (\\000) not permitted" +msgstr "" + +#: info/infokey.c:629 +#, c-format +msgid "NUL character (^%c) not permitted" +msgstr "" + +#: info/infokey.c:652 +#, fuzzy +msgid "missing action name" +msgstr "%c%s 遺漏右大括號" + +#: info/infokey.c:667 info/infokey.c:733 +msgid "section too long" +msgstr "" + +#: info/infokey.c:673 +#, fuzzy, c-format +msgid "unknown action `%s'" +msgstr "未知的命令 `%s'" + +#: info/infokey.c:682 +msgid "action name too long" +msgstr "" + +#: info/infokey.c:694 +#, c-format +msgid "extra characters following action `%s'" +msgstr "" + +#: info/infokey.c:704 +#, fuzzy +msgid "missing variable name" +msgstr "%s: 遺漏檔案引數.\n" + +#: info/infokey.c:712 +msgid "missing `=' immediately after variable name" +msgstr "" + +#: info/infokey.c:719 +msgid "variable name too long" +msgstr "" + +#: info/infokey.c:741 +msgid "value too long" +msgstr "" + +#: info/infokey.c:875 +#, c-format +msgid "\"%s\", line %u: " +msgstr "" + +#: info/infokey.c:891 +#, c-format +msgid "" +"Usage: %s [OPTION]... [INPUT-FILE]\n" +"\n" +"Compile infokey source file to infokey file. Reads INPUT-FILE (default\n" +"$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.\n" +"\n" +"Options:\n" +" --output FILE output to FILE instead of $HOME/.info\n" +" --help display this help and exit.\n" +" --version display version information and exit.\n" +msgstr "" + +#: info/infomap.c:1397 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too small" +msgstr "" + +#: info/infomap.c:1400 +#, c-format +msgid "Ignoring invalid infokey file `%s' - too big" +msgstr "" + +#: info/infomap.c:1413 +#, c-format +msgid "Error reading infokey file `%s' - short read" +msgstr "" + +#: info/infomap.c:1431 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" +msgstr "" + +#: info/infomap.c:1437 +#, c-format +msgid "Your infokey file `%s' is out of date -- run infokey to update it" +msgstr "" + +#: info/infomap.c:1450 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section length) -- run infokey to update it" +msgstr "" + +#: info/infomap.c:1470 +#, c-format +msgid "" +"Invalid infokey file `%s' (bad section code) -- run infokey to update it" +msgstr "" + +#: info/infomap.c:1608 +msgid "Bad data in infokey file -- some key bindings ignored" +msgstr "" + +#: info/infomap.c:1659 +msgid "Bad data in infokey file -- some var settings ignored" +msgstr "" + +#: info/m-x.c:70 +msgid "Read the name of an Info command and describe it" +msgstr "讀取 Info 命令的名稱, 並且描述它" + +#: info/m-x.c:74 +msgid "Describe command: " +msgstr "描述命令: " + +#: info/m-x.c:97 +msgid "Read a command name in the echo area and execute it" +msgstr "在回應區中讀取命令名稱, 並且執行它" + +#: info/m-x.c:141 +msgid "Cannot execute an `echo-area' command here." +msgstr "無法在這裡執行 `echo-area' 命令." + +#: info/m-x.c:157 +msgid "Set the height of the displayed window" +msgstr "設定顯示視窗的高度" + +#: info/m-x.c:170 +#, c-format +msgid "Set screen height to (%d): " +msgstr "設定螢幕高度為 (%d): " + +#: info/makedoc.c:161 info/makedoc.c:169 +msgid "" +" Source files groveled to make this file include:\n" +"\n" +msgstr "" + +#: info/makedoc.c:553 +#, c-format +msgid "Couldn't manipulate the file %s.\n" +msgstr "無法處理檔案 %s.\n" + +#: info/nodemenu.c:28 +msgid "" +"\n" +"* Menu:\n" +" (File)Node Lines Size Containing File\n" +" ---------- ----- ---- ---------------" +msgstr "" +"\n" +"* 選單:\n" +" (檔案)節點 行 數 大小 包 含 檔 案\n" +" ---------- ----- ---- ---------------" + +#: info/nodemenu.c:199 +msgid "" +"Here is the menu of nodes you have recently visited.\n" +"Select one from this menu, or use `\\[history-node]' in another window.\n" +msgstr "" +"這是您最近拜訪過的節點選單.\n" +"自本選單選取一項, 或是在另一個分隔視窗使用 `\\[history-node]' 命令.\n" + +#: info/nodemenu.c:219 +msgid "Make a window containing a menu of all of the currently visited nodes" +msgstr "產生一個分隔視窗, 包含所有最近拜訪過的節點選單" + +#: info/nodemenu.c:299 +msgid "Select a node which has been previously visited in a visible window" +msgstr "選取之前在可見分隔視窗拜訪過的節點" + +#: info/nodemenu.c:311 +msgid "Select visited node: " +msgstr "選取拜訪過的節點: " + +#: info/nodemenu.c:331 info/session.c:2235 +#, c-format +msgid "The reference disappeared! (%s)." +msgstr "交互參照不見了! (%s)." + +#: info/session.c:170 +#, c-format +msgid "" +"Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] " +"for menu item." +msgstr "" +"歡迎使用 Info 版本 %s. 鍵入 \\[get-help-window] 以取得求助資訊, \\[menu-" +"item] 以取得選單項目." + +#: info/session.c:643 +msgid "Move down to the next line" +msgstr "移至下一行" + +#: info/session.c:658 +msgid "Move up to the previous line" +msgstr "移至上一行" + +#: info/session.c:673 +msgid "Move to the end of the line" +msgstr "移至本行結尾" + +#: info/session.c:693 +msgid "Move to the start of the line" +msgstr "移至本行開頭" + +#: info/session.c:885 makeinfo/node.c:1357 +msgid "Next" +msgstr "下一個" + +#: info/session.c:888 +msgid "Following Next node..." +msgstr "跟隨下一個節點..." + +#: info/session.c:905 +msgid "Selecting first menu item..." +msgstr "選取第一個選單項目..." + +#: info/session.c:916 +msgid "Selecting Next node..." +msgstr "選取下一個節點..." + +#: info/session.c:986 +#, c-format +msgid "Moving Up %d time(s), then Next." +msgstr "往上一層移動 %d 次, 然後往下一個方向移動." + +#: info/session.c:1010 +msgid "No more nodes within this document." +msgstr "本文件中沒有更多的節點了." + +#: info/session.c:1034 +msgid "No `Prev' for this node." +msgstr "本節點沒有 `上一個 (Prev)' 節點." + +#: info/session.c:1037 info/session.c:1092 +msgid "Moving Prev in this window." +msgstr "向本分隔視窗的 上一個 (Prev) 節點移動." + +#: info/session.c:1051 +msgid "No `Prev' or `Up' for this node within this document." +msgstr "在本文件中, 本節點沒有 `上一個 (Prev)' 節點或 `上一層 (Up)' 節點." + +#: info/session.c:1054 +msgid "Moving Up in this window." +msgstr "向本分隔視窗的上一層節點移動." + +#: info/session.c:1102 +msgid "Moving to `Prev's last menu item." +msgstr "移至前一個節點的最後一個目錄項目." + +#: info/session.c:1113 +msgid "Move forwards or down through node structure" +msgstr "在節點結構中, 往前或往下移動" + +#: info/session.c:1129 +msgid "Move backwards or up through node structure" +msgstr "在節點結構中, 往後或往下移動" + +#: info/session.c:1229 +msgid "Scroll forward in this window" +msgstr "在本分隔視窗中向前捲動" + +#: info/session.c:1237 +msgid "Scroll forward in this window and set default window size" +msgstr "在本分隔視窗中向前捲動, 並且設定成預設的分隔視窗尺寸" + +#: info/session.c:1245 +#, fuzzy +msgid "Scroll forward in this window staying within node" +msgstr "在本分隔視窗中向前捲動" + +#: info/session.c:1253 +#, fuzzy +msgid "" +"Scroll forward in this window staying within node and set default window size" +msgstr "在本分隔視窗中向前捲動, 並且設定成預設的分隔視窗尺寸" + +#: info/session.c:1261 +msgid "Scroll backward in this window" +msgstr "在本分隔視窗中向後捲動" + +#: info/session.c:1269 +msgid "Scroll backward in this window and set default window size" +msgstr "在本分隔視窗中向後捲動, 並且設定成預設的分隔視窗尺寸" + +#: info/session.c:1278 +#, fuzzy +msgid "Scroll backward in this window staying within node" +msgstr "在本分隔視窗中向後捲動" + +#: info/session.c:1286 +#, fuzzy +msgid "" +"Scroll backward in this window staying within node and set default window " +"size" +msgstr "在本分隔視窗中向後捲動, 並且設定成預設的分隔視窗尺寸" + +#: info/session.c:1294 +msgid "Move to the start of this node" +msgstr "移至本節點的起點" + +#: info/session.c:1301 +msgid "Move to the end of this node" +msgstr "移至本節點的結尾" + +#: info/session.c:1308 +msgid "Scroll down by lines" +msgstr "一行行向下捲動" + +#: info/session.c:1325 +msgid "Scroll up by lines" +msgstr "一行行向上捲動" + +#: info/session.c:1343 +msgid "Scroll down by half screen size" +msgstr "向下捲動半個螢幕的大小" + +#: info/session.c:1369 +msgid "Scroll up by half screen size" +msgstr "向上捲動半個螢幕的大小" + +#: info/session.c:1398 +msgid "Select the next window" +msgstr "選擇下一個分隔視窗" + +#: info/session.c:1437 +msgid "Select the previous window" +msgstr "選擇前一個分隔視窗" + +#: info/session.c:1488 +msgid "Split the current window" +msgstr "分隔目前的分隔視窗" + +#: info/session.c:1569 +msgid "Delete the current window" +msgstr "刪除目前的分隔視窗" + +#: info/session.c:1577 +msgid "Cannot delete a permanent window" +msgstr "無法刪除固定的分隔視窗" + +#: info/session.c:1610 +msgid "Delete all other windows" +msgstr "刪除所有其它的分隔視窗" + +#: info/session.c:1656 +msgid "Scroll the other window" +msgstr "捲動另一個分隔視窗" + +#: info/session.c:1677 +msgid "Scroll the other window backward" +msgstr "向後捲動另一個分隔視窗" + +#: info/session.c:1683 +msgid "Grow (or shrink) this window" +msgstr "擴大 (或縮小) 這個分隔視窗" + +#: info/session.c:1694 +msgid "Divide the available screen space among the visible windows" +msgstr "在可用的螢幕空間中, 平均分割所有的可見分隔視窗" + +#: info/session.c:1701 +msgid "Toggle the state of line wrapping in the current window" +msgstr "切換目前分隔視窗的自動換行狀態" + +#: info/session.c:1880 +msgid "Select the Next node" +msgstr "選取 下一個 節點" + +#: info/session.c:1888 +msgid "Select the Prev node" +msgstr "選取 前一個 節點" + +#: info/session.c:1896 +msgid "Select the Up node" +msgstr "選取 上一層 節點" + +#: info/session.c:1903 +msgid "Select the last node in this file" +msgstr "選取本檔案的最後一個節點" + +#: info/session.c:1930 info/session.c:1963 +msgid "This window has no additional nodes" +msgstr "本分隔視窗沒有額外的節點" + +#: info/session.c:1936 +msgid "Select the first node in this file" +msgstr "選取本檔案的第一個節點" + +#: info/session.c:1970 +msgid "Select the last item in this node's menu" +msgstr "選取本節點選單中, 最後一個項目" + +#: info/session.c:1976 +msgid "Select this menu item" +msgstr "選擇這一個選單項目" + +#: info/session.c:2005 +#, c-format +msgid "There aren't %d items in this menu." +msgstr "本選單中沒有 %d 個項目" + +#: info/session.c:2148 +#, c-format +msgid "Menu item (%s): " +msgstr "選單項目 (%s): " + +#: info/session.c:2150 +msgid "Menu item: " +msgstr "選單項目: " + +#: info/session.c:2155 +#, c-format +msgid "Follow xref (%s): " +msgstr "跟隨交互參照 (%s): " + +#: info/session.c:2157 +msgid "Follow xref: " +msgstr "跟隨交互參照: " + +#: info/session.c:2280 +msgid "Read a menu item and select its node" +msgstr "讀取一個選單項目, 並且選擇它的節點" + +#: info/session.c:2288 +msgid "Read a footnote or cross reference and select its node" +msgstr "讀取一個註腳或交互參照, 並且選擇它的節點" + +#: info/session.c:2294 +msgid "Move to the start of this node's menu" +msgstr "移至本節點的選單開頭" + +#: info/session.c:2318 +msgid "Visit as many menu items at once as possible" +msgstr "儘可能一次拜訪最多個選單項目" + +#: info/session.c:2346 +msgid "Read a node name and select it" +msgstr "讀取節點名稱, 並且選擇它" + +#: info/session.c:2401 info/session.c:2405 +msgid "Goto node: " +msgstr "跳至節點: " + +#: info/session.c:2471 +#, c-format +msgid "No menu in node `%s'." +msgstr "節點 `%s' 中沒有選單." + +#: info/session.c:2516 +#, c-format +msgid "No menu item `%s' in node `%s'." +msgstr "選單項目 `%s' 不在節點 `%s' 中." + +#: info/session.c:2546 +#, c-format +msgid "Unable to find node referenced by `%s' in `%s'." +msgstr "被參照的節點 `%s' 在 `%s' 中找不到." + +#: info/session.c:2597 +msgid "Read a list of menus starting from dir and follow them" +msgstr "讀取自 dir 開始的節點條列, 並且跟隨它們" + +#: info/session.c:2599 +msgid "Follow menus: " +msgstr "跟隨選單: " + +#: info/session.c:2797 +msgid "Find the node describing program invocation" +msgstr "找尋描述程式執行方法的節點" + +#: info/session.c:2799 +#, c-format +msgid "Find Invocation node of [%s]: " +msgstr "找尋 [%s] 的執行方法節點: " + +#: info/session.c:2837 +msgid "Read a manpage reference and select it" +msgstr "讀取線上手冊 (manpage) 的參照, 並且選擇它" + +#: info/session.c:2841 +msgid "Get Manpage: " +msgstr "取得線上手冊 (Manpage): " + +#: info/session.c:2871 +msgid "Select the node `Top' in this file" +msgstr "選取本檔案中的 `Top' 節點" + +#: info/session.c:2877 +msgid "Select the node `(dir)'" +msgstr "選取節點 `(dir)'" + +#: info/session.c:2897 +#, c-format +msgid "Kill node (%s): " +msgstr "刪除節點 (%s): " + +#: info/session.c:2951 +#, c-format +msgid "Cannot kill node `%s'" +msgstr "無法刪除節點 `%s'" + +#: info/session.c:2961 +msgid "Cannot kill the last node" +msgstr "無法刪除上一個節點" + +#: info/session.c:3047 +msgid "Select the most recently selected node" +msgstr "選擇最近一次被選擇的節點" + +#: info/session.c:3053 +msgid "Kill this node" +msgstr "刪除本節點" + +#: info/session.c:3061 +msgid "Read the name of a file and select it" +msgstr "讀取檔案名稱, 然後選取它" + +#: info/session.c:3065 +msgid "Find file: " +msgstr "找尋檔案: " + +#: info/session.c:3082 +#, c-format +msgid "Cannot find `%s'." +msgstr "無法找到 `%s'." + +#: info/session.c:3127 info/session.c:3248 +#, c-format +msgid "Could not create output file `%s'." +msgstr "無法建立輸出檔案 `%s'." + +#: info/session.c:3140 info/session.c:3265 info/session.c:3326 +msgid "Done." +msgstr "完成." + +#: info/session.c:3196 +#, c-format +msgid "Writing node %s..." +msgstr "寫入節點 %s 中..." + +#: info/session.c:3274 +msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" +msgstr "將本節點的內容, 經由管道 (pipe) 送至 INFO_PRINT_COMMAND" + +#: info/session.c:3310 +#, c-format +msgid "Cannot open pipe to `%s'." +msgstr "無法開啟至 `%s' 的管道." + +#: info/session.c:3316 +#, c-format +msgid "Printing node %s..." +msgstr "列印節點 %s 中..." + +#: info/session.c:3558 +#, c-format +msgid "Searching subfile %s ..." +msgstr "搜尋子檔案 %s ..." + +#: info/session.c:3610 +msgid "Read a string and search for it case-sensitively" +msgstr "讀取一個字串, 然後以區分大小寫方式搜尋" + +#: info/session.c:3617 +msgid "Read a string and search for it" +msgstr "讀取一個字串, 然後搜尋" + +#: info/session.c:3625 +msgid "Read a string and search backward for it" +msgstr "讀取一個字串, 然後向後搜尋" + +#: info/session.c:3667 +#, c-format +msgid "%s%sfor string [%s]: " +msgstr "%s%s [%s]: " + +#: info/session.c:3668 +msgid "Search backward" +msgstr "向後搜尋字串" + +#: info/session.c:3668 +msgid "Search" +msgstr "搜尋字串" + +#: info/session.c:3669 +msgid " case-sensitively " +msgstr ", 以區分大小寫的方式" + +#: info/session.c:3669 +msgid " " +msgstr " " + +#: info/session.c:3709 +msgid "Search failed." +msgstr "搜尋失敗." + +#: info/session.c:3727 +msgid "Repeat last search in the same direction" +msgstr "以同樣的搜尋方向重覆上次的搜尋" + +#: info/session.c:3730 info/session.c:3740 +msgid "No previous search string" +msgstr "沒有前一次的搜尋字串" + +#: info/session.c:3737 +msgid "Repeat last search in the reverse direction" +msgstr "以相反的搜尋方向重覆上次的搜尋" + +#: info/session.c:3755 info/session.c:3761 +msgid "Search interactively for a string as you type it" +msgstr "以互動方式, 邊輸入字串邊搜尋" + +#: info/session.c:3855 +msgid "I-search backward: " +msgstr "反向互動搜尋: " + +#: info/session.c:3857 +msgid "I-search: " +msgstr "互動搜尋: " + +#: info/session.c:3882 +msgid "Failing " +msgstr "失敗 " + +#: info/session.c:4340 +msgid "Move to the previous cross reference" +msgstr "移動至前一個交互參照" + +#: info/session.c:4349 +msgid "Move to the next cross reference" +msgstr "移動至下一個交互參照" + +#: info/session.c:4359 +msgid "Select reference or menu item appearing on this line" +msgstr "選擇出現在本行的參照或選單項目" + +#: info/session.c:4381 +msgid "Cancel current operation" +msgstr "取消目前的作業" + +#: info/session.c:4388 +msgid "Quit" +msgstr "結束" + +#: info/session.c:4397 +msgid "Move the cursor to a specific line of the window" +msgstr "移動游標至分隔視窗中的指定位置" + +#: info/session.c:4429 +msgid "Redraw the display" +msgstr "重繪畫面" + +#: info/session.c:4466 +msgid "Quit using Info" +msgstr "結束使用 Info" + +#: info/session.c:4479 +msgid "Run command bound to this key's lowercase variant" +msgstr "" + +#: info/session.c:4491 +#, c-format +msgid "Unknown command (%s)." +msgstr "未知的命令 (%s)." + +#: info/session.c:4494 +msgid "\"\" is invalid" +msgstr "\"\" 不合法" + +#: info/session.c:4495 +#, c-format +msgid "\"%s\" is invalid" +msgstr "\"%s\" 不合法" + +#: info/session.c:4713 +msgid "Add this digit to the current numeric argument" +msgstr "將本數字加至目前的數值引數" + +#: info/session.c:4722 +msgid "Start (or multiply by 4) the current numeric argument" +msgstr "開始目前的數值引數 (或是乘以 4)" + +#: info/session.c:4737 +msgid "Internally used by \\[universal-argument]" +msgstr "在內部被 \\[universal-argument] 使用" + +#: info/tilde.c:344 +msgid "readline: Out of virtual memory!\n" +msgstr "readline: 耗盡虛擬記憶體!\n" + +#: info/variables.c:37 +msgid "When \"On\", footnotes appear and disappear automatically" +msgstr "當設定在 \"On\" 時, 註腳會自動出現與消失" + +#: info/variables.c:41 +msgid "When \"On\", creating or deleting a window resizes other windows" +msgstr "設定在 \"On\" 時, 建立或刪除一個分隔視窗會變更其它的分隔視窗的大小" + +#: info/variables.c:45 +msgid "When \"On\", flash the screen instead of ringing the bell" +msgstr "設定在 \"On\" 時, 以畫面閃動代替響鈴" + +#: info/variables.c:49 +msgid "When \"On\", errors cause the bell to ring" +msgstr "設定在 \"On\" 時, 發生錯誤會響鈴" + +#: info/variables.c:53 +msgid "When \"On\", Info garbage collects files which had to be uncompressed" +msgstr "When \"On\", Info garbage collects files which had to be uncompressed" + +#: info/variables.c:56 +msgid "When \"On\", the portion of the matched search string is highlighted" +msgstr "設定在 \"On\" 時, 符合搜尋字串的部份會被標示起來" + +#: info/variables.c:60 +msgid "Controls what happens when scrolling is requested at the end of a node" +msgstr "控制在節點的結尾時, 捲動會有什麼反應" + +#: info/variables.c:64 +msgid "The number lines to scroll when the cursor moves out of the window" +msgstr "控制當游標移動至分隔視窗外時, 捲動的行數" + +#: info/variables.c:68 +msgid "When \"On\", Info accepts and displays ISO Latin characters" +msgstr "當設定在 \"On\" 時, Info 可接受並顯示 ISO Latin 字元" + +#: info/variables.c:74 +msgid "Explain the use of a variable" +msgstr "解釋變數的用法" + +#: info/variables.c:80 +msgid "Describe variable: " +msgstr "描述變數: " + +#: info/variables.c:99 +msgid "Set the value of an Info variable" +msgstr "設定 Info 變數的數值" + +#: info/variables.c:105 +msgid "Set variable: " +msgstr "設定變數: " + +#: info/variables.c:123 +#, c-format +msgid "Set %s to value (%d): " +msgstr "設定 %s 的數值 (%d): " + +#: info/variables.c:164 +#, c-format +msgid "Set %s to value (%s): " +msgstr "設定 %s 的數值 (%s): " + +#: info/window.c:1164 +msgid "--*** Tags out of Date ***" +msgstr "" + +#: info/window.c:1175 +msgid "-----Info: (), lines ----, " +msgstr "-----Info: (), 行數 ----, " + +#: info/window.c:1182 +#, c-format +msgid "-%s---Info: %s, %d lines --%s--" +msgstr "-%s---Info: %s, 共 %d 行 --%s--" + +#: info/window.c:1186 +#, c-format +msgid "-%s%s-Info: (%s)%s, %d lines --%s--" +msgstr "-%s%s-Info: (%s)%s, 共 %d 行 --%s--" + +#: info/window.c:1193 +#, c-format +msgid " Subfile: %s" +msgstr " 子檔案: %s" + +#: lib/getopt.c:675 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: 選項 `%s' 不明\n" + +#: lib/getopt.c:700 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: 選項 `--%s' 不可含有引數\n" + +#: lib/getopt.c:705 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: 選項 `%c%s' 不可含有引數\n" + +#: lib/getopt.c:723 lib/getopt.c:896 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: 選項 `%s' 必須含有引數\n" + +#: lib/getopt.c:752 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: 未知的選項 `--%s'\n" + +#: lib/getopt.c:756 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: 未知的選項 `%c%s'\n" + +#: lib/getopt.c:782 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: 不合法的選項 -- %c\n" + +#: lib/getopt.c:785 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: 無效的選項 -- %c\n" + +#: lib/getopt.c:815 lib/getopt.c:945 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: 選項必須含有引數 -- %c\n" + +#: lib/getopt.c:862 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: 選項 `-W %s' 不明確\n" + +#: lib/getopt.c:880 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: 選項 `-W %s' 不可含有引數\n" + +#: makeinfo/cmds.c:515 +msgid "January" +msgstr "一月" + +#: makeinfo/cmds.c:515 +msgid "February" +msgstr "二月" + +#: makeinfo/cmds.c:515 +msgid "March" +msgstr "三月" + +#: makeinfo/cmds.c:515 +msgid "April" +msgstr "四月" + +#: makeinfo/cmds.c:515 +msgid "May" +msgstr "五月" + +#: makeinfo/cmds.c:516 +msgid "June" +msgstr "六月" + +#: makeinfo/cmds.c:516 +msgid "July" +msgstr "七月" + +#: makeinfo/cmds.c:516 +msgid "August" +msgstr "八月" + +#: makeinfo/cmds.c:516 +msgid "September" +msgstr "九月" + +#: makeinfo/cmds.c:516 +msgid "October" +msgstr "十月" + +#: makeinfo/cmds.c:517 +msgid "November" +msgstr "十一月" + +#: makeinfo/cmds.c:517 +msgid "December" +msgstr "十二月" + +#: makeinfo/cmds.c:658 +#, c-format +msgid "unlikely character %c in @var" +msgstr "" + +#: makeinfo/cmds.c:701 +msgid "@sc argument all uppercase, thus no effect" +msgstr "@sc 的引數全是大寫, 所以沒有作用" + +#: makeinfo/cmds.c:759 +#, c-format +msgid "`{' expected, but saw `%c'" +msgstr "" + +#: makeinfo/cmds.c:789 +msgid "end of file inside verb block" +msgstr "" + +#: makeinfo/cmds.c:797 +#, c-format +msgid "`}' expected, but saw `%c'" +msgstr "" + +#: makeinfo/cmds.c:942 +#, c-format +msgid "%c%s is obsolete" +msgstr "%c%s 已廢止不用" + +#: makeinfo/cmds.c:1014 +#, c-format +msgid "@sp requires a positive numeric argument, not `%s'" +msgstr "@sp 必須有一個正整數的引數, 而不是 `%s'" + +#: makeinfo/cmds.c:1348 makeinfo/cmds.c:1374 makeinfo/footnote.c:81 +#, c-format +msgid "Bad argument to %c%s" +msgstr "對 %c%s 無用的引數" + +#: makeinfo/cmds.c:1358 makeinfo/makeinfo.c:4140 +msgid "asis" +msgstr "" + +#: makeinfo/cmds.c:1360 makeinfo/makeinfo.c:4142 +msgid "none" +msgstr "" + +#: makeinfo/defun.c:85 +msgid "Missing `}' in @def arg" +msgstr "@def 參數中遺漏 `}'" + +#: makeinfo/defun.c:363 +msgid "Function" +msgstr "" + +#: makeinfo/defun.c:366 +msgid "Macro" +msgstr "" + +#: makeinfo/defun.c:369 +msgid "Special Form" +msgstr "" + +#: makeinfo/defun.c:373 +msgid "Variable" +msgstr "" + +#: makeinfo/defun.c:376 +msgid "User Option" +msgstr "" + +#: makeinfo/defun.c:380 +msgid "Instance Variable" +msgstr "" + +#: makeinfo/defun.c:384 +msgid "Method" +msgstr "" + +#: makeinfo/defun.c:466 makeinfo/defun.c:470 makeinfo/defun.c:615 +#: makeinfo/defun.c:631 makeinfo/defun.c:671 +msgid "of" +msgstr "" + +#: makeinfo/defun.c:474 makeinfo/defun.c:478 makeinfo/defun.c:482 +#: makeinfo/defun.c:624 makeinfo/defun.c:676 +msgid "on" +msgstr "" + +#: makeinfo/defun.c:717 +#, c-format +msgid "Must be in `%s' insertion to use `%sx'" +msgstr "" + +#: makeinfo/files.c:448 +#, c-format +msgid "%s: getwd: %s, %s\n" +msgstr "%s: getwd: %s, %s\n" + +#: makeinfo/footnote.c:150 +#, c-format +msgid "`%c%s' needs an argument `{...}', not just `%s'" +msgstr "`%c%s' 必須包含引數 `{...}', 而不是只有 `%s'" + +#: makeinfo/footnote.c:165 +#, c-format +msgid "No closing brace for footnote `%s'" +msgstr "註腳 `%s' 沒有右大括號" + +#: makeinfo/footnote.c:198 +msgid "Footnote defined without parent node" +msgstr "定義註腳, 但是沒有父節點" + +#: makeinfo/footnote.c:210 +#, fuzzy +msgid "Footnotes inside footnotes are not allowed" +msgstr "定義註腳, 但是沒有父節點" + +#: makeinfo/footnote.c:298 +msgid "Footnotes" +msgstr "註腳" + +#: makeinfo/html.c:42 +msgid "Untitled" +msgstr "" + +#: makeinfo/html.c:298 +#, c-format +msgid "Invalid node name: `%s'" +msgstr "" + +#: makeinfo/index.c:213 +#, c-format +msgid "Unknown index `%s'" +msgstr "未知的索引 `%s'" + +#: makeinfo/index.c:238 +#, c-format +msgid "Info cannot handle `:' in index entry `%s'" +msgstr "" + +#: makeinfo/index.c:396 +#, c-format +msgid "Index `%s' already exists" +msgstr "索引 `%s' 已存在" + +#: makeinfo/index.c:439 +#, c-format +msgid "Unknown index `%s' and/or `%s' in @synindex" +msgstr "@synindex 中有未知的索引 `%s' 與/或 `%s'" + +#: makeinfo/index.c:666 +#, c-format +msgid "Unknown index `%s' in @printindex" +msgstr "@printindex 中有未知的索引 `%s'" + +#: makeinfo/index.c:709 +#, c-format +msgid "Entry for index `%s' outside of any node" +msgstr "索引 `%s' 的項目不在任何的節點內" + +#: makeinfo/index.c:712 makeinfo/index.c:751 +msgid "(outside of any node)" +msgstr "(不在任何的節點內)" + +#: makeinfo/insertion.c:198 +msgid "Broken-Type in insertion_type_pname" +msgstr "" + +#: makeinfo/insertion.c:271 +msgid "Enumeration stack overflow" +msgstr "" + +#: makeinfo/insertion.c:303 +#, c-format +msgid "lettering overflow, restarting at %c" +msgstr "" + +#: makeinfo/insertion.c:538 +#, c-format +msgid "%s requires an argument: the formatter for %citem" +msgstr "" + +#: makeinfo/insertion.c:693 +#, c-format +msgid "`@end' expected `%s', but saw `%s'" +msgstr "" + +#: makeinfo/insertion.c:931 +#, c-format +msgid "No matching `%cend %s'" +msgstr "No matching `%cend %s'" + +#: makeinfo/insertion.c:1084 +#, c-format +msgid "%s requires letter or digit" +msgstr "%s 必須要有字元或是數字" + +#: makeinfo/insertion.c:1158 +msgid "end of file inside verbatim block" +msgstr "" + +#: makeinfo/insertion.c:1318 +msgid "@menu seen before first @node, creating `Top' node" +msgstr "@menu 在第一個 @node 之前出現, 將建立 `Top' 節點" + +#: makeinfo/insertion.c:1319 +msgid "" +"perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" +msgstr "也許您應該把 @top 節點包含在 @ifnottex, 而不是 @ifinfo?" + +#: makeinfo/insertion.c:1331 +msgid "@detailmenu seen before first node, creating `Top' node" +msgstr "在第一個節點之前出現 @detailmenu, 將建立 `Top' 節點" + +#: makeinfo/insertion.c:1346 +#, c-format +msgid "Unmatched `%c%s'" +msgstr "未配對的 `%c%s'" + +#: makeinfo/insertion.c:1353 +#, c-format +msgid "`%c%s' needs something after it" +msgstr "在 `%c%s' 之後必須要有東西" + +#: makeinfo/insertion.c:1359 +#, c-format +msgid "Bad argument to `%s', `%s', using `%s'" +msgstr "" + +#: makeinfo/insertion.c:1453 +#, c-format +msgid "@%s not meaningful inside `@%s' block" +msgstr "@%s 在 `@%s' 區塊之內, 並不具有意義" + +#: makeinfo/insertion.c:1462 +#, c-format +msgid "@itemx not meaningful inside `%s' block" +msgstr "`%s' 區塊之內, @itemx 並無意義" + +#: makeinfo/insertion.c:1646 +#, c-format +msgid "%c%s found outside of an insertion block" +msgstr "" + +#: makeinfo/lang.c:331 +#, c-format +msgid "%s is not a valid ISO 639 language code" +msgstr "%s 不是一個合法的 ISO 639 語言碼" + +#: makeinfo/lang.c:384 +#, fuzzy, c-format +msgid "unrecogized encoding name `%s'" +msgstr "%s: 未知的選項 `%c%s'\n" + +#: makeinfo/lang.c:387 +#, c-format +msgid "sorry, encoding `%s' not supported" +msgstr "" + +#: makeinfo/lang.c:414 +#, c-format +msgid "invalid encoded character `%s'" +msgstr "" + +#: makeinfo/lang.c:502 +#, fuzzy, c-format +msgid "%s is an invalid ISO code, using %c" +msgstr "%s 不是一個合法的 ISO 639 語言碼" + +#: makeinfo/lang.c:687 +#, c-format +msgid "%c%s expects `i' or `j' as argument, not `%c'" +msgstr "%c%s 期望使用 `i' 或 `j' 作為引數, 而不是 `%c'" + +#: makeinfo/lang.c:691 +#, c-format +msgid "%c%s expects a single character `i' or `j' as argument" +msgstr "%c%s 期望使用一個字母 `i' 或 `j' 作為引數" + +#: makeinfo/macro.c:134 +#, c-format +msgid "macro `%s' previously defined" +msgstr "巨集 `%s' 已定義過" + +#: makeinfo/macro.c:138 +#, c-format +msgid "here is the previous definition of `%s'" +msgstr "這裡是 `%s' 之前的定義" + +#: makeinfo/macro.c:355 +#, c-format +msgid "\\ in macro expansion followed by `%s' instead of \\ or parameter name" +msgstr "" + +#: makeinfo/macro.c:403 +#, c-format +msgid "Macro `%s' called on line %d with too many args" +msgstr "巨集 `%s' 在第 %d 行被呼叫, 但是引數過多" + +#: makeinfo/macro.c:594 +#, c-format +msgid "%cend macro not found" +msgstr "" + +#: makeinfo/macro.c:632 +msgid "@quote-arg only useful for single-argument macros" +msgstr "@quote-arg 只在單一引數的巨集有用" + +#: makeinfo/macro.c:668 +#, c-format +msgid "mismatched @end %s with @%s" +msgstr "@end %s 與 @%s 不符合" + +#: makeinfo/makeinfo.c:316 +#, c-format +msgid "%s:%d: warning: " +msgstr "%s:%d: 警告: " + +#: makeinfo/makeinfo.c:339 +msgid "Too many errors! Gave up.\n" +msgstr "錯誤過多! 放棄.\n" + +#: makeinfo/makeinfo.c:350 makeinfo/makeinfo.c:2026 +#, c-format +msgid "Misplaced %c" +msgstr "誤置的 %c" + +#: makeinfo/makeinfo.c:370 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "試試 `%s --help' 以取得更多的資訊.\n" + +#: makeinfo/makeinfo.c:373 +#, fuzzy, c-format +msgid "Usage: %s [OPTION]... TEXINFO-FILE...\n" +msgstr "用法: %s [OPTION]... FILE...\n" + +#: makeinfo/makeinfo.c:376 +msgid "" +"Translate Texinfo source documentation to various other formats, by default\n" +"Info files suitable for reading online with Emacs or standalone GNU Info.\n" +msgstr "" + +#: makeinfo/makeinfo.c:380 +#, c-format +msgid "" +"General options:\n" +" --error-limit=NUM quit after NUM errors (default %d).\n" +" --force preserve output even if errors.\n" +" --help display this help and exit.\n" +" --no-validate suppress node cross-reference validation.\n" +" --no-warn suppress warnings (but not errors).\n" +" --reference-limit=NUM warn about at most NUM references (default %" +"d).\n" +" -v, --verbose explain what is being done.\n" +" --version display version information and exit.\n" +msgstr "" + +#: makeinfo/makeinfo.c:394 +#, no-wrap +msgid "" +"Output format selection (default is to produce Info):\n" +" --docbook output DocBook rather than Info.\n" +" --html output HTML rather than Info.\n" +" --xml output XML (TexinfoML) rather than Info.\n" +msgstr "" + +#: makeinfo/makeinfo.c:401 +msgid "" +"General output options:\n" +" -E, --macro-expand FILE output macro-expanded source to FILE.\n" +" ignoring any @setfilename.\n" +" --no-headers suppress node separators, Node: lines, and " +"menus\n" +" from Info output (thus producing plain text)\n" +" or from HTML (thus producing shorter output);\n" +" also, write to standard output by default.\n" +" --no-split suppress splitting of Info or HTML output,\n" +" generate only one output file.\n" +" --number-sections output chapter and sectioning numbers.\n" +" -o, --output=FILE output to FILE (directory if split HTML),\n" +msgstr "" + +#: makeinfo/makeinfo.c:415 +#, c-format +msgid "" +"Options for Info and plain text:\n" +" --enable-encoding output accented and special characters in\n" +" Info output based on @documentencoding.\n" +" --fill-column=NUM break Info lines at NUM characters (default %" +"d).\n" +" --footnote-style=STYLE output footnotes in Info according to STYLE:\n" +" `separate' to put them in their own node;\n" +" `end' to put them at the end of the node\n" +" in which they are defined (default).\n" +" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +"d).\n" +" If VAL is `none', do not indent; if VAL is\n" +" `asis', preserve existing indentation.\n" +" --split-size=NUM split Info files at size NUM (default %d).\n" +msgstr "" + +#: makeinfo/makeinfo.c:433 +msgid "" +"Input file options:\n" +" --commands-in-node-names allow @ commands in node names.\n" +" -D VAR define the variable VAR, as with @set.\n" +" -I DIR append DIR to the @include search path.\n" +" -P DIR prepend DIR to the @include search path.\n" +" -U VAR undefine the variable VAR, as with @clear.\n" +msgstr "" + +#: makeinfo/makeinfo.c:442 +msgid "" +"Conditional processing in input:\n" +" --ifhtml process @ifhtml and @html even if not generating HTML.\n" +" --ifinfo process @ifinfo even if not generating Info.\n" +" --ifplaintext process @ifplaintext even if not generating plain text.\n" +" --iftex process @iftex and @tex; implies --no-split.\n" +" --no-ifhtml do not process @ifhtml and @html text.\n" +" --no-ifinfo do not process @ifinfo text.\n" +" --no-ifplaintext do not process @ifplaintext text.\n" +" --no-iftex do not process @iftex and @tex text.\n" +msgstr "" + +#: makeinfo/makeinfo.c:454 +msgid "" +" The defaults for the @if... conditionals depend on the output format:\n" +" if generating HTML, --ifhtml is on and the others are off;\n" +" if generating Info, --ifinfo is on and the others are off;\n" +" if generating plain text, --ifplaintext is on and the others are off;\n" +msgstr "" + +#: makeinfo/makeinfo.c:461 +#, fuzzy +msgid "" +"Examples:\n" +" makeinfo foo.texi write Info to foo's @setfilename\n" +" makeinfo --html foo.texi write HTML to @setfilename\n" +" makeinfo --xml foo.texi write XML to @setfilename\n" +" makeinfo --docbook foo.texi write DocBook XML to @setfilename\n" +" makeinfo --no-headers foo.texi write plain text to standard output\n" +"\n" +" makeinfo --html --no-headers foo.texi write html without node lines, " +"menus\n" +" makeinfo --number-sections foo.texi write Info with numbered sections\n" +" makeinfo --no-split foo.texi write one Info file however big\n" +msgstr "" +"\n" +"@if... 等判斷指令的預設值, 會依輸出格式不同而不同:\n" +"如果產生 HTML, --ifhtml 會開啟, 其它則關閉;\n" +"如果產生 Info 或普通的文字檔, --ifinfo 會開啟, 其它則關閉.\n" +"\n" +"範例:\n" +" makeinfo foo.texi 輸出 Info 至 foo 的 @setfilename\n" +" makeinfo --html foo.texi 輸出 HTML 至 foo 的 @setfilename\n" +" makeinfo --no-headers -o - foo.texi 輸出普通文字格式至標準輸出\n" +" makeinfo --number-sections foo.texi 以有編號的節來輸出 Info\n" +" makeinfo --no-split foo.texi 不管檔案有多大, 輸出成一個 Info 檔\n" +"\n" +"程式臭蟲, 請以電子郵件 (英文) 回報至 bug-texinfo@gnu.org,\n" +"一般問題與討論, 請以電子郵件 (英文) 寄到 help-texinfo@gnu.org." + +#: makeinfo/makeinfo.c:570 makeinfo/makeinfo.c:593 makeinfo/makeinfo.c:655 +#: makeinfo/makeinfo.c:676 +#, c-format +msgid "%s: %s arg must be numeric, not `%s'.\n" +msgstr "%s: %s 引數必須為數值, 而不是 `%s'.\n" + +#: makeinfo/makeinfo.c:583 +#, c-format +msgid "Couldn't open macro expansion output `%s'" +msgstr "" + +#: makeinfo/makeinfo.c:586 +msgid "Cannot specify more than one macro expansion output" +msgstr "" + +#: makeinfo/makeinfo.c:624 +#, c-format +msgid "%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n" +msgstr "%s: --paragraph-indent 的引數必須為 數值/`none'/`asis', 而不是 `%s'.\n" + +#: makeinfo/makeinfo.c:665 +#, c-format +msgid "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n" +msgstr "%s: --footnote-style 的引數必須為 `separate' 或 `end', 而不是 `%s'.\n" + +#: makeinfo/makeinfo.c:723 +#, c-format +msgid "%s: missing file argument.\n" +msgstr "%s: 遺漏檔案引數.\n" + +#: makeinfo/makeinfo.c:898 +#, c-format +msgid "Expected `%s'" +msgstr "Expected `%s'" + +#: makeinfo/makeinfo.c:1365 +msgid "File exists, but is not a directory" +msgstr "" + +#: makeinfo/makeinfo.c:1366 +#, c-format +msgid "Can't create directory `%s': %s" +msgstr "" + +#: makeinfo/makeinfo.c:1414 +#, c-format +msgid "No `%s' found in `%s'" +msgstr "`%s' 未出現在 `%s' 內" + +#: makeinfo/makeinfo.c:1496 +#, c-format +msgid "%s: Skipping macro expansion to stdout as Info output is going there.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1526 +#, c-format +msgid "Making %s file `%s' from `%s'.\n" +msgstr "" + +#: makeinfo/makeinfo.c:1561 +#, c-format +msgid "This is %s, produced by makeinfo version %s from %s.\n" +msgstr "這是 %s, 由 makeinfo 版本 %s 自 %s 產生的.\n" + +#: makeinfo/makeinfo.c:1583 +#, c-format +msgid "" +"%s: Removing macro output file `%s' due to errors; use --force to preserve.\n" +msgstr "%s: 因為錯誤, 移除巨集輸出檔 `%s'; 若要保存它, 請使用 --force 選項.\n" + +#: makeinfo/makeinfo.c:1627 +#, c-format +msgid "%s: Removing output file `%s' due to errors; use --force to preserve.\n" +msgstr "%s: 因為錯誤, 移除輸出檔 `%s'; 若要保存它, 請使用 --force 選項.\n" + +#: makeinfo/makeinfo.c:1853 +#, c-format +msgid "Unknown command `%s'" +msgstr "未知的命令 `%s'" + +#: makeinfo/makeinfo.c:1875 +#, c-format +msgid "Use braces to give a command as an argument to @%s" +msgstr "使用大括號將命令包起來, 以作為 @%s 的引數" + +#: makeinfo/makeinfo.c:2068 +#, c-format +msgid "%c%s expected `{...}'" +msgstr "%c%s 預計要有 `{...}'" + +#: makeinfo/makeinfo.c:2098 +msgid "Unmatched }" +msgstr "未配對的 }" + +#: makeinfo/makeinfo.c:2148 +msgid "NO_NAME!" +msgstr "NO_NAME!" + +#: makeinfo/makeinfo.c:2169 +#, c-format +msgid "%c%s missing close brace" +msgstr "%c%s 遺漏右大括號" + +#: makeinfo/makeinfo.c:2958 +msgid "First argument to cross-reference may not be empty" +msgstr "" + +#: makeinfo/makeinfo.c:3018 makeinfo/makeinfo.c:3236 makeinfo/xml.c:1340 +msgid "see " +msgstr "" + +#: makeinfo/makeinfo.c:3018 +msgid "See " +msgstr "" + +#: makeinfo/makeinfo.c:3164 +#, c-format +msgid "`.' or `,' must follow cross reference, not %c" +msgstr "`.' 或 `,' 必須跟著交互參照, 而不是 %c" + +#: makeinfo/makeinfo.c:3212 +msgid "First argument to @inforef may not be empty" +msgstr "" + +#: makeinfo/makeinfo.c:3427 +#, fuzzy, c-format +msgid "@image file `%s' (for HTML) not readable: %s" +msgstr "@image 檔案 `%s' 無法讀取: %s" + +#: makeinfo/makeinfo.c:3440 +#, c-format +msgid "No `%s.png' or `.jpg', and no extension supplied" +msgstr "" + +#: makeinfo/makeinfo.c:3490 +#, fuzzy, c-format +msgid "@image file `%s' (for text) unreadable: %s" +msgstr "@image 檔案 `%s' 無法讀取: %s" + +#: makeinfo/makeinfo.c:3497 +msgid "@image missing filename argument" +msgstr "@image 沒有檔名引數" + +#: makeinfo/makeinfo.c:3690 +#, c-format +msgid "{No value for `%s'}" +msgstr "" + +#: makeinfo/makeinfo.c:3744 +#, c-format +msgid "%c%s requires a name" +msgstr "%c%s 必須要有名稱" + +#: makeinfo/makeinfo.c:3850 +#, c-format +msgid "Reached eof before matching @end %s" +msgstr "在配對的 @end %s 之前, 先到達檔案結尾" + +#: makeinfo/makeinfo.c:4081 +#, c-format +msgid "`%.40s...' is too long for expansion; not expanded" +msgstr "" + +#: makeinfo/multi.c:226 +msgid "Missing } in @multitable template" +msgstr "在 @multitable 樣版中, 沒有 }" + +#: makeinfo/multi.c:302 +#, c-format +msgid "ignoring stray text `%s' after @multitable" +msgstr "" + +#: makeinfo/multi.c:375 +#, c-format +msgid "Too many columns in multitable item (max %d)" +msgstr "multitable 項目中有太多的欄位 (最大值為 %d)" + +#: makeinfo/multi.c:426 +#, c-format +msgid "Cannot select column #%d in multitable" +msgstr "無法選取 multitable 中的欄位 #%d" + +#: makeinfo/multi.c:529 +msgid "ignoring @tab outside of multitable" +msgstr "忽略 multitable 外的 @tab" + +#: makeinfo/multi.c:565 +msgid "** Multicolumn output from last row:\n" +msgstr "" + +#: makeinfo/multi.c:568 +#, c-format +msgid "* column #%d: output = %s\n" +msgstr "* 欄位 #%d: 輸出 = %s\n" + +#: makeinfo/node.c:276 +#, c-format +msgid "Node `%s' previously defined at line %d" +msgstr "節點 `%s' 已在第 %d 行定義過了" + +#: makeinfo/node.c:594 +#, c-format +msgid "Formatting node %s...\n" +msgstr "編排節點 %s 的格式中...\n" + +#: makeinfo/node.c:655 +#, c-format +msgid "Node `%s' requires a sectioning command (e.g. %c%s)" +msgstr "節點 `%s' 必須使用分段命令 (sectioning command) (例如: %c%s)" + +#: makeinfo/node.c:815 +#, c-format +msgid "No node name specified for `%c%s' command" +msgstr "`%c%s' 命令中未指定節點名稱" + +#: makeinfo/node.c:856 makeinfo/node.c:1075 +#, c-format +msgid "Anchor `%s' and node `%s' map to the same file name" +msgstr "" + +#: makeinfo/node.c:859 +msgid "This @anchor command ignored; references to it will not work" +msgstr "" + +#: makeinfo/node.c:861 makeinfo/node.c:1078 +msgid "Rename this anchor or use the `--no-split' option" +msgstr "" + +#: makeinfo/node.c:891 +#, c-format +msgid "Unexpected string at end of split-HTML file `%s'" +msgstr "" + +#: makeinfo/node.c:920 +msgid "Node:" +msgstr "節點:" + +#: makeinfo/node.c:930 +msgid "Next:" +msgstr "下一個:" + +#: makeinfo/node.c:940 +msgid "Previous:" +msgstr "上一個:" + +#: makeinfo/node.c:950 +msgid "Up:" +msgstr "上一層:" + +#: makeinfo/node.c:1072 +#, c-format +msgid "Anchors `%s' and `%s' map to the same file name" +msgstr "" + +#: makeinfo/node.c:1077 +msgid "@anchor command ignored; references to it will not work" +msgstr "" + +#: makeinfo/node.c:1277 +#, c-format +msgid "%s reference to nonexistent node `%s'" +msgstr "%s 參照到不存在的節點: `%s'" + +#: makeinfo/node.c:1294 +msgid "Menu" +msgstr "目錄" + +#: makeinfo/node.c:1296 +msgid "Cross" +msgstr "" + +#: makeinfo/node.c:1380 +#, c-format +msgid "Next field of node `%s' not pointed to" +msgstr "" + +#: makeinfo/node.c:1383 +#, c-format +msgid "This node (%s) has the bad Prev" +msgstr "本節點 (%s) 的 前一個 (Prev) 節點有問題" + +#: makeinfo/node.c:1395 +msgid "Prev" +msgstr "前一個" + +#: makeinfo/node.c:1438 +#, c-format +msgid "Prev field of node `%s' not pointed to" +msgstr "" + +#: makeinfo/node.c:1442 +#, c-format +msgid "This node (%s) has the bad Next" +msgstr "本節點 (%s) 的 下一個 (Next) 節點有問題" + +#: makeinfo/node.c:1454 +#, c-format +msgid "`%s' has no Up field" +msgstr "`%s' 沒有 上一層 (Up) 欄位" + +#: makeinfo/node.c:1457 +msgid "Up" +msgstr "上一層" + +#: makeinfo/node.c:1523 +#, c-format +msgid "Node `%s' lacks menu item for `%s' despite being its Up target" +msgstr "" + +#: makeinfo/node.c:1552 +#, c-format +msgid "node `%s' has been referenced %d times" +msgstr "節點 `%s' 已被參照 %d 次" + +#: makeinfo/node.c:1566 +#, c-format +msgid "unreferenced node `%s'" +msgstr "未被參照的節點 `%s'" + +#: makeinfo/sectioning.c:117 +#, c-format +msgid "Appendix %c " +msgstr "附錄 %c" + +#: makeinfo/sectioning.c:356 makeinfo/sectioning.c:444 +#, c-format +msgid "Internal error (search_sectioning) \"%s\"!" +msgstr "內部錯誤 (search_sectioning) \"%s\"!" + +#: makeinfo/sectioning.c:502 +#, c-format +msgid "%c%s is obsolete; use %c%s instead" +msgstr "%c%s 已廢棄不用; 請改用 %c%s" + +#: makeinfo/sectioning.c:518 +#, c-format +msgid "Node with %ctop as a section already exists" +msgstr "" + +#: makeinfo/sectioning.c:526 +#, c-format +msgid "Here is the %ctop node" +msgstr "" + +#: makeinfo/sectioning.c:543 +#, c-format +msgid "%ctop used before %cnode, defaulting to %s" +msgstr "" + +#: makeinfo/toc.c:221 makeinfo/toc.c:298 makeinfo/toc.c:299 +msgid "Table of Contents" +msgstr "" + +#: makeinfo/toc.c:330 makeinfo/toc.c:366 makeinfo/toc.c:367 +msgid "Short Contents" +msgstr "" + +#: makeinfo/toc.c:406 +#, c-format +msgid "%s: TOC should be here, but it was not found" +msgstr "" + +#: makeinfo/xml.c:1108 +#, c-format +msgid "@image file `%s' unreadable: %s" +msgstr "@image 檔案 `%s' 無法讀取: %s" + +#: util/install-info.c:151 +#, c-format +msgid "%s: warning: " +msgstr "%s: 警告: " + +#: util/install-info.c:176 util/install-info.c:189 +msgid "virtual memory exhausted" +msgstr "虛擬記憶體耗盡" + +#: util/install-info.c:232 +#, c-format +msgid " for %s" +msgstr "" + +#: util/install-info.c:381 +#, c-format +msgid "\tTry `%s --help' for a complete list of options.\n" +msgstr "\t試試 Try `%s --help' 以取得完整的參數列表.\n" + +#: util/install-info.c:389 +#, fuzzy, c-format +msgid "" +"Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"Install or delete dir entries from INFO-FILE in the Info directory file\n" +"DIR-FILE.\n" +"\n" +"Options:\n" +" --delete delete existing entries for INFO-FILE from DIR-FILE;\n" +" don't insert any new entries.\n" +" --dir-file=NAME specify file name of Info directory file.\n" +" This is equivalent to using the DIR-FILE argument.\n" +" --entry=TEXT insert TEXT as an Info directory entry.\n" +" TEXT should have the form of an Info menu item line\n" +" plus zero or more extra lines starting with " +"whitespace.\n" +" If you specify more than one entry, they are all " +"added.\n" +" If you don't specify any entries, they are determined\n" +" from information in the Info file itself.\n" +" --help display this help and exit.\n" +" --info-file=FILE specify Info file to install in the directory.\n" +" This is equivalent to using the INFO-FILE argument.\n" +" --info-dir=DIR same as --dir-file=DIR/dir.\n" +" --item=TEXT same as --entry TEXT.\n" +" An Info directory entry is actually a menu item.\n" +" --quiet suppress warnings.\n" +" --remove same as --delete.\n" +" --section=SEC put this file's entries in section SEC of the directory.\n" +" If you specify more than one section, all the entries\n" +" are added in each of the sections.\n" +" If you don't specify any sections, they are determined\n" +" from information in the Info file itself.\n" +" --version display version information and exit.\n" +msgstr "" +"用法: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n" +"\n" +"自 Info 目錄檔案 DIR-FILE 的 INFO-FILE 中, 安裝或移除 dir 項目.\n" +"\n" +"Options:\n" +" --delete 自 DIR-FILE 中, 刪除現有的 INFO-FILE 項目;\n" +" 不新增任何新的項目.\n" +" --dir-file=NAME 指定 Info 目錄檔案的檔案名稱.\n" +" 本選項與使用 DIR-FILE 引數相同.\n" +" --entry=TEXT 以 TEXT 作為 Info directory 項目.\n" +" TEXT 應該與 Info 目錄項目的寫法有相同格式\n" +" 再加上零個以上的以空白字元開始的資料行.\n" +" 如果您指定超過一個以上的項目, 它們全都會被加進去.\n" +" 如果您沒有指定任何的項目, 它們會以 Info 檔案中的\n" +"\t\t 資訊來決定.\n" +" --help 顯示求助資訊, 然後離開.\n" +" --info-file=FILE 指定要安裝在目錄中的 Info 檔案.\n" +" 本選項與使用 INFO-FILE 引數相同.\n" +" --info-dir=DIR 與 --dir-file=DIR/dir 相同.\n" +" --item=TEXT 與 --entry TEXT 相同.\n" +" 一個 Info directory 項目其實就是一個選單項目.\n" +" --quiet 不顯示警告訊息.\n" +" --remove 與 --delete 相同.\n" +" --section=SEC 將本檔案的項目放在目錄中的 SEC 節.\n" +" 如果您指定超過一個以上的節, 所有的項目都會\n" +"\t\t 新增在每一個節內.\n" +" 如果您沒有指定任何的節, 它們會以 Info 檔案中的\n" +" 資訊來決定.\n" +" --version 顯示版本資訊, 然後離開.\n" +"\n" +"程式臭蟲, 請以電子郵件 (英文) 回報至 bug-texinfo@gnu.org,\n" +"一般問題與討論, 請以電子郵件 (英文) 寄到 help-texinfo@gnu.org.\n" + +#: util/install-info.c:444 +#, c-format +msgid "" +"This is the file .../info/dir, which contains the\n" +"topmost node of the Info hierarchy, called (dir)Top.\n" +"The first time you invoke Info you start off looking at this node.\n" +"\n" +"%s\tThis is the top of the INFO tree\n" +"\n" +" This (the Directory node) gives a menu of major topics.\n" +" Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n" +" \"h\" gives a primer for first-timers,\n" +" \"mEmacs<Return>\" visits the Emacs manual, etc.\n" +"\n" +" In Emacs, you can click mouse button 2 on a menu item or cross reference\n" +" to select it.\n" +"\n" +"* Menu:\n" +msgstr "" +"這是檔案 .../info/dir, 裡面包含有 Info 選單架構中最上層的節點,\n" +"稱為 (dir) TOP.\n" +"您第一次執行 Info 時, 您會從這裡開始搜尋所須的節點.\n" +"\n" +"%s\t這是 INFO 選單樹的最上層\n" +"\n" +" 這裡 (Directory 節點) 提供主要項目的選單.\n" +" 鍵入 \"q\" 離開, \"?\" 列出所有的 Info 指令, \"d\" 回到這裡,\n" +" \"h\" 觀看給初次使用者的入門指引,\n" +" \"mEmacs<Return>\" 可觀看 Emacs 手冊, 等等.\n" +"\n" +" 在 Emacs 中, 您可以在選單項目或交互參照上, 單擊滑鼠的第 2 鍵\n" +" 以選擇它們.\n" +"\n" +"* Menu:\n" + +#: util/install-info.c:467 +#, c-format +msgid "%s: could not read (%s) and could not create (%s)\n" +msgstr "%s: 無法讀取 (%s), 而且無法建立 (%s)\n" + +#: util/install-info.c:551 +#, c-format +msgid "%s: empty file" +msgstr "%s: 空檔案" + +#: util/install-info.c:866 util/install-info.c:906 +msgid "START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY" +msgstr "有 START-INFO-DIR-ENTRY, 但是沒有相對應的 END-INFO-DIR-ENTRY" + +#: util/install-info.c:901 +msgid "END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY" +msgstr "有 END-INFO-DIR-ENTRY, 但是沒有相對應的 START-INFO-DIR-ENTRY" + +#: util/install-info.c:1150 util/install-info.c:1160 +#, c-format +msgid "%s: Specify the Info directory only once.\n" +msgstr "%s: 只有指定 Info 目錄一次.\n" + +#: util/install-info.c:1195 +#, c-format +msgid "%s: Specify the Info file only once.\n" +msgstr "%s: 只有指定 Info 檔案一次.\n" + +#: util/install-info.c:1244 +#, c-format +msgid "excess command line argument `%s'" +msgstr "多餘的命令列引數 `%s'" + +#: util/install-info.c:1248 +msgid "No input file specified; try --help for more information." +msgstr "未指定輸入檔案; 試試 --help 以取得更多的資訊." + +#: util/install-info.c:1251 +msgid "No dir file specified; try --help for more information." +msgstr "未指定 dir 檔案; 試試 --help 以取得取多的資訊." + +#: util/install-info.c:1273 +#, c-format +msgid "no info dir entry in `%s'" +msgstr "`%s' 內沒有 info dir 項目" + +#: util/install-info.c:1388 +#, c-format +msgid "menu item `%s' already exists, for file `%s'" +msgstr "目錄項目 `%s' 已存在, 是給檔案 `%s' 的" + +#: util/install-info.c:1411 +#, c-format +msgid "no entries found for `%s'; nothing deleted" +msgstr "找不到 `%s' 的項目; 未刪除任何項目" + +#: util/texindex.c:245 +msgid "display this help and exit" +msgstr "顯示求助資訊, 然後離開" + +#: util/texindex.c:247 +msgid "keep temporary files around after processing" +msgstr "處理完畢後, 不移除暫存檔" + +#: util/texindex.c:249 +msgid "do not keep temporary files around after processing (default)" +msgstr "處理完畢後, 移除暫存檔 (預設值)" + +#: util/texindex.c:251 +msgid "send output to FILE" +msgstr "將輸出送至 FILE" + +#: util/texindex.c:253 +msgid "display version information and exit" +msgstr "顯示版本資訊, 然後離開" + +#: util/texindex.c:264 +#, c-format +msgid "Usage: %s [OPTION]... FILE...\n" +msgstr "用法: %s [OPTION]... FILE...\n" + +#: util/texindex.c:265 +msgid "Generate a sorted index for each TeX output FILE.\n" +msgstr "為每個 TeX 輸出 FILE 產生一個排序的索引.\n" + +#: util/texindex.c:268 +#, c-format +msgid "Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n" +msgstr "通常文件 `foo.texi' 的 FILE... 引數會指定為 `foo.%c%c'.\n" + +#: util/texindex.c:270 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"選項:\n" + +#: util/texindex.c:887 util/texindex.c:921 util/texindex.c:997 +#: util/texindex.c:1025 +#, c-format +msgid "%s: not a texinfo index file" +msgstr "%s: 不是一個 texinfo 索引檔" + +#: util/texindex.c:982 +#, c-format +msgid "failure reopening %s" +msgstr "重新開啟 %s 時發生錯誤" + +#: util/texindex.c:1224 +#, c-format +msgid "No page number in %s" +msgstr "在 %s 中沒有頁碼" + +#: util/texindex.c:1295 +#, c-format +msgid "entry %s follows an entry with a secondary name" +msgstr "" + +#: util/texindex.c:1633 +#, c-format +msgid "%s; for file `%s'.\n" +msgstr "" + +#, fuzzy +#~ msgid "" +#~ "Email bug reports to bug-texinfo@gnu.org,\n" +#~ "general questions and discussion to help-texinfo@gnu.org." +#~ msgstr "" +#~ "\n" +#~ "程式臭蟲, 請以電子郵件 (英文) 回報至 bug-texinfo@gnu.org,\n" +#~ "一般問題與討論, 請以電子郵件 (英文) 寄到 help-texinfo@gnu.org.\n" + +#~ msgid "Basic Commands in Info Windows\n" +#~ msgstr "Info 分隔視窗內的基本指令\n" + +#~ msgid "Moving within a node:\n" +#~ msgstr "在節點內移動:\n" + +#~ msgid "Selecting other nodes:\n" +#~ msgstr "選擇其它的節點:\n" + +#~ msgid "Other commands:\n" +#~ msgstr "其它指令:\n" + +#~ msgid "" +#~ "Usage: %s [OPTION]... TEXINFO-FILE...\n" +#~ "\n" +#~ "Translate Texinfo source documentation to various other formats:\n" +#~ "Info files suitable for reading online with Emacs or standalone GNU Info\n" +#~ "(by default); plain text (with --no-headers); or HTML (with --html).\n" +#~ "\n" +#~ "Options:\n" +#~ " --commands-in-node-names allow @ commands in node names.\n" +#~ " -D VAR define a variable, as with @set.\n" +#~ " -E, --macro-expand FILE output macro-expanded source to FILE.\n" +#~ " --error-limit=NUM quit after NUM errors (default %d).\n" +#~ " --fill-column=NUM break Info lines at NUM characters (default %" +#~ "d).\n" +#~ " --footnote-style=STYLE output footnotes according to STYLE:\n" +#~ " `separate' to place footnotes in their own " +#~ "node,\n" +#~ " `end' to place the footnotes at the end of " +#~ "the\n" +#~ " node in which they are defined (the " +#~ "default).\n" +#~ " --force preserve output even if errors.\n" +#~ " --help display this help and exit.\n" +#~ " --html output HTML rather than Info format;\n" +#~ " -I DIR append DIR to the @include search path.\n" +#~ " --ifhtml process @ifhtml and @html text even when not\n" +#~ " generating HTML.\n" +#~ " --ifinfo process @ifinfo text even when generating " +#~ "HTML.\n" +#~ " --iftex process @iftex and @tex text.\n" +#~ " implies --no-split.\n" +#~ msgstr "" +#~ "Usage: %s [OPTION]... TEXINFO-FILE...\n" +#~ "\n" +#~ "將 Texinfo 的原始碼文件轉換至其它的格式:\n" +#~ "Info 檔適合以 Emacs 或是獨立的 GNU Info 程式作線上讀取 (預設);\n" +#~ "純文字 (使用 --no-headers 選項); 或 HTML (使用 --html 選項).\n" +#~ "\n" +#~ "選項:\n" +#~ " --commands-in-node-names 允許節點名稱中使用 @ 命令.\n" +#~ " -D VAR 如同 @set 一般定義一個變數.\n" +#~ " -E, --macro-expand FILE 將已展開巨集的原始碼輸出至檔案 FILE.\n" +#~ " --error-limit=NUM 在 NUM 個錯誤後結束 (預設值為 %d).\n" +#~ " --fill-column=NUM 每行在 NUM 個字元處斷行 (預設值為 %d).\n" +#~ " --footnote-style=STYLE 以 STYLE 方式輸出註腳:\n" +#~ " `separate' 是將註腳放置在它們自己的節點,\n" +#~ " `end' 是將註腳放置在它們被定義的節點\n" +#~ " 的尾端 (預設值).\n" +#~ " --force 即使有錯誤產生, 也維持輸出.\n" +#~ " --help 顯示求助資訊, 然後離開.\n" +#~ " --html 輸出 HTML 格式, 而非 Info;\n" +#~ " -I DIR 將 DIR 加在 @include 搜尋路徑之後.\n" +#~ " --ifhtml 即使不輸出 HTML 格式, 也一併處理 @ifhtml\n" +#~ " 與 @html 文字.\n" +#~ " --ifinfo 即使輸出 HTML, 也一併處理 @ifinfo 文字\n" +#~ " --iftex 處理 @iftex 與 @tex 文字.\n" +#~ " 隱含 --no-split 選項.\n" + +#~ msgid "" +#~ " --no-headers suppress Info node separators and Node: lines " +#~ "and\n" +#~ " write to standard output without --output.\n" +#~ " --no-ifhtml do not process @ifhtml and @html text.\n" +#~ " --no-ifinfo do not process @ifinfo text.\n" +#~ " --no-iftex do not process @iftex and @tex text.\n" +#~ " --no-split suppress splitting of large Info output files " +#~ "or\n" +#~ " generation of one HTML file per node.\n" +#~ " --no-validate suppress node cross-reference validation.\n" +#~ " --no-warn suppress warnings (but not errors).\n" +#~ " --number-sections include chapter, section, etc. numbers in " +#~ "output.\n" +#~ " -o, --output=FILE output to FILE, ignoring any @setfilename.\n" +#~ " -P DIR prepend DIR to the @include search path.\n" +#~ " --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %" +#~ "d).\n" +#~ " if VAL is `none', do not indent;\n" +#~ " if VAL is `asis', preserve existing " +#~ "indentation.\n" +#~ " --reference-limit=NUM warn about at most NUM references (default %" +#~ "d).\n" +#~ " -U VAR undefine a variable, as with @clear.\n" +#~ " -v, --verbose explain what is being done.\n" +#~ " --version display version information and exit.\n" +#~ msgstr "" +#~ " --no-headers 不產生 Info 節點分隔線與 節點: 行, 以及\n" +#~ " 未指定 --output 時, 輸出至標準輸出設備.\n" +#~ " --no-ifhtml 不處理 @ifhtml 與 @html 文字.\n" +#~ " --no-ifinfo 不處理 @ifinfo 文字.\n" +#~ " --no-iftex 不處理 @iftex 與 @tex 文字.\n" +#~ " --no-split 不分割大的 Info 輸出檔案, 也不一個節點\n" +#~ " 就產生一個 HTML 檔案\n" +#~ " --no-validate 不對節點的交互參照作有效檢查.\n" +#~ " --no-warn 不顯示警告 (但是不包括錯誤).\n" +#~ " --number-sections 在輸出時顯示章節等的編號.\n" +#~ " -o, --output=FILE 輸出至檔案 FILE, 忽略任何的 @setfilename 設" +#~ "定.\n" +#~ " -P DIR 將 DIR 加在 @include 搜尋路徑之前.\n" +#~ " --paragraph-indent=VAL 將 Info 段落縮排 VAL 個空白 (預設值為 %d).\n" +#~ " 如果 VAL 為 `none', 不作縮排;\n" +#~ " 如果 VAL 為 `asis', 保留目前的 縮排.\n" +#~ " --reference-limit=NUM 最多警告 NUM 個參照 (預設值為 %d).\n" +#~ " -U VAR 取消變數的定義, 如同 @clear.\n" +#~ " -v, --verbose 解釋目前正在作的事.\n" +#~ " --version 顯示版本資訊, 然後結束.\n" + +#~ msgid "No .png or .jpg for `%s'" +#~ msgstr "沒有給 `%s' 的 .png 或 .jpg" diff --git a/gnu/usr.bin/texinfo/util/install-info-html b/gnu/usr.bin/texinfo/util/install-info-html new file mode 100644 index 00000000000..f63c97e79b8 --- /dev/null +++ b/gnu/usr.bin/texinfo/util/install-info-html @@ -0,0 +1,157 @@ +#!@BASH@ +# $Id: install-info-html,v 1.1.1.1 2002/06/10 13:21:26 espie Exp $ + +name=install-info-html +version=1.0 + +all= +index_dir=. + +# +# debugging +# +debug_echo=: + + +# +# print usage +# +function help () +{ + cat << EOF +$name $version +Install HTML info document. + +Usage: $name [OPTION]... [DOCUMENT-DIR]... + +Options: + -a,--all assume all subdirectories of index to be DOCUMENT-DIRs + -d,--dir=DIR set index directory to DIR (default=.) + -D,--debug print debugging info + -h,--help this help text + -v,--version show version +EOF +} + + +function cleanup () +{ + $debug_echo "cleaning ($?)..." +} + +trap cleanup 0 9 15 + +# +# Find command line options and switches +# + +# "x:" x takes argument +# +options="adhvW:" +# +# ugh, "\-" is a hack to support long options +# must be in double quotes for bash-2.0 + +while getopts "\-:$options" O +do + $debug_echo "O: \`$O'" + $debug_echo "arg: \`$OPTARG'" + case $O in + a) + all=yes + ;; + D) + [ "$debug_echo" = "echo" ] && set -x + debug_echo=echo + ;; + h) + help; + exit 0 + ;; + v) + echo $name $version + exit 0 + ;; + d) + index_dir=$OPTARG + ;; + # a long option! + -) + case "$OPTARG" in + a*|-a*) + all=yes + ;; + de*|-de*) + [ "$debug_echo" = "echo" ] && set -x + debug_echo=echo + ;; + h*|-h*) + help; + exit 0 + ;; + di*|-di*) + index_dir="`expr \"$OPTARG\" ':' '[^=]*=\(.*\)'`" + ;; + version|-version) + echo $name $version + exit 0 + ;; + *|-*) + echo "$0: invalid option -- \"$OPTARG\"" + help; + exit -1 + ;; + esac + esac +done +shift `expr $OPTIND - 1` + +# +# Input file name +# +if [ -z "$all" -a -z "$1" ]; then + help + echo "$name: No HTML documents given" + exit 2 +fi + +if [ -n "$all" -a -n "$1" ]; then + echo "$name: --all specified, ignoring DIRECTORY-DIRs" +fi + +if [ -n "$all" ]; then + document_dirs=`/bin/ls -d1 $index_dir` +else + document_dirs=$* +fi + +index_file=$index_dir/index.html +rm -f $index_file +echo -n "$name: Writing index: $index_file..." + +# head +cat >> $index_file <<EOF +<html> +<head><title>Info documentation index</title></head> +<body> +<h1>Info documentation index</h1> +This is the directory file \`index.html' a.k.a. \`DIR', which contains the +topmost node of the HTML Info hierarchy. +<p> +This is all very much Work in Progress (WiP). +<p> +<ul> +EOF + +#list +for i in $document_dirs; do + echo "<li> <a href=\"$i/$i.html\">$i</a></li>" +done >> $index_file + +# foot +cat >> $index_file <<EOF +</ul> +</body> +</html> +EOF +echo |