mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Version 11.9
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import SGStrings
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Display
|
||||
@@ -447,6 +448,7 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
return
|
||||
}
|
||||
|
||||
// MARK: Swiftgram
|
||||
let isPremium = peer?.isPremium ?? false
|
||||
|
||||
var entries: [LanguageListEntry] = []
|
||||
@@ -461,7 +463,7 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
var ignoredLanguages: [String] = []
|
||||
if let translationSettings = sharedData.entries[ApplicationSpecificSharedDataKeys.translationSettings]?.get(TranslationSettings.self) {
|
||||
showTranslate = translationSettings.showTranslate
|
||||
translateChats = isPremium ? translationSettings.translateChats : false
|
||||
translateChats = translationSettings.translateChats
|
||||
if let languages = translationSettings.ignoredLanguages {
|
||||
ignoredLanguages = languages
|
||||
} else {
|
||||
@@ -483,7 +485,7 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
translateChats = isPremium
|
||||
translateChats = isPremium || true
|
||||
if let activeLanguage = activeLanguageCode, supportedTranslationLanguages.contains(activeLanguage) {
|
||||
ignoredLanguages = [activeLanguage]
|
||||
}
|
||||
@@ -502,7 +504,7 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
|
||||
entries.append(.translate(text: presentationData.strings.Localization_ShowTranslate, value: showTranslate))
|
||||
|
||||
entries.append(.translateEntire(text: presentationData.strings.Localization_TranslateEntireChat, value: translateChats, locked: !isPremium))
|
||||
entries.append(.translateEntire(text: presentationData.strings.Localization_TranslateEntireChat, value: translateChats, locked: !(isPremium || true)))
|
||||
|
||||
var value = ""
|
||||
if ignoredLanguages.count > 1 {
|
||||
@@ -552,6 +554,17 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
} else {
|
||||
entries.append(.localizationTitle(text: presentationData.strings.Localization_InterfaceLanguage.uppercased(), section: LanguageListSection.official.rawValue))
|
||||
}
|
||||
|
||||
// MARK: Swiftrgam
|
||||
for info in SGLocalizations {
|
||||
if existingIds.contains(info.languageCode) {
|
||||
continue
|
||||
}
|
||||
existingIds.insert(info.languageCode)
|
||||
entries.append(.localization(index: entries.count, info: info, type: .official, selected: info.languageCode == activeLanguageCode, activity: applyingCode == info.languageCode, revealed: revealedCode == info.languageCode, editing: false))
|
||||
}
|
||||
//
|
||||
|
||||
for info in localizationListState.availableOfficialLocalizations {
|
||||
if existingIds.contains(info.languageCode) {
|
||||
continue
|
||||
@@ -727,6 +740,13 @@ final class LocalizationListControllerNode: ViewControllerTracingNode {
|
||||
self?.applyingCode.set(.single(nil))
|
||||
|
||||
self?.context.engine.messages.refreshAttachMenuBots()
|
||||
|
||||
// MARK: Swiftgram
|
||||
// TODO(swiftgram): consider moving to downloadAndApplyLocalization for an app-wide strings update
|
||||
if let baseLanguageCode = info.baseLanguageCode {
|
||||
SGLocalizationManager.shared.downloadLocale(baseLanguageCode)
|
||||
}
|
||||
|
||||
}))
|
||||
}
|
||||
if info.isOfficial {
|
||||
|
||||
@@ -161,10 +161,13 @@ public func translationSettingsController(context: AccountContext) -> ViewContro
|
||||
}
|
||||
}
|
||||
|
||||
for code in supportedTranslationLanguages {
|
||||
for code in supportedTranslationLanguages + ["zh-hans", "zh-hant"] {
|
||||
if !addedLanguages.contains(code), let title = enLocale.localizedString(forLanguageCode: code) {
|
||||
let languageLocale = Locale(identifier: code)
|
||||
let subtitle = languageLocale.localizedString(forLanguageCode: code) ?? title
|
||||
var subtitle = languageLocale.localizedString(forLanguageCode: code) ?? title
|
||||
if code == "zh-hans" || code == "zh-hant" {
|
||||
subtitle += " \(code)"
|
||||
}
|
||||
let value = (code, title.capitalized, subtitle.capitalized)
|
||||
if code == interfaceLanguageCode {
|
||||
languages.insert(value, at: 0)
|
||||
|
||||
Reference in New Issue
Block a user