The only problem with using GetLocalization is it only supports files in the standard one-language-per-file format, and rulesets kinda do their own format. You'd have to combine all the strings into one file, make sure the IDs don't conflict, feed it to GetLocalization on any update, get the resulting new individual language files and put them back together in their respective rulesets, which sounds like a handful.