//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ptr::NonNull; use objc2::__framework_prelude::*; #[cfg(feature = "objc2-core-foundation")] use objc2_core_foundation::*; use crate::*; /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalekey?language=objc) // NS_TYPED_ENUM #[cfg(feature = "NSString")] pub type NSLocaleKey = NSString; extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocale?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSLocale; ); unsafe impl Send for NSLocale {} unsafe impl Sync for NSLocale {} #[cfg(feature = "objc2-core-foundation")] impl AsRef for CFLocale { #[inline] fn as_ref(&self) -> &NSLocale { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "objc2-core-foundation")] impl AsRef for NSLocale { #[inline] fn as_ref(&self) -> &CFLocale { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSLocale {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSLocale {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSLocale { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSLocale {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSSecureCoding for NSLocale {} ); impl NSLocale { extern_methods!( #[cfg(feature = "NSString")] #[unsafe(method(objectForKey:))] #[unsafe(method_family = none)] pub fn objectForKey(&self, key: &NSLocaleKey) -> Option>; #[cfg(feature = "NSString")] /// # Safety /// /// `value` should be of the correct type. #[unsafe(method(displayNameForKey:value:))] #[unsafe(method_family = none)] pub unsafe fn displayNameForKey_value( &self, key: &NSLocaleKey, value: &AnyObject, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(initWithLocaleIdentifier:))] #[unsafe(method_family = init)] pub fn initWithLocaleIdentifier(this: Allocated, string: &NSString) -> Retained; #[cfg(feature = "NSCoder")] /// # Safety /// /// `coder` possibly has further requirements. #[unsafe(method(initWithCoder:))] #[unsafe(method_family = init)] pub unsafe fn initWithCoder( this: Allocated, coder: &NSCoder, ) -> Option>; ); } /// NSExtendedLocale. impl NSLocale { extern_methods!( #[cfg(feature = "NSString")] #[unsafe(method(localeIdentifier))] #[unsafe(method_family = none)] pub fn localeIdentifier(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForLocaleIdentifier:))] #[unsafe(method_family = none)] pub fn localizedStringForLocaleIdentifier( &self, locale_identifier: &NSString, ) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(languageCode))] #[unsafe(method_family = none)] pub fn languageCode(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForLanguageCode:))] #[unsafe(method_family = none)] pub fn localizedStringForLanguageCode( &self, language_code: &NSString, ) -> Option>; #[cfg(feature = "NSString")] /// Returns the identifier for the language part of the locale. For example, returns "en-US" for "en_US@rg=gbzzzz" locale. #[unsafe(method(languageIdentifier))] #[unsafe(method_family = none)] pub fn languageIdentifier(&self) -> Retained; #[cfg(feature = "NSString")] #[deprecated] #[unsafe(method(countryCode))] #[unsafe(method_family = none)] pub fn countryCode(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForCountryCode:))] #[unsafe(method_family = none)] pub fn localizedStringForCountryCode( &self, country_code: &NSString, ) -> Option>; #[cfg(feature = "NSString")] /// Returns the region code of the locale. /// If the `rg` subtag is present, the value of the subtag will be used. For example, returns "GB" for "en_US@rg=gbzzzz" locale. /// If the `localeIdentifier` doesn’t contain a region, returns `nil`. #[unsafe(method(regionCode))] #[unsafe(method_family = none)] pub fn regionCode(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(scriptCode))] #[unsafe(method_family = none)] pub fn scriptCode(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForScriptCode:))] #[unsafe(method_family = none)] pub fn localizedStringForScriptCode( &self, script_code: &NSString, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(variantCode))] #[unsafe(method_family = none)] pub fn variantCode(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForVariantCode:))] #[unsafe(method_family = none)] pub fn localizedStringForVariantCode( &self, variant_code: &NSString, ) -> Option>; #[cfg(feature = "NSCharacterSet")] #[unsafe(method(exemplarCharacterSet))] #[unsafe(method_family = none)] pub fn exemplarCharacterSet(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(calendarIdentifier))] #[unsafe(method_family = none)] pub fn calendarIdentifier(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForCalendarIdentifier:))] #[unsafe(method_family = none)] pub fn localizedStringForCalendarIdentifier( &self, calendar_identifier: &NSString, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(collationIdentifier))] #[unsafe(method_family = none)] pub fn collationIdentifier(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForCollationIdentifier:))] #[unsafe(method_family = none)] pub fn localizedStringForCollationIdentifier( &self, collation_identifier: &NSString, ) -> Option>; #[unsafe(method(usesMetricSystem))] #[unsafe(method_family = none)] pub fn usesMetricSystem(&self) -> bool; #[cfg(feature = "NSString")] #[unsafe(method(decimalSeparator))] #[unsafe(method_family = none)] pub fn decimalSeparator(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(groupingSeparator))] #[unsafe(method_family = none)] pub fn groupingSeparator(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(currencySymbol))] #[unsafe(method_family = none)] pub fn currencySymbol(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(currencyCode))] #[unsafe(method_family = none)] pub fn currencyCode(&self) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForCurrencyCode:))] #[unsafe(method_family = none)] pub fn localizedStringForCurrencyCode( &self, currency_code: &NSString, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(collatorIdentifier))] #[unsafe(method_family = none)] pub fn collatorIdentifier(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localizedStringForCollatorIdentifier:))] #[unsafe(method_family = none)] pub fn localizedStringForCollatorIdentifier( &self, collator_identifier: &NSString, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(quotationBeginDelimiter))] #[unsafe(method_family = none)] pub fn quotationBeginDelimiter(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(quotationEndDelimiter))] #[unsafe(method_family = none)] pub fn quotationEndDelimiter(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(alternateQuotationBeginDelimiter))] #[unsafe(method_family = none)] pub fn alternateQuotationBeginDelimiter(&self) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(alternateQuotationEndDelimiter))] #[unsafe(method_family = none)] pub fn alternateQuotationEndDelimiter(&self) -> Retained; ); } /// NSLocaleCreation. impl NSLocale { extern_methods!( #[unsafe(method(autoupdatingCurrentLocale))] #[unsafe(method_family = none)] pub fn autoupdatingCurrentLocale() -> Retained; #[unsafe(method(currentLocale))] #[unsafe(method_family = none)] pub fn currentLocale() -> Retained; #[unsafe(method(systemLocale))] #[unsafe(method_family = none)] pub fn systemLocale() -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localeWithLocaleIdentifier:))] #[unsafe(method_family = none)] pub fn localeWithLocaleIdentifier(ident: &NSString) -> Retained; ); } /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalelanguagedirection?language=objc) // NS_ENUM #[repr(transparent)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct NSLocaleLanguageDirection(pub NSUInteger); impl NSLocaleLanguageDirection { #[doc(alias = "NSLocaleLanguageDirectionUnknown")] pub const Unknown: Self = Self(0); #[doc(alias = "NSLocaleLanguageDirectionLeftToRight")] pub const LeftToRight: Self = Self(1); #[doc(alias = "NSLocaleLanguageDirectionRightToLeft")] pub const RightToLeft: Self = Self(2); #[doc(alias = "NSLocaleLanguageDirectionTopToBottom")] pub const TopToBottom: Self = Self(3); #[doc(alias = "NSLocaleLanguageDirectionBottomToTop")] pub const BottomToTop: Self = Self(4); } unsafe impl Encode for NSLocaleLanguageDirection { const ENCODING: Encoding = NSUInteger::ENCODING; } unsafe impl RefEncode for NSLocaleLanguageDirection { const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); } /// NSLocaleGeneralInfo. impl NSLocale { extern_methods!( #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(availableLocaleIdentifiers))] #[unsafe(method_family = none)] pub fn availableLocaleIdentifiers() -> Retained>; #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(ISOLanguageCodes))] #[unsafe(method_family = none)] pub fn ISOLanguageCodes() -> Retained>; #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(ISOCountryCodes))] #[unsafe(method_family = none)] pub fn ISOCountryCodes() -> Retained>; #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(ISOCurrencyCodes))] #[unsafe(method_family = none)] pub fn ISOCurrencyCodes() -> Retained>; #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(commonISOCurrencyCodes))] #[unsafe(method_family = none)] pub fn commonISOCurrencyCodes() -> Retained>; #[cfg(all(feature = "NSArray", feature = "NSString"))] #[unsafe(method(preferredLanguages))] #[unsafe(method_family = none)] pub fn preferredLanguages() -> Retained>; #[cfg(all(feature = "NSDictionary", feature = "NSString"))] #[unsafe(method(componentsFromLocaleIdentifier:))] #[unsafe(method_family = none)] pub fn componentsFromLocaleIdentifier( string: &NSString, ) -> Retained>; #[cfg(all(feature = "NSDictionary", feature = "NSString"))] #[unsafe(method(localeIdentifierFromComponents:))] #[unsafe(method_family = none)] pub fn localeIdentifierFromComponents( dict: &NSDictionary, ) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(canonicalLocaleIdentifierFromString:))] #[unsafe(method_family = none)] pub fn canonicalLocaleIdentifierFromString(string: &NSString) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(canonicalLanguageIdentifierFromString:))] #[unsafe(method_family = none)] pub fn canonicalLanguageIdentifierFromString(string: &NSString) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(localeIdentifierFromWindowsLocaleCode:))] #[unsafe(method_family = none)] pub fn localeIdentifierFromWindowsLocaleCode(lcid: u32) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(windowsLocaleCodeFromLocaleIdentifier:))] #[unsafe(method_family = none)] pub fn windowsLocaleCodeFromLocaleIdentifier(locale_identifier: &NSString) -> u32; #[cfg(feature = "NSString")] #[unsafe(method(characterDirectionForLanguage:))] #[unsafe(method_family = none)] pub fn characterDirectionForLanguage(iso_lang_code: &NSString) -> NSLocaleLanguageDirection; #[cfg(feature = "NSString")] #[unsafe(method(lineDirectionForLanguage:))] #[unsafe(method_family = none)] pub fn lineDirectionForLanguage(iso_lang_code: &NSString) -> NSLocaleLanguageDirection; ); } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nscurrentlocaledidchangenotification?language=objc) #[cfg(all(feature = "NSNotification", feature = "NSString"))] pub static NSCurrentLocaleDidChangeNotification: &'static NSNotificationName; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocaleidentifier?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleIdentifier: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalelanguagecode?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleLanguageCode: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecountrycode?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCountryCode: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalescriptcode?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleScriptCode: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalevariantcode?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleVariantCode: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocaleexemplarcharacterset?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleExemplarCharacterSet: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecalendar?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCalendar: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecollationidentifier?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCollationIdentifier: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocaleusesmetricsystem?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleUsesMetricSystem: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalemeasurementsystem?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleMeasurementSystem: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocaledecimalseparator?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleDecimalSeparator: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalegroupingseparator?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleGroupingSeparator: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecurrencysymbol?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCurrencySymbol: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecurrencycode?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCurrencyCode: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalecollatoridentifier?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleCollatorIdentifier: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalequotationbegindelimiterkey?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleQuotationBeginDelimiterKey: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalequotationenddelimiterkey?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleQuotationEndDelimiterKey: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalealternatequotationbegindelimiterkey?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleAlternateQuotationBeginDelimiterKey: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nslocalealternatequotationenddelimiterkey?language=objc) #[cfg(feature = "NSString")] pub static NSLocaleAlternateQuotationEndDelimiterKey: &'static NSLocaleKey; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsgregoriancalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSGregorianCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbuddhistcalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSBuddhistCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nschinesecalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSChineseCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nshebrewcalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSHebrewCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsislamiccalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSIslamicCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsislamiccivilcalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSIslamicCivilCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsjapanesecalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSJapaneseCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsrepublicofchinacalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSRepublicOfChinaCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersiancalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSPersianCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsindiancalendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSIndianCalendar: &'static NSString; } extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsiso8601calendar?language=objc) #[cfg(feature = "NSString")] #[deprecated] pub static NSISO8601Calendar: &'static NSString; }