Last week I’ve been at the DSAG ABAP Developments Days in Walldorf. At the usual visit of the tapas bar in the evening we had a discussion about the translation of development objects in ABAP in Eclipse (ABAP Development Tools ADT). SAP currently suggests, that we use the SE63 to translate the objects after we finished our developments.

At least my “development workflow” looks a bit different: every time I’ve created a translation relevant object, for example a new message or text element, I immediately translate this object (let it be from German to English or vice versa, depends on my current project).

Let’s play Design Thinking and give the Persona a name:

Hello, my name is Uwe and I’m an ABAP developer. On a daily basis I’m working with translation relevant objects. This is how I’m currently working

1. Text elements

I’m using the following format, because no comment for text-xxx is needed


WRITE:/ 'This is just a test'(001).

With <f2> on the text I’m creating the element.

Image2.png

Marking the element and going to the translation are just two clicks away

Image3.png

After entering the text, save and exit I’m finished.

Image4.png

2. Messages

MESSAGE i002(ytestmsg) WITH 'Another test'(002).

<F2> on “i002” and the message will be created.

Again: after entering the text I’m going directly to the translation

Image5.png

Translate the text save and exit. Finished

Image6.png

3. Data element labels

After entering the last Field label I’m going immediately to the translation

Image7.png

Translate all text save and exit. Finished

Image8.png

Or do you have another translation procedure? Do you have in-house rules?

In Eclipse we currently have this situation: after <f3> on a non-existing text element or message we get

Image9.png

(Object not found. Creation via navigation not supported)

To be honest: I had to google where to find the text elements. Here you are:

Image10.png

The result is, that we end in the SAP GUI. Would be nice if we’ll get an Eclipse tool for text element, but that’s not part of this blog post.

Now my dear developer college it’s up to us to help SAP to “translate” this workflow to the Eclipse world.

Suggestion 1

a new Eclipse view which is active for every translation relevant object

Suggestion 2

a new tab in the properties view

Image11.png

Looking forward to your opinion. (and I promise you: SAP is listening ๐Ÿ˜‰ )

You can find me on Twitter and G+

To report this post you need to login first.

21 Comments

You must be Logged on to comment or reply to a post.

  1. Christian Guenter

    Hi Uwe,

    In Eclipse we currently have this situation: after <f3> on a non-existing text element or message we get

    Image9.png

    (Object not found. Creation via navigation not supported)

    it’s already possible in eclipse to create texts via quick fix. This works almost the same as F2 in classical SAPGui (and i really like this quick fix thing).

    2016-05-11 16_26_14-.png

    (Sorry for the german and english mixture. The first line means ‘create text 002 in textpool’)

    Then a nice form appears. Maybe another option could be that you can maintain translations directly in this form?

    2016-05-11 16_27_40-ABAP_2 - Program Z_TEST_TEXT3 [DVA] - inactive, locked - DVA_010_guenterc_de - E.png

    Otherwise i’ll vote for suggestion 1.

    Regards Christian

    (0) 
    1. Uwe Fetzer Post author

      Hi Christian,

      oh, this is a bit inconsistent then:

      • I thought “quick fix” is just to “fix” something broken (yellow or red underlined)
      • there IS a form to enter text elements, but it will NOT be called, if I want to jump exactly to this text (by pressing <f3>), let it be to create or change the text

      Eclipse team: can you “quick fix” the second point ๐Ÿ˜‰

      (0) 
      1. Suhas Saha

        “Quick Fix” is the master-key to all the developer woes – refactoring, method extraction, method creation, local data declaration etc.

        In 😘 with “Ctrl + 1”  …

        (0) 
      2. Christian Guenter

        there IS a form to enter text elements, but it will NOT be called, if I want to jump exactly to this text (by pressing <f3>), let it be to create or change the text

        yes, good point.

        (0) 
      3. Christian Guenter

        I thought “quick fix” is just to “fix” something broken (yellow or red underlined)

        well, actually it isn’t a quick fix but a quick assist function (others are e.g. refactorings). It’s a bit confusing though that both are accessible under the same shortcut. For quick asisst there’s also a seperate view with the same name.

        So it seems that whole text and translation thing is a good candidate for quick assist.

        (0) 
        1. Michael Gutfleisch

          Quick Fix or Quick Assist, that’s the question ๐Ÿ˜‰

          Uwe said that a quick fix should be provided if something is broken (yellow or red underlined).

          Well, a missing text element which is adressed in the code is kind of (at least minor) issue, isnt’t it? Ok, syntax check does not tell, but there is an ATC check which marks a missing text element as warning.

          This means that running an ATC check before would make a quick assist to a quick fix…

          This is one of the reasons, why we dicided to provide all that stuff into the CTRL-1 and just call it quick assist.

          I like the idea to connect this feature also to F3 navigtion, we will figure out how to do this.

          Regards,

          Michael

          (0) 
        1. Uwe Fetzer Post author

          Isn’t this a bit of a surprising behaviour? Everywhere else I’m able to jump to just by pressing <f3>.

          (and I don’t like surprises if I’m using software)

          (0) 
    2. Martin Fischer

      First of all thanks Uwe for continuing the discussion here.

      I would also go for the solution Christian suggested: integrate it on the “quick fix” form.

      Maybe a “translation” button below the langugage field opening a dialog in table format with two columns language and text could solve it.

      Uwe Fetzer I have the same workflow as you have and never had a customer with a separate translation team

      (0) 
  2. Thomas Fiedler

    Hi Uwe,

    thanks for the feedback concerning the translation topic. We are planning to integrate the translation of UI texts closer with the editor where you enter the text. So your proposals are very helpful.

    Questions: 

    – Is it not sufficient to just switch the language in the editor and enter the translated text in the same input field for the text?

    – Which features of the translation transaction (SE63) are you using in addition to just enter the translated text?


    Regards,

    Thomas.

    (0) 
    1. Uwe Fetzer Post author

      Hi Thomas,

      in the translation tool I’m using “copy source” and “use proposal” (don’t know exactly the function text)  by double click on the text.

      Regarding you first question: what do you mean with “switch language”? In the source editor? In data elements? (ich stehe gerade auf dem Schlauch)

      (0) 
      1. Thomas Fiedler

        Hi Uwe,

        I mean that you just switch the editing language in the editor e.g. data element editor (currently this is not possible).

        After the switch to the other language you can enter the translated text and save the object again.

        Regards,

        Thomas.

        (0) 
        1. Uwe Fetzer Post author

          If the entries in the original language are still visible, then yes.

          It’s more an “add addidtional language” than a “switch language”.

          (0) 
    2. Martin Fischer

      Hi Thomas,

      I would like to have a table where I see the source text on the top and where I can enter the translations for several languages at once.

      I’m using the same functions as Uwe.

      Cheers,

      Martin

      (0) 
  3. Uwe Fetzer Post author

    … and don’t forget to add translation possibilities for the new fancy UI annotations in CDS views… #justsaying ๐Ÿ˜›

    (0) 
      1. Thomas Fiedler

        Hi Martin,

        the translations of UI Texts will not be part of the CDS source. They will be stored separetly in a db table.

        Regards,

        Thomas.

        (0) 
  4. Stefan Schmรถcker

    Hello Uwe,

    thank you for starting discussion.  Basically I follow your standard procedure concerning translations, because when there are different objects involved and I don’t translate at once I’ll probably forget a few objects when trying to translate everything retroactivly.

    Concerning the “switching of languages”:  Unless the original is displayed this would behave like a multilingual maintenance view.  And if I ever have to translate these I open two windows to have the original as reference for my translation.  Here the current behavior of the non-eclipse environment is much more comfortable.

    Since this seems to be a whishing well this is roughly what I’d like to see ( painted it in Excel )Unbenannt.png

    Left hand side:  Original texts ( Key = message number or any other identifier ), Type is non-relevant for message-classes but for objects with differing short text types ( i.e. domains where we can translate the domain name and the fixed values ) + the text

    Right hand side:  Translated texts list + tabstrips for every language that I want to translate to ( maybe even with an indicator showing me missing translations ).

    Also the add some way of using/setting the proposals – these really speed up translating.

    And last but not least something I am missing in the “old” environment: Navigation to translate a longtext

    (0) 
  5. Christian Hiller

    Hi Uwe,

    Our company has branch offices in many countries and we solved this by “forcing” the developer/customizer to translate all UI related objects at transport release (English and German are required) Without translation it is not possible to release a transport. Additional we developed a powerful translation tool to make it easy for normal skilled SAP users to do translation in the company/country specific language based on the english/german template. If a new object is released which is UI-relevant a SAP-Workflow is triggered and a special user will be informed.

    For me it will be great to have a easy to handle view to do the translation inside eclipse. Additional an idea could be to provide missing translation information in the ADT Problem View (Warning or maybe Error) with direct navigation into the translation view.

    Looking forward for further proposal/experiences.

    Regards,

    Christian

    (0) 

Leave a Reply