@class NSMutableDictionary, NSCache, TSUDateParserLibrary, NSLocale, NSTimeZone, NSMutableArray, NSString, NSRecursiveLock, TSUDecimalFormatter, NSArray, NSLock, TSUFormattingSymbols; @interface TSULocale : TSUPermanentObject { NSString *_cacheKey; struct TSUNumberOrDateLexer { NSString *_decimalSeparator; NSString *_currencyDecimalSeparator; NSString *_groupingSeparator; NSString *_currencyGroupingSeparator; NSString *_percentSymbol; unsigned short _decSep; unsigned short _currDecSep; unsigned short _groupSep; unsigned short _currGroupSep; unsigned short _percentSym; unsigned short _alternateDecSep; unsigned short _alternateGroupSep; unsigned short _alternatePercentSym; BOOL _checkedForAlternateSeparators; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _dateSeps; unsigned short _timeSep; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _additionalIdentChars; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _identStartChars; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _identifierToClassificationMap; struct unordered_map, std::hash, std::equal_to, std::allocator>>> { struct __hash_table>, std::__unordered_map_hasher>, std::hash, std::equal_to>, std::__unordered_map_equal>, std::equal_to, std::hash>, std::allocator>>> { struct unique_ptr>, void *> *> *[], std::__bucket_list_deallocator>, void *> *> *>>> { struct __compressed_pair>, void *> *> **, std::__bucket_list_deallocator>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator>, void *> *> *>> { struct __compressed_pair>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair>, void *> *>, std::allocator>, void *>>> { struct __hash_node_base>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair>, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair>, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _identifiersForStartChar; unsigned long long _maxIdentifierLength; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _vulgarFractionMap; BOOL _loadInDateTimeSymbols; NSString *_localeIdentifier; } _numberOrDateLexer; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _formattersMutex; NSMutableArray *_numberFormatters; NSMutableArray *_scientificNumberFormatters; NSLock *_numberFormatterStringFromDoubleWithFormatLock; TSUDecimalFormatter *_plainFormatter; TSUDecimalFormatter *_noMinusSignPlainFormatter; TSUDecimalFormatter *_currencyFormatter; TSUDecimalFormatter *_noMinusSignCurrencyFormatter; NSString *_activeCurrencyCode; NSString *_activeNoMinusSignCurrencyCode; NSLock *_localeSpecificStorageLock; NSMutableDictionary *_localeSpecificStorage; NSCache *_cachedLocalizedStrings; NSRecursiveLock *_icuDateBlockUsingLock; } @property (class, readonly, nonatomic) TSULocale *currentLocale; @property (class, readonly, nonatomic) TSULocale *preferredLocale; @property (class, readonly, copy, nonatomic) NSLocale *applicationLocale; @property (class, readonly, nonatomic) TSULocale *usEnglishLocale; @property (readonly) NSLocale *locale; @property (readonly) struct __CFLocale { } *cfLocale; @property (readonly) NSLocale *gregorianCalendarLocale; @property (readonly) struct __CFLocale { } *cfGregorianCalendarLocale; @property (readonly) NSString *languageCode; @property (readonly) NSString *localeIdentifier; @property (readonly) NSString *documentLanguageIdentifier; @property (readonly, nonatomic) TSUFormattingSymbols *formattingSymbols; @property (readonly) NSString *cacheKey; @property (readonly) BOOL isAutoUpdating; @property (readonly) NSString *numberingSystem; @property (readonly) NSString *decimalSeparator; @property (readonly) NSString *groupingSeparator; @property (readonly) NSString *minusSign; @property (readonly) NSString *listSeparator; @property (readonly) NSString *percentSymbol; @property (readonly) unsigned long long groupingSize; @property (readonly) NSString *currencyCode; @property (readonly) long long dateComponentOrdering; @property (readonly) NSArray *standaloneMonthSymbols; @property (readonly) NSArray *standaloneWeekdaySymbols; @property (readonly) NSArray *shortStandaloneMonthSymbols; @property (readonly) NSArray *shortStandaloneWeekdaySymbols; @property (readonly) NSString *amString; @property (readonly) NSString *pmString; @property (readonly) BOOL uses24HourTimeCycle; @property (readonly) NSString *trueString; @property (readonly) NSString *falseString; @property (readonly) TSUDateParserLibrary *dateParserLibrary; @property (readonly) NSTimeZone *timeZone; @property (readonly) BOOL currencyUsesRightToLeftWritingDirection; @property (readonly, nonatomic) const void *numberOrDateLexer; + (id)preferredLanguages; + (void)initialize; + (id)availableCurrencyCodes; + (id)currencySymbolForCurrencyCode:(id)a0; + (id)currentLocaleCurrencyCode; + (unsigned short)defaultDecimalPlacesForCurrencyCode:(id)a0; + (id)displayNameForCurrencyCode:(id)a0; + (id)userVisibleCurrencyCodes; + (id)canonicalizeLocaleIdentifierWithLanguageAndScriptOnly:(id)a0; + (id)canonicalizeLocaleIdentifierWithLanguageOnly:(id)a0; + (id)canonicalizeLocaleIdentifierWithLanguageScriptAndRegionOnly:(id)a0; + (id)allSupportedTemplatePickerLanguages; + (id)allSupportedTier1Languages; + (id)allSupportedTier3Languages; + (unsigned long long)autoupdatingCurrentLocaleChangeCount; + (id)canonicalizeLocaleIdentifier:(id)a0; + (id)canonicalizeLocaleIdentifierWithLanguageAndRegionOnly:(id)a0; + (id)deducedScriptForLocale:(id)a0; + (id)displayNameForCode:(id)a0 ofType:(id)a1 displayStandalone:(BOOL)a2; + (id)localeIDWithDefaultRegionCode:(id)a0; + (id)localeIDWithoutDefaultRegionCode:(id)a0 avoidAmbiguousCases:(BOOL)a1; + (BOOL)localeIsAutoUpdating:(id)a0; + (void)saveLocaleForReuse:(id)a0; + (void)setLocalizedStringBundle:(struct __CFBundle { } *)a0; + (id)simplifiedDisplayNameForLocaleID:(id)a0 displayStandalone:(BOOL)a1; + (id)formattedForDollarFunction:(const struct TSUDecimal { struct { unsigned long long x0[2]; } x0; } *)a0 precision:(int)a1 forLocale:(id)a2; + (BOOL)isValidCurrencyCode:(id)a0; + (id)localeForLocaleIdentifier:(id)a0 documentLanguageIdentifier:(id)a1 formattingSymbolsVersion:(id)a2; + (id)regionSubtagAwareComponentsFromLocaleIdentifier:(id)a0; + (id)sanitizedLocaleIdentifierForIdentifier:(id)a0; - (unsigned long long)hash; - (void)dealloc; - (id)initWithLocale:(id)a0; - (id).cxx_construct; - (id)localizedStringForKey:(id)a0 value:(id)a1 table:(id)a2; - (id)description; - (void).cxx_destruct; - (BOOL)isEqual:(id)a0; - (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2 inBundleWithURL:(id)a3; - (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2; - (id)localizedStringWithFormat:(id)a0; - (id)currencySymbolForCurrencyCode:(id)a0; - (id)displayNameForCurrencyCode:(id)a0; - (BOOL)localizedCaseInsensitiveIsEqual:(id)a0 toString:(id)a1; - (BOOL)isLanguageCharacterDirectionRightToLeft; - (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2 inBundle:(struct __CFBundle { } *)a3; - (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1; - (void)_initializeNumberFormatterStringFromDoubleCache; - (unsigned long long)autoupdatingCurrentLocaleChangeCount; - (id)checkoutNumberFormatter; - (id)checkoutScientificNumberFormatter; - (id)copyWithDocumentLanguageIdentifier:(id)a0; - (id)displayLanguageNameWithStandalone:(BOOL)a0; - (id)localeIdentifierWithLanguageAndRegionOnly; - (id)localeIdentifierWithLanguageScriptAndRegionOnly; - (id)localeSpecificStorageForKey:(id)a0; - (long long)localizedCaseInsensitiveCompare:(id)a0 toString:(id)a1; - (long long)localizedCompare:(id)a0 toString:(id)a1; - (id)numberFormatterStringFromDouble:(double)a0 withFormat:(id)a1 useDecimalPlaces:(BOOL)a2 minDecimalPlaces:(unsigned short)a3 decimalPlaces:(unsigned short)a4 showThousandsSeparator:(BOOL)a5 currencyCode:(id)a6 suppressMinusSign:(BOOL)a7; - (void)returnNumberFormatter:(id)a0; - (void)returnScientificNumberFormatter:(id)a0; - (void)setLocaleSpecificStorage:(id)a0 forKey:(id)a1; - (id)simplifiedDisplayNameWithStandalone:(BOOL)a0; - (id)createHarmonizedDecimalFormatterOfStyle:(long long)a0; - (id)currencyCodeForCurrencySymbol:(id)a0; - (BOOL)isEqualViaFormattingAsDouble:(double)a0 :(double)a1; - (BOOL)isLanguageFormulasDirectionRightToLeft; - (id)copyWithGregorianCalendar; - (id)displayNameWithCurrencySymbolForCurrencyCode:(id)a0 standardizeWhitespace:(BOOL)a1; - (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1 formattingSymbols:(id)a2; - (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1 useAutoupdating:(BOOL)a2 formattingSymbols:(id)a3; - (id)initWithLocale:(id)a0 formattingSymbols:(id)a1; - (id)languageIdentifierWithLanguageAndRegionOnly; - (id)localeIdentifierWithCalendarAndNumberingSystem; - (void)performICUDateUsingBlock:(id /* block */)a0; @end