2005-01-29 Baurzhan Ismagulov <ibr@radix50.net>
authorBaurzhan Ismagulov <ibr@radix50.net>
Sat, 29 Jan 2005 17:53:26 +0000 (17:53 +0000)
committerBaurzhan Ismagulov <ibr@radix50.net>
Sat, 29 Jan 2005 17:53:26 +0000 (17:53 +0000)
* ax-gdb.c, ax-general.c, bcache.c, bfd-target.c, bsd-kvm.c,
* buildsym.c, c-lang.c, c-typeprint.c, c-valprint.c, charset.c,
* coff-pe-read.c, coffread.c, complaints.c, copying.c: I18n markup.

15 files changed:
gdb/ChangeLog
gdb/ax-gdb.c
gdb/ax-general.c
gdb/bcache.c
gdb/bfd-target.c
gdb/bsd-kvm.c
gdb/buildsym.c
gdb/c-lang.c
gdb/c-typeprint.c
gdb/c-valprint.c
gdb/charset.c
gdb/coff-pe-read.c
gdb/coffread.c
gdb/complaints.c
gdb/copying.c

index 293399d..a700249 100644 (file)
@@ -2,6 +2,10 @@
 
        * MAINTAINERS: Add myself to "Write After Approval".
 
+       * ax-gdb.c, ax-general.c, bcache.c, bfd-target.c, bsd-kvm.c,
+       * buildsym.c, c-lang.c, c-typeprint.c, c-valprint.c, charset.c,
+       * coff-pe-read.c, coffread.c, complaints.c, copying.c: I18n markup.
+
 2005-01-29  Mark Kettenis  <kettenis@gnu.org>
 
        * configure.ac: Remove extra check for ranlib.
index c425676..eb971ae 100644 (file)
@@ -414,7 +414,7 @@ gen_fetch (struct agent_expr *ax, struct type *type)
             In any case, it's a bug the user shouldn't see.  */
        default:
          internal_error (__FILE__, __LINE__,
-                         "gen_fetch: strange size");
+                         _("gen_fetch: strange size"));
        }
 
       gen_sign_extend (ax, type);
@@ -426,7 +426,7 @@ gen_fetch (struct agent_expr *ax, struct type *type)
          something we should be (this code's fault).  In any case,
          it's a bug the user shouldn't see.  */
       internal_error (__FILE__, __LINE__,
-                     "gen_fetch: bad type code");
+                     _("gen_fetch: bad type code"));
     }
 }
 
@@ -539,7 +539,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
 
     case LOC_CONST_BYTES:
       internal_error (__FILE__, __LINE__,
-                     "gen_var_ref: LOC_CONST_BYTES symbols are not supported");
+                     _("gen_var_ref: LOC_CONST_BYTES symbols are not supported"));
 
       /* Variable at a fixed location in memory.  Easy.  */
     case LOC_STATIC:
@@ -578,7 +578,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       break;
 
     case LOC_TYPEDEF:
-      error ("Cannot compute value of typedef `%s'.",
+      error (_("Cannot compute value of typedef `%s'."),
             SYMBOL_PRINT_NAME (var));
       break;
 
@@ -610,7 +610,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
        struct minimal_symbol *msym
        = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (var), NULL, NULL);
        if (!msym)
-         error ("Couldn't resolve symbol `%s'.", SYMBOL_PRINT_NAME (var));
+         error (_("Couldn't resolve symbol `%s'."), SYMBOL_PRINT_NAME (var));
 
        /* Push the address of the variable.  */
        ax_const_l (ax, SYMBOL_VALUE_ADDRESS (msym));
@@ -629,12 +629,12 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       break;
 
     case LOC_OPTIMIZED_OUT:
-      error ("The variable `%s' has been optimized out.",
+      error (_("The variable `%s' has been optimized out."),
             SYMBOL_PRINT_NAME (var));
       break;
 
     default:
-      error ("Cannot find value of botched symbol `%s'.",
+      error (_("Cannot find value of botched symbol `%s'."),
             SYMBOL_PRINT_NAME (var));
       break;
     }
@@ -899,7 +899,7 @@ gen_cast (struct agent_expr *ax, struct axs_value *value, struct type *type)
     case TYPE_CODE_STRUCT:
     case TYPE_CODE_UNION:
     case TYPE_CODE_FUNC:
-      error ("Illegal type cast: intended type must be scalar.");
+      error (_("Invalid type cast: intended type must be scalar."));
 
     case TYPE_CODE_ENUM:
       /* We don't have to worry about the size of the value, because
@@ -922,7 +922,7 @@ gen_cast (struct agent_expr *ax, struct axs_value *value, struct type *type)
       break;
 
     default:
-      error ("Casts to requested type are not yet implemented.");
+      error (_("Casts to requested type are not yet implemented."));
     }
 
   value->type = type;
@@ -989,7 +989,7 @@ gen_add (struct agent_expr *ax, struct axs_value *value,
     }
 
   else
-    error ("Illegal combination of types in %s.", name);
+    error (_("Invalid combination of types in %s."), name);
 
   value->kind = axs_rvalue;
 }
@@ -1026,9 +1026,9 @@ gen_sub (struct agent_expr *ax, struct axs_value *value,
          value->type = builtin_type_long;      /* FIXME --- should be ptrdiff_t */
        }
       else
-       error ("\
+       error (_("\
 First argument of `-' is a pointer, but second argument is neither\n\
-an integer nor a pointer of the same type.");
+an integer nor a pointer of the same type."));
     }
 
   /* Must be number + number.  */
@@ -1041,7 +1041,7 @@ an integer nor a pointer of the same type.");
     }
 
   else
-    error ("Illegal combination of types in subtraction.");
+    error (_("Invalid combination of types in subtraction."));
 
   value->kind = axs_rvalue;
 }
@@ -1060,7 +1060,7 @@ gen_binop (struct agent_expr *ax, struct axs_value *value,
   /* We only handle INT op INT.  */
   if ((TYPE_CODE (value1->type) != TYPE_CODE_INT)
       || (TYPE_CODE (value2->type) != TYPE_CODE_INT))
-    error ("Illegal combination of types in %s.", name);
+    error (_("Invalid combination of types in %s."), name);
 
   ax_simple (ax,
             TYPE_UNSIGNED (value1->type) ? op_unsigned : op);
@@ -1076,7 +1076,7 @@ gen_logical_not (struct agent_expr *ax, struct axs_value *value)
 {
   if (TYPE_CODE (value->type) != TYPE_CODE_INT
       && TYPE_CODE (value->type) != TYPE_CODE_PTR)
-    error ("Illegal type of operand to `!'.");
+    error (_("Invalid type of operand to `!'."));
 
   gen_usual_unary (ax, value);
   ax_simple (ax, aop_log_not);
@@ -1088,7 +1088,7 @@ static void
 gen_complement (struct agent_expr *ax, struct axs_value *value)
 {
   if (TYPE_CODE (value->type) != TYPE_CODE_INT)
-    error ("Illegal type of operand to `~'.");
+    error (_("Invalid type of operand to `~'."));
 
   gen_usual_unary (ax, value);
   gen_integral_promotions (ax, value);
@@ -1108,7 +1108,7 @@ gen_deref (struct agent_expr *ax, struct axs_value *value)
      this, and we don't know what error message to generate.  */
   if (TYPE_CODE (value->type) != TYPE_CODE_PTR)
     internal_error (__FILE__, __LINE__,
-                   "gen_deref: expected a pointer");
+                   _("gen_deref: expected a pointer"));
 
   /* We've got an rvalue now, which is a pointer.  We want to yield an
      lvalue, whose address is exactly that pointer.  So we don't
@@ -1136,10 +1136,10 @@ gen_address_of (struct agent_expr *ax, struct axs_value *value)
     switch (value->kind)
       {
       case axs_rvalue:
-       error ("Operand of `&' is an rvalue, which has no address.");
+       error (_("Operand of `&' is an rvalue, which has no address."));
 
       case axs_lvalue_register:
-       error ("Operand of `&' is in a register, and has no address.");
+       error (_("Operand of `&' is in a register, and has no address."));
 
       case axs_lvalue_memory:
        value->kind = axs_rvalue;
@@ -1164,7 +1164,7 @@ find_field (struct type *type, char *name)
   /* Make sure this isn't C++.  */
   if (TYPE_N_BASECLASSES (type) != 0)
     internal_error (__FILE__, __LINE__,
-                   "find_field: derived classes supported");
+                   _("find_field: derived classes supported"));
 
   for (i = 0; i < TYPE_NFIELDS (type); i++)
     {
@@ -1175,10 +1175,10 @@ find_field (struct type *type, char *name)
 
       if (this_name[0] == '\0')
        internal_error (__FILE__, __LINE__,
-                       "find_field: anonymous unions not supported");
+                       _("find_field: anonymous unions not supported"));
     }
 
-  error ("Couldn't find member named `%s' in struct/union `%s'",
+  error (_("Couldn't find member named `%s' in struct/union `%s'"),
         name, TYPE_TAG_NAME (type));
 
   return 0;
@@ -1248,7 +1248,7 @@ gen_bitfield_ref (struct agent_expr *ax, struct axs_value *value,
   /* Can we fetch the number of bits requested at all?  */
   if ((end - start) > ((1 << num_ops) * 8))
     internal_error (__FILE__, __LINE__,
-                   "gen_bitfield_ref: bitfield too wide");
+                   _("gen_bitfield_ref: bitfield too wide"));
 
   /* Note that we know here that we only need to try each opcode once.
      That may not be true on machines with weird byte sizes.  */
@@ -1370,13 +1370,13 @@ gen_struct_ref (struct agent_expr *ax, struct axs_value *value, char *field,
   /* This must yield a structure or a union.  */
   if (TYPE_CODE (type) != TYPE_CODE_STRUCT
       && TYPE_CODE (type) != TYPE_CODE_UNION)
-    error ("The left operand of `%s' is not a %s.",
+    error (_("The left operand of `%s' is not a %s."),
           operator_name, operand_name);
 
   /* And it must be in memory; we don't deal with structure rvalues,
      or structures living in registers.  */
   if (value->kind != axs_lvalue_memory)
-    error ("Structure does not live in memory.");
+    error (_("Structure does not live in memory."));
 
   i = find_field (type, field);
 
@@ -1415,7 +1415,7 @@ gen_repeat (union exp_element **pc, struct agent_expr *ax,
      here.  */
   gen_expr (pc, ax, &value1);
   if (value1.kind != axs_lvalue_memory)
-    error ("Left operand of `@' must be an object in memory.");
+    error (_("Left operand of `@' must be an object in memory."));
 
   /* Evaluate the length; it had better be a constant.  */
   {
@@ -1423,12 +1423,12 @@ gen_repeat (union exp_element **pc, struct agent_expr *ax,
     int length;
 
     if (!v)
-      error ("Right operand of `@' must be a constant, in agent expressions.");
+      error (_("Right operand of `@' must be a constant, in agent expressions."));
     if (TYPE_CODE (v->type) != TYPE_CODE_INT)
-      error ("Right operand of `@' must be an integer.");
+      error (_("Right operand of `@' must be an integer."));
     length = value_as_long (v);
     if (length <= 0)
-      error ("Right operand of `@' must be positive.");
+      error (_("Right operand of `@' must be positive."));
 
     /* The top of the stack is already the address of the object, so
        all we need to do is frob the type of the lvalue.  */
@@ -1472,6 +1472,7 @@ gen_sizeof (union exp_element **pc, struct agent_expr *ax,
 
 /* Generating bytecode from GDB expressions: general recursive thingy  */
 
+/* XXX: i18n */
 /* A gen_expr function written by a Gen-X'er guy.
    Append code for the subexpression of EXPR starting at *POS_P to AX.  */
 static void
@@ -1537,7 +1538,7 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
        case BINOP_SUBSCRIPT:
          gen_add (ax, value, &value1, &value2, "array subscripting");
          if (TYPE_CODE (value->type) != TYPE_CODE_PTR)
-           error ("Illegal combination of types in array subscripting.");
+           error (_("Invalid combination of types in array subscripting."));
          gen_deref (ax, value);
          break;
        case BINOP_BITWISE_AND:
@@ -1559,7 +1560,7 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
          /* We should only list operators in the outer case statement
             that we actually handle in the inner case statement.  */
          internal_error (__FILE__, __LINE__,
-                         "gen_expr: op case sets don't match");
+                         _("gen_expr: op case sets don't match"));
        }
       break;
 
@@ -1605,7 +1606,7 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
       break;
 
     case OP_INTERNALVAR:
-      error ("GDB agent expressions cannot use convenience variables.");
+      error (_("GDB agent expressions cannot use convenience variables."));
 
       /* Weirdo operator: see comments for gen_repeat for details.  */
     case BINOP_REPEAT:
@@ -1635,7 +1636,7 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
        if (value->kind != axs_rvalue)
          /* This would be weird.  */
          internal_error (__FILE__, __LINE__,
-                         "gen_expr: OP_MEMVAL operand isn't an rvalue???");
+                         _("gen_expr: OP_MEMVAL operand isn't an rvalue???"));
        value->type = type;
        value->kind = axs_lvalue_memory;
       }
@@ -1669,7 +1670,7 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
       gen_expr (pc, ax, value);
       gen_usual_unary (ax, value);
       if (TYPE_CODE (value->type) != TYPE_CODE_PTR)
-       error ("Argument of unary `*' is not a pointer.");
+       error (_("Argument of unary `*' is not a pointer."));
       gen_deref (ax, value);
       break;
 
@@ -1704,15 +1705,15 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
          /* If this `if' chain doesn't handle it, then the case list
             shouldn't mention it, and we shouldn't be here.  */
          internal_error (__FILE__, __LINE__,
-                         "gen_expr: unhandled struct case");
+                         _("gen_expr: unhandled struct case"));
       }
       break;
 
     case OP_TYPE:
-      error ("Attempt to use a type name as an expression.");
+      error (_("Attempt to use a type name as an expression."));
 
     default:
-      error ("Unsupported operator in expression.");
+      error (_("Unsupported operator in expression."));
     }
 }
 \f
@@ -1760,7 +1761,7 @@ expr_to_address_and_size (struct expression *expr)
   if (value.kind != axs_lvalue_memory)
     {
       free_agent_expr (ax);
-      error ("Expression does not denote an object in memory.");
+      error (_("Expression does not denote an object in memory."));
     }
 
   /* Push the object's size on the stack.  */
@@ -1815,10 +1816,10 @@ agent_command (char *exp, int from_tty)
      another command, change the error message; the user shouldn't
      have to know anything about agent expressions.  */
   if (overlay_debugging)
-    error ("GDB can't do agent expression translation with overlays.");
+    error (_("GDB can't do agent expression translation with overlays."));
 
   if (exp == 0)
-    error_no_arg ("expression to translate");
+    error_no_arg (_("expression to translate"));
 
   expr = parse_expression (exp);
   old_chain = make_cleanup (free_current_contents, &expr);
@@ -1841,6 +1842,6 @@ void
 _initialize_ax_gdb (void)
 {
   add_cmd ("agent", class_maintenance, agent_command,
-          "Translate an expression into remote agent bytecode.",
+          _("Translate an expression into remote agent bytecode."),
           &maintenancelist);
 }
index c36c76d..eb7a7ca 100644 (file)
@@ -116,7 +116,7 @@ read_const (struct agent_expr *x, int o, int n)
 
   /* Make sure we're not reading off the end of the expression.  */
   if (o + n > x->len)
-    error ("GDB bug: ax-general.c (read_const): incomplete constant");
+    error (_("GDB bug: ax-general.c (read_const): incomplete constant"));
 
   for (i = 0; i < n; i++)
     accum = (accum << 8) | x->buf[o + i];
@@ -141,10 +141,10 @@ generic_ext (struct agent_expr *x, enum agent_op op, int n)
 {
   /* N must fit in a byte.  */
   if (n < 0 || n > 255)
-    error ("GDB bug: ax-general.c (generic_ext): bit count out of range");
+    error (_("GDB bug: ax-general.c (generic_ext): bit count out of range"));
   /* That had better be enough range.  */
   if (sizeof (LONGEST) * 8 > 255)
-    error ("GDB bug: ax-general.c (generic_ext): opcode has inadequate range");
+    error (_("GDB bug: ax-general.c (generic_ext): opcode has inadequate range"));
 
   grow_expr (x, 2);
   x->buf[x->len++] = op;
@@ -174,7 +174,7 @@ ax_trace_quick (struct agent_expr *x, int n)
 {
   /* N must fit in a byte.  */
   if (n < 0 || n > 255)
-    error ("GDB bug: ax-general.c (ax_trace_quick): size out of range for trace_quick");
+    error (_("GDB bug: ax-general.c (ax_trace_quick): size out of range for trace_quick"));
 
   grow_expr (x, 2);
   x->buf[x->len++] = aop_trace_quick;
@@ -209,7 +209,7 @@ ax_label (struct agent_expr *x, int patch, int target)
   /* Make sure the value is in range.  Don't accept 0xffff as an
      offset; that's our magic sentinel value for unpatched branches.  */
   if (target < 0 || target >= 0xffff)
-    error ("GDB bug: ax-general.c (ax_label): label target out of range");
+    error (_("GDB bug: ax-general.c (ax_label): label target out of range"));
 
   x->buf[patch] = (target >> 8) & 0xff;
   x->buf[patch + 1] = target & 0xff;
@@ -251,7 +251,7 @@ void
 ax_const_d (struct agent_expr *x, LONGEST d)
 {
   /* FIXME: floating-point support not present yet.  */
-  error ("GDB bug: ax-general.c (ax_const_d): floating point not supported yet");
+  error (_("GDB bug: ax-general.c (ax_const_d): floating point not supported yet"));
 }
 
 
@@ -262,7 +262,7 @@ ax_reg (struct agent_expr *x, int reg)
 {
   /* Make sure the register number is in range.  */
   if (reg < 0 || reg > 0xffff)
-    error ("GDB bug: ax-general.c (ax_reg): register number out of range");
+    error (_("GDB bug: ax-general.c (ax_reg): register number out of range"));
   grow_expr (x, 3);
   x->buf[x->len] = aop_reg;
   x->buf[x->len + 1] = (reg >> 8) & 0xff;
@@ -340,7 +340,7 @@ ax_print (struct ui_file *f, struct agent_expr *x)
      the enum, to catch additions that people didn't sync.  */
   if ((sizeof (aop_map) / sizeof (aop_map[0]))
       != aop_last)
-    error ("GDB bug: ax-general.c (ax_print): opcode map out of sync");
+    error (_("GDB bug: ax-general.c (ax_print): opcode map out of sync"));
 
   for (i = 0; i < x->len;)
     {
@@ -349,13 +349,13 @@ ax_print (struct ui_file *f, struct agent_expr *x)
       if (op >= (sizeof (aop_map) / sizeof (aop_map[0]))
          || !aop_map[op].name)
        {
-         fprintf_filtered (f, "%3d  <bad opcode %02x>\n", i, op);
+         fprintf_filtered (f, _("%3d  <bad opcode %02x>\n"), i, op);
          i++;
          continue;
        }
       if (i + 1 + aop_map[op].op_size > x->len)
        {
-         fprintf_filtered (f, "%3d  <incomplete opcode %s>\n",
+         fprintf_filtered (f, _("%3d  <incomplete opcode %s>\n"),
                            i, aop_map[op].name);
          break;
        }
index 0bc533e..cc4ee61 100644 (file)
@@ -301,7 +301,8 @@ static void
 print_percentage (int portion, int total)
 {
   if (total == 0)
-    printf_filtered ("(not applicable)\n");
+    /* i18n: Like "Percentage of duplicates, by count: (not applicable)" */
+    printf_filtered (_("(not applicable)\n"));
   else
     printf_filtered ("%3d%%\n", (int) (portion * 100.0 / total));
 }
@@ -382,53 +383,55 @@ print_bcache_statistics (struct bcache *c, char *type)
     xfree (entry_size);
   }
 
-  printf_filtered ("  Cached '%s' statistics:\n", type);
-  printf_filtered ("    Total object count:  %ld\n", c->total_count);
-  printf_filtered ("    Unique object count: %lu\n", c->unique_count);
-  printf_filtered ("    Percentage of duplicates, by count: ");
+  printf_filtered (_("  Cached '%s' statistics:\n"), type);
+  printf_filtered (_("    Total object count:  %ld\n"), c->total_count);
+  printf_filtered (_("    Unique object count: %lu\n"), c->unique_count);
+  printf_filtered (_("    Percentage of duplicates, by count: "));
   print_percentage (c->total_count - c->unique_count, c->total_count);
   printf_filtered ("\n");
 
-  printf_filtered ("    Total object size:   %ld\n", c->total_size);
-  printf_filtered ("    Unique object size:  %ld\n", c->unique_size);
-  printf_filtered ("    Percentage of duplicates, by size:  ");
+  printf_filtered (_("    Total object size:   %ld\n"), c->total_size);
+  printf_filtered (_("    Unique object size:  %ld\n"), c->unique_size);
+  printf_filtered (_("    Percentage of duplicates, by size:  "));
   print_percentage (c->total_size - c->unique_size, c->total_size);
   printf_filtered ("\n");
 
-  printf_filtered ("    Max entry size:     %d\n", max_entry_size);
-  printf_filtered ("    Average entry size: ");
+  printf_filtered (_("    Max entry size:     %d\n"), max_entry_size);
+  printf_filtered (_("    Average entry size: "));
   if (c->unique_count > 0)
     printf_filtered ("%ld\n", c->unique_size / c->unique_count);
   else
-    printf_filtered ("(not applicable)\n");    
-  printf_filtered ("    Median entry size:  %d\n", median_entry_size);
+    /* i18n: "Average entry size: (not applicable)" */
+    printf_filtered (_("(not applicable)\n"));    
+  printf_filtered (_("    Median entry size:  %d\n"), median_entry_size);
   printf_filtered ("\n");
 
-  printf_filtered ("    Total memory used by bcache, including overhead: %ld\n",
+  printf_filtered (_("    Total memory used by bcache, including overhead: %ld\n"),
                   c->structure_size);
-  printf_filtered ("    Percentage memory overhead: ");
+  printf_filtered (_("    Percentage memory overhead: "));
   print_percentage (c->structure_size - c->unique_size, c->unique_size);
-  printf_filtered ("    Net memory savings:         ");
+  printf_filtered (_("    Net memory savings:         "));
   print_percentage (c->total_size - c->structure_size, c->total_size);
   printf_filtered ("\n");
 
-  printf_filtered ("    Hash table size:           %3d\n", c->num_buckets);
-  printf_filtered ("    Hash table expands:        %lu\n",
+  printf_filtered (_("    Hash table size:           %3d\n"), c->num_buckets);
+  printf_filtered (_("    Hash table expands:        %lu\n"),
                   c->expand_count);
-  printf_filtered ("    Hash table hashes:         %lu\n",
+  printf_filtered (_("    Hash table hashes:         %lu\n"),
                   c->total_count + c->expand_hash_count);
-  printf_filtered ("    Half hash misses:          %lu\n",
+  printf_filtered (_("    Half hash misses:          %lu\n"),
                   c->half_hash_miss_count);
-  printf_filtered ("    Hash table population:     ");
+  printf_filtered (_("    Hash table population:     "));
   print_percentage (occupied_buckets, c->num_buckets);
-  printf_filtered ("    Median hash chain length:  %3d\n",
+  printf_filtered (_("    Median hash chain length:  %3d\n"),
                   median_chain_length);
-  printf_filtered ("    Average hash chain length: ");
+  printf_filtered (_("    Average hash chain length: "));
   if (c->num_buckets > 0)
     printf_filtered ("%3lu\n", c->unique_count / c->num_buckets);
   else
-    printf_filtered ("(not applicable)\n");
-  printf_filtered ("    Maximum hash chain length: %3d\n", max_chain_length);
+    /* i18n: "Average hash chain length: (not applicable)" */
+    printf_filtered (_("(not applicable)\n"));
+  printf_filtered (_("    Maximum hash chain length: %3d\n"), max_chain_length);
   printf_filtered ("\n");
 }
 
index ee16d85..e7aa75b 100644 (file)
@@ -121,8 +121,8 @@ target_bfd_reopen (struct bfd *bfd)
 {
   struct target_ops *t = XZALLOC (struct target_ops);
   t->to_shortname = "bfd";
-  t->to_longname = "BFD backed target";
-  t->to_doc = "You should never see this";
+  t->to_longname = _("BFD backed target");
+  t->to_doc = _("You should never see this");
   t->to_xfer_partial = target_bfd_xfer_partial;
   t->to_xclose = target_bfd_xclose;
   t->to_data = bfd;
index e561b24..868ec8c 100644 (file)
@@ -205,7 +205,8 @@ bsd_kvm_fetch_registers (int regnum)
     }
 #endif
 
-  error ("Cannot find a valid PCB");
+  /* i18n: PCB == "Process Control Block" */
+  error (_("Cannot find a valid PCB"));
 }
 \f
 
@@ -226,10 +227,10 @@ bsd_kvm_proc_cmd (char *arg, int fromtty)
   CORE_ADDR addr;
 
   if (arg == NULL)
-    error_no_arg ("proc address");
+    error_no_arg (_("proc address"));
 
   if (core_kd == NULL)
-    error ("No kernel memory image.");
+    error (_("No kernel memory image."));
 
   addr = parse_and_eval_address (arg);
 #ifdef HAVE_STRUCT_LWP
@@ -254,10 +255,11 @@ static void
 bsd_kvm_pcb_cmd (char *arg, int fromtty)
 {
   if (arg == NULL)
-    error_no_arg ("pcb address");
+    /* i18n: PCB == "Process Control Block" */
+    error_no_arg (_("pcb address"));
 
   if (core_kd == NULL)
-    error ("No kernel memory image.");
+    error (_("No kernel memory image."));
 
   bsd_kvm_paddr = (struct pcb *)(u_long) parse_and_eval_address (arg);
 
@@ -279,9 +281,9 @@ bsd_kvm_add_target (int (*supply_pcb)(struct regcache *, struct pcb *))
   bsd_kvm_supply_pcb = supply_pcb;
 
   bsd_kvm_ops.to_shortname = "kvm";
-  bsd_kvm_ops.to_longname = "Kernel memory interface";
-  bsd_kvm_ops.to_doc = "Use a kernel virtual memory image as a target.\n\
-Optionally specify the filename of a core dump.";
+  bsd_kvm_ops.to_longname = _("Kernel memory interface");
+  bsd_kvm_ops.to_doc = _("Use a kernel virtual memory image as a target.\n\
+Optionally specify the filename of a core dump.");
   bsd_kvm_ops.to_open = bsd_kvm_open;
   bsd_kvm_ops.to_close = bsd_kvm_close;
   bsd_kvm_ops.to_fetch_registers = bsd_kvm_fetch_registers;
@@ -294,14 +296,15 @@ Optionally specify the filename of a core dump.";
 
   add_target (&bsd_kvm_ops);
   
-  add_prefix_cmd ("kvm", class_obscure, bsd_kvm_cmd, "\
-Generic command for manipulating the kernel memory interface.",
+  add_prefix_cmd ("kvm", class_obscure, bsd_kvm_cmd, _("\
+Generic command for manipulating the kernel memory interface."),
                  &bsd_kvm_cmdlist, "kvm ", 0, &cmdlist);
 
 #ifndef HAVE_STRUCT_THREAD_TD_PCB
   add_cmd ("proc", class_obscure, bsd_kvm_proc_cmd,
-          "Set current context from proc address", &bsd_kvm_cmdlist);
+          _("Set current context from proc address"), &bsd_kvm_cmdlist);
 #endif
   add_cmd ("pcb", class_obscure, bsd_kvm_pcb_cmd,
-          "Set current context from pcb address", &bsd_kvm_cmdlist);
+          /* i18n: PCB == "Process Control Block" */
+          _("Set current context from pcb address"), &bsd_kvm_cmdlist);
 }
index d1ec78e..14dd99c 100644 (file)
@@ -373,13 +373,13 @@ finish_block (struct symbol *symbol, struct pending **listhead,
       if (symbol)
        {
          complaint (&symfile_complaints,
-                    "block end address less than block start address in %s (patched it)",
+                    _("block end address less than block start address in %s (patched it)"),
                     SYMBOL_PRINT_NAME (symbol));
        }
       else
        {
          complaint (&symfile_complaints,
-                    "block end address 0x%s less than block start address 0x%s (patched it)",
+                    _("block end address 0x%s less than block start address 0x%s (patched it)"),
                     paddr_nz (BLOCK_END (block)), paddr_nz (BLOCK_START (block)));
        }
       /* Better than nothing */
@@ -407,13 +407,13 @@ finish_block (struct symbol *symbol, struct pending **listhead,
              if (symbol)
                {
                  complaint (&symfile_complaints,
-                            "inner block not inside outer block in %s",
+                            _("inner block not inside outer block in %s"),
                             SYMBOL_PRINT_NAME (symbol));
                }
              else
                {
                  complaint (&symfile_complaints,
-                            "inner block (0x%s-0x%s) not inside outer block (0x%s-0x%s)",
+                            _("inner block (0x%s-0x%s) not inside outer block (0x%s-0x%s)"),
                             paddr_nz (BLOCK_START (pblock->block)),
                             paddr_nz (BLOCK_END (pblock->block)),
                             paddr_nz (BLOCK_START (block)),
@@ -519,7 +519,7 @@ make_blockvector (struct objfile *objfile)
              CORE_ADDR start
                = BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i));
 
-             complaint (&symfile_complaints, "block at %s out of order",
+             complaint (&symfile_complaints, _("block at %s out of order"),
                         hex_string ((LONGEST) start));
            }
        }
@@ -674,7 +674,7 @@ push_subfile (void)
   subfile_stack = tem;
   if (current_subfile == NULL || current_subfile->name == NULL)
     {
-      internal_error (__FILE__, __LINE__, "failed internal consistency check");
+      internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
     }
   tem->name = current_subfile->name;
 }
@@ -687,7 +687,7 @@ pop_subfile (void)
 
   if (link == NULL)
     {
-      internal_error (__FILE__, __LINE__, "failed internal consistency check");
+      internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
     }
   name = link->name;
   subfile_stack = link->next;
@@ -838,7 +838,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
             believed to happen in most cases (even for coffread.c);
             it used to be an abort().  */
          complaint (&symfile_complaints,
-                    "Context stack not empty in end_symtab");
+                    _("Context stack not empty in end_symtab"));
          context_stack_depth = 0;
        }
     }
index fa53927..0916bb8 100644 (file)
@@ -149,7 +149,7 @@ c_printstr (struct ui_file *stream, const bfd_byte *string,
              in_quotes = 0;
            }
          LA_PRINT_CHAR (current_char, stream);
-         fprintf_filtered (stream, " <repeats %u times>", reps);
+         fprintf_filtered (stream, _(" <repeats %u times>"), reps);
          i = rep1 - 1;
          things_printed += repeat_count_threshold;
          need_comma = 1;
@@ -220,7 +220,7 @@ c_create_fundamental_type (struct objfile *objfile, int typeid)
       type = init_type (TYPE_CODE_INT,
                        TARGET_INT_BIT / TARGET_CHAR_BIT,
                        0, "<?type?>", objfile);
-      warning ("internal error: no C/C++ fundamental type %d", typeid);
+      warning (_("internal error: no C/C++ fundamental type %d"), typeid);
       break;
     case FT_VOID:
       type = init_type (TYPE_CODE_VOID,
index c9a6442..07962ce 100644 (file)
@@ -286,7 +286,7 @@ c_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
          gcc -Wall will reveal any types that haven't been handled.  */
       break;
     default:
-      error ("type not handled in c_type_print_varspec_prefix()");
+      error (_("type not handled in c_type_print_varspec_prefix()"));
       break;
     }
 }
@@ -627,7 +627,7 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
          gcc -Wall will report types that may not have been considered.  */
       break;
     default:
-      error ("type not handled in c_type_print_varspec_suffix()");
+      error (_("type not handled in c_type_print_varspec_suffix()"));
       break;
     }
 }
@@ -671,7 +671,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
   wrap_here ("    ");
   if (type == NULL)
     {
-      fputs_filtered ("<type unknown>", stream);
+      fputs_filtered (_("<type unknown>"), stream);
       return;
     }
 
@@ -770,9 +770,9 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
          if ((TYPE_NFIELDS (type) == 0) && (TYPE_NFN_FIELDS (type) == 0))
            {
              if (TYPE_STUB (type))
-               fprintfi_filtered (level + 4, stream, "<incomplete type>\n");
+               fprintfi_filtered (level + 4, stream, _("<incomplete type>\n"));
              else
-               fprintfi_filtered (level + 4, stream, "<no data fields>\n");
+               fprintfi_filtered (level + 4, stream, _("<no data fields>\n"));
            }
 
          /* Start off with no specific section type, so we can print
@@ -990,7 +990,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
                  if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) == 0)
                    {
                      /* Keep GDB from crashing here.  */
-                     fprintf_filtered (stream, "<undefined type> %s;\n",
+                     fprintf_filtered (stream, _("<undefined type> %s;\n"),
                                        TYPE_FN_FIELD_PHYSNAME (f, j));
                      break;
                    }
@@ -1029,7 +1029,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
                                                     stream);
                        }
                      else
-                       fprintf_filtered (stream, "<badly mangled name '%s'>",
+                       fprintf_filtered (stream, _("<badly mangled name '%s'>"),
                                          mangled_name);
                    }
                  else
@@ -1064,7 +1064,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
          fprintfi_filtered (level, stream, "}");
 
          if (TYPE_LOCALTYPE_PTR (type) && show >= 0)
-           fprintfi_filtered (level, stream, " (Local at %s:%d)\n",
+           fprintfi_filtered (level, stream, _(" (Local at %s:%d)\n"),
                               TYPE_LOCALTYPE_FILE (type),
                               TYPE_LOCALTYPE_LINE (type));
        }
@@ -1136,16 +1136,16 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
       break;
 
     case TYPE_CODE_UNDEF:
-      fprintf_filtered (stream, "struct <unknown>");
+      fprintf_filtered (stream, _("struct <unknown>"));
       break;
 
     case TYPE_CODE_ERROR:
-      fprintf_filtered (stream, "<unknown type>");
+      fprintf_filtered (stream, _("<unknown type>"));
       break;
 
     case TYPE_CODE_RANGE:
       /* This should not occur */
-      fprintf_filtered (stream, "<range type>");
+      fprintf_filtered (stream, _("<range type>"));
       break;
 
     case TYPE_CODE_TEMPLATE:
@@ -1171,7 +1171,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
     go_back:
       if (TYPE_NINSTANTIATIONS (type) > 0)
        {
-         fprintf_filtered (stream, "\ntemplate instantiations:\n");
+         fprintf_filtered (stream, _("\ntemplate instantiations:\n"));
          for (i = 0; i < TYPE_NINSTANTIATIONS (type); i++)
            {
              fprintf_filtered (stream, "  ");
@@ -1201,7 +1201,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
        {
          /* At least for dump_symtab, it is important that this not be
             an error ().  */
-         fprintf_filtered (stream, "<invalid type code %d>",
+         fprintf_filtered (stream, _("<invalid type code %d>"),
                            TYPE_CODE (type));
        }
       break;
index 0871bce..4365dcf 100644 (file)
@@ -125,7 +125,7 @@ c_val_print (struct type *type, const bfd_byte *valaddr, int embedded_offset,
              if (cp_is_vtbl_ptr_type (elttype))
                {
                  i = 1;
-                 fprintf_filtered (stream, "%d vtable entries", len - 1);
+                 fprintf_filtered (stream, _("%d vtable entries"), len - 1);
                }
              else
                {
@@ -251,7 +251,7 @@ c_val_print (struct type *type, const bfd_byte *valaddr, int embedded_offset,
       break;
 
     case TYPE_CODE_MEMBER:
-      error ("not implemented: member type in c_val_print");
+      error (_("not implemented: member type in c_val_print"));
       break;
 
     case TYPE_CODE_REF:
@@ -455,14 +455,14 @@ c_val_print (struct type *type, const bfd_byte *valaddr, int embedded_offset,
       break;
 
     case TYPE_CODE_ERROR:
-      fprintf_filtered (stream, "<error type>");
+      fprintf_filtered (stream, _("<error type>"));
       break;
 
     case TYPE_CODE_UNDEF:
       /* This happens (without TYPE_FLAG_STUB set) on systems which don't use
          dbx xrefs (NO_DBX_XREFS in gcc) if a file has a "struct foo *bar"
          and no complete type for struct foo in that file.  */
-      fprintf_filtered (stream, "<incomplete type>");
+      fprintf_filtered (stream, _("<incomplete type>"));
       break;
 
     case TYPE_CODE_COMPLEX:
@@ -488,7 +488,7 @@ c_val_print (struct type *type, const bfd_byte *valaddr, int embedded_offset,
       break;
 
     default:
-      error ("Invalid C/C++ type code %d in symbol table.", TYPE_CODE (type));
+      error (_("Invalid C/C++ type code %d in symbol table."), TYPE_CODE (type));
     }
   gdb_flush (stream);
   return (0);
@@ -576,7 +576,7 @@ c_value_print (struct value *val, struct ui_file *stream, int format,
          val = value_full_object (val, real_type, full, top, using_enc);
          fprintf_filtered (stream, "(%s%s) ",
                            TYPE_NAME (real_type),
-                           full ? "" : " [incomplete object]");
+                           full ? "" : _(" [incomplete object]"));
          /* Print out object: enclosing type is same as real_type if full */
          return val_print (VALUE_ENCLOSING_TYPE (val), VALUE_CONTENTS_ALL (val), 0,
                         VALUE_ADDRESS (val), stream, format, 1, 0, pretty);
index 89e3b75..8e724a1 100644 (file)
@@ -394,8 +394,8 @@ check_iconv_cache (struct cached_iconv *ci,
       ci->i = (iconv_t) 0;
       
       if (iconv_close (i) == -1)
-        error ("Error closing `iconv' descriptor for "
-               "`%s'-to-`%s' character conversion: %s",
+        error (_("Error closing `iconv' descriptor for "
+                "`%s'-to-`%s' character conversion: %s"),
                ci->from->name, ci->to->name, safe_strerror (errno));
     }
 
@@ -444,8 +444,8 @@ cached_iconv_convert (struct cached_iconv *ci, int from_char, int *to_char)
 
       /* Anything else is mysterious.  */
       internal_error (__FILE__, __LINE__,
-                     "Error converting character `%d' from `%s' to `%s' "
-                      "character set: %s",
+                     _("Error converting character `%d' from `%s' to `%s' "
+                       "character set: %s"),
                       from_char, ci->from->name, ci->to->name,
                       safe_strerror (errno));
     }
@@ -923,7 +923,7 @@ lookup_charset_or_error (const char *name)
   struct charset *cs = lookup_charset (name);
 
   if (! cs)
-    error ("GDB doesn't know of any character set named `%s'.", name);
+    error (_("GDB doesn't know of any character set named `%s'."), name);
 
   return cs;
 }
@@ -932,7 +932,7 @@ static void
 check_valid_host_charset (struct charset *cs)
 {
   if (! cs->valid_host_charset)
-    error ("GDB can't use `%s' as its host character set.", cs->name);
+    error (_("GDB can't use `%s' as its host character set."), cs->name);
 }
 
 /* Set the host and target character sets to HOST and TARGET.  */
@@ -962,14 +962,14 @@ set_host_and_target_charsets (struct charset *host, struct charset *target)
         {
           if (check_iconv_cache (&cached_iconv_host_to_target, host, target)
               < 0)
-            error ("GDB can't convert from the `%s' character set to `%s'.",
+            error (_("GDB can't convert from the `%s' character set to `%s'."),
                    host->name, target->name);
         }
       if (! t2h || ! t2h->convert_char)
         {
           if (check_iconv_cache (&cached_iconv_target_to_host, target, host)
               < 0)
-            error ("GDB can't convert from the `%s' character set to `%s'.",
+            error (_("GDB can't convert from the `%s' character set to `%s'."),
                    target->name, host->name);
         }
     }
@@ -1079,14 +1079,14 @@ show_charset (char *arg, int from_tty)
 {
   if (current_host_charset == current_target_charset)
     {
-      printf_filtered ("The current host and target character set is `%s'.\n",
+      printf_filtered (_("The current host and target character set is `%s'.\n"),
                        host_charset ());
     }
   else
     {
-      printf_filtered ("The current host character set is `%s'.\n",
+      printf_filtered (_("The current host character set is `%s'.\n"),
                        host_charset ());
-      printf_filtered ("The current target character set is `%s'.\n",
+      printf_filtered (_("The current target character set is `%s'.\n"),
                        target_charset ());
     }
 }
@@ -1222,12 +1222,12 @@ _initialize_charset (void)
                              class_support,
                              host_charset_enum,
                              &host_charset_name,
-                              "Set the host and target character sets.\n"
-                              "The `host character set' is the one used by the system GDB is running on.\n"
-                              "The `target character set' is the one used by the program being debugged.\n"
-                              "You may only use supersets of ASCII for your host character set; GDB does\n"
-                              "not support any others.\n"
-                              "To see a list of the character sets GDB supports, type `set charset <TAB>'.",
+                              _("Set the host and target character sets.\n\
+The `host character set' is the one used by the system GDB is running on.\n\
+The `target character set' is the one used by the program being debugged.\n\
+You may only use supersets of ASCII for your host character set; GDB does\n\
+not support any others.\n\
+To see a list of the character sets GDB supports, type `set charset <TAB>'."),
                              &setlist);
 
   /* Note that the sfunc below needs to set target_charset_name, because 
@@ -1235,12 +1235,12 @@ _initialize_charset (void)
   set_cmd_sfunc (new_cmd, set_charset_sfunc);
   /* Don't use set_from_show - need to print some extra info. */
   add_cmd ("charset", class_support, show_charset,
-          "Show the host and target character sets.\n"
-          "The `host character set' is the one used by the system GDB is running on.\n"
-          "The `target character set' is the one used by the program being debugged.\n"
-          "You may only use supersets of ASCII for your host character set; GDB does\n"
-          "not support any others.\n"
-          "To see a list of the character sets GDB supports, type `set charset <TAB>'.", 
+          _("Show the host and target character sets.\n\
+The `host character set' is the one used by the system GDB is running on.\n\
+The `target character set' is the one used by the program being debugged.\n\
+You may only use supersets of ASCII for your host character set; GDB does\n\
+not support any others.\n\
+To see a list of the character sets GDB supports, type `set charset <TAB>'."),
           &showlist);
 
 
@@ -1248,11 +1248,11 @@ _initialize_charset (void)
                              class_support,
                              host_charset_enum,
                              &host_charset_name,
-                             "Set the host character set.\n"
-                             "The `host character set' is the one used by the system GDB is running on.\n"
-                             "You may only use supersets of ASCII for your host character set; GDB does\n"
-                             "not support any others.\n"
-                             "To see a list of the character sets GDB supports, type `set host-charset <TAB>'.",
+                             _("Set the host character set.\n\
+The `host character set' is the one used by the system GDB is running on.\n\
+You may only use supersets of ASCII for your host character set; GDB does\n\
+not support any others.\n\
+To see a list of the character sets GDB supports, type `set host-charset <TAB>'."),
                              &setlist);
 
   set_cmd_sfunc (new_cmd, set_host_charset_sfunc);
@@ -1265,11 +1265,11 @@ _initialize_charset (void)
                              class_support,
                              target_charset_enum,
                              &target_charset_name,
-                             "Set the target character set.\n"
-                             "The `target character set' is the one used by the program being debugged.\n"
-                             "GDB translates characters and strings between the host and target\n"
-                             "character sets as needed.\n"
-                             "To see a list of the character sets GDB supports, type `set target-charset'<TAB>",
+                             _("Set the target character set.\n\
+The `target character set' is the one used by the program being debugged.\n\
+GDB translates characters and strings between the host and target\n\
+character sets as needed.\n\
+To see a list of the character sets GDB supports, type `set target-charset'<TAB>"),
                              &setlist);
 
   set_cmd_sfunc (new_cmd, set_target_charset_sfunc);
index 2d1e854..23717da 100644 (file)
@@ -309,7 +309,7 @@ read_pe_exported_syms (struct objfile *objfile)
        += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
     }
 
-  printf_filtered ("Minimal symbols from %s...", dll_name);
+  printf_filtered (_("Minimal symbols from %s..."), dll_name);
   wrap_here ("");
 
   /* Truncate name at first dot. Should maybe also convert to all
index ebbe6db..3f73169 100644 (file)
@@ -576,7 +576,7 @@ coff_symfile_read (struct objfile *objfile, int mainline)
       val = init_lineno (abfd, info->min_lineno_offset,
                          info->max_lineno_offset - info->min_lineno_offset);
       if (val < 0)
-        error ("\"%s\": error reading line numbers\n", name);
+        error (_("\"%s\": error reading line numbers\n"), name);
     }
 
   /* Now read the string table, all at once.  */
@@ -584,7 +584,7 @@ coff_symfile_read (struct objfile *objfile, int mainline)
   make_cleanup (free_stringtab_cleanup, 0 /*ignore*/);
   val = init_stringtab (abfd, stringtab_offset);
   if (val < 0)
-    error ("\"%s\": can't get string table", name);
+    error (_("\"%s\": can't get string table"), name);
 
   init_minimal_symbol_collection ();
   cleanup_minimal_symbols = make_cleanup_discard_minimal_symbols ();
@@ -617,9 +617,8 @@ coff_symfile_read (struct objfile *objfile, int mainline)
     {
       if (!info->stabstrsect)
        {
-         error (("The debugging information in `%s' is corrupted.\n"
-                 "The file has a `.stabs' section, but no `.stabstr' "
-                 "section."),
+         error (_("The debugging information in `%s' is corrupted.\n"
+                  "The file has a `.stabs' section, but no `.stabstr' section."),
                 name);
        }
 
@@ -783,7 +782,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
        case C_LINE:
        case C_ALIAS:
        case C_HIDDEN:
-         complaint (&symfile_complaints, "Bad n_sclass for symbol %s",
+         complaint (&symfile_complaints, _("Bad n_sclass for symbol %s"),
                     cs->c_name);
          break;
 
@@ -954,7 +953,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
                 contains line number of '{' } */
              if (cs->c_naux != 1)
                complaint (&symfile_complaints,
-                          "`.bf' symbol %d has no aux entry", cs->c_symnum);
+                          _("`.bf' symbol %d has no aux entry"), cs->c_symnum);
              fcn_first_line = main_aux.x_sym.x_misc.x_lnsz.x_lnno;
              fcn_first_line_addr = cs->c_value;
 
@@ -970,7 +969,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
          else if (DEPRECATED_STREQ (cs->c_name, ".ef"))
            {
              if (!within_function)
-               error ("Bad coff function information\n");
+               error (_("Bad coff function information\n"));
              /* the value of .ef is the address of epilogue code;
                 not useful for gdb.  */
              /* { main_aux.x_sym.x_misc.x_lnsz.x_lnno
@@ -979,7 +978,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              if (context_stack_depth <= 0)
                {               /* We attempted to pop an empty context stack */
                  complaint (&symfile_complaints,
-                            "`.ef' symbol without matching `.bf' symbol ignored starting at symnum %d",
+                            _("`.ef' symbol without matching `.bf' symbol ignored starting at symnum %d"),
                             cs->c_symnum);
                  within_function = 0;
                  break;
@@ -990,7 +989,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              if (context_stack_depth > 0 || new == NULL)
                {
                  complaint (&symfile_complaints,
-                            "Unmatched .ef symbol(s) ignored starting at symnum %d",
+                            _("Unmatched .ef symbol(s) ignored starting at symnum %d"),
                             cs->c_symnum);
                  within_function = 0;
                  break;
@@ -998,7 +997,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              if (cs->c_naux != 1)
                {
                  complaint (&symfile_complaints,
-                            "`.ef' symbol %d has no aux entry", cs->c_symnum);
+                            _("`.ef' symbol %d has no aux entry"), cs->c_symnum);
                  fcn_last_line = 0x7FFFFFFF;
                }
              else
@@ -1054,7 +1053,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              if (context_stack_depth <= 0)
                {               /* We attempted to pop an empty context stack */
                  complaint (&symfile_complaints,
-                            "`.eb' symbol without matching `.bb' symbol ignored starting at symnum %d",
+                            _("`.eb' symbol without matching `.bb' symbol ignored starting at symnum %d"),
                             cs->c_symnum);
                  break;
                }
@@ -1063,7 +1062,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              if (depth-- != new->depth)
                {
                  complaint (&symfile_complaints,
-                            "Mismatched .eb symbol ignored starting at symnum %d",
+                            _("Mismatched .eb symbol ignored starting at symnum %d"),
                             symnum);
                  break;
                }
@@ -1141,7 +1140,7 @@ read_one_sym (struct coff_symbol *cs,
 
 #if 0
   if (cs->c_sclass & 128)
-    printf ("thumb symbol %s, class 0x%x\n", cs->c_name, cs->c_sclass);
+    printf (_("thumb symbol %s, class 0x%x\n"), cs->c_name, cs->c_sclass);
 #endif
 
   symnum += 1 + cs->c_naux;
@@ -1351,7 +1350,7 @@ enter_linenos (long file_offset, int first_line,
   if (file_offset < linetab_offset)
     {
       complaint (&symfile_complaints,
-                "Line number pointer %ld lower than start of line numbers",
+                _("Line number pointer %ld lower than start of line numbers"),
                 file_offset);
       if (file_offset > linetab_size)  /* Too big to be an offset? */
        return;
@@ -1755,7 +1754,7 @@ decode_type (struct coff_symbol *cs, unsigned int c_type,
       else
        {
          complaint (&symfile_complaints,
-                    "Symbol table entry for %s has bad tagndx value",
+                    _("Symbol table entry for %s has bad tagndx value"),
                     cs->c_name);
          /* And fall through to decode_base_type... */
        }
@@ -1913,7 +1912,7 @@ decode_base_type (struct coff_symbol *cs, unsigned int c_type,
       else
        return lookup_fundamental_type (current_objfile, FT_UNSIGNED_LONG);
     }
-  complaint (&symfile_complaints, "Unexpected type for symbol %s", cs->c_name);
+  complaint (&symfile_complaints, _("Unexpected type for symbol %s"), cs->c_name);
   return lookup_fundamental_type (current_objfile, FT_VOID);
 }
 \f
index 8630fde..3f9be14 100644 (file)
@@ -202,6 +202,7 @@ vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
          wrap_here ("");
          if (series != SUBSEQUENT_MESSAGE)
            begin_line ();
+         /* XXX: i18n */
          fprintf_filtered (gdb_stderr, "%s%s%s",
                            complaints->explanation[series].prefix, msg,
                            complaints->explanation[series].postfix);
@@ -297,7 +298,7 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy)
       fputs_unfiltered ("\n", gdb_stderr);
       break;
     default:
-      internal_error (__FILE__, __LINE__, "bad switch");
+      internal_error (__FILE__, __LINE__, _("bad switch"));
     }
 
   if (!less_verbose)
@@ -311,10 +312,10 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy)
 void
 _initialize_complaints (void)
 {
-  add_setshow_zinteger_cmd ("complaints", class_support, &stop_whining, "\
-Set max number of complaints about incorrect symbols.""\
-Show max number of complaints about incorrect symbols.", NULL, "\
-Max number of complaints about incorrect symbols is %s.",
+  add_setshow_zinteger_cmd ("complaints", class_support, &stop_whining, _("\
+Set max number of complaints about incorrect symbols."), _("\
+Show max number of complaints about incorrect symbols."), NULL, _("\
+Max number of complaints about incorrect symbols is %s."),
                            NULL, NULL,
                            &setlist, &showlist);
 
index a78a862..00c4dac 100644 (file)
@@ -16,263 +16,264 @@ static void
 show_copying_command (char *ignore, int from_tty)
 {
   immediate_quit++;
-  printf_filtered ("               GNU GENERAL PUBLIC LICENSE\n");
-  printf_filtered ("                  Version 2, June 1991\n");
-  printf_filtered ("\n");
-  printf_filtered (" Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n");
-  printf_filtered ("                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n");
-  printf_filtered (" Everyone is permitted to copy and distribute verbatim copies\n");
-  printf_filtered (" of this license document, but changing it is not allowed.\n");
-  printf_filtered ("\n");
-  printf_filtered ("                       Preamble\n");
-  printf_filtered ("\n");
-  printf_filtered ("  The licenses for most software are designed to take away your\n");
-  printf_filtered ("freedom to share and change it.  By contrast, the GNU General Public\n");
-  printf_filtered ("License is intended to guarantee your freedom to share and change free\n");
-  printf_filtered ("software--to make sure the software is free for all its users.  This\n");
-  printf_filtered ("General Public License applies to most of the Free Software\n");
-  printf_filtered ("Foundation's software and to any other program whose authors commit to\n");
-  printf_filtered ("using it.  (Some other Free Software Foundation software is covered by\n");
-  printf_filtered ("the GNU Library General Public License instead.)  You can apply it to\n");
-  printf_filtered ("your programs, too.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  When we speak of free software, we are referring to freedom, not\n");
-  printf_filtered ("price.  Our General Public Licenses are designed to make sure that you\n");
-  printf_filtered ("have the freedom to distribute copies of free software (and charge for\n");
-  printf_filtered ("this service if you wish), that you receive source code or can get it\n");
-  printf_filtered ("if you want it, that you can change the software or use pieces of it\n");
-  printf_filtered ("in new free programs; and that you know you can do these things.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  To protect your rights, we need to make restrictions that forbid\n");
-  printf_filtered ("anyone to deny you these rights or to ask you to surrender the rights.\n");
-  printf_filtered ("These restrictions translate to certain responsibilities for you if you\n");
-  printf_filtered ("distribute copies of the software, or if you modify it.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  For example, if you distribute copies of such a program, whether\n");
-  printf_filtered ("gratis or for a fee, you must give the recipients all the rights that\n");
-  printf_filtered ("you have.  You must make sure that they, too, receive or can get the\n");
-  printf_filtered ("source code.  And you must show them these terms so they know their\n");
-  printf_filtered ("rights.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  We protect your rights with two steps: (1) copyright the software, and\n");
-  printf_filtered ("(2) offer you this license which gives you legal permission to copy,\n");
-  printf_filtered ("distribute and/or modify the software.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  Also, for each author's protection and ours, we want to make certain\n");
-  printf_filtered ("that everyone understands that there is no warranty for this free\n");
-  printf_filtered ("software.  If the software is modified by someone else and passed on, we\n");
-  printf_filtered ("want its recipients to know that what they have is not the original, so\n");
-  printf_filtered ("that any problems introduced by others will not reflect on the original\n");
-  printf_filtered ("authors' reputations.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  Finally, any free program is threatened constantly by software\n");
-  printf_filtered ("patents.  We wish to avoid the danger that redistributors of a free\n");
-  printf_filtered ("program will individually obtain patent licenses, in effect making the\n");
-  printf_filtered ("program proprietary.  To prevent this, we have made it clear that any\n");
-  printf_filtered ("patent must be licensed for everyone's free use or not licensed at all.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  The precise terms and conditions for copying, distribution and\n");
-  printf_filtered ("modification follow.\n");
-  printf_filtered ("\n");
-  printf_filtered ("               GNU GENERAL PUBLIC LICENSE\n");
-  printf_filtered ("   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n");
-  printf_filtered ("\n");
-  printf_filtered ("  0. This License applies to any program or other work which contains\n");
-  printf_filtered ("a notice placed by the copyright holder saying it may be distributed\n");
-  printf_filtered ("under the terms of this General Public License.  The \"Program\", below,\n");
-  printf_filtered ("refers to any such program or work, and a \"work based on the Program\"\n");
-  printf_filtered ("means either the Program or any derivative work under copyright law:\n");
-  printf_filtered ("that is to say, a work containing the Program or a portion of it,\n");
-  printf_filtered ("either verbatim or with modifications and/or translated into another\n");
-  printf_filtered ("language.  (Hereinafter, translation is included without limitation in\n");
-  printf_filtered ("the term \"modification\".)  Each licensee is addressed as \"you\".\n");
-  printf_filtered ("\n");
-  printf_filtered ("Activities other than copying, distribution and modification are not\n");
-  printf_filtered ("covered by this License; they are outside its scope.  The act of\n");
-  printf_filtered ("running the Program is not restricted, and the output from the Program\n");
-  printf_filtered ("is covered only if its contents constitute a work based on the\n");
-  printf_filtered ("Program (independent of having been made by running the Program).\n");
-  printf_filtered ("Whether that is true depends on what the Program does.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  1. You may copy and distribute verbatim copies of the Program's\n");
-  printf_filtered ("source code as you receive it, in any medium, provided that you\n");
-  printf_filtered ("conspicuously and appropriately publish on each copy an appropriate\n");
-  printf_filtered ("copyright notice and disclaimer of warranty; keep intact all the\n");
-  printf_filtered ("notices that refer to this License and to the absence of any warranty;\n");
-  printf_filtered ("and give any other recipients of the Program a copy of this License\n");
-  printf_filtered ("along with the Program.\n");
-  printf_filtered ("\n");
-  printf_filtered ("You may charge a fee for the physical act of transferring a copy, and\n");
-  printf_filtered ("you may at your option offer warranty protection in exchange for a fee.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  2. You may modify your copy or copies of the Program or any portion\n");
-  printf_filtered ("of it, thus forming a work based on the Program, and copy and\n");
-  printf_filtered ("distribute such modifications or work under the terms of Section 1\n");
-  printf_filtered ("above, provided that you also meet all of these conditions:\n");
-  printf_filtered ("\n");
-  printf_filtered ("    a) You must cause the modified files to carry prominent notices\n");
-  printf_filtered ("    stating that you changed the files and the date of any change.\n");
-  printf_filtered ("\n");
-  printf_filtered ("    b) You must cause any work that you distribute or publish, that in\n");
-  printf_filtered ("    whole or in part contains or is derived from the Program or any\n");
-  printf_filtered ("    part thereof, to be licensed as a whole at no charge to all third\n");
-  printf_filtered ("    parties under the terms of this License.\n");
-  printf_filtered ("\n");
-  printf_filtered ("    c) If the modified program normally reads commands interactively\n");
-  printf_filtered ("    when run, you must cause it, when started running for such\n");
-  printf_filtered ("    interactive use in the most ordinary way, to print or display an\n");
-  printf_filtered ("    announcement including an appropriate copyright notice and a\n");
-  printf_filtered ("    notice that there is no warranty (or else, saying that you provide\n");
-  printf_filtered ("    a warranty) and that users may redistribute the program under\n");
-  printf_filtered ("    these conditions, and telling the user how to view a copy of this\n");
-  printf_filtered ("    License.  (Exception: if the Program itself is interactive but\n");
-  printf_filtered ("    does not normally print such an announcement, your work based on\n");
-  printf_filtered ("    the Program is not required to print an announcement.)\n");
-  printf_filtered ("\n");
-  printf_filtered ("These requirements apply to the modified work as a whole.  If\n");
-  printf_filtered ("identifiable sections of that work are not derived from the Program,\n");
-  printf_filtered ("and can be reasonably considered independent and separate works in\n");
-  printf_filtered ("themselves, then this License, and its terms, do not apply to those\n");
-  printf_filtered ("sections when you distribute them as separate works.  But when you\n");
-  printf_filtered ("distribute the same sections as part of a whole which is a work based\n");
-  printf_filtered ("on the Program, the distribution of the whole must be on the terms of\n");
-  printf_filtered ("this License, whose permissions for other licensees extend to the\n");
-  printf_filtered ("entire whole, and thus to each and every part regardless of who wrote it.\n");
-  printf_filtered ("\n");
-  printf_filtered ("Thus, it is not the intent of this section to claim rights or contest\n");
-  printf_filtered ("your rights to work written entirely by you; rather, the intent is to\n");
-  printf_filtered ("exercise the right to control the distribution of derivative or\n");
-  printf_filtered ("collective works based on the Program.\n");
-  printf_filtered ("\n");
-  printf_filtered ("In addition, mere aggregation of another work not based on the Program\n");
-  printf_filtered ("with the Program (or with a work based on the Program) on a volume of\n");
-  printf_filtered ("a storage or distribution medium does not bring the other work under\n");
-  printf_filtered ("the scope of this License.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  3. You may copy and distribute the Program (or a work based on it,\n");
-  printf_filtered ("under Section 2) in object code or executable form under the terms of\n");
-  printf_filtered ("Sections 1 and 2 above provided that you also do one of the following:\n");
-  printf_filtered ("\n");
-  printf_filtered ("    a) Accompany it with the complete corresponding machine-readable\n");
-  printf_filtered ("    source code, which must be distributed under the terms of Sections\n");
-  printf_filtered ("    1 and 2 above on a medium customarily used for software interchange; or,\n");
-  printf_filtered ("\n");
-  printf_filtered ("    b) Accompany it with a written offer, valid for at least three\n");
-  printf_filtered ("    years, to give any third party, for a charge no more than your\n");
-  printf_filtered ("    cost of physically performing source distribution, a complete\n");
-  printf_filtered ("    machine-readable copy of the corresponding source code, to be\n");
-  printf_filtered ("    distributed under the terms of Sections 1 and 2 above on a medium\n");
-  printf_filtered ("    customarily used for software interchange; or,\n");
-  printf_filtered ("\n");
-  printf_filtered ("    c) Accompany it with the information you received as to the offer\n");
-  printf_filtered ("    to distribute corresponding source code.  (This alternative is\n");
-  printf_filtered ("    allowed only for noncommercial distribution and only if you\n");
-  printf_filtered ("    received the program in object code or executable form with such\n");
-  printf_filtered ("    an offer, in accord with Subsection b above.)\n");
-  printf_filtered ("\n");
-  printf_filtered ("The source code for a work means the preferred form of the work for\n");
-  printf_filtered ("making modifications to it.  For an executable work, complete source\n");
-  printf_filtered ("code means all the source code for all modules it contains, plus any\n");
-  printf_filtered ("associated interface definition files, plus the scripts used to\n");
-  printf_filtered ("control compilation and installation of the executable.  However, as a\n");
-  printf_filtered ("special exception, the source code distributed need not include\n");
-  printf_filtered ("anything that is normally distributed (in either source or binary\n");
-  printf_filtered ("form) with the major components (compiler, kernel, and so on) of the\n");
-  printf_filtered ("operating system on which the executable runs, unless that component\n");
-  printf_filtered ("itself accompanies the executable.\n");
-  printf_filtered ("\n");
-  printf_filtered ("If distribution of executable or object code is made by offering\n");
-  printf_filtered ("access to copy from a designated place, then offering equivalent\n");
-  printf_filtered ("access to copy the source code from the same place counts as\n");
-  printf_filtered ("distribution of the source code, even though third parties are not\n");
-  printf_filtered ("compelled to copy the source along with the object code.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  4. You may not copy, modify, sublicense, or distribute the Program\n");
-  printf_filtered ("except as expressly provided under this License.  Any attempt\n");
-  printf_filtered ("otherwise to copy, modify, sublicense or distribute the Program is\n");
-  printf_filtered ("void, and will automatically terminate your rights under this License.\n");
-  printf_filtered ("However, parties who have received copies, or rights, from you under\n");
-  printf_filtered ("this License will not have their licenses terminated so long as such\n");
-  printf_filtered ("parties remain in full compliance.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  5. You are not required to accept this License, since you have not\n");
-  printf_filtered ("signed it.  However, nothing else grants you permission to modify or\n");
-  printf_filtered ("distribute the Program or its derivative works.  These actions are\n");
-  printf_filtered ("prohibited by law if you do not accept this License.  Therefore, by\n");
-  printf_filtered ("modifying or distributing the Program (or any work based on the\n");
-  printf_filtered ("Program), you indicate your acceptance of this License to do so, and\n");
-  printf_filtered ("all its terms and conditions for copying, distributing or modifying\n");
-  printf_filtered ("the Program or works based on it.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  6. Each time you redistribute the Program (or any work based on the\n");
-  printf_filtered ("Program), the recipient automatically receives a license from the\n");
-  printf_filtered ("original licensor to copy, distribute or modify the Program subject to\n");
-  printf_filtered ("these terms and conditions.  You may not impose any further\n");
-  printf_filtered ("restrictions on the recipients' exercise of the rights granted herein.\n");
-  printf_filtered ("You are not responsible for enforcing compliance by third parties to\n");
-  printf_filtered ("this License.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  7. If, as a consequence of a court judgment or allegation of patent\n");
-  printf_filtered ("infringement or for any other reason (not limited to patent issues),\n");
-  printf_filtered ("conditions are imposed on you (whether by court order, agreement or\n");
-  printf_filtered ("otherwise) that contradict the conditions of this License, they do not\n");
-  printf_filtered ("excuse you from the conditions of this License.  If you cannot\n");
-  printf_filtered ("distribute so as to satisfy simultaneously your obligations under this\n");
-  printf_filtered ("License and any other pertinent obligations, then as a consequence you\n");
-  printf_filtered ("may not distribute the Program at all.  For example, if a patent\n");
-  printf_filtered ("license would not permit royalty-free redistribution of the Program by\n");
-  printf_filtered ("all those who receive copies directly or indirectly through you, then\n");
-  printf_filtered ("the only way you could satisfy both it and this License would be to\n");
-  printf_filtered ("refrain entirely from distribution of the Program.\n");
-  printf_filtered ("\n");
-  printf_filtered ("If any portion of this section is held invalid or unenforceable under\n");
-  printf_filtered ("any particular circumstance, the balance of the section is intended to\n");
-  printf_filtered ("apply and the section as a whole is intended to apply in other\n");
-  printf_filtered ("circumstances.\n");
-  printf_filtered ("\n");
-  printf_filtered ("It is not the purpose of this section to induce you to infringe any\n");
-  printf_filtered ("patents or other property right claims or to contest validity of any\n");
-  printf_filtered ("such claims; this section has the sole purpose of protecting the\n");
-  printf_filtered ("integrity of the free software distribution system, which is\n");
-  printf_filtered ("implemented by public license practices.  Many people have made\n");
-  printf_filtered ("generous contributions to the wide range of software distributed\n");
-  printf_filtered ("through that system in reliance on consistent application of that\n");
-  printf_filtered ("system; it is up to the author/donor to decide if he or she is willing\n");
-  printf_filtered ("to distribute software through any other system and a licensee cannot\n");
-  printf_filtered ("impose that choice.\n");
-  printf_filtered ("\n");
-  printf_filtered ("This section is intended to make thoroughly clear what is believed to\n");
-  printf_filtered ("be a consequence of the rest of this License.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  8. If the distribution and/or use of the Program is restricted in\n");
-  printf_filtered ("certain countries either by patents or by copyrighted interfaces, the\n");
-  printf_filtered ("original copyright holder who places the Program under this License\n");
-  printf_filtered ("may add an explicit geographical distribution limitation excluding\n");
-  printf_filtered ("those countries, so that distribution is permitted only in or among\n");
-  printf_filtered ("countries not thus excluded.  In such case, this License incorporates\n");
-  printf_filtered ("the limitation as if written in the body of this License.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  9. The Free Software Foundation may publish revised and/or new versions\n");
-  printf_filtered ("of the General Public License from time to time.  Such new versions will\n");
-  printf_filtered ("be similar in spirit to the present version, but may differ in detail to\n");
-  printf_filtered ("address new problems or concerns.\n");
-  printf_filtered ("\n");
-  printf_filtered ("Each version is given a distinguishing version number.  If the Program\n");
-  printf_filtered ("specifies a version number of this License which applies to it and \"any\n");
-  printf_filtered ("later version\", you have the option of following the terms and conditions\n");
-  printf_filtered ("either of that version or of any later version published by the Free\n");
-  printf_filtered ("Software Foundation.  If the Program does not specify a version number of\n");
-  printf_filtered ("this License, you may choose any version ever published by the Free Software\n");
-  printf_filtered ("Foundation.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  10. If you wish to incorporate parts of the Program into other free\n");
-  printf_filtered ("programs whose distribution conditions are different, write to the author\n");
-  printf_filtered ("to ask for permission.  For software which is copyrighted by the Free\n");
-  printf_filtered ("Software Foundation, write to the Free Software Foundation; we sometimes\n");
-  printf_filtered ("make exceptions for this.  Our decision will be guided by the two goals\n");
-  printf_filtered ("of preserving the free status of all derivatives of our free software and\n");
-  printf_filtered ("of promoting the sharing and reuse of software generally.\n");
-  printf_filtered ("\n");
+  printf_filtered (_("\
+                    GNU GENERAL PUBLIC LICENSE\n\
+                      Version 2, June 1991\n\
+\n\
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n\
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\
+ Everyone is permitted to copy and distribute verbatim copies\n\
+ of this license document, but changing it is not allowed.\n\
+\n\
+                           Preamble\n\
+\n\
+  The licenses for most software are designed to take away your\n\
+freedom to share and change it.  By contrast, the GNU General Public\n\
+License is intended to guarantee your freedom to share and change free\n\
+software--to make sure the software is free for all its users.  This\n\
+General Public License applies to most of the Free Software\n\
+Foundation's software and to any other program whose authors commit to\n\
+using it.  (Some other Free Software Foundation software is covered by\n\
+the GNU Library General Public License instead.)  You can apply it to\n\
+your programs, too.\n\
+\n\
+  When we speak of free software, we are referring to freedom, not\n\
+price.  Our General Public Licenses are designed to make sure that you\n\
+have the freedom to distribute copies of free software (and charge for\n\
+this service if you wish), that you receive source code or can get it\n\
+if you want it, that you can change the software or use pieces of it\n\
+in new free programs; and that you know you can do these things.\n\
+\n\
+  To protect your rights, we need to make restrictions that forbid\n\
+anyone to deny you these rights or to ask you to surrender the rights.\n\
+These restrictions translate to certain responsibilities for you if you\n\
+distribute copies of the software, or if you modify it.\n\
+\n\
+  For example, if you distribute copies of such a program, whether\n\
+gratis or for a fee, you must give the recipients all the rights that\n\
+you have.  You must make sure that they, too, receive or can get the\n\
+source code.  And you must show them these terms so they know their\n\
+rights.\n\
+\n\
+  We protect your rights with two steps: (1) copyright the software, and\n\
+(2) offer you this license which gives you legal permission to copy,\n\
+distribute and/or modify the software.\n\
+\n\
+  Also, for each author's protection and ours, we want to make certain\n\
+that everyone understands that there is no warranty for this free\n\
+software.  If the software is modified by someone else and passed on, we\n\
+want its recipients to know that what they have is not the original, so\n\
+that any problems introduced by others will not reflect on the original\n\
+authors' reputations.\n\
+\n\
+  Finally, any free program is threatened constantly by software\n\
+patents.  We wish to avoid the danger that redistributors of a free\n\
+program will individually obtain patent licenses, in effect making the\n\
+program proprietary.  To prevent this, we have made it clear that any\n\
+patent must be licensed for everyone's free use or not licensed at all.\n\
+\n\
+  The precise terms and conditions for copying, distribution and\n\
+modification follow.\n\
+\n\
+                    GNU GENERAL PUBLIC LICENSE\n\
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\
+\n\
+  0. This License applies to any program or other work which contains\n\
+a notice placed by the copyright holder saying it may be distributed\n\
+under the terms of this General Public License.  The \"Program\", below,\n\
+refers to any such program or work, and a \"work based on the Program\"\n\
+means either the Program or any derivative work under copyright law:\n\
+that is to say, a work containing the Program or a portion of it,\n\
+either verbatim or with modifications and/or translated into another\n\
+language.  (Hereinafter, translation is included without limitation in\n\
+the term \"modification\".)  Each licensee is addressed as \"you\".\n\
+\n\
+Activities other than copying, distribution and modification are not\n\
+covered by this License; they are outside its scope.  The act of\n\
+running the Program is not restricted, and the output from the Program\n\
+is covered only if its contents constitute a work based on the\n\
+Program (independent of having been made by running the Program).\n\
+Whether that is true depends on what the Program does.\n\
+\n\
+  1. You may copy and distribute verbatim copies of the Program's\n\
+source code as you receive it, in any medium, provided that you\n\
+conspicuously and appropriately publish on each copy an appropriate\n\
+copyright notice and disclaimer of warranty; keep intact all the\n\
+notices that refer to this License and to the absence of any warranty;\n\
+and give any other recipients of the Program a copy of this License\n\
+along with the Program.\n\
+\n\
+You may charge a fee for the physical act of transferring a copy, and\n\
+you may at your option offer warranty protection in exchange for a fee.\n\
+\n\
+  2. You may modify your copy or copies of the Program or any portion\n\
+of it, thus forming a work based on the Program, and copy and\n\
+distribute such modifications or work under the terms of Section 1\n\
+above, provided that you also meet all of these conditions:\n\
+\n\
+    a) You must cause the modified files to carry prominent notices\n\
+    stating that you changed the files and the date of any change.\n\
+\n\
+    b) You must cause any work that you distribute or publish, that in\n\
+    whole or in part contains or is derived from the Program or any\n\
+    part thereof, to be licensed as a whole at no charge to all third\n\
+    parties under the terms of this License.\n\
+\n\
+    c) If the modified program normally reads commands interactively\n\
+    when run, you must cause it, when started running for such\n\
+    interactive use in the most ordinary way, to print or display an\n\
+    announcement including an appropriate copyright notice and a\n\
+    notice that there is no warranty (or else, saying that you provide\n\
+    a warranty) and that users may redistribute the program under\n\
+    these conditions, and telling the user how to view a copy of this\n\
+    License.  (Exception: if the Program itself is interactive but\n\
+    does not normally print such an announcement, your work based on\n\
+    the Program is not required to print an announcement.)\n\
+\n\
+These requirements apply to the modified work as a whole.  If\n\
+identifiable sections of that work are not derived from the Program,\n\
+and can be reasonably considered independent and separate works in\n\
+themselves, then this License, and its terms, do not apply to those\n\
+sections when you distribute them as separate works.  But when you\n\
+distribute the same sections as part of a whole which is a work based\n\
+on the Program, the distribution of the whole must be on the terms of\n\
+this License, whose permissions for other licensees extend to the\n\
+entire whole, and thus to each and every part regardless of who wrote it.\n\
+\n\
+Thus, it is not the intent of this section to claim rights or contest\n\
+your rights to work written entirely by you; rather, the intent is to\n\
+exercise the right to control the distribution of derivative or\n\
+collective works based on the Program.\n\
+\n\
+In addition, mere aggregation of another work not based on the Program\n\
+with the Program (or with a work based on the Program) on a volume of\n\
+a storage or distribution medium does not bring the other work under\n\
+the scope of this License.\n\
+\n\
+  3. You may copy and distribute the Program (or a work based on it,\n\
+under Section 2) in object code or executable form under the terms of\n\
+Sections 1 and 2 above provided that you also do one of the following:\n\
+\n\
+    a) Accompany it with the complete corresponding machine-readable\n\
+    source code, which must be distributed under the terms of Sections\n\
+    1 and 2 above on a medium customarily used for software interchange; or,\n\
+\n\
+    b) Accompany it with a written offer, valid for at least three\n\
+    years, to give any third party, for a charge no more than your\n\
+    cost of physically performing source distribution, a complete\n\
+    machine-readable copy of the corresponding source code, to be\n\
+    distributed under the terms of Sections 1 and 2 above on a medium\n\
+    customarily used for software interchange; or,\n\
+\n\
+    c) Accompany it with the information you received as to the offer\n\
+    to distribute corresponding source code.  (This alternative is\n\
+    allowed only for noncommercial distribution and only if you\n\
+    received the program in object code or executable form with such\n\
+    an offer, in accord with Subsection b above.)\n\
+\n\
+The source code for a work means the preferred form of the work for\n\
+making modifications to it.  For an executable work, complete source\n\
+code means all the source code for all modules it contains, plus any\n\
+associated interface definition files, plus the scripts used to\n\
+control compilation and installation of the executable.  However, as a\n\
+special exception, the source code distributed need not include\n\
+anything that is normally distributed (in either source or binary\n\
+form) with the major components (compiler, kernel, and so on) of the\n\
+operating system on which the executable runs, unless that component\n\
+itself accompanies the executable.\n\
+\n\
+If distribution of executable or object code is made by offering\n\
+access to copy from a designated place, then offering equivalent\n\
+access to copy the source code from the same place counts as\n\
+distribution of the source code, even though third parties are not\n\
+compelled to copy the source along with the object code.\n\
+\n\
+  4. You may not copy, modify, sublicense, or distribute the Program\n\
+except as expressly provided under this License.  Any attempt\n\
+otherwise to copy, modify, sublicense or distribute the Program is\n\
+void, and will automatically terminate your rights under this License.\n\
+However, parties who have received copies, or rights, from you under\n\
+this License will not have their licenses terminated so long as such\n\
+parties remain in full compliance.\n\
+\n\
+  5. You are not required to accept this License, since you have not\n\
+signed it.  However, nothing else grants you permission to modify or\n\
+distribute the Program or its derivative works.  These actions are\n\
+prohibited by law if you do not accept this License.  Therefore, by\n\
+modifying or distributing the Program (or any work based on the\n\
+Program), you indicate your acceptance of this License to do so, and\n\
+all its terms and conditions for copying, distributing or modifying\n\
+the Program or works based on it.\n\
+\n\
+  6. Each time you redistribute the Program (or any work based on the\n\
+Program), the recipient automatically receives a license from the\n\
+original licensor to copy, distribute or modify the Program subject to\n\
+these terms and conditions.  You may not impose any further\n\
+restrictions on the recipients' exercise of the rights granted herein.\n\
+You are not responsible for enforcing compliance by third parties to\n\
+this License.\n\
+\n\
+  7. If, as a consequence of a court judgment or allegation of patent\n\
+infringement or for any other reason (not limited to patent issues),\n\
+conditions are imposed on you (whether by court order, agreement or\n\
+otherwise) that contradict the conditions of this License, they do not\n\
+excuse you from the conditions of this License.  If you cannot\n\
+distribute so as to satisfy simultaneously your obligations under this\n\
+License and any other pertinent obligations, then as a consequence you\n\
+may not distribute the Program at all.  For example, if a patent\n\
+license would not permit royalty-free redistribution of the Program by\n\
+all those who receive copies directly or indirectly through you, then\n\
+the only way you could satisfy both it and this License would be to\n\
+refrain entirely from distribution of the Program.\n\
+\n\
+If any portion of this section is held invalid or unenforceable under\n\
+any particular circumstance, the balance of the section is intended to\n\
+apply and the section as a whole is intended to apply in other\n\
+circumstances.\n\
+\n\
+It is not the purpose of this section to induce you to infringe any\n\
+patents or other property right claims or to contest validity of any\n\
+such claims; this section has the sole purpose of protecting the\n\
+integrity of the free software distribution system, which is\n\
+implemented by public license practices.  Many people have made\n\
+generous contributions to the wide range of software distributed\n\
+through that system in reliance on consistent application of that\n\
+system; it is up to the author/donor to decide if he or she is willing\n\
+to distribute software through any other system and a licensee cannot\n\
+impose that choice.\n\
+\n\
+This section is intended to make thoroughly clear what is believed to\n\
+be a consequence of the rest of this License.\n\
+\n\
+  8. If the distribution and/or use of the Program is restricted in\n\
+certain countries either by patents or by copyrighted interfaces, the\n\
+original copyright holder who places the Program under this License\n\
+may add an explicit geographical distribution limitation excluding\n\
+those countries, so that distribution is permitted only in or among\n\
+countries not thus excluded.  In such case, this License incorporates\n\
+the limitation as if written in the body of this License.\n\
+\n\
+  9. The Free Software Foundation may publish revised and/or new versions\n\
+of the General Public License from time to time.  Such new versions will\n\
+be similar in spirit to the present version, but may differ in detail to\n\
+address new problems or concerns.\n\
+\n\
+Each version is given a distinguishing version number.  If the Program\n\
+specifies a version number of this License which applies to it and \"any\n\
+later version\", you have the option of following the terms and conditions\n\
+either of that version or of any later version published by the Free\n\
+Software Foundation.  If the Program does not specify a version number of\n\
+this License, you may choose any version ever published by the Free Software\n\
+Foundation.\n\
+\n\
+  10. If you wish to incorporate parts of the Program into other free\n\
+programs whose distribution conditions are different, write to the author\n\
+to ask for permission.  For software which is copyrighted by the Free\n\
+Software Foundation, write to the Free Software Foundation; we sometimes\n\
+make exceptions for this.  Our decision will be guided by the two goals\n\
+of preserving the free status of all derivatives of our free software and\n\
+of promoting the sharing and reuse of software generally.\n\
+\n"));
   immediate_quit--;
 }
 
@@ -280,28 +281,29 @@ static void
 show_warranty_command (char *ignore, int from_tty)
 {
   immediate_quit++;
-  printf_filtered ("                       NO WARRANTY\n");
-  printf_filtered ("\n");
-  printf_filtered ("  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n");
-  printf_filtered ("FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\n");
-  printf_filtered ("OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n");
-  printf_filtered ("PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n");
-  printf_filtered ("OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n");
-  printf_filtered ("MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\n");
-  printf_filtered ("TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\n");
-  printf_filtered ("PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n");
-  printf_filtered ("REPAIR OR CORRECTION.\n");
-  printf_filtered ("\n");
-  printf_filtered ("  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n");
-  printf_filtered ("WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n");
-  printf_filtered ("REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n");
-  printf_filtered ("INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n");
-  printf_filtered ("OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n");
-  printf_filtered ("TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n");
-  printf_filtered ("YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n");
-  printf_filtered ("PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n");
-  printf_filtered ("POSSIBILITY OF SUCH DAMAGES.\n");
-  printf_filtered ("\n");
+  printf_filtered (_("\
+                        NO WARRANTY\n\
+\n\
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n\
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\n\
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n\
+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n\
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n\
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\n\
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\n\
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n\
+REPAIR OR CORRECTION.\n\
+\n\
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n\
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n\
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n\
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n\
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n\
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n\
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n\
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n\
+POSSIBILITY OF SUCH DAMAGES.\n\
+\n"));
   immediate_quit--;
 }
 
@@ -309,15 +311,15 @@ void
 _initialize_copying (void)
 {
   add_cmd ("copying", no_class, show_copying_command,
-          "Conditions for redistributing copies of GDB.",
+          _("Conditions for redistributing copies of GDB."),
           &showlist);
   add_cmd ("warranty", no_class, show_warranty_command,
-          "Various kinds of warranty you do not have.",
+          _("Various kinds of warranty you do not have."),
           &showlist);
 
   /* For old-timers, allow "info copying", etc.  */
   add_info ("copying", show_copying_command,
-           "Conditions for redistributing copies of GDB.");
+           _("Conditions for redistributing copies of GDB."));
   add_info ("warranty", show_warranty_command,
-           "Various kinds of warranty you do not have.");
+           _("Various kinds of warranty you do not have."));
 }