[Brainstorming] Translation Tools for ABAP in Eclipse
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.
Marking the element and going to the translation are just two clicks away
After entering the text, save and exit I’m finished.
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
Translate the text save and exit. Finished
3. Data element labels
After entering the last Field label I’m going immediately to the translation
Translate all text save and exit. Finished
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
(Object not found. Creation via navigation not supported)
To be honest: I had to google where to find the text elements. Here you are:
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.
a new Eclipse view which is active for every translation relevant object
a new tab in the properties view
Looking forward to your opinion. (and I promise you: SAP is listening 😉 )
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).
(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?
Otherwise i'll vote for suggestion 1.
oh, this is a bit inconsistent then:
Eclipse team: can you "quick fix" the second point 😉
"Quick Fix" is the master-key to all the developer woes - refactoring, method extraction, method creation, local data declaration etc.
In 😘 with "Ctrl + 1" ...
yes, good point.
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.
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.
you can access the popup again via the Quick assist 'Edit Text'.
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)
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
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.
- 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?
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)
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.
If the entries in the original language are still visible, then yes.
It's more an "add addidtional language" than a "switch language".
"Add Addtional Language" sounds great!
This topic araised again today at #ABAPConf. Any news?
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.
... and don't forget to add translation possibilities for the new fancy UI annotations in CDS views... #justsaying 😛
and again adding more lines of code to CDS view. Still not really convinced...
the translations of UI Texts will not be part of the CDS source. They will be stored separetly in a db table.
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 )
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
I really like your idea!
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.
Today I had to do some translations and I was surprised that I am forced to go to the GUI to create them.
Then I googled and arrived here.
The last input on this topic is from May 2016.
Still no update on how to translate texts in Eclipse?
Yeah it would be nicet to learn how things went on this one!
Just found this blog and found its comments interesting...but also frustrating! By now we have 2019 and ADT still does not show any function for translating texts - not only text elements but also texts in message classes! 🙁
I don't think anyone still tracks this with HANA and CP being the first thing on (SAP-)everybodys mind, but still had to try pushing this...
Any news on effective translation capabilities for SAP objects in eclipse ?