Domanda

Sto lavorando a un'applicazione web multilingue. Mi chiedo come posso progettare la migliore interfaccia utente che l'utente possa localizzare i dati in varie lingue? per esempio, nel creare una pagina il cui titolo è diverso in ogni lingua, devo mettere una casella di testo per ognuno? non è un modo adatto per farlo (in caso di 10 lingue, l'utente ha 10 caselle di testo !!! troppo sciocco) qual è la tua idea al riguardo?

Modifica: non ho problemi con la globalizzazione nel mio sistema. in effetti, sto cercando un buon modo per il mio design dell'interfaccia, in cui l'utente può inserire i suoi dati nei miei moduli in varie lingue.

grazie in anticipo

È stato utile?

Soluzione

Che dire di un solo campo di testo e di un menu a discesa contenente le lingue. Dopo aver selezionato la lingua e compilato il campo di testo, il campo viene inviato e la lingua scelta scompare dall'elenco a discesa. il valore e la lingua immessi vengono quindi visualizzati sotto il menu a discesa e la casella di testo con un modo per modificarlo / eliminarlo. in questo modo è sempre chiaro all'utente quali lingue sono già coperte e quali valori sono assegnati a loro. inoltre è un modo migliore se non tutte le 10 lingue devono essere compilate obbligatoriamente, se l'utente ad es. conosce solo inglese e francese.

Spero che tu sappia cosa intendo, altrimenti dovrò creare uno screenshot di esempio :-)

Altri suggerimenti

Potresti avere 3 caselle di testo, e va bene ... arriva a 10, e inizia a diventare un po 'pazzo. Oltre a ciò inizia a sembrare piuttosto male.

Forse potresti mettere su per dire 5 caselle di testo in su ... ma se va oltre 5 (perché l'utente desidera la localizzazione per più di 5 posizioni) posiziona una singola casella di testo con un menu a discesa accanto e il menu a discesa conterrebbe la lingua corrente.

Casella di testo si popolerà automaticamente con il valore corrente per la lingua selezionata nel menu a discesa. Dovrebbe funzionare bene in asp.net, e può essere fatto sia sul lato client, sia sul lato server su un post abbastanza facilmente, quindi non è necessario fare nulla di folle per le persone che non eseguono JavaScript.

Hai una casella di testo. Al caricamento si popola la casella di testo in base alla lingua.

Il contenuto verrà popolato da una sorta di file di risorse. Se non c'è molto testo, potrebbe persino andare nel tuo file di configurazione.

Tieni presente quanto segue:

  1. Lunghezza dei contenuti diversa a seconda della lingua.
  2. Alfabeti da destra a sinistra che rovinano il tuo allineamento

Questo è un progetto classico per l'utilizzo di NUNIT o simile per promettere che le cose funzionano dopo l'aggiunta di nuove traduzioni!

Che lingua usi nello sviluppo? Se questo è qualcosa come PHP, allora dovresti assolutamente usare i template e caricare stringhe di testo dai file di configurazione per ogni lingua. In Smarty, ad esempio, uso i file di configurazione per questo.

Stringhe di testo per messaggi di errore o qualcosa del genere potrebbero essere inserite in file come .ini e caricate da lì.

Google Web Toolkit (GWT) demo mostra la stessa pagina con versioni disponibili in inglese, francese, arabo e cinese.

I documenti GWT hanno una discussione approfondita di internazionalizzazione . Potresti emularne l'implementazione.

  • Costanti: utile per localizzare i valori delle costanti digitate
  • Messaggi: utile per localizzare i messaggi che richiedono argomenti
  • ConstantsWithLookup: come Costanti ma con una flessibilità di ricerca aggiuntiva per applicazioni altamente guidate dai dati
  • Dizionario: utile quando si aggiunge un modulo GWT a pagine Web localizzate esistenti

Ricorda che le date e gli orari sono rappresentati in modo diverso in diverse località, se i tuoi moduli li usano.

Il W3C discute anche Best practice di internazionalizzazione nel contenuto HTML .

Normalmente, un utente che naviga in un sito Web avrà una preferenza che specifica la lingua del intero . Penso che sarebbe confuso rompere questo schema.

Quindi, in una pagina introduttiva o in una pagina delle preferenze dell'utente, consenti all'utente di selezionare una lingua; quindi, nelle altre pagine, visualizza un insieme coerente di controlli per poter modificare il contenuto di ciascuna pagina.

Stai creando una pagina di amministrazione che consente agli utenti di modificare il testo utilizzato in altre pagine dell'applicazione?

In tal caso, puoi utilizzare la griglia come in Zeta Resource Editor :

thumbnail http://img202.imageshack.us/img202/7813/zetaresourceeditor02. th.png

Oppure potresti creare un elenco per lingua come in nopCommerce :

thumbnail http://img249.imageshack.us/img249/9079/nopcommerce .th.png

Puoi usare javascipts come file di risorse per la tua lingua. language_arabic.js , language_english .js, ecc. Quindi, quando un utente desidera vedere la sua lingua preferita, seleziona le lingue disponibili dall'elenco a discesa. A tal proposito, l'utente deve modificare le impostazioni della lingua dal proprio computer. Questo è quello che ho fatto mentre stavo lavorando a un progetto GIS per personalizzare un FMI Geocortex ( http://demos.geocortex.net/imf-5.2.2/sites/demo_geocortex/jsp/launch.jsp ) per un client arabo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top