]> git.deb.at Git - pkg/abook.git/commitdiff
- add translation HOWTO
authorJaakko Heinonen <jheinonen@users.sourceforge.net>
Fri, 30 Sep 2005 16:27:09 +0000 (16:27 +0000)
committerJaakko Heinonen <jheinonen@users.sourceforge.net>
Fri, 30 Sep 2005 16:27:09 +0000 (16:27 +0000)
- add doc directory to distribution
- automatic po update
filter.c:
- minor cleanup

ChangeLog
Makefile.am
Makefile.in
configure
doc/HOWTO.translating_abook [new file with mode: 0644]
filter.c
po/abook.pot
po/fr.po
po/sv.po

index abc73e8486b089f2ccac5f441f39cb52eff5a452..835824066e459fc5642cd4479c206d458f874a8b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
  - Swedish translation (Susanna Björverud)
  - palmcsv import filter (Marc Tardif)
  - use better common code for csv filters (Marc Tardif)
+ - translation HOWTO
 
 0.5.4
  - add show_cursor config option (idea from Cheryl Homiak)
index 7e9df13249e7dd8c90b81602c4a0fcb8fdac5c15..188a7ca88a6d5051f734a652dd8d47122a132d64 100644 (file)
@@ -11,7 +11,7 @@ abook_SOURCES = abook.c database.c filter.c list.c misc.c \
                xmalloc.h
 
 EXTRA_DIST = config.rpath  ANNOUNCE BUGS FAQ abook.1 abookrc.5 sample.abookrc \
-               abook.spec contrib
+               abook.spec contrib doc
 
 install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5
index e6f15ff710f2b07c5c4719503c41dc29faf6108d..0d5644e5688bc07b0aa3bd471e7cd0f7b0e35273 100644 (file)
@@ -231,7 +231,7 @@ abook_SOURCES = abook.c database.c filter.c list.c misc.c \
                xmalloc.h
 
 EXTRA_DIST = config.rpath  ANNOUNCE BUGS FAQ abook.1 abookrc.5 sample.abookrc \
-               abook.spec contrib
+               abook.spec contrib doc
 
 SUBDIRS = intl po
 ACLOCAL_AMFLAGS = -I m4
index 7290f16064350247dfa4d2d5f2fcbba096a9bf2b..2e1f1232791dc1c1680e0cb2f089c113b407c0ee 100755 (executable)
--- a/configure
+++ b/configure
@@ -10189,7 +10189,15 @@ _ACEOF
 
 
 
-localedir="$ac_default_prefix/share/locale"
+
+
+
+       abook_localedir="$datadir/locale"
+       abook_localedir=`(      test "x$prefix" = xNONE && prefix="$ac_default_prefix"
+               eval echo \""$abook_localedir"\"        )`
+
+localedir="\$(datadir)/locale"
+
 
 # Check whether --with-localedir or --without-localedir was given.
 if test "${with_localedir+set}" = set; then
@@ -10197,13 +10205,13 @@ if test "${with_localedir+set}" = set; then
 
 fi;
 if test "x$with_localedir" != "x"; then
+       abook_localedir="$with_localedir"
        localedir="$with_localedir"
-elif test "x${prefix}" != "xNONE"; then
-       localedir="$prefix/share/locale"
 fi
 
+
 cat >>confdefs.h <<_ACEOF
-#define LOCALEDIR "$localedir"
+#define LOCALEDIR "$abook_localedir"
 _ACEOF
 
 
diff --git a/doc/HOWTO.translating_abook b/doc/HOWTO.translating_abook
new file mode 100644 (file)
index 0000000..2dfec7d
--- /dev/null
@@ -0,0 +1,234 @@
+Foreword
+--------
+
+This howto is deliberately incomplete, focusing on working with gettext
+for abook specifically. For more comprehensive informations or to grasp
+the Big Picture of Native Language Support, you should refer to the GNU
+gettext manual at: http://www.gnu.org/software/gettext/manual/
+
+After a quick description of how things work, three parts aimed at three
+different people involved in the translation chain will follow: coders,
+language coordinator, and translators.
+
+
+Overview
+--------
+
+To be able to display texts in the native language of the user, two
+steps are required: internationalization (i18n) and localization (l10n).
+
+i18n is about making abook support multiple languages. It is performed
+by coders, who will mark translatable texts and provide a way to display
+them translated at runtime.
+
+l10n is about making the i18n'ed abook adapt to the specific language of
+the user, ie translating the strings previously marked by the
+developers, and setting the environment correctly for abook to use the
+result of this translation.
+
+So, translatable strings are first marked by the coders within the C
+source files, then gathered in a template file (abook.pot). The content
+of this template file is then merged with the translation files for each
+language (fr.po for french, for instance). A given translation team will
+take this file, translate its strings, and send it back to the
+developers. At compilation time, a binary version of this file (for
+efficiency reasons) will be produced (fr.mo), and then installed.  Then
+abook will use this file at runtime, translating the strings according
+to the locale settings of the user.
+
+
+The coders
+----------
+
+* Translating a new file.
+  First, you have to make your C source file aware of the gettext
+  macros by including "gettext.h".
+  Then, you need to make gettext aware that this file contains
+  translatable strings by adding its name to po/POTFILES.in
+
+* Translatable strings
+  This is a two parts process: marking the string to tell gettext to
+  make it available to translators (via the .pot file), and actually
+  translating the string at runtime.
+  There is basically three functions/macros available:
+   * _(): mark the string and translate it.
+   * N_(): only mark the string
+   * gettext(): only translate
+  The last two are used in conjunction, when the string declaration is
+  dissociated in the code from its actual use. You'll then use N_() to
+  mark the string, and later use a gettext() call to translate it.
+
+And that's all, really.
+
+Should the need arise later, it might be handy to know that a few more
+mechanisms exist, for example to deal with ambiguities (same string but
+with different roles should be translated differently), or plurals, etc.
+This is all explained in depth in the gettext manual. But the three
+macros seen above should be enough to handle about all the situations
+met while internationalizing abook.
+
+
+The language coordinator
+------------------------
+
+This is neither a coder, nor a translator. His role is in-between. He
+is the one who will merge the strings changed by the coders into the
+translation files, and merge back the translation files sent to him by
+the translators. He will also take care of initiating language files
+whenever a new translator shows up.
+
+* Updating the template file
+  Translatable strings evolve all the time: coders add some, remove
+  others, change a lot of them. At some point, these strings need to be
+  merged into the po/abook.pot file to reflect the current situation.
+  This is done simply by executing 'make -C po abook.pot-update'.
+
+  The xgettext utility will then parse the files listed into
+  po/POTFILES.in, looking for marked strings, and updating po/abook.pot.
+  
+* Merging the new strings into the po-files
+  After updating, you will have to merge the changes into every .po
+  file. This is done by running 'make -C po update-po', which will use
+  the msgmerge program to perform this task.
+
+  Then, some strings will be marked as "fuzzy" (ie needing review,
+  because of slight changes), some strings will be commented out
+  because of removal from sources, some strings will be added, and
+  some strings will not be changed at all. The po-file is now in sync.
+
+* Compiling plain text translation into binary files suited for runtime
+  Please note that this is implicitly done in the previous step.
+  Anyway, you just have to run 'make -C po update-gmo' to update the
+  mo-files (or gmo-files, which is a GNU specific naming) from the
+  po-files.
+
+  For (re)generating just one particular language (french as example),
+  use 'cd po ; msgfmt -c --statistics -o fr.gmo fr.po'.
+
+* Initiating the translation of a new language
+  So a Swedish translator just contacted you to contribute a
+  translation. Nice!
+  
+  First, find out what the locale name is. For swedish, it is 'sv_SE',
+  or simply 'sv'. This is the value the user will have to put in his
+  LC_MESSAGES/LANG environment variable for software to be translated.
+
+  Then, go into the po/directory, and create a new po-file from the
+  template file: 'msginit -i abook.pot -o sv.po -l sv --no-translator'.
+  Now, having this sv.po file, the translator is ready to begin.
+
+  Last step is making gettext aware of this new language. Just add the
+  locale name to the po/LINGUAS file.
+
+* Committing a po-file received from a translator
+  The Swedish translator just sent you an updated translation, in
+  sv.po.new. Before replacing sv.po in the po/ directory and committing
+  it to cvs, you should check everything is fine, with this step:
+  'msgmerge sv.po.new abook.pot -o sv.po'.
+
+
+The translators
+---------------
+
+The gettext part is the easy one: the format of the po-files is really
+straightforward. The hard part will be the quest for the right word, the
+best fitting formulation.
+
+po-files are made of four things:
+ * location lines: tells you where the strings can be seen (name of file
+   and line number), in case you need to see a bit of context.
+ * msgid lines: the strings to translate.
+ * msgstr lines: the translated strings.
+ * lines prefixed with '#': comments (some with a special meaning, as we
+   will see below).
+
+Basically, all you have to do is fill the msgstr lines with the
+translation of the above msgid line. And send the result to the language
+coordinator of abook.
+
+A few notes:
+
+* Fuzzy strings
+  You will meet strings marked with a "#, fuzzy" comment. abook won't
+  use the translations of such strings until you do something about
+  them.
+  
+  A string being fuzzy means either that the string has already been
+  translated but has since been changed in the sources of the program,
+  or that this is a new string for which gettext made a 'wild guess' for
+  the translation, based on other strings in the file.
+
+  It means you have to review the translation. Sometimes, the original
+  string has changed just because a typo has been fixed. In this case,
+  you won't have to change anything. But sometimes, the translation will
+  no longer be accurate and needs to be changed.
+
+  Once you are done and happy with the translation, just remove the
+  "#, fuzzy" line, and the translation will be used again in abook.
+
+* c-format strings and special sequences
+  Some strings have the following comment: "#, c-format".
+  This tells that parts of the string to translate have a special
+  meaning for the program, and that you should leave them alone.
+
+  For instance, %-sequences, like "%s". These means that abook will
+  replace them with another string. So it is important it remains.
+
+  There are also \-sequences, like \n or \t. Leave them, too. The former
+  represents an end of line, the latter a tabulation.
+
+* Translations can be wrapped
+  If lines are too long, you can just break them like this:
+    msgid ""
+    "some very long line"
+    "another line"
+
+* po-file header
+  At the very beginning of the po-file, the first string form a header,
+  where various kind of information has to be filled in. Most important
+  one is the charset. It should resemble
+  "Content-Type: text/plain; charset=utf-8\n"
+
+  You should also fill in the Last-Translator field, so that potential
+  contributors can contact you if they want to join you in the
+  translation team, or have remarks/typo fixes to give about the
+  translations. You can either just give your name/nick, or add an email
+  address, f ex "Last-Translator: Cédric Duval <cedricduval+abook@free.fr>\n".
+
+* Comments
+  Adding comments (lines begining with the '#' character) can be a good
+  way to point out problems or translation difficulties to proofreaders
+  or other members of your team.
+
+* Strings size
+  abook is a curses/console program, thus it can be heavily dependant on
+  the terminal size (number of columns). You should think about this
+  when translating. Often, a string must fit into a single line
+  (standard length is 80 characters). Don't translate blindly, try to
+  look where your string will be displayed to adapt your translation.
+
+* A few useful tools
+  The po-file format is very simple, and the file can be edited with a
+  standard text editor.
+  
+  But if you prefer, there are few specialized tools you may find
+  convenient for translating:
+   * poEdit (http://www.poedit.org/)
+   * KBabel (http://i18n.kde.org/tools/kbabel/)
+   * GTranslator (http://gtranslator.sourceforge.net/)
+   * Emacs po mode
+   * Vim po mode
+     (http://vim.sourceforge.net/scripts/script.php?script_id=695
+     or http://vim.sourceforge.net/scripts/script.php?script_id=913)
+   * And certainly others I'm not aware of. Just tell me!
+
+
+And finally
+-----------
+
+I hope you'll have fun contributing to a more internationalized world. :)
+
+If you have any more questions, don't hesitate to contact me
+(Cédric Duval <cedricduval+abook@free.fr>) or the abook development
+mailing list (http://lists.sourceforge.net/lists/listinfo/abook-devel).
+
index d2bc6efc0f35fbe801b683270877cfdd089aed8d..72ad6cec0b5d53d0023a48eb8200e0dd76993b5b 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -320,10 +320,12 @@ export_database()
                return 1;
        }
 
-       mvaddstr(5+filter, 2, "->");
+       mvaddstr(5 + filter, 2, "->");
 
        if(selected_items()) {
-               switch(statusline_askchoice(_("Export <a>ll, export <s>elected, or <c>ancel?"), S_("keybindings:all/selected/cancel|asc"), 3)) {
+               switch(statusline_askchoice(
+                       _("Export <a>ll, export <s>elected, or <c>ancel?"),
+                       S_("keybindings:all/selected/cancel|asc"), 3)) {
                        case 1:
                                break;
                        case 2:
index 4e78264adeb9dfe9eb90267d6780ed14c78d7740..f601134ae64d0593dd743c7ac9e54135aed7d3ba 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: <cedricduval+abook@free.fr>\n"
-"POT-Creation-Date: 2005-09-23 22:10+0200\n"
+"POT-Creation-Date: 2005-09-27 11:31+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,199 +16,199 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: abook.c:90
+#: abook.c:91
 #, c-format
 msgid "Cannot create directory %s\n"
 msgstr ""
 
-#: abook.c:96
+#: abook.c:97
 #, c-format
 msgid "%s is not a directory\n"
 msgstr ""
 
-#: abook.c:114
+#: abook.c:115
 #, c-format
 msgid "Memory allocation failure: %s\n"
 msgstr ""
 
-#: abook.c:125
+#: abook.c:126
 #, c-format
 msgid "Press enter to continue...\n"
 msgstr ""
 
-#: abook.c:137
+#: abook.c:138
 #, c-format
 msgid "File %s is not writeable"
 msgstr ""
 
-#: abook.c:142
+#: abook.c:143
 msgid "If you continue all changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: abook.c:161
+#: abook.c:162
 msgid "Save database"
 msgstr ""
 
-#: abook.c:163
+#: abook.c:164
 msgid "Quit without saving"
 msgstr ""
 
-#: abook.c:217
+#: abook.c:218
 #, c-format
 msgid "%s is not a valid HOME directory\n"
 msgstr ""
 
-#: abook.c:248
+#: abook.c:249
 #, c-format
 msgid ""
 "Cannot combine options --mutt-query, --convert, --add-email or --add-email-"
 "quiet\n"
 msgstr ""
 
-#: abook.c:279
+#: abook.c:280
 #, c-format
 msgid "please use option --%s after --convert option\n"
 msgstr ""
 
-#: abook.c:378
+#: abook.c:379
 #, c-format
 msgid "%s: unrecognized arguments on command line\n"
 msgstr ""
 
-#: abook.c:400
+#: abook.c:401
 msgid "     -h\t--help\t\t\t\tshow usage"
 msgstr ""
 
-#: abook.c:401
+#: abook.c:402
 msgid "     -C\t--config\t<file>\t\tuse an alternative configuration file"
 msgstr ""
 
-#: abook.c:402
+#: abook.c:403
 msgid "\t--datafile\t<file>\t\tuse an alternative addressbook file"
 msgstr ""
 
-#: abook.c:403
+#: abook.c:404
 msgid "\t--mutt-query\t<string>\tmake a query for mutt"
 msgstr ""
 
-#: abook.c:404
+#: abook.c:405
 msgid ""
 "\t--add-email\t\t\tread an e-mail message from stdin and\n"
 "\t\t\t\t\tadd the sender to the addressbook"
 msgstr ""
 
-#: abook.c:408
+#: abook.c:409
 msgid ""
 "\t--add-email-quiet\t\tsame as --add-email but doesn't\n"
 "\t\t\t\t\trequire to confirm adding"
 msgstr ""
 
-#: abook.c:412
+#: abook.c:413
 msgid "\t--convert\t\t\tconvert address book files"
 msgstr ""
 
-#: abook.c:413
+#: abook.c:414
 msgid "\toptions to use with --convert:"
 msgstr ""
 
-#: abook.c:414
+#: abook.c:415
 msgid "\t--informat\t<format>\tformat for input file"
 msgstr ""
 
-#: abook.c:415
+#: abook.c:416
 msgid "\t\t\t\t\t(default: abook)"
 msgstr ""
 
-#: abook.c:416
+#: abook.c:417
 msgid "\t--infile\t<file>\t\tsource file"
 msgstr ""
 
-#: abook.c:417
+#: abook.c:418
 msgid "\t\t\t\t\t(default: stdin)"
 msgstr ""
 
-#: abook.c:418
+#: abook.c:419
 msgid "\t--outformat\t<format>\tformat for output file"
 msgstr ""
 
-#: abook.c:419
+#: abook.c:420
 msgid "\t\t\t\t\t(default: text)"
 msgstr ""
 
-#: abook.c:420
+#: abook.c:421
 msgid "\t--outfile\t<file>\t\tdestination file"
 msgstr ""
 
-#: abook.c:421
+#: abook.c:422
 msgid "\t\t\t\t\t(default: stdout)"
 msgstr ""
 
-#: abook.c:422
+#: abook.c:423
 msgid "\t--formats\t\t\tlist available formats"
 msgstr ""
 
-#: abook.c:493
+#: abook.c:494
 #, c-format
 msgid "Cannot open database\n"
 msgstr ""
 
-#: abook.c:619
+#: abook.c:620
 #, c-format
 msgid "too few arguments to make conversion\n"
 msgstr ""
 
-#: abook.c:620
+#: abook.c:621
 #, c-format
 msgid "try --help\n"
 msgstr ""
 
-#: abook.c:625
+#: abook.c:626
 #, c-format
 msgid ""
 "input and output formats are the same\n"
 "exiting...\n"
 msgstr ""
 
-#: abook.c:638
+#: abook.c:639
 #, c-format
 msgid "input format %s not supported\n"
 msgstr ""
 
-#: abook.c:642
+#: abook.c:643
 #, c-format
 msgid "cannot read file %s\n"
 msgstr ""
 
-#: abook.c:651
+#: abook.c:652
 #, c-format
 msgid "output format %s not supported\n"
 msgstr ""
 
-#: abook.c:657
+#: abook.c:658
 #, c-format
 msgid "cannot write file %s\n"
 msgstr ""
 
-#: abook.c:678
+#: abook.c:679
 #, c-format
 msgid "cannot open %s\n"
 msgstr ""
 
-#: abook.c:681
+#: abook.c:682
 #, c-format
 msgid "%d item(s) added to %s\n"
 msgstr ""
 
-#: abook.c:683
+#: abook.c:684
 msgid "Valid sender address not found"
 msgstr ""
 
-#: abook.c:723
+#: abook.c:724
 #, c-format
 msgid "Address %s already in addressbook\n"
 msgstr ""
 
-#: abook.c:733
+#: abook.c:734
 #, c-format
 msgid ""
 "cannot open /dev/tty\n"
@@ -217,10 +217,18 @@ msgstr ""
 
 #: abook.c:740
 #, c-format
-msgid "Add \"%s <%s>\" to %s? (y/n)\n"
+msgid "Add \"%s <%s>\" to %s? (%c/%c)\n"
 msgstr ""
 
-#: abook.c:769
+#: abook.c:744 abook.c:751 ui.c:345
+msgid "keybinding for yes|y"
+msgstr ""
+
+#: abook.c:745 abook.c:747 ui.c:343
+msgid "keybinding for no|n"
+msgstr ""
+
+#: abook.c:771
 #, c-format
 msgid "stdin is a directory or cannot stat stdin\n"
 msgstr ""
@@ -313,27 +321,27 @@ msgstr ""
 msgid "Invalid field value defined in configuration"
 msgstr ""
 
-#: edit.c:45
+#: edit.c:44
 msgid "CONTACT"
 msgstr ""
 
-#: edit.c:46
+#: edit.c:45
 msgid "ADDRESS"
 msgstr ""
 
-#: edit.c:47
+#: edit.c:46
 msgid " PHONE "
 msgstr ""
 
-#: edit.c:48
+#: edit.c:47
 msgid " OTHER "
 msgstr ""
 
-#: edit.c:49
+#: edit.c:48
 msgid "CUSTOM "
 msgstr ""
 
-#: edit.c:58
+#: edit.c:57
 msgid "Tab name too wide for screen"
 msgstr ""
 
@@ -345,99 +353,103 @@ msgstr ""
 msgid "?:help c:contact a:address p:phone o:other"
 msgstr ""
 
-#: filter.c:69 filter.c:80
+#: filter.c:70 filter.c:81
 msgid "abook native format"
 msgstr ""
 
-#: filter.c:70
+#: filter.c:71
 msgid "ldif / Netscape addressbook"
 msgstr ""
 
-#: filter.c:71 filter.c:82
+#: filter.c:72 filter.c:83
 msgid "mutt alias"
 msgstr ""
 
-#: filter.c:72 filter.c:84
+#: filter.c:73 filter.c:85
 msgid "pine addressbook"
 msgstr ""
 
-#: filter.c:73 filter.c:86
+#: filter.c:74 filter.c:87
 msgid "comma separated values"
 msgstr ""
 
-#: filter.c:74 filter.c:87
+#: filter.c:75 filter.c:88
 msgid "comma separated values (all fields)"
 msgstr ""
 
-#: filter.c:75 filter.c:88
+#: filter.c:76 filter.c:89
 msgid "Palm comma separated values"
 msgstr ""
 
-#: filter.c:81
+#: filter.c:82
 msgid "ldif / Netscape addressbook (.4ld)"
 msgstr ""
 
-#: filter.c:83
+#: filter.c:84
 msgid "html document"
 msgstr ""
 
-#: filter.c:85
+#: filter.c:86
 msgid "GnomeCard (VCard) addressbook"
 msgstr ""
 
-#: filter.c:89
+#: filter.c:90
 msgid "elm alias"
 msgstr ""
 
-#: filter.c:90
+#: filter.c:91
 msgid "plain text"
 msgstr ""
 
-#: filter.c:91
+#: filter.c:92
 msgid "Spruce address book"
 msgstr ""
 
-#: filter.c:104
+#: filter.c:105
 msgid "input:"
 msgstr ""
 
-#: filter.c:111
+#: filter.c:112
 msgid "output:"
 msgstr ""
 
-#: filter.c:176
+#: filter.c:177
 msgid "import database"
 msgstr ""
 
-#: filter.c:178 filter.c:295
+#: filter.c:179 filter.c:296
 msgid "please select a filter"
 msgstr ""
 
-#: filter.c:186 filter.c:303
+#: filter.c:187 filter.c:304
 msgid "x -\tcancel"
 msgstr ""
 
-#: filter.c:207 filter.c:338
+#: filter.c:208 filter.c:340
 msgid "Filename: "
 msgstr ""
 
-#: filter.c:214
+#: filter.c:215
 msgid "Error occured while opening the file"
 msgstr ""
 
-#: filter.c:216
+#: filter.c:217
 msgid "File does not seem to be a valid addressbook"
 msgstr ""
 
-#: filter.c:293
+#: filter.c:294
 msgid "export database"
 msgstr ""
 
 #: filter.c:326
-msgid "Export All/Selected/Cancel (A/s/c)?"
+msgid "Export <a>ll, export <s>elected, or <c>ancel?"
+msgstr ""
+
+#: filter.c:326 ui.c:622
+msgid "keybindings:all/selected/cancel|asc"
 msgstr ""
 
-#: filter.c:345
+#: filter.c:347
 msgid "Error occured while exporting"
 msgstr ""
 
@@ -619,72 +631,64 @@ msgstr ""
 msgid "unknown token %s\n"
 msgstr ""
 
-#: ui.c:145
+#: ui.c:146
 #, c-format
 msgid "Your terminal size is %dx%d\n"
 msgstr ""
 
-#: ui.c:146
+#: ui.c:147
 #, c-format
 msgid "Terminal is too small. Minium terminal size for abook is %dx%d\n"
 msgstr ""
 
-#: ui.c:256
+#: ui.c:334
 msgid " (Y/n)?"
 msgstr ""
 
-#: ui.c:256
+#: ui.c:334
 msgid " (y/N)?"
 msgstr ""
 
-#: ui.c:265
-msgid "keybinding for no|n"
-msgstr ""
-
-#: ui.c:267
-msgid "keybinding for yes|y"
-msgstr ""
-
-#: ui.c:334
+#: ui.c:412
 msgid "help"
 msgstr ""
 
-#: ui.c:343
+#: ui.c:421
 msgid "Press any key to continue..."
 msgstr ""
 
-#: ui.c:464
+#: ui.c:542
 msgid "Remove selected item(s)"
 msgstr ""
 
-#: ui.c:474
+#: ui.c:552
 msgid "Clear WHOLE database"
 msgstr ""
 
-#: ui.c:502
+#: ui.c:580
 msgid "Search hit bottom, continuing at top"
 msgstr ""
 
-#: ui.c:525
+#: ui.c:603
 msgid "Your current data will be lost - Press 'y' to continue"
 msgstr ""
 
-#: ui.c:544
-msgid "Print All/Selected/Cancel (a/s/C)?"
+#: ui.c:622
+msgid "Print <a>ll, print <s>elected, or <c>ancel?"
 msgstr ""
 
-#: ui.c:552
+#: ui.c:628
 msgid "No selected items"
 msgstr ""
 
-#: ui.c:578
+#: ui.c:654
 msgid "File to open: "
 msgstr ""
 
-#: ui.c:588
+#: ui.c:664
 msgid "Save current database"
 msgstr ""
 
-#: ui.c:596
+#: ui.c:672
 msgid "Sorry, the specified file appears not to be a valid abook addressbook"
 msgstr ""
index 9c4a6f251b5d486e2983015850be862eda206aeb..765aad2ee917d84693240e7ba7cc58b9bcf2fc76 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: abook\n"
 "Report-Msgid-Bugs-To: <cedricduval+abook@free.fr>\n"
-"POT-Creation-Date: 2005-09-23 18:38+0300\n"
+"POT-Creation-Date: 2005-09-27 11:31+0300\n"
 "PO-Revision-Date: 2005-09-14 22:48+0200\n"
 "Last-Translator: YOUR NAME <E-MAIL@ADDRESS>\n"
 "Language-Team: french\n"
@@ -15,50 +15,50 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: abook.c:90
+#: abook.c:91
 #, c-format
 msgid "Cannot create directory %s\n"
 msgstr "Impossible de créer le répertoire %s\n"
 
-#: abook.c:96
+#: abook.c:97
 #, c-format
 msgid "%s is not a directory\n"
 msgstr "%s n'est pas un répertoire\n"
 
-#: abook.c:114
+#: abook.c:115
 #, c-format
 msgid "Memory allocation failure: %s\n"
 msgstr "Erreur d'allocation mémoire: %s\n"
 
-#: abook.c:125
+#: abook.c:126
 #, c-format
 msgid "Press enter to continue...\n"
 msgstr "Pressez entrée pour continuer...\n"
 
-#: abook.c:137
+#: abook.c:138
 #, c-format
 msgid "File %s is not writeable"
 msgstr "Impossible d'écrire dans le fichier %s"
 
-#: abook.c:142
+#: abook.c:143
 msgid "If you continue all changes will be lost. Do you want to continue?"
 msgstr ""
 "En continuant vos modifications seront perdues. Voulez-vous continuer ?"
 
-#: abook.c:161
+#: abook.c:162
 msgid "Save database"
 msgstr "Sauvegarder la base de donnée"
 
-#: abook.c:163
+#: abook.c:164
 msgid "Quit without saving"
 msgstr "Quitter sans sauvegarder"
 
-#: abook.c:217
+#: abook.c:218
 #, c-format
 msgid "%s is not a valid HOME directory\n"
 msgstr "%s n'est pas un répertoire personnel (HOME) valide\n"
 
-#: abook.c:248
+#: abook.c:249
 #, c-format
 msgid ""
 "Cannot combine options --mutt-query, --convert, --add-email or --add-email-"
@@ -67,35 +67,35 @@ msgstr ""
 "Impossible de combiner les options --mutt-query, --convert, --add-email ou --"
 "add-email-quiet\n"
 
-#: abook.c:279
+#: abook.c:280
 #, c-format
 msgid "please use option --%s after --convert option\n"
 msgstr "Veuillez utiliser l'option --%s après l'option --convert\n"
 
-#: abook.c:378
+#: abook.c:379
 #, c-format
 msgid "%s: unrecognized arguments on command line\n"
 msgstr "%s: paramètres de ligne de commande non reconnus\n"
 
-#: abook.c:400
+#: abook.c:401
 msgid "     -h\t--help\t\t\t\tshow usage"
 msgstr "     -h\t--help\t\t\t\tmontrer l'utilisation"
 
-#: abook.c:401
+#: abook.c:402
 msgid "     -C\t--config\t<file>\t\tuse an alternative configuration file"
 msgstr ""
 "     -C\t--config\t<fichier>\tutiliser un fichier de configuration\n"
 "\t\t\t\t\talternatif"
 
-#: abook.c:402
+#: abook.c:403
 msgid "\t--datafile\t<file>\t\tuse an alternative addressbook file"
 msgstr "\t--datafile\t<fichier>\tutiliser un autre carnet d'adresses"
 
-#: abook.c:403
+#: abook.c:404
 msgid "\t--mutt-query\t<string>\tmake a query for mutt"
 msgstr "\t--mutt-query\t<chaine>\teffectuer une requête pour mutt"
 
-#: abook.c:404
+#: abook.c:405
 msgid ""
 "\t--add-email\t\t\tread an e-mail message from stdin and\n"
 "\t\t\t\t\tadd the sender to the addressbook"
@@ -104,7 +104,7 @@ msgstr ""
 "\t\t\t\t\tl'entrée standard et ajouter\n"
 "\t\t\t\t\tl'expéditeur au carnet d'adresses"
 
-#: abook.c:408
+#: abook.c:409
 #, fuzzy
 msgid ""
 "\t--add-email-quiet\t\tsame as --add-email but doesn't\n"
@@ -113,66 +113,66 @@ msgstr ""
 "\t--add-email-quiet\t\tcomme --add-email mais sans confirmer\n"
 "\t\t\t\t\tl'ajout"
 
-#: abook.c:412
+#: abook.c:413
 msgid "\t--convert\t\t\tconvert address book files"
 msgstr "\t--convert\t\t\tconvertir des carnets d'adresses"
 
-#: abook.c:413
+#: abook.c:414
 msgid "\toptions to use with --convert:"
 msgstr "\toptions à utiliser avec --convert :"
 
-#: abook.c:414
+#: abook.c:415
 msgid "\t--informat\t<format>\tformat for input file"
 msgstr "\t--informat\t<format>\tformat du fichier source"
 
-#: abook.c:415
+#: abook.c:416
 msgid "\t\t\t\t\t(default: abook)"
 msgstr "\t\t\t\t\t(défaut: abook)"
 
-#: abook.c:416
+#: abook.c:417
 msgid "\t--infile\t<file>\t\tsource file"
 msgstr "\t--infile\t<file>\t\tfichier source"
 
-#: abook.c:417
+#: abook.c:418
 msgid "\t\t\t\t\t(default: stdin)"
 msgstr "\t\t\t\t\t(défaut: entrée standard)"
 
-#: abook.c:418
+#: abook.c:419
 msgid "\t--outformat\t<format>\tformat for output file"
 msgstr "\t--outformat\t<format>\tformat du fichier de destination"
 
-#: abook.c:419
+#: abook.c:420
 msgid "\t\t\t\t\t(default: text)"
 msgstr "\t\t\t\t\t(défaut: texte)"
 
-#: abook.c:420
+#: abook.c:421
 msgid "\t--outfile\t<file>\t\tdestination file"
 msgstr "\t--outfile\t<file>\t\tfichier de destination"
 
-#: abook.c:421
+#: abook.c:422
 msgid "\t\t\t\t\t(default: stdout)"
 msgstr "\t\t\t\t\t(défaut: sortie standard)"
 
-#: abook.c:422
+#: abook.c:423
 msgid "\t--formats\t\t\tlist available formats"
 msgstr "\t--formats\t\t\tlister les formats disponibles"
 
-#: abook.c:493
+#: abook.c:494
 #, c-format
 msgid "Cannot open database\n"
 msgstr "Impossible d'ouvrir la base de données\n"
 
-#: abook.c:619
+#: abook.c:620
 #, fuzzy, c-format
 msgid "too few arguments to make conversion\n"
 msgstr "trop peu de paramètres pour effectuer la conversion\n"
 
-#: abook.c:620
+#: abook.c:621
 #, c-format
 msgid "try --help\n"
 msgstr "essayez --help\n"
 
-#: abook.c:625
+#: abook.c:626
 #, c-format
 msgid ""
 "input and output formats are the same\n"
@@ -181,46 +181,46 @@ msgstr ""
 "la source et la destination sont identiques\n"
 "arrêt...\n"
 
-#: abook.c:638
+#: abook.c:639
 #, c-format
 msgid "input format %s not supported\n"
 msgstr "le format source %s n'est pas supporté\n"
 
-#: abook.c:642
+#: abook.c:643
 #, c-format
 msgid "cannot read file %s\n"
 msgstr "Impossible de lire le fichier %s\n"
 
-#: abook.c:651
+#: abook.c:652
 #, c-format
 msgid "output format %s not supported\n"
 msgstr "le format de destination %s n'est pas supporté\n"
 
-#: abook.c:657
+#: abook.c:658
 #, c-format
 msgid "cannot write file %s\n"
 msgstr "impossible d'écrire le fichier %s\n"
 
-#: abook.c:678
+#: abook.c:679
 #, c-format
 msgid "cannot open %s\n"
 msgstr "impossible d'ouvrir %s\n"
 
-#: abook.c:681
+#: abook.c:682
 #, c-format
 msgid "%d item(s) added to %s\n"
 msgstr "%d entrées ajoutées à %s\n"
 
-#: abook.c:683
+#: abook.c:684
 msgid "Valid sender address not found"
 msgstr "Aucune adresse d'expéditeur valide trouvée"
 
-#: abook.c:723
+#: abook.c:724
 #, c-format
 msgid "Address %s already in addressbook\n"
 msgstr "L'adresse %s figure déjà dans le carnet d'adresses\n"
 
-#: abook.c:733
+#: abook.c:734
 #, c-format
 msgid ""
 "cannot open /dev/tty\n"
@@ -231,10 +231,18 @@ msgstr ""
 
 #: abook.c:740
 #, c-format
-msgid "Add \"%s <%s>\" to %s? (y/n)\n"
+msgid "Add \"%s <%s>\" to %s? (%c/%c)\n"
+msgstr ""
+
+#: abook.c:744 abook.c:751 ui.c:345
+msgid "keybinding for yes|y"
 msgstr ""
 
-#: abook.c:769
+#: abook.c:745 abook.c:747 ui.c:343
+msgid "keybinding for no|n"
+msgstr ""
+
+#: abook.c:771
 #, c-format
 msgid "stdin is a directory or cannot stat stdin\n"
 msgstr "stdin est un répertoire, ou impossible d'en quérir son état\n"
@@ -328,27 +336,27 @@ msgstr "Personnalisé5"
 msgid "Invalid field value defined in configuration"
 msgstr "Valeur de champ invalide définie dans la configuration"
 
-#: edit.c:45
+#: edit.c:44
 msgid "CONTACT"
 msgstr "CONTACT"
 
-#: edit.c:46
+#: edit.c:45
 msgid "ADDRESS"
 msgstr "ADRESSE"
 
-#: edit.c:47
+#: edit.c:46
 msgid " PHONE "
 msgstr "TÉLÉPHONE"
 
-#: edit.c:48
+#: edit.c:47
 msgid " OTHER "
 msgstr "AUTRE"
 
-#: edit.c:49
+#: edit.c:48
 msgid "CUSTOM "
 msgstr "PERSONNALISÉ"
 
-#: edit.c:58
+#: edit.c:57
 msgid "Tab name too wide for screen"
 msgstr "Intitulé de \"tab\" trop large pour l'écran"
 
@@ -360,108 +368,107 @@ msgstr "Adresses email:"
 msgid "?:help c:contact a:address p:phone o:other"
 msgstr "?:aide c:contact a:adresse p:téléphone o:autre"
 
-#: filter.c:69 filter.c:80
+#: filter.c:70 filter.c:81
 msgid "abook native format"
 msgstr "format natif abook"
 
-#: filter.c:70
+#: filter.c:71
 msgid "ldif / Netscape addressbook"
 msgstr "ldif / carnet d'adresses Netscape"
 
-#: filter.c:71 filter.c:82
+#: filter.c:72 filter.c:83
 msgid "mutt alias"
 msgstr "alias mutt"
 
-#: filter.c:72 filter.c:84
+#: filter.c:73 filter.c:85
 msgid "pine addressbook"
 msgstr "carnet d'adresses pine"
 
-#: filter.c:73 filter.c:86
+#: filter.c:74 filter.c:87
 msgid "comma separated values"
 msgstr "valeurs délimitées par des virgules"
 
-#: filter.c:74
+#: filter.c:75 filter.c:88
 #, fuzzy
 msgid "comma separated values (all fields)"
 msgstr "valeurs délimitées par des virgules"
 
-#: filter.c:75 filter.c:88
+#: filter.c:76 filter.c:89
 msgid "Palm comma separated values"
 msgstr "valeur délimitées par des virgules, format Palm"
 
-#: filter.c:81
+#: filter.c:82
 msgid "ldif / Netscape addressbook (.4ld)"
 msgstr "ldif / carnet d'adresses Netscape (.41d)"
 
-#: filter.c:83
+#: filter.c:84
 msgid "html document"
 msgstr "document html"
 
-#: filter.c:85
+#: filter.c:86
 msgid "GnomeCard (VCard) addressbook"
 msgstr "carnet d'adresses GnomCard (VCard)"
 
-#: filter.c:87
-msgid "comma separated all values"
-msgstr "toutes valeurs délimitées par des virgules"
-
-#: filter.c:89
+#: filter.c:90
 msgid "elm alias"
 msgstr "alias elm"
 
-#: filter.c:90
+#: filter.c:91
 msgid "plain text"
 msgstr "texte simple"
 
-#: filter.c:91
+#: filter.c:92
 msgid "Spruce address book"
 msgstr "carnet d'adresses Spruce"
 
-#: filter.c:104
+#: filter.c:105
 msgid "input:"
 msgstr "entrée:"
 
-#: filter.c:111
+#: filter.c:112
 msgid "output:"
 msgstr "sortie:"
 
-#: filter.c:176
+#: filter.c:177
 msgid "import database"
 msgstr "importer la base de donnée"
 
-#: filter.c:178 filter.c:295
+#: filter.c:179 filter.c:296
 msgid "please select a filter"
 msgstr "veuiller choisir un filtre"
 
-#: filter.c:186 filter.c:303
+#: filter.c:187 filter.c:304
 msgid "x -\tcancel"
 msgstr "x - \tannuler"
 
-#: filter.c:207 filter.c:338
+#: filter.c:208 filter.c:340
 msgid "Filename: "
 msgstr "Nom de fichier: "
 
-#: filter.c:214
+#: filter.c:215
 msgid "Error occured while opening the file"
 msgstr "Une erreur est survenue à l'ouverture du fichier"
 
-#: filter.c:216
+#: filter.c:217
 #, fuzzy
 msgid "File does not seem to be a valid addressbook"
 msgstr ""
 "Désolé, le fichier spécifier ne semble pas être un carnet d'adresses abook "
 "valide"
 
-#: filter.c:293
+#: filter.c:294
 msgid "export database"
 msgstr "exporter la base de donnée"
 
 #: filter.c:326
-#, fuzzy
-msgid "Export All/Selected/Cancel (A/s/c)?"
-msgstr "Afficher tout/sélectionné/annuler (a/s/C)?"
+msgid "Export <a>ll, export <s>elected, or <c>ancel?"
+msgstr ""
+
+#: filter.c:326 ui.c:622
+msgid "keybindings:all/selected/cancel|asc"
+msgstr ""
 
-#: filter.c:345
+#: filter.c:347
 msgid "Error occured while exporting"
 msgstr "Une erreur est survenue lors de l'exportation"
 
@@ -651,78 +658,81 @@ msgstr ""
 msgid "unknown token %s\n"
 msgstr "impossible d'ouvrir %s\n"
 
-#: ui.c:145
+#: ui.c:146
 #, c-format
 msgid "Your terminal size is %dx%d\n"
 msgstr "La taille de votre terminal est de %dx%d\n"
 
-#: ui.c:146
+#: ui.c:147
 #, c-format
 msgid "Terminal is too small. Minium terminal size for abook is %dx%d\n"
 msgstr "Terminal trop petit. Taille minimale de terminal pour abook: %dx%d\n"
 
-#: ui.c:256
+#: ui.c:334
 msgid " (Y/n)?"
 msgstr ""
 
-#: ui.c:256
+#: ui.c:334
 msgid " (y/N)?"
 msgstr ""
 
-#: ui.c:265
-msgid "keybinding for no|n"
-msgstr ""
-
-#: ui.c:267
-msgid "keybinding for yes|y"
-msgstr ""
-
-#: ui.c:334
+#: ui.c:412
 msgid "help"
 msgstr "aide"
 
-#: ui.c:343
+#: ui.c:421
 msgid "Press any key to continue..."
 msgstr "Pressez n'importe quelle touche pour continuer..."
 
-#: ui.c:464
+#: ui.c:542
 msgid "Remove selected item(s)"
 msgstr "supprimer les entrées sélectionnées"
 
-#: ui.c:474
+#: ui.c:552
 msgid "Clear WHOLE database"
 msgstr "effacer entièrement la base de données"
 
-#: ui.c:502
+#: ui.c:580
 msgid "Search hit bottom, continuing at top"
 msgstr "La recherche a atteint la fin, poursuite au début"
 
-#: ui.c:525
+#: ui.c:603
 msgid "Your current data will be lost - Press 'y' to continue"
 msgstr "Vos donnée actuelles seront perdues - Pressez 'y' pour continuer"
 
-#: ui.c:544
-msgid "Print All/Selected/Cancel (a/s/C)?"
-msgstr "Afficher tout/sélectionné/annuler (a/s/C)?"
+#: ui.c:622
+msgid "Print <a>ll, print <s>elected, or <c>ancel?"
+msgstr ""
 
-#: ui.c:552
+#: ui.c:628
 msgid "No selected items"
 msgstr "Pas d'entrée sélectionnée"
 
-#: ui.c:578
+#: ui.c:654
 msgid "File to open: "
 msgstr "Fichier à ouvrir: "
 
-#: ui.c:588
+#: ui.c:664
 msgid "Save current database"
 msgstr "Sauvegarder la base de donnée"
 
-#: ui.c:596
-msgid "Sorry, that specified file appears not to be a valid abook addressbook"
+#: ui.c:672
+#, fuzzy
+msgid "Sorry, the specified file appears not to be a valid abook addressbook"
 msgstr ""
 "Désolé, le fichier spécifier ne semble pas être un carnet d'adresses abook "
 "valide"
 
+#, fuzzy
+#~ msgid "Export All/Selected/Cancel (A/s/c)?"
+#~ msgstr "Afficher tout/sélectionné/annuler (a/s/C)?"
+
+#~ msgid "Print All/Selected/Cancel (a/s/C)?"
+#~ msgstr "Afficher tout/sélectionné/annuler (a/s/C)?"
+
+#~ msgid "comma separated all values"
+#~ msgstr "toutes valeurs délimitées par des virgules"
+
 #~ msgid "Hmm.., file seems not to be a valid file"
 #~ msgstr "Hmm... ce fichier ne semble pas être valide"
 
index 12f282196b7e73902c507381e0521974c0c01aee..d416b755a931e06348a21c4c3fc9c0953c9ec9c9 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: abook 0.5.4\n"
 "Report-Msgid-Bugs-To: <cedricduval+abook@free.fr>\n"
-"POT-Creation-Date: 2005-09-23 22:10+0200\n"
+"POT-Creation-Date: 2005-09-27 11:31+0300\n"
 "PO-Revision-Date: 2005-09-23 22:13+0200\n"
 "Last-Translator: Susanna Björverud <susanna.bjorverud@telia.com>\n"
 "Language-Team: none\n"
@@ -16,50 +16,50 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: abook.c:90
+#: abook.c:91
 #, c-format
 msgid "Cannot create directory %s\n"
 msgstr "Kan inte skapa mapp %s\n"
 
-#: abook.c:96
+#: abook.c:97
 #, c-format
 msgid "%s is not a directory\n"
 msgstr "%s är inte en mapp\n"
 
-#: abook.c:114
+#: abook.c:115
 #, c-format
 msgid "Memory allocation failure: %s\n"
 msgstr "Fel vid tilldelning av minne: %s\n"
 
-#: abook.c:125
+#: abook.c:126
 #, c-format
 msgid "Press enter to continue...\n"
 msgstr "Tryck enter för att fortsätta...\n"
 
-#: abook.c:137
+#: abook.c:138
 #, c-format
 msgid "File %s is not writeable"
 msgstr "Filen %s kan inte skrivas"
 
-#: abook.c:142
+#: abook.c:143
 msgid "If you continue all changes will be lost. Do you want to continue?"
 msgstr ""
 "Om du fortsätter så kommer alla ändringar att gå förlorade. Vill du fortsätta"
 
-#: abook.c:161
+#: abook.c:162
 msgid "Save database"
 msgstr "Spara databasen"
 
-#: abook.c:163
+#: abook.c:164
 msgid "Quit without saving"
 msgstr "Avsluta utan att spara"
 
-#: abook.c:217
+#: abook.c:218
 #, c-format
 msgid "%s is not a valid HOME directory\n"
 msgstr "%s är inte en giltig hemmamapp\n"
 
-#: abook.c:248
+#: abook.c:249
 #, c-format
 msgid ""
 "Cannot combine options --mutt-query, --convert, --add-email or --add-email-"
@@ -68,33 +68,33 @@ msgstr ""
 "Det går inte att kombinera flaggorna --mutt-query, --convert, --add-email "
 "eller --add-email-quiet\n"
 
-#: abook.c:279
+#: abook.c:280
 #, c-format
 msgid "please use option --%s after --convert option\n"
 msgstr "var god och använd flaggan --%s efter flaggan --convert\n"
 
-#: abook.c:378
+#: abook.c:379
 #, c-format
 msgid "%s: unrecognized arguments on command line\n"
 msgstr "%s: okända parametrar på kommandoraden\n"
 
-#: abook.c:400
+#: abook.c:401
 msgid "     -h\t--help\t\t\t\tshow usage"
 msgstr "    -h\t--help\t\t\t\tvisa användning"
 
-#: abook.c:401
+#: abook.c:402
 msgid "     -C\t--config\t<file>\t\tuse an alternative configuration file"
 msgstr "     -C\t--config\t<fil>\t\tanvänd en alternative konfigurationsfil"
 
-#: abook.c:402
+#: abook.c:403
 msgid "\t--datafile\t<file>\t\tuse an alternative addressbook file"
 msgstr "\t--datafile\t<fil>\t\tanvänd en alternative adressboksfil"
 
-#: abook.c:403
+#: abook.c:404
 msgid "\t--mutt-query\t<string>\tmake a query for mutt"
 msgstr "\t--mutt-query\t<sträng>\tgör en förfrågan till mutt"
 
-#: abook.c:404
+#: abook.c:405
 msgid ""
 "\t--add-email\t\t\tread an e-mail message from stdin and\n"
 "\t\t\t\t\tadd the sender to the addressbook"
@@ -102,7 +102,7 @@ msgstr ""
 "\t--add-email\t\t\tläs ett ebrev från stdin och\n"
 "\t\t\t\t\tlägg till avsändaren i adressboken"
 
-#: abook.c:408
+#: abook.c:409
 msgid ""
 "\t--add-email-quiet\t\tsame as --add-email but doesn't\n"
 "\t\t\t\t\trequire to confirm adding"
@@ -110,66 +110,66 @@ msgstr ""
 "\t--add-email-quiet\t\tsamma som --add-email men utan\n"
 "\t\t\t\t\tanvändarbekräftelse"
 
-#: abook.c:412
+#: abook.c:413
 msgid "\t--convert\t\t\tconvert address book files"
 msgstr "\t--convert\t\t\tkonvertera adressbokfiler"
 
-#: abook.c:413
+#: abook.c:414
 msgid "\toptions to use with --convert:"
 msgstr "\tflaggor som kan användas med --convert:"
 
-#: abook.c:414
+#: abook.c:415
 msgid "\t--informat\t<format>\tformat for input file"
 msgstr "\t--informat\t<format>\tinputfilens format"
 
-#: abook.c:415
+#: abook.c:416
 msgid "\t\t\t\t\t(default: abook)"
 msgstr "\t\t\t\t\t(förvalt: abook)"
 
-#: abook.c:416
+#: abook.c:417
 msgid "\t--infile\t<file>\t\tsource file"
 msgstr "\t--infile\t<fil>\t\tkällfil"
 
-#: abook.c:417
+#: abook.c:418
 msgid "\t\t\t\t\t(default: stdin)"
 msgstr "\t\t\t\t\t(förvalt: stdin)"
 
-#: abook.c:418
+#: abook.c:419
 msgid "\t--outformat\t<format>\tformat for output file"
 msgstr "\t--outformat\t<format>\toutputfilens format"
 
-#: abook.c:419
+#: abook.c:420
 msgid "\t\t\t\t\t(default: text)"
 msgstr "\t\t\t\t\t(förvalt: text)"
 
-#: abook.c:420
+#: abook.c:421
 msgid "\t--outfile\t<file>\t\tdestination file"
 msgstr "\t--outfile\t<fil>\t\tmålfil"
 
-#: abook.c:421
+#: abook.c:422
 msgid "\t\t\t\t\t(default: stdout)"
 msgstr "\t\t\t\t\t(förvalt: stdout)"
 
-#: abook.c:422
+#: abook.c:423
 msgid "\t--formats\t\t\tlist available formats"
 msgstr "\t--formats\t\t\tlista tillgängliga format"
 
-#: abook.c:493
+#: abook.c:494
 #, c-format
 msgid "Cannot open database\n"
 msgstr "Kan inte öppna databasen\n"
 
-#: abook.c:619
+#: abook.c:620
 #, c-format
 msgid "too few arguments to make conversion\n"
 msgstr "alltför få parametrar för att kunna konvertera\n"
 
-#: abook.c:620
+#: abook.c:621
 #, c-format
 msgid "try --help\n"
 msgstr "prova --help\n"
 
-#: abook.c:625
+#: abook.c:626
 #, c-format
 msgid ""
 "input and output formats are the same\n"
@@ -178,46 +178,46 @@ msgstr ""
 "input- och outputformat är identiska\n"
 "avslutar...\n"
 
-#: abook.c:638
+#: abook.c:639
 #, c-format
 msgid "input format %s not supported\n"
 msgstr "inputformater %s stöds ej\n"
 
-#: abook.c:642
+#: abook.c:643
 #, c-format
 msgid "cannot read file %s\n"
 msgstr "kan inte läsa filen %s\n"
 
-#: abook.c:651
+#: abook.c:652
 #, c-format
 msgid "output format %s not supported\n"
 msgstr "outputformatet %s stöds ej\n"
 
-#: abook.c:657
+#: abook.c:658
 #, c-format
 msgid "cannot write file %s\n"
 msgstr "kan inte skriva till filen %s\n"
 
-#: abook.c:678
+#: abook.c:679
 #, c-format
 msgid "cannot open %s\n"
 msgstr "kan inte öppna %s\n"
 
-#: abook.c:681
+#: abook.c:682
 #, c-format
 msgid "%d item(s) added to %s\n"
 msgstr "%d post(er) har lagts till i %s\n"
 
-#: abook.c:683
+#: abook.c:684
 msgid "Valid sender address not found"
 msgstr "Kunde inte hitta en giltig avsändaradress"
 
-#: abook.c:723
+#: abook.c:724
 #, c-format
 msgid "Address %s already in addressbook\n"
 msgstr "Addressen %s finns redan i adressboken\n"
 
-#: abook.c:733
+#: abook.c:734
 #, c-format
 msgid ""
 "cannot open /dev/tty\n"
@@ -227,11 +227,19 @@ msgstr ""
 "du bör kanske använda --add-email-quiet\n"
 
 #: abook.c:740
-#, c-format
-msgid "Add \"%s <%s>\" to %s? (y/n)\n"
+#, fuzzy, c-format
+msgid "Add \"%s <%s>\" to %s? (%c/%c)\n"
 msgstr "Lägg till \"%s <%s>\" i %s? (j/n)\n"
 
-#: abook.c:769
+#: abook.c:744 abook.c:751 ui.c:345
+msgid "keybinding for yes|y"
+msgstr "j"
+
+#: abook.c:745 abook.c:747 ui.c:343
+msgid "keybinding for no|n"
+msgstr "n"
+
+#: abook.c:771
 #, c-format
 msgid "stdin is a directory or cannot stat stdin\n"
 msgstr ""
@@ -326,27 +334,27 @@ msgstr "Egen5"
 msgid "Invalid field value defined in configuration"
 msgstr "Ogiltigt fältvärde i konfigurationen"
 
-#: edit.c:45
+#: edit.c:44
 msgid "CONTACT"
 msgstr "KONTAKT"
 
-#: edit.c:46
+#: edit.c:45
 msgid "ADDRESS"
 msgstr "ADRESS"
 
-#: edit.c:47
+#: edit.c:46
 msgid " PHONE "
 msgstr " TELEFON "
 
-#: edit.c:48
+#: edit.c:47
 msgid " OTHER "
 msgstr " ANNAT "
 
-#: edit.c:49
+#: edit.c:48
 msgid "CUSTOM "
 msgstr "EGEN "
 
-#: edit.c:58
+#: edit.c:57
 msgid "Tab name too wide for screen"
 msgstr "Flikrubrik för bred för skärmen"
 
@@ -358,99 +366,103 @@ msgstr "Ebrevsadresser:"
 msgid "?:help c:contact a:address p:phone o:other"
 msgstr "?:hjälp c:kontact a:adress p:telefon o:annat"
 
-#: filter.c:69 filter.c:80
+#: filter.c:70 filter.c:81
 msgid "abook native format"
 msgstr "abooks eget format"
 
-#: filter.c:70
+#: filter.c:71
 msgid "ldif / Netscape addressbook"
 msgstr "ldif / adressbok fr Netscape"
 
-#: filter.c:71 filter.c:82
+#: filter.c:72 filter.c:83
 msgid "mutt alias"
 msgstr "mutt-alias"
 
-#: filter.c:72 filter.c:84
+#: filter.c:73 filter.c:85
 msgid "pine addressbook"
 msgstr "pine-adressbok"
 
-#: filter.c:73 filter.c:86
+#: filter.c:74 filter.c:87
 msgid "comma separated values"
 msgstr "kommaseparerade värden"
 
-#: filter.c:74 filter.c:87
+#: filter.c:75 filter.c:88
 msgid "comma separated values (all fields)"
 msgstr "kommaseparerade värden (alla fält)"
 
-#: filter.c:75 filter.c:88
+#: filter.c:76 filter.c:89
 msgid "Palm comma separated values"
 msgstr "kommaseparerade värden från Palm"
 
-#: filter.c:81
+#: filter.c:82
 msgid "ldif / Netscape addressbook (.4ld)"
 msgstr "ldif / adressbok fr Netscape (.4ld)"
 
-#: filter.c:83
+#: filter.c:84
 msgid "html document"
 msgstr "html-dokument"
 
-#: filter.c:85
+#: filter.c:86
 msgid "GnomeCard (VCard) addressbook"
 msgstr "GnomeCard-adressbok (VCard)"
 
-#: filter.c:89
+#: filter.c:90
 msgid "elm alias"
 msgstr "elm-alias"
 
-#: filter.c:90
+#: filter.c:91
 msgid "plain text"
 msgstr "ren text"
 
-#: filter.c:91
+#: filter.c:92
 msgid "Spruce address book"
 msgstr "Spruce-adressbok"
 
-#: filter.c:104
+#: filter.c:105
 msgid "input:"
 msgstr "input:"
 
-#: filter.c:111
+#: filter.c:112
 msgid "output:"
 msgstr "output:"
 
-#: filter.c:176
+#: filter.c:177
 msgid "import database"
 msgstr "importera databaser"
 
-#: filter.c:178 filter.c:295
+#: filter.c:179 filter.c:296
 msgid "please select a filter"
 msgstr "var god och välj filter"
 
-#: filter.c:186 filter.c:303
+#: filter.c:187 filter.c:304
 msgid "x -\tcancel"
 msgstr "x -\tavbryt"
 
-#: filter.c:207 filter.c:338
+#: filter.c:208 filter.c:340
 msgid "Filename: "
 msgstr "Filnamn:"
 
-#: filter.c:214
+#: filter.c:215
 msgid "Error occured while opening the file"
 msgstr "Fel vid öppnandet av filen"
 
-#: filter.c:216
+#: filter.c:217
 msgid "File does not seem to be a valid addressbook"
 msgstr "Den angivna filen verkar inte vara en giltig adressbok"
 
-#: filter.c:293
+#: filter.c:294
 msgid "export database"
 msgstr "exportera databasen"
 
 #: filter.c:326
-msgid "Export All/Selected/Cancel (A/s/c)?"
-msgstr "Exportera Alla/Valda/Avbryt (A/s/c)?"
+msgid "Export <a>ll, export <s>elected, or <c>ancel?"
+msgstr ""
 
-#: filter.c:345
+#: filter.c:326 ui.c:622
+msgid "keybindings:all/selected/cancel|asc"
+msgstr ""
+
+#: filter.c:347
 msgid "Error occured while exporting"
 msgstr "Fel vid export"
 
@@ -632,78 +644,76 @@ msgstr "%s: parsning misslyckades på rad %d: "
 msgid "unknown token %s\n"
 msgstr "okänd symbol %s\n"
 
-#: ui.c:145
+#: ui.c:146
 #, c-format
 msgid "Your terminal size is %dx%d\n"
 msgstr "Storleken på ditt terminalfönster är %dx%d\n"
 
-#: ui.c:146
+#: ui.c:147
 #, c-format
 msgid "Terminal is too small. Minium terminal size for abook is %dx%d\n"
 msgstr ""
 "Terminalfönstret är alltför litet. Den minsta tillåtna storleken för abook "
 "är %dx%d\n"
 
-#: ui.c:256
+#: ui.c:334
 msgid " (Y/n)?"
 msgstr "(J/n)"
 
-#: ui.c:256
+#: ui.c:334
 msgid " (y/N)?"
 msgstr "(j/N)"
 
-#: ui.c:265
-msgid "keybinding for no|n"
-msgstr "n"
-
-#: ui.c:267
-msgid "keybinding for yes|y"
-msgstr "j"
-
-#: ui.c:334
+#: ui.c:412
 msgid "help"
 msgstr "hjälp"
 
-#: ui.c:343
+#: ui.c:421
 msgid "Press any key to continue..."
 msgstr "Tryck på en tangent för att fortsätta..."
 
-#: ui.c:464
+#: ui.c:542
 msgid "Remove selected item(s)"
 msgstr "Ta bort valda post(er)"
 
-#: ui.c:474
+#: ui.c:552
 msgid "Clear WHOLE database"
 msgstr "Nollställ HELA databasen"
 
-#: ui.c:502
+#: ui.c:580
 msgid "Search hit bottom, continuing at top"
 msgstr "Sök nådde slutet, fortsätter från början"
 
-#: ui.c:525
+#: ui.c:603
 msgid "Your current data will be lost - Press 'y' to continue"
 msgstr "Nuvarande data kommer att förloras - Tryck på 'y' för att fortsätta"
 
-#: ui.c:544
-msgid "Print All/Selected/Cancel (a/s/C)?"
-msgstr "Skriv ut Alla/Valda/Avbryt (a/s/C)?"
+#: ui.c:622
+msgid "Print <a>ll, print <s>elected, or <c>ancel?"
+msgstr ""
 
-#: ui.c:552
+#: ui.c:628
 msgid "No selected items"
 msgstr "Inga poster valda"
 
-#: ui.c:578
+#: ui.c:654
 msgid "File to open: "
 msgstr "Öppna fil: "
 
-#: ui.c:588
+#: ui.c:664
 msgid "Save current database"
 msgstr "Spara denna databas"
 
-#: ui.c:596
+#: ui.c:672
 msgid "Sorry, the specified file appears not to be a valid abook addressbook"
 msgstr ""
 "Förlåt, men den angivna filen verkar inte vara en giltig abook-adressbok"
 
+#~ msgid "Export All/Selected/Cancel (A/s/c)?"
+#~ msgstr "Exportera Alla/Valda/Avbryt (A/s/c)?"
+
+#~ msgid "Print All/Selected/Cancel (a/s/C)?"
+#~ msgstr "Skriv ut Alla/Valda/Avbryt (a/s/C)?"
+
 #~ msgid "comma separated all values"
 #~ msgstr "alla värden kommaseparerade"