Translation assistance/de
Übersetzungshilfe
Erstmal die Anzahl der gleichen Einträge in allen translation Tabellen suchen.
select help, count(*) from ( select help from AD_ELEMENT_trl where ad_language='de_DE' union all select help from AD_FIELD_trl where ad_language='de_DE' union all select help from AD_DESKTOP_trl where ad_language='de_DE' union all select help from AD_FORM_trl where ad_language='de_DE' union all select help from AD_PROCESS_PARA_trl where ad_language='de_DE' union all select help from AD_PROCESS_trl where ad_language='de_DE' union all select help from AD_REFERENCE_trl where ad_language='de_DE' union all select help from AD_TAB_trl where ad_language='de_DE' union all select help from AD_TASK_trl where ad_language='de_DE' union all select help from AD_WF_NODE_trl where ad_language='de_DE' union all select help from AD_WINDOW_trl where ad_language='de_DE' union all select help from AD_WORKBENCH_trl where ad_language='de_DE' union all select help from AD_WORKFLOW_trl where ad_language='de_DE' ) foo group by help order by count(*) desc;
Nun legen wir den type table_names an.
create type table_names is table of varchar(20);
Dann tragen wir folgende procedure
create or replace PROCEDURE ob_translation( newtxt IN VARCHAR2, oldtxt IN VARCHAR2, lang IN VARCHAR2 ) IS type table_names is table of varchar(20) index by binary_integer; myTables table_names; begin myTables(1) := 'AD_FIELD_TRL'; myTables(2) := 'AD_ELEMENT_TRL'; myTables(3) := 'AD_DESKTOP_TRL'; myTables(4) := 'AD_FORM_TRL'; myTables(5) := 'AD_PROCESS_PARA_TRL'; myTables(6) := 'AD_PROCESS_TRL'; myTables(7) := 'AD_REFERENCE_TRL'; myTables(8) := 'AD_TAB_TRL'; myTables(9) := 'AD_TASK_TRL'; myTables(10) := 'AD_WF_NODE_TRL'; myTables(11) := 'AD_WINDOW_TRL'; myTables(12) := 'AD_WORKBENCH_TRL'; myTables(13) := 'AD_WORKFLOW_TRL'; for i in 1..mytables.count loop execute IMMEDIATE 'UPDATE '||myTables(i)||' SET help=||newtxt|| WHERE ad_language=||lang|| AND help=||oldtxt||'; end loop; commit; END;
in eine Datei mit z.b. namen oracle-procedure.sql. Jetzt loggen wir uns in die Oracle DB mit sqlplus ein. Wir benutzen den Benutzer für die openbravo db, welcher normalerweise TAD ist.
sqlplus tad
Dann spielen wir die procedure ein mit folgendem Befehl
get /path/to/oracle-procedure.sql
und kompilieren dann diese procedure mit
/
Wenn dies geklappt hat, können wir help texte mit folgendem Statement austauschen
execute ob_translation('Mein neuer hilfetext.', 'alter hilfetext', 'de_DE');
Mann kann auch im webinterface SQL-Commands fenster, die procedure ausführen
begin ob_translation('Mein neuer hilfetext.', 'alter hilfetext', 'de_DE'); end;
tabellen ohne help-column
ad_fieldgroup_trl, ad_menu_trl (nur description), ad_message_trl (nur msgtext), ad_printformatcterm (existiert nicht), AD_PRINTLABELLINE_trl (no data found), AD_REF_LIST_trl (nur description), AD_TEXTINTERFACES_trl (nur text), AD_COUNTRY_trl (existiert nicht), AD_DOCTYPE_trl (existiert nicht), AD_DUNNINGLEVEL_trl (existiert nicht), AD_ELEMENTVALUE_trl (exitiert nicht),AD_GREETING_trl (exitiert nicht), AD_PAYMENTTERM_trl (exititert nicht), AD_TAXCATEGORY_trl (exitiert nicht), AD_TAX_trl (exitiert nciht),AD_UOM_trl (exitiert nicht),