Traduzioni

From SageDev KB
Jump to navigation Jump to search

Parametrizzazione[edit]

Traduzione elementi strutturali[edit]

Brevemente: ci sono tre tabelle in cui vengono memorizzate le traduzioni:

  • APLSTD per i Menù locali
  • ATEXTE per i testi identificati da un numero
  • ATEXTRA per i testi traducibili (quelli in cui si può inserire una traduzione con il tasto destro del mouse)


Molte delle funzioni si trovano al menu Traduzione → Software

  1. Traduzione Menù locali (ALOCTRAD): voci e traduzioni sono salvate nella tabella APLSTD
  2. Testi identificati da un numero
    • Traduzione testi (GESATR): per tradurre i testi identificati da un numero (per esempio il 36854 → "Caricamento patch"); traduzioni contenute nella tabella ATEXTE
    • Testi da tradurre (ATXTTRAD): come il precedente ma permette di ricercare con modalità diverse; impostare numero testo >104000, seguire il punto di domanda ? per capire dove vengono usati i testi.
  3. Traduzione videata (GESAMD): traduzione delle descrizioni dei campi delle videate; contenute in ATEXTE (utilizzabile quindi anche GESATR)
  4. Traduzione struttura tabelle (GESATT): traduzione delle descrizioni dei campi delle tabelle; contenute in ATEXTE (affinchè le traduzioni vengano generate, venga cioè creato il file corrispondente, bisogna attivare il flag "generazione testi traducibili" presente nel riquadro "Gestione tabella" della scheda "Generale" della corrispondente tabella)
    • Le traduzioni dei campi di tipo ATX sono nella tabella ATEXTE, usare quindi GESATR
    • Le traduzioni dei campi di tipo AXX, AX1, AX2, AX3 sono nella tabella ATEXTRA usare la funzione FUNTRAAXX indicando la tabella corrispondente
  5. Traduzione tabelle diverse: le traduzione degli elementi sono contenute in ATEXTRA, usare la funzione FUNTRAAXX indicando nella textbox tabella la dicitura "ATABDIV"
  6. Traduzioni nomi transazioni: notare che al menu Parametrizzazione, nei vari sottomenu Acquisti, Vendite, CRM, Stock ecc ci sono delle voci-menu con la parola “Transazioni”.
    Andare nella funzione per la gestione della transazione corrispondente (per esempio GESSLI per transazioni fatture o GESPTC pre Ordini), selezionare la transazione voluta e utilizzare la voce "Traduzioni on-line" che compare cliccando il tasto destro del mouse; traduzioni contenute in ATEXTRA.
  7. Traduzione testata del browser di selezione (parte sinistra dello schermo): si deve aprire una sessione nella lingua in cui si vuole tradurre, andare all'oggetto corrispondente e modificare il testo (la tabella usata è ATEXTE). Poi rivalidare la finestra.
  8. Traduzione help: Vedi Help

Validazione[edit]

Ricordarsi di validare gli oggetti coinvolti dalla modifica:

  • la videata se viene tradotto qualche suo testo
  • il menu con VALMENU
  • la finestra se non ci sono transazioni, o la singola transazione: per esempio in Parametrizzazione → Vendite → Listini → Parametrizzazione se si modificano dei testi di una transazione dei listini.
  • per validare tutte le transazioni GENMSKTRT

Se ci sono troppi punti in cui viene usata la traduzione si può rivalidare il dossier tramite la funzione VALDICO, in cui va spuntato in genere Finestre e finestre generate per coinvolgere tutte le finestre generate dalle transazioni. Da questa funzione si può rivalidare il singolo codice attività.

Funzione FUNTRAAXX[edit]

Questa funzione serve per tradurre gli elementi memorizzati nella tabella ATEXTRA.

Dal menu Parametrizzazione → Traduzione testi (funzione FUNTRAAXX): tradurre i testi traducibili di una tabella (tipo dato AX1 AX2 AX3); per esempio il campo DES1AXX della tabella ITMMASTER.

Per ricercare direttamente nella tabella ATEXTRA: individuare i valori chiave, ossia il nome della tabella e il nome del campo. Per recuperarli andare nella maschera in cui compare ciò che va tradotto, per esempio GESSLI, con F6 individuare il campo da tradurre e il nome della videata; dalla videata recuperare il nome della tabella utilizzata; poi seguire le istruzioni relative alla tabella ATEXTRA. Per le tabelle diverse ricordare che la tabella ATABDIV contiene gli elementi, la tabella ATABTAB le definizioni; eventuali traduzioni in genere si inseriscono sugli elementi.


Per esempio, per tradurre le descrizioni delle tabelle diverse (ATABDIV), per vedere la tabella diversa 6052: aprire la tabella ATEXTRA in GMAINT (con F7), impostare il criterio di selezione seguente:

CODFIC="ATABDIV" and ZONE="SHODES" and LANGUE="ITA" and IDENT1="6052"

Il campo con la traduzione è TEXTE.

Esistono anche le funzioni FUNTRAAXP (Acquisti) e FUNTRAAXS (Vendite) che sembrano essere in realtà la stessa cosa.


Generazione traduzioni[edit]

...appunti non definitivi... Dall'help di mess: le traduzioni dei testi/menu si trovano nei file dentro la cartella: \\serverX3\C$\SAGE\SAGEX3V6\X3V6\runtime\lan

La generazione dei testi, che crea dei file contenenti tutte le traduzioni, serve solo per le stampe di Crystal Report

Dopo aver modificato una traduzione bisogna generarla; in base al tipo di traduzione va usata una delle seguenti funzioni:

  • GENMENULOC - Aggiornamento menù locali: genera traduzioni dei menù locali
  • GENTXTTRA - Aggiornamento testi traducibili: genera i file con i testi presenti in ATEXTRA (tutti i testi traducibili con tasto destro del mouse → "Traduci on-line"); modificando in questo modo non dovrebbe servire la validazione né l'aggiornamento/generazione dei testi. I file generati servono solo per le stampe in Crystal Report.
  • AGENREFAML - Generazione testi (Generazione tabella menù dei testi): ?
  • ALANG - Generazione descrizioni: ?
  • AGENREFTXT - Generazione Cross Reference: ?

Queste azioni vanno a ricreare dei file in cui sono scritte tutte le traduzioni dei vari testi

Menu locali in Crystal Report[edit]

Per i menu locali in Crystal Report vanno fatti i seguenti passi nell'ordine:

  1. Validazione menù - VALMENU
  2. Agg.Testitraducibili - GENTXTTRA
  3. Agg. Menu locali - GENMENULOC

Campi traducibili[edit]

La gestione dei campi traducibili (tipo dato AX1, AX2, AX3, AXX) va riprodotta manualmente quando definiti su una tabella secondaria (es tabella YTABELLA gestita da GESITM).

I testi traducibili definiti in una tabella (in F7/GESATB) non saranno fisicamente memorizzati in quella tabella, ma tabella ATEXTRA.

Per ogni campo di testo traducibile (es. YDESAXX):

  • per convenzione termina in AXX
  • in genere gli si abbina un campo di sicurezza (es.YDES;in ITMMASTER per es. ci sono ITMDES1-DES1AXX, ITMDES2-DES2AXX...)
  • nel tipo dato vanno inseriti i parametri per leggere/scrivere sulla ATEXTRA ovvero:
    1. TABLE1: nome della tabella contenente il campo specificato tra “ (per esempio "YTABELLA")
    2. ZONE: nome del campo di testo traducibile specificato tra “ (per esempio "YDESAXX")
    3. CLECUR1: un valore che sia chiave per legare la traduzione alla riga dati corretta (per esempio ITMREF, senza apici poichè è il contenuto del campo ITMREF, non la scritta "ITMREF")
  • Gli stessi parametri vanno impostati anche in videata, facendo attenzione a fare riferimento ai campi della videata corretti.
  • Nel sorgente che gestisce l’oggetto vanno inserite queste parti di codice:
$INIMOD
 Gosub MAJ_AXX_YTABELLA
Return

$INICRE
  Gosub MAJ_AXX_YTABELLA
Return

$MAJ_AXX_YTABELLA
  # Creazione/modifica di ATEXTRA; la chiave è recuperata dalla tabella ([F]) 
  Call MAJTEXTRA ([M:YI1]YDESAXX,"YTABELLA","YDESAXX",[F:YII]ITMREF,"") From ATEXTRA

  # Salvataggio di YDES per sicurezza (qualunque sia la lingua)
  [F:YII]YDES = [M:ITM0]YDESAXX 
Return

Il quarto parametro della chiamata MAJTEXTRA può dover essere inserito, dipende da come vengono impostati i parametri del campo traducibile: in tal caso la seconda chiave va impostata anche nei parametri del tipo dato.

Potrebbe servire anche inserire una parte di codice in LIENS

$LIENS
 Gosub LIENS From TABLEAUX
 Call LECTEXTRA([M:YI1]YDESXXX,"YTABELLA","YDESXXX",[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA
 Call AM_REFERENZA([F:YPH]REFERENZA)
Return

Programmazione[edit]

  1. Tabella APLSTD (menu locali e messaggi)
    • Funzione Mess: Funzione Mess(numero messaggio, capitolo,1): restituisce la traduzione del "messaggio/menu locale" indicato nella lingua correntemente utilizzata (vedi funzione TXT)
  2. tabella TEXTE
    • Funzione AFNC.TEXTE: func AFNC.TEXTE(NUMEROMESSAGGIO): Restituisce il testo di un determinato numero nella lingua di connessione.
    • Funzione YSUTILS.TITZONMSK : Restituisce il titolo (descrizione) di un campo di una maschera nella lingua corrente TESTO = func YSUTILS.TITZONMSK("POH0","BPCORD")
  3. tabella ATEXTRA
    • Funzione AFNC.TEXTRA:
      func AFNC.TEXTRA("ATABDIV","LNGDES","901","IMM") restituisce la descrizione estesa del codice IMM della tabella diversa 901
      func AFNC.TEXTRA("ATABDIV","SHODES","6052",VARIABILE) restituisce la descrizione breve del codice contenuto in VARIABILE della tabella diversa 6052
      Nell'help in linea di Sage, per il programma AFNC (TEXTRA, TEXTE), andare su riquadro Sviluppo, Sotto-programma.
    • Call MAJTEXTRA From ATEXTRA: fa la scrittura
      Es. Call MAJTEXTRA([M:YPN0]YDESXXX,"YTABELLA","YDESXXX",[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA
    • Call LECTEXTRA From ATEXTRA: fa la lettura (viene richiamata da AFNC.TEXTRA, che è la chiamata da usare)
      Es. Call LECTEXTRA([M:YPN0]YDESXXX,"YTABELLA","YDESXXX",[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA


Per utilizzare una lingua diversa da quella corrente: modificare la variabile globale GLANGUE (vedi anche Variabili globali)


A titolo di curiosità, per recuperare la traduzione breve direttamente dalla tabella ATEXTRA da programma:

If !clalev([F:YATX]) 
    Local File ATEXTRA [F:YATX] 
Endif 
Read[F:YATX]AXX0 = "ATABDIV";"SHODES";"ITA";"6052";+VARIABILE
TESTO = [F:YATX]TEXTE

dove AXX0 è l'indice della tabella ATEXTRA (CODFIC+ZONE+LANGUE+IDENT1+IDENT2)

Crystal Report[edit]

Vedi Crystal_Report#Traduzioni