This actually does work, and seemed like a pretty solid way to do it. The variable data stores the parsed JSON, and since we're iterating through the list of files in the directory, it is different each iteration. I am not refrencing the language key, that is actually pointing to a string in the parsed JSON. Data is also used a little later; it is put in the array of languages with the line 'resources[file] = { translation: data};' and resources is later passed to i18n when we initialize it. I've got to go to school, I'll work more on fixing the things you suggested later today.