View Full Version : Editieren einer Messagefile
Hallo Forum,
ich habe folgendes Problem. Ich muss eine
Mehrsprachigkeit in eine Messagefile
bringen mit ziemlich vielen Einträgen.
Hat jemand eine Idee wie man so etwas
umsetzen könnte. Leider ist auf dem
System nur R440 installiert und deshalb ist
das API QMHRTVM wahrscheinlich keine
Alternative.
gruss TARASIK
moin moin,
da gibt es ein tool von sss-software. nls oder so
gruß ronald
Hallo Ronald,
vielen Dank für die schnelle Antwort.
Ich schaue mir einmal das Tool an.
gruss TARASIK
Hallo an Alle,
das mit dem Tool ist schon nicht schlecht,
macht aber nicht das, was wir erwarten.
Wir suchen nach einer Möglichkeit in einer
Messagefile nach einem Suchstring zu
suchen und wenn gefunden dann durch in
unserem Fall eine Übersetzung zu ersetzen.
gruss TARASIK
Hallo.
Das gleiche Problem habe ich wie folgt geloest:
DSPMSGD RANGE(*FIRST *LAST) MSGF(XX) DETAIL(*BASIC) OUTPUT(*PRINT)
Spoolfile in Datei ausgeben. (In SRCFILE kann man mit SEU auch mit der Hand am Arm übersetzen...)
Anschliessend die Datei lesen und mit CHGMSGD den MSG-Eintrag ändern.
Vielleicht gehts damit.
Viel Erfolg.
Gruss Joe
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von TARASIK:
Hallo an Alle,
...Wir suchen nach einer Möglichkeit in einer
Messagefile nach einem Suchstring zu
suchen ...[/quote]
Hallo Tarasik,
zumindestens einen Teilerfolg kannst Du mit dem SCNMSGF von BVSTools erzielen. Link unter http://www.help400.de in der Freeware Sektion.
Gruss Reinhold
Hallo Joe und hallo Reinhold,
vielen Dank für Eure Tips. Wir haben damit
grosse Probleme, da ein komplettes Paket
mehrsprachig gemacht werden soll und es
ist ziemlich Zeitaufwendig diese ganzen
Sachen "zu Fuss" zu machen. Das Tool NLS/400
bietet dies vielleicht in Zukunft, aber für
jetzt bleibt uns immer noch das Problem.
Wahrscheinlich ist es die beste Lösung mal
nach einem IBM API zu suchen und das ganze
selbst zu schreiben.
Nochmals Danke und gruss
TARASIK
Hallo Tarasik,
wenn Du in einer Message-File bestimmte Strings (z.B. Kunde --> Client) übersetzen willst, kannst Du folgendes machen.
1. Mit DSPMSGD eine Spool-File erzeugen:
DSPMSGD RANGE(*FIRST *LAST) MSGF(MyLib/MyMsgF)
DETAIL(*BASIC) OUTPUT(*PRINT)
2. Aus der Spool-File eine Datei generieren
Am Besten Du legst Dir ein DDS an mit einem Feld von Stelle 2-8 für die Message-Id und ab Stelle 16 ein Feld für Message-Text.
Dann kopierst Du die Spool-File in diese Datei:
CPYSPLF FILE(QPMSGD) TOFILE(MyLib/MyFile)
SPLNBR(*LAST)
3. Mittels SQL oder RPG kannst Du dann diese Datei bearbeiten.
4. Anschliessend kannst Du dann mit dem CL-Command CHGMSGD die geänderte Nachricht in die Original-Message-File zurückschreiben.
(Die Message-Id hast Du ja in dem separaten Feld.)
Wenn Du die Einträge in einer neuen Message-File erstellen willst musst Du den CL-Befehl ADDMSGD verwenden.
Dies ist leider auch nur eine zu Fuss-Methode, aber vielleicht hilft es Dir weiter.
Wenn Du Texte (mit Grammatik usw.) umsetzen und weiterhin vernünftig warten willst, bietet NLS wesentlich bessere Möglichkeiten.
Wie garantierst Du z.B. in Zukunft, dass Änderungen in beiden Message-Files gemacht wurden?
Birgitta
Hallo Birgitta,
vielen Dank für Deine Mühe. Wir haben in
der Zwischenzeit mit dem Hersteller von
NLS/400 Kontakt und es sieht so aus als
wenn in naher Zukunft diese Anforderung
"Suchen und Ersetzen" eingebaut werden
wird.
Gruss TARASIK