I messaggi di eccezione dovrebbero essere globalizzati

Sto lavorando a un progetto e sto appena iniziando a fare tutto il lavoro necessario per globalizzare l’applicazione. Una cosa che emerge molto spesso è se globalizzare i messaggi di eccezione, ma accertarsi che stringa.Formato usi CultureInfo.CurrentCulture invece di CultureInfo.InvariantCulture. Inoltre, ciò significherebbe che i messaggi di eccezione verrebbero archiviati in file di risorse che possono essere contrassegnati come specifici della cultura.

Quindi la domanda è: i messaggi di eccezione dovrebbero essere globalizzati o dovrebbero essere lasciati in InvariantCulture o nel paese dell’autore; nel mio caso en-US.

    I messaggi di eccezione dovrebbero essere visualizzati raramente direttamente all’utente. Devi pensare al consumatore per ogni stringa. Ovviamente le parti di testo nell’interfaccia utente necessitano di internazionalizzazione, ma se un messaggio di eccezione verrà visualizzato dal supporto (o sarà visibile all’utente e inviato via email per supportare quando fa clic su un pulsante), allora dove è il vantaggio di traducendolo?

    Se vai troppo lontano, potresti non solo sprecare tempo e fatica (e i18n può richiedere un grande sforzo) ma anche rendere più dura la tua vita di supporto. Davvero non vuoi leggere i file di registro scritti in una lingua straniera e tradurli di nuovo nella tua lingua madre.

    Microsoft ha senso internazionalizzare i propri messaggi di eccezione, perché verranno letti da sviluppatori di tutto il mondo – ma a meno che tu non sia multinazionale con sviluppatori in più paesi che non condividono un linguaggio comune, non tradurrei il messaggio che sono veramente pensati per dev / support.

    in genere, io no.

    Globalizza le stringhe che possono essere viste da un utente e non lasci filtrare i tuoi messaggi di eccezione all’interfaccia utente, giusto?

    Destra? 🙂

    Se hai intenzione di occuparti delle eccezioni, o lasciale in una lingua che puoi capire, o dai loro codici in modo che tu possa cercarle nella tua lingua madre.

    Presumo da globalizzare, intendi i18n conformi che di solito è chiamato internazionalizzazione. Sì, internazionalizza tutte le parti visibili della GUI, inclusi i messaggi di diagnostica. Il file di log, che è dove gli sviluppatori dovrebbero andare per ottenere le informazioni reali come la traccia dello stack, non dovrebbe essere internazionalizzato.