From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2577 invoked by alias); 24 Oct 2004 19:28:54 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 2569 invoked from network); 24 Oct 2004 19:28:51 -0000 Received: from unknown (HELO legolas.inter.net.il) (192.114.186.24) by sourceware.org with SMTP; 24 Oct 2004 19:28:51 -0000 Received: from zaretski (pns03-209-187.inter.net.il [80.230.209.187]) by legolas.inter.net.il (MOS 3.5.3-GR) with ESMTP id CXZ45655 (AUTH halo1); Sun, 24 Oct 2004 21:28:14 +0200 (IST) Date: Sun, 24 Oct 2004 19:28:00 -0000 From: "Eli Zaretskii" To: Baurjan Ismagulov Message-ID: <01c4b9ff$Blat.v2.2.2$1ebcb860@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 CC: gdb-patches@sources.redhat.com In-reply-to: <20041024104805.GA2369@ata.cs.hun.edu.tr> (message from Baurjan Ismagulov on Sun, 24 Oct 2004 12:48:05 +0200) Subject: Re: an i18n sample Reply-to: Eli Zaretskii References: <20041024104805.GA2369@ata.cs.hun.edu.tr> X-SW-Source: 2004-10/txt/msg00395.txt.bz2 > Date: Sun, 24 Oct 2004 12:48:05 +0200 > From: Baurjan Ismagulov > > I've begun to mark up translatable strings in gdb/. I thought it would > be easier to review if I do it in small chunks; please inform me if you > prefer one big file. Smaller chunks are better, IMHO. But please wait for others to respond, perhaps I'm the minority. > What do you think? Thanks. In general, the changes are okay, but I have a few comments: > is_nondebugging_type (struct type *type) > { > char *name = ada_type_name (type); > - return (name != NULL && strcmp (name, "") == 0); > + return (name != NULL && strcmp (name, _("")) == 0); Where is the text "" coming from? If it is not translated where it is produced, then you should compare with the literal untranslated string here. > - fprintf_unfiltered (gdb_stderr, "Type "); > + fprintf_unfiltered (gdb_stderr, _("Type ")); > if (type == NULL) > - fprintf_unfiltered (gdb_stderr, "(null)"); > + fprintf_unfiltered (gdb_stderr, _("(null)")); > else > type_print (type, "", gdb_stderr, -1); > - error (" is not a structure or union type"); > + error (_(" is not a structure or union type")); This fragment should be rewritten to use full sentences, like in "Type (null) is not a structure or union type", instead of marking each part separately. That way, a translator will be able to translate the entire sentence as a single entity, rather than each part. (Translating sentences in parts usually leads to bad translations, unless the translator makes an effort to read the source.) > @@ -5664,10 +5664,10 @@ BadName: > { > target_terminal_ours (); > gdb_flush (gdb_stdout); > - fprintf_unfiltered (gdb_stderr, "Type "); > + fprintf_unfiltered (gdb_stderr, _("Type ")); > type_print (type, "", gdb_stderr, -1); > - fprintf_unfiltered (gdb_stderr, " has no component named "); > - error ("%s", name == NULL ? "" : name); > + fprintf_unfiltered (gdb_stderr, _(" has no component named ")); > + error ("%s", name == NULL ? _("") : name); > } Same here. > @@ -6005,7 +6005,7 @@ empty_record (struct objfile *objfile) > TYPE_CODE (type) = TYPE_CODE_STRUCT; > TYPE_NFIELDS (type) = 0; > TYPE_FIELDS (type) = NULL; > - TYPE_NAME (type) = ""; > + TYPE_NAME (type) = _(""); > TYPE_TAG_NAME (type) = NULL; > TYPE_FLAGS (type) = 0; > TYPE_LENGTH (type) = 0; > @@ -6167,8 +6167,8 @@ ada_template_to_fixed_record_type_1 (str > the current RTYPE length might be good enough for our purposes. */ > if (TYPE_LENGTH (type) <= 0) > { > - warning ("Invalid type size for `%s' detected: %d.", > - TYPE_NAME (rtype) ? TYPE_NAME (rtype) : "", > + warning (_("Invalid type size for `%s' detected: %d."), > + TYPE_NAME (rtype) ? TYPE_NAME (rtype) : _(""), > TYPE_LENGTH (type)); > } Same here. > case UNOP_IN_RANGE: > case UNOP_QUAL: > - fprintf_filtered (stream, "Type @"); > + fprintf_filtered (stream, _("Type @")); > gdb_print_host_address (exp->elts[pc + 1].type, stream); > fprintf_filtered (stream, " ("); > type_print (exp->elts[pc + 1].type, NULL, stream, 0); Same here. > @@ -8361,9 +8361,9 @@ ada_print_subexp (struct expression *exp > case BINOP_IN_BOUNDS: > *pos += oplen; > print_subexp (exp, pos, stream, PREC_SUFFIX); > - fputs_filtered (" in ", stream); > + fputs_filtered (_(" in "), stream); > print_subexp (exp, pos, stream, PREC_SUFFIX); > - fputs_filtered ("'range", stream); > + fputs_filtered (_("'range"), stream); > if (exp->elts[pc + 1].longconst > 1) > fprintf_filtered (stream, "(%ld)", > (long) exp->elts[pc + 1].longconst); Same here. > @@ -8374,7 +8374,7 @@ ada_print_subexp (struct expression *exp > if (prec >= PREC_EQUAL) > fputs_filtered ("(", stream); > print_subexp (exp, pos, stream, PREC_SUFFIX); > - fputs_filtered (" in ", stream); > + fputs_filtered (_(" in "), stream); > print_subexp (exp, pos, stream, PREC_EQUAL); > fputs_filtered (" .. ", stream); > print_subexp (exp, pos, stream, PREC_EQUAL); Same here. > @@ -8426,7 +8426,7 @@ ada_print_subexp (struct expression *exp > case UNOP_IN_RANGE: > *pos += oplen; > print_subexp (exp, pos, stream, PREC_SUFFIX); > - fputs_filtered (" in ", stream); > + fputs_filtered (_(" in "), stream); > LA_PRINT_TYPE (exp->elts[pc + 1].type, "", stream, 1, 0); > return; > } Same here. > @@ -537,12 +537,12 @@ print_variant_clauses (struct type *type > > for (i = 0; i < TYPE_NFIELDS (var_type); i += 1) > { > - fprintf_filtered (stream, "\n%*swhen ", level + 4, ""); > + fprintf_filtered (stream, _("\n%*swhen "), level + 4, ""); > print_choices (var_type, i, stream, discr_type); > fprintf_filtered (stream, " =>"); > if (print_record_field_types (TYPE_FIELD_TYPE (var_type, i), > outer_type, stream, show, level + 4) <= 0) > - fprintf_filtered (stream, " null;"); > + fprintf_filtered (stream, _(" null;")); > } This also, and in addition I think it plays character-counting games that are no-no in translatable messages. > @@ -558,12 +558,12 @@ static void > print_variant_part (struct type *type, int field_num, struct type *outer_type, > struct ui_file *stream, int show, int level) > { > - fprintf_filtered (stream, "\n%*scase %s is", level + 4, "", > + fprintf_filtered (stream, _("\n%*scase %s is"), level + 4, "", > ada_variant_discrim_name > (TYPE_FIELD_TYPE (type, field_num))); > print_variant_clauses (type, field_num, outer_type, stream, show, > level + 4); > - fprintf_filtered (stream, "\n%*send case;", level + 4, ""); > + fprintf_filtered (stream, _("\n%*send case;"), level + 4, ""); > } Ditto. > /* Print a description on STREAM of the fields in record type TYPE, whose > @@ -632,15 +632,15 @@ print_record_type (struct type *type0, s > > parent_type = ada_parent_type (type); > if (ada_type_name (parent_type) != NULL) > - fprintf_filtered (stream, "new %s with ", > + fprintf_filtered (stream, _("new %s with "), > decoded_type_name (parent_type)); > else if (parent_type == NULL && ada_is_tagged_type (type, 0)) > - fprintf_filtered (stream, "tagged "); > + fprintf_filtered (stream, _("tagged ")); > > - fprintf_filtered (stream, "record"); > + fprintf_filtered (stream, _("record")); > > if (show < 0) > - fprintf_filtered (stream, " ... end record"); > + fprintf_filtered (stream, _(" ... end record")); > else > { > int flds; > @@ -652,11 +652,11 @@ print_record_type (struct type *type0, s > flds += print_record_field_types (type, type, stream, show, level); > > if (flds > 0) > - fprintf_filtered (stream, "\n%*send record", level, ""); > + fprintf_filtered (stream, _("\n%*send record"), level, ""); > else if (flds < 0) > - fprintf_filtered (stream, " end record"); > + fprintf_filtered (stream, _(" end record")); > else > - fprintf_filtered (stream, " null; end record"); > + fprintf_filtered (stream, _(" null; end record")); > } > } Same here. > @@ -668,21 +668,21 @@ static void > print_unchecked_union_type (struct type *type, struct ui_file *stream, > int show, int level) > { > - fprintf_filtered (stream, "record (?) is"); > + fprintf_filtered (stream, _("record (?) is")); > > if (show < 0) > - fprintf_filtered (stream, " ... end record"); > + fprintf_filtered (stream, _(" ... end record")); > else if (TYPE_NFIELDS (type) == 0) > - fprintf_filtered (stream, " null; end record"); > + fprintf_filtered (stream, _(" null; end record")); > else > { > int i; > > - fprintf_filtered (stream, "\n%*scase ? is", level + 4, ""); > + fprintf_filtered (stream, _("\n%*scase ? is"), level + 4, ""); > > for (i = 0; i < TYPE_NFIELDS (type); i += 1) > { > - fprintf_filtered (stream, "\n%*swhen ? =>\n%*s", level + 8, "", > + fprintf_filtered (stream, _("\n%*swhen ? =>\n%*s"), level + 8, "", > level + 12, ""); > ada_print_type (TYPE_FIELD_TYPE (type, i), > TYPE_FIELD_NAME (type, i), > @@ -690,7 +690,7 @@ print_unchecked_union_type (struct type > fprintf_filtered (stream, ";"); > } > > - fprintf_filtered (stream, "\n%*send case;\n%*send record", > + fprintf_filtered (stream, _("\n%*send case;\n%*send record"), > level + 4, "", level, ""); > } > } > @@ -706,9 +706,9 @@ print_func_type (struct type *type, stru > int i, len = TYPE_NFIELDS (type); > > if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_VOID) > - fprintf_filtered (stream, "procedure"); > + fprintf_filtered (stream, _("procedure")); > else > - fprintf_filtered (stream, "function"); > + fprintf_filtered (stream, _("function")); > > if (name != NULL && name[0] != '\0') > fprintf_filtered (stream, " %s", name); > @@ -731,7 +731,7 @@ print_func_type (struct type *type, stru > > if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID) > { > - fprintf_filtered (stream, " return "); > + fprintf_filtered (stream, _(" return ")); > ada_print_type (TYPE_TARGET_TYPE (type), "", stream, 0, 0); > } > } > @@ -763,7 +763,7 @@ ada_print_type (struct type *type0, char > if (is_var_decl) > fprintf_filtered (stream, "%.*s: ", > ada_name_prefix_len (varstring), varstring); > - fprintf_filtered (stream, ""); > + fprintf_filtered (stream, _("")); > return; > } > > @@ -794,11 +794,11 @@ ada_print_type (struct type *type0, char > fprintf_filtered (stream, ">"); > break; > case TYPE_CODE_PTR: > - fprintf_filtered (stream, "access "); > + fprintf_filtered (stream, _("access ")); > ada_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level); > break; > case TYPE_CODE_REF: > - fprintf_filtered (stream, " "); > + fprintf_filtered (stream, _(" ")); > ada_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level); > break; > case TYPE_CODE_ARRAY: > @@ -813,11 +813,11 @@ ada_print_type (struct type *type0, char > { > char *name = ada_type_name (type); > if (!ada_is_range_type_name (name)) > - fprintf_filtered (stream, "<%d-byte integer>", > + fprintf_filtered (stream, _("<%d-byte integer>"), > TYPE_LENGTH (type)); > else > { > - fprintf_filtered (stream, "range "); > + fprintf_filtered (stream, _("range ")); > print_range_type_named (name, stream); > } > } Same here.