mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 21:45:19 +00:00
translations & joined date
This commit is contained in:
parent
3cbb7f3a25
commit
9468ad8b59
@ -121,13 +121,21 @@
|
||||
"Settings.DefaultEmojisFirst" = "Standard emojis first";
|
||||
"Settings.DefaultEmojisFirst.Notice" = "Show standard emojis before premium in emoji keyboard";
|
||||
|
||||
/* Date when chat was created. "created: 24 May 2016" */
|
||||
"Chat.Created" = "created: %@";
|
||||
|
||||
"Chat.Created" = "Created";
|
||||
"Chat.Created.Copy" = "Copy Creation Date";
|
||||
"Chat.Created.Copied" = "Creation Date copied to clipboard.";
|
||||
/* Date when user joined the chat. "Joined Swiftgram Chat" */
|
||||
"Chat.JoinedDateTitle" = "Joined %@";
|
||||
"Chat.JoinedDate.Copy" = "Copy Joined Date";
|
||||
"Chat.JoinedDate.Copied" = "Joined Date copied to clipboard.";
|
||||
/* Date when user registered in Telegram. Will be shown like "Registered\n24 May 2016" */
|
||||
"Chat.RegDate" = "Registered";
|
||||
"Chat.RegDate.Copy" = "Copy Registration Date";
|
||||
"Chat.RegDate.Copied" = "Registration Date copied to clipboard.";
|
||||
|
||||
"Chat.ID" = "id";
|
||||
"Chat.ID.Copy" = "Copy ID";
|
||||
"Chat.ID.Copied" = "ID copied to clipboard.";
|
||||
|
||||
"Settings.messageDoubleTapActionOutgoingEdit" = "Double-tap to edit message";
|
||||
|
||||
|
@ -626,6 +626,7 @@ private final class PeerInfoInteraction {
|
||||
let openIdContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void
|
||||
let openDcContextMenu: (ASDisplayNode, ContextGesture?) -> Void
|
||||
let openCreationDateContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void
|
||||
let openJoinedContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void
|
||||
let openRegDateContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void
|
||||
let editingOpenAffiliateProgram: () -> Void
|
||||
let editingOpenVerifyAccounts: () -> Void
|
||||
@ -704,6 +705,7 @@ private final class PeerInfoInteraction {
|
||||
openIdContextMenu: @escaping (ASDisplayNode, ContextGesture?, String) -> Void,
|
||||
openDcContextMenu: @escaping (ASDisplayNode, ContextGesture?) -> Void,
|
||||
openCreationDateContextMenu: @escaping (ASDisplayNode, ContextGesture?, String) -> Void,
|
||||
openJoinedContextMenu: @escaping (ASDisplayNode, ContextGesture?, String) -> Void,
|
||||
openRegDateContextMenu: @escaping (ASDisplayNode, ContextGesture?, String) -> Void,
|
||||
editingOpenAffiliateProgram: @escaping () -> Void,
|
||||
editingOpenVerifyAccounts: @escaping () -> Void,
|
||||
@ -781,6 +783,7 @@ private final class PeerInfoInteraction {
|
||||
self.openIdContextMenu = openIdContextMenu
|
||||
self.openDcContextMenu = openDcContextMenu
|
||||
self.openCreationDateContextMenu = openCreationDateContextMenu
|
||||
self.openJoinedContextMenu = openJoinedContextMenu
|
||||
self.openRegDateContextMenu = openRegDateContextMenu
|
||||
self.editingOpenAffiliateProgram = editingOpenAffiliateProgram
|
||||
self.editingOpenVerifyAccounts = editingOpenVerifyAccounts
|
||||
@ -1380,6 +1383,9 @@ private func infoItems(nearestChatParticipant: (String?, Int32?), showProfileId:
|
||||
let openCreationDateContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void = { node, gesture, creationDate in
|
||||
interaction.openCreationDateContextMenu(node, gesture, creationDate)
|
||||
}
|
||||
let openJoinedContextMenu: (ASDisplayNode, ContextGesture?, String) -> Void = { node, gesture, joinedDate in
|
||||
interaction.openJoinedContextMenu(node, gesture, joinedDate)
|
||||
}
|
||||
|
||||
if let user = data.peer as? TelegramUser {
|
||||
// MARK: Swiftgram
|
||||
@ -2128,7 +2134,7 @@ private func infoItems(nearestChatParticipant: (String?, Int32?), showProfileId:
|
||||
|
||||
// MARK: Swiftgram
|
||||
if showProfileId {
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: "id", text: idText, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: i18n("Chat.ID", presentationData.strings.baseLanguageCode), text: idText, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
openIdContextMenu(node, nil, idText)
|
||||
}, longTapAction: nil, iconAction: nil, contextAction: { node, gesture, _ in
|
||||
openIdContextMenu(node, gesture, idText)
|
||||
@ -2202,7 +2208,7 @@ private func infoItems(nearestChatParticipant: (String?, Int32?), showProfileId:
|
||||
if SGSimpleSettings.shared.showCreationDate {
|
||||
if let channelCreationTimestamp = data.channelCreationTimestamp {
|
||||
let creationDateString = stringForDate(timestamp: channelCreationTimestamp, strings: presentationData.strings)
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: "Chat.Created", text: creationDateString, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: i18n("Chat.Created", presentationData.strings.baseLanguageCode), text: creationDateString, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
openCreationDateContextMenu(node, nil, creationDateString)
|
||||
}, longTapAction: nil, iconAction: nil, contextAction: { node, gesture, _ in
|
||||
openCreationDateContextMenu(node, gesture, creationDateString)
|
||||
@ -2213,11 +2219,11 @@ private func infoItems(nearestChatParticipant: (String?, Int32?), showProfileId:
|
||||
|
||||
if let invitedAt = nearestChatParticipant.1 {
|
||||
let joinedDateString = stringForDate(timestamp: invitedAt, strings: presentationData.strings)
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, label: i18n("Chat.JoinedDateTitle", presentationData.strings.baseLanguageCode, nearestChatParticipant.0 ?? "chat") , text: joinedDateString, action: nil, longTapAction: { sourceNode in
|
||||
interaction.openPeerInfoContextMenu(.copy(joinedDateString), sourceNode, nil)
|
||||
}, requestLayout: { _ in
|
||||
interaction.requestLayout(false)
|
||||
}))
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: i18n("Chat.JoinedDateTitle", presentationData.strings.baseLanguageCode, nearestChatParticipant.0 ?? "chat"), text: joinedDateString, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
openJoinedContextMenu(node, nil, joinedDateString)
|
||||
}, longTapAction: nil, iconAction: nil, contextAction: { node, gesture, _ in
|
||||
openJoinedContextMenu(node, gesture, joinedDateString)
|
||||
}, requestLayout: { _ in }))
|
||||
sgItemId += 1
|
||||
}
|
||||
|
||||
@ -2243,7 +2249,7 @@ private func infoItems(nearestChatParticipant: (String?, Int32?), showProfileId:
|
||||
}
|
||||
}
|
||||
if !regDateString.isEmpty {
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: "Chat.RegDate", text: regDateString, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
items[.swiftgram]!.append(PeerInfoScreenLabeledValueItem(id: sgItemId, context: context, label: i18n("Chat.RegDate", presentationData.strings.baseLanguageCode), text: regDateString, textColor: .primary, leftIcon: nil, icon: nil, action: { node, _ in
|
||||
openRegDateContextMenu(node, nil, regDateString)
|
||||
}, longTapAction: nil, iconAction: nil, contextAction: { node, gesture, _ in
|
||||
openRegDateContextMenu(node, gesture, regDateString)
|
||||
@ -3489,6 +3495,9 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
||||
}, openCreationDateContextMenu: { [weak self] node, gesture, creationDate in
|
||||
guard let self else { return }
|
||||
self.openCreationDateContextMenu(node: node, gesture: gesture, creationDate: creationDate)
|
||||
}, openJoinedContextMenu: { [weak self] node, gesture, joinedDate in
|
||||
guard let self else { return }
|
||||
self.openJoinedContextMenu(node: node, gesture: gesture, joinedDate: joinedDate)
|
||||
}, openRegDateContextMenu: { [weak self] node, gesture, regDate in
|
||||
guard let self else { return }
|
||||
self.openRegDateContextMenu(node: node, gesture: gesture, regDate: regDate)
|
||||
@ -8272,10 +8281,10 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
||||
let copyAction = { [weak self] in
|
||||
guard let self else { return }
|
||||
UIPasteboard.general.string = id
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: "Copied ID"), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: i18n("Chat.ID.Copied", self.presentationData.strings.baseLanguageCode)), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
}
|
||||
var items: [ContextMenuItem] = []
|
||||
items.append(.action(ContextMenuActionItem(text: "Copy ID", icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
items.append(.action(ContextMenuActionItem(text: i18n("Chat.ID.Copy", self.presentationData.strings.baseLanguageCode), icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
c?.dismiss { copyAction() }
|
||||
})))
|
||||
let actions = ContextController.Items(content: .list(items))
|
||||
@ -8302,10 +8311,26 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
||||
let copyAction = { [weak self] in
|
||||
guard let self else { return }
|
||||
UIPasteboard.general.string = creationDate
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: "Copied creation date"), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: i18n("Chat.Created.Copied", self.presentationData.strings.baseLanguageCode)), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
}
|
||||
var items: [ContextMenuItem] = []
|
||||
items.append(.action(ContextMenuActionItem(text: "Copy Creation Date", icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
items.append(.action(ContextMenuActionItem(text: i18n("Chat.Created.Copy", self.presentationData.strings.baseLanguageCode), icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
c?.dismiss { copyAction() }
|
||||
})))
|
||||
let actions = ContextController.Items(content: .list(items))
|
||||
let contextController = ContextController(presentationData: self.presentationData, source: .extracted(PeerInfoContextExtractedContentSource(sourceNode: sourceNode)), items: .single(actions), gesture: gesture)
|
||||
self.controller?.present(contextController, in: .window(.root))
|
||||
}
|
||||
|
||||
private func openJoinedContextMenu(node: ASDisplayNode, gesture: ContextGesture?, joinedDate: String) {
|
||||
guard let sourceNode = node as? ContextExtractedContentContainingNode else { return }
|
||||
let copyAction = { [weak self] in
|
||||
guard let self else { return }
|
||||
UIPasteboard.general.string = joinedDate
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: i18n("Chat.JoinedDate.Copied", self.presentationData.strings.baseLanguageCode)), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
}
|
||||
var items: [ContextMenuItem] = []
|
||||
items.append(.action(ContextMenuActionItem(text: i18n("Chat.JoinedDate.Copy", self.presentationData.strings.baseLanguageCode), icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
c?.dismiss { copyAction() }
|
||||
})))
|
||||
let actions = ContextController.Items(content: .list(items))
|
||||
@ -8318,10 +8343,10 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
||||
let copyAction = { [weak self] in
|
||||
guard let self else { return }
|
||||
UIPasteboard.general.string = regDate
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: "Copied registration date"), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
self.controller?.present(UndoOverlayController(presentationData: self.presentationData, content: .copy(text: i18n("Chat.RegDate.Copied", self.presentationData.strings.baseLanguageCode)), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current)
|
||||
}
|
||||
var items: [ContextMenuItem] = []
|
||||
items.append(.action(ContextMenuActionItem(text: "Copy Registration Date", icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
items.append(.action(ContextMenuActionItem(text: i18n("Chat.RegDate.Copy", self.presentationData.strings.baseLanguageCode), icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: theme.contextMenu.primaryColor) }, action: { c, _ in
|
||||
c?.dismiss { copyAction() }
|
||||
})))
|
||||
let actions = ContextController.Items(content: .list(items))
|
||||
|
Loading…
x
Reference in New Issue
Block a user