I don't understand your module I think you mix territories and languages. For example you have the Locales::DB::Territory::cs module. The cs is language code of Czech in territory CZ. The CS territory misses. Other example: Ukraine country. There the uk language code and UA country code. You have the Locales::DB::Territory::uk module but it means as UA territory. I think there is territory codes which match with other language codes. For example i cannot use your module because it incorrect works. Why did you do Locales::DB::Territory:* modules with language codes instead territory codes?