Mi chiedo quale sarebbe il metodo più appropriato per gestire le traduzioni nei file JSON in termini di matrici e oggetti.
Considerare un oggetto ha proprietà correlate a se stesso, una traduzione è una proprietà o un'entità completamente diversa? In tal caso, l'utilizzo di un array sarebbe più appropriato.
Prendiamo un file JSON che descrive un film, usando gli oggetti:
"title": {
"en": "The Lord of the Rings: The Fellowship of the Ring",
"fr": "Le Seigneur des anneaux : la communauté de l'anneau"
}
Uso degli array:
"title": [
{
"lang": "en",
"content": "The Lord of the Rings: The Fellowship of the Ring"
},
{
"lang": "fr",
"content": "Le Seigneur des anneaux : la communauté de l'anneau"
}
]
Dovremmo prendere in considerazione la lingua selezionata dell'applicazione:
Se la lingua dell'applicazione dell'utente è fr
, dobbiamo controllare se esiste title.fr
, altrimenti non avremmo bisogno di un elenco predefinito di codici lingua per verificarne l'esistenza nell'oggetto title
.
Utilizzando gli array avremmo bisogno di scorrere tutti i suoi valori per verificare se uno di essi è nella lingua desiderata, ma in caso contrario, il fallback è banale rispetto al metodo precedente.