Direi che questo è uno dei tanti scenari di localizzazione in cui dovrai ammettere un semplice schema di memorizzazione "chiave / lingua / valore" non è sufficiente. :)
Personalmente creerei una classe motore di localizzazione con un metodo che prendesse un elenco di parole e una lingua come parametri. Questo metodo creerebbe il segmento "lista" della tua stringa. Una volta ottenuto questo, concatena il risultato al resto della frase e avrai la stringa finale completa.
UPDATE:
Sebbene IMHO sia un po 'al di fuori dell'ambito della tua domanda, potresti voler dare qualche considerazione al commento di Konrad qui sotto. A seconda di quante / quali lingue devi supportare, potrebbe essere necessario che il tuo motore di localizzazione si trovi in un livello superiore della tua app. Potrebbe essere necessario conoscere il contesto e produrre la stringa completa.
Per non dire che non è ancora possibile elaborare la parte "lista" ad un livello inferiore, però. Ma probabilmente sarebbe solo per un numero limitato di lingue.