diff --git a/app/constants/permissions.ts b/app/constants/permissions.ts index b568d9f82..a6649010f 100644 --- a/app/constants/permissions.ts +++ b/app/constants/permissions.ts @@ -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', diff --git a/assets/base/i18n/en.json b/assets/base/i18n/en.json index f78528d98..d98414a6c 100644 --- a/assets/base/i18n/en.json +++ b/assets/base/i18n/en.json @@ -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", diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0886ce4bd..1499d4685 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -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| diff --git a/ios/Mattermost.xcodeproj/project.pbxproj b/ios/Mattermost.xcodeproj/project.pbxproj index 64c1a49ae..ec2616963 100644 --- a/ios/Mattermost.xcodeproj/project.pbxproj +++ b/ios/Mattermost.xcodeproj/project.pbxproj @@ -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 = ""; }; 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 = ""; }; 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 = ""; }; + 672D984729F1927E004228D6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; + 672D984A29F1927E004228D6 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = InfoPlist.strings; sourceTree = ""; }; + 672D984D29F1927E004228D6 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = InfoPlist.strings; sourceTree = ""; }; + 672D985029F1927F004228D6 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = InfoPlist.strings; sourceTree = ""; }; + 672D985329F1927F004228D6 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = InfoPlist.strings; sourceTree = ""; }; + 672D985629F1927F004228D6 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = InfoPlist.strings; sourceTree = ""; }; + 672D985929F1927F004228D6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = InfoPlist.strings; sourceTree = ""; }; + 672D985C29F1927F004228D6 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = InfoPlist.strings; sourceTree = ""; }; + 672D985F29F1927F004228D6 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = InfoPlist.strings; sourceTree = ""; }; + 672D986229F1927F004228D6 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = InfoPlist.strings; sourceTree = ""; }; + 672D986529F1927F004228D6 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = InfoPlist.strings; sourceTree = ""; }; + 672D986829F1927F004228D6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; + 672D986B29F1927F004228D6 /* en_AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en_AU; path = InfoPlist.strings; sourceTree = ""; }; + 672D986E29F1927F004228D6 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = InfoPlist.strings; sourceTree = ""; }; + 672D987129F1927F004228D6 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; + 672D987429F1927F004228D6 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = InfoPlist.strings; sourceTree = ""; }; + 672D987729F1927F004228D6 /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = InfoPlist.strings; sourceTree = ""; }; + 672D987A29F1927F004228D6 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; + 672D987D29F1927F004228D6 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = InfoPlist.strings; sourceTree = ""; }; + 672D988029F1927F004228D6 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = InfoPlist.strings; sourceTree = ""; }; + 672D988329F1927F004228D6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = InfoPlist.strings; sourceTree = ""; }; + 672D988629F1927F004228D6 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = InfoPlist.strings; sourceTree = ""; }; 6BAF8296411D4657B5A0E8F8 /* libRNReactNativeDocViewer.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNReactNativeDocViewer.a; sourceTree = ""; }; 7F0F4B0924BA173900E14C60 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = SplashScreenResource/LaunchScreen.storyboard; sourceTree = ""; }; 7F151D3D221B062700FAD8F3 /* RuntimeUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RuntimeUtils.swift; path = Mattermost/RuntimeUtils.swift; sourceTree = ""; }; @@ -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 = ""; }; + 672D984529F1927E004228D6 /* de.lproj */ = { + isa = PBXGroup; + children = ( + 672D984629F1927E004228D6 /* InfoPlist.strings */, + ); + name = de.lproj; + path = Mattermost/i18n/de.lproj; + sourceTree = ""; + }; + 672D984829F1927E004228D6 /* ja.lproj */ = { + isa = PBXGroup; + children = ( + 672D984929F1927E004228D6 /* InfoPlist.strings */, + ); + name = ja.lproj; + path = Mattermost/i18n/ja.lproj; + sourceTree = ""; + }; + 672D984B29F1927E004228D6 /* fa.lproj */ = { + isa = PBXGroup; + children = ( + 672D984C29F1927E004228D6 /* InfoPlist.strings */, + ); + name = fa.lproj; + path = Mattermost/i18n/fa.lproj; + sourceTree = ""; + }; + 672D984E29F1927F004228D6 /* pl.lproj */ = { + isa = PBXGroup; + children = ( + 672D984F29F1927F004228D6 /* InfoPlist.strings */, + ); + name = pl.lproj; + path = Mattermost/i18n/pl.lproj; + sourceTree = ""; + }; + 672D985129F1927F004228D6 /* ar.lproj */ = { + isa = PBXGroup; + children = ( + 672D985229F1927F004228D6 /* InfoPlist.strings */, + ); + name = ar.lproj; + path = Mattermost/i18n/ar.lproj; + sourceTree = ""; + }; + 672D985429F1927F004228D6 /* sv.lproj */ = { + isa = PBXGroup; + children = ( + 672D985529F1927F004228D6 /* InfoPlist.strings */, + ); + name = sv.lproj; + path = Mattermost/i18n/sv.lproj; + sourceTree = ""; + }; + 672D985729F1927F004228D6 /* ru.lproj */ = { + isa = PBXGroup; + children = ( + 672D985829F1927F004228D6 /* InfoPlist.strings */, + ); + name = ru.lproj; + path = Mattermost/i18n/ru.lproj; + sourceTree = ""; + }; + 672D985A29F1927F004228D6 /* ro.lproj */ = { + isa = PBXGroup; + children = ( + 672D985B29F1927F004228D6 /* InfoPlist.strings */, + ); + name = ro.lproj; + path = Mattermost/i18n/ro.lproj; + sourceTree = ""; + }; + 672D985D29F1927F004228D6 /* bg.lproj */ = { + isa = PBXGroup; + children = ( + 672D985E29F1927F004228D6 /* InfoPlist.strings */, + ); + name = bg.lproj; + path = Mattermost/i18n/bg.lproj; + sourceTree = ""; + }; + 672D986029F1927F004228D6 /* tr.lproj */ = { + isa = PBXGroup; + children = ( + 672D986129F1927F004228D6 /* InfoPlist.strings */, + ); + name = tr.lproj; + path = Mattermost/i18n/tr.lproj; + sourceTree = ""; + }; + 672D986329F1927F004228D6 /* zh-TW.lproj */ = { + isa = PBXGroup; + children = ( + 672D986429F1927F004228D6 /* InfoPlist.strings */, + ); + name = "zh-TW.lproj"; + path = "Mattermost/i18n/zh-TW.lproj"; + sourceTree = ""; + }; + 672D986629F1927F004228D6 /* en.lproj */ = { + isa = PBXGroup; + children = ( + 672D986729F1927F004228D6 /* InfoPlist.strings */, + ); + name = en.lproj; + path = Mattermost/i18n/en.lproj; + sourceTree = ""; + }; + 672D986929F1927F004228D6 /* en_AU.lproj */ = { + isa = PBXGroup; + children = ( + 672D986A29F1927F004228D6 /* InfoPlist.strings */, + ); + name = en_AU.lproj; + path = Mattermost/i18n/en_AU.lproj; + sourceTree = ""; + }; + 672D986C29F1927F004228D6 /* hu.lproj */ = { + isa = PBXGroup; + children = ( + 672D986D29F1927F004228D6 /* InfoPlist.strings */, + ); + name = hu.lproj; + path = Mattermost/i18n/hu.lproj; + sourceTree = ""; + }; + 672D986F29F1927F004228D6 /* fr.lproj */ = { + isa = PBXGroup; + children = ( + 672D987029F1927F004228D6 /* InfoPlist.strings */, + ); + name = fr.lproj; + path = Mattermost/i18n/fr.lproj; + sourceTree = ""; + }; + 672D987229F1927F004228D6 /* ko.lproj */ = { + isa = PBXGroup; + children = ( + 672D987329F1927F004228D6 /* InfoPlist.strings */, + ); + name = ko.lproj; + path = Mattermost/i18n/ko.lproj; + sourceTree = ""; + }; + 672D987529F1927F004228D6 /* zh-CN.lproj */ = { + isa = PBXGroup; + children = ( + 672D987629F1927F004228D6 /* InfoPlist.strings */, + ); + name = "zh-CN.lproj"; + path = "Mattermost/i18n/zh-CN.lproj"; + sourceTree = ""; + }; + 672D987829F1927F004228D6 /* es.lproj */ = { + isa = PBXGroup; + children = ( + 672D987929F1927F004228D6 /* InfoPlist.strings */, + ); + name = es.lproj; + path = Mattermost/i18n/es.lproj; + sourceTree = ""; + }; + 672D987B29F1927F004228D6 /* it.lproj */ = { + isa = PBXGroup; + children = ( + 672D987C29F1927F004228D6 /* InfoPlist.strings */, + ); + name = it.lproj; + path = Mattermost/i18n/it.lproj; + sourceTree = ""; + }; + 672D987E29F1927F004228D6 /* nl.lproj */ = { + isa = PBXGroup; + children = ( + 672D987F29F1927F004228D6 /* InfoPlist.strings */, + ); + name = nl.lproj; + path = Mattermost/i18n/nl.lproj; + sourceTree = ""; + }; + 672D988129F1927F004228D6 /* pt-BR.lproj */ = { + isa = PBXGroup; + children = ( + 672D988229F1927F004228D6 /* InfoPlist.strings */, + ); + name = "pt-BR.lproj"; + path = "Mattermost/i18n/pt-BR.lproj"; + sourceTree = ""; + }; + 672D988429F1927F004228D6 /* uk.lproj */ = { + isa = PBXGroup; + children = ( + 672D988529F1927F004228D6 /* InfoPlist.strings */, + ); + name = uk.lproj; + path = Mattermost/i18n/uk.lproj; + sourceTree = ""; + }; 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 = ""; + }; + 672D984929F1927E004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D984A29F1927E004228D6 /* ja */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D984C29F1927E004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D984D29F1927E004228D6 /* fa */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D984F29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985029F1927F004228D6 /* pl */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D985229F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985329F1927F004228D6 /* ar */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D985529F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985629F1927F004228D6 /* sv */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D985829F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985929F1927F004228D6 /* ru */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D985B29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985C29F1927F004228D6 /* ro */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D985E29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D985F29F1927F004228D6 /* bg */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D986129F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D986229F1927F004228D6 /* tr */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D986429F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D986529F1927F004228D6 /* zh-TW */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D986729F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D986829F1927F004228D6 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D986A29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D986B29F1927F004228D6 /* en_AU */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D986D29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D986E29F1927F004228D6 /* hu */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987029F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D987129F1927F004228D6 /* fr */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987329F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D987429F1927F004228D6 /* ko */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987629F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D987729F1927F004228D6 /* zh-CN */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987929F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D987A29F1927F004228D6 /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987C29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D987D29F1927F004228D6 /* it */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D987F29F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D988029F1927F004228D6 /* nl */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D988229F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D988329F1927F004228D6 /* pt-BR */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 672D988529F1927F004228D6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 672D988629F1927F004228D6 /* uk */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; 7FC5698A28563FDB000B0905 /* MainInterface.storyboard */ = { isa = PBXVariantGroup; children = ( diff --git a/ios/Mattermost/Info.plist b/ios/Mattermost/Info.plist index 4a9d9d073..a8a7be7b7 100644 --- a/ios/Mattermost/Info.plist +++ b/ios/Mattermost/Info.plist @@ -58,31 +58,27 @@ NSAppleMusicUsageDescription - Let $(PRODUCT_NAME) access your Media files + Enabling access to your media library means you can attach files from your media library to your messages in $(PRODUCT_NAME). NSBluetoothAlwaysUsageDescription - Share post data across devices with $(PRODUCT_NAME) + Enabling access to Bluetooth means we can synchronize content across your devices and clients. NSBluetoothPeripheralUsageDescription - Share post data across devices with $(PRODUCT_NAME) - NSCalendarsUsageDescription - Share contacts within $(PRODUCT_NAME) + Enabling access to Bluetooth means we can connect to audio peripherals for calls, and synchronize content across your devices and clients. NSCameraUsageDescription - Take a photo or video and upload it to $(PRODUCT_NAME) + Enabling access to your device cameras means you can take photos or videos and upload them to $(PRODUCT_NAME). NSFaceIDUsageDescription - $(PRODUCT_NAME) uses Face ID to restrict unauthorized users from accessing the app. + Enabling access to your Face ID means we can restrict unauthorized users from accessing $(PRODUCT_NAME) on your device. NSLocationAlwaysUsageDescription - Send your current location to $(PRODUCT_NAME) + Enabling access to your location data means we can add location metadata to pictures and videos you share in $(PRODUCT_NAME). NSLocationWhenInUseUsageDescription - Send your current location to $(PRODUCT_NAME) + Enabling access to your location data means we can add location metadata to pictures and videos you share in $(PRODUCT_NAME). NSMicrophoneUsageDescription - Capture audio when making a call or recording a video to share within $(PRODUCT_NAME) - NSMotionUsageDescription - Share your route in your $(PRODUCT_NAME) workspace + Enabling access to your device's microphones means you can capture audio for calls or videos to share in $(PRODUCT_NAME). NSPhotoLibraryAddUsageDescription - Save downloaded photos and videos from $(PRODUCT_NAME) to your device + Enabling write access to your photo library means you can save downloaded photos and videos from $(PRODUCT_NAME) to your device. NSPhotoLibraryUsageDescription - Upload photos and videos from your device to $(PRODUCT_NAME) + Enabling read access to your photo library means you can upload photos and videos from your device to $(PRODUCT_NAME). NSSpeechRecognitionUsageDescription - Send voice messages to $(PRODUCT_NAME) + Enabling your device to send user data to Apple means you can send voice messages to $(PRODUCT_NAME). NSUserActivityTypes INSendMessageIntent diff --git a/ios/Mattermost/i18n/ar.lproj/InfoPlist.strings b/ios/Mattermost/i18n/ar.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/bg.lproj/InfoPlist.strings b/ios/Mattermost/i18n/bg.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/de.lproj/InfoPlist.strings b/ios/Mattermost/i18n/de.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/en.lproj/InfoPlist.strings b/ios/Mattermost/i18n/en.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/en_AU.lproj/InfoPlist.strings b/ios/Mattermost/i18n/en_AU.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/es.lproj/InfoPlist.strings b/ios/Mattermost/i18n/es.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/fa.lproj/InfoPlist.strings b/ios/Mattermost/i18n/fa.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/fr.lproj/InfoPlist.strings b/ios/Mattermost/i18n/fr.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/hu.lproj/InfoPlist.strings b/ios/Mattermost/i18n/hu.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/it.lproj/InfoPlist.strings b/ios/Mattermost/i18n/it.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/ja.lproj/InfoPlist.strings b/ios/Mattermost/i18n/ja.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/ko.lproj/InfoPlist.strings b/ios/Mattermost/i18n/ko.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/nl.lproj/InfoPlist.strings b/ios/Mattermost/i18n/nl.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/pl.lproj/InfoPlist.strings b/ios/Mattermost/i18n/pl.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/pt-BR.lproj/InfoPlist.strings b/ios/Mattermost/i18n/pt-BR.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/ro.lproj/InfoPlist.strings b/ios/Mattermost/i18n/ro.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/ru.lproj/InfoPlist.strings b/ios/Mattermost/i18n/ru.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/sv.lproj/InfoPlist.strings b/ios/Mattermost/i18n/sv.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/tr.lproj/InfoPlist.strings b/ios/Mattermost/i18n/tr.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/uk.lproj/InfoPlist.strings b/ios/Mattermost/i18n/uk.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/zh-CN.lproj/InfoPlist.strings b/ios/Mattermost/i18n/zh-CN.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb diff --git a/ios/Mattermost/i18n/zh-TW.lproj/InfoPlist.strings b/ios/Mattermost/i18n/zh-TW.lproj/InfoPlist.strings new file mode 100644 index 000000000..e69de29bb