Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [c]-Programma multilingua
Forum - C/C++ - [c]-Programma multilingua - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 21:44
Mercoledì, 25/01/2017
Potresti semplicemente usare un database SQLite e caricare all'avvio le tue stringe in base alla lingua.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:23
Giovedì, 26/01/2017
Alla fine credo he userò le DLL in modo esplicito finchè non capirò bene la gettex().

Codice sorgente - presumibilmente C/C++

  1. // Esempio
  2. HMODULE hMod;
  3.         int h = 0;
  4.  
  5.         printf( " CHOOSE YOUR LANGUAGE:\n" );
  6.         printf( " \t 0) ITALIANO\n" );
  7.         printf( " \t 1) ENGLISH\n" );
  8.         printf( " \t 2) FRANCIS\n" );
  9. //...
  10.         printf( " Scelta = " );
  11.         scanf_s( "%d" , &h );
  12.  
  13.  
  14.         if (h==0){
  15.             hMod = LoadLibrary(_T("italian.dll") );
  16.         } else if(h==1){
  17.             hMod = LoadLibrary(_T("english.dll") );
  18.         }else {
  19.                 hMod = LoadLibrary(_T("francais.dll" ) );
  20.         }//...




Per i database, sarebbe anche carino usarli, ma per ora non vorrei metttere troppa carne al fuoco

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:32
Giovedì, 26/01/2017
Alla fine credo he userò le DLL in modo esplicito finchè non capirò bene la gettex().

Codice sorgente - presumibilmente C/C++

  1. // Esempio
  2. HMODULE hMod;
  3.         int h = 0;
  4.  
  5.         printf( " CHOOSE YOUR LANGUAGE:\n" );
  6.         printf( " \t 0) ITALIANO\n" );
  7.         printf( " \t 1) ENGLISH\n" );
  8.         printf( " \t 2) FRANCIS\n" );
  9. //...
  10.         printf( " Scelta = " );
  11.         scanf_s( "%d" , &h );
  12.  
  13.  
  14.         if (h==0){
  15.             hMod = LoadLibrary(_T("italian.dll") );
  16.         } else if(h==1){
  17.             hMod = LoadLibrary(_T("english.dll") );
  18.         }else {
  19.                 hMod = LoadLibrary(_T("francais.dll" ) );
  20.         }//...




Per i database, sarebbe anche carino usarli, ma per ora non vorrei metttere troppa carne al fuoco

PM Quote
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 11:38
Venerdì, 27/01/2017
Trattandosi di frasi per un programma (ovvero, in numero presumibilmente molto limitato), il "database" in questione potrebbe essere un semplicissimo file ASCII... non ti occorrono la conoscenza del SQL ed un vero e proprio database :rofl:

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:43
Venerdì, 27/01/2017
A momenti è più facile fare "select ita from langs where str = \"label\"" che caricare un file di testo......

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 15:37
Venerdì, 27/01/2017
Ti consiglio di rimanere sulla DLL, un file di testo ha come svantaggio che devi mantenere la corrispondenza indici/riga ed è più facile sbagliare.
Il database in questo caso è un overkill inutile.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 16:04
Venerdì, 27/01/2017
Non mi sembra un overkill così pesante. SQLite occupa solo qualche kb e può essere compilato in una libreria statica o dinamica....

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo