Index: AceLocale-2.2.lua
===================================================================
--- AceLocale-2.2.lua (revision 14826)
+++ AceLocale-2.2.lua (working copy)
@@ -158,12 +158,15 @@
AceLocale.argCheck(self, locale, 2, "string")
AceLocale.argCheck(self, func, 3, "function")
- if locale == rawget(self, BASE_LOCALE) then
+ if locale == rawget(self, BASE_LOCALE) and not rawget(self, DYNAMIC_LOCALES) then
AceLocale.error(self, "Cannot provide the same locale more than once. %q provided twice.", locale)
end
-
+
if rawget(self, BASE_TRANSLATIONS) and GetLocale() ~= locale then
if rawget(self, DEBUGGING) or rawget(self, DYNAMIC_LOCALES) then
+ if not rawget(self, TRANSLATION_TABLES) then
+ rawset(self, TRANSLATION_TABLES, {})
+ end
if self[TRANSLATION_TABLES][locale] then
AceLocale.error(self, "Cannot provide the same locale more than once. %q provided twice.", locale)
end
@@ -253,6 +256,11 @@
return (next(t, position))
end
+function AceLocale.prototype:HasLocale(locale)
+ AceLocale.argCheck(self, locale, 2, "string")
+ return self[TRANSLATION_TABLES][locale] ~= nil
+end
+
function AceLocale.prototype:IterateAvailableLocales()
if not rawget(self, DYNAMIC_LOCALES) then
AceLocale.error(self, "Cannot call `IterateAvailableLocales' without first calling `EnableDynamicLocales'.")