I liked your single file idea, so I decided to use it, just a little differently. The translations in the lua files must be correct English though, since no changes to the English are made. I prefer this way just in case I want to add more tables to the the AddonTable than just localizations. ----------> Place the following two lines at the top of every lua file in the addon except for the first loaded lua file: local AddonName, AddonTable = ... local L = AddonTable.Localize ----------> Name the first loaded lua file something like Localization.lua and place the following into it: -- To update a translation please use the localization utility -- at: http://www.wowace.com/projects/YOURADDON/localization/ local AddonName, AddonTable = ... AddonTable.Localize = setmetatable({}, {__index = function(_, key) return key end}) local L = AddonTable.Localize if GetLocale() == "frFR" then -- French --@localization(locale="frFR", format="lua_additive_table")@ elseif GetLocale() == "deDE" then -- German --@localization(locale="deDE", format="lua_additive_table")@ elseif GetLocale() == "koKR" then -- Korean --@localization(locale="koKR", format="lua_additive_table")@ elseif GetLocale() == "esMX" then -- Latin American Spanish --@localization(locale="esMX", format="lua_additive_table")@ elseif GetLocale() == "ruRU" then -- Russian --@localization(locale="ruRU", format="lua_additive_table")@ elseif GetLocale() == "zhCN" then -- Simplified Chinese --@localization(locale="zhCN", format="lua_additive_table")@ elseif GetLocale() == "esES" then -- Spanish --@localization(locale="esES", format="lua_additive_table")@ elseif GetLocale() == "zhTW" then -- Traditional Chinese --@localization(locale="zhTW", format="lua_additive_table")@ end