selfprivacy.org.app/assets/translations/en.json
NaiJi 41dc77103f feat: Implement error handling on server deletion
Notify users when errors occured and handle application state accordingly
2022-12-22 22:56:58 +04:00

447 lines
21 KiB
JSON

{
"test": "en-test",
"locale": "en",
"basis": {
"providers": "Providers",
"providers_title": "Your Data Center",
"services": "Services",
"services_title": "Your personal, private and independent services.",
"users": "Users",
"more": "More",
"next": "Next",
"got_it": "Got it",
"settings": "Settings",
"password": "Password",
"create": "Add new",
"confirmation": "Confirmation",
"cancel": "Cancel",
"delete": "Delete",
"close": "Close",
"connect": "Connect",
"domain": "Domain",
"saving": "Saving…",
"username": "Username",
"loading": "Loading…",
"later": "Skip to setup later",
"connect_to_existing": "Connect to an existing server",
"reset": "Reset",
"details": "Details",
"no_data": "No data",
"wait": "Wait",
"remove": "Remove",
"apply": "Apply",
"done": "Done",
"continue": "Continue",
"alert": "Alert"
},
"more_page": {
"configuration_wizard": "Setup wizard",
"about_project": "About us",
"about_application": "About",
"onboarding": "Onboarding",
"create_ssh_key": "Superuser SSH keys",
"console": "Console",
"application_settings": "Application settings"
},
"console_page": {
"title": "Console",
"waiting": "Waiting for initialization…"
},
"about_us_page": {
"title": "About us"
},
"about_application_page": {
"title": "About",
"application_version_text": "Application version v.{}",
"api_version_text": "Server API version v.{}"
},
"application_settings": {
"title": "Application settings",
"dark_theme_title": "Dark theme",
"dark_theme_description": "Switch your application theme",
"reset_config_title": "Reset application config",
"reset_config_description": "Reset api keys and root user",
"delete_server_title": "Delete server",
"delete_server_description": "This removes your server. It will be no longer accessible."
},
"ssh": {
"title": "SSH keys",
"create": "Create SSH key",
"delete": "Delete SSH key",
"delete_confirm_question": "Are you sure you want to delete SSH key?",
"subtitle_with_keys": "{} keys",
"subtitle_without_keys": "No keys",
"no_key_name": "Unnamed key",
"root_title": "These are superuser keys",
"root_subtitle": "Owners of these keys get full access to the server and can do anything on it. Only add your own keys to the server.",
"input_label": "Public ED25519 or RSA key"
},
"onboarding": {
"page1_title": "Digital independence, available to all of us",
"page1_text": "Mail, VPN, Messenger, social network and much more on your private server, under your control.",
"page2_title": "SelfPrivacy — it's not a cloud, but your personal datacenter",
"page2_text": "SelfPrivacy works only with your provider accounts: Hetzner, Cloudflare, Backblaze. If you do not own those, we'll help you to create them."
},
"resource_chart": {
"month": "Month",
"day": "Day",
"hour": "Hour",
"cpu_title": "CPU Usage",
"network_title": "Network Usage",
"in": "In",
"out": "Out"
},
"server": {
"card_title": "Server",
"description": "All your services live here",
"general_information": "General information",
"resource_usage": "Resource usage",
"allow_autoupgrade": "Allow auto-upgrade",
"allow_autoupgrade_hint": "Allow automatic packages upgrades on server",
"reboot_after_upgrade": "Reboot after upgrade",
"reboot_after_upgrade_hint": "Reboot without prompt after applying changes on server",
"server_timezone": "Server timezone",
"select_timezone": "Select timezone",
"timezone_search_bar": "Timezone name or time shift value",
"server_id": "Server ID",
"status": "Status",
"cpu": "CPU",
"ram": "Memory",
"disk": "Disk local",
"monthly_cost": "Monthly cost",
"location": "Location",
"provider": "Provider",
"core_count": {
"one": "{} core",
"two": "{} cores",
"few": "{} cores",
"many": "{} cores",
"other": "{} cores"
}
},
"record": {
"root": "Root domain",
"api": "SelfPrivacy API",
"cloud": "File cloud",
"git": "Git server",
"meet": "Video conference",
"social": "Social network",
"password": "Password manager",
"vpn": "VPN",
"mx": "MX record",
"dmarc": "DMARC record",
"spf": "SPF record",
"dkim": "DKIM key"
},
"domain": {
"card_title": "Domain",
"screen_title": "Domain and DNS",
"ok": "Records are OK",
"error": "Problems found",
"error_subtitle": "Tap here to fix them",
"refreshing": "Refreshing status…",
"uninitialized": "Data is not retrieved yet",
"services_title": "Services",
"services_subtitle": "Type “A” records required for each service.",
"email_title": "Email",
"email_subtitle": "Records necessary for secure email exchange.",
"update_list": "Update list"
},
"backup": {
"card_title": "Backup",
"description": "Will save your day in case of incident: hackers attack, server deletion, etc.",
"reupload_key": "Force reupload key",
"reuploaded_key": "Key reuploaded",
"initialize": "Initialize",
"waiting_for_rebuild": "You will be able to create your first backup in a few minutes.",
"restore": "Restore from backup",
"no_backups": "There are no backups yet",
"create_new": "Create a new backup",
"creating": "Creating a new backup: {}%",
"restoring": "Restoring from backup",
"error_pending": "Server returned error, check it below",
"restore_alert": "You are about to restore from backup created on {}. All current data will be lost. Are you sure?",
"refresh": "Refresh status",
"refetch_backups": "Refetch backup list",
"refetching_list": "In a few minutes list will be updated"
},
"storage": {
"card_title": "Server Storage",
"status_ok": "Disk usage is OK",
"status_error": "Low disk space",
"disk_usage": "{} used",
"disk_total": "{} total · {}",
"gb": "{} GB",
"mb": "{} MB",
"kb": "{} KB",
"bytes": "Bytes",
"extend_volume_button": "Extend volume",
"extending_volume_title": "Extending volume",
"extending_volume_description": "Resizing volume will allow you to store more data on your server without extending the server itself. Volume can only be extended: shrinking is not possible.",
"extending_volume_price_info": "Price includes VAT and is estimated from pricing data provided by Hetzner. Server will be rebooted after resizing.",
"extending_volume_error": "Couldn't initialize volume extending.",
"size": "Size",
"euro": "Euro",
"data_migration_title": "Data migration",
"data_migration_notice": "During migration all services will be turned off.",
"start_migration_button": "Start migration",
"migration_process": "Migrating…",
"migration_done": "Finish"
},
"not_ready_card": {
"begin": "Please finish application setup using ",
"insertion": "Setup Wizard",
"end": " for further work",
"in_menu": "Server is not set up yet. Please finish setup using setup wizard for further work."
},
"service_page": {
"open_in_browser": "Open in browser",
"restart": "Restart service",
"disable": "Disable service",
"enable": "Enable service",
"move": "Move to another volume",
"uses": "Uses {usage} on {volume}",
"status": {
"active": "Up and running",
"inactive": "Stopped",
"failed": "Failed to start",
"off": "Disabled",
"activating": "Activating",
"deactivating": "Deactivating",
"reloading": "Restarting"
}
},
"mail": {
"title": "E-Mail",
"subtitle": "E-Mail for company and family.",
"login_info": "Use username and password from users tab. IMAP port is 143 with STARTTLS, SMTP port is 587 with STARTTLS."
},
"password_manager": {
"title": "Password Manager",
"subtitle": "Base of your security. Bitwarden will help you to create, store and move passwords between devices, as well as input them, when requested using autocompletion.",
"login_info": "You will have to create an account on the website."
},
"video": {
"title": "Videomeet",
"subtitle": "Zoom and Google Meet are good, but Jitsi Meet is a worth alternative that also gives you confidence that you're not being listened.",
"login_info": "No account needed."
},
"cloud": {
"title": "Cloud Storage",
"subtitle": "Do not allow cloud services to read your data by using NextCloud.",
"login_info": "Login is admin, password is the same as with your main user. Create new accounts in Nextcloud interface."
},
"social_network": {
"title": "Social Network",
"subtitle": "It's hard to believe, but it became possible to create your own social network, with your own rules and target audience.",
"login_info": "You will have to create an account on the website."
},
"git": {
"title": "Git Server",
"subtitle": "Private alternative to the Github, that belongs to you, but not a Microsoft.",
"login_info": "You will have to create an account on the website. First user will become an admin."
},
"vpn": {
"title": "VPN Server",
"subtitle": "Private VPN server"
},
"users": {
"add_new_user": "Add a first user",
"new_user": "New user",
"delete_user": "Delete user",
"not_ready": "Please connect server, domain and DNS in the Providers tab, to be able to add a first user",
"nobody_here": "Nobody here",
"login": "Login",
"new_user_info_note": "New user will automatically be granted an access to all of the services",
"delete_confirm_question": "Are you sure?",
"reset_password": "Reset password",
"account": "Account",
"send_registration_data": "Share login credentials",
"could_not_fetch_users": "Couldn't fetch users list",
"could_not_fetch_description": "Please check your internet connection and try again",
"refresh_users": "Refresh users list",
"could_not_create_user": "Couldn't create user",
"could_not_delete_user": "Couldn't delete user",
"could_not_add_ssh_key": "Couldn't add SSH key",
"username_rule": "Username must contain only lowercase latin letters, digits and underscores, should not start with a digit",
"email_login": "Email login",
"no_ssh_notice": "Only email and SSH accounts are created for this user. Single Sign On for all services is coming soon."
},
"initializing": {
"connect_to_server": "Connect a server",
"select_provider": "Select your provider",
"place_where_data": "A place where your data and SelfPrivacy services will reside:",
"how": "How to obtain API token",
"provider_bad_key_error": "Provider API key is invalid",
"could_not_connect": "Counldn't connect to the provider.",
"choose_location_type": "Choose your server location and type:",
"back_to_locations": "Go back to available locations!",
"no_locations_found": "No available locations found. Make sure your account is accessible.",
"no_server_types_found": "No available server types found. Make sure your account is accessible and try to change your server location.",
"cloudflare_bad_key_error": "Cloudflare API key is invalid",
"backblaze_bad_key_error": "Backblaze storage information is invalid",
"connect_cloudflare": "Connect CloudFlare",
"manage_domain_dns": "To manage your domain's DNS",
"cloudflare_api_token": "CloudFlare API Token",
"connect_backblaze_storage": "Connect Backblaze storage",
"no_connected_domains": "No connected domains at the moment",
"loading_domain_list": "Loading domain list",
"found_more_domains": "Found more than one domain. For your own security, please be asked to delete unnecessary domains",
"save_domain": "Save domain",
"final": "Final step",
"create_server": "Create server",
"what": "What does it mean?",
"server_rebooted": "Server rebooted. Waiting for the last verification…",
"server_started": "Server started. It will be validated and rebooted now…",
"server_created": "Server created. DNS checks and server boot in progress…",
"until_the_next_check": "Until the next check: ",
"check": "Check",
"one_more_restart": "One more restart to apply your security certificates.",
"create_master_account": "Create master account",
"enter_username_and_password": "Enter username and strong password",
"finish": "Everything is initialized",
"checks": "Checks have been completed \n{} out of {}"
},
"recovering": {
"generic_error": "Operation failed, please try again.",
"recovery_main_header": "Connect to an existing server",
"domain_recovery_description": "Enter a server domain you want to get access for:",
"domain_recover_placeholder": "Your domain",
"domain_recover_error": "Server with such domain was not found",
"method_select_description": "Select a recovery method:",
"method_select_other_device": "I have access on another device",
"method_select_recovery_key": "I have a recovery key",
"method_select_nothing": "I don't have any of that",
"method_device_description": "Open the application on another device, then go to the devices page. Press \"Add device\" to receive your token.",
"method_device_button": "I have received my token",
"method_device_input_description": "Enter your authorization token",
"method_device_input_placeholder": "Token",
"method_recovery_input_description": "Enter your recovery key",
"fallback_select_description": "What exactly do you have? Pick the first available option:",
"fallback_select_token_copy": "Copy of auth token from other version of the application.",
"fallback_select_root_ssh": "Root SSH access to the server.",
"fallback_select_provider_console": "Access to the server console of my prodiver.",
"authorization_failed": "Couldn't log in with this key",
"fallback_select_provider_console_hint": "For example: Hetzner.",
"server_provider_connected": "Connect to your Server Provider",
"server_provider_connected_description": "Communication established. Enter you token with access to {}:",
"server_provider_connected_placeholder": "Server Provider token",
"confirm_server": "Confirm server",
"confirm_server_description": "Found your server! Confirm it is the right one:",
"confirm_server_accept": "Yes! That's it",
"confirm_server_decline": "Choose a different server",
"choose_server": "Choose your server",
"choose_server_description": "We couldn't figure out which server your are trying to connect to.",
"no_servers": "There is no available servers on your account.",
"domain_not_available_on_token": "Selected domain is not available on this token.",
"modal_confirmation_title": "Is it really your server?",
"modal_confirmation_description": "If you connect to a wrong server you may lose all your data.",
"modal_confirmation_dns_valid": "Reverse DNS is valid",
"modal_confirmation_dns_invalid": "Reverse DNS points to another domain",
"modal_confirmation_ip_valid": "IP is the same as in DNS record",
"modal_confirmation_ip_invalid": "IP is not the same as in DNS record",
"confirm_cloudflare": "Connect to CloudFlare",
"confirm_cloudflare_description": "Enter a Cloudflare token with access to {}:",
"confirm_backblaze": "Connect to Backblaze",
"confirm_backblaze_description": "Enter a Backblaze token with access to backup storage:"
},
"devices": {
"main_screen": {
"header": "Devices",
"description": "These devices have full access to the server via SelfPrivacy app.",
"this_device": "This device",
"other_devices": "Other devices",
"authorize_new_device": "Authorize new device",
"access_granted_on": "Access granted on {}",
"tip": "Press on the device to revoke access."
},
"add_new_device_screen": {
"header": "Authorizing new device",
"description": "Enter the key on the device you want to authorize:",
"please_wait": "Please wait",
"tip": "The key is valid for 10 minutes.",
"expired": "The key has expired.",
"get_new_key": "Get new key"
},
"revoke_device_alert": {
"header": "Revoke access?",
"description": "The device {} will no longer have access to the server.",
"yes": "Revoke",
"no": "Cancel"
}
},
"recovery_key": {
"key_connection_error": "Couldn't connect to the server.",
"key_synchronizing": "Synchronizing…",
"key_main_header": "Recovery key",
"key_main_description": "Is needed for SelfPrivacy authorization when all your other authorized devices aren't available.",
"key_amount_toggle": "Limit by number of uses",
"key_amount_field_title": "Max number of uses",
"key_duedate_toggle": "Limit by time",
"key_duedate_field_title": "Due date of expiration",
"key_receive_button": "Receive key",
"key_valid": "Your key is valid",
"key_invalid": "Your key is no longer valid",
"key_valid_until": "Valid until {}",
"key_valid_for": "Valid for {} uses",
"key_creation_date": "Created on {}",
"key_replace_button": "Generate new key",
"key_receiving_description": "Write down this key and put to a safe place. It is used to restore full access to your server:",
"key_receiving_info": "The key will never ever be shown again, but you will be able to replace it with another one.",
"key_receiving_done": "Done!",
"generation_error": "Couldn't generate a recovery key. {}"
},
"modals": {
"dns_removal_error": "Couldn't remove DNS records.",
"server_deletion_error": "Couldn't delete active server.",
"server_validators_error": "Couldn't fetch available servers.",
"already_exists": "Such server already exists.",
"unexpected_error": "Unexpected error during placement from the provider side.",
"destroy_server": "Destroy the server and create a new one?",
"try_again": "Try again?",
"are_you_sure": "Are you sure?",
"purge_all_keys": "Purge all authentication keys?",
"purge_all_keys_confirm": "Yes, purge all my tokens",
"delete_server_volume": "Delete the server and volume?",
"reboot": "Reboot",
"you_cant_use_this_api": "You cannot use this API for domains with such TLD.",
"yes": "Yes",
"no": "No"
},
"timer": {
"sec": "{} sec"
},
"jobs": {
"title": "Jobs list",
"start": "Start",
"empty": "No jobs",
"create_user": "Create user",
"delete_user": "Delete user",
"service_turn_off": "Turn off",
"service_turn_on": "Turn on",
"job_added": "Job added",
"run_jobs": "Run jobs",
"reboot_success": "Server is rebooting",
"reboot_failed": "Couldn't reboot the server. Check the app logs.",
"config_pull_failed": "Failed to pull configuration upgrade. Started software upgrade anyways.",
"upgrade_success": "Server upgrade started",
"upgrade_failed": "Failed to upgrade server",
"upgrade_server": "Upgrade server",
"reboot_server": "Reboot server",
"create_ssh_key": "Create SSH key for {}",
"delete_ssh_key": "Delete SSH key for {}",
"server_jobs": "Jobs on the server",
"reset_user_password": "Reset password of user",
"generic_error": "Couldn't connect to the server!"
},
"validations": {
"required": "Required",
"already_exist": "Already exists",
"invalid_format": "Invalid format",
"invalid_format_password": "Must not contain empty characters",
"invalid_format_ssh": "Must follow the SSH key format",
"root_name": "Cannot be 'root'",
"length_not_equal": "Length is [], should be {}",
"length_longer": "Length is [], should be shorter than or equal to {}"
}
}