Ho un database SQLite nella mia app per Android con una tabella "Domanda", tra gli altri. Quella tabella contiene dati "predefiniti" o "precaricati" (in questo caso le domande poste dall'app).
Alcune delle sue colonne sono dati "tecnici" o "interni" da utilizzare dietro le quinte - come il numero di punti che vale la domanda, il tipo di utente che può rispondere, ecc. - mentre altri sono dati testuali che vengono presentati all'utente (es. Titolo, Descrizione, ecc.).
Ora, ho intenzione di lasciare che la mia app sia di tipo internazionalizzabile (traducibile), quindi penso che:
-
Invece di seguire quelli che sembrano essere gli "approcci standard" per la progettazione di DB multilingue, creando diverse colonne per gli attributi traducibili (es. name_en, name_es, ...) o una tabella separata in cui ogni riga rappresenta una traduzione dell'oggetto di base ;
-
... Potrei semplicemente mantenere i valori per quegli attributi traducibili nella mia risorsa
R.Stringse avere la mia classe DatabaseHelper recuperare il testo da lì, costruendo il nome della risorsa basato, ad esempio, nell'ID della domanda (ad esempio q1_name, q2_name, q1_description, ...). In questo modo avrei potuto avere diverse stringhe di R. e l'aiutante di DB avrebbe letto da quello giusto.
Sono un po 'incerto su questo approccio e sono curioso di sapere se questa è una cattiva pratica e / o mi manca qualsiasi potenziale inconveniente.