Наследование локали не работает правильно
Я использую MooTools 1.4.1 (подробнее) и испытываю проблему с наследованием
Locale.define('de-CH').inherit('de-DE', 'Date');
Когда я использую эту локаль (de-CH) и получаю к ней доступ следующим образом
var myLocale = Locale.getCurrent()
myLocale.sets.Date НЕ определен, единственное, что определено, это myLocale.sets.FormValidator, но это только потому, что это явно установлено и не наследуется.
Например, при проверке дат это приводит к ошибке.
Так что, на мой взгляд, я делаю что-то не так, или у Механизма наследования Locale есть ошибка.
У кого-нибудь есть опыт? Благодарю.
1 ответ
Вы не должны напрямую использовать sets
собственность локали. sets
свойство будет содержать только наборы, определенные в этой локали. Унаследованные наборы определяются только в унаследованной локали (которую вы можете увидеть, посмотрев на myLocale.inherits.sets
, но это не должно использоваться напрямую).
Вместо этого, используя myLocale.get('Date')
вернет набор, который вам нужен.
С помощью Locale.get('Date')
также будет работать и всегда будет возвращать набор текущей активной локали (устанавливается через Locale.use('de-CH')
).
Вы также можете использовать звонки, как .get('Date.months')
чтобы получить конкретную собственность.
Дополнительную информацию можно найти в документации MooTools' Locale.