Nearly 5,000 posts Ush
Loading from a file, 1 line at a time, for all, does seem a bit too much. I would load the files you mentioned, for each country. Store to an array. The menu you mentioned, but give values of 0-6 (total languages support). Label it COUNTRY_ID
Then... this is the long pain the arse bit... give each SendClientMessage(, all dialog text an increase value.
TEXT_D
SecondClientMessage( player, colour, getArrayText[ COUNTRY_ID ] [ TEXT_D ]
It's big.