FileOpenMethod // Use localized app names.

This commit is contained in:
ShikiSuen 2024-02-14 14:36:05 +08:00
parent bb4729ee3f
commit b013dc4d82
1 changed files with 38 additions and 4 deletions

View File

@ -284,10 +284,44 @@ public enum FileOpenMethod: String {
case safari = "Safari"
public var appName: String {
switch self {
case .finder: return "Finder"
case .textEdit: return "TextEdit"
case .safari: return "Safari"
let englishFallback: String = {
switch self {
case .finder: return "Finder"
case .textEdit: return "TextEdit"
case .safari: return "Safari"
}
}()
let tag = Locale.preferredLanguages.first?.lowercased().replacingOccurrences(of: "_", with: "-")
guard let tag = tag else { return englishFallback }
switch tag.prefix(2) {
case "ja":
switch self {
case .finder: return "Finder"
case .textEdit: return "テキストエディット"
case .safari: return "Safari"
}
case "zh" where tag.hasSuffix("-cn") || tag.hasSuffix("-hans"):
if #available(macOS 10.13.2, *) {
switch self {
case .finder: return "访达"
case .textEdit: return "文本编辑"
case .safari: return "Safari浏览器"
}
} else {
switch self {
case .finder: return "Finder"
case .textEdit: return "文本编辑"
case .safari: return "Safari"
}
}
case "zh-hant" where tag.hasSuffix("-tw") || tag.hasSuffix("-hk") || tag.hasSuffix("-hant"):
switch self {
case .finder: return "Finder"
case .textEdit: return "文字編輯"
case .safari: return "Safari"
}
default:
return englishFallback
}
}