Support latest API

This commit is contained in:
Peter 2019-05-28 21:44:54 +02:00
parent d30bb902e2
commit 7140483ca8
10 changed files with 498 additions and 467 deletions

View File

@ -368,6 +368,12 @@ public func channelBlacklistController(context: AccountContext, peerId: PeerId)
|> ignoreValues
|> then(
context.peerChannelMemberCategoriesContextsManager.addMember(account: context.account, peerId: peerId, memberId: memberId)
|> map { _ -> Void in
return Void()
}
|> `catch` { _ -> Signal<Void, NoError> in
return .complete()
}
|> ignoreValues
)
removePeerDisposable.set((signal |> deliverOnMainQueue).start(error: { _ in

View File

@ -124,7 +124,13 @@ final class ChatChannelSubscriberInputPanelNode: ChatInputPanelNode {
strongSelf.activityIndicator.stopAnimating()
}
}
}).start())
}).start(error: { [weak self] _ in
guard let strongSelf = self, let presentationInterfaceState = strongSelf.presentationInterfaceState else {
return
}
let text = presentationInterfaceState.strings.Login_UnknownError
strongSelf.interfaceInteraction?.presentController(standardTextAlertController(theme: AlertControllerTheme(presentationTheme: presentationInterfaceState.theme), title: nil, text: text, actions: [TextAlertAction(type: .defaultAction, title: presentationInterfaceState.strings.Common_OK, action: {})]), nil)
}))
case .kicked:
break
case .muteNotifications, .unmuteNotifications:
@ -183,7 +189,7 @@ final class ChatChannelSubscriberInputPanelNode: ChatInputPanelNode {
strongSelf.badgeText.attributedText = NSAttributedString(string: text, font: badgeFont, textColor: interfaceState.theme.chatList.unreadBadgeActiveTextColor)
let textSize = strongSelf.badgeText.updateLayout(CGSize(width: 100.0, height: 100.0))
let badgeSize = CGSize(width: max(image.size.width, textSize.width + 4.0), height: image.size.height)
let badgeSize = CGSize(width: max(image.size.width, textSize.width + 10.0), height: image.size.height)
let badgeFrame = CGRect(origin: CGPoint(x: strongSelf.discussButtonText.frame.maxX + 5.0, y: floor((strongSelf.discussButton.bounds.height - badgeSize.height) / 2.0)), size: badgeSize)
strongSelf.badgeBackground.frame = badgeFrame
strongSelf.badgeText.frame = CGRect(origin: CGPoint(x: badgeFrame.minX + floor((badgeSize.width - textSize.width) / 2.0), y: badgeFrame.minY + floor((badgeSize.height - textSize.height) / 2.0)), size: textSize)

View File

@ -1471,6 +1471,7 @@ public final class ChatController: TelegramController, KeyShortcutResponder, Gal
isGroupChannel = false
}
}
let firstTime = strongSelf.peerView == nil
strongSelf.peerView = peerView
if wasGroupChannel != isGroupChannel {
if let isGroupChannel = isGroupChannel, isGroupChannel {
@ -1514,6 +1515,10 @@ public final class ChatController: TelegramController, KeyShortcutResponder, Gal
isNotAccessible = cachedChannelData.isNotAccessible
}
if firstTime && isNotAccessible {
strongSelf.context.account.viewTracker.forceUpdateCachedPeerData(peerId: peerView.peerId)
}
var hasBots: Bool = false
if let peer = peerView.peers[peerView.peerId] {
if let cachedGroupData = peerView.cachedData as? CachedGroupData {

View File

@ -698,8 +698,9 @@ func chatAvailableMessageActions(postbox: Postbox, accountPeerId: PeerId, messag
if message.flags.contains(.Incoming) {
optionsMap[id]!.insert(.report)
}
if channel.hasPermission(.banMembers), case .group = channel.info, message.author is TelegramUser {
if channel.hasPermission(.banMembers), case .group = channel.info {
if message.flags.contains(.Incoming) {
if message.author is TelegramUser {
if !hadBanPeerId {
hadBanPeerId = true
banPeer = message.author
@ -710,6 +711,10 @@ func chatAvailableMessageActions(postbox: Postbox, accountPeerId: PeerId, messag
hadBanPeerId = true
banPeer = nil
}
} else {
hadBanPeerId = true
banPeer = nil
}
}
if !message.containsSecretMedia && !isAction {
if message.id.peerId.namespace != Namespaces.Peer.SecretChat {

View File

@ -280,7 +280,9 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
case .header:
var peers = SimpleDictionary<PeerId, Peer>()
var author: Peer?
if let peer = self.entry.peers[self.entry.event.peerId] {
if self.entry.event.peerId == PeerId(namespace: Namespaces.Peer.CloudUser, id: 136817688) {
author = message?.effectiveAuthor
} else if let peer = self.entry.peers[self.entry.event.peerId] {
author = peer
peers[peer.id] = peer
}
@ -313,7 +315,7 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
}
}
}
let message = Message(stableId: self.entry.stableId, stableVersion: 0, id: MessageId(peerId: peer.id, namespace: Namespaces.Message.Cloud, id: Int32(bitPattern: self.entry.stableId)), globallyUniqueId: self.entry.event.id, groupingKey: nil, groupInfo: nil, timestamp: self.entry.event.date, flags: [.Incoming], tags: [], globalTags: [], localTags: [], forwardInfo: nil, author: message.author, text: message.text, attributes: attributes, media: message.media, peers: peers, associatedMessages: SimpleDictionary(), associatedMessageIds: [])
let message = Message(stableId: self.entry.stableId, stableVersion: 0, id: MessageId(peerId: peer.id, namespace: Namespaces.Message.Cloud, id: Int32(bitPattern: self.entry.stableId)), globallyUniqueId: self.entry.event.id, groupingKey: nil, groupInfo: nil, timestamp: self.entry.event.date, flags: [.Incoming], tags: [], globalTags: [], localTags: [], forwardInfo: nil, author: message.effectiveAuthor, text: message.text, attributes: attributes, media: message.media, peers: peers, associatedMessages: SimpleDictionary(), associatedMessageIds: [])
return ChatMessageItem(presentationData: self.presentationData, context: context, chatLocation: .peer(peer.id), associatedData: ChatMessageItemAssociatedData(automaticDownloadPeerType: .channel, automaticDownloadNetworkType: .cellular, isRecentActions: true), controllerInteraction: controllerInteraction, content: .message(message: message, read: true, selection: .none, attributes: ChatMessageEntryAttributes(isAdmin: false, isContact: false)))
} else {
var peers = SimpleDictionary<PeerId, Peer>()
@ -898,9 +900,11 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
return []
}, to: &text, entities: &entities)
} else {
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedUnlinkedGroup(author?.displayTitle ?? ""), generateEntities: { index in
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedUnlinkedGroup(author?.displayTitle ?? "", previous?.displayTitle ?? ""), generateEntities: { index in
if index == 0, let author = author {
return [.TextMention(peerId: author.id)]
} else if index == 0, let previous = previous {
return [.TextMention(peerId: previous.id)]
}
return []
}, to: &text, entities: &entities)

View File

@ -164,7 +164,7 @@ func galleryItemForEntry(context: AccountContext, presentationData: Presentation
}
let caption = galleryCaptionStringWithAppliedEntities(text, entities: entities)
return UniversalVideoGalleryItem(context: context, presentationData: presentationData, content: content, originData: GalleryItemOriginData(title: message.author?.displayTitle, timestamp: message.timestamp), indexData: location.flatMap { GalleryItemIndexData(position: Int32($0.index), totalCount: Int32($0.count)) }, contentInfo: .message(message), caption: caption, hideControls: hideControls, fromPlayingVideo: fromPlayingVideo, landscape: landscape, timecode: timecode, playbackCompleted: playbackCompleted, performAction: performAction, openActionOptions: openActionOptions)
return UniversalVideoGalleryItem(context: context, presentationData: presentationData, content: content, originData: GalleryItemOriginData(title: message.effectiveAuthor?.displayTitle, timestamp: message.timestamp), indexData: location.flatMap { GalleryItemIndexData(position: Int32($0.index), totalCount: Int32($0.count)) }, contentInfo: .message(message), caption: caption, hideControls: hideControls, fromPlayingVideo: fromPlayingVideo, landscape: landscape, timecode: timecode, playbackCompleted: playbackCompleted, performAction: performAction, openActionOptions: openActionOptions)
} else {
if let fileName = file.fileName, (fileName as NSString).pathExtension.lowercased() == "json" {
return ChatAnimationGalleryItem(context: context, presentationData: presentationData, message: message, location: location)
@ -203,7 +203,7 @@ func galleryItemForEntry(context: AccountContext, presentationData: Presentation
}
}
if let content = content {
return UniversalVideoGalleryItem(context: context, presentationData: presentationData, content: content, originData: GalleryItemOriginData(title: message.author?.displayTitle, timestamp: message.timestamp), indexData: location.flatMap { GalleryItemIndexData(position: Int32($0.index), totalCount: Int32($0.count)) }, contentInfo: .message(message), caption: NSAttributedString(string: ""), fromPlayingVideo: fromPlayingVideo, landscape: landscape, timecode: timecode, performAction: performAction, openActionOptions: openActionOptions)
return UniversalVideoGalleryItem(context: context, presentationData: presentationData, content: content, originData: GalleryItemOriginData(title: message.effectiveAuthor?.displayTitle, timestamp: message.timestamp), indexData: location.flatMap { GalleryItemIndexData(position: Int32($0.index), totalCount: Int32($0.count)) }, contentInfo: .message(message), caption: NSAttributedString(string: ""), fromPlayingVideo: fromPlayingVideo, landscape: landscape, timecode: timecode, performAction: performAction, openActionOptions: openActionOptions)
} else {
return nil
}

View File

@ -1556,6 +1556,12 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
let memberId = selectedPeer.id
if peerView.peerId.namespace == Namespaces.Peer.CloudChannel {
return context.peerChannelMemberCategoriesContextsManager.addMember(account: context.account, peerId: peerView.peerId, memberId: memberId)
|> map { _ -> Void in
return Void()
}
|> `catch` { _ -> Signal<Void, NoError> in
return .complete()
}
}
if let peer = peerView.peers[memberId] {
@ -1616,6 +1622,9 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
return .single(nil)
}
return context.peerChannelMemberCategoriesContextsManager.addMember(account: context.account, peerId: upgradedPeerId, memberId: memberId)
|> `catch` { _ -> Signal<Never, NoError> in
return .complete()
}
|> mapToSignal { _ -> Signal<PeerId?, NoError> in
return .complete()
}
@ -1650,6 +1659,12 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
|> deliverOnMainQueue
|> mapError { _ in return .generic}
|> mapToSignal { view -> Signal<Void, AddChannelMemberError> in
if memberIds.count == 1 {
return context.peerChannelMemberCategoriesContextsManager.addMember(account: context.account, peerId: peerView.peerId, memberId: memberIds[0])
|> map { _ -> Void in
return Void()
}
} else {
return context.peerChannelMemberCategoriesContextsManager.addMembers(account: context.account, peerId: peerView.peerId, memberIds: memberIds) |> map { _ in
updateState { state in
var state = state
@ -1670,7 +1685,7 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
}
return state
}
}
}
}

View File

@ -247,11 +247,8 @@ final class PeerChannelMemberCategoriesContextsManager {
}
}
func join(account: Account, peerId: PeerId) -> Signal<Void, NoError> {
func join(account: Account, peerId: PeerId) -> Signal<Never, JoinChannelError> {
return joinChannel(account: account, peerId: peerId)
|> `catch` { _ -> Signal<RenderedChannelParticipant?, NoError> in
return .single(nil)
}
|> deliverOnMainQueue
|> beforeNext { [weak self] result in
if let strongSelf = self, let updated = result {
@ -264,20 +261,15 @@ final class PeerChannelMemberCategoriesContextsManager {
}
}
}
|> mapToSignal { _ -> Signal<Void, NoError> in
return .complete()
}
|> ignoreValues
}
func addMember(account: Account, peerId: PeerId, memberId: PeerId) -> Signal<Void, NoError> {
func addMember(account: Account, peerId: PeerId, memberId: PeerId) -> Signal<Never, AddChannelMemberError> {
return addChannelMember(account: account, peerId: peerId, memberId: memberId)
|> map(Optional.init)
|> `catch` { _ -> Signal<(ChannelParticipant?, RenderedChannelParticipant)?, NoError> in
return .single(nil)
}
|> deliverOnMainQueue
|> beforeNext { [weak self] result in
if let strongSelf = self, let (previous, updated) = result {
if let strongSelf = self {
let (previous, updated) = result
strongSelf.impl.with { impl in
for (contextPeerId, context) in impl.contexts {
if peerId == contextPeerId {
@ -287,9 +279,7 @@ final class PeerChannelMemberCategoriesContextsManager {
}
}
}
|> mapToSignal { _ -> Signal<Void, NoError> in
return .complete()
}
|> ignoreValues
}
func addMembers(account: Account, peerId: PeerId, memberIds: [PeerId]) -> Signal<Void, AddChannelMemberError> {

View File

@ -1770,8 +1770,8 @@ public final class PresentationStrings {
public var Watch_Suggestion_OnMyWay: String { return self._s[1487]! }
public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[1488]! }
public var Passport_Address_EditBankStatement: String { return self._s[1489]! }
public func Channel_AdminLog_MessageChangedUnlinkedGroup(_ _0: String) -> (String, [(Int, NSRange)]) {
return formatWithArgumentRanges(self._s[1490]!, self._r[1490]!, [_0])
public func Channel_AdminLog_MessageChangedUnlinkedGroup(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) {
return formatWithArgumentRanges(self._s[1490]!, self._r[1490]!, [_1, _2])
}
public var ChatSettings_DownloadInBackgroundInfo: String { return self._s[1491]! }
public var ShareMenu_Comment: String { return self._s[1492]! }
@ -3788,223 +3788,220 @@ public final class PresentationStrings {
public var Channel_Setup_TypePublicHelp: String { return self._s[3363]! }
public var Passport_Identity_EditInternalPassport: String { return self._s[3364]! }
public var PhotoEditor_Skip: String { return self._s[3365]! }
public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, _1, _2)
public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ChatList_SelectedChats(_ value: Int32) -> String {
public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue)
public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Conversation_StatusSubscribers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedPolls(_ value: Int32) -> String {
public func Passport_Scans(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Years(_ value: Int32) -> String {
public func Notification_GameScoreSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue)
}
public func UserCount(_ value: Int32) -> String {
public func MuteFor_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ChatList_DeleteConfirmation(_ value: Int32) -> String {
public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String {
public func MessageTimer_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String {
public func ForwardedVideos(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, _0, _1)
}
public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String {
public func StickerPack_AddMaskCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue)
}
public func GroupInfo_ParticipantCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_UserInfo_Mute(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LastSeen_HoursAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MuteFor_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Invitation_Members(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedContacts(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MuteFor_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_ShortSeconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedVideoMessages(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Media_ShareItem(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notification_GameScoreExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_RemoveStickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Weeks(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_AddStickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_ShortMinutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortDays(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_File(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notification_GameScoreSelfExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func MuteExpires_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedAudios(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func ForwardedGifs(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Contacts_ImportersCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Conversation_StatusOnline(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_RemoveMaskCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedMessages(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Link(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendItem(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_Seconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Notification_GameScoreSelfSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_StickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_RemoveStickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendVideo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_Exceptions(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Contacts_ImportersCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MuteFor_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Months(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendGif(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedFiles(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func MuteExpires_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedContacts(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_ShortMinutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortDays(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_ShortSeconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func ForwardedVideoMessages(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notification_GameScoreSelfExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedGifs(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String {
public func Notification_GameScoreExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue)
@ -4014,303 +4011,306 @@ public final class PresentationStrings {
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String {
public func MessageTimer_Years(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortSeconds(_ value: Int32) -> String {
public func Invitation_Members(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortHours(_ value: Int32) -> String {
public func ChatList_DeleteConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, _1, _2)
return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String {
public func MessageTimer_ShortSeconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LastSeen_MinutesAgo(_ value: Int32) -> String {
public func MessageTimer_ShortHours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendGif(_ value: Int32) -> String {
public func QuickSend_Photos(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func MuteExpires_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendVideo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortWeeks(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_StickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_AddMaskCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue)
}
public func QuickSend_Photos(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendPhoto(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedFiles(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MuteExpires_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Map_ETAMinutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Photo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func Media_ShareVideo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Call_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, _0, _1)
}
public func ForwardedPhotos(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, _1, _2)
return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Call_Seconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notification_GameScoreSelfSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue)
}
public func InviteText_ContactsCountText(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_Exceptions(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Generic(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Video(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Months(_ value: Int32) -> String {
public func MessageTimer_Weeks(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedVideos(_ value: Int32) -> String {
public func ForwardedAudios(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Seconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Map_ETAHours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendItem(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LiveLocation_MenuChatsCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notification_GameScoreSimple(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, _1, _2)
return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Conversation_StatusMembers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessagePoll_VotedCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, _2, _1, _3)
return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
public func ForwardedLocations(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, _2, _1, _3)
return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func ForwardedStickers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func Media_SharePhoto(_ value: Int32) -> String {
public func MessageTimer_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MuteExpires_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Conversation_StatusOnline(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Media_ShareItem(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LastSeen_HoursAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ForwardedPolls(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func ForwardedMessages(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Generic(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue)
}
public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Map_ETAHours(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue)
}
public func CreatePoll_AddMoreOptions(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Passport_Scans(_ value: Int32) -> String {
public func ForwardedLocations(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue)
return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Media_ShareVideo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_ShortWeeks(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_AddStickerCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue)
}
public func UserCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_Photo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Conversation_StatusMembers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, stringValue)
}
public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func MuteExpires_Days(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue)
}
public func GroupInfo_ParticipantCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LiveLocation_MenuChatsCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Watch_UserInfo_Mute(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue)
}
public func SharedMedia_File(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, _1, _2)
}
public func ChatList_SelectedChats(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessagePoll_VotedCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue)
}
public func StickerPack_RemoveMaskCount(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue)
}
public func MessageTimer_Seconds(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue)
}
public func AttachmentMenu_SendPhoto(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue)
}
public func InviteText_ContactsCountText(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Media_SharePhoto(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue)
}
public func Map_ETAMinutes(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue)
}
public func LastSeen_MinutesAgo(_ value: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, value)
let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator)
return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue)
}
public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String {
let form = presentationStringsPluralizationForm(self.lc, selector)
return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, _2, _1, _3)
}
init(primaryComponent: PresentationStringsComponent, secondaryComponent: PresentationStringsComponent?, groupingSeparator: String) {