Elenco di controllo per l'internazionalizzazione

In questo argomento vengono fornite azioni da eseguire per creare codice che supporta più mercati. Considerare queste istruzioni come guida durante la progettazione del codice e come metriche quando si valutano le compilazioni.

  • Creare specifiche di programma che tengano conto delle considerazioni internazionali fin dall'inizio.
    • Progettare icone e bitmap per essere significativi e non offensivi nei mercati di destinazione e non contenere testo.
    • Progettare menu e finestre di dialogo per lasciare spazio per l'espansione del testo. Ad esempio, le stringhe inglesi spesso si espandono di 40% quando vengono tradotte in tedesco o olandese.
    • Non usare slang o riferimenti specifici alla cultura negli elementi o nei messaggi dell'interfaccia utente.
    • Creare combinazioni di tasti di scelta rapida accessibili su tastiere internazionali. Ad esempio, evitare di usare i tasti di punteggiatura come tasti di scelta rapida perché non sono sempre presenti su tastiere internazionali o facilmente prodotti dall'utente. Per esempi di layout di tastiera, vedere i layout di tastiera di Windows.
    • Prendere in considerazione le leggi locali che influiscono sulle progettazioni delle funzionalità, ad esempio i requisiti che le entità governative acquistano software che supportano più lingue ufficiali.
    • Sviluppare contratti di terze parti che supportano gli standard internazionali dell'interfaccia utente e le decisioni di progettazione dell'organizzazione.
    • Usare una terminologia coerente nelle stringhe dell'interfaccia utente che devono essere tradotte.
  • Creare codice indipendente dalle impostazioni locali.
    • Non concatenare stringhe per formare frasi.
    • Non usare una determinata variabile stringa in più contesti, ad esempio il riutilizzo di un frammento di frase in messaggi e prompt diversi, perché tali stringhe potrebbero non essere facili da tradurre.
    • Le stringhe di documento che usano i commenti per fornire il contesto per i traduttori e contrassegnano chiaramente stringhe o caratteri che non devono essere localizzate.
    • Non usare costanti di carattere codificate, costanti numeriche, posizioni dello schermo, nomi di file o nomi di percorso che presuppongono una determinata lingua.
    • Rendere i buffer sufficientemente grandi da contenere stringhe tradotte.
    • Consente l'input dei dati con formati che variano in base alle impostazioni locali, ad esempio date, ore e valute.
    • Usare le dimensioni della carta, le dimensioni della busta e altre impostazioni predefinite appropriate per una determinata impostazione locale.
    • Assicurarsi che ogni edizione della lingua possa leggere i documenti creati dalle altre edizioni.
    • Fornire supporto per l'hardware specifico del locale, se necessario.
    • Configurare le funzionalità che non si applicano ai mercati internazionali come opzioni di implementazione che possono essere disabilitate facilmente.
  • Creare codice che sfrutta le funzionalità internazionali offerte da Microsoft Windows.
    • Utilizzare le informazioni internazionali trasportate dal sistema (Supporto nazionale della lingua).
    • Usare le funzioni di sistema per l'ordinamento, la conversione delle maiuscole/minuscole e il mapping delle stringhe.
    • Usare funzioni di layout di testo generico.
    • Rispondere alle modifiche alle impostazioni internazionali nel Pannello di controllo.
    • Gestire il messaggio di WM_INPUTLANGCHANGEREQUEST.
    • Supporta gli editor di metodi di input, il testo verticale e le regole di interruzione di riga nelle edizioni dell'Asia orientale.
  • Compilare tutte le edizioni internazionali del programma da un set di file di origine.
    • Ridurre o eliminare i meccanismi che richiedono la ricompilazione del codice per diverse edizioni del linguaggio.
    • Archiviare elementi localizzabili, ad esempio stringhe e icone, nei file di risorse di Windows.
    • Archiviare documenti in tutte le edizioni della lingua usando lo stesso formato di file.
  • Supporta set di caratteri diversi, non solo la pagina codice Latin 1, numero 1252.
    • Il programma supporta gli ambienti di rete in cui i computer eseguono sistemi operativi con tabelle codici predefinite diverse.
    • Usare GetCPInfoEx per recuperare gli intervalli di byte iniziale per le pagine di codice dell'Asia orientale.
    • Analizzare i caratteri a byte doppio nelle applicazioni in lingua asiatica, a meno che il codice non sia basato su Unicode.
    • Supportare Unicode o la conversione tra Unicode e la tabella codici locale.
    • Non presupporre che tutti i caratteri siano a 8 bit o a 16 bit.
    • Usare tipi di dati generici e prototipi di funzione generici.
    • Utilizzare la proprietà charset del tipo di carattere , che chiama EnumFontFamiliesEx e la funzione di dialogo comune ChooseFont.
    • Visualizzare e stampare testo usando i tipi di carattere appropriati per le impostazioni locali.
  • Testare le caratteristiche internazionali del programma.
    • Il testo tradotto deve soddisfare gli standard dei parlanti nativi.
    • Le finestre di dialogo devono essere ridimensionate correttamente e il testo deve essere sillabato in modo appropriato, quando vengono visualizzate lingue diverse.
    • Le finestre di dialogo, le barre di stato, le barre degli strumenti e i menu devono essere posizionati sullo schermo e letti in modo leggibile quando lo schermo è impostato a risoluzioni diverse, per tutte le lingue tradotte.
    • Gli acceleratori di menu e finestre di dialogo devono essere univoci.
    • Gli utenti devono essere in grado di digitare caratteri di script non europei in documenti, finestre di dialogo e nomi file.
    • Gli utenti devono essere in grado di tagliare, incollare, salvare e stampare caratteri da script non europei correttamente.
    • L'ordinamento e la conversione di maiuscole e minuscole devono essere accurate per impostazioni locali diverse.
    • L'applicazione dovrebbe funzionare correttamente nelle edizioni localizzate di Windows.