mirror of
https://github.com/ProtonDriveApps/mac-drive.git
synced 2026-05-15 09:50:33 +00:00
667 lines
33 KiB
Swift
667 lines
33 KiB
Swift
// Copyright (c) 2024 Proton AG
|
||
//
|
||
// This file is part of Proton Drive.
|
||
//
|
||
// Proton Drive is free software: you can redistribute it and/or modify
|
||
// it under the terms of the GNU General Public License as published by
|
||
// the Free Software Foundation, either version 3 of the License, or
|
||
// (at your option) any later version.
|
||
//
|
||
// Proton Drive is distributed in the hope that it will be useful,
|
||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
// GNU General Public License for more details.
|
||
//
|
||
// You should have received a copy of the GNU General Public License
|
||
// along with Proton Drive. If not, see https://www.gnu.org/licenses/.
|
||
|
||
#if os(macOS)
|
||
|
||
import Foundation
|
||
|
||
// The list comes from `PDLocalization/Resources/Localizable.xcstrings`
|
||
// We enable languages that have been translated for over 95%.
|
||
enum SupportedLanguage: String, CaseIterable {
|
||
case english = "en"
|
||
// case belarusian = "be"
|
||
// case catalan = "ca"
|
||
// case czech = "cs"
|
||
// case danish = "da"
|
||
// case dutch = "nl"
|
||
// case finnish = "fi"
|
||
// case french = "fr"
|
||
// case georgian = "ka"
|
||
// case german = "de"
|
||
// case greek = "el"
|
||
// case indonesian = "id"
|
||
// case italian = "it"
|
||
// case japanese = "ja"
|
||
// case korean = "ko"
|
||
// case norwegianBokmål = "nb"
|
||
// case polish = "pl"
|
||
// case portuguese = "pt"
|
||
// case romanian = "ro"
|
||
// case russian = "ru"
|
||
// case slovak = "sk"
|
||
// case spanish = "es"
|
||
// case spanishLatinAmerican = "es-419"
|
||
// case swedish = "sv"
|
||
// case turkish = "tr"
|
||
// case ukrainian = "uk"
|
||
}
|
||
|
||
public class Localization {
|
||
public static var isUITest = false
|
||
private static let defaultLanguage = "en"
|
||
private static let availableLanguages = SupportedLanguage.allCases.map { $0.rawValue }
|
||
private static let preferredLanguages: [String] = {
|
||
let preferredLanguages = Locale.preferredLanguages.map { languageCode in
|
||
let component = Locale.Components(identifier: languageCode)
|
||
guard let identifier = component.languageComponents.languageCode?.identifier else {
|
||
return languageCode
|
||
}
|
||
if let script = component.languageComponents.script?.identifier {
|
||
return identifier + "-" + script
|
||
} else {
|
||
return identifier
|
||
}
|
||
}
|
||
|
||
return preferredLanguages
|
||
}()
|
||
|
||
private static let bundle: Bundle = {
|
||
/* Until the reason of the localization bug is reproduced, allow only English in the app.
|
||
let main: Bundle = .module
|
||
for language in preferredLanguages {
|
||
guard
|
||
availableLanguages.contains(language),
|
||
let path = main.path(forResource: language, ofType: "lproj"),
|
||
let bundle = Bundle(path: path)
|
||
else { continue }
|
||
return bundle
|
||
}
|
||
*/
|
||
return enBundle
|
||
}()
|
||
|
||
private static let enBundle: Bundle = {
|
||
let main: Bundle = .module
|
||
guard
|
||
let path = main.path(forResource: defaultLanguage, ofType: "lproj"),
|
||
let bundle = Bundle(path: path)
|
||
else { return main }
|
||
return bundle
|
||
}()
|
||
|
||
static func localized(key: String, table: String) -> String {
|
||
let str = String(localized: .init(key), table: table, bundle: bundle)
|
||
if str == key {
|
||
return String(localized: .init(key), table: table, bundle: enBundle)
|
||
} else {
|
||
return str
|
||
}
|
||
}
|
||
/// "Shown directly after resuming, while FileProvider is determining whether there are changes to sync."
|
||
/// "Looking for files to sync…"
|
||
public static var enumerating_after_resuming: String { localized(key: "enumerating_after_resuming", table: "Mac-Localizable") }
|
||
|
||
/// "%d items processed"
|
||
public static func full_resync_progress(itemsProcessed: Int) -> String { String(format: localized(key: "full_resync_progress", table: "Mac-Localizable"), itemsProcessed) }
|
||
|
||
/// "Shown in Settings view"
|
||
/// "Full resync"
|
||
public static var full_resync_state_description: String { localized(key: "full_resync_state_description", table: "Mac-Localizable") }
|
||
|
||
/// "Shown in tray app"
|
||
/// "Get more storage"
|
||
public static var general_get_more_storage: String { localized(key: "general_get_more_storage", table: "Mac-Localizable") }
|
||
|
||
/// "Button to quit application"
|
||
/// "Quit"
|
||
public static var general_quit: String { localized(key: "general_quit", table: "Mac-Localizable") }
|
||
|
||
/// "Launching... (%d%%)"
|
||
public static func menu_launching_percentage(launchCompletion: Int) -> String { String(format: localized(key: "menu_launching_percentage", table: "Mac-Localizable"), launchCompletion) }
|
||
|
||
/// "Label text when mac is offline"
|
||
/// "Offline"
|
||
public static var menu_offline: String { localized(key: "menu_offline", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when performing full resync"
|
||
/// "Performing full resync..."
|
||
public static var menu_status_full_resync: String { localized(key: "menu_status_full_resync", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when mac is offline"
|
||
/// "You are offline"
|
||
public static var menu_status_offline: String { localized(key: "menu_status_offline", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when user is signed out "
|
||
/// "Signed out"
|
||
public static var menu_status_signed_out: String { localized(key: "menu_status_signed_out", table: "Mac-Localizable") }
|
||
|
||
/// "how many items have been numerated so far"
|
||
/// "Listing changes... (%d items)"
|
||
public static func menu_status_sync_enumerating(itemsEnumerated: Int) -> String { String(format: localized(key: "menu_status_sync_enumerating", table: "Mac-Localizable"), itemsEnumerated) }
|
||
|
||
/// "how many items failed to sync"
|
||
/// "%d item failed to sync"
|
||
public static func menu_status_sync_items_failed(errorCount: Int) -> String { String(format: localized(key: "menu_status_sync_items_failed", table: "Mac-Localizable"), errorCount) }
|
||
|
||
/// "Label text when initializing sync"
|
||
/// "Initializing sync..."
|
||
public static var menu_status_sync_launching: String { localized(key: "menu_status_sync_launching", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when sync paused "
|
||
/// "Sync paused"
|
||
public static var menu_status_sync_paused: String { localized(key: "menu_status_sync_paused", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when synced"
|
||
/// "Your files are up to date"
|
||
public static var menu_status_synced: String { localized(key: "menu_status_synced", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when syncing "
|
||
/// "Syncing..."
|
||
public static var menu_status_syncing: String { localized(key: "menu_status_syncing", table: "Mac-Localizable") }
|
||
|
||
/// "Label text when new version of app is available"
|
||
/// "Update available"
|
||
public static var menu_status_update_available: String { localized(key: "menu_status_update_available", table: "Mac-Localizable") }
|
||
|
||
/// "Sign out"
|
||
public static var menu_text_logout: String { localized(key: "menu_text_logout", table: "Mac-Localizable") }
|
||
|
||
/// "Button to expand text view for error deteail"
|
||
/// "Details"
|
||
public static var notification_details: String { localized(key: "notification_details", table: "Mac-Localizable") }
|
||
|
||
/// "Error text"
|
||
/// "There is %d issue"
|
||
public static func notification_issues(num: Int) -> String { String(format: localized(key: "notification_issues", table: "Mac-Localizable"), num) }
|
||
|
||
/// "Button to restart application"
|
||
/// "Update available — click to restart and install."
|
||
public static var notification_update_available: String { localized(key: "notification_update_available", table: "Mac-Localizable") }
|
||
|
||
/// "Message shown in the mac onboarding view"
|
||
/// "Open your folder and click Enable to finish setting up Proton Drive on your Mac."
|
||
public static var onboarding_desc: String { localized(key: "onboarding_desc", table: "Mac-Localizable") }
|
||
|
||
/// "Button title shown on the mac onboarding view"
|
||
/// "Open your Proton Drive folder"
|
||
public static var onboarding_start_button: String { localized(key: "onboarding_start_button", table: "Mac-Localizable") }
|
||
|
||
/// "Title shown in the mac onboarding view"
|
||
/// "You’re nearly there!"
|
||
public static var onboarding_title: String { localized(key: "onboarding_title", table: "Mac-Localizable") }
|
||
|
||
/// "Account setting section title"
|
||
/// "Account"
|
||
public static var setting_account: String { localized(key: "setting_account", table: "Mac-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Manage account"
|
||
public static var setting_account_manage_account: String { localized(key: "setting_account_manage_account", table: "Mac-Localizable") }
|
||
|
||
/// "Fix syncing issues section title"
|
||
/// "Fix syncing issues"
|
||
public static var setting_fix_syncing_issues: String { localized(key: "setting_fix_syncing_issues", table: "Mac-Localizable") }
|
||
|
||
/// "Get help section title"
|
||
/// "Get help"
|
||
public static var setting_get_help: String { localized(key: "setting_get_help", table: "Mac-Localizable") }
|
||
|
||
/// "This is markdown text\nPlease move [support website](%@) together"
|
||
/// "You will find additional help on our [support website](%@)"
|
||
public static func setting_help_additional_help(link: String) -> String { String(format: localized(key: "setting_help_additional_help", table: "Mac-Localizable"), link) }
|
||
|
||
/// "Label text to encourage user report issue"
|
||
/// "If you are facing any problems, please report the issue."
|
||
public static var setting_help_report_encourage_text: String { localized(key: "setting_help_report_encourage_text", table: "Mac-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Report an issue"
|
||
public static var setting_help_report_issue: String { localized(key: "setting_help_report_issue", table: "Mac-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Show logs"
|
||
public static var setting_help_show_logs: String { localized(key: "setting_help_show_logs", table: "Mac-Localizable") }
|
||
|
||
/// "Version %@"
|
||
public static func setting_mac_version(version: String) -> String { String(format: localized(key: "setting_mac_version", table: "Mac-Localizable"), version) }
|
||
|
||
/// "Storage setting section title"
|
||
/// "Storage"
|
||
public static var setting_storage: String { localized(key: "setting_storage", table: "Mac-Localizable") }
|
||
|
||
/// "Out of storage"
|
||
public static var setting_storage_out_of_storage: String { localized(key: "setting_storage_out_of_storage", table: "Mac-Localizable") }
|
||
|
||
/// "Syncing has been paused. Please upgrade or free up space to resume syncing."
|
||
public static var setting_storage_out_of_storage_warning: String { localized(key: "setting_storage_out_of_storage_warning", table: "Mac-Localizable") }
|
||
|
||
/// "Using \\(currentStorage) of \\(maxStorage)"
|
||
/// "Using %@ of %@"
|
||
public static func setting_storage_usage_info(currentStorage: String, maxStorage: String) -> String { String(format: localized(key: "setting_storage_usage_info", table: "Mac-Localizable"), currentStorage, maxStorage) }
|
||
|
||
/// "System setting section title"
|
||
/// "System"
|
||
public static var setting_system: String { localized(key: "setting_system", table: "Mac-Localizable") }
|
||
|
||
/// "Information text"
|
||
/// "Checking for update ..."
|
||
public static var setting_system_checking_update: String { localized(key: "setting_system_checking_update", table: "Mac-Localizable") }
|
||
|
||
/// "Information text"
|
||
/// "Downloading new version ..."
|
||
public static var setting_system_downloading: String { localized(key: "setting_system_downloading", table: "Mac-Localizable") }
|
||
|
||
/// "Toggle title"
|
||
/// "Launch on startup"
|
||
public static var setting_system_launch_on_startup: String { localized(key: "setting_system_launch_on_startup", table: "Mac-Localizable") }
|
||
|
||
/// "Information text"
|
||
/// "New version available"
|
||
public static var setting_system_new_version_available: String { localized(key: "setting_system_new_version_available", table: "Mac-Localizable") }
|
||
|
||
/// "Information text"
|
||
/// "Proton Drive is up to date: v%@"
|
||
public static func setting_system_up_to_date(version: String) -> String { String(format: localized(key: "setting_system_up_to_date", table: "Mac-Localizable"), version) }
|
||
|
||
/// "Button title"
|
||
/// "Update now"
|
||
public static var setting_system_update_button: String { localized(key: "setting_system_update_button", table: "Mac-Localizable") }
|
||
|
||
/// "Terms and Conditions"
|
||
public static var setting_terms_and_condition: String { localized(key: "setting_terms_and_condition", table: "Mac-Localizable") }
|
||
|
||
/// "Version %@"
|
||
public static func setting_version(version: String) -> String { String(format: localized(key: "setting_version", table: "Mac-Localizable"), version) }
|
||
|
||
/// "Button title to pause sync"
|
||
/// "Pause Syncing"
|
||
public static var sync_pause: String { localized(key: "sync_pause", table: "Mac-Localizable") }
|
||
|
||
/// "Button title to resume sync"
|
||
/// "Resume Syncing"
|
||
public static var sync_resume: String { localized(key: "sync_resume", table: "Mac-Localizable") }
|
||
|
||
/// "Create a new album to add photos"
|
||
/// "Add to new album"
|
||
public static var action_add_to_new_album: String { localized(key: "action_add_to_new_album", table: "shared-Localizable") }
|
||
|
||
/// "action title to delete album"
|
||
/// "Delete album"
|
||
public static var action_delete_album: String { localized(key: "action_delete_album", table: "shared-Localizable") }
|
||
|
||
/// "action title to delete album"
|
||
/// "Delete without saving"
|
||
public static var action_delete_without_saving: String { localized(key: "action_delete_without_saving", table: "shared-Localizable") }
|
||
|
||
/// "Action title to leave album shared to me "
|
||
/// "Leave album"
|
||
public static var action_leave_album: String { localized(key: "action_leave_album", table: "shared-Localizable") }
|
||
|
||
/// "Create a new shared album to share photos"
|
||
/// "New shared album"
|
||
public static var action_new_shared_album: String { localized(key: "action_new_shared_album", table: "shared-Localizable") }
|
||
|
||
/// "Button title to remove selected photos from the album"
|
||
/// "Remove from album"
|
||
public static var action_remove_photos: String { localized(key: "action_remove_photos", table: "shared-Localizable") }
|
||
|
||
/// "Button title to rename album"
|
||
/// "Rename album"
|
||
public static var action_rename_album: String { localized(key: "action_rename_album", table: "shared-Localizable") }
|
||
|
||
/// "action title to save photos and delete album"
|
||
/// "Save photos and remove"
|
||
public static var action_save_and_remove: String { localized(key: "action_save_and_remove", table: "shared-Localizable") }
|
||
|
||
/// "Share photos via link"
|
||
/// "Send link"
|
||
public static var action_send_link: String { localized(key: "action_send_link", table: "shared-Localizable") }
|
||
|
||
/// "Set the selected photo as album cover"
|
||
/// "Set as album cover"
|
||
public static var action_set_as_album_cover: String { localized(key: "action_set_as_album_cover", table: "shared-Localizable") }
|
||
|
||
/// "Action title to sort items"
|
||
/// "Sort"
|
||
public static var action_sort: String { localized(key: "action_sort", table: "shared-Localizable") }
|
||
|
||
/// "Message shown to user when edit album success"
|
||
/// "Edits saved"
|
||
public static var album_edit_saved: String { localized(key: "album_edit_saved", table: "shared-Localizable") }
|
||
|
||
/// "Warning message when the user tries to delete selected photos from the album\nPLEASE keep `, %d` in the end, this is to fix plural limitation"
|
||
/// "What would you like to do with this item?,%d"
|
||
public static func album_photo_remove_warning(num: Int) -> String { String(format: localized(key: "album_photo_remove_warning", table: "shared-Localizable"), num) }
|
||
|
||
/// "Are you sure you want to remove the selected item(s) from your album?"
|
||
public static var album_photo_remove_warning_admin: String { localized(key: "album_photo_remove_warning_admin", table: "shared-Localizable") }
|
||
|
||
/// "Remove"
|
||
public static var album_photo_remove_warning_admin_confirmation: String { localized(key: "album_photo_remove_warning_admin_confirmation", table: "shared-Localizable") }
|
||
|
||
/// "Warning message when the user tries to delete selected photos from the album\nPLEASE keep `, %d` in the end, this is to fix plural limitation"
|
||
/// "You’ll lose access to this photo. If you haven’t already, save it to your photo timeline before removing it from the album."
|
||
public static func album_photo_remove_warning_editor(num: Int) -> String { String(format: localized(key: "album_photo_remove_warning_editor", table: "shared-Localizable"), num) }
|
||
|
||
/// "Continue"
|
||
public static var album_photo_remove_warning_editor_continue: String { localized(key: "album_photo_remove_warning_editor_continue", table: "shared-Localizable") }
|
||
|
||
/// "Textfield placeholder"
|
||
/// "Album name"
|
||
public static var create_album_placeholder: String { localized(key: "create_album_placeholder", table: "shared-Localizable") }
|
||
|
||
/// "Alert message to delete album"
|
||
/// "Are you sure you want to delete the album “%@”? The photos will not be deleted."
|
||
public static func delete_album_alert_message(name: String) -> String { String(format: localized(key: "delete_album_alert_message", table: "shared-Localizable"), name) }
|
||
|
||
/// "Alert title to delete album"
|
||
/// "Delete “%@”"
|
||
public static func delete_album_alert_title(name: String) -> String { String(format: localized(key: "delete_album_alert_title", table: "shared-Localizable"), name) }
|
||
|
||
/// "Warning text before deleting album that contains photos don\'t in the photo stream"
|
||
/// "Some photos in this album are not saved to your timeline. Deleting this album will permanently delete those photos.\n\nWould you like to save them before removing?"
|
||
public static var delete_album_and_move_alert_message: String { localized(key: "delete_album_and_move_alert_message", table: "shared-Localizable") }
|
||
|
||
/// "Shown in tray app"
|
||
/// "Detecting remote changes"
|
||
public static var detecting_remote_changes: String { localized(key: "detecting_remote_changes", table: "shared-Localizable") }
|
||
|
||
/// "Button to move item to trash"
|
||
/// "Move to trash"
|
||
public static var edit_section_remove: String { localized(key: "edit_section_remove", table: "shared-Localizable") }
|
||
|
||
/// "Concat with other string, e.g. Restore 4 files, Delete 1 file"
|
||
/// "%d File"
|
||
public static func file_plural_type_with_num(num: Int) -> String { String(format: localized(key: "file_plural_type_with_num", table: "shared-Localizable"), num) }
|
||
|
||
/// "Concat with other string, e.g. Restore 4 folders, Delete 1 folder"
|
||
/// "%d Folder"
|
||
public static func folder_plural_type_with_num(num: Int) -> String { String(format: localized(key: "folder_plural_type_with_num", table: "shared-Localizable"), num) }
|
||
|
||
/// "Gallery title to display the album gallery"
|
||
/// "Albums"
|
||
public static var gallery_title_albums: String { localized(key: "gallery_title_albums", table: "shared-Localizable") }
|
||
|
||
/// "Gallery title to display the photo gallery"
|
||
/// "Photos"
|
||
public static var gallery_title_photos: String { localized(key: "gallery_title_photos", table: "shared-Localizable") }
|
||
|
||
/// "Button to add photo...etc"
|
||
/// "Add"
|
||
public static var general_add: String { localized(key: "general_add", table: "shared-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Cancel"
|
||
public static var general_cancel: String { localized(key: "general_cancel", table: "shared-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Delete"
|
||
public static var general_delete: String { localized(key: "general_delete", table: "shared-Localizable") }
|
||
|
||
/// "Button to dismiss page, banner..etc"
|
||
/// "Dismiss"
|
||
public static var general_dismiss: String { localized(key: "general_dismiss", table: "shared-Localizable") }
|
||
|
||
/// "Button to edit, edit title...etc"
|
||
/// "Edit"
|
||
public static var general_edit: String { localized(key: "general_edit", table: "shared-Localizable") }
|
||
|
||
/// "Concat with other string, e.g. Restore file, Delete file"
|
||
/// "File"
|
||
public static var general_file_type: String { localized(key: "general_file_type", table: "shared-Localizable") }
|
||
|
||
/// "Concat with other string, e.g. Restore folder, Delete folder"
|
||
/// "Folder"
|
||
public static var general_folder_type: String { localized(key: "general_folder_type", table: "shared-Localizable") }
|
||
|
||
/// "Concat with other string, e.g. Restore item, Delete item"
|
||
/// "Item"
|
||
public static var general_item_type: String { localized(key: "general_item_type", table: "shared-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "OK"
|
||
public static var general_ok: String { localized(key: "general_ok", table: "shared-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Rename"
|
||
public static var general_rename: String { localized(key: "general_rename", table: "shared-Localizable") }
|
||
|
||
/// "Button title"
|
||
/// "Restore"
|
||
public static var general_restore: String { localized(key: "general_restore", table: "shared-Localizable") }
|
||
|
||
/// "Button to retry action after failing "
|
||
/// "Retry"
|
||
public static var general_retry: String { localized(key: "general_retry", table: "shared-Localizable") }
|
||
|
||
/// "button title"
|
||
/// "Settings"
|
||
public static var general_settings: String { localized(key: "general_settings", table: "shared-Localizable") }
|
||
|
||
/// "Button to open share config"
|
||
/// "Share"
|
||
public static var general_share: String { localized(key: "general_share", table: "shared-Localizable") }
|
||
|
||
/// "Banner message shown after the selected items have been successfully added to the album"
|
||
/// "%d item added to album"
|
||
public static func item_add_to_album(num: Int) -> String { String(format: localized(key: "item_add_to_album", table: "shared-Localizable"), num) }
|
||
|
||
/// "Banner message shown after the selected items have been successfully added to the photo stream"
|
||
/// "%d item added to your stream"
|
||
public static func item_add_to_photo_stream(num: Int) -> String { String(format: localized(key: "item_add_to_photo_stream", table: "shared-Localizable"), num) }
|
||
|
||
/// "Banner message shown after the selected items already exist in the album"
|
||
/// "%d item already exist"
|
||
public static func item_already_exist(num: Int) -> String { String(format: localized(key: "item_already_exist", table: "shared-Localizable"), num) }
|
||
|
||
/// "Banner message shown after the selected items are not fully uploaded"
|
||
/// "%d item is not fully uploaded"
|
||
public static func item_failed_incomplete(num: Int) -> String { String(format: localized(key: "item_failed_incomplete", table: "shared-Localizable"), num) }
|
||
|
||
/// "Failed to add the selected photos to the album."
|
||
/// "%d item failed to add"
|
||
public static func item_failed_to_add(num: Int) -> String { String(format: localized(key: "item_failed_to_add", table: "shared-Localizable"), num) }
|
||
|
||
/// "Failed to remove the selected photos to the album."
|
||
/// "%d item failed to remove"
|
||
public static func item_failed_to_remove(num: Int) -> String { String(format: localized(key: "item_failed_to_remove", table: "shared-Localizable"), num) }
|
||
|
||
/// "Concat with other string, e.g. Restore 4 items, Delete 1 item"
|
||
/// "%d Item"
|
||
public static func item_plural_type_with_num(num: Int) -> String { String(format: localized(key: "item_plural_type_with_num", table: "shared-Localizable"), num) }
|
||
|
||
/// "Banner message shown after the selected items have been successfully removed from the album"
|
||
/// "%d item removed from album"
|
||
public static func item_remove_from_album(num: Int) -> String { String(format: localized(key: "item_remove_from_album", table: "shared-Localizable"), num) }
|
||
|
||
/// "Banner message shown after the selected items have been successfully removed from the photo stream"
|
||
/// "%d item removed from stream"
|
||
public static func item_remove_from_photo_stream(num: Int) -> String { String(format: localized(key: "item_remove_from_photo_stream", table: "shared-Localizable"), num) }
|
||
|
||
/// "Listing local files and folders"
|
||
public static var listing_local_files: String { localized(key: "listing_local_files", table: "shared-Localizable") }
|
||
|
||
/// "Label text to show total drive storage usage "
|
||
/// "Total usage"
|
||
public static var menu_text_total_usage: String { localized(key: "menu_text_total_usage", table: "shared-Localizable") }
|
||
|
||
/// "name validation error, the name only contains dot which is not allowed "
|
||
/// "\".\" is not a valid name"
|
||
public static var name_validation_dot: String { localized(key: "name_validation_dot", table: "shared-Localizable") }
|
||
|
||
/// "name validation error, name contains invisible characters"
|
||
/// "Name cannot include invisible characters, / or \\."
|
||
public static var name_validation_invisible_chars: String { localized(key: "name_validation_invisible_chars", table: "shared-Localizable") }
|
||
|
||
/// "Name must not begin with a space"
|
||
public static var name_validation_leading_white: String { localized(key: "name_validation_leading_white", table: "shared-Localizable") }
|
||
|
||
/// "name validation error, given empty name"
|
||
/// "Name must not be empty"
|
||
public static var name_validation_non_empty: String { localized(key: "name_validation_non_empty", table: "shared-Localizable") }
|
||
|
||
/// "name validation error, longer than 255"
|
||
/// "Name is too long"
|
||
public static var name_validation_too_long: String { localized(key: "name_validation_too_long", table: "shared-Localizable") }
|
||
|
||
/// "Name must not end with a space"
|
||
public static var name_validation_trailing_white: String { localized(key: "name_validation_trailing_white", table: "shared-Localizable") }
|
||
|
||
/// "name validation error, the name only contains 2 dots which is not allowed "
|
||
/// "\"..\" is not a valid name"
|
||
public static var name_validation_two_dot: String { localized(key: "name_validation_two_dot", table: "shared-Localizable") }
|
||
|
||
/// "Label for button which opens a file"
|
||
/// "Open"
|
||
public static var open: String { localized(key: "open", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Unable to connect to iCloud"
|
||
public static var retry_error_explainer_cannot_connect_icloud: String { localized(key: "retry_error_explainer_cannot_connect_icloud", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Network connection error"
|
||
public static var retry_error_explainer_connection_error: String { localized(key: "retry_error_explainer_connection_error", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Device storage full"
|
||
public static var retry_error_explainer_device_storage_full: String { localized(key: "retry_error_explainer_device_storage_full", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Encryption failed"
|
||
public static var retry_error_explainer_encryption_error: String { localized(key: "retry_error_explainer_encryption_error", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Failed to load resource"
|
||
public static var retry_error_explainer_failed_to_load_resource: String { localized(key: "retry_error_explainer_failed_to_load_resource", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Can\'t access the original file."
|
||
public static var retry_error_explainer_invalid_asset: String { localized(key: "retry_error_explainer_invalid_asset", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Missing permissions"
|
||
public static var retry_error_explainer_missing_permissions: String { localized(key: "retry_error_explainer_missing_permissions", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Name validation failed"
|
||
public static var retry_error_explainer_name_validation: String { localized(key: "retry_error_explainer_name_validation", table: "shared-Localizable") }
|
||
|
||
/// "Error message displayed on the photo backup issue page"
|
||
/// "Drive storage full"
|
||
public static var retry_error_explainer_quote_exceeded: String { localized(key: "retry_error_explainer_quote_exceeded", table: "shared-Localizable") }
|
||
|
||
/// "Add selected photos to shared album"
|
||
/// "Add to shared album"
|
||
public static var section_add_to_shared_album: String { localized(key: "section_add_to_shared_album", table: "shared-Localizable") }
|
||
|
||
/// "Section title for share options"
|
||
/// "Share via"
|
||
public static var section_share_via: String { localized(key: "section_share_via", table: "shared-Localizable") }
|
||
|
||
/// "Newest first"
|
||
public static var sort_newest_first: String { localized(key: "sort_newest_first", table: "shared-Localizable") }
|
||
|
||
/// "Oldest first"
|
||
public static var sort_oldest_first: String { localized(key: "sort_oldest_first", table: "shared-Localizable") }
|
||
|
||
/// "Recently added"
|
||
public static var sort_recently_added: String { localized(key: "sort_recently_added", table: "shared-Localizable") }
|
||
|
||
/// "Label text, sort files by file type"
|
||
/// "File type"
|
||
public static var sort_type_file_type: String { localized(key: "sort_type_file_type", table: "shared-Localizable") }
|
||
|
||
/// "Label text, sort files by last modified date"
|
||
/// "Last modified"
|
||
public static var sort_type_last_modified: String { localized(key: "sort_type_last_modified", table: "shared-Localizable") }
|
||
|
||
/// "Label text, sort files by file name"
|
||
/// "Name"
|
||
public static var sort_type_name: String { localized(key: "sort_type_name", table: "shared-Localizable") }
|
||
|
||
/// "Label text, sort files by file size"
|
||
/// "Size"
|
||
public static var sort_type_size: String { localized(key: "sort_type_size", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show all photos"
|
||
/// "All"
|
||
public static var tag_all: String { localized(key: "tag_all", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show burst"
|
||
/// "Burst"
|
||
public static var tag_burst: String { localized(key: "tag_burst", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show favorite photos"
|
||
/// "Favorites"
|
||
public static var tag_favorites: String { localized(key: "tag_favorites", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show live photos"
|
||
/// "Live Photos"
|
||
public static var tag_livePhotos: String { localized(key: "tag_livePhotos", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show motion photos"
|
||
/// "Motion Photos"
|
||
public static var tag_motionPhotos: String { localized(key: "tag_motionPhotos", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show my albums"
|
||
/// "My albums"
|
||
public static var tag_myAlbum: String { localized(key: "tag_myAlbum", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show panoramas"
|
||
/// "Panoramas"
|
||
public static var tag_panoramas: String { localized(key: "tag_panoramas", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show portraits"
|
||
/// "Portraits"
|
||
public static var tag_portraits: String { localized(key: "tag_portraits", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show raw photo"
|
||
/// "RAW"
|
||
public static var tag_raw: String { localized(key: "tag_raw", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show screenshot"
|
||
/// "Screenshots"
|
||
public static var tag_screenshots: String { localized(key: "tag_screenshots", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show selfies"
|
||
/// "Selfies"
|
||
public static var tag_selfies: String { localized(key: "tag_selfies", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show album shared by me"
|
||
/// "Shared"
|
||
public static var tag_shared: String { localized(key: "tag_shared", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show album shared with me"
|
||
/// "Shared with me"
|
||
public static var tag_sharedWithMe: String { localized(key: "tag_sharedWithMe", table: "shared-Localizable") }
|
||
|
||
/// "Filter tag to show videos"
|
||
/// "Videos"
|
||
public static var tag_videos: String { localized(key: "tag_videos", table: "shared-Localizable") }
|
||
|
||
/// "View title"
|
||
/// "Rename Album"
|
||
public static var title_rename_album: String { localized(key: "title_rename_album", table: "shared-Localizable") }
|
||
|
||
/// "Action to restore all trashed files"
|
||
/// "Restore all files"
|
||
public static var trash_action_restore_all_files: String { localized(key: "trash_action_restore_all_files", table: "shared-Localizable") }
|
||
|
||
/// "Action to restore all trashed files"
|
||
/// "Restore all folders"
|
||
public static var trash_action_restore_all_folders: String { localized(key: "trash_action_restore_all_folders", table: "shared-Localizable") }
|
||
|
||
/// "Action to restore all trashed items"
|
||
/// "Restore all items"
|
||
public static var trash_action_restore_all_items: String { localized(key: "trash_action_restore_all_items", table: "shared-Localizable") }
|
||
|
||
}
|
||
|
||
#endif
|