i'm not comfortable venturing off into the mythical realm of car colours when we are supposed to be dealing with user options, but let's give it a try...
in particular i wanted to see the key declaration that includes the language option
to go along with your example, the table should look like this --
CREATE TABLE colors
( color VARCHAR( 255 ) NOT NULL
, language VARCHAR( 5 ) NOT NULL
, PRIMARY KEY ( color, language )
) ENGINE = INNODB;
let's leave aside the whole business of character sets (some languages will require utf-8, n'est-pas?)
now obviously the cars table will need a foreign key to this colors table, and of course the foreign key will consist of two columns, right?
so therefore when displaying the cars, there is no need to join to the colors table
does that explain it well enough?