Applicazione Multilingue

Buongiorno a tutti !

oggi sono a chiedervi come posso creare un’applicazione MULTILINGUE;
in particolare il mio software contabile, deve diventare multilingue :

  • La fiscalit Italiana e quella Svizzera sono identiche, cambiano solo le dichiarazione fiscali ( modulistica etc ) quindi, in base al cantone di appartenenza vorrebbero fare la contabilit in Italiano, Francese, Tedesco… spero non in giapponese …
  • In trentino alto adige, la contabilit pretendono di farla in Tedesco.

Quindi, siccome mi stato proprio chiesto di avere un gestionale almeno nelle 3 lingue suindicate sono costretto a modificare tutta la mia app… ad oggi 88 mbyte di sorgenti, ho bisogno di una manina da voi per capire come fare. Ovvio, che devo poter cambiare la lingua on the fly. Certo come soluzione potrei anche compilare le 6 app in 3 lingue differenti ( ovvero otterr qualcosa come 6x3 = 18, quindi 18 applicazioni differenti :

  • Mac a 64 bit in Italiano
  • Mac a 64 bit in Francese
  • Mac a 64 bit in Tedesco
  • Mac a 32 bit in Italiano … e cos via fino a che non mi verr l’esaurimento nervoso.

Ci sar spero un sistema che mi permetta di non impazzire…

La nostra applicazione DGED di gestione documentale fatta con Xojo ed multilingua con cambio lingua al volo.
Al cambio lingua, tutte le label vengono caricate da un file di testo della lingua corrispondente, dove su ogni riga c’ una key(inglese)=traduzione; il tutto viene salvato in un dictionary di sessione.
Ogni webpage o webdialog ha un metodo “translate” che valorizza tutte le label. Il metodo translate viene richiamato nella open o al cambio lingua. E’ una soluzione scelta 6/7 anni fa, quindi non cos raffinata, ma funziona egregiamente.

Anche se utilizzare il cambio di lingua al volo pu essere interessante magari potrebbe essere anche utilizzare le funzionalit di sistema e quindi quello che xojo ti offre direttamente.
Nel tuo caso si tratta di creare delle costanti per ogni testo che hai nella UI (definita via IDE) e convertire in costanti i testi che scrivi via codice (tasto destro converti in costante)
Queste costanti devono essere dinamiche e poi pu esportarle (c un comando apposito) , tradurle con Lingua (meglio da un traduttore professionista) e reimportarle.
Per testare il tutto basta cambiare la lingua del sistema

Si antonio, ho fatto cos, non sapevo cosa voleva dire ‘Dinamiche’ adesso me lo hai spiegato.
Piuttosto c’ un modo di forzare il cambio lingua direttamente da software senza passare da impostazioni di sistema ?

NB: lingua ottimo, cos passo un file e un’applicazione a chi mi deve fare le traduzioni.

Infatti.
Onestamente non ti consiglio i sistemi “manuali” per il cambio di lingua.
La lingua “corrente” porta con se anche i formati per i numeri e le date…

Certo, per ho utilizzato tutto quello che dovevo per fare in modo che l’applicazione funzionasse senza localizzazioni.
nel senso che il numero 10.20, 10,20 viene sempre visto come 10.20 e visualizzato nella locale corrente.
Per questo mi serviva capire se cera la possibilt di cambiare le impostazioni locali appunto nel sw.

Le impostazioni di valuta corrente sono prese dal sistema.

Ma il cambio al volo, non devi riavviare la macchina. In genere solo l’applicazione.

Ok, era solo per capire…
Comunque ho creato tutte le costanti ( aspetta … create tutte un parolone, su 597 window ne avr fatte si e no 11-12, alcuni testi sono uguali e ho usato replace… )
Passo l’app lingua a chi mi fa le traduzioni.
Quindi, poi le estraggo con : File -> Export Localizable Values
Le carico nell’app lingua, e edito le descrizioni nelle varie lingue
Poi alla fine se ho capito bene devo usare File -> Import ?

Si
Rapido e indolore :slight_smile: