In the long term, Wikidata is probably the way to go on something like this.
In the short term, as far as dividing things up, note that you can implement on-demand loading in Lua easily enough using the __index metamethod. local obj = {} setmetatable( obj, { __index = function ( t, k ) -- This will get called on access of obj[k] if it is not already set. -- Do whatever you might need, e.g. require() a submodule, -- assign things to t for future lookups, then return the requested k. end } ) return obj Also note that you can save space at the expense of code complexity by accessing "obj.us_name or obj.name" rather than storing the same string in both fields; remember in Lua only nil (unset) and boolean false are considered "false", the number 0 and the empty string are both considered true. _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l