<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.sagedev.it/index.php?action=history&amp;feed=atom&amp;title=Traduzioni</id>
	<title>Traduzioni - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kb.sagedev.it/index.php?action=history&amp;feed=atom&amp;title=Traduzioni"/>
	<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php?title=Traduzioni&amp;action=history"/>
	<updated>2026-07-16T18:54:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://kb.sagedev.it/index.php?title=Traduzioni&amp;diff=47&amp;oldid=prev</id>
		<title>Mwadmin at 08:03, 31 May 2019</title>
		<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php?title=Traduzioni&amp;diff=47&amp;oldid=prev"/>
		<updated>2019-05-31T08:03:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Parametrizzazione ==&lt;br /&gt;
=== Traduzione elementi strutturali ===&lt;br /&gt;
Brevemente: ci sono tre tabelle in cui vengono memorizzate le traduzioni:&lt;br /&gt;
&lt;br /&gt;
*'''APLSTD''' per i Menù locali&lt;br /&gt;
*'''ATEXTE''' per i testi identificati da un numero&lt;br /&gt;
*'''ATEXTRA''' per i testi traducibili (quelli in cui si può inserire una traduzione con il tasto destro del mouse)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Molte delle funzioni si trovano al menu '''''Traduzione &amp;amp;rarr; Software'''''&lt;br /&gt;
&lt;br /&gt;
# Traduzione '''Menù locali''' (''ALOCTRAD''): voci e traduzioni sono salvate nella tabella APLSTD&lt;br /&gt;
# '''Testi''' identificati da un numero&amp;lt;br /&amp;gt;&lt;br /&gt;
#*Traduzione testi (''GESATR''): per tradurre i testi identificati da un numero (per esempio il 36854 &amp;amp;rarr; &amp;quot;Caricamento patch&amp;quot;); traduzioni contenute nella tabella ATEXTE&lt;br /&gt;
#*Testi da tradurre (''ATXTTRAD''): come il precedente ma permette di ricercare con modalità diverse; impostare numero testo &amp;gt;104000, seguire il punto di domanda '''?''' per capire dove vengono usati i testi.&lt;br /&gt;
# Traduzione '''videata''' (''GESAMD''): traduzione delle descrizioni dei campi delle videate; contenute in ATEXTE (utilizzabile quindi anche ''GESATR'')&lt;br /&gt;
# 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 &amp;quot;generazione testi traducibili&amp;quot; presente nel riquadro &amp;quot;Gestione tabella&amp;quot;  della scheda &amp;quot;Generale&amp;quot; della corrispondente tabella)&lt;br /&gt;
#*Le traduzioni dei campi di tipo ATX sono nella tabella ATEXTE, usare quindi ''GESATR''&lt;br /&gt;
#*Le traduzioni dei campi di tipo AXX, AX1, AX2, AX3 sono nella tabella ATEXTRA usare la funzione ''FUNTRAAXX'' indicando la tabella corrispondente&lt;br /&gt;
# Traduzione '''tabelle diverse''': le traduzione degli elementi sono contenute in ATEXTRA, usare la funzione ''FUNTRAAXX'' indicando nella textbox tabella la dicitura &amp;quot;ATABDIV&amp;quot;&lt;br /&gt;
# 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”. &amp;lt;br/&amp;gt;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 &amp;quot;Traduzioni on-line&amp;quot; che compare cliccando il tasto destro del mouse;  traduzioni contenute in ATEXTRA.&lt;br /&gt;
# 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.&lt;br /&gt;
# Traduzione '''help''': Vedi [[Help#Traduzione|Help]]&lt;br /&gt;
&lt;br /&gt;
==== Validazione ====&lt;br /&gt;
&lt;br /&gt;
Ricordarsi di validare gli oggetti coinvolti dalla modifica: &lt;br /&gt;
* la videata se viene tradotto qualche suo testo&lt;br /&gt;
* il menu con '''VALMENU'''&lt;br /&gt;
* la finestra se non ci sono transazioni, o la singola transazione: per esempio in '''''Parametrizzazione &amp;amp;rarr; Vendite &amp;amp;rarr; Listini &amp;amp;rarr; Parametrizzazione''''' se si modificano dei testi di una transazione dei listini.&lt;br /&gt;
* per validare tutte le transazioni '''GENMSKTRT'''&lt;br /&gt;
&lt;br /&gt;
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à.&lt;br /&gt;
&lt;br /&gt;
==== Funzione FUNTRAAXX ====&lt;br /&gt;
&lt;br /&gt;
Questa funzione serve per tradurre gli elementi memorizzati nella tabella ATEXTRA.&lt;br /&gt;
&lt;br /&gt;
Dal menu '''''Parametrizzazione &amp;amp;rarr; Traduzione testi''''' (funzione '''FUNTRAAXX'''): tradurre i testi traducibili di una tabella (tipo dato AX1 AX2 AX3); per esempio il campo DES1AXX della tabella ITMMASTER.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per esempio, per tradurre le descrizioni delle tabelle diverse (ATABDIV), per vedere la tabella diversa 6052:&lt;br /&gt;
aprire la tabella ATEXTRA in '''GMAINT''' (con F7), impostare il criterio di selezione seguente:&lt;br /&gt;
&amp;lt;pre&amp;gt;CODFIC=&amp;quot;ATABDIV&amp;quot; and ZONE=&amp;quot;SHODES&amp;quot; and LANGUE=&amp;quot;ITA&amp;quot; and IDENT1=&amp;quot;6052&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il campo con la traduzione è &amp;lt;code&amp;gt;TEXTE&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esistono anche le funzioni '''FUNTRAAXP''' (Acquisti) e '''FUNTRAAXS''' (Vendite) che sembrano essere in realtà la stessa cosa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generazione traduzioni ===&lt;br /&gt;
&lt;br /&gt;
...appunti non definitivi...&lt;br /&gt;
Dall'help di mess: le traduzioni dei testi/menu si trovano nei file dentro la cartella:&lt;br /&gt;
\\serverX3\C$\SAGE\SAGEX3V6\X3V6\runtime\lan&lt;br /&gt;
&lt;br /&gt;
La generazione dei testi, che crea dei file contenenti tutte le traduzioni, serve solo per le stampe di Crystal Report&lt;br /&gt;
&lt;br /&gt;
Dopo aver modificato una traduzione bisogna generarla; in base al tipo di traduzione va usata una delle seguenti funzioni: &lt;br /&gt;
*'''GENMENULOC''' - Aggiornamento menù locali: genera traduzioni dei menù locali&lt;br /&gt;
*'''GENTXTTRA''' -  Aggiornamento testi traducibili: genera i file con i testi presenti in ATEXTRA (tutti i testi traducibili con tasto destro del mouse &amp;amp;rarr; &amp;quot;Traduci on-line&amp;quot;); 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.&lt;br /&gt;
*'''AGENREFAML''' - Generazione testi (Generazione tabella menù dei testi): ?&lt;br /&gt;
*'''ALANG''' - Generazione descrizioni: ?&lt;br /&gt;
*'''AGENREFTXT''' - Generazione Cross Reference: ?&lt;br /&gt;
&lt;br /&gt;
Queste azioni vanno a ricreare dei file in cui sono scritte tutte le traduzioni dei vari testi&lt;br /&gt;
&lt;br /&gt;
==== Menu locali in Crystal Report ====&lt;br /&gt;
Per i menu locali in Crystal Report vanno fatti i seguenti passi nell'ordine:&lt;br /&gt;
&lt;br /&gt;
#Validazione menù - '''VALMENU'''&lt;br /&gt;
#Agg.Testitraducibili - '''GENTXTTRA'''&lt;br /&gt;
#Agg. Menu locali - '''GENMENULOC'''&lt;br /&gt;
&lt;br /&gt;
== Campi traducibili ==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
I testi traducibili definiti in una tabella (in F7/GESATB) non saranno fisicamente memorizzati in quella tabella, ma '''tabella ATEXTRA'''.&lt;br /&gt;
&lt;br /&gt;
Per ogni campo di testo traducibile (es. YDESAXX):&lt;br /&gt;
* per convenzione termina in AXX&lt;br /&gt;
* in genere gli si abbina un campo di sicurezza (es.YDES;in ITMMASTER per es. ci sono ITMDES1-DES1AXX, ITMDES2-DES2AXX...)&lt;br /&gt;
* nel tipo dato vanno inseriti i parametri per leggere/scrivere sulla ATEXTRA ovvero:&lt;br /&gt;
*#TABLE1: nome della tabella contenente il campo specificato tra “ (per esempio &amp;quot;YTABELLA&amp;quot;)&lt;br /&gt;
*#ZONE: nome del campo di testo traducibile specificato tra “ (per esempio &amp;quot;YDESAXX&amp;quot;)&lt;br /&gt;
*#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 &amp;quot;ITMREF&amp;quot;)&lt;br /&gt;
* Gli stessi parametri vanno impostati anche in videata, facendo attenzione a fare riferimento ai campi della videata corretti.&lt;br /&gt;
* Nel sorgente che gestisce l’oggetto vanno inserite queste parti di codice:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$INIMOD&lt;br /&gt;
 Gosub MAJ_AXX_YTABELLA&lt;br /&gt;
Return&lt;br /&gt;
&lt;br /&gt;
$INICRE&lt;br /&gt;
  Gosub MAJ_AXX_YTABELLA&lt;br /&gt;
Return&lt;br /&gt;
&lt;br /&gt;
$MAJ_AXX_YTABELLA&lt;br /&gt;
  # Creazione/modifica di ATEXTRA; la chiave è recuperata dalla tabella ([F]) &lt;br /&gt;
  Call MAJTEXTRA ([M:YI1]YDESAXX,&amp;quot;YTABELLA&amp;quot;,&amp;quot;YDESAXX&amp;quot;,[F:YII]ITMREF,&amp;quot;&amp;quot;) From ATEXTRA&lt;br /&gt;
&lt;br /&gt;
  # Salvataggio di YDES per sicurezza (qualunque sia la lingua)&lt;br /&gt;
  [F:YII]YDES = [M:ITM0]YDESAXX &lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Potrebbe servire anche inserire una parte di codice in LIENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$LIENS&lt;br /&gt;
 Gosub LIENS From TABLEAUX&lt;br /&gt;
 Call LECTEXTRA([M:YI1]YDESXXX,&amp;quot;YTABELLA&amp;quot;,&amp;quot;YDESXXX&amp;quot;,[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA&lt;br /&gt;
 Call AM_REFERENZA([F:YPH]REFERENZA)&lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmazione ==&lt;br /&gt;
&lt;br /&gt;
#Tabella APLSTD (menu locali e messaggi)&lt;br /&gt;
#*Funzione Mess: Funzione &amp;lt;code&amp;gt;Mess(numero messaggio, capitolo,1)&amp;lt;/code&amp;gt;: restituisce la traduzione del &amp;quot;messaggio/menu locale&amp;quot; indicato nella lingua correntemente utilizzata (vedi funzione '''TXT''')&lt;br /&gt;
#tabella TEXTE&lt;br /&gt;
#*Funzione AFNC.TEXTE: &amp;lt;code&amp;gt;func AFNC.TEXTE(NUMEROMESSAGGIO)&amp;lt;/code&amp;gt;: Restituisce il testo di un determinato numero nella lingua di connessione. &lt;br /&gt;
#*Funzione YSUTILS.TITZONMSK : Restituisce il titolo (descrizione) di un campo di una maschera nella lingua corrente &amp;lt;code&amp;gt;TESTO = func YSUTILS.TITZONMSK(&amp;quot;POH0&amp;quot;,&amp;quot;BPCORD&amp;quot;)&amp;lt;/code&amp;gt;  &lt;br /&gt;
#tabella ATEXTRA&lt;br /&gt;
#*Funzione AFNC.TEXTRA:&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;func AFNC.TEXTRA(&amp;quot;ATABDIV&amp;quot;,&amp;quot;LNGDES&amp;quot;,&amp;quot;901&amp;quot;,&amp;quot;IMM&amp;quot;)&amp;lt;/code&amp;gt;  restituisce la descrizione estesa del codice IMM della tabella diversa 901&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;func AFNC.TEXTRA(&amp;quot;ATABDIV&amp;quot;,&amp;quot;SHODES&amp;quot;,&amp;quot;6052&amp;quot;,VARIABILE)&amp;lt;/code&amp;gt; restituisce la descrizione breve del codice contenuto in VARIABILE della tabella diversa 6052&amp;lt;br/&amp;gt;Nell'help in linea di Sage, per il programma AFNC (TEXTRA, TEXTE), andare su riquadro Sviluppo, Sotto-programma.&lt;br /&gt;
#*Call MAJTEXTRA  From ATEXTRA: fa la '''scrittura'''&amp;lt;br/&amp;gt;Es. &amp;lt;code&amp;gt;Call MAJTEXTRA([M:YPN0]YDESXXX,&amp;quot;YTABELLA&amp;quot;,&amp;quot;YDESXXX&amp;quot;,[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Call LECTEXTRA From ATEXTRA: fa la lettura (viene richiamata da AFNC.TEXTRA, che è la chiamata da usare)&amp;lt;br/&amp;gt;Es. &amp;lt;code&amp;gt;Call LECTEXTRA([M:YPN0]YDESXXX,&amp;quot;YTABELLA&amp;quot;,&amp;quot;YDESXXX&amp;quot;,[F:YPH]YBPCNUM,[F:YPH]YID) From ATEXTRA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per utilizzare una '''lingua diversa''' da quella corrente: modificare la variabile globale '''GLANGUE''' (vedi anche [[Variabili_globali|Variabili globali]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A titolo di curiosità, per recuperare la traduzione breve direttamente dalla tabella ATEXTRA da programma:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If !clalev([F:YATX]) &lt;br /&gt;
    Local File ATEXTRA [F:YATX] &lt;br /&gt;
Endif &lt;br /&gt;
Read[F:YATX]AXX0 = &amp;quot;ATABDIV&amp;quot;;&amp;quot;SHODES&amp;quot;;&amp;quot;ITA&amp;quot;;&amp;quot;6052&amp;quot;;+VARIABILE&lt;br /&gt;
TESTO = [F:YATX]TEXTE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove AXX0 è l'indice della tabella ATEXTRA (CODFIC+ZONE+LANGUE+IDENT1+IDENT2)&lt;br /&gt;
&lt;br /&gt;
== Crystal Report ==&lt;br /&gt;
Vedi [[Crystal_Report#Traduzioni]]&lt;/div&gt;</summary>
		<author><name>Mwadmin</name></author>
	</entry>
</feed>