From: Gerfried Fuchs Date: Fri, 23 Mar 2012 07:28:42 +0000 (+0100) Subject: Imported Upstream version 0.6.0~pre2 X-Git-Tag: upstream/0.6.0_pre2^0 X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=commitdiff_plain;h=2cd2b91adea5118cff59a43c15082078ae6f214a Imported Upstream version 0.6.0~pre2 --- diff --git a/ANNOUNCE b/ANNOUNCE index abff6e6..26f691f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -abook v 0.5 +abook Abook is small and powerful addressbook program designed to use with mutt mail client. Abook runs on Linux / FreeBSD and probably with small changes on other diff --git a/AUTHORS b/AUTHORS index 7ead74f..9570e77 100644 --- a/AUTHORS +++ b/AUTHORS @@ -3,6 +3,11 @@ abook AUTHORS Jaakko Heinonen +Cedric Duval + - views + - i18n + - etc. + Alan Ford - Debian package - manual pages @@ -21,6 +26,3 @@ Koenraad Heijlen - palmcsv export filter - fixes -Cedric Duval - - i18n - diff --git a/ChangeLog b/ChangeLog index c0e181f..967f96a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,11 @@ -0.6.0pre +0.6.0 - configurable views (Cedric Duval) - new field types, lists and improved custom field support (Cedric Duval) + - index_format option (Cedric Duval) - Italian translation (Claudio Stazzone) + - BSD calendar export filter (Guillem Jover) + - translation updates + - bugfixes 0.5.6 - translation fixes diff --git a/Makefile.am b/Makefile.am index 4a34000..1b3d27e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,8 +12,7 @@ abook_SOURCES = abook.c abook_rl.c database.c edit.c \ ui.h views.h xmalloc.h EXTRA_DIST = config.rpath ANNOUNCE BUGS FAQ abook.1 abookrc.5 sample.abookrc \ - abook.spec contrib doc/HOWTO.translating_abook \ - RELNOTES-0.6pre + abook.spec contrib doc/HOWTO.translating_abook RELEASE_NOTES abook_LDADD = @LIBINTL@ diff --git a/Makefile.in b/Makefile.in index a5840f5..1f1d6db 100644 --- a/Makefile.in +++ b/Makefile.in @@ -235,8 +235,7 @@ abook_SOURCES = abook.c abook_rl.c database.c edit.c \ ui.h views.h xmalloc.h EXTRA_DIST = config.rpath ANNOUNCE BUGS FAQ abook.1 abookrc.5 sample.abookrc \ - abook.spec contrib doc/HOWTO.translating_abook \ - RELNOTES-0.6pre + abook.spec contrib doc/HOWTO.translating_abook RELEASE_NOTES abook_LDADD = @LIBINTL@ SUBDIRS = intl po diff --git a/README b/README index d502d89..ad56f59 100644 --- a/README +++ b/README @@ -1,6 +1,4 @@ -See also RELNOTES-0.6pre. - ABOOK by JH ----- @@ -8,7 +6,7 @@ Abook is an addressbook program with mutt mail client support. COMPILATION -To compile abook you must have ncurses developement libraries installed. +To compile abook you must have ncurses development libraries installed. Starting from version 0.4.10 abook is known to compile with the native curses library of SUN Solaris and OpenBSD. Since version 0.5.0 GNU readline is required. Please note that other readline implementations don't work. @@ -18,8 +16,8 @@ to somewhere. (for example abook 2> debug or abook 2> /dev/null) Abook has been compiled and tested successfully on following platforms: (NOTE: All versions of abook haven't been tested on all platforms.) -Linux (Debian GNU/Linux, RedHat Linux, all other distributions with GNU ncurses - and GNU readline should work) +Linux (distributions with moderately new GNU ncurses and GNU readline libraries + should work) Darwin Solaris FreeBSD @@ -45,9 +43,13 @@ After this you can make queries from mutt using the query command ('Q') and add sender e-mail addresses to the addressbook from pager using 'A' command. (Of course you can choose another keybinding if you like.) -It's also recommeded to set pipe_decode variable in mutt configuration. +It's also recommended to set pipe_decode variable in mutt configuration. See the mutt manual for details. +UPGRADING FROM VERSION 0.5 + +See RELEASE_NOTES . + UPGRADING FROM VERSION 0.4 You must import your abook 0.4 addressbook file because it is stored @@ -72,8 +74,8 @@ LICENSE All files in this distribution are released under GNU GENERAL PUBLIC LICENSE. See COPYING for details. -CONTACT AUTHOR +CONTACT AUTHORS -Send bugreports, fixes, wishes etc. to Jaakko Heinonen - or use the mailing list. +Send bugreports, fixes, wishes etc. to abook mailing list: +https://lists.sourceforge.net/lists/listinfo/abook-devel diff --git a/RELEASE_NOTES b/RELEASE_NOTES new file mode 100644 index 0000000..92fcca6 --- /dev/null +++ b/RELEASE_NOTES @@ -0,0 +1,32 @@ +This file lists major changes affecting abook's behavior. +Please read this file carefully when upgrading abook. +A more comprehensive list of changes can be found in the ChangeLog file. + +-- + +0.6.0pre2: + * The four following configuration options have been deprecated and will + no longer be accepted by abook: + * emailpos + * extra_column + * extra_alternative + * extrapos + + They have been replaced with a single more flexible option: + index_format. + + This option is a string defining the format of a line in the main list. + It allows displaying of as many fields as desired, with optional + width limit, as well as an arbitrary number of alternative fields. + +0.6.0pre1 (2006-08-30): + * The 'customfield' command has been obsoleted by a more flexible set + of commands: 'field' and 'view'. + + Those two commands make it possible to define fields and organize + them within tabs as you see fit. + + Not using these commands, the look and feel of previous releases + will mostly be kept the same. Also see the related 'preserve_fields' + configuration variable. + diff --git a/RELNOTES-0.6pre b/RELNOTES-0.6pre deleted file mode 100644 index 84a98b1..0000000 --- a/RELNOTES-0.6pre +++ /dev/null @@ -1,13 +0,0 @@ -abook 0.6pre1 - -RELEASE NOTES - -* See sample.abookrc and abookrc(5) how to configure views and custom fields. - -* There are four types for fields: 'string' (default), 'emails', 'list', and - 'date' - -* Report all bugs and incompatibilities with abook 0.5 to abook-devel mailing - list: https://lists.sourceforge.net/lists/listinfo/abook-devel . - (Subscription is needed due to spam.) As a last resort you can also - mail to jheinonen@users.sourceforge.net . diff --git a/THANKS b/THANKS index 490f4e6..ba96d26 100644 --- a/THANKS +++ b/THANKS @@ -19,5 +19,8 @@ Jeff Covey Giuseppe Corbelli Mariusz Balewski Marc Tardif +Gerfried Fuchs +Josef Schugt +Guillem Jover See also AUTHORS diff --git a/TODO b/TODO index c13e549..488a5a3 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,6 @@ +0.6 + - allcsv should export all fields + generic: - grouping - new file format (xml?) diff --git a/abook.1 b/abook.1 index 452f0a6..bb7ed4e 100644 --- a/abook.1 +++ b/abook.1 @@ -1,4 +1,4 @@ -.TH ABOOK 1 "June 6, 2003" +.TH ABOOK 1 2006-09-06 .nh .SH NAME abook \- text-based address book program @@ -79,6 +79,8 @@ The following \fIoutputformats\fR are supported: - \fBspruce\fP Spruce address book .br - \fBwl\fP Wanderlust address book +.br +- \fBbsdcal\fP BSD calendar .TP \fB\-\-add-email\fP Read an e-mail message from stdin and add the sender to the addressbook. diff --git a/abook.c b/abook.c index a832363..f20c45d 100644 --- a/abook.c +++ b/abook.c @@ -1,5 +1,5 @@ /* - * $Id: abook.c,v 1.59 2006/08/07 19:20:25 cduval Exp $ + * $Id: abook.c,v 1.60 2006/09/04 18:29:24 cduval Exp $ * * by JH * @@ -132,6 +132,8 @@ init_abook() signal(SIGTERM, quit_abook_sig); + init_index(); + if(init_ui()) exit(EXIT_FAILURE); diff --git a/abook.spec b/abook.spec index 3bccbfe..2b8023b 100644 --- a/abook.spec +++ b/abook.spec @@ -1,6 +1,6 @@ Summary: Text-based addressbook program Name: abook -Version: 0.6.0pre1 +Version: 0.6.0pre2 Release: 1 License: GPL Group: Utilities diff --git a/abookrc.5 b/abookrc.5 index 7c66ef7..638b36f 100644 --- a/abookrc.5 +++ b/abookrc.5 @@ -78,51 +78,41 @@ only preserve the standard fields (see a list in the .TP .B none discards any unknown field. +.RE .IP Default is \fIstandard\fP. -.RE .TP -\fBshow_all_emails\fP=[true|false] -Defines whether all email addresses for a contact are shown in the main list view. Default is true - +\fBindex_format\fP=format_string +Defines the way entries are displayed in the main list. This is a string containing field names enclosed between braces, with an optional width limit specified by a number (right alignment if negative) after the field name and a colon, and an arbitrary number of alternative fields (first with non empty content is to be displayed) separated by vertical bars. For instance: +.RS .TP -\fBemailpos\fP=column -Defines the screen column on the main list where the email address is to begin. Default is 25. - +\fI{name:22}\fP +displays the \fIname\fP field with a maximal width of 22 characters. .TP -\fBextra_column\fP=field -Defines the field to display in the extra (third) column on the main list. Default is "phone" (Home Phone). +\fI{phone:-13|workphone|mobile}\fP +displays (right aligned within a width of 13 characters), either the \fIphone\fP, \fIworkphone\fP or \fImobile\fP field, whichever being the first to be non-empty. +.RE .IP -\fIfield\fP can be any of the following: -.br --1 disabled -.br -phone Home Phone -.br -workphone Work Phone -.br -fax Fax -.br -mobile Mobile Phone -.br -nick Nickname/Alias -.br -url URL -.br -notes Notes +Default is \fI" {name:22} {email:40} {phone:12|workphone|mobile}"\fP .TP -\fBextra_alternative\fP=field -This is an optional setting that allows you to specify an alternative field to be displayed in the extra (third) column if there is no data for the field specified in extra_column for a particular item. The strings for the fields are the same as above. Please note that the data shown where the alternative field has been used will NOT be marked differently in any way from the rest of the extra column. There is no default. +\fBshow_all_emails\fP=[true|false] +Defines whether all email addresses for a contact are shown in the main list view. Default is true. .TP -\fBextrapos\fP=column -Defines the screen column on the main list where the extra field is to begin. Default is 65. - +.PD 0 +\fBemailpos\fP +.TP +.PD 0 +\fBextra_column\fP +.TP +.PD 0 +\fBextra_alternative\fP .TP -\fBmutt_command\fP=command -Defines the command to start mutt. Default is "mutt". +.PD +\fBextrapos\fP +Obsoleted by \fBindex_format\fP. .TP \fBmutt_return_all_emails\fP=[true|false] @@ -180,29 +170,12 @@ set preserve_fields=all # Automatically save database on exit set autosave=true +# Format of entries lines in list +set index_format=" {name:22} {email:40} {phone:12|workphone|mobile}" + # Show all email addresses in list set show_all_emails=true -# Screen column for email field to start -set emailpos=25 - -# Field to be used in the extra column -set extra_column=phone -# frequently used values: -# -1 disabled -# phone Home Phone -# workphone Work Phone -# fax Fax -# mobile Mobile Phone -# nick Nickname/Alias -# url URL - -# -set extra_alternative=-1 - -# Screen column for the extra field to start -set extrapos=65 - # Command used to start mutt set mutt_command=mutt @@ -215,19 +188,19 @@ set print_command=lpr # Command used to start the web browser set www_command=lynx -# address style [eu|us|uk] +# Address style [eu|us|uk] set address_style=eu -# use ASCII characters only +# Use ASCII characters only set use_ascii_only=false # Prevent double entry set add_email_prevent_duplicates=false -# field to be used with "sort by field" command +# Field to be used with "sort by field" command set sort_field=nick -# show cursor in main display +# Show cursor in main display set show_cursor=false .fi diff --git a/configure b/configure index b14a822..fdbd0d5 100755 --- a/configure +++ b/configure @@ -1622,7 +1622,7 @@ fi # Define the identity of the package. PACKAGE=abook - VERSION=0.6.0pre1 + VERSION=0.6.0pre2 cat >>confdefs.h <<_ACEOF @@ -10192,10 +10192,11 @@ _ACEOF - abook_localedir="$datadir/locale" - abook_localedir=`( test "x$prefix" = xNONE && prefix="$ac_default_prefix" - eval echo \""$abook_localedir"\" )` + abook_localedir=`( test "x$prefix" = xNONE && prefix="$ac_default_prefix" + eval tmp_abook_prefix=\""$abook_localedir"\" + eval echo $tmp_abook_prefix + )` localedir="\$(datadir)/locale" diff --git a/configure.in b/configure.in index 4076216..105cf55 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl abook configure.in AC_INIT(abook.c) -AM_INIT_AUTOMAKE(abook, 0.6.0pre1) +AM_INIT_AUTOMAKE(abook, 0.6.0pre2) AM_CONFIG_HEADER(config.h) dnl --------------- @@ -13,17 +13,14 @@ AM_GNU_GETTEXT_VERSION(0.14.1) AC_DEFUN([ABOOK_EXPAND_PREFIX], [ $1=$2 + dnl expanding twice, since from autoconf 2.60 on, $datadir refers to + dnl $datarootdir which in turn refers to $prefix $1=`( test "x$prefix" = xNONE && prefix="$ac_default_prefix" - eval echo \""[$]$1"\" )` + eval tmp_abook_prefix=\""[$]$1"\" + eval echo $tmp_abook_prefix + )` ]) -dnl -dnl dnl Use this with autoconf >= 2.60 -dnl -dnl ABOOK_EXPAND_PREFIX(abook_localedir, "$datarootdir/locale") -dnl localedir="\$(datarootdir)/locale" -dnl - ABOOK_EXPAND_PREFIX(abook_localedir, "$datadir/locale") localedir="\$(datadir)/locale" diff --git a/contrib/CVS/Entries b/contrib/CVS/Entries new file mode 100644 index 0000000..1784810 --- /dev/null +++ b/contrib/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/contrib/CVS/Repository b/contrib/CVS/Repository new file mode 100644 index 0000000..cb97fad --- /dev/null +++ b/contrib/CVS/Repository @@ -0,0 +1 @@ +abook/contrib diff --git a/contrib/CVS/Root b/contrib/CVS/Root new file mode 100644 index 0000000..2f2a68d --- /dev/null +++ b/contrib/CVS/Root @@ -0,0 +1 @@ +:ext:jheinonen@abook.cvs.sourceforge.net:/cvsroot/abook diff --git a/database.c b/database.c index 49fa042..7c47ab6 100644 --- a/database.c +++ b/database.c @@ -1,6 +1,6 @@ /* - * $Id: database.c,v 1.38 2006/08/25 22:51:00 cduval Exp $ + * $Id: database.c,v 1.39 2006/09/04 18:29:25 cduval Exp $ * * by JH * @@ -121,7 +121,7 @@ real_find_field(char *key, abook_field_list *list, int *number) } void -get_field_keyname(int i, char **key, char **name) +get_field_info(int i, char **key, char **name, int *type) { abook_field_list *cur = fields_list; int j; @@ -135,6 +135,8 @@ get_field_keyname(int i, char **key, char **name) *key = (i < 0) ? NULL : cur->field->key; if(name) *name = (i < 0) ? NULL : cur->field->name; + if(type) + *type = (i < 0) ? -1 : cur->field->type; } void diff --git a/database.h b/database.h index 0304841..a81bd6e 100644 --- a/database.h +++ b/database.h @@ -66,7 +66,7 @@ abook_field *real_find_field(char *key, abook_field_list *list, int *nb); #define find_field(key, list) real_find_field(key, list, NULL) #define find_field_number(key, pt_nb) real_find_field(key, NULL, pt_nb) #define find_declared_field(key) find_field(key,NULL) -void get_field_keyname(int i, char **key, char **name); +void get_field_info(int i, char **key, char **name, int *type); void add_field(abook_field_list **list, abook_field *f); char *declare_new_field(char *key, char *name, char *type, int accept_standard); void init_standard_fields(); diff --git a/edit.c b/edit.c index 7cf821b..b9138e6 100644 --- a/edit.c +++ b/edit.c @@ -1,6 +1,6 @@ /* - * $Id: edit.c,v 1.52 2006/08/26 19:16:41 cduval Exp $ + * $Id: edit.c,v 1.55 2006/09/06 02:46:44 cduval Exp $ * * by JH * @@ -33,8 +33,6 @@ extern int views_count; WINDOW *editw; -static int parse_date_string(char *s, int *day, int *month, int *year); - static void editor_tab(const int tab) @@ -289,7 +287,7 @@ editor_print_data(int tab, int item) * valid string */ static int -change_field(char *msg, char **field, int max_len) +change_field(char *msg, char **field, size_t max_len) { char *old; int ret = 0; @@ -314,7 +312,7 @@ change_field(char *msg, char **field, int max_len) } static int -change_name_field(char *msg, char **field, int max_len) +change_name_field(char *msg, char **field, size_t max_len) { char *tmp; int ret; @@ -421,7 +419,7 @@ static int is_valid_date(const int day, const int month, const int year) return valid; } -static int +int parse_date_string(char *s, int *day, int *month, int *year) { int i = 0; @@ -459,17 +457,6 @@ parse_date_string(char *s, int *day, int *month, int *year) return is_valid_date(*day, *month, *year); } -static int -is_number(char *s) -{ - char *p; - - for(p = s; *p; p++) - if(!isdigit(*p)) - return FALSE; - return TRUE; -} - static void edit_date(int item, int nb) { diff --git a/edit.h b/edit.h index aa52141..8f1ada5 100644 --- a/edit.h +++ b/edit.h @@ -4,6 +4,7 @@ void edit_item(int item); void get_first_email(char *str, int item); void add_item(); +int parse_date_string(char *s, int *day, int *month, int *year); #define EDITW_COLS (COLS - 6) #define EDITW_LINES (LINES - 5) diff --git a/filter.c b/filter.c index bda11ac..f13d099 100644 --- a/filter.c +++ b/filter.c @@ -1,6 +1,6 @@ /* - * $Id: filter.c,v 1.53 2006/08/07 19:20:26 cduval Exp $ + * $Id: filter.c,v 1.55 2006/09/06 02:46:44 cduval Exp $ * * by JH * @@ -61,6 +61,7 @@ static int elm_alias_export(FILE *out, struct db_enumerator e); static int text_export_database(FILE *out, struct db_enumerator e); static int spruce_export_database(FILE *out, struct db_enumerator e); static int wl_export_database(FILE *out, struct db_enumerator e); +static int bsdcal_export_database(FILE *out, struct db_enumerator e); /* * end of function declarations @@ -91,6 +92,7 @@ struct abook_output_filter e_filters[] = { { "text", N_("plain text"), text_export_database }, { "wl", N_("Wanderlust address book"), wl_export_database }, { "spruce", N_("Spruce address book"), spruce_export_database }, + { "bsdcal", N_("BSD calendar"), bsdcal_export_database }, { "\0", NULL, NULL } }; @@ -832,39 +834,56 @@ ldif_export_database(FILE *out, struct db_enumerator e) * html export filter */ -static void html_export_write_head(FILE *out, int extra_column); +static void html_export_write_head(FILE *out); static void html_export_write_tail(FILE *out); +extern struct index_elem *index_elements; + +static void +html_print_emails(FILE *out, struct list_field *f) +{ + abook_list *l = csv_to_abook_list(f->data); + + for(; l; l = l->next) { + fprintf(out, "%s", l->data, l->data); + if(l->next) + fprintf(out, ", "); + } + + abook_list_free(&l); +} + static int html_export_database(FILE *out, struct db_enumerator e) { - char tmp[MAX_EMAILSTR_LEN], *emails; - int extra_column; + struct list_field f; + struct index_elem *cur; if(list_is_empty()) return 2; - extra_column = init_extra_field(STR_EXTRA_COLUMN); - html_export_write_head(out, extra_column); + init_index(); - db_enumerate_items(e) { - get_first_email(tmp, e.item); - if (*tmp) - fprintf(out, "\n" - "%s" - "\n", - tmp, - db_name_get(e.item)); - else - fprintf(out, "\n%s\n", db_name_get(e.item)); + html_export_write_head(out); - emails = db_email_get(e.item); - fprintf(out, "%s\n", emails); - free(emails); - if(extra_column >= 0) - fprintf(out, "%s\n", - safe_str(db_fget_byid(e.item, extra_column))); - fprintf(out, "\n\n"); + db_enumerate_items(e) { + fprintf(out, ""); + for(cur = index_elements; cur; cur = cur->next) { + if(cur->type != INDEX_FIELD) + continue; + + get_list_field(e.item, cur, &f); + + if(f.type == FIELD_EMAILS) { + fprintf(out, ""); + html_print_emails(out, &f); + fprintf(out, ""); + continue; + } else { + fprintf(out, "%s", safe_str(f.data)); + } + } + fprintf(out, "\n"); } html_export_write_tail(out); @@ -873,9 +892,10 @@ html_export_database(FILE *out, struct db_enumerator e) } static void -html_export_write_head(FILE *out, int extra_column) +html_export_write_head(FILE *out) { - char *realname = get_real_name(), *extra_column_name = NULL; + char *realname = get_real_name(), *str; + struct index_elem *cur; fprintf(out, "\n"); fprintf(out, "\n\n %s's addressbook", @@ -884,11 +904,13 @@ html_export_write_head(FILE *out, int extra_column) fprintf(out, "\n

%s's addressbook

\n", realname ); fprintf(out, "

\n\n"); - fprintf(out, "\n"); - fprintf(out, "\n"); - if(extra_column >= 0) { - get_field_keyname(extra_column, NULL, &extra_column_name); - fprintf(out, "", safe_str(extra_column_name)); + fprintf(out, "
NameE-mail address(es)%s
\n"); + for(cur = index_elements; cur; cur = cur->next) { + if(cur->type != INDEX_FIELD) + continue; + + get_field_info(cur->d.field.id, NULL, &str, NULL); + fprintf(out, "", str); } fprintf(out, "\n\n"); @@ -1744,8 +1766,8 @@ text_export_database(FILE * out, struct db_enumerator e) fprintf(out, "\n"); for(j = PHONE; j <= MOBILEPHONE; j++) if(db_fget(e.item, j)) { - get_field_keyname(field_id(j), - NULL, &str); + get_field_info(field_id(j), + NULL, &str, NULL); fprintf(out, "%s: %s\n", str, db_fget(e.item, j)); } @@ -1856,3 +1878,33 @@ wl_export_database(FILE *out, struct db_enumerator e) * end of wanderlust addressbook export filter */ +/* + * BSD calendar export filter + */ + +static int +bsdcal_export_database(FILE *out, struct db_enumerator e) +{ + db_enumerate_items(e) { + int year, month = 0, day = 0; + char *anniversary = db_fget(e.item, ANNIVERSARY); + + if(anniversary) { + parse_date_string(anniversary, &day, &month, &year); + + fprintf(out, + _("%02d/%02d\tAnniversary of %s\n"), + month, + day, + safe_str(db_name_get(e.item)) + ); + } + } + + return 0; +} + +/* + * end of BSD calendar export filter + */ + diff --git a/help.h b/help.h index e54e92e..cda0ec5 100644 --- a/help.h +++ b/help.h @@ -44,7 +44,7 @@ N_(" A move current item up\n"), N_(" Z move current item down\n"), "\n", N_(" m send mail with mutt\n"), -N_(" u view URL with web browser\n"), +N_(" v view URL with web browser\n"), NULL }; diff --git a/list.c b/list.c index 99e52f8..a6d442f 100644 --- a/list.c +++ b/list.c @@ -1,6 +1,6 @@ /* - * $Id: list.c,v 1.30 2006/08/07 19:20:26 cduval Exp $ + * $Id: list.c,v 1.33 2006/09/05 08:21:35 jheinonen Exp $ * * by JH * @@ -25,30 +25,103 @@ int curitem = -1; int first_list_item = -1; char *selected = NULL; -int extra_column = -1; -int extra_alternative = -1; - extern abook_field_list *fields_list; +struct index_elem *index_elements = NULL; static WINDOW *list = NULL; -int -init_extra_field(enum str_opts option) +static void +index_elem_add(int type, char *a, char *b) { - int ret = -1; - char *option_str; + struct index_elem *tmp = NULL, *cur, *cur2; + int field, len = 0; + + if(!a || !*a) + return; + + switch(type) { + case INDEX_TEXT: + tmp = xmalloc(sizeof(struct index_elem)); + tmp->d.text = xstrdup(a); + break; + case INDEX_FIELD: /* fall through */ + case INDEX_ALT_FIELD: + find_field_number(a, &field); + if(field == -1) + return; + len = (b && *b && is_number(b)) ? atoi(b) : 0; + tmp = xmalloc(sizeof(struct index_elem)); + tmp->d.field.id = field; + tmp->d.field.len = len; + break; + default: + assert(0); + } + tmp->type = type; + tmp->next = NULL; + tmp->d.field.next = NULL; - option_str = opt_get_str(option); + if(!index_elements) { /* first element */ + index_elements = tmp; + return; + } - if(option_str && *option_str) { - find_field_number(option_str, &ret); + for(cur = index_elements; cur->next; cur = cur->next) + ; + if(type != INDEX_ALT_FIELD) + cur->next = tmp; + else { /* add as an alternate field */ + tmp->d.field.len = cur->d.field.len; + for(cur2 = cur; cur2->d.field.next; cur2 = cur2->d.field.next) + ; + cur2->d.field.next = tmp; + } +} - if(!strcmp(option_str, "name") || !strcmp(option_str, "email")) - ret = -1; +static void +parse_index_format(char *s) +{ + char *p, *start, *lstart = NULL; + int in_field = 0, in_alternate = 0, in_length = 0, type; + + p = start = s; + + while(*p) { + if(*p == '{' && !in_field) { + *p = 0; + index_elem_add(INDEX_TEXT, start, NULL); + start = ++p; + in_field = 1; + } else if(*p == ':' && in_field && !in_alternate) { + *p = 0; + lstart = ++p; + in_length = 1; + } else if(*p == '|' && in_field) { + *p = 0; + type = in_alternate ? INDEX_ALT_FIELD : INDEX_FIELD; + index_elem_add(type, start, in_length ? lstart : NULL); + start = ++p; + in_length = 0; + in_alternate = 1; + } else if(*p == '}' && in_field) { + *p = 0; + type = in_alternate ? INDEX_ALT_FIELD : INDEX_FIELD; + index_elem_add(type, start, in_length ? lstart : NULL); + start = ++p; + in_field = in_alternate = in_length = 0; + } else + p++; } + if(!in_field) + index_elem_add(INDEX_TEXT, start, NULL); +} - return ret; +void +init_index() +{ + assert(!index_elements); + parse_index_format(opt_get_str(STR_INDEX_FORMAT)); } void @@ -56,13 +129,6 @@ init_list() { list = newwin(LIST_LINES, LIST_COLS, LIST_TOP, 0); scrollok(list, TRUE); - - /* - * init extra_column and extra alternative - */ - - extra_column = init_extra_field(STR_EXTRA_COLUMN); - extra_alternative = init_extra_field(STR_EXTRA_ALTERNATIVE); } void @@ -72,6 +138,117 @@ close_list() list = NULL; } +void +get_list_field(int item, struct index_elem *e, struct list_field *res) +{ + char *s; + + res->data = s = NULL; + + do { /* find first non-empty field data in the alternate fields list */ + s = db_fget_byid(item, e->d.field.id); + } while(!(s && *s) && ((e = e->d.field.next) != NULL)); + + if(!e || !s || !*s) + return; + + res->data = s; + get_field_info(e->d.field.id, NULL, NULL, &res->type); +} + +static void +print_list_field(int item, int line, int *x_pos, struct index_elem *e) +{ + char *s, *p; + int width, x_start, mustfree = FALSE, len = abs(e->d.field.len); + struct list_field f; + + get_list_field(item, e, &f); + s = f.data; + + if(!s || !*s) { + *x_pos += len; + return; + } + + if(f.type == FIELD_EMAILS && !opt_get_bool(BOOL_SHOW_ALL_EMAILS)) + if((p = strchr(s, ',')) != NULL) { + s = xstrndup(s, p - s); + mustfree = TRUE; + } + + width = len ? bytes2width(s, len) : strwidth(s); + x_start = *x_pos + ((e->d.field.len < 0) ? len - width : 0); + if(width + x_start >= COLS) + width = COLS - x_start; + + if(width) + mvwaddnstr(list, line, x_start, s, width); + + if(mustfree) + free(s); + + *x_pos += len ? len : width; +} + +static void +highlight_line(WINDOW *win, int line) +{ + wstandout(win); + + /* + * this is a tricky one + */ +#if 0 +/*#ifdef mvwchgat*/ + mvwchgat(win, line, 0, -1, A_STANDOUT, 0, NULL); +#else + /* + * buggy function: FIXME + */ + scrollok(win, FALSE); + { + int i; + wmove(win, line, 0); + for(i = 0; i < COLS; i++) + waddch(win, ' '); + /*wattrset(win, 0);*/ + } + scrollok(win, TRUE); +#endif +} + +static void +print_list_line(int item, int line, int highlight) +{ + struct index_elem *cur; + int x_pos = 1; + + scrollok(list, FALSE); + if(highlight) + highlight_line(list, line); + + if(selected[item]) + mvwaddch(list, line, 0, '*' ); + + for(cur = index_elements; cur; cur = cur->next) + switch(cur->type) { + case INDEX_TEXT: + mvwaddstr(list, line, x_pos, cur->d.text); + x_pos += strwidth(cur->d.text); + break; + case INDEX_FIELD: + print_list_field(item, line, &x_pos, cur); + break; + default: + assert(0); + } + + scrollok(list, TRUE); + if(highlight) + wstandend(list); +} + void refresh_list() { @@ -113,63 +290,27 @@ refresh_list() wrefresh(list); } -void -print_list_line(int i, int line, int highlight) -{ - int extra = extra_column; - char tmp[MAX_EMAILSTR_LEN], *emails; - int real_emaillen = (extra_column > 0 || extra_alternative > 0) ? - EMAILLEN : COLS - EMAILPOS; - - scrollok(list, FALSE); - if(highlight) - highlight_line(list, line); - - if(selected[i]) - mvwaddch(list, line, 0, '*' ); - - mvwaddnstr(list, line, NAMEPOS, db_name_get(i), - bytes2width(db_name_get(i), NAMELEN)); - - if(opt_get_bool(BOOL_SHOW_ALL_EMAILS)) { - emails = db_email_get(i); - mvwaddnstr(list, line, EMAILPOS, emails, - bytes2width(emails, real_emaillen)); - free(emails); - } else { - get_first_email(tmp, i); - mvwaddnstr(list, line, EMAILPOS, tmp, - bytes2width(tmp, real_emaillen)); - } - - if(extra < 0 || !db_fget_byid(i, extra)) - extra = extra_alternative; - if(extra >= 0) - mvwaddnstr(list, line, EXTRAPOS, - safe_str(db_fget_byid(i, extra)), - bytes2width(safe_str(db_fget_byid(i, extra)), - EXTRALEN)); - - scrollok(list, TRUE); - if(highlight) - wstandend(list); -} - void list_headerline() { + struct index_elem *e; + int x_pos = 1, width; char *str = NULL; #if defined(A_BOLD) && defined(A_NORMAL) attrset(A_BOLD); #endif - mvaddstr(2, NAMEPOS, find_field("name", NULL)->name); - mvaddstr(2, EMAILPOS, find_field("email", NULL)->name); - if(extra_column > 0) { - get_field_keyname(extra_column, NULL, &str); - mvaddnstr(2, EXTRAPOS, str, COLS - EXTRAPOS); - } + for(e = index_elements; e; e = e->next) + if(e->type == INDEX_TEXT) + x_pos += strwidth(e->d.text); + else if(e->type == INDEX_FIELD) { + get_field_info(e->d.field.id, NULL, &str, NULL); + width = e->d.field.len ? abs(e->d.field.len) : strwidth(str); + mvaddnstr(2, x_pos, str, width); + x_pos += width; + } else + assert(0); #if defined(A_BOLD) && defined(A_NORMAL) attrset(A_NORMAL); @@ -308,33 +449,6 @@ goto_end() refresh_list(); } -void -highlight_line(WINDOW *win, int line) -{ - wstandout(win); - - /* - * this is a tricky one - */ -#if 0 -/*#ifdef mvwchgat*/ - mvwchgat(win, line, 0, -1, A_STANDOUT, 0, NULL); -#else - /* - * buggy function: FIXME - */ - scrollok(win, FALSE); - { - int i; - wmove(win, line, 0); - for(i = 0; i < COLS; i++) - waddch(win, ' '); - /*wattrset(win, 0);*/ - } - scrollok(win, TRUE); -#endif -} - int selected_items() { diff --git a/list.h b/list.h index e968a2f..45b00f8 100644 --- a/list.h +++ b/list.h @@ -3,11 +3,34 @@ #include "ui.h" +#define INDEX_TEXT 1 +#define INDEX_FIELD 2 +#define INDEX_ALT_FIELD 3 + +struct index_elem { + int type; + union { + char *text; + struct { + int id; + int len; + struct index_elem *next; + } field; + } d; + struct index_elem *next; +}; + +struct list_field { + char *data; + int type; +}; + +void init_index(); void init_list(); int init_extra_field(enum str_opts option); void close_list(); void refresh_list(); -void print_list_line(int i, int line, int highlight); +void get_list_field(int item, struct index_elem *e, struct list_field *res); void list_headerline(); void scroll_up(); void scroll_down(); @@ -20,7 +43,6 @@ void list_invert_curitem_selection(); void move_curitem(int direction); void goto_home(); void goto_end(); -void highlight_line(WINDOW *win, int line); int selected_items(); void invert_selection(); int list_is_empty(); @@ -35,19 +57,11 @@ enum { }; #define LIST_TOP 3 -#define LIST_BOTTOM (LINES-2) +#define LIST_BOTTOM (LINES - 2) -#define LIST_LINES (LIST_BOTTOM-LIST_TOP) +#define LIST_LINES (LIST_BOTTOM - LIST_TOP) #define LIST_COLS COLS -#define NAMEPOS 2 -#define EMAILPOS opt_get_int(INT_EMAILPOS) -#define EXTRAPOS opt_get_int(INT_EXTRAPOS) - -#define NAMELEN (EMAILPOS - NAMEPOS - 1) -#define EMAILLEN (EXTRAPOS - EMAILPOS - 1) -#define EXTRALEN (COLS - EXTRAPOS) - #define LAST_LIST_ITEM (first_list_item + LIST_LINES - 1) #endif diff --git a/misc.c b/misc.c index 9ae0ff7..d49980c 100644 --- a/misc.c +++ b/misc.c @@ -1,6 +1,6 @@ /* - * $Id: misc.c,v 1.22 2005/10/25 23:27:24 cduval Exp $ + * $Id: misc.c,v 1.23 2006/09/04 18:29:25 cduval Exp $ * * by JH * @@ -64,6 +64,19 @@ strtrim(char *s) return s; } +int +is_number(char *p) +{ + if(!p || !*p || (*p == '-' && !*++p)) + return 0; + + for(; *p; p++) + if(!isdigit(*p)) + return 0; + + return 1; +} + #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/misc.h b/misc.h index d01691b..fadd0ae 100644 --- a/misc.h +++ b/misc.h @@ -16,6 +16,8 @@ char *strupper(char *str); char *strlower(char *str); char *strtrim(char *); +int is_number(char *s); + char *strdup_printf(const char *format, ... ); char *strconcat(const char *str, ...); diff --git a/options.c b/options.c index e9e0b36..92d5670 100644 --- a/options.c +++ b/options.c @@ -1,6 +1,6 @@ /* - * $Id: options.c,v 1.30 2006/08/07 11:39:53 jheinonen Exp $ + * $Id: options.c,v 1.33 2006/09/06 08:48:33 jheinonen Exp $ * * by JH * @@ -50,11 +50,7 @@ static struct option abook_vars[] = { { "autosave", OT_BOOL, BOOL_AUTOSAVE, TRUE }, { "show_all_emails", OT_BOOL, BOOL_SHOW_ALL_EMAILS, TRUE }, - { "emailpos", OT_INT, INT_EMAILPOS, 25 }, - { "extra_column", OT_STR, STR_EXTRA_COLUMN, UL "phone" }, - { "extra_alternative", OT_STR, STR_EXTRA_ALTERNATIVE, UL "-1" }, - { "extrapos", OT_INT, INT_EXTRAPOS, 65 }, - + { "index_format", OT_STR, STR_INDEX_FORMAT, UL " {name:22} {email:40} {phone:12|workphone|mobile}" }, { "mutt_command", OT_STR, STR_MUTT_COMMAND, UL "mutt" }, { "mutt_return_all_emails", OT_BOOL, BOOL_MUTT_RETURN_ALL_EMAILS, TRUE }, @@ -283,11 +279,12 @@ opt_set_set_option(char *p, struct option *opt) { int len; - strtrim(p); + assert(p); + strtrim(p); len = strlen(p); - if(p[len - 1] == '\"' && *p == '\"') { + if(*p == '\"' && p[len - 1] == '\"') { if(len < 3) return _("invalid value"); p[len - 1] = 0; @@ -322,6 +319,9 @@ opt_set_option(char *var, char *p) { int i; + assert(var); + assert(p); + for(i = 0; abook_vars[i].option; i++) if(!strcmp(abook_vars[i].option, var)) return opt_set_set_option(p, &abook_vars[i]); diff --git a/options.h b/options.h index c1e02ec..138efc2 100644 --- a/options.h +++ b/options.h @@ -46,6 +46,7 @@ enum int_opts { enum str_opts { STR_EXTRA_COLUMN, STR_EXTRA_ALTERNATIVE, + STR_INDEX_FORMAT, STR_MUTT_COMMAND, STR_PRINT_COMMAND, STR_WWW_COMMAND, diff --git a/po/abook.pot b/po/abook.pot index 4442f54..e98a570 100644 --- a/po/abook.pot +++ b/po/abook.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,199 +36,199 @@ msgstr "" msgid "Press enter to continue...\n" msgstr "" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "" -#: abook.c:146 +#: abook.c:148 msgid "If you continue all changes will be lost. Do you want to continue?" msgstr "" -#: abook.c:165 +#: abook.c:167 msgid "Save database" msgstr "" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "" -#: abook.c:223 +#: abook.c:225 #, c-format msgid "%s is not a valid HOME directory\n" msgstr "" -#: abook.c:254 +#: abook.c:256 #, c-format msgid "" "Cannot combine options --mutt-query, --convert, --add-email or --add-email-" "quiet\n" msgstr "" -#: abook.c:285 +#: abook.c:287 #, c-format msgid "please use option --%s after --convert option\n" msgstr "" -#: abook.c:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" msgstr "" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr "" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "" -#: abook.c:410 +#: abook.c:412 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:414 +#: abook.c:416 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:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" msgstr "" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "" -#: abook.c:631 +#: abook.c:633 #, c-format msgid "" "input and output formats are the same\n" "exiting...\n" msgstr "" -#: abook.c:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "" -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" "you may want to use --add-email-quiet\n" msgstr "" -#: abook.c:746 +#: abook.c:748 #, c-format msgid "Add \"%s <%s>\" to %s? (%c/%c)\n" msgstr "" -#: abook.c:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "" -#: abook.c:778 +#: abook.c:780 #, c-format msgid "stdin is a directory or cannot stat stdin\n" msgstr "" @@ -301,187 +301,196 @@ msgstr "" msgid "Anniversary day" msgstr "" -#: database.c:164 +#: database.c:166 msgid "field already defined" msgstr "" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "" -#: database.c:183 +#: database.c:185 msgid "unknown type" msgstr "" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "" -#: database.c:586 +#: database.c:588 msgid "Invalid field value for sorting" msgstr "" -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" msgstr "" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" msgstr "" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "" -#: edit.c:358 +#: edit.c:356 msgid "email" msgstr "" -#: edit.c:358 +#: edit.c:356 msgid "item" msgstr "" -#: edit.c:363 +#: edit.c:361 msgid " or ew" msgstr "" -#: edit.c:381 +#: edit.c:379 msgid "E-mail: " msgstr "" -#: edit.c:381 +#: edit.c:379 msgid "Item: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Day: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Month: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " msgstr "" -#: edit.c:511 +#: edit.c:498 msgid "Invalid date" msgstr "" -#: edit.c:666 +#: edit.c:653 msgid "Name: " msgstr "" -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" msgstr "" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "" -#: filter.c:92 +#: filter.c:93 msgid "Wanderlust address book" msgstr "" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" msgstr "" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "" -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "" -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "" @@ -599,7 +608,7 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" +msgid "\tv\t\tview URL with web browser\n" msgstr "" #: help.h:55 @@ -642,19 +651,19 @@ msgstr "" msgid "\tv\t\t\tview url with web browser\n" msgstr "" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" msgstr "" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" msgstr "" -#: options.c:263 +#: options.c:259 msgid "error in comma separated list" msgstr "" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "" @@ -742,32 +751,32 @@ msgstr "" msgid "Clear WHOLE database" msgstr "" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "" -#: ui.c:603 +#: ui.c:607 #, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "" -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "" -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "" -#: ui.c:678 +#: ui.c:682 msgid "Sorry, the specified file appears not to be a valid abook addressbook" msgstr "" diff --git a/po/de.gmo b/po/de.gmo index ec0d766..54ac034 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index be1f52a..21d4cac 100644 --- a/po/de.po +++ b/po/de.po @@ -2,13 +2,14 @@ # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the abook package. # Johannes Weißl , 2005. +# Gerfried Fuchs , 2006. # msgid "" msgstr "" "Project-Id-Version: abook 0.5.5pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" -"PO-Revision-Date: 2006-08-05 14:12+0200\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" +"PO-Revision-Date: 2006-09-04 21:00+0200\n" "Last-Translator: Johannes Weißl \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -37,29 +38,29 @@ msgstr "Fehler beim Anfordern von Hauptspeicher: %s\n" msgid "Press enter to continue...\n" msgstr "Eingabetaste drücken, um fortzufahren...\n" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "Datei %s ist nicht beschreibbar" -#: abook.c:146 +#: abook.c:148 msgid "If you continue all changes will be lost. Do you want to continue?" msgstr "Beim Fortfahren gehen alle Änderungen verloren. Fortfahren?" -#: abook.c:165 +#: abook.c:167 msgid "Save database" msgstr "Speichere Datenbank" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "Beenden ohne zu speichern" -#: abook.c:223 +#: abook.c:225 #, c-format msgid "%s is not a valid HOME directory\n" msgstr "%s ist kein gültiges HOME Verzeichnis\n" -#: abook.c:254 +#: abook.c:256 #, c-format msgid "" "Cannot combine options --mutt-query, --convert, --add-email or --add-email-" @@ -68,33 +69,33 @@ msgstr "" "Die Optionen --mutt-query, --convert, --add-email und --add-email-" "quietkönnen nicht kombiniert werden\n" -#: abook.c:285 +#: abook.c:287 #, c-format msgid "please use option --%s after --convert option\n" msgstr "Bitte die Option --%s nach der Option --convert angeben\n" -#: abook.c:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "%s: unbekannte Argumente auf der Kommandozeile\n" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" msgstr " -h\t--help\t\t\t\tHilfe anzeigen" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr " -C\t--config\t\t\tAlternative Config-Datei verwenden" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "\t--datafile\t\t\tAlternative Adressbuch-Datei verwenden" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "\t--mutt-query\t\tMutt-Anfrage durchführen" -#: abook.c:410 +#: abook.c:412 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 +103,7 @@ msgstr "" "\t--add-email\t\t\tE-Mail-Adresse von stdin lesen und\n" "\t\t\t\t\tAbsender zum Adressbuch hinzufügen" -#: abook.c:414 +#: abook.c:416 msgid "" "\t--add-email-quiet\t\tsame as --add-email but doesn't\n" "\t\t\t\t\trequire to confirm adding" @@ -110,67 +111,67 @@ msgstr "" "\t--add-email-quiet\t\twie --add-email, aber man muss\n" "\t\t\t\t\tdas Hinzufügen nicht bestätigen" -#: abook.c:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "\t--convert\t\t\tAdressbuch-Dateien konvertieren" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" msgstr "\tOptionen in Verbindung mit --convert:" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "\t--informat\t\tFormat für Eingabedatei" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "\t\t\t\t\t(Standard: abook)" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "\t--infile\t\t\tQuelldatei" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "\t\t\t\t\t(Standard: stdin)" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "\t--outformat\t\tFormat für Ausgabedatei" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "\t\t\t\t\t(Standard: text)" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "\t--outfile\t\t\tZieldatei" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "\t\t\t\t\t(Standard: stdout)" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "\t--formats\t\t\tVerfügbare Formate auflisten" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "Kann die Datenbank nicht öffnen\n" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "zu wenig Argumente um die Konvertierung durchzuführen\n" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "versuche einmal --help\n" # I think "Abbruch" is better than e.g. "Beenden" -#: abook.c:631 +#: abook.c:633 #, c-format msgid "" "input and output formats are the same\n" @@ -179,47 +180,47 @@ msgstr "" "Eingabe- und Ausgabedatei sind identisch\n" "Abbruch...\n" -#: abook.c:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "Eingabeformat %s wird nicht unterstützt\n" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "kann die Datei %s nicht lesen\n" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "Ausgabeformat %s wird nicht unterstützt\n" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "kann die Datei %s nicht schreiben\n" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "kann %s nicht öffnen\n" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "%d Element(e) zu %s hinzugefügt\n" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "Keine gültige Absender-Adresse gefunden" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "Adresse %s befindet sich bereits im Adressbuch\n" # I don't want to translate 'you' with 'du' -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" @@ -228,20 +229,20 @@ msgstr "" "kann /dev/tty nicht öffnen\n" "versuche es einmal mit --add-email-quiet\n" -#: abook.c:746 +#: abook.c:748 #, c-format msgid "Add \"%s <%s>\" to %s? (%c/%c)\n" msgstr "Füge \"%s <%s>\" zu %s hinzu? (%c/%c)\n" -#: abook.c:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "j" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "n" -#: abook.c:778 +#: abook.c:780 #, c-format msgid "stdin is a directory or cannot stat stdin\n" msgstr "" @@ -257,9 +258,8 @@ msgid "Name" msgstr "Name" #: database.c:46 -#, fuzzy msgid "E-mail addresses" -msgstr "E-Mail-Adressen:" +msgstr "E-Mail-Adressen" #: database.c:47 msgid "Address" @@ -320,194 +320,200 @@ msgstr "Bemerkung" msgid "Anniversary day" msgstr "" -#: database.c:164 +#: database.c:166 msgid "field already defined" -msgstr "" +msgstr "Feld bereits definiert" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "" -#: database.c:183 -#, fuzzy +#: database.c:185 msgid "unknown type" -msgstr "unbekannte Option" +msgstr "unbekannter Typ" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "Ungültiger Feld-Wert in der Konfiguration festgelegt" -#: database.c:586 +#: database.c:588 #, fuzzy msgid "Invalid field value for sorting" msgstr "Ungültiger Feld-Wert in der Konfiguration festgelegt" -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" msgstr "Kartei-Name zu breit für den Bildschirm" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" -msgstr "" +msgstr "n123456789" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "" -#: edit.c:358 -#, fuzzy +#: edit.c:356 msgid "email" -msgstr "E-Mails" +msgstr "E-Mail" -#: edit.c:358 +#: edit.c:356 msgid "item" -msgstr "" +msgstr "Element" -#: edit.c:363 +#: edit.c:361 msgid " or ew" -msgstr "" +msgstr " oder eu" -#: edit.c:381 -#, fuzzy +#: edit.c:379 msgid "E-mail: " -msgstr "E-Mails" +msgstr "E-Mails: " -#: edit.c:381 +#: edit.c:379 msgid "Item: " -msgstr "" +msgstr "Element: " -#: edit.c:478 +#: edit.c:465 msgid "Day: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Month: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " msgstr "" -#: edit.c:511 +#: edit.c:498 #, fuzzy msgid "Invalid date" msgstr "ungültiger Wert" -#: edit.c:666 +#: edit.c:653 msgid "Name: " msgstr "Name: " -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" -msgstr "" +msgstr "?:Hilfe q:Editor beenden" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "abooks eigenes Format" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "ldif / Netscape Adressbuch" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "mutt alias" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "pine Adressbuch" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "komma-separierte Werte" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "komma-separierte Werte (alle Felder)" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "Palm komma-separierte Werte" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "ldif / Netscape Adressbuch (.4ld)" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "HTML Dokument" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "GnomeCard (VCard) Adressbuch" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "elm alias" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "Klartext" -#: filter.c:92 +#: filter.c:93 #, fuzzy msgid "Wanderlust address book" msgstr "pine Adressbuch" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "Spruce Adressbuch" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "Eingabe:" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "Ausgabe:" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "importiere Datenbank" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" msgstr "Bitte Filter auswählen" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "x -\tabbrechen" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "Dateiname: " -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "Fehler beim Öffnen der Datei" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "Die Datei scheint kein gültiges Adressbuch zu sein" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "exportiere Datenbank" # instead: Exportiere alle (a), exportiere ausgewählte (s), oder abbrechen (c)? -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "Exportiere lle, exportiere augewählte, oder brih ab?" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "Fehler beim Exportieren aufgetreten" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "\t?\t\tHilfe\n" @@ -630,8 +636,8 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "\tm\t\tE-Mail mit Mutt senden\n" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" -msgstr "\tu\t\tURL mit Web-Browser anzeigen\n" +msgid "\tv\t\tview URL with web browser\n" +msgstr "\tv\t\tURL mit Web-Browser anzeigen\n" #: help.h:55 #, fuzzy @@ -678,20 +684,19 @@ msgstr "\tm\t\t\tE-Mail mit Mutt senden\n" msgid "\tv\t\t\tview url with web browser\n" msgstr "\tv\t\t\tURL mit Web-Browser anzeigen\n" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" msgstr "" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" msgstr "" -#: options.c:263 -#, fuzzy +#: options.c:259 msgid "error in comma separated list" -msgstr "komma-separierte Werte" +msgstr "Fehler in komma-separierter Liste" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "ungültiger Wert" @@ -780,35 +785,35 @@ msgstr "Lösche ausgewählte Elemente" msgid "Clear WHOLE database" msgstr "Lösche GESAMTE Datenbank" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "Suche hat das Ende erreicht, weiter am Anfang" # Why 'y', and not 'j'? # c-format -#: ui.c:603 +#: ui.c:607 #, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "Die aktuellen Daten sind verloren - Drücke '%c' um fortzufahren" # instead: Drucke alle (a), drucke ausgewählte (s), oder abbrechen (c)? -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "Drucke lle, drucke augewählte oder brih ab?" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "Keine Elemente ausgewählt" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "Öffne Datei: " -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "Speichere aktuelle Datenbank" -#: ui.c:678 +#: ui.c:682 msgid "Sorry, the specified file appears not to be a valid abook addressbook" msgstr "" "Die angegebene Datei scheint leider kein gültiges abook Adressbuch zu sein" @@ -834,17 +839,14 @@ msgid "ADDRESS" msgstr "ADRESSE" #: views.c:142 -#, fuzzy msgid "PHONE" msgstr "TELEFON" #: views.c:143 -#, fuzzy msgid "OTHER" msgstr "ANDERE" #: views.c:165 views.c:166 views.c:167 views.c:168 views.c:169 -#, fuzzy msgid "CUSTOM" msgstr "BENUTZER" @@ -867,9 +869,3 @@ msgstr "Benutzer4" #: views.c:169 msgid "Custom5" msgstr "Benutzer5" - -#~ msgid "?:help c:contact a:address p:phone o:other" -#~ msgstr "?:Hilfe c:Kontakt a:Adresse p:Telefon o:Andere" - -#~ msgid "invalid custom field number" -#~ msgstr "ungültige benutzerdefinierte Feldnummer" diff --git a/po/fr.gmo b/po/fr.gmo index 0e97404..dde05f8 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 1a91d27..917d233 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: abook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" -"PO-Revision-Date: 2006-08-09 23:57+0200\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" +"PO-Revision-Date: 2006-09-05 11:42+0200\n" "Last-Translator: Cedric Duval \n" "Language-Team: french\n" "MIME-Version: 1.0\n" @@ -35,30 +35,30 @@ msgstr "Erreur d'allocation mémoire: %s\n" msgid "Press enter to continue...\n" msgstr "Appuyez sur entrée pour continuer...\n" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "Impossible d'écrire dans le fichier %s" -#: abook.c:146 +#: abook.c:148 msgid "If you continue all changes will be lost. Do you want to continue?" msgstr "" -"En continuant vos modifications seront perdues. Voulez-vous continuer ?" +"Si vous continuez, vos modifications seront perdues. Voulez-vous continuer ?" -#: abook.c:165 +#: abook.c:167 msgid "Save database" msgstr "Sauvegarder la base de données" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "Quitter sans sauvegarder" -#: abook.c:223 +#: abook.c:225 #, 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:254 +#: abook.c:256 #, c-format msgid "" "Cannot combine options --mutt-query, --convert, --add-email or --add-email-" @@ -67,35 +67,34 @@ msgstr "" "Impossible de combiner les options --mutt-query, --convert, --add-email ou --" "add-email-quiet\n" -#: abook.c:285 +#: abook.c:287 #, 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:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "%s: paramètres de ligne de commande non reconnus\n" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" -msgstr " -h\t--help\t\t\t\tmontrer l'utilisation" +msgstr " -h\t--help\t\t\t\tafficher l'aide" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr "" -" -C\t--config\t\tutiliser un fichier de configuration\n" -"\t\t\t\t\talternatif" +" -C\t--config\t\tutiliser un autre fichier de configuration" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "\t--datafile\t\tutiliser un autre carnet d'adresses" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "\t--mutt-query\t\teffectuer une requête pour mutt" -#: abook.c:410 +#: abook.c:412 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 +103,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:414 +#: abook.c:416 msgid "" "\t--add-email-quiet\t\tsame as --add-email but doesn't\n" "\t\t\t\t\trequire to confirm adding" @@ -112,66 +111,66 @@ msgstr "" "\t--add-email-quiet\t\tcomme --add-email mais sans nécessité de confirmer\n" "\t\t\t\t\tl'ajout" -#: abook.c:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "\t--convert\t\t\tconvertir des carnets d'adresses" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" -msgstr "\toptions à utiliser avec --convert :" +msgstr "\toptions à utiliser avec --convert:" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "\t--informat\t\tformat du fichier source" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "\t\t\t\t\t(défaut: abook)" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "\t--infile\t\t\tfichier source" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "\t\t\t\t\t(défaut: entrée standard)" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "\t--outformat\t\tformat du fichier de destination" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "\t\t\t\t\t(défaut: texte)" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "\t--outfile\t\t\tfichier de destination" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "\t\t\t\t\t(défaut: sortie standard)" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "\t--formats\t\t\tlister les formats disponibles" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "Impossible d'ouvrir la base de données\n" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "trop peu de paramètres pour effectuer la conversion\n" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "essayez --help\n" -#: abook.c:631 +#: abook.c:633 #, c-format msgid "" "input and output formats are the same\n" @@ -180,68 +179,68 @@ msgstr "" "la source et la destination sont identiques\n" "arrêt...\n" -#: abook.c:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "le format source %s n'est pas supporté\n" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "Impossible de lire le fichier %s\n" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "le format de destination %s n'est pas supporté\n" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "impossible d'écrire le fichier %s\n" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "impossible d'ouvrir %s\n" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "%d entrées ajoutées à %s\n" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "Aucune adresse d'expéditeur valide trouvée" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "L'adresse %s figure déjà dans le carnet d'adresses\n" -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" "you may want to use --add-email-quiet\n" msgstr "" "impossible d'ouvrir /dev/tty\n" -"peut-être souhaiter-vous utiliser --add-email-quiet\n" +"peut-être souhaitez-vous utiliser --add-email-quiet\n" -#: abook.c:746 +#: abook.c:748 #, c-format msgid "Add \"%s <%s>\" to %s? (%c/%c)\n" msgstr "Ajouter \"%s <%s>\" à %s ? (%c/%c)\n" -#: abook.c:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "o" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "n" -#: abook.c:778 +#: abook.c:780 #, 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" @@ -314,189 +313,197 @@ msgstr "Notes" msgid "Anniversary day" msgstr "Date d'anniversaire" -#: database.c:164 +#: database.c:166 msgid "field already defined" msgstr "champ déjà défini" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "les champs standard n'ont pas besoin d'être déclarés" -#: database.c:183 +#: database.c:185 msgid "unknown type" msgstr "type inconnu" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "Valeur de champ invalide définie dans la configuration" -#: database.c:586 +#: database.c:588 msgid "Invalid field value for sorting" msgstr "Valeur de champ invalide pour le classement" # Comment traduire 'tab' ? -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" -msgstr "Intitulé de \"tab\" trop large pour l'écran" +msgstr "Intitulé d'onglet trop large pour l'écran" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" msgstr "n123456789" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "Choisir %s à modifier (<1>%s%c%s%s." -#: edit.c:358 +#: edit.c:356 msgid "email" msgstr "email" -#: edit.c:358 +#: edit.c:356 msgid "item" msgstr "entrée" -#: edit.c:363 +#: edit.c:361 msgid " or ew" msgstr " ou nouveau" -#: edit.c:381 +#: edit.c:379 msgid "E-mail: " msgstr "Emails: " -#: edit.c:381 +#: edit.c:379 msgid "Item: " msgstr "Entrée: " -#: edit.c:478 +#: edit.c:465 msgid "Day: " -msgstr "" +msgstr "Jour: " -#: edit.c:478 +#: edit.c:465 msgid "Month: " -msgstr "" +msgstr "Mois: " -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " -msgstr "" +msgstr "Année (optionnelle): " -#: edit.c:511 -#, fuzzy +#: edit.c:498 msgid "Invalid date" -msgstr "valeur invalide" +msgstr "Date invalide" -#: edit.c:666 +#: edit.c:653 msgid "Name: " msgstr "Nom: " -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" msgstr "?:aide q:quitter l'éditeur" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "format natif abook" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "ldif / carnet d'adresses Netscape" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "alias mutt" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "carnet d'adresses pine" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "valeurs délimitées par des virgules" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "valeurs délimitées par des virgules (tous les champs)" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "valeur délimitées par des virgules, format Palm" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "ldif / carnet d'adresses Netscape (.41d)" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "document html" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "carnet d'adresses GnomCard (VCard)" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "alias elm" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "texte simple" -#: filter.c:92 +#: filter.c:93 msgid "Wanderlust address book" msgstr "carnet d'adresses Wanderlust" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "carnet d'adresses Spruce" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "entrée:" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "sortie:" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "importer la base de données" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" -msgstr "veuiller choisir un filtre" +msgstr "veuillez choisir un filtre" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "x - \tannuler" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "Nom de fichier: " -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "Une erreur est survenue à l'ouverture du fichier" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "Le fichier spécifié ne semble pas être un carnet d'adresses valide" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "exporter la base de données" -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "Exporter out, exporter les entrées électionnées, ou nnuler ?" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "tsa" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "Une erreur est survenue lors de l'exportation" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "\t?\t\taide\n" @@ -517,7 +524,7 @@ msgstr "" #: help.h:15 msgid "\t^L\t\trefresh screen\n" -msgstr "\t^L\t\traffraîchir l'écran\n" +msgstr "\t^L\t\trafraîchir l'écran\n" #: help.h:17 msgid "\tarrows / j,k\tscroll list\n" @@ -537,7 +544,7 @@ msgstr "\tr / suppr\t\tsupprimer les entrées sélectionnées\n" #: help.h:21 msgid "\tD\t\tduplicate item\n" -msgstr "\tD\t\tduppliquer une entrée\n" +msgstr "\tD\t\tdupliquer une entrée\n" #: help.h:23 msgid "\tspace\t\tselect item\n" @@ -618,8 +625,8 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "\tm\t\tenvoyer un courrier électronique avec mutt\n" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" -msgstr "\tu\t\tvisualiser l'URL avec un navigateur web\n" +msgid "\tv\t\tview URL with web browser\n" +msgstr "\tv\t\tvisualiser l'URL avec un navigateur web\n" #: help.h:55 msgid "\tarrows/h,l\t\tchange tab\n" @@ -651,7 +658,7 @@ msgstr "\tESC-r\t\t\trotation des adresses email vers le bas\n" #: help.h:67 msgid "\tu\t\t\tundo\n" -msgstr "\tu\t\t\tdéfaire\n" +msgstr "\tu\t\t\tannuler\n" #: help.h:69 msgid "\tm\t\t\tsend mail with mutt\n" @@ -661,19 +668,19 @@ msgstr "\tm\t\t\tenvoyer un courrier électronique avec mutt\n" msgid "\tv\t\t\tview url with web browser\n" msgstr "\tv\t\t\tvisualiser l'URL avec un navigateur web\n" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" -msgstr "problème de correspondance de caractère de quotation" +msgstr "problème de correspondance de guillemets" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" -msgstr "pas de caractère assignation trouvé" +msgstr "pas de caractère d'affectation trouvé" -#: options.c:263 +#: options.c:259 msgid "error in comma separated list" msgstr "erreur dans la liste de valeurs délimitées par des virgules" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "valeur invalide" @@ -726,7 +733,7 @@ msgstr "aucun nom de champ donné" #: options.c:490 #, c-format msgid "%s: parse error at line %d: " -msgstr "%s: erreur d'analyse lexicale à la ligne %d:" +msgstr "%s: erreur d'analyse lexicale à la ligne %d: " #: options.c:494 #, c-format @@ -767,32 +774,32 @@ msgstr "Supprimer les entrées sélectionnées" msgid "Clear WHOLE database" msgstr "Effacer ENTIÈREMENT la base de données" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "La recherche a atteint la fin, poursuite au début" -#: ui.c:603 +#: ui.c:607 #, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "Vos données actuelles seront perdues - Appuyez sur '%c' pour continuer" -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "Imprimer out, imprimer les entrées électionnées, ou nnuler ?" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "Pas d'entrée sélectionnée" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "Fichier à ouvrir: " -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "Sauvegarder la base de données" -#: ui.c:678 +#: ui.c:682 msgid "Sorry, the specified file appears not to be a valid abook addressbook" msgstr "" "Désolé, le fichier spécifié ne semble pas être un carnet d'adresses valide" diff --git a/po/it.gmo b/po/it.gmo index 2b38f96..c184bb8 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 9674bfd..a420877 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: abook 0.5.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" "PO-Revision-Date: 2006-08-26 01:26+0200\n" "Last-Translator: Claudio Stazzone \n" "Language-Team: none\n" @@ -39,29 +39,29 @@ msgstr "Allocazione di memoria fallita: %s\n" msgid "Press enter to continue...\n" msgstr "Premi invio per continuare...\n" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "Il file %s non è scrivibile" -#: abook.c:146 +#: abook.c:148 msgid "If you continue all changes will be lost. Do you want to continue?" msgstr "Se continui i cambiamenti verranno persi. Vuoi continuare?" -#: abook.c:165 +#: abook.c:167 msgid "Save database" msgstr "Salva il database" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "Esci senza salvare" -#: abook.c:223 +#: abook.c:225 #, c-format msgid "%s is not a valid HOME directory\n" msgstr "%s non è una directory HOME valida\n" -#: abook.c:254 +#: abook.c:256 #, c-format msgid "" "Cannot combine options --mutt-query, --convert, --add-email or --add-email-" @@ -70,33 +70,33 @@ msgstr "" "Non posso combinare le opzioni --mutt-query, --convert, --add-email o --add-" "email-quiet\n" -#: abook.c:285 +#: abook.c:287 #, c-format msgid "please use option --%s after --convert option\n" msgstr "per favore usa l'opzione --%s dopo --convert option\n" -#: abook.c:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "%s: argomenti non validi\n" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" msgstr " -h\t--help\t\t\t\tmostra l'utilizzo" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr " -C\t--config\t\t\tusa un file di configurazione diverso" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "\t--datafile\t\t\tusa un file di rubrica diverso" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "\t--mutt-query\t\tesegue una ricerca per mutt" -#: abook.c:410 +#: abook.c:412 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--add-email\t\t\tlegge un messaggio da standard input e\n" "\t\t\t\t\taggiunge il mittente alla rubrica" -#: abook.c:414 +#: abook.c:416 msgid "" "\t--add-email-quiet\t\tsame as --add-email but doesn't\n" "\t\t\t\t\trequire to confirm adding" @@ -112,66 +112,66 @@ msgstr "" "\t--add-email-quiet\t\tlo stesso che --add-email ma non\n" "\t\t\t\t\trichiede la conferma" -#: abook.c:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "\t--convert\t\t\tconverte i file di rubrica" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" msgstr "\topzioni da usare con --convert:" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "\t--informat\t\tformato del file di input" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "\t\t\t\t\t(predefinito: abook)" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "\t--infile\t\t\tfile sorgente" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "\t\t\t\t\t(predefinito: standard input)" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "\t--outformat\t\tformato file di output" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "\t\t\t\t\t(predefinito: testo)" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "\t--outfile\t\t\tfile di destinazione" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "\t\t\t\t\t(predefinito: standard output)" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "\t--formats\t\t\tlista dei formati disponibili" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "Non posso aprire il database\n" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "argomenti insufficienti per convertire\n" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "prova --help\n" -#: abook.c:631 +#: abook.c:633 #, c-format msgid "" "input and output formats are the same\n" @@ -180,46 +180,46 @@ msgstr "" "i formati di input e output sono gli stessi\n" "uscita...\n" -#: abook.c:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "formato di input %s non supportato\n" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "non posso leggere il file %s\n" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "formato di output %s non supportato\n" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "non posso scrivere il file %s\n" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "non posso aprire %s\n" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "%d oggetto/i aggiunto/i a %s\n" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "Impossibile trovare un valido indirizzo del mittente" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "Indirizzo %s già presente in rubrica\n" -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" @@ -228,20 +228,20 @@ msgstr "" "non posso aprire /dev/tty\n" "puoi usare --add-email-quiet\n" -#: abook.c:746 +#: abook.c:748 #, c-format msgid "Add \"%s <%s>\" to %s? (%c/%c)\n" msgstr "Aggiungi \"%s <%s>\" a %s? (%c/%c)\n" -#: abook.c:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "s" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "n" -#: abook.c:778 +#: abook.c:780 #, c-format msgid "stdin is a directory or cannot stat stdin\n" msgstr "standard input è una directory o non posso usare standard input\n" @@ -314,188 +314,197 @@ msgstr "Note" msgid "Anniversary day" msgstr "Anniversario" -#: database.c:164 +#: database.c:166 msgid "field already defined" msgstr "campo già definito" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "campo standard non necessita dichiarazione" -#: database.c:183 +#: database.c:185 msgid "unknown type" msgstr "tipo sconosciuto" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "Valore di campo errato nella configurazione" -#: database.c:586 +#: database.c:588 msgid "Invalid field value for sorting" msgstr "Valore di campo errato per l'ordinamento" -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" msgstr "Nome etichetta troppo largo per lo schermo" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" msgstr "keybindings_new_123456789|n123456789" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "Scegli %s per modificare (<1>%s%c%s%s." -#: edit.c:358 +#: edit.c:356 msgid "email" msgstr "email" -#: edit.c:358 +#: edit.c:356 msgid "item" msgstr "oggetto" -#: edit.c:363 +#: edit.c:361 msgid " or ew" msgstr "o uovo" -#: edit.c:381 +#: edit.c:379 msgid "E-mail: " msgstr "E-mails:" -#: edit.c:381 +#: edit.c:379 msgid "Item: " msgstr "Oggetto:" -#: edit.c:478 +#: edit.c:465 msgid "Day: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Month: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " msgstr "" -#: edit.c:511 +#: edit.c:498 #, fuzzy msgid "Invalid date" msgstr "valore non valido" -#: edit.c:666 +#: edit.c:653 msgid "Name: " msgstr "Nome: " -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" msgstr "?:aiuto q:esci editor" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "formato nativo di abook" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "ldif / rubrica Netscape" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "alias di mutt" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "rubrica di Pine" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "valori separati da virgole" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "valori separati da virgole (tutti i campi)" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "Valori separati da virgole per Palm" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "ldif / rubrica Netscape (.4ld)" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "documento html" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "Rubrica GnomeCard (VCard)" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "alias di elm" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "testo puro" -#: filter.c:92 +#: filter.c:93 msgid "Wanderlust address book" msgstr "Rubrica Wanderlust" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "Rubrica Spruce" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "input:" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "output:" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "importa un database" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" msgstr "seleziona un filtro" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "x -\tcancella" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "Nome del file:" -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "Errore nell'apertura del file" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "Il file non sembra essere una rubrica valida" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "esporta il database" -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "Esporta utti, esporta elezionati, o ancella?" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "tsc" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "Errore nell'esportazione" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "\t?\t\taiuto\n" @@ -617,8 +626,8 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "\tm\t\tspedisci mail con mutt\n" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" -msgstr "\tu\t\tmostra URL con browser html\n" +msgid "\tv\t\tview URL with web browser\n" +msgstr "\tv\t\tmostra URL con browser html\n" #: help.h:55 msgid "\tarrows/h,l\t\tchange tab\n" @@ -660,19 +669,19 @@ msgstr "\tm\t\t\tspedisci mail con mutt\n" msgid "\tv\t\t\tview url with web browser\n" msgstr "\tv\t\t\tmostra url con browser html\n" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" msgstr "manca una virgoletta" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" msgstr "errore di assegnamento" -#: options.c:263 +#: options.c:259 msgid "error in comma separated list" msgstr "errore nei valori separati da virgole" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "valore non valido" @@ -765,32 +774,32 @@ msgstr "Cancella l'oggetto/gli oggetti selezionato/i" msgid "Clear WHOLE database" msgstr "Cancella TUTTO il database" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "La ricerca è finita, continuo dall'inizio" -#: ui.c:603 +#: ui.c:607 #, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "I dati correnti saranno persi - Premi '%c' per continuare" -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "Stampa utti, stampa elezionati, o ancella?" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "Nessun oggetto selezionato" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "File da aprire:" -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "Salva il database corrente" -#: ui.c:678 +#: ui.c:682 msgid "Sorry, the specified file appears not to be a valid abook addressbook" msgstr "Mi dispiace, il file selezionato non è una rubrica valida per Abook" diff --git a/po/ja.gmo b/po/ja.gmo index 3ad3260..62a5a71 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index 8d210fc..907ad4c 100644 --- a/po/ja.po +++ b/po/ja.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.5.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" "PO-Revision-Date: 2005-10-18 18:10+0200\n" "Last-Translator: TAKAHASHI Tamotsu \n" "Language-Team: japanese\n" @@ -33,29 +33,29 @@ msgstr " msgid "Press enter to continue...\n" msgstr "³¤±¤ë¤Ë¤Ï Enter ¥­¡¼¤ò...\n" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "¥Õ¥¡¥¤¥ë %s ¤Ï½ñ¤­¹þ¤ßÉÔ²Äǽ¤Ç¤¹" -#: abook.c:146 +#: abook.c:148 msgid "If you continue all changes will be lost. Do you want to continue?" msgstr "¤³¤Î¤Þ¤Þ¤À¤ÈÊѹ¹ÅÀ¤¬¤¹¤Ù¤Æ¾Ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬¡¢Â³¤±¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?" -#: abook.c:165 +#: abook.c:167 msgid "Save database" msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊݸ" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "Êݸ¤»¤º¤Ë½ªÎ»" -#: abook.c:223 +#: abook.c:225 #, c-format msgid "%s is not a valid HOME directory\n" msgstr "%s ¤ÏÀµ¤·¤¤ HOME ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: abook.c:254 +#: abook.c:256 #, c-format msgid "" "Cannot combine options --mutt-query, --convert, --add-email or --add-email-" @@ -64,35 +64,35 @@ msgstr "" "¼¡¤Î¥ª¥×¥·¥ç¥ó¤òƱ»þ¤ËÊ£¿ô»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó: --mutt-query, --convert, " "--add-email, --add-email-quiet\n" -#: abook.c:285 +#: abook.c:287 #, c-format msgid "please use option --%s after --convert option\n" msgstr "--%s ¥ª¥×¥·¥ç¥ó¤Ï --convert ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n" -#: abook.c:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç¤¹\n" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" msgstr " -h\t--help\t\t\t\t»ÈÍÑÊýË¡" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr "" " -C\t--config\t<¥Õ¥¡¥¤¥ë>\t\tÄ̾ï¤Î¾ì½ê°Ê³°¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤¦" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "" "\t--datafile\t<¥Õ¥¡¥¤¥ë>\t\tÄ̾ï¤Î¾ì½ê°Ê³°¤Ë¤¢¤ë¥¢¥É¥ì¥¹Ä¢¥Õ¥¡¥¤¥ë¤ò»È¤¦" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "\t--mutt-query\t<ʸ»úÎó>\tÌ䤤¹ç¤ï¤»¤ËÂФ·¤Æ mutt ÍѤËÀ°·Á½ÐÎϤ¹¤ë" -#: abook.c:410 +#: abook.c:412 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" @@ -100,7 +100,7 @@ msgstr "" "\t--add-email\t\t\t¥á¡¼¥ë¤òɸ½àÆþÎϤ«¤éÆɤ߽Ф·¤Æ\n" "\t\t\t\t\t¤½¤Îº¹½Ð¿Í¤ò¥¢¥É¥ì¥¹Ä¢¤ËÄɲ乤ë" -#: abook.c:414 +#: abook.c:416 msgid "" "\t--add-email-quiet\t\tsame as --add-email but doesn't\n" "\t\t\t\t\trequire to confirm adding" @@ -108,66 +108,66 @@ msgstr "" "\t--add-email-quiet\t\t--add-email ¤ÈƱ¤¸¡£¤¿¤À¤·\n" "\t\t\t\t\tÄɲ乤ëÁ°¤Ë³Îǧ¤òµá¤á¤Ê¤¤" -#: abook.c:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "\t--convert\t\t\t¥¢¥É¥ì¥¹Ä¢¥Õ¥¡¥¤¥ë¤ò¾·Á¼°¤ØÊÑ´¹¤¹¤ë" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" msgstr "\t--convert ¤Ç»È¤¦¥ª¥×¥·¥ç¥ó:" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "\t--informat\t<·Á¼°>\tÊÑ´¹¸µ¥Õ¥¡¥¤¥ë¤Î·Á¼°" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "\t\t\t\t\t(´ûÄêÃÍ: abook)" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "\t--infile\t<¥Õ¥¡¥¤¥ë>\t\tÊÑ´¹¸µ¥Õ¥¡¥¤¥ë" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "\t\t\t\t\t(´ûÄêÃÍ: ɸ½àÆþÎÏ)" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "\t--outformat\t<·Á¼°>\t½ÐÎÏÀè¥Õ¥¡¥¤¥ë¤Î·Á¼°" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "\t\t\t\t\t(´ûÄêÃÍ: text)" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "\t--outfile\t<¥Õ¥¡¥¤¥ë>\t\t½ÐÎÏÀè¥Õ¥¡¥¤¥ë" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "\t\t\t\t\t(´ûÄêÃÍ: ɸ½à½ÐÎÏ)" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "\t--formats\t\t\tÍøÍѲÄǽ¤Ê·Á¼°°ìÍ÷¤òɽ¼¨¤¹¤ë" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬³«¤±¤Þ¤»¤ó\n" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "ÊÑ´¹¤ËɬÍפʥª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "--help ¤ò¤´Í÷¤¯¤À¤µ¤¤\n" -#: abook.c:631 +#: abook.c:633 #, c-format msgid "" "input and output formats are the same\n" @@ -176,46 +176,46 @@ msgstr "" "ÆþÎϤȽÐÎϤηÁ¼°¤¬Æ±¤¸¤Ç¤¹\n" "½ªÎ»¤·¤Þ¤¹\n" -#: abook.c:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "ÆþÎÏ·Á¼°¤È¤·¤Æ %s ¤Ï¤´ÍøÍѤ¤¤¿¤À¤±¤Þ¤»¤ó\n" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "¥Õ¥¡¥¤¥ë %s ¤¬Æɤ߽Ф»¤Þ¤»¤ó\n" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "½ÐÎÏ·Á¼°¤È¤·¤Æ %s ¤Ï¤´ÍøÍѤ¤¤¿¤À¤±¤Þ¤»¤ó\n" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó\n" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "%s ¤¬³«¤±¤Þ¤»¤ó\n" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "%d ¸Ä¤Î¹àÌܤò %s ¤ËÄɲä·¤Þ¤·¤¿\n" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "ǧ¼±²Äǽ¤Êº¹½Ð¿Í¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "¥¢¥É¥ì¥¹ %s ¤Ï´û¤Ë¥¢¥É¥ì¥¹Ä¢¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹\n" -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" @@ -224,20 +224,20 @@ msgstr "" "/dev/tty ¤¬³«¤±¤Þ¤»¤ó\n" "--add-email-quiet ¤ò¤´ÍøÍѤˤʤä¿Êý¤¬Îɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó\n" -#: abook.c:746 +#: abook.c:748 #, c-format msgid "Add \"%s <%s>\" to %s? (%c/%c)\n" msgstr "\"%s <%s>\" ¤ò %s ¤ËÄɲä·¤Þ¤¹¤«? (%c/%c)\n" -#: abook.c:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "y" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "n" -#: abook.c:778 +#: abook.c:780 #, c-format msgid "stdin is a directory or cannot stat stdin\n" msgstr "ɸ½àÆþÎϤ¬¥Ç¥£¥ì¥¯¥È¥ê¤«¡¢stat ÉÔ²Äǽ¤Ç¤¹\n" @@ -311,193 +311,202 @@ msgstr " msgid "Anniversary day" msgstr "" -#: database.c:164 +#: database.c:166 msgid "field already defined" msgstr "" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "" -#: database.c:183 +#: database.c:185 #, fuzzy msgid "unknown type" msgstr "ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "ÉÔÀµ¤Ê¹àÌÜ̾¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹" -#: database.c:586 +#: database.c:588 #, fuzzy msgid "Invalid field value for sorting" msgstr "ÉÔÀµ¤Ê¹àÌÜ̾¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹" -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" msgstr "¥¿¥Ö̾¤¬²èÌ̤«¤é¤Ï¤ß½Ð¤Þ¤¹" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" msgstr "" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "" -#: edit.c:358 +#: edit.c:356 #, fuzzy msgid "email" msgstr "¥¢¥É¥ì¥¹" -#: edit.c:358 +#: edit.c:356 msgid "item" msgstr "" -#: edit.c:363 +#: edit.c:361 msgid " or ew" msgstr "" -#: edit.c:381 +#: edit.c:379 #, fuzzy msgid "E-mail: " msgstr "¥¢¥É¥ì¥¹" -#: edit.c:381 +#: edit.c:379 msgid "Item: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Day: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Month: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " msgstr "" -#: edit.c:511 +#: edit.c:498 #, fuzzy msgid "Invalid date" msgstr "ÉÔÀµ¤ÊÃͤǤ¹" -#: edit.c:666 +#: edit.c:653 #, fuzzy msgid "Name: " msgstr "»á̾" -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" msgstr "" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "abook Æȼ«·Á¼°" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "ldif / Netscape ¥¢¥É¥ì¥¹Ä¢" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "mutt alias" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "pine ¥¢¥É¥ì¥¹Ä¢" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "¥³¥ó¥Þ¶èÀÚ¤ê¥Æ¥­¥¹¥È" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "¥³¥ó¥Þ¶èÀÚ¤ê¥Æ¥­¥¹¥È (Á´¹àÌÜ)" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "Palm ÍÑ¥³¥ó¥Þ¶èÀÚ¤ê¥Æ¥­¥¹¥È" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "ldif / Netscape ¥¢¥É¥ì¥¹Ä¢ (.4ld)" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "HTML ʸ½ñ" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "GnomeCard (vCard) ¥¢¥É¥ì¥¹Ä¢" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "elm alias" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È" -#: filter.c:92 +#: filter.c:93 msgid "Wanderlust address book" msgstr "Wanderlust ¥¢¥É¥ì¥¹Ä¢" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "Spruce ¥¢¥É¥ì¥¹Ä¢" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "ÆþÎÏ:" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "½ÐÎÏ:" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¼è¤ê¹þ¤ß" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" msgstr "·Á¼°¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "x -\tÃæ»ß" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "¥Õ¥¡¥¤¥ë̾: " -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤¯ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "¥Õ¥¡¥¤¥ë¤¬Àµ¤·¤¤¥¢¥É¥ì¥¹Ä¢¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î½ÐÎÏ" -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "½ÐÎÏÂÐ¾Ý a:¤¹¤Ù¤Æ s:ÁªÂòÉôʬ¤Î¤ß c:Ãæ»ß?" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "asc" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "½ÐÎÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "\t?\t\t¥Ø¥ë¥×\n" @@ -615,8 +624,8 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "\tm\t\tMutt ¤Ç¥á¡¼¥ë¤òÁ÷¤ë\n" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" -msgstr "\tu\t\tURL ¤ò¥Ö¥é¥¦¥¶¤Ç±ÜÍ÷¤¹¤ë\n" +msgid "\tv\t\tview URL with web browser\n" +msgstr "\tv\t\tURL ¤ò¥Ö¥é¥¦¥¶¤Ç±ÜÍ÷¤¹¤ë\n" #: help.h:55 #, fuzzy @@ -663,20 +672,20 @@ msgstr "\tm\t\t\tMutt msgid "\tv\t\t\tview url with web browser\n" msgstr "\tv\t\t\tURL ¤ò¥Ö¥é¥¦¥¶¤Ç±ÜÍ÷\n" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" msgstr "" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" msgstr "" -#: options.c:263 +#: options.c:259 #, fuzzy msgid "error in comma separated list" msgstr "¥³¥ó¥Þ¶èÀÚ¤ê¥Æ¥­¥¹¥È" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "ÉÔÀµ¤ÊÃͤǤ¹" @@ -764,32 +773,32 @@ msgstr " msgid "Clear WHOLE database" msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹Á´ÂΤò¾Ãµî¤·¤Þ¤¹¤«" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "ºÇ¸å¤Þ¤Ç¸¡º÷¤·¤Þ¤·¤¿¡£ºÇ½é¤«¤é¤â¸¡º÷¤·¤Æ¤¤¤Þ¤¹" -#: ui.c:603 +#: ui.c:607 #, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "¸½ºß¤Î¥Ç¡¼¥¿¤Ï¾Ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤è¤í¤·¤±¤ì¤Ð '%c' ¤Ç³¤±¤Æ¤¯¤À¤µ¤¤" -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "°õºþÂÐ¾Ý a:¤¹¤Ù¤Æ s:ÁªÂò¹àÌÜ¤Î¤ß c:Ãæ»ß?" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "²¿¤âÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "³«¤¯¥Õ¥¡¥¤¥ë: " -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊݸ¤·¤Þ¤¹¤«" -#: ui.c:678 +#: ui.c:682 msgid "Sorry, the specified file appears not to be a valid abook addressbook" msgstr "" "¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤´»ØÄê¤Î¥Õ¥¡¥¤¥ë¤ÏÀµµ¬¤Î abook ¥¢¥É¥ì¥¹Ä¢¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" diff --git a/po/sv.gmo b/po/sv.gmo index 7f6c184..d87a1f1 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index 2737a41..2258706 100644 --- 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: \n" -"POT-Creation-Date: 2006-08-29 22:30+0300\n" +"POT-Creation-Date: 2006-09-06 17:14+0300\n" "PO-Revision-Date: 2006-08-05 14:20+0200\n" "Last-Translator: Susanna Björverud \n" "Language-Team: none\n" @@ -36,30 +36,30 @@ msgstr "Fel vid tilldelning av minne: %s\n" msgid "Press enter to continue...\n" msgstr "Tryck enter för att fortsätta...\n" -#: abook.c:141 +#: abook.c:143 #, c-format msgid "File %s is not writeable" msgstr "Filen %s kan inte skrivas" -#: abook.c:146 +#: abook.c:148 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:165 +#: abook.c:167 msgid "Save database" msgstr "Spara databasen" -#: abook.c:167 +#: abook.c:169 msgid "Quit without saving" msgstr "Avsluta utan att spara" -#: abook.c:223 +#: abook.c:225 #, c-format msgid "%s is not a valid HOME directory\n" msgstr "%s är inte en giltig hemmamapp\n" -#: abook.c:254 +#: abook.c:256 #, 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:285 +#: abook.c:287 #, 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:384 +#: abook.c:386 #, c-format msgid "%s: unrecognized arguments on command line\n" msgstr "%s: okända parametrar pÃ¥ kommandoraden\n" -#: abook.c:406 +#: abook.c:408 msgid " -h\t--help\t\t\t\tshow usage" msgstr " -h\t--help\t\t\t\tvisa användning" -#: abook.c:407 +#: abook.c:409 msgid " -C\t--config\t\t\tuse an alternative configuration file" msgstr " -C\t--config\t\t\tanvänd en alternative konfigurationsfil" -#: abook.c:408 +#: abook.c:410 msgid "\t--datafile\t\t\tuse an alternative addressbook file" msgstr "\t--datafile\t\t\tanvänd en alternative adressboksfil" -#: abook.c:409 +#: abook.c:411 msgid "\t--mutt-query\t\tmake a query for mutt" msgstr "\t--mutt-query\t\tgör en förfrÃ¥gan till mutt" -#: abook.c:410 +#: abook.c:412 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:414 +#: abook.c:416 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:418 +#: abook.c:420 msgid "\t--convert\t\t\tconvert address book files" msgstr "\t--convert\t\t\tkonvertera adressbokfiler" -#: abook.c:419 +#: abook.c:421 msgid "\toptions to use with --convert:" msgstr "\tflaggor som kan användas med --convert:" -#: abook.c:420 +#: abook.c:422 msgid "\t--informat\t\tformat for input file" msgstr "\t--informat\t\tinputfilens format" -#: abook.c:421 +#: abook.c:423 msgid "\t\t\t\t\t(default: abook)" msgstr "\t\t\t\t\t(förvalt: abook)" -#: abook.c:422 +#: abook.c:424 msgid "\t--infile\t\t\tsource file" msgstr "\t--infile\t\t\tkällfil" -#: abook.c:423 +#: abook.c:425 msgid "\t\t\t\t\t(default: stdin)" msgstr "\t\t\t\t\t(förvalt: stdin)" -#: abook.c:424 +#: abook.c:426 msgid "\t--outformat\t\tformat for output file" msgstr "\t--outformat\t\toutputfilens format" -#: abook.c:425 +#: abook.c:427 msgid "\t\t\t\t\t(default: text)" msgstr "\t\t\t\t\t(förvalt: text)" -#: abook.c:426 +#: abook.c:428 msgid "\t--outfile\t\t\tdestination file" msgstr "\t--outfile\t\t\tmÃ¥lfil" -#: abook.c:427 +#: abook.c:429 msgid "\t\t\t\t\t(default: stdout)" msgstr "\t\t\t\t\t(förvalt: stdout)" -#: abook.c:428 +#: abook.c:430 msgid "\t--formats\t\t\tlist available formats" msgstr "\t--formats\t\t\tlista tillgängliga format" -#: abook.c:499 +#: abook.c:501 #, c-format msgid "Cannot open database\n" msgstr "Kan inte öppna databasen\n" -#: abook.c:625 +#: abook.c:627 #, c-format msgid "too few arguments to make conversion\n" msgstr "alltför fÃ¥ parametrar för att kunna konvertera\n" -#: abook.c:626 +#: abook.c:628 #, c-format msgid "try --help\n" msgstr "prova --help\n" -#: abook.c:631 +#: abook.c:633 #, 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:645 +#: abook.c:647 #, c-format msgid "input format %s not supported\n" msgstr "inputformater %s stöds ej\n" -#: abook.c:649 +#: abook.c:651 #, c-format msgid "cannot read file %s\n" msgstr "kan inte läsa filen %s\n" -#: abook.c:658 +#: abook.c:660 #, c-format msgid "output format %s not supported\n" msgstr "outputformatet %s stöds ej\n" -#: abook.c:664 +#: abook.c:666 #, c-format msgid "cannot write file %s\n" msgstr "kan inte skriva till filen %s\n" -#: abook.c:685 +#: abook.c:687 #, c-format msgid "cannot open %s\n" msgstr "kan inte öppna %s\n" -#: abook.c:688 +#: abook.c:690 #, c-format msgid "%d item(s) added to %s\n" msgstr "%d post(er) har lagts till i %s\n" -#: abook.c:690 +#: abook.c:692 msgid "Valid sender address not found" msgstr "Kunde inte hitta en giltig avsändaradress" -#: abook.c:730 +#: abook.c:732 #, c-format msgid "Address %s already in addressbook\n" msgstr "Addressen %s finns redan i adressboken\n" -#: abook.c:740 +#: abook.c:742 #, c-format msgid "" "cannot open /dev/tty\n" @@ -226,20 +226,20 @@ msgstr "" "kan inte öppna /dev/tty\n" "du bör kanske använda --add-email-quiet\n" -#: abook.c:746 +#: abook.c:748 #, 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:750 abook.c:757 ui.c:343 ui.c:605 +#: abook.c:752 abook.c:759 ui.c:343 ui.c:609 msgid "keybinding for yes|y" msgstr "j" -#: abook.c:751 abook.c:753 ui.c:341 +#: abook.c:753 abook.c:755 ui.c:341 msgid "keybinding for no|n" msgstr "n" -#: abook.c:778 +#: abook.c:780 #, c-format msgid "stdin is a directory or cannot stat stdin\n" msgstr "" @@ -315,193 +315,202 @@ msgstr "Anteckningar" msgid "Anniversary day" msgstr "" -#: database.c:164 +#: database.c:166 msgid "field already defined" msgstr "" -#: database.c:168 +#: database.c:170 msgid "standard field does not need to be declared" msgstr "" -#: database.c:183 +#: database.c:185 #, fuzzy msgid "unknown type" msgstr "okänd flagga" -#: database.c:583 +#: database.c:585 msgid "Invalid field value defined in configuration" msgstr "Ogiltigt fältvärde i konfigurationen" -#: database.c:586 +#: database.c:588 #, fuzzy msgid "Invalid field value for sorting" msgstr "Ogiltigt fältvärde i konfigurationen" -#: edit.c:53 +#: edit.c:51 msgid "Tab name too wide for screen" msgstr "Flikrubrik för bred för skärmen" -#: edit.c:355 +#: edit.c:353 msgid "keybindings_new_123456789|n123456789" msgstr "" -#: edit.c:357 +#: edit.c:355 #, c-format msgid "Choose %s to modify (<1>%s%c%s%s." msgstr "" -#: edit.c:358 +#: edit.c:356 #, fuzzy msgid "email" msgstr "Ebrev" -#: edit.c:358 +#: edit.c:356 msgid "item" msgstr "" -#: edit.c:363 +#: edit.c:361 msgid " or ew" msgstr "" -#: edit.c:381 +#: edit.c:379 #, fuzzy msgid "E-mail: " msgstr "Ebrev" -#: edit.c:381 +#: edit.c:379 msgid "Item: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Day: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Month: " msgstr "" -#: edit.c:478 +#: edit.c:465 msgid "Year (optional): " msgstr "" -#: edit.c:511 +#: edit.c:498 #, fuzzy msgid "Invalid date" msgstr "ogiltigt värde" -#: edit.c:666 +#: edit.c:653 msgid "Name: " msgstr "Namn: " -#: edit.h:13 +#: edit.h:14 msgid "?:help q:quit editor" msgstr "" -#: filter.c:70 filter.c:81 +#: filter.c:71 filter.c:82 msgid "abook native format" msgstr "abooks eget format" -#: filter.c:71 +#: filter.c:72 msgid "ldif / Netscape addressbook" msgstr "ldif / adressbok fr Netscape" -#: filter.c:72 filter.c:83 +#: filter.c:73 filter.c:84 msgid "mutt alias" msgstr "mutt-alias" -#: filter.c:73 filter.c:85 +#: filter.c:74 filter.c:86 msgid "pine addressbook" msgstr "pine-adressbok" -#: filter.c:74 filter.c:87 +#: filter.c:75 filter.c:88 msgid "comma separated values" msgstr "kommaseparerade värden" -#: filter.c:75 filter.c:88 +#: filter.c:76 filter.c:89 msgid "comma separated values (all fields)" msgstr "kommaseparerade värden (alla fält)" -#: filter.c:76 filter.c:89 +#: filter.c:77 filter.c:90 msgid "Palm comma separated values" msgstr "kommaseparerade värden frÃ¥n Palm" -#: filter.c:82 +#: filter.c:83 msgid "ldif / Netscape addressbook (.4ld)" msgstr "ldif / adressbok fr Netscape (.4ld)" -#: filter.c:84 +#: filter.c:85 msgid "html document" msgstr "html-dokument" -#: filter.c:86 +#: filter.c:87 msgid "GnomeCard (VCard) addressbook" msgstr "GnomeCard-adressbok (VCard)" -#: filter.c:90 +#: filter.c:91 msgid "elm alias" msgstr "elm-alias" -#: filter.c:91 +#: filter.c:92 msgid "plain text" msgstr "ren text" -#: filter.c:92 +#: filter.c:93 #, fuzzy msgid "Wanderlust address book" msgstr "pine-adressbok" -#: filter.c:93 +#: filter.c:94 msgid "Spruce address book" msgstr "Spruce-adressbok" -#: filter.c:106 +#: filter.c:95 +msgid "BSD calendar" +msgstr "" + +#: filter.c:108 msgid "input:" msgstr "input:" -#: filter.c:113 +#: filter.c:115 msgid "output:" msgstr "output:" -#: filter.c:178 +#: filter.c:180 msgid "import database" msgstr "importera databaser" -#: filter.c:180 filter.c:297 +#: filter.c:182 filter.c:299 msgid "please select a filter" msgstr "var god och välj filter" -#: filter.c:188 filter.c:305 +#: filter.c:190 filter.c:307 msgid "x -\tcancel" msgstr "x -\tavbryt" -#: filter.c:209 filter.c:343 +#: filter.c:211 filter.c:345 msgid "Filename: " msgstr "Filnamn:" -#: filter.c:216 +#: filter.c:218 msgid "Error occured while opening the file" msgstr "Fel vid öppnandet av filen" -#: filter.c:218 +#: filter.c:220 msgid "File does not seem to be a valid addressbook" msgstr "Den angivna filen verkar inte vara en giltig adressbok" -#: filter.c:295 +#: filter.c:297 msgid "export database" msgstr "exportera databasen" -#: filter.c:328 +#: filter.c:330 msgid "Export ll, export elected, or ancel?" msgstr "" -#: filter.c:329 ui.c:628 +#: filter.c:331 ui.c:632 msgid "keybindings:all/selected/cancel|asc" msgstr "" -#: filter.c:350 +#: filter.c:352 msgid "Error occured while exporting" msgstr "Fel vid export" +#: filter.c:1896 +#, c-format +msgid "%02d/%02d\tAnniversary of %s\n" +msgstr "" + #: help.h:11 msgid "\t?\t\thelp\n" msgstr "\t?\t\thjälp\n" @@ -619,8 +628,8 @@ msgid "\tm\t\tsend mail with mutt\n" msgstr "\tm\t\tskicka post med mutt\n" #: help.h:47 -msgid "\tu\t\tview URL with web browser\n" -msgstr "\tu\t\tvisa URL i webbläsare\n" +msgid "\tv\t\tview URL with web browser\n" +msgstr "\tv\t\tvisa URL i webbläsare\n" #: help.h:55 #, fuzzy @@ -667,20 +676,20 @@ msgstr "\tm\t\t\tskicka post med mutt\n" msgid "\tv\t\t\tview url with web browser\n" msgstr "\tv\t\t\tvisa url i webbläsare\n" -#: options.c:254 +#: options.c:250 msgid "quote mismatch" msgstr "" -#: options.c:260 +#: options.c:256 msgid "no assignment character found" msgstr "" -#: options.c:263 +#: options.c:259 #, fuzzy msgid "error in comma separated list" msgstr "kommaseparerade värden" -#: options.c:292 options.c:311 +#: options.c:289 options.c:308 msgid "invalid value" msgstr "ogiltigt värde" @@ -770,32 +779,32 @@ msgstr "Ta bort valda post(er)" msgid "Clear WHOLE database" msgstr "Nollställ HELA databasen" -#: ui.c:578 +#: ui.c:582 msgid "Search hit bottom, continuing at top" msgstr "Sök nÃ¥dde slutet, fortsätter frÃ¥n början" -#: ui.c:603 +#: ui.c:607 #, fuzzy, c-format msgid "Your current data will be lost - Press '%c' to continue" msgstr "Nuvarande data kommer att förloras - Tryck pÃ¥ 'y' för att fortsätta" -#: ui.c:628 +#: ui.c:632 msgid "Print ll, print elected, or ancel?" msgstr "" -#: ui.c:634 +#: ui.c:638 msgid "No selected items" msgstr "Inga poster valda" -#: ui.c:660 +#: ui.c:664 msgid "File to open: " msgstr "Öppna fil: " -#: ui.c:670 +#: ui.c:674 msgid "Save current database" msgstr "Spara denna databas" -#: ui.c:678 +#: ui.c:682 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" diff --git a/sample.abookrc b/sample.abookrc index b324f92..3dac32c 100644 --- a/sample.abookrc +++ b/sample.abookrc @@ -73,27 +73,14 @@ set preserve_fields=standard # Show all email addresses in list set show_all_emails=true -# Screen column for email field to start -set emailpos=25 - -# Field to be used in the extra column -set extra_column=phone -# frequently used values: -# -1 disabled -# phone Home Phone -# workphone Work Phone -# fax Fax -# mobile Mobile Phone -# nick Nick / Alias -# url URL - -# Specify an alternative field to be displayed in the extra -# column if there is no data for the field specified in -# extra_column for a particular item. -set extra_alternative=-1 - -# Screen column for the extra field to start -set extrapos=65 +# Format of an entry's line in the main abook screen +# +# The below example displays: +# * the content of the 'name' field (with a maximum of 22 characters) +# * the first of the 'phone', 'workphone' or 'mobile' fields +# happening not to be empty (right aligned within 12 characters) +# * the 'anniversary' field, with no length limit +set index_format=" {name:25} {phone:-12|workphone|mobile} {anniversary}" # Command used to start mutt set mutt_command=mutt diff --git a/ui.c b/ui.c index b7c486a..6fe2f0f 100644 --- a/ui.c +++ b/ui.c @@ -1,6 +1,6 @@ /* - * $Id: ui.c,v 1.57 2006/04/10 08:15:46 jheinonen Exp $ + * $Id: ui.c,v 1.58 2006/09/06 02:24:33 cduval Exp $ * * by JH * @@ -567,9 +567,13 @@ ui_find(int next) } else { char *s; s = ui_readline("/", findstr, MAX_FIELD_LEN - 1, 0); - strncpy(findstr, s, MAX_FIELD_LEN); - free(s); refresh_screen(); + if(s == NULL) { + return; /* user cancelled (ctrl-G) */ + } else { + strncpy(findstr, s, MAX_FIELD_LEN); + free(s); + } } if( (item = find_item(findstr, list_get_curitem() + !!next,
%s