M23_1 hat geschrieben: ↑29.04.2020 20:09
Und meine erste Frage wäre, wie werden die zu übersetzenden Überschriften ("Bestellnummer", "Liefertermin", "Lieferant" usw.), Tabnamen usw. aus dem Quellcode herausgefischt? Wenn ich mich nicht täusche, gibt es für jedes Interfaceelement einen bestimmten Objekttyp, oder?
Moin Michael!
Das lässt sich nicht pauschal beantworten. Ein Report oder eine Dialogtransaktion besteht aus einer Vielzahl von Elementen. Diese kannst du dir alle in der Transaktion SE63 ansehen. Das "Herausfischen" übernimmt entweder ein spezialisiertes Programm (ich kenne zum Beispiel Dragoman) oder die Texte werden direkt in dem Objekt (Programm, Datenelement, Dokumentation etc) oder eben in der SE63 übersetzt.
In der Regel besteht ein Programm aus folgenden Elementen:
- Programmtexte (Überschriften, Programmsymbole, Selektionstexte)
- Dynpros
- Titlebar
- Funktionen. Diese werden im GUI-Status definiert
Das sind alles Elemente, die zu einem Programm gehören und zu diesem übersetzt werden müssen.
Dann gibt es "unabhängige" Elemente:
- Datenelemente
- Suchhilfen
- Festwerte zu Domänen
- alle Möglichen Arten von Langtexten (F1-Hilfe/ Doku, "Text im Dialog" etc).
- Einträge aus Tabellen (Customizing oder Stammdaten wie z.B. Auftragsarten, Werke, Materialtexte, etc)
- Meldungen
- usw
Diese gehören nicht zum Programm, sondern werden nur verwendet (eingebunden).
Jetzt kann es aber auch sein, dass ein Programm einen Funktionsbaustein aufruft, der wiederum ein Popup anzeigt. die Texte des Popups gehören dann zu der Funktionsgruppe. Das ist für den Anwender aber nicht ersichtlich.
In der Regel kannst du bei jedem Objekt in der zugehörigen Transaktion über das Menü
Springen - Übersetzung einen Dialog aufrufen, in dem du die Texte übersetzen kannst.
Dann wird noch unterschieden zwischen
technischen Texten und
Anwendertexten. Die Bezeichnung eines Datenelements z.B. bekommt ein Anwender nie zu sehen. Die Überschriften hingegen schon.
Übersetzung in SAP-Systemen sind für mich das Schlimmste überhaupt (und ich bin Kummer gewohnt...). Konfus, nicht nachvollziehbar, zerstückelt, fehlerhaft und fehleranfällig. Ich habe mal versucht, die Übersetzungsworkbench so einzurichten, dass man Entwicklungen zielgerichtet und einigermaßen sicher übersetzen kann.
Ich habe hier kläglich versagt.
Grundsätzlich sollte diese Workbench so funktionieren, dass du alle übersetzungsfähigen Texte zu Paketen und bestimmten Objekttypen (Programme, Klassen, Datenelemente etc) sammeln, in Arbeitsvorräten speichern und durch verschiedene Übersetzer übersetzen lassen kannst.
Du kannst einen Text sogar unterschiedlich bewerten und z.B. definieren: "Die Übersetzung ist so ganz ok, bin mir aber nicht ganz sicher ob das immer so heißt". Oder du kannst definieren, dass ein Text ins Wörterbuch aufgenommen und gleiche Texte automatisch übersetzt werden sollen. Zudem kannst du Berechtigungen darüber legen und festlegen, dass Übersetzung noch einmal fachlich bestätigt werden müssen.