mirror of
https://git.selfprivacy.org/kherel/selfprivacy.org.app.git
synced 2024-11-08 18:03:12 +00:00
477 lines
24 KiB
JSON
477 lines
24 KiB
JSON
{
|
|
"test": "en-test",
|
|
"locale": "en",
|
|
"basis": {
|
|
"providers": "Providers",
|
|
"providers_title": "Your Data Center",
|
|
"select": "Select",
|
|
"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.{}",
|
|
"privacy_policy": "Privacy policy"
|
|
},
|
|
"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 is not a cloud, it's Your personal datacenter",
|
|
"page2_text": "SelfPrivacy only works with providers that you choose. If you do not have required accounts in those, we'll help you to create them.",
|
|
"page2_server_provider_title": "Server provider",
|
|
"page2_server_provider_text": "A server provider maintains your server in its own data center. SelfPrivacy will automatically connect to the provider and setup all necessary things.",
|
|
"page2_dns_provider_title": "DNS provider",
|
|
"page2_dns_provider_text": "You need a domain to have a place in the Internet. And you also need a reliable DNS provider to have the domain pointed to your server. We will suggest you pick a supported DNS provider to automatically setup networking.",
|
|
"page2_backup_provider_title": "Backup provider",
|
|
"page2_backup_provider_text": "What if something happens to your server? Imagine a hacker attack, an accidental data deletion or denial of service? Your data will be kept safe in your provider of backups. They will be securely encrypted and anytime accessible to restore your server with."
|
|
},
|
|
"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": {
|
|
"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": "Let's start with a server.",
|
|
"select_provider": "Pick any provider from the following list, they all support SelfPrivacy",
|
|
"select_provider_notice": "By 'Relatively small' we mean a machine with 2 cores of CPU and 2 gigabytes of RAM.",
|
|
"select_provider_countries_title": "Available countries",
|
|
"select_provider_countries_text_hetzner": "Germany, Finland, USA",
|
|
"select_provider_countries_text_do": "USA, Netherlands, Singapore, UK, Germany, Canada, India, Australia",
|
|
"select_provider_price_title": "Average price",
|
|
"select_provider_price_text_hetzner": "€8 per month for a relatively small server and 50GB of disk storage",
|
|
"select_provider_price_text_do": "$17 per month for a relatively small server and 50GB of disk storage",
|
|
"select_provider_payment_title": "Payment methods",
|
|
"select_provider_payment_text_hetzner": "Credit cards, SWIFT, SEPA, PayPal",
|
|
"select_provider_payment_text_do": "Credit cards, Google Pay, PayPal",
|
|
"select_provider_email_notice": "E-mail hosting won't be available for new clients. Nevertheless it will be unlocked as soon as you complete your first payment.",
|
|
"select_provider_site_button": "Visit site",
|
|
"connect_to_server_provider": "Now log in ",
|
|
"connect_to_server_provider_text": "With API token SelfPrivacy will be able to rent a machine and setup your server on it",
|
|
"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": "Where do you want to order your server?",
|
|
"choose_location_type_text": "Different locations provide different server configurations, prices and connection speed.",
|
|
"locations_not_found": "Oops!",
|
|
"locations_not_found_text": "There are no available servers to rent",
|
|
"back_to_locations": "Select something else",
|
|
"no_locations_found": "No available locations found, make sure your account is accessible",
|
|
"choose_server_type": "What type of server do you need?",
|
|
"choose_server_type_text": "Different resource capabilities support different services. Don't worry, you can expand your server anytime",
|
|
"choose_server_type_notice": "The important things to look at are the CPU and RAM. The data of your services will be stored on a mounted volume which is easily expandable and gets paid for separately.",
|
|
"choose_server_type_ram": "{} GB of RAM",
|
|
"choose_server_type_storage": "{} GB of system storage",
|
|
"choose_server_type_payment_per_month": "{} per month",
|
|
"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",
|
|
"select_dns": "Now let's select a DNS provider",
|
|
"manage_domain_dns": "To manage your domain's DNS",
|
|
"use_this_domain": "Use this domain?",
|
|
"use_this_domain_text": "The token you provided gives access to the following domain",
|
|
"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 {}"
|
|
}
|
|
}
|