Added localization for iOS plist files (#7303)

* Added localization for iOS plist files

* update strings

* Update app/constants/permissions.ts

* Update assets/base/i18n/en.json

* Update ios/Mattermost/Info.plist

* Update ios/Mattermost/Info.plist

Co-authored-by: Christopher Poile <cpoile@gmail.com>

* Update app/constants/permissions.ts

Co-authored-by: Christopher Poile <cpoile@gmail.com>

* Update assets/base/i18n/en.json

Co-authored-by: Christopher Poile <cpoile@gmail.com>

* add suggestions

---------

Co-authored-by: Dmitry Lyzlov <dlyzlov@stsoft.ru>
Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>
Co-authored-by: Christopher Poile <cpoile@gmail.com>
This commit is contained in:
Elias Nahum 2023-04-21 13:57:38 -04:00 committed by GitHub
parent 58d1b02d3a
commit 1a4bc4217c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 626 additions and 17 deletions

View file

@ -1,5 +1,57 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {defineMessages} from 'react-intl';
import {t} from '@i18n';
export const iosPermissions = defineMessages({
NSAppleMusicUsageDescription: {
id: t('mobile.ios.plist.NSAppleMusicUsageDescription'),
defaultMessage: 'Enabling access to your media library means you can attach files from your media library to your messages in {applicationName}.',
},
NSBluetoothAlwaysUsageDescription: {
id: t('mobile.ios.plist.NSBluetoothAlwaysUsageDescription'),
defaultMessage: 'Enabling access to Bluetooth means we can synchronize content across your devices and clients.',
},
NSBluetoothPeripheralUsageDescription: {
id: t('mobile.ios.plist.NSBluetoothPeripheralUsageDescription'),
defaultMessage: 'Enabling access to Bluetooth means we can connect to audio peripherals for calls, and synchronize content across your devices and clients.',
},
NSCameraUsageDescription: {
id: t('mobile.ios.plist.NSCameraUsageDescription'),
defaultMessage: 'Enabling access to your device cameras means you can take photos or videos and upload them to {applicationName}.',
},
NSFaceIDUsageDescription: {
id: t('mobile.ios.plist.NSFaceIDUsageDescription'),
defaultMessage: 'Enabling access to your Face ID means we can restrict unauthorized users from accessing {applicationName} on your device.',
},
NSLocationAlwaysUsageDescription: {
id: t('mobile.ios.plist.NSLocationAlwaysUsageDescription'),
defaultMessage: 'Enabling access to your location data means we can add location metadata to pictures and videos you share in {applicationName}.',
},
NSLocationWhenInUseUsageDescription: {
id: t('mobile.ios.plist.NSLocationWhenInUseUsageDescription'),
defaultMessage: 'Enabling access to your location data means we can add location metadata to pictures and videos you share in {applicationName}.',
},
NSMicrophoneUsageDescription: {
id: t('mobile.ios.plist.NSMicrophoneUsageDescription'),
defaultMessage: 'Enabling access to your device\'s microphones means you can capture audio for calls or videos to share in {applicationName}.',
},
NSPhotoLibraryAddUsageDescription: {
id: t('mobile.ios.plist.NSPhotoLibraryAddUsageDescription'),
defaultMessage: 'Enabling write access to your photo library means you can save downloaded photos and videos from {applicationName} to your device.',
},
NSPhotoLibraryUsageDescription: {
id: t('mobile.ios.plist.NSPhotoLibraryUsageDescription'),
defaultMessage: 'Enabling read access to your photo library means you can upload photos and videos from your device to {applicationName}.',
},
NSSpeechRecognitionUsageDescription: {
id: t('mobile.ios.plist.NSSpeechRecognitionUsageDescription'),
defaultMessage: 'Enabling your device to send user data to Apple means you can send voice messages to {applicationName}.',
},
});
export default {
PERMISSIONS_ALL: 'all',
PERMISSIONS_CHANNEL_ADMIN: 'channel_admin',

View file

@ -502,7 +502,6 @@
"mobile.create_channel.title": "New channel",
"mobile.create_direct_message.max_limit_reached": "Group messages are limited to {maxCount} members",
"mobile.create_direct_message.start": "Start Conversation",
"mobile.create_direct_message.you": "@{username} - you",
"mobile.create_post.read_only": "This channel is read-only.",
"mobile.custom_list.no_results": "No Results",
"mobile.custom_status.choose_emoji": "Choose an emoji",
@ -539,6 +538,17 @@
"mobile.integration_selector.loading_options": "Loading options...",
"mobile.ios.photos_permission_denied_description": "Upload photos and videos to your server or save them to your device. Open Settings to grant {applicationName} Read and Write access to your photo and video library.",
"mobile.ios.photos_permission_denied_title": "{applicationName} would like to access your photos",
"mobile.ios.plist.NSAppleMusicUsageDescription": "Enabling access to your media library means you can attach files from your media library to your messages in {applicationName}.",
"mobile.ios.plist.NSBluetoothAlwaysUsageDescription": "Enabling access to Bluetooth means we can synchronize content across your devices and clients.",
"mobile.ios.plist.NSBluetoothPeripheralUsageDescription": "Enabling access to Bluetooth means we can connect to audio peripherals for calls, and synchronize content across your devices and clients.",
"mobile.ios.plist.NSCameraUsageDescription": "Enabling access to your device cameras means you can take photos or videos and upload them to {applicationName}.",
"mobile.ios.plist.NSFaceIDUsageDescription": "Enabling access to your Face ID means we can restrict unauthorized users from accessing {applicationName} on your device.",
"mobile.ios.plist.NSLocationAlwaysUsageDescription": "Enabling access to your location data means we can add location metadata to pictures and videos you share in {applicationName}.",
"mobile.ios.plist.NSLocationWhenInUseUsageDescription": "Enabling access to your location data means we can add location metadata to pictures and videos you share in {applicationName}.",
"mobile.ios.plist.NSMicrophoneUsageDescription": "Enabling access to your device's microphones means you can capture audio for calls or videos to share in {applicationName}.",
"mobile.ios.plist.NSPhotoLibraryAddUsageDescription": "Enabling write access to your photo library means you can save downloaded photos and videos from {applicationName} to your device.",
"mobile.ios.plist.NSPhotoLibraryUsageDescription": "Enabling read access to your photo library means you can upload photos and videos from your device to {applicationName}.",
"mobile.ios.plist.NSSpeechRecognitionUsageDescription": "Enabling your device to send user data to Apple means you can send voice messages to {applicationName}.",
"mobile.join_channel.error": "We couldn't join the channel {displayName}.",
"mobile.leave_and_join_confirmation": "Leave & Join",
"mobile.leave_and_join_message": "You are already on a channel call in ~{leaveChannelName}. Do you want to leave your current call and join the call in ~{joinChannelName}?",
@ -934,12 +944,14 @@
"smobile.search.recent_title": "Recent searches in {teamName}",
"snack.bar.channel.members.added": "{numMembers, number} {numMembers, plural, one {member} other {members}} added",
"snack.bar.favorited.channel": "This channel was favorited",
"snack.bar.following.thread": "Thread followed",
"snack.bar.link.copied": "Link copied to clipboard",
"snack.bar.message.copied": "Text copied to clipboard",
"snack.bar.mute.channel": "This channel was muted",
"snack.bar.remove.user": "1 member was removed from the channel",
"snack.bar.undo": "Undo",
"snack.bar.unfavorite.channel": "This channel was unfavorited",
"snack.bar.unfollow.thread": "Thread unfollowed",
"snack.bar.unmute.channel": "This channel was unmuted",
"status_dropdown.set_away": "Away",
"status_dropdown.set_dnd": "Do Not Disturb",
@ -955,7 +967,6 @@
"suggestion.mention.morechannels": "Other Channels",
"suggestion.mention.nonmembers": "Not in Channel",
"suggestion.mention.special": "Special Mentions",
"suggestion.mention.you": " (you)",
"suggestion.search.direct": "Direct Messages",
"suggestion.search.private": "Private Channels",
"suggestion.search.public": "Public Channels",

View file

@ -555,6 +555,29 @@ platform :ios do
sh 'cp -R ../dist/assets/release/splash_screen/ios/SplashBackground.imageset ../ios/Mattermost/Images.xcassets/'
sh 'cp -R ../dist/assets/release/splash_screen/ios/SplashIcon.imageset ../ios/Mattermost/Images.xcassets/'
end
app_name = ENV['APP_NAME'] || 'Mattermost Beta'
localization_base_path = '../dist/assets/i18n/'
Dir.glob('*.json', base: localization_base_path) do |item|
localization_file = File.read(localization_base_path + item)
json = JSON.parse(localization_file)
plist_strings = ''
json.each do |key, value|
if key.match?('mobile.ios.plist')
unless value.nil? || value.empty?
plist_strings.concat("#{key.split('.').last} = \"#{value}\";\n")
end
end
end
plist_strings.gsub!('{applicationName}', "#{app_name}")
language = item.split('.').first
project_localization_path = "../ios/Mattermost/i18n/#{language}.lproj"
FileUtils.mkdir_p project_localization_path
File.write("#{project_localization_path}/InfoPlist.strings", plist_strings)
end
end
lane :deploy do |options|

View file

@ -18,6 +18,50 @@
49AE370126D4455D00EF4E52 /* Gekidou in Frameworks */ = {isa = PBXBuildFile; productRef = 49AE370026D4455D00EF4E52 /* Gekidou */; };
536CC6C323E79287002C478C /* RNNotificationEventHandler+HandleReplyAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 536CC6C123E79287002C478C /* RNNotificationEventHandler+HandleReplyAction.m */; };
58495E36BF1A4EAB93609E57 /* Metropolis-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 54956DEFEBB74EF78C3A6AE5 /* Metropolis-SemiBold.ttf */; };
672D988729F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984629F1927E004228D6 /* InfoPlist.strings */; };
672D988829F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984629F1927E004228D6 /* InfoPlist.strings */; };
672D988929F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984929F1927E004228D6 /* InfoPlist.strings */; };
672D988A29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984929F1927E004228D6 /* InfoPlist.strings */; };
672D988B29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984C29F1927E004228D6 /* InfoPlist.strings */; };
672D988C29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984C29F1927E004228D6 /* InfoPlist.strings */; };
672D988D29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984F29F1927F004228D6 /* InfoPlist.strings */; };
672D988E29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D984F29F1927F004228D6 /* InfoPlist.strings */; };
672D988F29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985229F1927F004228D6 /* InfoPlist.strings */; };
672D989029F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985229F1927F004228D6 /* InfoPlist.strings */; };
672D989129F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985529F1927F004228D6 /* InfoPlist.strings */; };
672D989229F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985529F1927F004228D6 /* InfoPlist.strings */; };
672D989329F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985829F1927F004228D6 /* InfoPlist.strings */; };
672D989429F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985829F1927F004228D6 /* InfoPlist.strings */; };
672D989529F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985B29F1927F004228D6 /* InfoPlist.strings */; };
672D989629F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985B29F1927F004228D6 /* InfoPlist.strings */; };
672D989729F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985E29F1927F004228D6 /* InfoPlist.strings */; };
672D989829F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D985E29F1927F004228D6 /* InfoPlist.strings */; };
672D989929F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986129F1927F004228D6 /* InfoPlist.strings */; };
672D989A29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986129F1927F004228D6 /* InfoPlist.strings */; };
672D989B29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986429F1927F004228D6 /* InfoPlist.strings */; };
672D989C29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986429F1927F004228D6 /* InfoPlist.strings */; };
672D989D29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986729F1927F004228D6 /* InfoPlist.strings */; };
672D989E29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986729F1927F004228D6 /* InfoPlist.strings */; };
672D989F29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986A29F1927F004228D6 /* InfoPlist.strings */; };
672D98A029F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986A29F1927F004228D6 /* InfoPlist.strings */; };
672D98A129F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986D29F1927F004228D6 /* InfoPlist.strings */; };
672D98A229F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D986D29F1927F004228D6 /* InfoPlist.strings */; };
672D98A329F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987029F1927F004228D6 /* InfoPlist.strings */; };
672D98A429F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987029F1927F004228D6 /* InfoPlist.strings */; };
672D98A529F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987329F1927F004228D6 /* InfoPlist.strings */; };
672D98A629F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987329F1927F004228D6 /* InfoPlist.strings */; };
672D98A729F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987629F1927F004228D6 /* InfoPlist.strings */; };
672D98A829F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987629F1927F004228D6 /* InfoPlist.strings */; };
672D98A929F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987929F1927F004228D6 /* InfoPlist.strings */; };
672D98AA29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987929F1927F004228D6 /* InfoPlist.strings */; };
672D98AB29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987C29F1927F004228D6 /* InfoPlist.strings */; };
672D98AC29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987C29F1927F004228D6 /* InfoPlist.strings */; };
672D98AD29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987F29F1927F004228D6 /* InfoPlist.strings */; };
672D98AE29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D987F29F1927F004228D6 /* InfoPlist.strings */; };
672D98AF29F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D988229F1927F004228D6 /* InfoPlist.strings */; };
672D98B029F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D988229F1927F004228D6 /* InfoPlist.strings */; };
672D98B129F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D988529F1927F004228D6 /* InfoPlist.strings */; };
672D98B229F1927F004228D6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 672D988529F1927F004228D6 /* InfoPlist.strings */; };
6C9B1EFD6561083917AF06CF /* libPods-Mattermost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DEEFB3ED6175724A2653247 /* libPods-Mattermost.a */; };
7F0F4B0A24BA173900E14C60 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7F0F4B0924BA173900E14C60 /* LaunchScreen.storyboard */; };
7F151D3E221B062700FAD8F3 /* RuntimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F151D3D221B062700FAD8F3 /* RuntimeUtils.swift */; };
@ -180,6 +224,28 @@
54956DEFEBB74EF78C3A6AE5 /* Metropolis-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Metropolis-SemiBold.ttf"; path = "../assets/fonts/Metropolis-SemiBold.ttf"; sourceTree = "<group>"; };
57CB4735B7E57B50D0B50E16 /* Pods-MattermostTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MattermostTests.debug.xcconfig"; path = "Target Support Files/Pods-MattermostTests/Pods-MattermostTests.debug.xcconfig"; sourceTree = "<group>"; };
6561AEAC21CC40B8A72ABB93 /* OpenSans-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Light.ttf"; path = "../assets/fonts/OpenSans-Light.ttf"; sourceTree = "<group>"; };
672D984729F1927E004228D6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = "<group>"; };
672D984A29F1927E004228D6 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = InfoPlist.strings; sourceTree = "<group>"; };
672D984D29F1927E004228D6 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985029F1927F004228D6 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985329F1927F004228D6 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985629F1927F004228D6 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985929F1927F004228D6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985C29F1927F004228D6 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = InfoPlist.strings; sourceTree = "<group>"; };
672D985F29F1927F004228D6 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = InfoPlist.strings; sourceTree = "<group>"; };
672D986229F1927F004228D6 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = InfoPlist.strings; sourceTree = "<group>"; };
672D986529F1927F004228D6 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = InfoPlist.strings; sourceTree = "<group>"; };
672D986829F1927F004228D6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = "<group>"; };
672D986B29F1927F004228D6 /* en_AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en_AU; path = InfoPlist.strings; sourceTree = "<group>"; };
672D986E29F1927F004228D6 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = InfoPlist.strings; sourceTree = "<group>"; };
672D987129F1927F004228D6 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = "<group>"; };
672D987429F1927F004228D6 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = InfoPlist.strings; sourceTree = "<group>"; };
672D987729F1927F004228D6 /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = InfoPlist.strings; sourceTree = "<group>"; };
672D987A29F1927F004228D6 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = "<group>"; };
672D987D29F1927F004228D6 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = InfoPlist.strings; sourceTree = "<group>"; };
672D988029F1927F004228D6 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = InfoPlist.strings; sourceTree = "<group>"; };
672D988329F1927F004228D6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = InfoPlist.strings; sourceTree = "<group>"; };
672D988629F1927F004228D6 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = InfoPlist.strings; sourceTree = "<group>"; };
6BAF8296411D4657B5A0E8F8 /* libRNReactNativeDocViewer.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNReactNativeDocViewer.a; sourceTree = "<group>"; };
7F0F4B0924BA173900E14C60 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = SplashScreenResource/LaunchScreen.storyboard; sourceTree = "<group>"; };
7F151D3D221B062700FAD8F3 /* RuntimeUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RuntimeUtils.swift; path = Mattermost/RuntimeUtils.swift; sourceTree = "<group>"; };
@ -327,6 +393,28 @@
0156F464626F49C2977D7982 /* Resources */ = {
isa = PBXGroup;
children = (
672D985129F1927F004228D6 /* ar.lproj */,
672D985D29F1927F004228D6 /* bg.lproj */,
672D984529F1927E004228D6 /* de.lproj */,
672D986929F1927F004228D6 /* en_AU.lproj */,
672D986629F1927F004228D6 /* en.lproj */,
672D987829F1927F004228D6 /* es.lproj */,
672D984B29F1927E004228D6 /* fa.lproj */,
672D986F29F1927F004228D6 /* fr.lproj */,
672D986C29F1927F004228D6 /* hu.lproj */,
672D987B29F1927F004228D6 /* it.lproj */,
672D984829F1927E004228D6 /* ja.lproj */,
672D987229F1927F004228D6 /* ko.lproj */,
672D987E29F1927F004228D6 /* nl.lproj */,
672D984E29F1927F004228D6 /* pl.lproj */,
672D988129F1927F004228D6 /* pt-BR.lproj */,
672D985A29F1927F004228D6 /* ro.lproj */,
672D985729F1927F004228D6 /* ru.lproj */,
672D985429F1927F004228D6 /* sv.lproj */,
672D986029F1927F004228D6 /* tr.lproj */,
672D988429F1927F004228D6 /* uk.lproj */,
672D987529F1927F004228D6 /* zh-CN.lproj */,
672D986329F1927F004228D6 /* zh-TW.lproj */,
531BEBC52513E93C00BC05B1 /* compass-icons.ttf */,
7F25B626270F666D00F32373 /* Metropolis-Light.ttf */,
7F25B628270F666D00F32373 /* Metropolis-Regular.ttf */,
@ -421,6 +509,204 @@
name = Frameworks;
sourceTree = "<group>";
};
672D984529F1927E004228D6 /* de.lproj */ = {
isa = PBXGroup;
children = (
672D984629F1927E004228D6 /* InfoPlist.strings */,
);
name = de.lproj;
path = Mattermost/i18n/de.lproj;
sourceTree = "<group>";
};
672D984829F1927E004228D6 /* ja.lproj */ = {
isa = PBXGroup;
children = (
672D984929F1927E004228D6 /* InfoPlist.strings */,
);
name = ja.lproj;
path = Mattermost/i18n/ja.lproj;
sourceTree = "<group>";
};
672D984B29F1927E004228D6 /* fa.lproj */ = {
isa = PBXGroup;
children = (
672D984C29F1927E004228D6 /* InfoPlist.strings */,
);
name = fa.lproj;
path = Mattermost/i18n/fa.lproj;
sourceTree = "<group>";
};
672D984E29F1927F004228D6 /* pl.lproj */ = {
isa = PBXGroup;
children = (
672D984F29F1927F004228D6 /* InfoPlist.strings */,
);
name = pl.lproj;
path = Mattermost/i18n/pl.lproj;
sourceTree = "<group>";
};
672D985129F1927F004228D6 /* ar.lproj */ = {
isa = PBXGroup;
children = (
672D985229F1927F004228D6 /* InfoPlist.strings */,
);
name = ar.lproj;
path = Mattermost/i18n/ar.lproj;
sourceTree = "<group>";
};
672D985429F1927F004228D6 /* sv.lproj */ = {
isa = PBXGroup;
children = (
672D985529F1927F004228D6 /* InfoPlist.strings */,
);
name = sv.lproj;
path = Mattermost/i18n/sv.lproj;
sourceTree = "<group>";
};
672D985729F1927F004228D6 /* ru.lproj */ = {
isa = PBXGroup;
children = (
672D985829F1927F004228D6 /* InfoPlist.strings */,
);
name = ru.lproj;
path = Mattermost/i18n/ru.lproj;
sourceTree = "<group>";
};
672D985A29F1927F004228D6 /* ro.lproj */ = {
isa = PBXGroup;
children = (
672D985B29F1927F004228D6 /* InfoPlist.strings */,
);
name = ro.lproj;
path = Mattermost/i18n/ro.lproj;
sourceTree = "<group>";
};
672D985D29F1927F004228D6 /* bg.lproj */ = {
isa = PBXGroup;
children = (
672D985E29F1927F004228D6 /* InfoPlist.strings */,
);
name = bg.lproj;
path = Mattermost/i18n/bg.lproj;
sourceTree = "<group>";
};
672D986029F1927F004228D6 /* tr.lproj */ = {
isa = PBXGroup;
children = (
672D986129F1927F004228D6 /* InfoPlist.strings */,
);
name = tr.lproj;
path = Mattermost/i18n/tr.lproj;
sourceTree = "<group>";
};
672D986329F1927F004228D6 /* zh-TW.lproj */ = {
isa = PBXGroup;
children = (
672D986429F1927F004228D6 /* InfoPlist.strings */,
);
name = "zh-TW.lproj";
path = "Mattermost/i18n/zh-TW.lproj";
sourceTree = "<group>";
};
672D986629F1927F004228D6 /* en.lproj */ = {
isa = PBXGroup;
children = (
672D986729F1927F004228D6 /* InfoPlist.strings */,
);
name = en.lproj;
path = Mattermost/i18n/en.lproj;
sourceTree = "<group>";
};
672D986929F1927F004228D6 /* en_AU.lproj */ = {
isa = PBXGroup;
children = (
672D986A29F1927F004228D6 /* InfoPlist.strings */,
);
name = en_AU.lproj;
path = Mattermost/i18n/en_AU.lproj;
sourceTree = "<group>";
};
672D986C29F1927F004228D6 /* hu.lproj */ = {
isa = PBXGroup;
children = (
672D986D29F1927F004228D6 /* InfoPlist.strings */,
);
name = hu.lproj;
path = Mattermost/i18n/hu.lproj;
sourceTree = "<group>";
};
672D986F29F1927F004228D6 /* fr.lproj */ = {
isa = PBXGroup;
children = (
672D987029F1927F004228D6 /* InfoPlist.strings */,
);
name = fr.lproj;
path = Mattermost/i18n/fr.lproj;
sourceTree = "<group>";
};
672D987229F1927F004228D6 /* ko.lproj */ = {
isa = PBXGroup;
children = (
672D987329F1927F004228D6 /* InfoPlist.strings */,
);
name = ko.lproj;
path = Mattermost/i18n/ko.lproj;
sourceTree = "<group>";
};
672D987529F1927F004228D6 /* zh-CN.lproj */ = {
isa = PBXGroup;
children = (
672D987629F1927F004228D6 /* InfoPlist.strings */,
);
name = "zh-CN.lproj";
path = "Mattermost/i18n/zh-CN.lproj";
sourceTree = "<group>";
};
672D987829F1927F004228D6 /* es.lproj */ = {
isa = PBXGroup;
children = (
672D987929F1927F004228D6 /* InfoPlist.strings */,
);
name = es.lproj;
path = Mattermost/i18n/es.lproj;
sourceTree = "<group>";
};
672D987B29F1927F004228D6 /* it.lproj */ = {
isa = PBXGroup;
children = (
672D987C29F1927F004228D6 /* InfoPlist.strings */,
);
name = it.lproj;
path = Mattermost/i18n/it.lproj;
sourceTree = "<group>";
};
672D987E29F1927F004228D6 /* nl.lproj */ = {
isa = PBXGroup;
children = (
672D987F29F1927F004228D6 /* InfoPlist.strings */,
);
name = nl.lproj;
path = Mattermost/i18n/nl.lproj;
sourceTree = "<group>";
};
672D988129F1927F004228D6 /* pt-BR.lproj */ = {
isa = PBXGroup;
children = (
672D988229F1927F004228D6 /* InfoPlist.strings */,
);
name = "pt-BR.lproj";
path = "Mattermost/i18n/pt-BR.lproj";
sourceTree = "<group>";
};
672D988429F1927F004228D6 /* uk.lproj */ = {
isa = PBXGroup;
children = (
672D988529F1927F004228D6 /* InfoPlist.strings */,
);
name = uk.lproj;
path = Mattermost/i18n/uk.lproj;
sourceTree = "<group>";
};
7F42880528664AB2006B48E1 /* Utils */ = {
isa = PBXGroup;
children = (
@ -806,6 +1092,27 @@
English,
en,
Base,
de,
ja,
fa,
pl,
ar,
sv,
ru,
ro,
bg,
tr,
"zh-TW",
en_AU,
hu,
fr,
ko,
"zh-CN",
es,
it,
nl,
"pt-BR",
uk,
);
mainGroup = 83CBB9F61A601CBA00E9B192;
packageReferences = (
@ -829,21 +1136,43 @@
buildActionMask = 2147483647;
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
672D98A329F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98A129F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989B29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989329F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98AD29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98A729F1927F004228D6 /* InfoPlist.strings in Resources */,
672D988D29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989729F1927F004228D6 /* InfoPlist.strings in Resources */,
7F0F4B0A24BA173900E14C60 /* LaunchScreen.storyboard in Resources */,
7F292A711E8AB73400A450A3 /* SplashScreenResource in Resources */,
7FB31F812710995B0032E2E5 /* Metropolis-Light.ttf in Resources */,
7FB31F822710996D0032E2E5 /* Metropolis-Regular.ttf in Resources */,
7FB31F842710996D0032E2E5 /* OpenSans-Bold.ttf in Resources */,
7FB31F852710996D0032E2E5 /* OpenSans-BoldItalic.ttf in Resources */,
672D988729F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98B129F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989129F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989D29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D988F29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F862710996D0032E2E5 /* OpenSans-ExtraBold.ttf in Resources */,
672D988B29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F872710996D0032E2E5 /* OpenSans-ExtraBoldItalic.ttf in Resources */,
672D989929F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989F29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D988929F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F882710996D0032E2E5 /* OpenSans-Italic.ttf in Resources */,
672D98AB29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F892710996D0032E2E5 /* OpenSans-Light.ttf in Resources */,
7FB31F8A2710996D0032E2E5 /* OpenSans-LightItalic.ttf in Resources */,
672D98AF29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989529F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F8B2710996D0032E2E5 /* OpenSans-Regular.ttf in Resources */,
672D98A929F1927F004228D6 /* InfoPlist.strings in Resources */,
7FB31F8E2710996D0032E2E5 /* compass-icons.ttf in Resources */,
58495E36BF1A4EAB93609E57 /* Metropolis-SemiBold.ttf in Resources */,
A94508A396424B2DB778AFE9 /* OpenSans-SemiBold.ttf in Resources */,
672D98A529F1927F004228D6 /* InfoPlist.strings in Resources */,
02860A1AC3334896837E96B7 /* OpenSans-SemiBoldItalic.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -860,20 +1189,42 @@
buildActionMask = 2147483647;
files = (
7FD4825D2864DC5800A5B18B /* Metropolis-Light.ttf in Resources */,
672D98A629F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98A429F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989E29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989629F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98B029F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98AA29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989029F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989A29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD4825E2864DC5800A5B18B /* Metropolis-Regular.ttf in Resources */,
7FD4825F2864DC5800A5B18B /* Metropolis-SemiBold.ttf in Resources */,
7FD482602864DC5800A5B18B /* OpenSans-Bold.ttf in Resources */,
7FD482612864DC5800A5B18B /* OpenSans-BoldItalic.ttf in Resources */,
672D988829F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482622864DC5800A5B18B /* OpenSans-ExtraBold.ttf in Resources */,
672D988A29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989429F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98A029F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989229F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482632864DC5900A5B18B /* OpenSans-ExtraBoldItalic.ttf in Resources */,
672D988E29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482642864DC5900A5B18B /* OpenSans-Italic.ttf in Resources */,
672D989C29F1927F004228D6 /* InfoPlist.strings in Resources */,
672D98A229F1927F004228D6 /* InfoPlist.strings in Resources */,
672D988C29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482652864DC5900A5B18B /* OpenSans-Light.ttf in Resources */,
672D98AE29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482662864DC5900A5B18B /* OpenSans-LightItalic.ttf in Resources */,
7FD482672864DC5900A5B18B /* OpenSans-Regular.ttf in Resources */,
672D98B229F1927F004228D6 /* InfoPlist.strings in Resources */,
672D989829F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482682864DC5900A5B18B /* OpenSans-SemiBold.ttf in Resources */,
672D98AC29F1927F004228D6 /* InfoPlist.strings in Resources */,
7FD482692864DC5900A5B18B /* OpenSans-SemiBoldItalic.ttf in Resources */,
7FD4825C2864DC4200A5B18B /* compass-icons.ttf in Resources */,
7FD482292864D69700A5B18B /* Assets.xcassets in Resources */,
672D98A829F1927F004228D6 /* InfoPlist.strings in Resources */,
7FC5698C28563FDB000B0905 /* MainInterface.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1107,6 +1458,182 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
672D984629F1927E004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D984729F1927E004228D6 /* de */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D984929F1927E004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D984A29F1927E004228D6 /* ja */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D984C29F1927E004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D984D29F1927E004228D6 /* fa */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D984F29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985029F1927F004228D6 /* pl */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D985229F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985329F1927F004228D6 /* ar */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D985529F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985629F1927F004228D6 /* sv */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D985829F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985929F1927F004228D6 /* ru */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D985B29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985C29F1927F004228D6 /* ro */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D985E29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D985F29F1927F004228D6 /* bg */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D986129F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D986229F1927F004228D6 /* tr */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D986429F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D986529F1927F004228D6 /* zh-TW */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D986729F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D986829F1927F004228D6 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D986A29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D986B29F1927F004228D6 /* en_AU */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D986D29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D986E29F1927F004228D6 /* hu */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987029F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D987129F1927F004228D6 /* fr */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987329F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D987429F1927F004228D6 /* ko */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987629F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D987729F1927F004228D6 /* zh-CN */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987929F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D987A29F1927F004228D6 /* es */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987C29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D987D29F1927F004228D6 /* it */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D987F29F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D988029F1927F004228D6 /* nl */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D988229F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D988329F1927F004228D6 /* pt-BR */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
672D988529F1927F004228D6 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
672D988629F1927F004228D6 /* uk */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
7FC5698A28563FDB000B0905 /* MainInterface.storyboard */ = {
isa = PBXVariantGroup;
children = (

View file

@ -58,31 +58,27 @@
</dict>
</dict>
<key>NSAppleMusicUsageDescription</key>
<string>Let $(PRODUCT_NAME) access your Media files</string>
<string>Enabling access to your media library means you can attach files from your media library to your messages in $(PRODUCT_NAME).</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Share post data across devices with $(PRODUCT_NAME)</string>
<string>Enabling access to Bluetooth means we can synchronize content across your devices and clients.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Share post data across devices with $(PRODUCT_NAME)</string>
<key>NSCalendarsUsageDescription</key>
<string>Share contacts within $(PRODUCT_NAME)</string>
<string>Enabling access to Bluetooth means we can connect to audio peripherals for calls, and synchronize content across your devices and clients.</string>
<key>NSCameraUsageDescription</key>
<string>Take a photo or video and upload it to $(PRODUCT_NAME)</string>
<string>Enabling access to your device cameras means you can take photos or videos and upload them to $(PRODUCT_NAME).</string>
<key>NSFaceIDUsageDescription</key>
<string>$(PRODUCT_NAME) uses Face ID to restrict unauthorized users from accessing the app.</string>
<string>Enabling access to your Face ID means we can restrict unauthorized users from accessing $(PRODUCT_NAME) on your device.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Send your current location to $(PRODUCT_NAME)</string>
<string>Enabling access to your location data means we can add location metadata to pictures and videos you share in $(PRODUCT_NAME).</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Send your current location to $(PRODUCT_NAME)</string>
<string>Enabling access to your location data means we can add location metadata to pictures and videos you share in $(PRODUCT_NAME).</string>
<key>NSMicrophoneUsageDescription</key>
<string>Capture audio when making a call or recording a video to share within $(PRODUCT_NAME)</string>
<key>NSMotionUsageDescription</key>
<string>Share your route in your $(PRODUCT_NAME) workspace</string>
<string>Enabling access to your device's microphones means you can capture audio for calls or videos to share in $(PRODUCT_NAME).</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Save downloaded photos and videos from $(PRODUCT_NAME) to your device</string>
<string>Enabling write access to your photo library means you can save downloaded photos and videos from $(PRODUCT_NAME) to your device.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Upload photos and videos from your device to $(PRODUCT_NAME)</string>
<string>Enabling read access to your photo library means you can upload photos and videos from your device to $(PRODUCT_NAME).</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>Send voice messages to $(PRODUCT_NAME)</string>
<string>Enabling your device to send user data to Apple means you can send voice messages to $(PRODUCT_NAME).</string>
<key>NSUserActivityTypes</key>
<array>
<string>INSendMessageIntent</string>