Sto lavorando su swift / iOS con un backend di parse.com ma questa domanda potrebbe essere applicata a qualsiasi lingua ed è una domanda concettuale generale. Userò un esempio specifico a scopo illustrativo.
Ho un tipo di contenuto, diciamo "utente" che viene salvato in un database. Ogni utente è classificato per paesi. L'app è localizzata. Qualsiasi utente deve essere in grado di filtrare gli elenchi degli utenti in base al paese. Ed ecco il problema:
Nel campo "Paesi" della tabella utente del database, ogni utente ha inserito il proprio paese da un elenco a discesa di paesi, ma questi nomi di paese sono localizzati. Quindi, per esempio, un utente americano ha scelto "Stati Uniti d'America" come il suo paese, e quella è la stringa nella tabella degli utenti "Paesi", ma un utente francese che cerca di filtrare tutti gli utenti dagli Stati Uniti, lancerà una ricerca per corrispondente "Etats-Unis d'Ameriques" localizzato che non corrisponderà agli utenti "Stati Uniti d'America".
Per evitare questo problema di categorizzazione della localizzazione, stavo pensando di astrarre i nomi dei paesi associando ognuno con un ID numerico, in una tupla o array, quindi memorizziamo nel database quell'ID. Quindi, quando mi riferisco ad esso, cercherò l'ID dell'array e farò riferimento alla stringa localizzata, un altro membro dell'array.
Questo è un modo corretto per gestire questo scenario? Immagino che ci sia un modo "giusto" per gestire questo.