%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Introduzione\\
Le informazioni qui presenti forniscono alcune regole di carattere generale necessarie a facilitare il tema dell'implementazione del plurilinguismo in SmeUP/LoocUP, in particolare la specifica di convenzioni di programmazione RPG per facilitare la traduzione in lingue diverse dall'italiano.
Per permettere una traduzione in modo semplice ed evitare di tradurre il codice sorgente è buona norma separare le informazioni testuali da quelle che invece servono solamente all'esecuzione
del programma. E' necessario prestare attenzione nei vari punti dove vengono usate informazioni testuali.
Il programmatore (specialmente chi scrive programmi standard) deve prestare particolare attenzione a come scrive le costanti. Questo perché aggiungere costanti nuove (non usate in altri programmi o DSP o PRTF) significa poi un corrispondente lavoro di traduzione nelle varie lingue.
Per limitare il proliferare di queste frasi occorre stabilire standard e direttive di sviluppo a cui __TUTTI__ devono attenersi.

!! Sigle\\
Come regola generale le sigle non vanno tradotte, ad esclusione di un buon margine di sicurezza sull'identificazione del reale significato della sigla (es.: IVA è una sigla traducibile).
Nel dubbio è necessario eseguire delle verifiche.

!! Frasi speciali\\
Le frasi che presentano più di una parola con più di uno spazio tra di esse danno con una certa probabilità un significato alla posizione di ogni singola parola che le compone. Per tale motivo vanno tradotte mantenendo fisse tali posizioni.
Le considerazioni presentate sono state evidenziate dai collaboratori addetti alle traduzioni in lingua e all'estrazione delle costanti dai programmi RPG.

!!! Abbreviazioni\\
* Usare sempre il punto subito dopo la parola che si intende abbreviare:\\
||__FORMA ESTESA__||__ABBREVIAZIONE__
|Commerciale  | Comm.\\
|Articolo   | Art.\\
|Documento   | Doc.\\
|Livello      | Liv.\\
|Numero      | Num.\\
\\

__ECCEZIONI__: "Quantità" è comunemente accettato come "Qtà" (la à accentata e indispensabile per distinguere l'abbreviazione di quantità da quella di quota).

* Per agevolare la comprensione, le parole abbreviate devono contenere almeno 3 lettere:\\
||__FORMA ESTESA__||__ABBREVIAZIONE CORRETTA__||__ABBREVIAZIONE DA EVITARE__
|Codice   | Cod.    |Cd\\
|Oggetto   | Ogg.       |Og.\\
|Classe    | Clas.    |Cl.\\
\\

* Evitare di abbreviare parole già corte in partenza (meno di 5 caratteri):\\
||__FORMA ESTESA__||__ABBREVIAZIONE DA EVITARE__
|Tipo   | Tp.\\
|Riga   | Rig.\\
|Data    | Dta o Dt o D.\\
\\

* Evitare ASSOLUTAMENTE frasi del tipo:\\
__N° record T.R. Tipo Rich. N°Rg L St T Cod.Oggetto Cod.Ente__
__Op Ag Tg St Qta Pre  Qta Eff  Qta Sco  %Sc Val.Sc.__
__L ST TCm NC PR Com.Rifer. Data__
perché intraducibili una volta estratte dal loro contesto.

__N.B.__: "Imp." così abbreviato si presta purtroppo a svariate interpretazioni (imposta, imponibile, importo, impostazione, importante, importare, implosione, impatto, ecc...). Sarebbe dunque auspicabile evitare tale abbreviazione. Se questo non fosse possibile, provvedere ad abbreviare la parola nel modo più chiaro possibile, per evitare confusioni durante la traduzione.

!!! Acronimi\\
Sempre maiuscoli, senza spazi e con il punto che segue le lettere:
||__FORMA ESTESA__||__ACRONIMO__||_h_ACRONIMO DA EVITARE
|Unità di Misura  | U.M.    |Um\\
|Codice Fiscale  | C.F.       |C.f\\
|Non conformità   | N.C.    |NC\\
\\

__ECCEZIONI__: acronimi entrati nel linguaggio comune, quali CAP, IVA, ABI-CAB, CEE, vanno lasciati così, senza l'utilizzo del punto, ma mantenendo sempre le maiuscole.

!!! Incolonnamento\\
Evitare frasi contenute in un'unica variabile (sia per problemi di andata a capo di una parola, sia per ragioni di allineamento, dato che una parola tradotta può essere più o meno lunga dell'originale):
__"ente           articolo           c"__
__"odice          strumento       disp"__
__"onibile   "__

Questo accade in particolare nelle specifiche di output.
Soluzione: inserire ogni parola in una variabile senza spazi.

!!! Costanti\\
Quando si utilizzano costanti che NON devono essere tradotte, bisogna inserire la parola chiave "COSTANTE" nel campo Comments. In questo modo il programma per l'estrazione automatica ignora la costante e non la segnala come costante non estratta.
Es.:
__D F19I            C         CONST('ABCDEMNOPQabcdemnopq')__
__D F19I            C         CONST('ABCDEMNOPQabcdemnopq')        COSTANTE__

!!! Traduzione delle schiere\\
La traduzione delle schiere nei programmi avviene dinamicamente quando il programma viene eseguito. La sostituzione vera e propria della costante con la sua traduzione avviene con la chiamata della /copy £LIN, tipicamente nella £INIZI di ogni programma.

__N.B.__: Vengono tradotte solamente le costanti presenti in schiera, quindi è fondamentale non inserire costanti letterali sparse nel codice, ma sempre in una schiera.

!!! Caratteri particolari\\
Evitare l'utilizzo dei segni "+" e "x" come abbreviazioni delle parole "più" e "per", perchè possono essere confusi con i segni veri e propri e non hanno un corrispondente nelle lingue di traduzione.

!!! Utilizzo utility _3_e Nome Sorgente_n_\\
Dopo aver creato nuove costanti è possibile verificare che siano state incluse tutte nelle schiere e che non ci siano errori (per esempio di battitura) eseguendo il comando ''e nome_sorgente''(e A£SER_01 per esempio) dalla riga dei comandi.
Dopo essere entrati nell'utility, indicando il comando ''12'', è possibile analizzare una prima traduzione (dove esiste) delle stringhe inserite nella lingua inglese (lingua di riferimento nelle traduzioni) ed è possibile individuare eventuali anomalie (come costanti non in schiera).

!!! Specchietto riepilogativo\\
Ora individuiamo brevemente i punti da tenere bene in mente:
||__Numero_Nota__||__Oggetto__||__Descrizione__
|1   | __Abbreviazioni__  |Usare il punto; Abbreviazione non inferiore ai 3 caratteri; Non abbreviare parole già corte\\
|2  | __Acronimi__ |Utilizzare lettere maiuscole e punti salvo eccezioni\\
|3  | __Incolonnamento__ |Evitare frasi contenute in una sola variabile\\
|4   | __Costanti__ |Inserire la parola chiave COSTANTE nel campo Comments per costanti che non devono essere tradotte in lingua\\
|5   |__ Traduzione delle schiere__ |Inserire costanti letterali esclusivamente internamente di schiere, non liberamente nel programma\\
|6   | __Caratteri particolari__ |Evitare utilizzo dei segni + e X come abbreviazioni delle parole più e per\\
|7   | __Utility e__ |Per controllare che le stringhe siano state inserite correttamente\\
\\