Domanda

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

Molto spesso un nome dato (nome / nome) e cognome sembra essere usato. Nel qual caso quei due potrebbero semplicemente essere archiviati nella tabella del database utente.

  • Memorizza " nome dato " e "cognome" nella tabella utente abbastanza per un'applicazione utilizzata a livello globale? Ti preghiamo di esprimere la tua opinione con motivazione.
  • Hai altri suggerimenti?
  • Ci sono delle buone guide su come risolverlo?

Alcuni fatti importanti:

  • Comunicazione tra utenti (che risiedono nella stessa azienda o in società diverse e potrebbero trovarsi in paesi diversi).
  • È importante che la ricerca degli 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 fosse in grado di aiutare suggerendo un saluto adeguato. Probabilmente sarà difficile per i nomi arabi, almeno da quello che ho letto in quanto sembrano avere una struttura complessa.
È stato utile?

Soluzione

Non esiste davvero un modo strutturato 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 dal padre, uno dalla madre). Gli arabi hanno essenzialmente un elenco di nomi collegati fin da quando scelgono di andare (così e così, figlio di così e così, figlio di così e così, ...). I paesi dell'Asia orientale tendono a mettere per ultimo i nomi, mentre gli europei mettono al primo posto i nomi.

Altri suggerimenti

Se sei veramente interessato a diventare globale in tutte le culture, dai un'occhiata a Specifica HR-XML della persona . Nome dato e amp; il cognome non lo taglia quando ci si sposta al di fuori dell'Occidente. Gli standard orientali di FamilyName GivenName ti aiuteranno a definire FullName. Inoltre, hai tutte le potenziali complessità di 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 sintassi dello schema XML ti spaventi. Non implementerei ogni suo aspetto, ma è un eccellente fornitore di casi angolari che non sono immediatamente evidenti e che puoi ignorare consapevolmente. In particolare, controlla gli esempi alla fine!

E per l'amor del cielo, non creare un'applicazione americana che presuppone un'iniziale centrale per tutti!

In generale, un nome è un identificatore leggibile dall'uomo di una persona. Per una determinata persona, dovrai memorizzare un nome per ogni caso d'uso di tale identificatore. Sarà necessario un nome da visualizzare come parte dell'indirizzo postale; potrebbe essere necessario utilizzarne uno come "nome schermo"; potresti averne bisogno da usare nell'apertura di una lettera alla persona; a volte potresti dover includere titoli e onorificenze della persona, a volte no.

In ognuno di questi casi, ciò che si desidera visualizzare è una singola stringa. È possibile o meno essere in grado di evitare la duplicazione degli sforzi memorizzando i componenti di queste stringhe e rimettendoli insieme in un secondo momento. Ma in generale, sia in termini di cultura nazionale che di cultura professionale, potresti stare meglio semplicemente archiviando le stringhe complete.

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

Una nota: non è necessario sia un " nome " e un "cognome".

Alcune persone, come me, hanno un solo nome.

(Prova: http://saizai.com/dl_redacted_small.png )

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