Nomi personali in un’applicazione globale: cosa memorizzare

Memorizzare i nomi personali in modo strutturato sembra abbastanza difficile quando si tratta di un’applicazione utilizzata da utenti di molti paesi diversi. L’applicazione su cui sto lavorando potrebbe teoricamente essere utilizzata da chiunque da qualsiasi parte del mondo.

Molto spesso un nome dato (nome / cognome) e cognome sembrano essere usati. In tal caso, questi due potrebbero semplicemente essere memorizzati nella tabella del database utente.

  • Memorizza “nome dato” e “cognome” nella tabella utente abbastanza per un’applicazione globalmente utilizzata? Si prega di dare la tua opinione con una motivazione.
  • Avete altri suggerimenti?
  • Ci sono delle buone guide su come risolvere questo?

Alcuni fatti importanti:

  • Comunicazione tra utenti (che risiedono presso la stessa o diverse società e possono trovarsi in paesi diversi).
  • È importante che la ricerca di utenti per nome sia naturale per gli utenti e che tutte le parti importanti del nome di una persona siano ricercabili.
  • Sarebbe bello se, quando si invia un messaggio a qualcuno in un altro paese, il sistema dovrebbe essere in grado di aiutare suggerendo un saluto appropriato. Sarà probabilmente difficile per i nomi arabi, almeno da quello che ho letto in quanto sembrano avere una struttura complessa.

    Non esiste un modo veramente universale per farlo. Avrei un grande campo per “Nome completo” e un altro campo per “Nome visualizzato”. Entrambi unicode.

    Ad esempio, nei paesi di lingua spagnola, IIRC, le persone di solito hanno quattro nomi. Due nomi e due cognomi (uno del padre, uno della madre). Gli arabi hanno essenzialmente un elenco di nomi collegati fin da quando scelgono di andare (Tal dei tali, figlio del tal dei tali, figlio del tal dei tali, …). I paesi dell’Asia orientale tendono a durare i nomi indicati, mentre gli europei mettono prima i nomi indicati.

    Se sei davvero interessato a diventare globale in tutte le culture, dai un’occhiata alle specifiche HR-XML di Person . Dato il nome e il cognome, non lo taglia quando ti muovi al di fuori dell’Occidente. Gli standard orientali di FamilyName GivenName ti faranno saltare sulla definizione di FullName. Inoltre, hai tutte le potenziali complessità degli script alternativi (non tutti usano l’alfabeto latino, sai), prefissi e suffissi (NN Sr, van der Waals).

    È uno standard destinato alla trasmissione e all’integrazione piuttosto che all’archiviazione, ma non lasciare che la syntax dello schema XML ti spaventerà. Non implementerei ogni aspetto di esso, ma è un eccellente fornitore di casi d’angolo che non sono immediatamente evidenti e che quindi puoi ignorare consapevolmente. In particolare, dai un’occhiata agli esempi alla fine!

    E per l’amor del cielo, non creare un’applicazione americana che presuppone un’iniziale di mezzo per tutti!

    In generale, un nome è un identificatore leggibile dall’uomo di una persona. Per una determinata persona, è necessario memorizzare un nome per ciascun caso d’uso di tale identificatore. Avrai bisogno di un nome da mostrare come parte dell’indirizzo postale; potresti aver bisogno di uno da usare come “screen name”; potresti aver bisogno di uno da usare nell’apertura di una lettera alla persona; a volte potresti dover includere titoli e onori della persona, a volte no.

    In ognuno di questi casi, ciò che si desidera visualizzare è una singola stringa. Potresti o meno essere in grado di evitare la duplicazione degli sforzi memorizzando componenti di queste stringhe e rimettendole in un secondo momento. Ma in generale, sia in termini di cultura nazionale che di cultura professionale, potrebbe essere meglio archiviare le stringhe complete.

    Lo stesso, a proposito, si verifica in gran parte per gli indirizzi postali, tranne che esistono standard internazionali che consentono all’autorità postale di un paese di inviare posta a persone in un altro paese.

    Una nota: non richiedono sia un “nome” che un “cognome”.

    Alcune persone, come me, hanno solo un nome.

    (Prova: http://sofit.miximages.com/localization/dl_redacted_small.png )