Hi, I have picked some errors from the source code or from the binutils.pot file. I'm sure there will be more bugs, if I have browsed the whole source code for binutils (missing translations).
Best regards, Jorma Karvonen #: addr2line.c:271 #, c-format msgid " at " Is this "at" an address or a function or something? It is difficult to translate due to missing context. #: addr2line.c:296 #, c-format msgid " (inlined by) " by who ? Missing context here too. ar.c:1024 bfd_fatal ("could not create temporary file whilst writing archive"); should be: bfd_fatal (_("could not create temporary file whilst writing archive")); , I think. The following three should be: bucomm.c:228 case BFD_ENDIAN_BIG: return _("big endian"); bucomm.c:229 case BFD_ENDIAN_LITTLE: return _("little endian"); bucomm.c:230 default: return _("endianness unknown"); , I think. The following should be: bucomm.c:251 printf (_("%s\n (header %s, data %s)\n"), p->name, , I think. I wonder, if setlocale could be used here: bucomm.c:430 const char *ctime_result = (const char *) ctime (&when); /* POSIX format: skip weekday and seconds from ctime output. */ sprintf (timebuf, "%.12s %.4s", ctime_result + 4, ctime_result + 20); The following shoud maybe be: coffdump.c:130 printf (_("size %d "), p->size); coffdump.c:135 printf (_("section definition at %x size %x\n"), coffdump.c:141 /* Pointer is pointing to coff_pointer_type */ printf (_("pointer to")); coffdump.c:146 /* a coff_type array */ printf (_("array [%d] of"), p->u.array.dim); coffdump.c:151 printf (_("function returning")); coffdump.c:155 printf (_("arguments")); coffdump.c:159 printf (_("code")); coffdump.c:165 printf (_("structure definition")); coffdump.c:171 printf (_("structure ref to UNKNOWN struct")); coffdump.c:173 printf (_("structure ref to %s"), p->u.aenumref.ref->name); coffdump.c:176 printf (_("enum ref to %s"), p->u.astructref.ref->name); coffdump.c:179 printf (_("enum definition")); coffdump.c:252 printf (_("Stack offset %x"), p->offset); coffdump.c:255 printf (_("Memory section %s+%x"), p->section->name, p->offset); coffdump.c:258 printf (_("Register %d"), p->offset); coffdump.c:261 printf (_("Struct Member offset %x"), p->offset); coffdump.c:264 printf (_("Enum Member offset %x"), p->offset); coffdump.c:267 printf (_("Undefined symbol")); coffdump.c:334 printf (_("List of symbols")); coffdump.c:341 printf (_("Symbol %s, tag %d, number %d"), p->name, p->tag, p->number); coffdump.c:345 printf (_("Type")); coffdump.c:350 printf (_("Where")); coffdump.c:354 printf (_("Visible")); coffdump.c:369 printf (_("List of blocks")); printf (" %" BFD_VMA_FMT "x ",(bfd_vma) (uintptr_t) p); coffdump.c:384 /* number of symbols */ printf (_("vars %d"), p->nvars); coffdump.c:385 printf (_("blocks")); coffdump.c:403 printf (_("List of source files")); coffdump.c:409 printf (_("Source file %s"), p->name); coffdump.c:423 /* nrelocs is the number of the coff_reloc structs in a coff_section */ printf (_("section %s %d %d address %x size %x number %d nrelocs %d"), coffdump.c:446 printf (_("Coff dump")); coffdump.c:448 printf (_("#sources %d"), ptr->nsources); sysdump.c:66 return _("*undefined*"); sysdump.c:503 printf (_("GOT A %x\n"), c); sysdump.c:503 printf (_("WANTED %x!!\n"), x); sysdump.c:539 tab (1, _("SYMBOL INFO")); sysdump.c:557 tab (1, _("DERIVED TYPE")); sysdump.c:614 tab (1, _("MODULE***\n")); dlltool.c:1266 printf (_("VERSION %d.%d\n"), major, minor); dlltool.c:1314 inform (_("run: %s %s"), what, args); dllwrap.c:417 warn (_("wait: %s"), strerror (errno)); dwarf.c:132 error (_("Wrong size in print_dwarf_vma")); dwarf.c:356,360,364 printf (_("(%s"), <-- PLS, REMOVE THIS In the following should be "UNKNOWN", not "UNKNOW": dwarf.c:370 printf (_(" UNKNOW DW_LNE_HP_SFC opcode (%u)\n"), opc); dwarf.c:1075 printf (_("size: %s "), dwarf.c:1098 printf ("DW_OP_GNU_push_tls_address "); printf (_("or")); printf ( " DW_OP_HP_unknown"); dwarf.c:1608 printf (_("(implementation defined: %s)"), dwarf.c:1611 printf (_("(Unknown: %s)"), dwarf_vmatoa ("x", uvalue)); dwarf.c:1649 printf (_("(user defined type)")); dwarf.c:1651 printf (_("(unknown type)")); dwarf.c:1663 printf (_("(unknown accessibility)")); dwarf.c:1674 default: printf (_("(unknown visibility)")); break; dwarf.c:1684 default: printf (_("(unknown virtuality)")); break; dwarf.c:1695 default: printf (_("(unknown case)")); break; dwarf.c:1708 printf (_("(user defined)")); dwarf.c:1710 printf (_("(unknown convention)")); dwarf.c:1717 case -1: printf (_("(undefined)")); break; dwarf.c:1718 case 0: printf (_("(row major)")); break; dwarf.c:1719 case 1: printf (_("(column major)")); break; dwarf.c:1786 printf (_("[Abbrev Number: %ld"), abbrev_number); dwarf.c:2175 printf (" "); printf (_("Compilation Unit @ offset")); printf (" 0x%s:\n", dwarf_vmatoa ("x", cu_offset)); printf (" "); printf (_("Length:")); printf (" 0x%s (%s)\n", dwarf_vmatoa ("x", compunit.cu_length), offset_size == 8 ? _("64-bit") : _("32-bit")); printf (" "); printf (_("Version:")); printf (" %d\n", compunit.cu_version); printf (" "); /* abbreviation offset */ printf (_("Abbrev Offset:")); printf (" %s\n", dwarf_vmatoa ("d", compunit.cu_abbrev_offset)); printf (" "); printf (_("Pointer Size:")); printf (" %d\n", compunit.cu_pointer_size); if (do_types) { int i; printf (" "); printf (_("Signature:")); printf (" ")); for (i = 0; i < 8; i++) printf ("%02x", signature[i]); printf ("\n"); printf (" "); printf (_("Type Offset:")); printf (" 0x%s\n", dwarf_vmatoa ("x", type_offset)); dwarf.c:2310 printf (" <%d><%lx>: "); /* Abbreviation number */ printf (_("Abbrev Number:")); printf (" %lu", dwarf.c:2569 /* Entry means here a line of the table */ printf (_(" Entry\tDir\tTime\tSize\tName\n")); dwarf.c:2973 /* Compilation Unit */ printf (_("CU: %s:\n"), file_table[0].name); dwarf.c:5563 printf (_("[%3u] 0x%lx - 0x%lx\n"), i / 2, <-- PLS, REMOVE THIS _(ONE) dwarf.c:5568 /* Translation Unit table */ printf (_("\nTU table:\n")); dwarf.c:5575 printf (_("[%3u] 0x%lx 0x%lx "), i / 3, <-- PLS, REMOVE THIS _(ONE) dwarf.c:5591 printf (_("%lu\n"), (unsigned long) cu_index); <-- PLS, REMOVE THIS _(ONE) od-xcoff.c:462 printf (_(" o_mflag (magic): 0x%04x 0%04o\n"), magic, magic); printf (_(" o_vstamp: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned short)bfd_h_get_16 (abfd, auxhdr.vstamp)); printf (_(" o_tsize: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.tsize)); printf (_(" o_dsize: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.dsize)); printf (_(" o_entry: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.entry)); printf (_(" o_text_start: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.text_start)); printf (_(" o_data_start: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.data_start)); if (sz == offsetof (AOUTHDR, o_toc)) <-- PLS, REMOVE THIS _(ONE) return; printf (_(" o_toc: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.o_toc)); printf (_(" o_snentry: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_snentry)); printf (_(" o_sntext: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_sntext)); printf (_(" o_sndata: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_sndata)); printf (_(" o_sntoc: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_sntoc)); printf (_(" o_snloader: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_snloader)); printf (_(" o_snbss: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_snbss)); printf (_(" o_algntext: %u\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_algntext)); printf (_(" o_algndata: %u\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_algndata)); printf (_(" o_modtype: 0x%04x"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_modtype)); if (ISPRINT (auxhdr.o_modtype[0]) && ISPRINT (auxhdr.o_modtype[1])) printf (" (%c%c)", auxhdr.o_modtype[0], auxhdr.o_modtype[1]); putchar ('\n'); printf (_(" o_cputype: 0x%04x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_16 (abfd, auxhdr.o_cputype)); printf (_(" o_maxstack: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.o_maxstack)); printf (_(" o_maxdata: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.o_maxdata)); #if 0 printf (_(" o_debugger: 0x%08x\n"), <-- PLS, REMOVE THIS _(ONE) (unsigned int)bfd_h_get_32 (abfd, auxhdr.o_debugger)); #endif od-xcoff.c:534 /* Add a comment for TRANSLATORS: what are paddr, vaddr, scnptr, relptr, lnnoptr, nrel nlnno ? */ printf (_(" # Name paddr vaddr size scnptr relptr lnnoptr nrel nlnno\n")); od-xcoff.c:546 printf (_("%2d %-8.8s %08x %08x %08x %08x %08x %08x " "%-5d %-5d\n"), <-- PLS, REMOVE THIS _(ONE) od-xcoff.c:754 printf (_(" (strings size: %08x):\n"), data->strings_size); <-- A QUESTION: Several strings ? od-xcoff.c:767 /* Add a comment for TRANSLATORS: what is "sc" ? What about "off" ? Offset or ON/OFF ? */ printf (_(" # sc value section type aux name/off\n")); od-xcoff.c:818 /* Add a comment for TRANSLATORS: what is "scnlen" ? What about "nreloc" and "nlinno" ?*/ printf (_(" scnlen: %08x nreloc: %-6u nlinno: %-6u\n"), (unsigned)bfd_h_get_32 (abfd, aux->x_scn.x_scnlen), (unsigned)bfd_h_get_16 (abfd, aux->x_scn.x_nreloc), (unsigned)bfd_h_get_16 (abfd, aux->x_scn.x_nlinno)); break; case C_DWARF: printf (_(" scnlen: %08x nreloc: %-6u\n"), (unsigned)bfd_h_get_32 (abfd, aux->x_scn.x_scnlen), (unsigned)bfd_h_get_16 (abfd, aux->x_scn.x_nreloc)); break; case C_EXT: case C_WEAKEXT: case C_HIDEXT: if (j == 0 && s->sym.numaux > 1) { /* Function aux entry. */ /* Add a comment for TRANSLATORS: what is "exptr","fsize", "lnnoptr", "endndx" ?*/ printf (_(" exptr: %08x fsize: %08x lnnoptr: %08x endndx: %u\n"), (unsigned)bfd_h_get_32 (abfd, aux->x_sym.x_tagndx), (unsigned)bfd_h_get_32 (abfd, aux->x_sym.x_misc.x_fsize), (unsigned)bfd_h_get_32 (abfd, aux->x_sym.x_fcnary.x_fcn.x_lnnoptr), (unsigned)bfd_h_get_32 (abfd, aux->x_sym.x_fcnary.x_fcn.x_endndx)); } else if (j == 1 || (j == 0 && s->sym.numaux == 1)) { /* csect aux entry. */ unsigned char smtyp; unsigned int scnlen; smtyp = bfd_h_get_8 (abfd, aux->x_csect.x_smtyp); scnlen = bfd_h_get_32 (abfd, aux->x_csect.x_scnlen); if (smtyp == XTY_LD) printf (_(" scnsym: %-8u"), scnlen); <-- WHAT IS "scnsym" ? else printf (_(" scnlen: %08x"), scnlen); printf (_(" h: parm=%08x sn=%04x al: 2**%u"), <--- IS THIS NEEDED ? (unsigned)bfd_h_get_32 (abfd, aux->x_csect.x_parmhash), (unsigned)bfd_h_get_16 (abfd, aux->x_csect.x_snhash), SMTYP_ALIGN (smtyp)); printf (_(" typ: ")); dump_value (smtyp_xlat, SMTYP_SMTYP (smtyp), 2); printf (_(" cl: ")); <-- WHAT IS "cl" ? dump_value (smclas_xlat, (unsigned)bfd_h_get_8 (abfd, aux->x_csect.x_smclas), 6); putchar ('\n'); } else printf ("aux\n"); <--- SHOULD THIS BE printf (_("aux\n")); ? break; case C_FILE: { unsigned int off; printf (_(" ftype: %02x "), <--- WHAT IS "ftype" ? IS THIS NEEDED ? (unsigned)bfd_h_get_8 (abfd, aux->x_file.x_ftype)); if (aux->x_file.x_n.x_fname[0] != 0) printf (_("fname: %.14s"), aux->x_file.x_n.x_fname); <-- IS THIS NEEDED ? else { off = (unsigned)bfd_h_get_32 (abfd, aux->x_file.x_n.x_n.x_offset); if (data->strings != NULL && off < data->strings_size) printf (_(" %s"), data->strings + off); <-- PLS, REMOVE THIS _(ONE) else printf (_("offset: %08x"), off); } putchar ('\n'); } break; case C_BLOCK: case C_FCN: printf (_(" lnno: %u\n"), <-- IS THIS SOME NEW ONE ? (unsigned)bfd_h_get_16 (abfd, aux->x_sym.x_misc.x_lnsz.x_lnno)); break; default: printf ("aux\n"); <--- SHOULD THIS BE printf (_("aux\n")); ? od-xcoff.c:934 printf (_("vaddr sgn mod sz type symndx symbol\n")); <--- OOPS ! od-xcoff.c:947 printf (_("%08x %c %c %-2u "), <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1001 printf (_(" %-6u "), no); <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1066 printf (_(" import strtab len: %u\n"), <--- WHAT IS "strtab" ? od-xcoff.c:1079 /* WHAT IS "sc IFEW ty" ? WHAT ABOUT "pa name" ? */ printf (_(" # value sc IFEW ty class file pa name\n")); od-xcoff.c:1084 printf (_(" %4u %08x %3u "), i, <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1087 printf (_(" %3u %3u "), <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1114 /* "vaddr" IS STILL THE SAME AS PREVIOUSLY ? IS "sec" sector OR second(s) ? IS "sz" same as "size" ? */ printf (_(" vaddr sec sz typ sym\n")); od-xcoff.c:1126 printf (_(" %08x %3u %c%c %2u "), <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1137 case 0: printf (_(".text")); <--- PLS, REMOVE THIS _(ONE) break; case 1: printf (_(".data")); <--- PLS, REMOVE THIS _(ONE) break; case 2: printf (_(".bss")); <--- PLS, REMOVE THIS _(ONE) break; default: printf (_("%u"), symndx - 3); <--- PLS, REMOVE THIS _(ONE) od-xcoff.c:1201 printf (_(" %02x %02x "), <--- PLS, REMOVE THIS _(ONE) (unsigned) bfd_get_8 (abfd, exceptab->e_lang), reason); if (reason == 0) xcoff32_print_symbol (data, addr); else printf (_("@%08x"), addr); <--- PLS, REMOVE THIS _(ONE) The following msgids need some comments for TRANSLATORS: #: od-xcoff.c:1299 #, c-format msgid " version: %u, lang: %u, global_link: %u, is_eprol: %u, has_tboff: %u, int_proc: %u\n" #: od-xcoff.c:1306 #, c-format msgid " has_ctl: %u, tocless: %u, fp_pres: %u, log_abort: %u, int_hndl: %u\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1312 #, c-format msgid " name_pres: %u, uses_alloca: %u, cl_dis_inv: %u, saves_cr: %u, saves_lr: %u\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1318 #, c-format msgid " stores_bc: %u, fixup: %u, fpr_saved: %-2u, spare3: %u, gpr_saved: %-2u\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1324 #, c-format msgid " fixparms: %-3u floatparms: %-3u parm_on_stk: %u\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1337 #, c-format msgid " parminfo: 0x%08x\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1348 #, c-format msgid " tb_offset: 0x%08x (start=0x%08x)\n" <--- OK, "start" #: od-xcoff.c:1359 #, c-format msgid " hand_mask_offset: 0x%08x\n" <--- PLS, REMOVE THIS _(ONE) #: od-xcoff.c:1370 #, c-format msgid " number of CTL anchors: %u\n" <--- WHAT IS "CTL" ? #: od-xcoff.c:1375 #, c-format msgid " CTL[%u]: %08x\n" <-- REMOVED OR TRANSLATED ? #: od-xcoff.c:1407 #, c-format msgid " alloca reg: %u\n" <-- "alloca" ? #: readelf.c:4057 readelf.c:4132 msgid "symtab shndx" <--- PLS, REMOVE THIS _(ONE) ?? #: readelf.c:5193 msgid "dynamic section image relas" <--- WHAT IS "relas" ?? #: readelf.c:5399 readelf.c:5815 readelf.c:5830 readelf.c:6167 #, c-format msgid "'%s'" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:6666 #, c-format msgid " 0x%02x " <--- PLS, REMOVE THIS _(ONE) #: readelf.c:6763 #, c-format msgid "sp = sp + %ld" <--- PLS, REMOVE THIS _(ONE) ?? #: readelf.c:8200 msgid "version need section" <-- SHOULD THIS ONE BE "version needs section" ?? #: readelf.c:8278 #, c-format msgid " Version need aux past end of section\n" <-- WHAT ABOUT THIS ONE ? #: readelf.c:8283 #, c-format msgid " Version need past end of section\n" <-- AND THIS ONE ? WHAT IS "GOT" IN THE FOLLOWING CONTEXT: #: readelf.c:11936 msgid "GOT" #: readelf.c:11937 #, c-format msgid "" "\n" "Primary GOT:\n" #: readelf.c:11979 readelf.c:12047 msgid "Ndx" <-- WHAT IS THIS ? Index ? # the Global Offset Table (GOT) ja the Procedure Linkage Table (PLT) <-- I HAVE GUESSED #: readelf.c:12032 msgid "PLT GOT" <-- IS THIS NEEDED ? #: readelf.c:12033 #, c-format msgid "" "\n" "PLT GOT:\n" <-- IS THIS NEEDED ? "\n" #: readelf.c:12269 readelf.c:12425 #, c-format msgid "\n" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12371 #, c-format msgid "PT_FIRSTMACH+%d" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12445 msgid "NT_VMS_TITLE" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12451 msgid "NT_VMS_LINKTIME" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12463 msgid "NT_VMS_ORIG_DYN" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12465 msgid "NT_VMS_PATCHTIME" <--- PLS, REMOVE THIS _(ONE) #: readelf.c:12494 msgid " FP mode: 0x%016" <--- WHAT IS "FP" IN THIS CONTEXT ? #: readelf.c:12513 #, c-format msgid " Manip date : " <--- WHAT IS "Manip" ? _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils