mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Translation improvements
This commit is contained in:
parent
e8ec6331ff
commit
7cea4071ba
@ -8847,3 +8847,38 @@ Sorry for the inconvenience.";
|
|||||||
"Chat.PlaceholderTextNotAllowed" = "Text not allowed";
|
"Chat.PlaceholderTextNotAllowed" = "Text not allowed";
|
||||||
|
|
||||||
"CallList.DeleteAll" = "Delete All";
|
"CallList.DeleteAll" = "Delete All";
|
||||||
|
|
||||||
|
"Translation.Language.en" = "English";
|
||||||
|
"Translation.Language.ar" = "Arabic";
|
||||||
|
"Translation.Language.zh" = "Chinese";
|
||||||
|
"Translation.Language.fr" = "French";
|
||||||
|
"Translation.Language.de" = "German";
|
||||||
|
"Translation.Language.it" = "Italian";
|
||||||
|
"Translation.Language.ja" = "Japanese";
|
||||||
|
"Translation.Language.ko" = "Korean";
|
||||||
|
"Translation.Language.pt" = "Portuguese";
|
||||||
|
"Translation.Language.ru" = "Russian";
|
||||||
|
"Translation.Language.es" = "Spanish";
|
||||||
|
"Translation.Language.uk" = "Ukrainian";
|
||||||
|
"Translation.Language.be" = "Belarusian";
|
||||||
|
"Translation.Language.ca" = "Catalan";
|
||||||
|
"Translation.Language.hr" = "Croatian";
|
||||||
|
"Translation.Language.cs" = "Czech";
|
||||||
|
"Translation.Language.nl" = "Dutch";
|
||||||
|
"Translation.Language.eo" = "Esperanto";
|
||||||
|
"Translation.Language.fi" = "Finnish";
|
||||||
|
"Translation.Language.he" = "Hebrew";
|
||||||
|
"Translation.Language.hu" = "Hungarian";
|
||||||
|
"Translation.Language.id" = "Indonesian";
|
||||||
|
"Translation.Language.ms" = "Malay";
|
||||||
|
"Translation.Language.ml" = "Malayalam";
|
||||||
|
"Translation.Language.no" = "Norwegian";
|
||||||
|
"Translation.Language.fa" = "Persian";
|
||||||
|
"Translation.Language.po" = "Polish";
|
||||||
|
"Translation.Language.ro" = "Romanian";
|
||||||
|
"Translation.Language.sr" = "Serbian";
|
||||||
|
"Translation.Language.sk" = "Slovak";
|
||||||
|
"Translation.Language.sv" = "Swedish";
|
||||||
|
"Translation.Language.ta" = "Tamil";
|
||||||
|
"Translation.Language.tr" = "Turkish";
|
||||||
|
"Translation.Language.uz" = "Uzbek";
|
||||||
|
@ -463,7 +463,7 @@ public class GalleryController: ViewController, StandalonePresentableController,
|
|||||||
if let translationState, translationState.isEnabled {
|
if let translationState, translationState.isEnabled {
|
||||||
var translateToLanguage = translationState.toLang ?? baseLanguageCode
|
var translateToLanguage = translationState.toLang ?? baseLanguageCode
|
||||||
if translateToLanguage == "nb" {
|
if translateToLanguage == "nb" {
|
||||||
translateToLanguage = "nl"
|
translateToLanguage = "no"
|
||||||
} else if translateToLanguage == "pt-br" {
|
} else if translateToLanguage == "pt-br" {
|
||||||
translateToLanguage = "pt"
|
translateToLanguage = "pt"
|
||||||
}
|
}
|
||||||
|
@ -10087,7 +10087,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
}
|
}
|
||||||
var langCode = langCode
|
var langCode = langCode
|
||||||
if langCode == "nb" {
|
if langCode == "nb" {
|
||||||
langCode = "nl"
|
langCode = "no"
|
||||||
} else if langCode == "pt-br" {
|
} else if langCode == "pt-br" {
|
||||||
langCode = "pt"
|
langCode = "pt"
|
||||||
}
|
}
|
||||||
|
@ -1298,7 +1298,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
if let translationState, isPremium && translationState.isEnabled {
|
if let translationState, isPremium && translationState.isEnabled {
|
||||||
translateToLanguage = translationState.toLang ?? presentationData.strings.baseLanguageCode
|
translateToLanguage = translationState.toLang ?? presentationData.strings.baseLanguageCode
|
||||||
if translateToLanguage == "nb" {
|
if translateToLanguage == "nb" {
|
||||||
translateToLanguage = "nl"
|
translateToLanguage = "no"
|
||||||
} else if translateToLanguage == "pt-br" {
|
} else if translateToLanguage == "pt-br" {
|
||||||
translateToLanguage = "pt"
|
translateToLanguage = "pt"
|
||||||
}
|
}
|
||||||
|
@ -481,7 +481,7 @@ final class ChatPinnedMessageTitlePanelNode: ChatTitleAccessoryPanelNode {
|
|||||||
if let translationState = interfaceState.translationState, translationState.isEnabled {
|
if let translationState = interfaceState.translationState, translationState.isEnabled {
|
||||||
translateToLanguage = translationState.toLang
|
translateToLanguage = translationState.toLang
|
||||||
if translateToLanguage == "nb" {
|
if translateToLanguage == "nb" {
|
||||||
translateToLanguage = "nl"
|
translateToLanguage = "no"
|
||||||
} else if translateToLanguage == "pt-br" {
|
} else if translateToLanguage == "pt-br" {
|
||||||
translateToLanguage = "pt"
|
translateToLanguage = "pt"
|
||||||
}
|
}
|
||||||
|
@ -114,11 +114,19 @@ final class ChatTranslationPanelNode: ASDisplayNode {
|
|||||||
if languageCode.hasSuffix(rawSuffix) {
|
if languageCode.hasSuffix(rawSuffix) {
|
||||||
languageCode = String(languageCode.dropLast(rawSuffix.count))
|
languageCode = String(languageCode.dropLast(rawSuffix.count))
|
||||||
}
|
}
|
||||||
let locale = Locale(identifier: languageCode)
|
|
||||||
let toLang = interfaceState.translationState?.toLang ?? languageCode
|
|
||||||
let toLanguage: String = locale.localizedString(forLanguageCode: toLang) ?? ""
|
|
||||||
|
|
||||||
let buttonText = interfaceState.translationState?.isEnabled == true ? interfaceState.strings.Conversation_Translation_ShowOriginal : interfaceState.strings.Conversation_Translation_TranslateTo(toLanguage).string
|
let toLang = interfaceState.translationState?.toLang ?? languageCode
|
||||||
|
|
||||||
|
let key = "Translation.Language.\(toLang)"
|
||||||
|
var toLanguage: String?
|
||||||
|
if let string = interfaceState.strings.primaryComponent.dict[key] {
|
||||||
|
toLanguage = string
|
||||||
|
} else {
|
||||||
|
let languageLocale = Locale(identifier: languageCode)
|
||||||
|
toLanguage = languageLocale.localizedString(forLanguageCode: toLang) ?? ""
|
||||||
|
}
|
||||||
|
|
||||||
|
let buttonText = interfaceState.translationState?.isEnabled == true ? interfaceState.strings.Conversation_Translation_ShowOriginal : interfaceState.strings.Conversation_Translation_TranslateTo(toLanguage ?? "").string
|
||||||
self.buttonTextNode.attributedText = NSAttributedString(string: buttonText, font: Font.regular(17.0), textColor: interfaceState.theme.rootController.navigationBar.accentTextColor)
|
self.buttonTextNode.attributedText = NSAttributedString(string: buttonText, font: Font.regular(17.0), textColor: interfaceState.theme.rootController.navigationBar.accentTextColor)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,13 +190,13 @@ final class ChatTranslationPanelNode: ASDisplayNode {
|
|||||||
subItems.append(.separator)
|
subItems.append(.separator)
|
||||||
|
|
||||||
let enLocale = Locale(identifier: "en")
|
let enLocale = Locale(identifier: "en")
|
||||||
var languages: [(String, String, String)] = []
|
var languages: [(String, String)] = []
|
||||||
var addedLanguages = Set<String>()
|
var addedLanguages = Set<String>()
|
||||||
|
|
||||||
var topLanguages: [String] = []
|
var topLanguages: [String] = []
|
||||||
var langCode = languageCode
|
var langCode = languageCode
|
||||||
if langCode == "nb" {
|
if langCode == "nb" {
|
||||||
langCode = "nl"
|
langCode = "no"
|
||||||
} else if langCode == "pt-br" {
|
} else if langCode == "pt-br" {
|
||||||
langCode = "pt"
|
langCode = "pt"
|
||||||
}
|
}
|
||||||
@ -196,16 +204,24 @@ final class ChatTranslationPanelNode: ASDisplayNode {
|
|||||||
topLanguages.append(contentsOf: popularTranslationLanguages)
|
topLanguages.append(contentsOf: popularTranslationLanguages)
|
||||||
|
|
||||||
for code in topLanguages {
|
for code in topLanguages {
|
||||||
if !addedLanguages.contains(code), let title = enLocale.localizedString(forLanguageCode: code) {
|
if !addedLanguages.contains(code) {
|
||||||
let languageLocale = Locale(identifier: code)
|
let key = "Translation.Language.\(code)"
|
||||||
let subtitle = languageLocale.localizedString(forLanguageCode: code) ?? title
|
var title: String?
|
||||||
let value = (code, title.capitalized, subtitle.capitalized)
|
if let string = presentationData.strings.primaryComponent.dict[key] {
|
||||||
if code == languageCode {
|
title = string
|
||||||
languages.insert(value, at: 0)
|
} else if let engTitle = enLocale.localizedString(forLanguageCode: code) {
|
||||||
} else {
|
let languageLocale = Locale(identifier: code)
|
||||||
languages.append(value)
|
title = languageLocale.localizedString(forLanguageCode: code) ?? engTitle
|
||||||
|
}
|
||||||
|
if let title {
|
||||||
|
let value = (code, title.capitalized)
|
||||||
|
if code == languageCode {
|
||||||
|
languages.insert(value, at: 0)
|
||||||
|
} else {
|
||||||
|
languages.append(value)
|
||||||
|
}
|
||||||
|
addedLanguages.insert(code)
|
||||||
}
|
}
|
||||||
addedLanguages.insert(code)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,7 +238,7 @@ final class ChatTranslationPanelNode: ASDisplayNode {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
for (langCode, title, _) in languages {
|
for (langCode, title) in languages {
|
||||||
subItems.append(.action(ContextMenuActionItem(text: title , icon: { theme in
|
subItems.append(.action(ContextMenuActionItem(text: title , icon: { theme in
|
||||||
if translationState.toLang == langCode {
|
if translationState.toLang == langCode {
|
||||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor)
|
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor)
|
||||||
|
@ -1006,7 +1006,7 @@ public class TranslateScreen: ViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if toLanguage == "nb" {
|
if toLanguage == "nb" {
|
||||||
toLanguage = "nl"
|
toLanguage = "no"
|
||||||
} else if toLanguage == "pt-br" {
|
} else if toLanguage == "pt-br" {
|
||||||
toLanguage = "pt"
|
toLanguage = "pt"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user