http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52279

             Bug #: 52279
           Summary: Fortran translation issues issues
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: bur...@gcc.gnu.org
            Blocks: 52274


A) gfc_check_conformance - but possibly others - have:

  if (gfc_check_conformance (op1, op2,
                             "elemental binary operation") != SUCCESS)

and then in gfc_check_conformance:
          gfc_error ("Different shape for %s at %L on dimension %d "
                     "(%d and %d)", _(buffer), &op1->where, d + 1,

There are two issues: The passed string is not marked as to be translated. One
should use "G_()" [non-std-C string], N_(), or _(). And translating

"Different shape for "                 " at %L on dimension %d"
               "elemental binary operation"

properly is difficult without the context.


B) gfc_check_intrinsic_standard

    case GFC_STD_F95:
      symstd_msg = "new in Fortran 95";
...
        gfc_warning ("Intrinsic '%s' (is %s) is used at %L",
                     isym->name, _(symstd_msg), &where);

Again, the symstd_msg text does not end up in the .pot file. Additionally,
translating  "(is %s)" is rather difficult. At least the 'is ' should moved
into symstd_msg; possibly the whole string. [For the latter: Be careful that
"%s" etc. still get expanded correctly.]


C) There are probably some more such items.

D) In some cases, giving translation hints would help translators.

Reply via email to