Bonjour,
Je suis entrain de créer une base de données pour une application qui supportera plusieurs langues. Pour ce faire j'ai créer une table "LANGUES" et une table "TRADUCTIONS".
--LANGUES--
LangueID (nvarchar(10), clé unique ie : culture fr-FR, en-US, etc...)
LangueNom (nvarchar(50), seulement pour savoir directement le nom de la langue pour les développeurs)
--TRADUCTIONS--
TraductionID (nvarchar(50), ie : TitrePrincipal, un label qui sera appellé dans le code de l'application pour retourner le texte lié)
LangueID (nvarchar(10), ie : en-US)
TraductionContent (text, ie : Blablalblalblalbla)
--Fruits--
FruitID (int, clé unique)
FruitCommentaire :TraductionID (nvarchar(50))
À l'ouverture de l'application, le dictionnaire de mots (singleton) est créé selon la langue.
Les autres tables qui contiennent le texte n'auront qu'à pointer vers la table TRADUCTIONS en spécifiant le TraductionID.
--Ex de TRADUCTIONS--
Banane | en-US | Bananas are yellow.
Banane | fr-FR | Les bananes sont jaunes.
Pomme | en-US | Apples are red and green.
Pomme | fr-FR | Les pommes sont rouges et vertes.
Ma question est... Comment dois-je créer les clés pour ma table TRADUCTIONS? J'ai essayé de faire une clé primaire double sur TraductionID et LangueID puisque seulement le couple est unique mais lorsque je veux lier le champs TraductionID d'une autre table, j'ai l'erreur :
"Les colonnes de la table "Traductions" ne correspondent pas à une clé primaire existante ou à une contrainte UNIQUE."
Si je retire la clé priaire double et la remplace par une clé unique, j'obtiens la même erreur.
Que me conseillez-vous? Avez-vous besoin de plus de détails?
Merci d'avance!
Partager