In questo articolo verrà descritto come configurare e gestire un’installazione di Sme.UP “in lingua”.

Cosa significa “ambiente in lingua”?

Avere un ambiente in lingua significa avere un ambiente localizzato per una nazione diversa da quella base di Sme.UP ERP che è l’Italia.

In questo ambito, quando parliamo di localizzazione stiamo parlando di:

  • traduzioni
  • separatori decimali
  • separatori delle migliaia
  • formato della data

Quindi avere un ambiente in lingua significa poter ad esempio avere un ambiente con traduzione in inglese, separatore decimale “.”, separatore delle migliaia “,” e data nel formato mese/giorno/anno.

Da notare che tutte queste impostazioni di localizzazione sono indipendenti sia dal database che dai sorgenti dei programmi.

Quindi io posso configurare per una stessa azienda un ambiente in italiano (per gli utenti italiani) e uno, o più, con localizzazioni straniere (ad esempio per gli utenti inglesi e francesi). Tutto questo senza necessità di duplicazione né dei dati né dei programmi e con la la possibilità di funzionamento parallelo dei vari ambienti.

Altre due caratteristiche molto importanti delle installazioni in lingua sono la separazione tra quelle che sono le traduzioni standard e quelle specifiche del cliente e la possibilità di avere traduzioni diverse a fronte della stessa frase originale.

Quanto detto ovviamente si adatta al device che stiamo utilizzando, quindi non ci saranno differenze a seconda che ci si colleghi agli ambienti utilizzando client grafici, browser web o app mobile.

Premessa importante

Per capire meglio quanto segue, è importante comprendere due concetti molto importanti introdotti in Sme.UP:

Ambito

L’ambito è un’informazione che ha lo scopo principale di distinguere le frasi (e le relative traduzioni) standard da quelle personali.

Questo (come vedremo in dettaglio successivamente) consente di:

  • Individuare a chi compete la traduzione
  • Determinare una priorità in presenza di traduzioni contrastanti
  • Aggiornare le traduzioni standard senza modificare quelle specifiche del cliente

Tecnicamente è un codice di due cifre.

  • Gli ambiti <10 (tipicamente 00) sono standard
  • Gli ambiti >=10 sono specifici del cliente

Contesto

Il contesto è quell’informazione che consente di tradurre in modi differenti la stessa frase.

Un termine italiano può necessitare traduzioni differenti, perché può significare cose diverse in diversi contesti.
L’esempio classico è il termine “stato”, traducibile in inglese con “country” (nazione) oppure “status” (stato di un oggetto).

Ogni frase viene quindi associata ad un contesto specifico, quindi ad ogni frase è possibile associare una traduzione diversa.

Come configurare l’ambiente

Questi sono i passi fondamentali per configurare correttamente un ambiente in lingua:

  1. Raccogliere le info necessarie
  2. Definire gli ambiti personali
  3. Impostare gli ambienti applicativi
  4. Impostare l’estrazione globale (facoltativo ma consigliato)
  5. Impostare la tabella A£1
  6. Effettuare le operazioni finali per gli ambiti personali:
    1. estrazione
    2. preparazione
    3. traduzione
    4. generazione oggetti in lingua

1. Raccogliere le info necessarie

Il primo passo è chiaramente la raccolta di tutte le informazioni che poi serviranno in fase di configurazione:

quali lingue andranno gestite, quali impostazioni di localizzazione serviranno, quali ambienti andranno impostati in lingua, quali sono le librerie coinvolte, ecc.

2. Definire gli ambiti personali

E’ poi necessario definire quali saranno gli ambiti necessari all’installazione e andrà compilata di conseguenza una exit.

Nel caso di un’unica azienda da gestire in lingua è sufficiente l’ambito personalizzato 10, da associare alle librerie utente (sia programmi che dati).

Nel caso di più aziende con la stessa lingua sullo stesso sistema, si consiglia di mantenere le traduzioni nella libreria di dati comune. Si associa quindi l’ambito 10 a tutto ciò che è comune (dati, programmi, script, ecc.) e poi si definisce un ambito diverso per ogni azienda (es. ambiti 11, 12, 13, ecc.).

3. Impostare gli ambienti applicativi

In questa fase è necessario configurare correttamente le liste librerie dei vari ambienti, le impostazioni di localizzazioni (tabella A£B) e bisogna decidere quali tabelle devono essere tradotte.

4. Impostare l’estrazione globale (facoltativo ma consigliato)

Questo è un passo non obbligatorio ma fortemente consigliato.

E’ possibile configurare una exit in cui andare a specificare tutte le le librerie e i file (sia source che dati) da cui andranno estratte le frasi da tradurre.

Questo passo semplifica enormemente i passi successivi.

5. Impostare la tabella A£1

La tabella A£1 è la tabella di configurazione generale delle traduzioni. Qui è possibile andare a regolare vari comportamenti e automatismi (come ad esempio l’estrazione automatica delle descrizioni degli elementi di tabella al loro inserimento/modifica).

6.1 Estrarre

L’estrazione è la fase in cui vengono appunto estratte (in modo automatico o semiautomatico) tutte le frasi che poi andranno tradotte.

Le frasi standard sono già state estratte e vengono fornite con l’installazione. Sarà quindi necessario effettuare l’estrazione dai soli oggetti personali o personalizzati.

L’estrazione avviene per frase/contesto. Quindi (come detto in precedenza) ogni frase sarà assegnata ad un contesto con la possibilità appunto di differenziarne le traduzioni. Le frasi estratte (provenendo da oggetti non standard) verranno abbinate all’ambito opportuno in base alla libreria da cui vengono estratte. Essendo estrazioni da librerie personali saranno tutti ambiti >= 10.

Viene inoltre memorizzata la lunghezza che sarà utilizzata in traduzione.

6.2 Preparare

La preparazione è la fase in cui le frasi vengono appunto “preparate” per poter essere tradotte.

In questa fase è possibile impostare alcuni automatismi per cui, ad esempio, si cerca la traduzione in frasi “simili”.

6.3 Tradurre

Questa è la fase di traduzione vera e propria. Mediante l’uso di tool appositi è possibile verificare quali frasi non sono tradotte e tradurle.

Per tradurre le frasi mancanti è possibile avvalersi di funzionalità di “auto-completamento”: è possibile tradurre le frasi mancanti a partire da altre traduzioni della stessa lingua oppure tradurre a partire da altre lingue.

6.4 Generare gli oggetti in lingua

Questo passo è necessario per generare alcuni oggetti in lingua che verranno poi utilizzati in esecuzione (ad esempio vengono generati MSGF e DSPF, questi ultimi usati solo in collegamento nero verde).

Come mantenere allineato un ambiente in lingua

Modifiche a programmi e script

Quando si modifica un programma, uno script o un altro oggetto da cui è prevista l’estrazione delle frasi, bisogna rieseguire l’iter visto prima:

estrazione, preparazione, traduzione e generazione.

Questa operazione può essere eseguita manualmente (sul singolo oggetto o su un “gruppo” di oggetti) oppure può essere automatizzata.

Aggiornamento di release

Quando viene aggiornata la release di Sme.UP, va utilizzata una PTF apposita che consente di aggiornare tutte le traduzioni standard senza andare a toccare quelle specifiche del cliente. Questo è possibile appunto grazie alle differenziazione degli ambiti. Sempre per questo motivo è possibile aggiornare il database delle traduzioni standard senza problemi in qualunque momento (anche senza aver fatto un aggiornamento di release).

Altre schede utili

Andando nella scheda del modulo “Supporto Multilingua”, oltre alle schede relative a tutte le azioni descritte precedentemente, si trovano altre informazioni utili:

  • Documentazione: si trova tutta la documentazione di dettaglio relativa anche a quanto detto finora
  • Situazione ambiente: questa è una scheda in cui si ha una panoramica di tutto ciò che è stato configurato per le traduzioni (ambiti, lingue, tabelle, ecc.).

Quali sono le lingue che siamo in grado di gestire?

Sme.UP è traducibile praticamente in tutte le lingue.

Esistono però alcune lingue “facili” e altre più ostiche. Le lingue facili sono le cosiddette latine: inglese, francese, tedesco, spagnolo, ecc.

Quando il cliente necessita di un’installazione che non sia in una delle 4 lingue descritte precedentemente (ad esempio cinese, russo o greco) si consiglia di valutare con lo sviluppo le possibili implicazioni di una tale installazione.