From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7475 invoked by alias); 24 Oct 2004 20:18:08 -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 7446 invoked from network); 24 Oct 2004 20:18:06 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 24 Oct 2004 20:18:06 -0000 Received: from drow by nevyn.them.org with local (Exim 4.34 #1 (Debian)) id 1CLooU-0004bu-N2; Sun, 24 Oct 2004 16:18:02 -0400 Date: Sun, 24 Oct 2004 20:18:00 -0000 From: Daniel Jacobowitz To: Eli Zaretskii Cc: Baurjan Ismagulov , gdb-patches@sources.redhat.com Subject: Re: an i18n sample Message-ID: <20041024201802.GA17380@nevyn.them.org> Mail-Followup-To: Eli Zaretskii , Baurjan Ismagulov , gdb-patches@sources.redhat.com References: <20041024104805.GA2369@ata.cs.hun.edu.tr> <01c4b9ff$Blat.v2.2.2$1ebcb860@zahav.net.il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01c4b9ff$Blat.v2.2.2$1ebcb860@zahav.net.il> User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-10/txt/msg00397.txt.bz2 On Sun, Oct 24, 2004 at 09:23:43PM +0200, Eli Zaretskii wrote: > > - 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.) I agree about partial translations, of course. In this particular case, it looks like the file needs type_sprint or type_to_string. The type_print interface is unfriendly for i18n. > > @@ -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; I'm not sure this sort of string should be translated. I guess it does no harm (if nothing checks for the string, of course). > > @@ -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. Actually, I disagree about this one. Whether or not "" should be translated, is there any reason not to translate the format string? > > @@ -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. It's only character-counting blank space, to indent appropriately - since I don't believe it's aligning with an earlier line, it should be OK. That said, the "when" is a partial sentence, and the \n%*s doesn't need to be translated. -- Daniel Jacobowitz