From 2b2ab3fd983ff44ce7c3304336148288e764d6d7 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:06:30 +0200 Subject: [PATCH 01/42] DesignKit: Move color files. --- DesignKit/Variants/{ => Colors}/Dark/DarkColors.swift | 0 DesignKit/Variants/{ => Colors}/Light/LightColors.swift | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename DesignKit/Variants/{ => Colors}/Dark/DarkColors.swift (100%) rename DesignKit/Variants/{ => Colors}/Light/LightColors.swift (100%) diff --git a/DesignKit/Variants/Dark/DarkColors.swift b/DesignKit/Variants/Colors/Dark/DarkColors.swift similarity index 100% rename from DesignKit/Variants/Dark/DarkColors.swift rename to DesignKit/Variants/Colors/Dark/DarkColors.swift diff --git a/DesignKit/Variants/Light/LightColors.swift b/DesignKit/Variants/Colors/Light/LightColors.swift similarity index 100% rename from DesignKit/Variants/Light/LightColors.swift rename to DesignKit/Variants/Colors/Light/LightColors.swift From 3f224770d1917fe7baed1b54775097ced6b3ecc4 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:07:31 +0200 Subject: [PATCH 02/42] DesignKit: Add Fonts protocol. --- DesignKit/Source/Fonts.swift | 46 ++++++++++++++++++++++++++++++++++ DesignKit/Source/ThemeV2.swift | 3 +++ 2 files changed, 49 insertions(+) create mode 100644 DesignKit/Source/Fonts.swift diff --git a/DesignKit/Source/Fonts.swift b/DesignKit/Source/Fonts.swift new file mode 100644 index 000000000..cbacbe991 --- /dev/null +++ b/DesignKit/Source/Fonts.swift @@ -0,0 +1,46 @@ +// +// Copyright 2021 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import UIKit + +/// Describe Fonts +@objc public protocol Fonts { + + /// Returns an instance of the font associated with the text style and scaled appropriately for the content size category defined in the trait collection. + func font(forTextStyle textStyle: UIFont.TextStyle, compatibleWith traitCollection: UITraitCollection?) -> UIFont + + // MARK: - TextStyle shortcuts + + var largeTitle: UIFont { get } + var title1: UIFont { get } + var title2: UIFont { get } + var title3: UIFont { get } + var headline: UIFont { get } + var subheadline: UIFont { get } + var body: UIFont { get } + var callout: UIFont { get } + var caption1: UIFont { get } + var caption2: UIFont { get } +} + +// MARK: - Default implementation +extension Fonts { + + /// Returns an instance of the font associated with the text style and scaled appropriately for the user's selected content size category. + func font(forTextStyle textStyle: UIFont.TextStyle) -> UIFont { + return self.font(forTextStyle: textStyle, compatibleWith: nil) + } +} diff --git a/DesignKit/Source/ThemeV2.swift b/DesignKit/Source/ThemeV2.swift index 48f310992..785639861 100644 --- a/DesignKit/Source/ThemeV2.swift +++ b/DesignKit/Source/ThemeV2.swift @@ -23,6 +23,9 @@ import UIKit /// Colors object var colors: Colors { get } + /// Fonts object + var fonts: Fonts { get } + /// may contain more design components in future, like icons, audio files etc. } From b1cd5ce76071e5d13b90bc612aebd29b589cbb46 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:11:51 +0200 Subject: [PATCH 03/42] DesignKit: Add Fonts implementation. --- DesignKit/Variants/Fonts/ElementFonts.swift | 76 +++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 DesignKit/Variants/Fonts/ElementFonts.swift diff --git a/DesignKit/Variants/Fonts/ElementFonts.swift b/DesignKit/Variants/Fonts/ElementFonts.swift new file mode 100644 index 000000000..5465df819 --- /dev/null +++ b/DesignKit/Variants/Fonts/ElementFonts.swift @@ -0,0 +1,76 @@ +// +// Copyright 2021 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import UIKit + +/// Fonts at https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=1362%3A0 +@objcMembers +public class ElementFonts: Fonts { + + // MARK: - Setup + + public init() { + } + + // MARK: - Public + + /// Returns an instance of the font associated with the text style and scaled appropriately for the content size category defined in the trait collection. + public func font(forTextStyle textStyle: UIFont.TextStyle, compatibleWith traitCollection: UITraitCollection?) -> UIFont { + return UIFont.preferredFont(forTextStyle: textStyle, compatibleWith: traitCollection) + } + + // MARK: TextStyle shortcuts + + public var largeTitle: UIFont { + return self.font(forTextStyle: .largeTitle) + } + + public var title1: UIFont { + return self.font(forTextStyle: .title1) + } + + public var title2: UIFont { + return self.font(forTextStyle: .title2) + } + + public var title3: UIFont { + return self.font(forTextStyle: .title3) + } + + public var headline: UIFont { + return self.font(forTextStyle: .headline) + } + + public var subheadline: UIFont { + return self.font(forTextStyle: .subheadline) + } + + public var body: UIFont { + return self.font(forTextStyle: .body) + } + + public var callout: UIFont { + return self.font(forTextStyle: .callout) + } + + public var caption1: UIFont { + return self.font(forTextStyle: .caption1) + } + + public var caption2: UIFont { + return self.font(forTextStyle: .caption2) + } +} From e1312a4b024a2fba7d79720d2e594c0769c12de6 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:12:27 +0200 Subject: [PATCH 04/42] Theme: Update DarkTheme and DefaultTheme with fonts property. --- Riot/Managers/Theme/Themes/DarkTheme.swift | 4 ++++ Riot/Managers/Theme/Themes/DefaultTheme.swift | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Riot/Managers/Theme/Themes/DarkTheme.swift b/Riot/Managers/Theme/Themes/DarkTheme.swift index a3bc39557..7ce49c214 100644 --- a/Riot/Managers/Theme/Themes/DarkTheme.swift +++ b/Riot/Managers/Theme/Themes/DarkTheme.swift @@ -146,4 +146,8 @@ class DarkTheme: NSObject, Theme { lazy var colors: Colors = { return DarkColors() }() + + lazy var fonts: Fonts = { + return ElementFonts() + }() } diff --git a/Riot/Managers/Theme/Themes/DefaultTheme.swift b/Riot/Managers/Theme/Themes/DefaultTheme.swift index 7f6ae77b1..770f33a90 100644 --- a/Riot/Managers/Theme/Themes/DefaultTheme.swift +++ b/Riot/Managers/Theme/Themes/DefaultTheme.swift @@ -153,4 +153,8 @@ class DefaultTheme: NSObject, Theme { lazy var colors: Colors = { return LightColors() }() + + lazy var fonts: Fonts = { + return ElementFonts() + }() } From 43c986786b8be7d1f91cfd6420d7a4e23e8ff4fb Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:13:29 +0200 Subject: [PATCH 05/42] UIFont: Add convenient methods. --- Riot/Categories/UIFont.swift | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Riot/Categories/UIFont.swift diff --git a/Riot/Categories/UIFont.swift b/Riot/Categories/UIFont.swift new file mode 100644 index 000000000..c7a10ad49 --- /dev/null +++ b/Riot/Categories/UIFont.swift @@ -0,0 +1,55 @@ +// +// Copyright 2021 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import Foundation + +public extension UIFont { + + // MARK: - Convenient methods + + /// Update current font with a SymbolicTraits + func vc_withTraits(_ traits: UIFontDescriptor.SymbolicTraits) -> UIFont { + guard let descriptor = fontDescriptor.withSymbolicTraits(traits) else { + return self + } + return UIFont(descriptor: descriptor, size: 0) // Size 0 means keep the size as it is + } + + /// Update current font with a given Weight + func vc_withWeight(weight: Weight) -> UIFont { + // Add the font weight to the descriptor + let weightedFontDescriptor = fontDescriptor.addingAttributes([ + UIFontDescriptor.AttributeName.traits: [ + UIFontDescriptor.TraitKey.weight: weight + ] + ]) + return UIFont(descriptor: weightedFontDescriptor, size: 0) + } + + // MARK: - Shortcuts + + var vc_bold: UIFont { + return self.vc_withTraits(.traitBold) + } + + var vc_semiBold: UIFont { + return self.vc_withWeight(weight: .semibold) + } + + var vc_italic: UIFont { + return self.vc_withTraits(.traitItalic) + } +} From 1718a873aab8caba7009c837625ce9cf6140587e Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Mon, 21 Jun 2021 21:16:56 +0200 Subject: [PATCH 06/42] Update changes --- CHANGES.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 19a21510b..b6182cb76 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ Changes to be released in next version * 🙌 Improvements - * + * DesignKit: Add Fonts (#4356). 🐛 Bugfix * From 488689b5640e583a4f815fb134a794a3766df5cc Mon Sep 17 00:00:00 2001 From: manuroe Date: Thu, 24 Jun 2021 10:27:14 +0200 Subject: [PATCH 07/42] Prepare for new sprint --- CHANGES.rst | 24 ++++++++++++++++++++++++ Config/AppIdentifiers.xcconfig | 4 ++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index bfbd6b026..cac04f6a2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,27 @@ +Changes to be released in next version +================================================= + +✹ Features + * + +🙌 Improvements + * + +🐛 Bugfix + * + +⚠ API Changes + * + +🗣 Translations + * + +đŸ§± Build + * + +Others + * + Changes in 1.4.3 (2021-06-24) ================================================= diff --git a/Config/AppIdentifiers.xcconfig b/Config/AppIdentifiers.xcconfig index 72d65a5f7..a56c9e00a 100644 --- a/Config/AppIdentifiers.xcconfig +++ b/Config/AppIdentifiers.xcconfig @@ -22,8 +22,8 @@ APPLICATION_GROUP_IDENTIFIER = group.im.vector APPLICATION_SCHEME = element // Version -MARKETING_VERSION = 1.4.3 -CURRENT_PROJECT_VERSION = 1.4.3 +MARKETING_VERSION = 1.4.4 +CURRENT_PROJECT_VERSION = 1.4.4 // Team From c89610fb70ea2b50dbd6713e4e23f6ee302eba2e Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Thu, 24 Jun 2021 15:48:32 +0200 Subject: [PATCH 08/42] DesignKit: Update Fonts protocol. --- DesignKit/Source/Fonts.swift | 83 ++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 23 deletions(-) diff --git a/DesignKit/Source/Fonts.swift b/DesignKit/Source/Fonts.swift index cbacbe991..1cce963ed 100644 --- a/DesignKit/Source/Fonts.swift +++ b/DesignKit/Source/Fonts.swift @@ -16,31 +16,68 @@ import UIKit -/// Describe Fonts +/// Describe fonts used in the application. +/// Font names are based on Element typograhy https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=1362%3A0 which is based on Apple font text styles (UIFont.TextStyle): https://developer.apple.com/documentation/uikit/uifonttextstyle +/// Create a custom TextStyle enum (like DesignKit.Fonts.TextStyle) is also a possiblity @objc public protocol Fonts { - /// Returns an instance of the font associated with the text style and scaled appropriately for the content size category defined in the trait collection. - func font(forTextStyle textStyle: UIFont.TextStyle, compatibleWith traitCollection: UITraitCollection?) -> UIFont - - // MARK: - TextStyle shortcuts - + /// The font for large titles. var largeTitle: UIFont { get } - var title1: UIFont { get } - var title2: UIFont { get } - var title3: UIFont { get } - var headline: UIFont { get } - var subheadline: UIFont { get } - var body: UIFont { get } - var callout: UIFont { get } - var caption1: UIFont { get } - var caption2: UIFont { get } -} - -// MARK: - Default implementation -extension Fonts { - /// Returns an instance of the font associated with the text style and scaled appropriately for the user's selected content size category. - func font(forTextStyle textStyle: UIFont.TextStyle) -> UIFont { - return self.font(forTextStyle: textStyle, compatibleWith: nil) - } + /// `largeTitle` with a Bold weight. + var largeTitleB: UIFont { get } + + /// The font for first-level hierarchical headings. + var title1: UIFont { get } + + /// `title1` with a Bold weight. + var title1B: UIFont { get } + + /// The font for second-level hierarchical headings. + var title2: UIFont { get } + + /// `title2` with a Bold weight. + var title2B: UIFont { get } + + /// The font for third-level hierarchical headings. + var title3: UIFont { get } + + /// `title3` with a Semi Bold weight. + var title3SB: UIFont { get } + + /// The font for headings. + var headline: UIFont { get } + + /// The font for subheadings. + var subheadline: UIFont { get } + + /// The font for body text. + var body: UIFont { get } + + /// `body` with a Semi Bold weight. + var bodySB: UIFont { get } + + /// The font for callouts. + var callout: UIFont { get } + + /// `callout` with a Semi Bold weight. + var calloutSB: UIFont { get } + + /// The font for footnotes. + var footnote: UIFont { get } + + /// `footnote` with a Semi Bold weight. + var footnoteSB: UIFont { get } + + /// The font for standard captions. + var caption1: UIFont { get } + + /// `caption1` with a Semi Bold weight. + var caption1SB: UIFont { get } + + /// The font for alternate captions. + var caption2: UIFont { get } + + /// `caption2` with a Semi Bold weight. + var caption2SB: UIFont { get } } From cf89bd017081288e579becfdbb26bed23136c57e Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Thu, 24 Jun 2021 15:49:38 +0200 Subject: [PATCH 09/42] DesignKit: Update ElementFonts with new Fonts protocol. --- .../Extensions}/UIFont.swift | 2 +- DesignKit/Variants/Fonts/ElementFonts.swift | 53 +++++++++++++++++-- 2 files changed, 49 insertions(+), 6 deletions(-) rename {Riot/Categories => DesignKit/Extensions}/UIFont.swift (98%) diff --git a/Riot/Categories/UIFont.swift b/DesignKit/Extensions/UIFont.swift similarity index 98% rename from Riot/Categories/UIFont.swift rename to DesignKit/Extensions/UIFont.swift index c7a10ad49..7804c8066 100644 --- a/Riot/Categories/UIFont.swift +++ b/DesignKit/Extensions/UIFont.swift @@ -14,7 +14,7 @@ // limitations under the License. // -import Foundation +import UIKit public extension UIFont { diff --git a/DesignKit/Variants/Fonts/ElementFonts.swift b/DesignKit/Variants/Fonts/ElementFonts.swift index 5465df819..6612d3dc1 100644 --- a/DesignKit/Variants/Fonts/ElementFonts.swift +++ b/DesignKit/Variants/Fonts/ElementFonts.swift @@ -18,38 +18,57 @@ import UIKit /// Fonts at https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=1362%3A0 @objcMembers -public class ElementFonts: Fonts { +public class ElementFonts { // MARK: - Setup public init() { } - // MARK: - Public + // MARK: - Private /// Returns an instance of the font associated with the text style and scaled appropriately for the content size category defined in the trait collection. - public func font(forTextStyle textStyle: UIFont.TextStyle, compatibleWith traitCollection: UITraitCollection?) -> UIFont { + /// Keep this method private method at the moment and create a DesignKit.Fonts.TextStyle if needed. + fileprivate func font(forTextStyle textStyle: UIFont.TextStyle, compatibleWith traitCollection: UITraitCollection? = nil) -> UIFont { return UIFont.preferredFont(forTextStyle: textStyle, compatibleWith: traitCollection) } - - // MARK: TextStyle shortcuts +} + +// MARK: - Fonts protocol +extension ElementFonts: Fonts { public var largeTitle: UIFont { return self.font(forTextStyle: .largeTitle) } + + public var largeTitleB: UIFont { + return self.largeTitle.vc_bold + } public var title1: UIFont { return self.font(forTextStyle: .title1) } + public var title1B: UIFont { + return self.title1.vc_bold + } + public var title2: UIFont { return self.font(forTextStyle: .title2) } + public var title2B: UIFont { + return self.title2.vc_bold + } + public var title3: UIFont { return self.font(forTextStyle: .title3) } + public var title3SB: UIFont { + return self.title3.vc_semiBold + } + public var headline: UIFont { return self.font(forTextStyle: .headline) } @@ -62,15 +81,39 @@ public class ElementFonts: Fonts { return self.font(forTextStyle: .body) } + public var bodySB: UIFont { + return self.body.vc_semiBold + } + public var callout: UIFont { return self.font(forTextStyle: .callout) } + public var calloutSB: UIFont { + return self.callout.vc_semiBold + } + + public var footnote: UIFont { + return self.font(forTextStyle: .footnote) + } + + public var footnoteSB: UIFont { + return self.footnote.vc_semiBold + } + public var caption1: UIFont { return self.font(forTextStyle: .caption1) } + public var caption1SB: UIFont { + return self.caption1.vc_semiBold + } + public var caption2: UIFont { return self.font(forTextStyle: .caption2) } + + public var caption2SB: UIFont { + return self.caption2.vc_semiBold + } } From 187d7c541e714c87aae6fc923f596b76ab6d1e62 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Thu, 24 Jun 2021 15:50:06 +0200 Subject: [PATCH 10/42] SideMenu: Use right font for the display name. --- Riot/Modules/SideMenu/SideMenuViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Riot/Modules/SideMenu/SideMenuViewController.swift b/Riot/Modules/SideMenu/SideMenuViewController.swift index 0851ec8df..57f98b059 100644 --- a/Riot/Modules/SideMenu/SideMenuViewController.swift +++ b/Riot/Modules/SideMenu/SideMenuViewController.swift @@ -107,6 +107,7 @@ final class SideMenuViewController: UIViewController { self.userAvatarView.update(theme: theme) self.userDisplayNameLabel.textColor = theme.textPrimaryColor + self.userDisplayNameLabel.font = theme.fonts.title3SB self.userIdLabel.textColor = theme.textSecondaryColor for sideMenuActionView in self.sideMenuActionViews { From 7f03cf525e17e9d78d4ef03828a3b53fb7e511ba Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Fri, 25 Jun 2021 00:41:35 +0300 Subject: [PATCH 11/42] Add new icons --- .../Contents.json | 26 ++++++++++++++++++ .../Group 3617.png | Bin 0 -> 3525 bytes .../Group 3617@2x.png | Bin 0 -> 8253 bytes .../Group 3617@3x.png | Bin 0 -> 14153 bytes .../Button VoIP.png | Bin 0 -> 3347 bytes .../Button VoIP@2x.png | Bin 0 -> 7855 bytes .../Button VoIP@3x.png | Bin 0 -> 14063 bytes .../Contents.json | 8 +++--- .../call_speaker_off_icon.png | Bin 288 -> 0 bytes .../call_speaker_off_icon@2x.png | Bin 445 -> 0 bytes .../call_speaker_off_icon@3x.png | Bin 559 -> 0 bytes .../Button VoIP.png | Bin 0 -> 3597 bytes .../Button VoIP@2x.png | Bin 0 -> 8329 bytes .../Button VoIP@3x.png | Bin 0 -> 14330 bytes .../Contents.json | 8 +++--- .../call_speaker_on_icon.png | Bin 394 -> 0 bytes .../call_speaker_on_icon@2x.png | Bin 785 -> 0 bytes .../call_speaker_on_icon@3x.png | Bin 1090 -> 0 bytes Riot/Generated/Images.swift | 1 + 19 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617@3x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Button VoIP.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Button VoIP@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Button VoIP@3x.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@2x.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@3x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/Button VoIP.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/Button VoIP@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/Button VoIP@3x.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/call_speaker_on_icon.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/call_speaker_on_icon@2x.png delete mode 100644 Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/call_speaker_on_icon@3x.png diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Contents.json b/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Contents.json new file mode 100644 index 000000000..8c28825df --- /dev/null +++ b/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "Group 3617.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Group 3617@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Group 3617@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617.png b/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617.png new file mode 100644 index 0000000000000000000000000000000000000000..55c6b95b17b39499668b3e338e045c89668f791d GIT binary patch literal 3525 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 literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617@3x.png b/Riot/Assets/Images.xcassets/Call/call_speaker_external_icon.imageset/Group 3617@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb43f9044863d9165ab382c213f1d803065044a GIT binary patch literal 14153 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 BOBetE literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Button VoIP.png b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Button VoIP.png new file mode 100644 index 0000000000000000000000000000000000000000..0ecaac8c097f88d0c395a8534ec91ab4dc8661f2 GIT binary patch literal 3347 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 GHvBg>3HNkap2nitscL)oCAi*WUU4uIWOCGuR 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 s99KdpplFv^2A=jB7G)=(k3Gs33#f?}JOkh6p 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 InDN*D2eqZl9smFU literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Contents.json b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Contents.json index 5b4d42839..c24dd6c87 100644 --- a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Contents.json +++ b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/Contents.json @@ -1,17 +1,17 @@ { "images" : [ { - "filename" : "call_speaker_off_icon.png", + "filename" : "Button VoIP.png", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "call_speaker_off_icon@2x.png", + "filename" : "Button VoIP@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "call_speaker_off_icon@3x.png", + "filename" : "Button VoIP@3x.png", "idiom" : "universal", "scale" : "3x" } @@ -21,6 +21,6 @@ "version" : 1 }, "properties" : { - "template-rendering-intent" : "template" + "template-rendering-intent" : "original" } } diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon.png b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon.png deleted file mode 100644 index 5d8901204b69948d1e8d07df6d2acd557b4d998c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND9BhG zgTe~DWM4f*WPE| diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@2x.png b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@2x.png deleted file mode 100644 index 0f460c3847f88ee5af0bcb02b5cbff754bee017b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9E$svykh8Km+7D9BhG z1O48lOVpGXS$7d-!kn0ftHd}56`Sw zw^nMkev{?)U)!SoPpzLPc;wKl_W#d*?^12BHj{q;y0h!&)nT0FjqwFrs<$ts5;M#WqC0zWkGx%JKBL!_3o`2`KeUDi~ zt6`4xLi5$!tEV+Ry~nw&MEj(A>#gHqJC;@pt%~zI9wnH;!6zxz$IX;^qsDig;*5W% gYWu)}@aDF@NYBh`+v@*l0z;d@)78&qol`;+043_P$N&HU diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@3x.png b/Riot/Assets/Images.xcassets/Call/call_speaker_off_icon.imageset/call_speaker_off_icon@3x.png deleted file mode 100644 index b09c2b88af1087505b5a3e99fc8db35620e56635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 559 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 literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/Button VoIP@3x.png b/Riot/Assets/Images.xcassets/Call/call_speaker_on_icon.imageset/Button VoIP@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..31e36b60f529a6ef6ae480fab09c7b36ad971d22 GIT binary patch literal 14330 zcmY+r1yCJ9vj%!_hv3280vz1!5Zv88I0Scx;GO`%HMqOG2RpdCySqPf@BjY$-fs1F zPfz#P)3aMswY{_9it-XDi1>&A002cwQdIea7yTo6*pI8TOn%)5gEkkI69xdPW078r zU_RQU#*)f%0Dvbo0N@`406cxD{0{&C7iIw9$PfVFO$GpP?bBP7_&+*=Of{v<O+F~H~|p&fPZKo5mm1nqxpAOV0-O91qLY_vc4zhmKp{`veb zhsuWdKg4Xv|5_JiL;aup&yBy{o#lfe*h^|T0RUv&{|G`Xk;U)>P0LbM(^*qame<(M z254kr_staOZe#z?3&8Kr`ytwxIvbI?+kCfm;&m4w{~rt95BZ;(iJbI*Oq{I+$Tj5@ zNk!}&O-VU{%s^&xK}1qgQhrAhGhSs;@&CAgv;@d4oSp4?nV8(%+<hHw{)_$L%KuNxtKev9`Vsjbz90+#|5*P2bpMIN z&-5?&|7S4&o9X{(KT;J$2JaT032RYqQa`~5T_YP$tGgI_s`qa^k&a( z^~aF2*(tsZ7tz+h*HVm~JZ+9vY*qDeQ6QFGrP~|Hh z9#&9#6${Y|Bq!CVWj!WQkbKUwprMNbE#ZYTQrOQ?X`E00rhKNl)QVm)xqyq1+~Pu&7T8-=yt+*OPK1Ge;uc6so&e(WV&J<3cW-* zf|LLH_@{&NaaR=fBnawY5!Zl&=@h({M0J=mTd=ouU@3KmvFh?mG>TrxXEYS2J`aYm z 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

C%8nz%;X}P1HC4f#1A7 zx(mJDvKm1=Gs0yn1Oey3d3L*o$u!%Cx2e#x*5l8n4+7~0+p)dq?k1P3@B6qy&pBxc z$#aLn0y;YqEDSv{2%I6B#C-d~2)*!LvDHo?`Es?4Vj@Z#eFdAey<2fmFJ+4IpEm(I zCQ4nhf=P0_)g(iI{uYVj%H7_Pr{4s#t-mL=c04icx~*^%1z?Z7doOi@-)FF`Iv^PT zW>7s=w8!h~vNHZ&;9)8-tD$L72oIzJd=Vr3sV!i{4KRa{pZbPs#r_unU(yYm>hEaY z`!-8t_qC|#A`m3I5^Okqu<<8=Q(*rlzA{Ppo*aYM_9YrH4)mV}<(XTLCubV=8|h^H zFvTSq=vEW48@rR@=?brxJRHE1dmtpOanD}I&xVrrhLjw$N6bk}?-`=-WtZ0y5jDH) zT65y!5WNa-r~B-z(O&llO4$!`yU*ZpD{03!qjprZ$=isV)P!Iao3CqJo0xo z^dIPD+IX45m2Z+9A9qH~q)_p6@1SDI#aM|qABU9Z{tgz_nhK$4L1>pd72S#WEn{|S zRS}f|`-gk1w*f_=hz1N(wc1#vp44)4sS?tLf7SW}xx}KHjtZFNeHj%QlhwY8Iw&&X zVC)2)Jhz!{m67|`AIC%4;#5YnR3mbQKV(9XjLSFcl-KjePSNDadk_yD)WN5#B6i z@>+Dy#3OCrW?cDC#$%sS)D8g-_ppjP-Bupk^`Cv_a;Mp?Y>O40=8uAifL4=zPGO-0 zp#wC)SkJ@kR4D#=Me-&w7~Gqd2`w0IYhryQC|b2$MqBRCZBEVW9GZ_ zhVaq_zsviNB20@%_>aoKW52ogW?!U9<&03w0%x=CcxlrN=+#J#GLns;1-S2>fxP=AT#<=G@9^UwIk@02=Vw(l5BF*J9CW;(k{5>f_I}G0)8=APS3y2iNB|3Oz`uiLPd=Ory zCrOr{%b#EOWm;NW+$h!@#)u%)pNSvFG6vT!Ug?REbmL)@HK{|sWh2)VLM3px0kpre zOtI0lHd@l@w4&!YH0^5 z_bd1<>e5DrN~Q6${1&G|Q(?_;*CE>%1M{DQ3MVTAK+XQ4zz`%H9*Z*&Ir~gsmY3Ni z*T?`mRpiq8d@&0SuK(i!>LO>nT-n6YY%vhxcT2k0(g*|>wxS9|!gW?cMxLGL^s*Vz zT|g`$m(!i=dwfug^$C2LR{K!|L1p{V)*y*i8@0W>NK7V*Y*1RQvWZNpXUu@Tpzc96_0g5Tr{$+u>%u2e^O1}=36&vA z92}b6>o|rJ_nJ!3EvIslK?-OX!BgtudK}3A+{<@Tbv;;HQBm;zN}gfirg3y`P`lN? z&(v`d#iU!&!FtE90TmU<2AG~6`;xmj1sIwEdIBTaS|fNoQj;8NF%DyhsCU24D|xC( z1mtiR%Angf?;sk6o7Q^qV&XDREri1B5%PtFB6T;Uv@`$3JbMixf|QD6{C+-<$>Wc#1Ai zydmkR>EQl6#_27jnj5uekaK7!R51YJ*-Md{RqZ&Y{hkh0-fp*-ZG`rle!|HOMjJwJ zq%w6hZEanTKdfMnsykA@53a%rE2irEeZqFW%R|IMf`xbw&6r0U%%iY=`mUC5zOD-2uZkH>eD00Rpv`o2?&4y_F!<1s zsoN82+jEopFg!K3yh-SI443^LNR?Ko+3o{Dmwuxywbh>x__H89TYo!^epNKOLs;o{ zJu^PFP*%Jvl%KS+7*&t5dC6yVP?DGV{Eu965jcbiH5DK#`{_oK3$9R?0v~ZxdpKr| zO5ej_5?#Ns-+t~l5YrP-w0Qd%>B`_;xgIcwM+X=pvWnZhQ#Op4shel97)w5j1%#NM zuX&cI%)&K{EJgPN=*sTg1O#pyc_YEeTNx^+La^>=X?}ItN^RelkdB}4Ri?d3&fZz% zWuA^1%H2F|d?tFSxIgji5AdH_lhyOU@g4h|M`d( z2?}gMHh9*3BCq#{fz^%X}^($%?8SjBXoY1;3($(amR0HmAIn}X4eHeLS+P~ z8D(A3W$`HH2y>#a7SEP;1F>kY`Wa<`D84zT^k^b=4m!c{vBXYOZcqNY+6lVTX{2OrSNaJpS}&8vyO$Z`^EW!>#S_+YbEYk=<48Q-@_S zRj(NBy~lZF4|5H2r>Z}$!6c8;Y`QwaT6t&nphun&=xxC0U3G zv&E-O6oxn{EtcWD#pyjPzT%kk5t9olR5_zjT*Y#IgyY}_g_PtptBVnCy59#z*dH4` zaBYy$@RX;%gMKHzZwnFKhUmFwJcr=1nV)iaT+OuSnY336XV=5YKmjNQaVreohXt%P z%HLku#szPm&wZW=Iw=$?vI)Yp*BSn*5QXQ3VA*CvB`i7~Rpbx8z zc*uDELqx`(#%dQv`M`Ur(HXAvIbiOJTyX%fN2U_15Gh7{!yVvS`SC@3G@Z>niA(k< zg*~^>e5xXzT5c_v-(YCCrL_v@`>wRlYXf?2=S*WmD!cxmX zDfaT`NpUK$(v++@2*o9_kHv^vU#Ris8Dl_g08Uxr0SR7w8XHA|7(0yNOsCA5VwoVU zvfD+Q51!n6B?~@XP&4@axD(R6IxgpFRd&lDdI?Z^)`KfS7DaysGx5huhuA?6Hub0Z zE_`GMt&9M%My7+#7g9n1ayicyS#%TBlmTiXTNi4=!qNO$X-m0KofwvG->LE|gNA1t z1JguuNCmEEX-)Dk<}N<&-bbl7(+bOTe-+lk`A7p;FzLXr6R-t8EB>1W6qe!@^C(RI zP(2L+rQb89*HhP4tE=WWtM0r2{|e_f&dO|K#hh8J*>U##($Dq!(Dm&$7qK^5Of;Z^jBe_k^H)J6Izrjy_OAE?I>+OZ@Li= zC5(Plk6NbjCx{ERF>#7VsVRn>7>gHJ_~QwVRVQW2kud04;n2&<%#ipj8T%`Tu_A?h=i?er`G^oIDIu33XERm!3IfAPoHV{0TQ>UMiir zLJ}%0r-D5Cg*jTM6?=eY{VAl9g?YK4P{P+Q*#|kflS5@M@5`cBRGo#H;N0 z_>_77uHu|$^rf~?uGwB;KY0zOCObf8 z$MG+1h@lxme4Dc2+JPX8l@4a_P#I%5I`g9gqc(?E}^SnK3395&A zq`W)LFC$GHF(9_0jX$(J0mGWviQO9>L`|_>jGCA@1&OWIx@l-M%8LWtEh%|2iAD4_ zD-5hsSAjEVa|KTE6C5ZfDsYHI_m}+ZL{JAhtg3@AA2Q;V()`a$G&&xMq8cEP!88N3F4x?*gRaF-nmw4>o9hbA@Rv-!EIB47;Mkx`h znBxg}ZX@fET9WvlagWrI?RY>Q`x4gNUQz`Fi^ohemp#yEzMA;Y%oETFjZkE zx$z(tOrP-%n4Ojy@aS;R?4krf=<=0F2%h!}<2J4~>vPCk1i#SC98Ug`*T<2JNSpw8}X7WHh-Zs)aE6fa~Jt`SylDTXw17UY^NW5wG|{DOaK#~2j}Iwt&GMO-l1E#`vl z66_ht?Ew)LTp4Ooqnn*iobL2BR|SvlxeMEcjLQ*^%yQzm#`(qm(dT)a6QK;IJxPV2 zE$R`&#_^nF13H-&Bn-}L8zYSRT~SjrGxWVbxw#C1*)pD9Wa1zS=%pTJ(TxqEV3F53 zTRQnSP0Z!lr@gjMU`%kp>uQLm_Ttc=q_#J}^m0ysNo8!`)zrf?8$ow=I-}L9#93Qi z3x1FZcthQZ2!akL;6gH*vJXQOq({y}e)&4`?MFYB>*KEu9X)gwOHS$>x#XF@ch1ko z47c4DUwONrEW-6?egIjUa4iEe+tC{^=|)u@^vLm=gar2}3Ou^-nu?~s&ST*Ug%zwY zuk^v9$PeeUA2-1Ue&11kKNv=S4tS<)yOfo&pJ`^5vRqb{cPD7erP)=s!>5sAeMbvo{AvgHih+HH&6F?0d)sUx^ybfLW+Cpt zk{sSrUw)OIXLA|wwtK5P&dBBKb}js!@zC+Bz3kj%ab)!m>f~$PGt-pmXKUY|JYw4X zXu}Zlg%nGw<|{eHZYxh_rZ(_)*6HF4ZihPD_R5vvb+TxIov8PY;u1WaeMUc3=v49! zAr>cpQGP?1=w&Jce=X+#6zg3m%2gEh;AszR#WYO{OB|=h} zlWJw^3#v>}?orYT2?x~iM+c`I{aCSOa#0i<+Rx|ePe|jXg>oWAP#n;qm9kDLC45om z=v(dvEEU8v+h+JvwlKOj3gtfJvNFAtB*mwyxW?ImHh$XcV7oI<0Q*=pU_emgor1=h@#vXXO)D3~f=Sm$QkXePXmoaH8sr7w6yo|!PoI^gj!2H@_iY58D_rh23E>=%!st>`Z9T2%k1dzQR!?c6rx=< z7fc9^5tdQPCN4~m@zF0H68}v4b6e} z1iS2LkjX{_=sRg?RB3wPO1Gv~?EHE5j+g_grGK7H%XjLZLOk}ePIx{XMlvs&s4Z*)JE%dx`28dO|f${C&j8S>)d7Dm~cC|AOynbha1EV{4Pj) zqVLo6TVlMsxg*CkHeZ;;`iPJ~U&gufUmz2}biJy!T|w5c;6ovT!niFar;p>+ssVN)o!)m#28p0oRbnwCC?=QvjP*u zhd13z@}=s(Njpc+23S0ooJ>EH^ldoL-oz1&C#=gHL7LS=bof})eYtW zp~ukO1D%fH4rYl0*r|N2@+&+@(fulB>{aZ>-Vp$y+hep>bt?oC@*HP~$f1P+7UuVX o5ScBiUoyf#5C;4y9T|zj8()5sb5g>)!Tx>|R2J(eD@4Ey{NlRq0Y^%_93!$o{lwb}Ae@tUBL3hFu}-t=Lx4<)IotQahp2}n z_NvA>nUbdHo=F+ED6Pt}w5;Nvd;5fzUo6wgW&qPFV1b)utqGi=hZ*4u4)~AqQq8bgHQ$Z(af6g#@o8$ zlZ57Etc?3k{Li5f5+D`|Zy$(XEA4N@_f#31gaE>4;>*BGn^nMLD5N5QBvlYUD{VGT zeVkJfKwzc)i1-TPYt#f|qaZ$qmZT&=FQg>E6XIJF-<@`VDGA_+k9B+|KmmnR1aRP; zoC(0j{e?m*0_4QE1b+k^@iCz;NkISyez0+>jAv_u3uSCjfFiorfJ2TpgB&7Im1Zg7*>EY67LsA zM!NS9KaI^1+1=m8q2C`z9k|G~?|$Da!NS`M1eT&Lao~;l9U^33b8J!p>=^tbA|^-o zJs|h?+uJ{HUy;Cng|z0_wrNG5_%05&|0d^fU~D%!84SZP48t%C!x)ksRr4gXf*UvlWbFxX$jdzw^B{NQWPJf(0I+F%H8e z%_&BJywLs)^iQ=cY&s+)Rp=N~fXl$OniyV_Hq=N&g?V?rMt~!7{W&ZRjC>J zfoVzsJPj%5BC?D-49pxmJ4OIU%F%QnTOSfd8R{IcG}c?&hYv9hyo?YZp`cU&Jl}|) zCDI$>S3QxJEP(I8(2R)P!ENOA50or`@4R)uuX!E_3Gf~YN*2I#74T^eVzmL^J18h! z0QOME)`mjY3lx+tKui2gfIo<&bO9!(bOB9sC<%Somt8pkx6~iJz_M3-PN~W=j=75Dq^r z_-dyk{#z)}3ZTm98S#_&*Wj=OuE`;48q9kmrq71VnW7vaWeB-my(Os~0asWK74ct! zCs0THYYdF$bZ`zMKon&NI1MSI?{Q5P$H-p*cA7!6884A-h@wW`0(hFhwVJh|3h^RF zA(-zeIgJ2<=k4D>fAEa`?}8q@MSog6ZaDim_htLHYWHVL%H!!8T0FMdZOwo7vlh)% zyF$2wZ;;8aw$zwz1jNAZ{u5+`9|bwRqEt;-cQOQdyrd`K?W~b0(%CiUEdYCmd4mO< z9%pAQrxL&^>aDR5YRpf7jiS!jz2#XElbnYZK=br}f(0U&$IsQQNPX8>FoOQcd1wI~ zsZUSF48t%C!!QiPFbu;m48t%C!!Q=WKO%P@(wEXA_y7O^07*qo IM6N<$g8KLBd;kCd diff --git a/Riot/Generated/Images.swift b/Riot/Generated/Images.swift index 836c561d0..3082fcdbc 100644 --- a/Riot/Generated/Images.swift +++ b/Riot/Generated/Images.swift @@ -37,6 +37,7 @@ internal enum Asset { internal static let callPausedIcon = ImageAsset(name: "call_paused_icon") internal static let callPausedWhiteIcon = ImageAsset(name: "call_paused_white_icon") internal static let callPipIcon = ImageAsset(name: "call_pip_icon") + internal static let callSpeakerExternalIcon = ImageAsset(name: "call_speaker_external_icon") internal static let callSpeakerOffIcon = ImageAsset(name: "call_speaker_off_icon") internal static let callSpeakerOnIcon = ImageAsset(name: "call_speaker_on_icon") internal static let callVideoIcon = ImageAsset(name: "call_video_icon") From 35d32205c50b00979662810cdb2026f236d69a46 Mon Sep 17 00:00:00 2001 From: BramvdnHeuvel Date: Thu, 24 Jun 2021 08:26:53 +0000 Subject: [PATCH 12/42] Translated using Weblate (Dutch) Currently translated at 96.5% (1191 of 1233 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/nl/ --- Riot/Assets/nl.lproj/Vector.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Riot/Assets/nl.lproj/Vector.strings b/Riot/Assets/nl.lproj/Vector.strings index bfa85bc1b..4b144ba88 100644 --- a/Riot/Assets/nl.lproj/Vector.strings +++ b/Riot/Assets/nl.lproj/Vector.strings @@ -1342,18 +1342,18 @@ "security_settings_export_keys_manually" = "Exporteer sleutels handmatig"; "security_settings_cryptography" = "CRYPTOGRAFIE"; "security_settings_crosssigning_complete_security" = "Beveiliging afronden"; -"security_settings_crosssigning_reset" = "Kruislings ondertekenen resetten"; -"security_settings_crosssigning_bootstrap" = "Kruislings ondertekenen instellen"; -"security_settings_crosssigning_info_ok" = "Kruislings ondertekenen is ingeschakeld."; +"security_settings_crosssigning_reset" = "Reset"; +"security_settings_crosssigning_bootstrap" = "Stel in"; +"security_settings_crosssigning_info_ok" = "Cross-signing is klaar voor gebruik."; "security_settings_crosssigning_info_trusted" = "Kruislings ondertekenen is ingeschakeld. U kunt andere personen en sessies verifiĂ«ren met kruislings ondertekenen, maar u kunt dit nog niet vanaf deze sessie doordat de versleutelingssleutel ontbreekt. Rond de beveiliging van deze sessie af."; "security_settings_crosssigning_info_exists" = "Uw account heeft een kruislings ondertekenen ID, maar is nog niet geverifieerd door deze sessie. Rond de beveiliging van deze sessie af."; "security_settings_crosssigning_info_not_bootstrapped" = "Kruislings ondertekenen is nog niet ingesteld."; "security_settings_crosssigning" = "KRUISLINGS ONDERTEKENEN"; "security_settings_backup" = "BERICHTENBACK-UP"; -"security_settings_secure_backup_delete" = "Verwijderen"; +"security_settings_secure_backup_delete" = "Verwijder backup"; "security_settings_secure_backup_synchronise" = "Synchroniseren"; "security_settings_secure_backup_setup" = "Instellen"; -"security_settings_secure_backup_description" = "Een waarborg voor toegang tot uw versleutelde berichten & data door de versleutelingssleutels op te slaan op uw server."; +"security_settings_secure_backup_description" = "Waarborg uw toegang tot uw versleutelde berichten & data door de versleutelingssleutels op te slaan. Uw sleutels zullen worden beveiligd met een unieke beveiligingssleutel."; "security_settings_secure_backup" = "VEILIGE BACK-UP"; "security_settings_crypto_sessions_description_2" = "Als u deze inlog niet herkent, verander uw wachtwoord en reset uw Veilige Back-up."; "security_settings_crypto_sessions_loading" = "Sessies laden
"; From 16d6145c64b9167ad8c9315fd1fea2047b9b38b1 Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Thu, 24 Jun 2021 11:04:02 +0000 Subject: [PATCH 13/42] Translated using Weblate (Albanian) Currently translated at 99.6% (1229 of 1233 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/sq/ --- Riot/Assets/sq.lproj/Vector.strings | 121 +++++++++++++++++----------- 1 file changed, 74 insertions(+), 47 deletions(-) diff --git a/Riot/Assets/sq.lproj/Vector.strings b/Riot/Assets/sq.lproj/Vector.strings index 7b82f3760..0794ad097 100644 --- a/Riot/Assets/sq.lproj/Vector.strings +++ b/Riot/Assets/sq.lproj/Vector.strings @@ -582,16 +582,16 @@ "key_backup_setup_intro_title" = "Mos humbni kurrĂ« mesazhe tĂ« fshehtĂ«zuar"; "key_backup_setup_intro_info" = "Mesazhet nĂ« dhoma tĂ« fshehtĂ«zuara sigurohen me fshehtĂ«zim skaj-mĂ«-skaj. VetĂ«m ju dhe marrĂ«si(t) keni kyçet pĂ«r leximin e kĂ«tyre mesazheve.\n\nBĂ«ni njĂ« kopjeruajtje tĂ« sigurt tĂ« kyçeve tuaj, pĂ«r tĂ« shmangur humbjen e tyre."; "key_backup_setup_intro_setup_action" = "Rregulloje"; -"key_backup_setup_passphrase_info" = "Do tĂ« depozitojmĂ« njĂ« kopje tĂ« fshehtĂ«zuar tĂ« kyçeve tuaj nĂ« shĂ«rbyesin tonĂ«. Mbrojeni kopjeruajtjen tuaj me njĂ« frazĂ«kalim, pĂ«r ta mbajtur tĂ« parrezikuar.\n\nPĂ«r maksimumin e sigurisĂ«, ky duhet tĂ« jetĂ« i ndryshĂ«m nga fjalĂ«kalimi juaj pĂ«r llogarinĂ«."; +"key_backup_setup_passphrase_info" = "Do tĂ« depozitojmĂ« njĂ« kopje tĂ« fshehtĂ«zuar tĂ« kyçeve tuaj nĂ« shĂ«rbyesin tonĂ«. Mbrojeni kopjeruajtjen tuaj me njĂ« frazĂ«, pĂ«r ta mbajtur tĂ« parrezikuar.\n\nPĂ«r maksimumin e sigurisĂ«, ky duhet tĂ« jetĂ« i ndryshĂ«m nga fjalĂ«kalimi juaj pĂ«r llogarinĂ«."; "key_backup_setup_passphrase_passphrase_title" = "Jepeni"; -"key_backup_setup_passphrase_passphrase_placeholder" = "Jepni frazĂ«kalimin"; +"key_backup_setup_passphrase_passphrase_placeholder" = "Jepni frazĂ«"; "key_backup_setup_passphrase_passphrase_valid" = "Bukur!"; "key_backup_setup_passphrase_passphrase_invalid" = "Provoni tĂ« shtoni njĂ« fjalĂ«"; "key_backup_setup_passphrase_confirm_passphrase_title" = "Ripohojeni"; -"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Ripohoni frazĂ«kalimin"; +"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Ripohoni frazĂ«n"; "key_backup_setup_passphrase_confirm_passphrase_valid" = "Bukur!"; -"key_backup_setup_passphrase_confirm_passphrase_invalid" = "FrazĂ«kalimet nuk pĂ«rputhen"; -"key_backup_setup_passphrase_set_passphrase_action" = "Caktoni FrazĂ«kalim"; +"key_backup_setup_passphrase_confirm_passphrase_invalid" = "fraza s’pĂ«rputhet"; +"key_backup_setup_passphrase_set_passphrase_action" = "Caktoni FrazĂ«"; "key_backup_setup_recovery_key_info" = "BĂ«ni njĂ« kopje tĂ« kĂ«tij Kyçi Rikthimesh dhe ruajeni diku.\n\nSi rrjet sigurie, mund ta pĂ«rdorni pĂ«r tĂ« rikthyer historikun e mesazheve tuaj tĂ« fshehtĂ«zuar, nĂ«se harroni FrazĂ«kalimin e Rikthimeve."; "key_backup_setup_recovery_key_recovery_key_title" = "Kyç Rikthimesh"; "key_backup_setup_recovery_key_make_copy_action" = "BĂ«ni njĂ« Kopje"; @@ -599,18 +599,18 @@ "key_backup_recover_title" = "Mesazhe tĂ« Sigurt"; "key_backup_recover_empty_backup_title" = "Kopjeruajtje e zbrazĂ«t"; "key_backup_recover_empty_backup_message" = "S’ka kyç pĂ«r rikthim"; -"key_backup_recover_from_passphrase_info" = "QĂ« tĂ« shkyçni historikun e mesazheve tuaj tĂ« sigurt pĂ«rdorni frazĂ«kalimin tuaj tĂ« rimarrjeve"; +"key_backup_recover_from_passphrase_info" = "QĂ« tĂ« shkyçni historikun e mesazheve tuaj tĂ« sigurt, pĂ«rdorni FrazĂ«n tuaj tĂ« SigurisĂ«"; "key_backup_recover_from_passphrase_passphrase_title" = "Jepeni"; -"key_backup_recover_from_passphrase_passphrase_placeholder" = "Jepni FrazĂ«kalimin"; +"key_backup_recover_from_passphrase_passphrase_placeholder" = "Jepni FrazĂ«"; "key_backup_recover_from_passphrase_recover_action" = "Shkyçeni Historikun"; -"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Nuk e dini frazĂ«kalimin tuaj tĂ« rimarrjeve? Mundeni tĂ« "; -"key_backup_recover_from_passphrase_lost_passphrase_action_part2" = "pĂ«rdorni kyçin tuaj tĂ« rimarrjeve"; +"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Nuk e dini FrazĂ«n tuaj tĂ« SigurisĂ«? Mundeni tĂ« "; +"key_backup_recover_from_passphrase_lost_passphrase_action_part2" = "pĂ«rdorni Kyçin tuaj tĂ« SigurisĂ«"; "key_backup_recover_from_passphrase_lost_passphrase_action_part3" = "."; -"key_backup_recover_from_recovery_key_info" = "QĂ« tĂ« shkyçni historikun e mesazheve tuaj tĂ« sigurt, pĂ«rdorni frazĂ«kalimin tuaj tĂ« rimarrjeve"; +"key_backup_recover_from_recovery_key_info" = "QĂ« tĂ« shkyçni historikun e mesazheve tuaj tĂ« sigurt, pĂ«rdorni Kyçin tuaj tĂ« SigurisĂ«"; "key_backup_recover_from_recovery_key_recovery_key_title" = "Jepeni"; -"key_backup_recover_from_recovery_key_recovery_key_placeholder" = "Jepni Kyç Rimarrjesh"; +"key_backup_recover_from_recovery_key_recovery_key_placeholder" = "Jepni Kyç Sigurie"; "key_backup_recover_from_recovery_key_recover_action" = "Shkyçe Historikun"; -"key_backup_recover_from_recovery_key_lost_recovery_key_action" = "HumbĂ«t kyçin tuaj tĂ« rimarrjeve? Te rregullimet mund tĂ« caktoni njĂ« tĂ« ri."; +"key_backup_recover_from_recovery_key_lost_recovery_key_action" = "HumbĂ«t Kyçin tuaj tĂ« SigurisĂ«? Te rregullimet mund tĂ« caktoni njĂ« tĂ« ri."; "key_backup_recover_success_info" = "Kopjeruajtja u Rikthye!"; "key_backup_recover_done_action" = "U bĂ«"; "key_backup_setup_banner_title_part1" = "Rregulloni Rikthim Mesazhesh tĂ« Sigurt"; @@ -618,27 +618,27 @@ "key_backup_recover_banner_title_part1" = "Xhironi Rikthim Mesazhesh tĂ« Sigurt"; "key_backup_recover_banner_title_part2" = " qĂ« tĂ« lexoni historik mesazhesh tĂ« fshehtĂ«zuar nĂ« kĂ«tĂ« pajisje"; "settings_key_backup_info" = "Mesazhet e fshehtĂ«zuar sigurohen me fshehtĂ«zim skaj-mĂ«-skaj. VetĂ«m ju dhe marrĂ«si(t) kanĂ« kyçet pĂ«r tĂ« lexuar kĂ«to mesazhe."; -"settings_key_backup_info_signout_warning" = "Lidheni kĂ«tĂ« sesion me kopjeruajtje kyçesh, pĂ«rpara se tĂ« dilni, qĂ« tĂ« shmangni humbje tĂ« çfarĂ«do kyçi qĂ« mund tĂ« gjendet vetĂ«m nĂ« kĂ«tĂ« pajisje."; +"settings_key_backup_info_signout_warning" = "Kopjeruani kyçet tuaja, pĂ«rpara se tĂ« dilni, qĂ« tĂ« shmangni humbjen e tyre."; "settings_key_backup_button_use" = "PĂ«rdor kopjeruajtje kyçesh"; "key_backup_setup_intro_setup_action_without_existing_backup" = "Fillo tĂ« pĂ«rdorĂ«sh Kopjeruajtje Kyçesh"; "key_backup_setup_intro_setup_action_with_existing_backup" = "PĂ«rdor Kopjeruajtje Kyçesh"; -"key_backup_setup_passphrase_title" = "Sigurojeni kopjeruajtjen tuaj me njĂ« FrazĂ«kalim"; -"key_backup_setup_passphrase_setup_recovery_key_info" = "Ose, sigurojeni kopjeruajtjen tuaj me njĂ« Kyç Rimarrjesh, duke e ruajtur kĂ«tĂ« diku tĂ« parrezikuar."; -"key_backup_setup_passphrase_setup_recovery_key_action" = "(TĂ« mĂ«tejshme) Rregullojeni me njĂ« Kyç Rimarrjesh"; +"key_backup_setup_passphrase_title" = "Sigurojeni kopjeruajtjen tuaj me njĂ« FrazĂ« Sigurie"; +"key_backup_setup_passphrase_setup_recovery_key_info" = "Ose, sigurojeni kopjeruajtjen tuaj me njĂ« Kyç Sigurie, duke e ruajtur kĂ«tĂ« diku tĂ« parrezikuar."; +"key_backup_setup_passphrase_setup_recovery_key_action" = "(TĂ« mĂ«tejshme) Rregullojeni me njĂ« Kyç Sigurie"; "key_backup_setup_success_title" = "Sukses!"; // Success from passphrase -"key_backup_setup_success_from_passphrase_info" = "Po bĂ«het kopjeruajtja pĂ«r kyçet tuaj.\n\nKyçi juaj i rimarrjeve Ă«shtĂ« njĂ« lloj mase sigurie - mund ta pĂ«rdorni pĂ«r tĂ« rifituar hyrje te mesazhet tuaj tĂ« fshehtĂ«zuar, nĂ«se harroni frazĂ«kalimin tuaj.\n\nMbajeni kyçin tuaj tĂ« rimarrjeve diku shumĂ« tĂ« sigurt, bie fjala, nĂ«n njĂ« pĂ«rgjegjĂ«s fjalĂ«kalimesh (ose nĂ« njĂ« kasafortĂ«)."; -"key_backup_setup_success_from_passphrase_save_recovery_key_action" = "Ruani Kyç Rimarrjesh"; +"key_backup_setup_success_from_passphrase_info" = "Po bĂ«het kopjeruajtja pĂ«r kyçet tuaj.\n\nKyçi juaj i SigurisĂ« Ă«shtĂ« njĂ« lloj mase sigurie - mund ta pĂ«rdorni pĂ«r tĂ« rifituar hyrje te mesazhet tuaj tĂ« fshehtĂ«zuar, nĂ«se harroni frazĂ«kalimin tuaj.\n\nMbajeni Kyçin tuaj tĂ« SigurisĂ« diku shumĂ« tĂ« sigurt, bie fjala, nĂ«n njĂ« pĂ«rgjegjĂ«s fjalĂ«kalimesh (ose nĂ« njĂ« kasafortĂ«)."; +"key_backup_setup_success_from_passphrase_save_recovery_key_action" = "Ruani Kyç Sigurie"; "key_backup_setup_success_from_passphrase_done_action" = "U krye"; // Success from recovery key -"key_backup_setup_success_from_recovery_key_info" = "Po bĂ«het kopjeruajtja pĂ«r kyçet tuaj.\n\nBĂ«ni njĂ« kopje tĂ« kĂ«tij kyçi rimarrjesh dhe mbajeni tĂ« parrezikuar."; -"key_backup_setup_success_from_recovery_key_recovery_key_title" = "Kyç Rimarrjesh"; +"key_backup_setup_success_from_recovery_key_info" = "Po bĂ«het kopjeruajtja pĂ«r kyçet tuaj.\n\nBĂ«ni njĂ« kopje tĂ« kĂ«tij Kyçi Sigurie dhe mbajeni tĂ« parrezikuar."; +"key_backup_setup_success_from_recovery_key_recovery_key_title" = "Kyç Sigurie"; "key_backup_setup_success_from_recovery_key_make_copy_action" = "BĂ«ni njĂ« Kopje"; "key_backup_setup_success_from_recovery_key_made_copy_action" = "Kam bĂ«rĂ« njĂ« kopje"; -"key_backup_recover_invalid_passphrase_title" = "FrazĂ«kalim Rimarrjeje i PasaktĂ«"; -"key_backup_recover_invalid_passphrase" = "S’u shfshehtĂ«zua dot kopjeruajtja me kĂ«tĂ« frazĂ«kalim: ju lutemi, verifikoni qĂ« dhatĂ« frazĂ«kalimin e duhur tĂ« rimarrjeve."; -"key_backup_recover_invalid_recovery_key_title" = "MospĂ«rputhje Kyçesh Rimarrjeje"; -"key_backup_recover_invalid_recovery_key" = "Nuk u shfshehtĂ«zua dot kopjeruajtja me kĂ«tĂ« kyç: ju lutemi, verifikoni qĂ« dhatĂ« kyçin e duhur tĂ« rimarrjeve."; +"key_backup_recover_invalid_passphrase_title" = "FrazĂ« e PasaktĂ« Sigurie"; +"key_backup_recover_invalid_passphrase" = "S’u shfshehtĂ«zua dot kopjeruajtja me kĂ«tĂ« frazĂ«: ju lutemi, verifikoni qĂ« dhatĂ« FrazĂ«n e duhur tĂ« SigurisĂ«."; +"key_backup_recover_invalid_recovery_key_title" = "MospĂ«rputhje Kyçesh Sigurie"; +"key_backup_recover_invalid_recovery_key" = "Nuk u shfshehtĂ«zua dot kopjeruajtja me kĂ«tĂ« kyç: ju lutemi, verifikoni qĂ« dhatĂ« Kyçin e duhur tĂ« SigurisĂ«."; "key_backup_setup_banner_title" = "Mos humbni kurrĂ« mesazhe tĂ« fshehtĂ«zuar"; "key_backup_setup_banner_subtitle" = "Fillo tĂ« pĂ«rdorĂ«sh Kopjeruajtje Kyçesh"; "key_backup_recover_banner_title" = "Mos humbni kurrĂ« mesazhe tĂ« fshehtĂ«zuar"; @@ -657,7 +657,7 @@ "sign_out_key_backup_in_progress_alert_cancel_action" = "Do tĂ« pres"; // Key backup wrong version "e2e_key_backup_wrong_version_title" = "Kopjeruajtje e Re Kyçesh"; -"e2e_key_backup_wrong_version" = "U pikas njĂ« kopjeruajtje e re kyçesh mesazhesh tĂ« sigurt.\n\nNĂ«se s’qe prej jush, caktoni njĂ« frazĂ«kalim tĂ« ri te Rregullimet."; +"e2e_key_backup_wrong_version" = "U pikas njĂ« kopjeruajtje e re kyçesh mesazhesh tĂ« sigurt.\n\nNĂ«se s’qe prej jush, caktoni njĂ« FrazĂ« tĂ« re Sigurie te Rregullimet."; "e2e_key_backup_wrong_version_button_settings" = "Rregullime"; "e2e_key_backup_wrong_version_button_wasme" = "Prej meje qe"; "key_backup_setup_intro_manual_export_info" = "(TĂ« mĂ«tejshme)"; @@ -1039,7 +1039,7 @@ "security_settings_crosssigning_info_not_bootstrapped" = "Cross-signing s’ështĂ« ujdisur ende."; "security_settings_crosssigning_info_exists" = "Llogaria juaj ka njĂ« identitet cross-signing, por s’ështĂ« ende i besuar nga ky sesion. PlotĂ«soni sigurinĂ« e kĂ«tij sesioni."; "security_settings_crosssigning_info_trusted" = "Cross-signing Ă«shtĂ« i aktivizuar. Mund tĂ« besoni pĂ«rdorues tĂ« tjerĂ« dhe sesionet tuaj tĂ« tjerĂ« bazuar nĂ« cross-signing, por s’mund tĂ« kryeni cross-sign qĂ« nga ky sesion,ngaqĂ« nuk ka kyçe privatĂ« pĂ«r cross-signing. PlotĂ«soni sigurinĂ« e kĂ«tij sesioni."; -"security_settings_crosssigning_info_ok" = "Cross-signing Ă«shtĂ« i aktivizuar."; +"security_settings_crosssigning_info_ok" = "Cross-signing Ă«shtĂ« gati pĂ«r pĂ«rdorim."; "security_settings_crosssigning_complete_security" = "Siguri e plotĂ«"; "security_settings_complete_security_alert_title" = "Siguri e plotĂ«"; "security_settings_complete_security_alert_message" = "SĂ« pari duhet tĂ« plotĂ«soni sigurinĂ« nĂ« sesionin tuaj tĂ« tanishĂ«m."; @@ -1088,40 +1088,40 @@ "key_verification_manually_verify_device_additional_information" = "NĂ«se s’pĂ«rputhen, siguria e komunikimeve tuaja mund tĂ« jetĂ« komprometuar."; "key_verification_manually_verify_device_validate_action" = "Verifikoje"; "user_verification_session_details_verify_action_current_user_manually" = "Verifikojeni Dorazi pĂ«rmes Teksti"; -"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "PĂ«rdor Kyç Rimarrjesh"; -"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "PĂ«rdor FrazĂ«kalim ose Kyç Rimarrjesh"; +"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "PĂ«rdor Kyç Sigurie"; +"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "PĂ«rdor FrazĂ« ose Kyç Sigurie"; "device_verification_self_verify_wait_recover_secrets_additional_information" = "NĂ«se s’hyni dot nĂ« njĂ« sesion ekzistues"; -"secrets_recovery_with_passphrase_title" = "FrazĂ«kalim Rimarrjesh"; -"secrets_recovery_with_passphrase_information_default" = "Hyni nĂ« historikun tuaj tĂ« mesazheve tĂ« sigurt dhe pĂ«rdorni identitetin tuaj “cross-signing” pĂ«r tĂ« verifikuar sesione tĂ« tjerĂ« duke dhĂ«nĂ« frazĂ«kalimin tuaj tĂ« rimarrjeve."; -"secrets_recovery_with_passphrase_information_verify_device" = "QĂ« tĂ« verifikoni kĂ«tĂ« pajisje, pĂ«rdorni FrazĂ«kalimin tuaj tĂ« Rimarrjeve."; -"secrets_recovery_with_passphrase_passphrase_placeholder" = "Jepni FrazĂ«kalim Rimarrjesh"; -"secrets_recovery_with_passphrase_recover_action" = "PĂ«rdor FrazĂ«kalim"; -"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "S’e din frazĂ«kalimin tuaj tĂ« rimarrjeve? Mundeni tĂ« "; -"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "pĂ«rdorni kyçin tuaj tĂ« rimarrjeve"; +"secrets_recovery_with_passphrase_title" = "FrazĂ« Sigurie"; +"secrets_recovery_with_passphrase_information_default" = "Hyni nĂ« historikun tuaj tĂ« mesazheve tĂ« sigurt dhe pĂ«rdorni identitetin tuaj “cross-signing” pĂ«r tĂ« verifikuar sesione tĂ« tjerĂ« duke dhĂ«nĂ« FrazĂ«n tuaj tĂ« SigurisĂ«."; +"secrets_recovery_with_passphrase_information_verify_device" = "QĂ« tĂ« verifikoni kĂ«tĂ« pajisje, pĂ«rdorni FrazĂ«n tuaj tĂ« SigurisĂ«."; +"secrets_recovery_with_passphrase_passphrase_placeholder" = "Jepni FrazĂ« Sigurie"; +"secrets_recovery_with_passphrase_recover_action" = "PĂ«rdor FrazĂ«"; +"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "S’e dini FrazĂ«n tuaj tĂ« SigurisĂ«? Mundeni tĂ« "; +"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "pĂ«rdorni Kyçin tuaj tĂ« SigurisĂ«"; "secrets_recovery_with_passphrase_lost_passphrase_action_part3" = "."; "secrets_recovery_with_passphrase_invalid_passphrase_title" = "S’arrihet tĂ« hyhet nĂ« depo tĂ« fshehtĂ«"; -"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Ju lutemi, verifikoni qĂ« keni dhĂ«nĂ« frazĂ«kalimin e saktĂ« tĂ« rimarrjeve."; -"secrets_recovery_with_key_title" = "Kyç Rimarrjesh"; -"secrets_recovery_with_key_information_default" = "Hyni te historiku i mesazheve tuaj tĂ« sigurt dhe te identiteti juaj pĂ«r cross-signing pĂ«r verifikim sesionesh tĂ« tjerĂ« pĂ«rmes dhĂ«nies sĂ« kyçit tĂ« rimarrjeve."; -"secrets_recovery_with_key_information_verify_device" = "QĂ« tĂ« verifikoni kĂ«tĂ« pajisje, pĂ«rdorni Kyç Rimarrjesh."; -"secrets_recovery_with_key_recovery_key_placeholder" = "Jepni Kyç Rimarrjesh"; +"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Ju lutemi, verifikoni qĂ« keni dhĂ«nĂ« FrazĂ«n e saktĂ« tĂ« SigurisĂ«."; +"secrets_recovery_with_key_title" = "Kyç Sigurie"; +"secrets_recovery_with_key_information_default" = "Hyni te historiku i mesazheve tuaj tĂ« sigurt dhe te identiteti juaj pĂ«r “cross-signing” pĂ«r verifikim sesionesh tĂ« tjerĂ« pĂ«rmes dhĂ«nies sĂ« Kyçit tĂ« SigurisĂ«."; +"secrets_recovery_with_key_information_verify_device" = "QĂ« tĂ« verifikoni kĂ«tĂ« pajisje, pĂ«rdorni Kyçin tuaj tĂ« SigurisĂ«."; +"secrets_recovery_with_key_recovery_key_placeholder" = "Jepni Kyç Sigurie"; "secrets_recovery_with_key_recover_action" = "PĂ«rdor Kyç"; "secrets_recovery_with_key_invalid_recovery_key_title" = "S’arrihet tĂ« hyhet nĂ« depozitĂ« tĂ« fshehtĂ«"; -"secrets_recovery_with_key_invalid_recovery_key_message" = "Ju lutemi, verifikoni se dhatĂ« kyçin e saktĂ« tĂ« rimarrjeve."; +"secrets_recovery_with_key_invalid_recovery_key_message" = "Ju lutemi, verifikoni se dhatĂ« Kyçin e saktĂ« tĂ« SigurisĂ«."; // AuthenticatedSessionViewControllerFactory "authenticated_session_flow_not_supported" = "Ky aplikacion nuk mbulon mekanizimin e mirĂ«filltĂ«simeve nĂ« shĂ«rbyesin tuaj Home."; "secure_key_backup_setup_intro_title" = "Kopjeruajtje e Sigurt"; "secure_key_backup_setup_intro_info" = "Mbrohuni kundĂ«r humbjes sĂ« hyrjes nĂ« mesazhe & tĂ« dhĂ«na tĂ« fshehtĂ«zuara, duke kopjeruajtur kyçe fshehtĂ«zimi nĂ« shĂ«rbyesin tuaj."; "secure_key_backup_setup_intro_use_security_key_title" = "PĂ«rdorni njĂ« Kyç Sigurie"; "secure_key_backup_setup_intro_use_security_key_info" = "Prodhoni njĂ« kyç sigurie pĂ«r ta ruajtur diku tĂ« parrezik, bie fjala, nĂ« njĂ« pĂ«rgjegjĂ«s fjalĂ«kalimesh apo nĂ« njĂ« kasafortĂ«."; -"secure_key_backup_setup_intro_use_security_passphrase_title" = "PĂ«rdorni njĂ« FrazĂ«kalim Sigurie"; +"secure_key_backup_setup_intro_use_security_passphrase_title" = "PĂ«rdorni njĂ« FrazĂ« Sigurie"; "secure_key_backup_setup_intro_use_security_passphrase_info" = "Jepni njĂ« frazĂ« tĂ« fshehtĂ« qĂ« e dini vetĂ«m ju, dhe prodhoni njĂ« kyç pĂ«r kopjeruajtje."; "secure_key_backup_setup_cancel_alert_title" = "Jeni i sigurt?"; "secure_key_backup_setup_cancel_alert_message" = "NĂ«se e anuloni tani, mund tĂ« humbni mesazhe & tĂ« dhĂ«na tĂ« fshehtĂ«zuara, nĂ«se humbni hyrje te kredenciale tuajt hyrjesh.\n\nMundeni edhe tĂ« ujdisni Kopjeruajtje tĂ« Sigurt & tĂ« administroni kyçet tuaj qĂ« nga Rregullimet."; "secure_backup_setup_banner_title" = "Kopjeruajtje e Sigurt"; "secure_backup_setup_banner_subtitle" = "Mbrohuni kundĂ«r humbjes sĂ« hyrjes te mesazhe & tĂ« dhĂ«na tĂ« fshehtĂ«zuara"; "secrets_setup_recovery_key_title" = "Ruani Kyçin tuaj tĂ« SigurisĂ«"; -"secrets_setup_recovery_key_information" = "Mbajeni Kyçin tuaj tĂ« Rimarrjeve diku tĂ« parrezik. Mund tĂ« pĂ«rdoret pĂ«r tĂ« shkyçur mesazhet & tĂ« dhĂ«nat tuaja tĂ« fshehtĂ«zuara."; +"secrets_setup_recovery_key_information" = "Mbajeni Kyçin tuaj tĂ« SigurisĂ« diku tĂ« parrezik. Mund tĂ« pĂ«rdoret pĂ«r tĂ« shkyçur mesazhet & tĂ« dhĂ«nat tuaja tĂ« fshehtĂ«zuara."; "secrets_setup_recovery_key_loading" = "Po ngarkohet
"; "secrets_setup_recovery_key_export_action" = "Ruaje"; "secrets_setup_recovery_key_done_action" = "U bĂ«"; @@ -1133,12 +1133,12 @@ "secrets_setup_recovery_passphrase_validate_action" = "U bĂ«"; "secrets_setup_recovery_passphrase_confirm_information" = "QĂ« ta ripohoni, rijepeni FrazĂ«n e SigurisĂ«."; "secrets_setup_recovery_passphrase_confirm_passphrase_title" = "Ripohojeni"; -"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Ripohoni frazĂ«kalimin"; +"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Ripohoni frazĂ«n"; "security_settings_secure_backup" = "KOPJERUAJTJE E SIGURT"; -"security_settings_secure_backup_description" = "Mbrohuni kundĂ«r humbjes sĂ« hyrjes nĂ« mesazhe & tĂ« dhĂ«na tĂ« fshehtĂ«zuara, duke kopjeruajtur kyçe fshehtĂ«zimi nĂ« shĂ«rbyesin tuaj."; +"security_settings_secure_backup_description" = "Kopjeruani kyçet tuaj tĂ« fshehtĂ«zimit me tĂ« dhĂ«na tĂ« llogarisĂ« tuaj, pĂ«r rastin kur do tĂ« humbnit hyrje nĂ« sesionet tuaja. Kyçet tuaj do tĂ« sigurohen me njĂ« Kyç unik Sigurie."; "security_settings_secure_backup_setup" = "Ujdiseni"; "security_settings_secure_backup_synchronise" = "NjĂ«kohĂ«soje"; -"security_settings_secure_backup_delete" = "Fshije"; +"security_settings_secure_backup_delete" = "Fshije Kopjeruajtjen"; "security_settings_user_password_description" = "Ripohoni identitetin tuaj duke dhĂ«nĂ« fjalĂ«kalimin e llogarisĂ« tuaj"; "secure_key_backup_setup_existing_backup_error_title" = "NjĂ« kopjeruajtje pĂ«r mesazhe qĂ« ekzistojnĂ« tashmĂ«"; "secure_key_backup_setup_existing_backup_error_info" = "Shkyçeni, qĂ« ta ripĂ«rdorni te kopjeruajtja e sigurt ose pĂ«r ta fshirĂ« qĂ« tĂ« krijoni njĂ« kopjeruajtje tĂ« re mesazhesh te kopjeruajtja e sigurt."; @@ -1313,7 +1313,7 @@ "event_formatter_call_has_ended" = "PĂ«rfundoi %@"; "event_formatter_call_video" = "Thirrje video"; "event_formatter_call_voice" = "Thirrje audio"; -"security_settings_crosssigning_reset" = "Rikthe te parazgjedhjet cross-signing"; +"security_settings_crosssigning_reset" = "Rikthe te parazgjedhjet"; "security_settings_crosssigning" = "CROSS-SIGNING"; "settings_show_NSFW_public_rooms" = "Shfaq dhoma publike NSFW"; "room_open_dialpad" = "NumĂ«rator"; @@ -1374,3 +1374,30 @@ // Mark: - Spaces "space_feature_unavailable_title" = "HapĂ«sirat s’kanĂ« ardhur ende"; +"side_menu_app_version" = "Version %@"; + +// Mark: - User avatar view + +"user_avatar_view_accessibility_label" = "avatar"; +"side_menu_action_feedback" = "PĂ«rshtypje"; +"side_menu_action_help" = "NdihmĂ«"; +"side_menu_action_settings" = "Rregullime"; +"side_menu_action_invite_friends" = "Ftoni shokĂ«"; + +// Mark: - Side menu + +"side_menu_reveal_action_accessibility_label" = "Paneli majtas"; +"user_avatar_view_accessibility_hint" = "Ndryshoni avatar pĂ«rdoruesi"; +"secrets_recovery_with_key_information_unlock_secure_backup_with_key" = "QĂ« tĂ« vazhdohet, jepni Kyçin tuaj tĂ« SigurisĂ«."; +"secrets_recovery_with_key_information_unlock_secure_backup_with_phrase" = "QĂ« tĂ« vazhdohet, jepni FrazĂ«n tuaj tĂ« SigurisĂ«."; + +// Success from secure backup +"key_backup_setup_success_from_secure_backup_info" = "Kyçet tuaj po kopjeruhen."; +"security_settings_crosssigning_bootstrap" = "Ujdise"; +"security_settings_secure_backup_restore" = "Riktheji prej Kopjeruajtjeje"; +"security_settings_secure_backup_info_valid" = "Ky sesion po kopjeruan kyçet tuaj."; +"security_settings_secure_backup_info_checking" = "Po kontrollohet
"; +"settings_ui_theme_picker_message_match_system_theme" = "“Auto” pĂ«rputhet me temĂ«n e sistemit tĂ« pajisjes tuaj"; +"settings_ui_theme_picker_message_invert_colours" = "“Auto” pĂ«rdor rregullimet “Ktheji SĂ« Prapthi Ngjyrat”"; +"room_recents_unknown_room_error_message" = "S’gjendet dot kjo dhomĂ«. Sigurohuni se ekziston"; +"room_creation_dm_error" = "S’mundĂ«m tĂ« krijojmĂ« dot MD-nĂ« tuaj. Ju lutemi, kontrolloni pĂ«rdoruesit tĂ« cilĂ«ve doni t’u dĂ«rgohet dhe riprovoni."; From 6c6d50e6b0c11f74cd169609409ba6b29201eb8c Mon Sep 17 00:00:00 2001 From: easyMaxi Date: Sat, 26 Jun 2021 18:35:01 +0000 Subject: [PATCH 14/42] Translated using Weblate (German) Currently translated at 96.3% (1188 of 1233 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/de/ --- Riot/Assets/de.lproj/Vector.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Riot/Assets/de.lproj/Vector.strings b/Riot/Assets/de.lproj/Vector.strings index a9ccd5033..abd85866a 100644 --- a/Riot/Assets/de.lproj/Vector.strings +++ b/Riot/Assets/de.lproj/Vector.strings @@ -1275,7 +1275,7 @@ // Social login "social_login_list_title_continue" = "Weiter mit"; -"room_intro_cell_information_multiple_dm_sentence2" = "Nur ihr seid in diesem GesprĂ€ch, außer ihr lĂ€dt jemand anderen ein."; +"room_intro_cell_information_multiple_dm_sentence2" = "Nur ihr seid in diesem GesprĂ€ch, außer jemand von euch lĂ€dt jemanden ein."; "room_intro_cell_information_dm_sentence2" = "Nur zwei von euch sind in diesem GesprĂ€ch. Keine anderer kann beitreten."; "room_intro_cell_information_dm_sentence1_part3" = ". "; "room_intro_cell_information_dm_sentence1_part1" = "Dies ist der Beginn deiner Direktnachricht mit "; From f65a3cc112d0196d4181b837dd6ea714aec25771 Mon Sep 17 00:00:00 2001 From: libexus Date: Sat, 26 Jun 2021 18:33:49 +0000 Subject: [PATCH 15/42] Translated using Weblate (German) Currently translated at 96.3% (1188 of 1233 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/de/ --- Riot/Assets/de.lproj/Vector.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Riot/Assets/de.lproj/Vector.strings b/Riot/Assets/de.lproj/Vector.strings index abd85866a..f3db4bf90 100644 --- a/Riot/Assets/de.lproj/Vector.strings +++ b/Riot/Assets/de.lproj/Vector.strings @@ -1089,7 +1089,7 @@ "key_verification_bootstrap_not_setup_title" = "Fehler"; "key_verification_bootstrap_not_setup_message" = "Du musst erst die Quersignatur einrichten."; "key_verification_verify_qr_code_title" = "Verifizierung durch Scannen eines QR-Codes"; -"key_verification_verify_qr_code_information" = "Scanne den Code fĂŒr eine gegenseitige ÜberprĂŒfung."; +"key_verification_verify_qr_code_information" = "Zum gegenseitigen Verifizieren scanne den QR-Code."; "key_verification_verify_qr_code_information_other_device" = "Scanne den Code unten zur ÜberprĂŒfung:"; "key_verification_verify_qr_code_emoji_information" = "ÜberprĂŒfung durch den Vergleich einzigartiger Emojis."; "key_verification_verify_qr_code_scan_code_action" = "Scanne Code des GegenĂŒbers"; From c0f735839f4fc34d458163aae7d49b7a0163be03 Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Mon, 28 Jun 2021 02:11:12 +0300 Subject: [PATCH 16/42] Add route icons --- .../Contents.json | 23 ++++++++++++++++++ .../Mobile.png | Bin 0 -> 249 bytes .../Mobile@2x.png | Bin 0 -> 366 bytes .../Mobile@3x.png | Bin 0 -> 515 bytes .../Contents.json | 23 ++++++++++++++++++ .../Headphones.png | Bin 0 -> 538 bytes .../Headphones@2x.png | Bin 0 -> 1004 bytes .../Headphones@3x.png | Bin 0 -> 1418 bytes .../Contents.json | 23 ++++++++++++++++++ .../Sound.png | Bin 0 -> 595 bytes .../Sound@2x.png | Bin 0 -> 1058 bytes .../Sound@3x.png | Bin 0 -> 1486 bytes .../Common/checkmark.imageset/Contents.json | 3 +++ Riot/Generated/Images.swift | 3 +++ 14 files changed, 75 insertions(+) create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile@3x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones@3x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Sound.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Sound@2x.png create mode 100644 Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Sound@3x.png diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Contents.json b/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Contents.json new file mode 100644 index 000000000..f0810c019 --- /dev/null +++ b/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Mobile.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Mobile@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Mobile@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile.png b/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..599ac844e8162f8767404617e2eaf3d7004b7e1d GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1!HlL zyA#8@b22Z19F}xPUq=Rpjs4tz5?O)#K2I0NkP61PQ#bN9C8r(kr*>}KyK#>C5qxpZEzbcU_{`_Yf|M<7%RB?VD<6ukmHVq(8Hr7P5MTuRrl1v_Q(O zu;$}(<$9igwdN1jUAyttZpQv4;+@Q&j@k$OJ+y!CTEpZ_7kQ_;kLp+U|G1)XKUJ`> z!Q8Rf?NXyF(=3&HFSoIE7&^>$^*nxe(*^4%(~mxT5Wpm_n9FnF7z1wN?q9R0Z_#O2 ze{f{J_G>u(@A0;Niv{mLxH!w)@wE#3H~&W4WwkQJxyptYeXQbS3iz(AKhlz1U**cX kY4+m+|K}dhnf`Y2FVeDi@ON_+00s|(r>mdKI;Vst0IDdEbN~PV literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile@3x.png b/Riot/Assets/Images.xcassets/Call/call_audio_route_builtin.imageset/Mobile@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb223675cc18be5936ec287263d90ec37db14d3d GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG z--8m#;Y0Sgp!zM6M zjAOVzJ;u7QS^3X%foy z!WKK8FZl1*$ib>4(h;EG)Y!pf8xgB-75Vt@)uW%zT`=qgioqqR%vdyi?zh@E74{;i zmV_@zsBnCD=H9~xHW3HnChnGa2XyxpInk{L%}#_=ZTEj~Xt~az)b##4wzDS3J$_rf zyzBSy%FXlJe@{+mIvQD(6#u;PPu|Z-&yF%wXLqgNwQiNJi%RmdKI;Vst0A6Lmr~m)} literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Contents.json b/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Contents.json new file mode 100644 index 000000000..83bb186bc --- /dev/null +++ b/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Headphones.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Headphones@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Headphones@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones.png b/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones.png new file mode 100644 index 0000000000000000000000000000000000000000..084160ed6daa9b311fa93397ccfb1ca548ce3c87 GIT binary patch literal 538 zcmV+#0_FXQP)q{_Bjq3@(`7nqvV8YNudrq_ZwiBRo`*aSHJ=3(X zQfxq^vOuYTa^2~Y&vqCNj0o(p7N11^Fp44rWitS}oMH&-rCDvP1ypZ4^}sp)^|Txp zU8P1yk*yx{a*|UCh(K55AkxE*B46~wFT`;QAUZ^>^%r&pBxM}uS^(@vxuqUK@0FSp z*1f4=Z?UcyRle)giK+0@!}IA)co&L;4`+BDqDU1H!?CsrvLx| literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones@2x.png b/Riot/Assets/Images.xcassets/Call/call_audio_route_headphones.imageset/Headphones@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3543510753775a6af4befbf8bd5772d3db941b GIT binary patch literal 1004 zcmVZUe5)_GvRRL&fM6xWwi&l^}(Pn z%VO6hbk^`G)^LBb72D1aY)dkffQ>iRpMsE#?l`V41kBpIjU$M_`p)i)0YVzJ%0@1z zjlek|!v;T=Jsur%cAcx2w|+oGF3!I;pDr$*P);9%K0wCvg{AcO^V2Vb+8Fo-EMoN9$Km{6d_=TyK0NW8 z57e(Q$8jvxdAVMX%XtZAXA3`$6>~Z@%S(QBJO#+n$CzC0waJynWlkB!jLXZ*q5UZ6GkRR#gy*)){iEDdt_Ue-k!mPac5H6(us3JOQxED&Yq>O zmS|2Q_EoxbLGG)1p!(oy0&r_!^nS-f$Q4Wp+@bcpc}%KvY8gF*gd%`L6Q%{8;uM3n zlp(EY_uhBkQ6P^H}4PpO8+c0veq0oQ)$15s`H{yT!i5k-rcOX)el~-OLC5`je3G a5cvarSYm~k-g`d)0000uj2l#WB(&*3Knc?g%fW>05SS)81gp#QT z?TQ=4HE`fFAgUr^l@KcctW1g&ki+L%xsGC&-q*m-x^kRIV6Y5_+!U;IoEs{H>7WB>s>&BppFOvzLNiRk1- z(Gw2SRnu#Rf+P(de;Ebs^S!4MYy)b-pO(@eR{0uB95 z^n_o+H@bj0;?VRFXPpB8TfGd3-PAXhh9k=h%!HzD z{K~u7>7-9GJ;*>DMf+@+uj)f0^d@k#s2pV^`10D;&mrHaZS~Yc-}@lu8wwX8C8?vB zaLD{)Nz?5hasRpAZruJ83g+ba==6)l#Y2Z&A5;+(;nT|t*DBACA3uT=q?%%Ux0Vr{ z2dX{^&`!It8Ndu+{}jM5L6yQId-Z-}vjc`0k09Z9h=|2OY1o~mID(UBN8zQfzUJA6 zHCZ2S{PN1;_1}IE9~t>02Mmd#C{Q`&S&Q=;_IZJLK2vn5jIw46e$H7L@vcV zj@?M*4CjJ~vv@^wtzK^{ABL3z_2Wp95YpZ}POWi-jjBdIUoKY%laqqwO_9G_QQCuwl-f~+la{>`P{TPC7z#$@HIA@ZlzS(&@n@B~6RAKXFNn$S#GKQVaCHVFl7)1=5gu*#|`(W$T{2WJ&b5ST$|k-6%Dg z9PB7TTH-ABV?{URbJrv?tc#(~-`IC3EO*M6HaoODH3l*&TXkCuxZIj<=t ziaFpI?!+($T}3f3M@kCw`9HRh;sG;HY#yY+3Z%gbq`?ZL!3w0o3Z%gbq`?ZL!3w0o z3Z%gbq`?ZL!3w0o3Zy|HkT`Xm55+7tmSdlM`wJycAt#F1PgItD^6f7Kdyo@FZ1yb6 zKIvJFlV?X=-MI%7#1Vzg?ycO{$b@~DuS{tx=5D@DT;4WuT zMAA6c*Oy!`qNDpMN31!Hld2>~e>;;Z3mJysDO!es?oJ<C@=?X=L$?Cm~ry!cO$VXJ;^z0{|DJ8a*Ffcj}aBNF)%5Rd4%B=yaRLmj@vu0i$nwDJXW)nP!RmAnm_O;*7L2`)j_8r{(NqxNV`N)Q z?DIn-EI)(h&QuT>2U9`dwDz~)ZT=1F*cxm2F%<-q0+&G7>xej1woe5C1o6-^82IM% zivaFf<0$$%aROY>(ZjxSG3LnUtI^&mDdpsk5G^7rj_F3jdjr8bLA&!iZoPZlohX64 zWGL48kjM7S=c^PZjw#m(CB1(L<_2Jlh^;aI`mfgyeZImWO6xwz?V#ZmObB{j9Py(0 zou4|Ai#|U-KE~MRUx|KRURStrrmF64B%|~yEhSZi3Ek1ePy)_c$h&Et2YypanR(;C zmY6yXV`q@PNA4r@5>{2(qmnRyk3MeI4`4)`ww>yG(S|6Nc3-c3=J%0B%*=IExesn5 z5(vI1HCR03T2Y9%es61ind;l1`dQoDUcD?zjTJ^IUT5@+)F1%(@{EqDb%{ldPuGo7 zW9Na7TaA{A^!-6JDGPJZkKMk2F1eOnzfuxeD|_7K5LhOO9h$Q^p9b@4xNj)2mV!R}i%cGynhq07*qoM6N<$f(&-%L;wH) literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Sound@3x.png b/Riot/Assets/Images.xcassets/Call/call_audio_route_speakers.imageset/Sound@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ad2a061fc21626727a721f3a657fe7d2f20ecf GIT binary patch literal 1486 zcmV;<1u^=GP)K~#7F?ORP& z8%GeX>KSL}_rwW2IYIC$ODkL;_6ZQV0K!N~{DSQPlb078A#noa6JQRIXJwaN$O)p{ zfGn~>{gbMZ#Ev`duET~6ePbjsH*Q2~PThS5+HAyT5N*;p1i1;4v0^_N3GFHe;uo%%@48tJY{x#kh zrp;l(-rV|d42Y|Mhs=CmB& z1i~0+yMi*~5Hg^Huy41Rs2TqfCD(uggVTgwTu!QIMNy)z5l(D2p}wdmuTXHPAXp=s zIJMc%6mwL@d=0hd_U!K^D4;Fq7Q!T3@roxdm z#fYdQekp~6k|=VNY)Zf7^trEwjufpiQJ2C&3}?v}*)oPo`Os=O3u>it5cPVjse&NB z%9u(Uly(P&Vfdsp4pNWg&~7oAI!_z(uVZ|vG!9DI7ZB!-GFQ2lA_M+Wcn2jtA4~I{ zfpCNLa&}b5hq#+kdO&K2aL6DTOCX>WbF8q9W9^d$57D4qpq@Vs>*WT-ca z8b!2%@6X;lKmG2zcAPc0{r3H`E4>gdc1uJr{{Dn|x-VRZi}DPP5*>`5(sJTs(or<} zKnMRl&6@XP+y$+$X|s_Z{@&ZYkOs-#{6s5!$^Bb%$HNO4nsqR+@WTs}RBGH}3OC5y z(g5KKcU?K7m?f$*(5I@>qxj6+N$?4do)Jp}v>&#ZR<9`@w9I#QTTSQLo17pmdTi3* z!F3QtVN9v^B9FxX^7VV#lD?g=oQqK8BmPXDc_MyJEnu#?rLdfvk{(wW`3+z`bQY%; z0y>YyxP;|gmm2J(&Q6QUFdTqqj8h9Eo6VqGST1BOmIv~7eHDRq&;E{EST1a_>YKck z>y*8L@6zTibT#jjyiF*#Ia)3cacW&w%{DB&-QkP8C)ZsuhEm<=9vZWfmReJI{nm4q z@}?)=-+$L$1CQ|9Fe`%c_TEv Date: Mon, 28 Jun 2021 02:13:49 +0300 Subject: [PATCH 17/42] Refactor sliding modal, combine options when passing --- .../SlidingModal/SlidingModalContainerView.swift | 8 +++++++- .../SlidingModalPresentationAnimator.swift | 15 +++++++-------- .../SlidingModalPresentationDelegate.swift | 14 ++++++-------- .../SlidingModal/SlidingModalPresenter.swift | 13 ++++++++++++- 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/Riot/Modules/SlidingModal/SlidingModalContainerView.swift b/Riot/Modules/SlidingModal/SlidingModalContainerView.swift index aa781543f..a494351f2 100644 --- a/Riot/Modules/SlidingModal/SlidingModalContainerView.swift +++ b/Riot/Modules/SlidingModal/SlidingModalContainerView.swift @@ -56,6 +56,8 @@ class SlidingModalContainerView: UIView, Themable, NibLoadable { } } + var centerInScreen: Bool = false + // MARK: Outlets @IBOutlet private weak var dimmingView: UIView! @@ -130,7 +132,11 @@ class SlidingModalContainerView: UIView, Themable, NibLoadable { if UIDevice.current.userInterfaceIdiom == .pad { self.contentViewBottomConstraint.constant = (UIScreen.main.bounds.height + self.dismissContentViewBottomConstant) / 2 } else { - self.contentViewBottomConstraint.constant = 0 + if centerInScreen { + contentViewBottomConstraint.constant = (bounds.height - contentViewHeightConstraint.constant)/2 + } else { + contentViewBottomConstraint.constant = 0 + } } } diff --git a/Riot/Modules/SlidingModal/SlidingModalPresentationAnimator.swift b/Riot/Modules/SlidingModal/SlidingModalPresentationAnimator.swift index d50cc4909..7bf8072a0 100644 --- a/Riot/Modules/SlidingModal/SlidingModalPresentationAnimator.swift +++ b/Riot/Modules/SlidingModal/SlidingModalPresentationAnimator.swift @@ -29,8 +29,7 @@ final class SlidingModalPresentationAnimator: NSObject { // MARK: - Properties private let isPresenting: Bool - private let isSpanning: Bool - private let blurBackground: Bool + private let options: SlidingModalOption // MARK: - Setup @@ -38,10 +37,9 @@ final class SlidingModalPresentationAnimator: NSObject { /// /// - Parameter isPresenting: true to animate presentation or false to animate dismissal /// - Parameter isSpanning: true to remove left, bottom and right spaces between the screen edges and the content view - required public init(isPresenting: Bool, isSpanning: Bool, blurBackground: Bool) { + required public init(isPresenting: Bool, options: SlidingModalOption) { self.isPresenting = isPresenting - self.isSpanning = isSpanning - self.blurBackground = blurBackground + self.options = options super.init() } @@ -50,7 +48,7 @@ final class SlidingModalPresentationAnimator: NSObject { // Animate presented view controller presentation private func animatePresentation(using transitionContext: UIViewControllerContextTransitioning) { guard let presentedViewController = transitionContext.viewController(forKey: .to), - let sourceViewController = transitionContext.viewController(forKey: .from) else { + transitionContext.viewController(forKey: .from) != nil else { return } @@ -61,8 +59,9 @@ final class SlidingModalPresentationAnimator: NSObject { let containerView = transitionContext.containerView // Spanning not available for iPad - let slidingModalContainerView = isSpanning && UIDevice.current.userInterfaceIdiom != .pad ? SpanningSlidingModalContainerView.instantiate() : SlidingModalContainerView.instantiate() - slidingModalContainerView.blurBackground = self.blurBackground + let slidingModalContainerView = options.contains(.spanning) && UIDevice.current.userInterfaceIdiom != .pad ? SpanningSlidingModalContainerView.instantiate() : SlidingModalContainerView.instantiate() + slidingModalContainerView.blurBackground = options.contains(.blurBackground) + slidingModalContainerView.centerInScreen = options.contains(.centerInScreen) slidingModalContainerView.alpha = 0 slidingModalContainerView.updateDimmingViewAlpha(0.0) diff --git a/Riot/Modules/SlidingModal/SlidingModalPresentationDelegate.swift b/Riot/Modules/SlidingModal/SlidingModalPresentationDelegate.swift index e6efdcf28..42af3a2d9 100644 --- a/Riot/Modules/SlidingModal/SlidingModalPresentationDelegate.swift +++ b/Riot/Modules/SlidingModal/SlidingModalPresentationDelegate.swift @@ -17,13 +17,11 @@ import Foundation /// `SlidingModalPresentationDelegate` handle a custom sliding UIViewController transition. -public class SlidingModalPresentationDelegate: NSObject { - private let isSpanning: Bool - private let blurBackground: Bool +class SlidingModalPresentationDelegate: NSObject { + private let options: SlidingModalOption - public init(isSpanning: Bool, blurBackground: Bool) { - self.isSpanning = isSpanning - self.blurBackground = blurBackground + init(options: SlidingModalOption) { + self.options = options super.init() } } @@ -32,11 +30,11 @@ public class SlidingModalPresentationDelegate: NSObject { extension SlidingModalPresentationDelegate: UIViewControllerTransitioningDelegate { public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? { - return SlidingModalPresentationAnimator(isPresenting: true, isSpanning: isSpanning, blurBackground: blurBackground) + return SlidingModalPresentationAnimator(isPresenting: true, options: options) } public func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? { - return SlidingModalPresentationAnimator(isPresenting: false, isSpanning: isSpanning, blurBackground: blurBackground) + return SlidingModalPresentationAnimator(isPresenting: false, options: options) } public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? { diff --git a/Riot/Modules/SlidingModal/SlidingModalPresenter.swift b/Riot/Modules/SlidingModal/SlidingModalPresenter.swift index 55bd7873b..ad05a8aea 100644 --- a/Riot/Modules/SlidingModal/SlidingModalPresenter.swift +++ b/Riot/Modules/SlidingModal/SlidingModalPresenter.swift @@ -24,6 +24,8 @@ struct SlidingModalOption: OptionSet { static let spanning = SlidingModalOption(rawValue: 1 << 0) /// the background is blurred in order to obfuscate the view behind the popup static let blurBackground = SlidingModalOption(rawValue: 1 << 1) + /// center content in screen + static let centerInScreen = SlidingModalOption(rawValue: 1 << 2) } /// `SlidingModalPresenter` allows to present a custom UIViewController or UIView conforming to `SlidingModalPresentable` as a modal with a vertical sliding animation from a UIViewController. @@ -49,6 +51,7 @@ final class SlidingModalPresenter: NSObject { @objc static let NoOption: UInt32 = 0 @objc static let SpanningOption: UInt32 = SlidingModalOption.spanning.rawValue @objc static let BlurBackgroungOption: UInt32 = SlidingModalOption.blurBackground.rawValue + @objc static let CenterInScreenOption: UInt32 = SlidingModalOption.centerInScreen.rawValue // MARK: - Public @@ -64,7 +67,7 @@ final class SlidingModalPresenter: NSObject { MXLog.debug("[SlidingModalPresenter] present \(type(of: viewController))") - let transitionDelegate = SlidingModalPresentationDelegate(isSpanning: options.contains(.spanning), blurBackground: options.contains(.blurBackground)) + let transitionDelegate = SlidingModalPresentationDelegate(options: options) viewController.modalPresentationStyle = .custom viewController.transitioningDelegate = transitionDelegate @@ -87,6 +90,14 @@ final class SlidingModalPresenter: NSObject { self.present(viewController, from: viewControllerPresenter, animated: animated, completion: completion) } + @objc func presentView(_ view: SlidingModalPresentable.ViewType, from viewControllerPresenter: UIViewController, animated: Bool, options: UInt32, completion: (() -> Void)?) { + + MXLog.debug("[SlidingModalPresenter] presentView \(type(of: view))") + + let viewController = SlidingModalEmptyViewController.instantiate(with: view) + self.present(viewController, from: viewControllerPresenter, animated: animated, options: SlidingModalOption(rawValue: options), completion: completion) + } + @objc func dismiss(animated: Bool, completion: (() -> Void)?) { self.presentingViewController?.dismiss(animated: animated, completion: completion) } From fc1944112e5c57c0285b7c3e89e9ad43b0f6b433 Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Mon, 28 Jun 2021 02:20:59 +0300 Subject: [PATCH 18/42] Update UI for new more button --- Riot/Modules/Call/CallViewController.m | 3 +- Riot/Modules/Call/CallViewController.xib | 272 ++++++++++++++--------- 2 files changed, 165 insertions(+), 110 deletions(-) diff --git a/Riot/Modules/Call/CallViewController.m b/Riot/Modules/Call/CallViewController.m index 9fc8596e5..fef53be57 100644 --- a/Riot/Modules/Call/CallViewController.m +++ b/Riot/Modules/Call/CallViewController.m @@ -99,7 +99,8 @@ UIImage *moreButtonImage = [UIImage imageNamed:@"call_more_icon"]; - [self.moreButton setImage:moreButtonImage forState:UIControlStateNormal]; + [self.moreButtonForVoice setImage:moreButtonImage forState:UIControlStateNormal]; + [self.moreButtonForVideo setImage:moreButtonImage forState:UIControlStateNormal]; // Hang up diff --git a/Riot/Modules/Call/CallViewController.xib b/Riot/Modules/Call/CallViewController.xib index 1f1c991a7..370c2fc5f 100644 --- a/Riot/Modules/Call/CallViewController.xib +++ b/Riot/Modules/Call/CallViewController.xib @@ -1,6 +1,6 @@ - + @@ -30,7 +30,8 @@ - + + @@ -39,6 +40,7 @@ + @@ -46,11 +48,11 @@ - + - + @@ -58,9 +60,9 @@ - + - + @@ -75,12 +77,12 @@ - + @@ -109,7 +111,7 @@ @@ -131,10 +133,10 @@ - + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - + + + + - + @@ -340,7 +393,7 @@