Skip to content

Commit 6561ca9

Browse files
committed
Added extension for languages.
1 parent 41beb31 commit 6561ca9

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Sources/SwiftBoost/Foundation/Extensions/LocaleExtension.swift

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,26 @@ public extension Locale {
1111
return dateString.contains(dateFormatter.amSymbol) || dateString.contains(dateFormatter.pmSymbol)
1212
}
1313

14+
func localised(in locale: Locale) -> String? {
15+
guard let currentLanguageCode = {
16+
if #available(iOS 16, *) {
17+
return self.language.languageCode?.identifier
18+
} else {
19+
return self.languageCode
20+
}
21+
}() else { return nil }
22+
guard let toLanguageCode = {
23+
if #available(iOS 16, *) {
24+
return locale.language.languageCode?.identifier
25+
} else {
26+
return locale.languageCode
27+
}
28+
}() else { return nil }
29+
let nslocale = NSLocale(localeIdentifier: toLanguageCode)
30+
let text = nslocale.displayName(forKey: NSLocale.Key.identifier, value: currentLanguageCode)
31+
return text?.localizedCapitalized
32+
}
33+
1434
static func flagEmoji(forRegionCode isoRegionCode: String) -> String? {
1535
guard isoRegionCodes.contains(isoRegionCode) else { return nil }
1636
return isoRegionCode.unicodeScalars.reduce(into: String()) {

0 commit comments

Comments
 (0)