selfprivacy.org.app/assets/translations/en.json

458 lines
18 KiB
JSON

{
"test": "en-test",
"locale": "en",
"basis": {
"_comment": "Basic interface elements",
"providers": "Providers",
"services": "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..",
"nickname": "Nickname",
"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"
},
"more": {
"_comment": "'More' tab",
"configuration_wizard": "Setup wizard",
"about_project": "About us",
"about_app": "About application",
"onboarding": "Onboarding",
"create_ssh_key": "Create SSH key",
"generate_key": "Generate key",
"generate_key_text": "You can generate ssh key",
"console": "Console",
"remove": "Remove",
"enable": "Enable",
"ok": "ok",
"continue": "Continue",
"ssh_key_exist_text": "You have generated ssh key",
"yes_delete": "Yes, delete my SSH key",
"share": "Share",
"copy_buffer": "Copy to buffer",
"copied_ssh": "SSH copied to clipboard",
"delete_ssh_text": "Delete SSH key?",
"about_app_page": {
"application_version_text": "Application version v.{}",
"api_version_text": "Server API version v.{}"
},
"settings": {
"title": "Application settings",
"1": "Dark Theme",
"2": "Change your the app theme",
"3": "Reset app config",
"4": "Reset api keys and root user",
"5": "Delete Server",
"6": "This removes the 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",
"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": {
"_comment": "Onboarding pages",
"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"
},
"providers": {
"_comment": "'Providers' tab",
"page_title": "Your Data Center",
"server": {
"card_title": "Server",
"status": "Status — Good",
"bottom_sheet": {
"1": "It's a virtual computer, where all your services live.",
"2": "General information",
"3": "Location"
},
"chart": {
"month": "Month",
"day": "Day",
"hour": "Hour"
}
},
"domain": {
"card_title": "Domain",
"status": "Status — Good",
"bottom_sheet": {
"1": "It's your personal internet address that will point to the server and other services of yours."
},
"screen_title": "Domain and DNS",
"states": {
"ok": "Records are OK",
"error": "Problems found",
"error_subtitle": "Tap here to fix them",
"refreshing": "Refreshing status...",
"uninitialized": "Data is not retrieved yet"
},
"record_description": {
"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"
},
"cards": {
"services": {
"title": "Services",
"subtitle": "Type “A” records required for each service."
},
"email": {
"title": "Email",
"subtitle": "Records necessary for secure email exchange."
}
}
},
"backup": {
"card_title": "Backup",
"status": "Status — Good",
"bottom_sheet": {
"1": "Will save your day in case of incident: hackers attack, server deletion, etc.",
"2": "3Gb/10Gb, last backup was yesterday {}"
},
"reuploadKey": "Force reupload key",
"reuploadedKey": "Key reuploaded",
"initialize": "Initialize",
"waitingForRebuild": "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",
"refetchBackups": "Refetch backup list",
"refetchingList": "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": "{} GB used",
"disk_total": "{} GB total · {}",
"gb": "{} GB",
"mb": "{} MB",
"kb": "{} KB",
"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.",
"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"
}
},
"not_ready_card": {
"_comment": "Card shown when user skips initial setup",
"1": "Please finish application setup using ",
"2": "@:more.configuration_wizard",
"3": " for further work",
"in_menu": "Server is not set up yet. Please finish setup using setup wizard for further work."
},
"services": {
"_comment": "Вкладка сервисы",
"title": "Your personal, private and independent services.",
"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.",
"bottom_sheet": {
"1": "To connect to the mailserver, please use {} domain alongside with username and password, that you created. Also feel free to invite",
"2": "new users"
}
},
"messenger": {
"title": "Messenger",
"subtitle": "Telegram or Signal not so private as Delta.Chat that uses your private server.",
"login_info": "Use the same username and password as for e-mail.",
"bottom_sheet": {
"1": "For connection, please use {} domain and credentials that you created."
}
},
"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.",
"bottom_sheet": {
"1": "You can connect to the service and create a user via this link:"
}
},
"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.",
"bottom_sheet": {
"1": "Using Jitsi as simple as just visiting this link:"
}
},
"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.",
"bottom_sheet": {
"1": "You can connect and create a new user here:"
}
},
"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.",
"bottom_sheet": {
"1": "You can connect and create new social user here:"
}
},
"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.",
"bottom_sheet": {
"1": "You can connect and create a new user here:"
}
},
"vpn": {
"title": "VPN Server",
"subtitle": "Private VPN server",
"bottom_sheet": {
"1": "Openconnect VPN Server. Engine for secure and scalable VPN infrastructure"
}
},
"page": {
"up_and_running": "Up and running",
"resource_usage": "Resource usage",
"disk_used": "{} of disk space used",
"users": "Users",
"controlled_by": "Controlled by {}",
"apps": "Apps",
"settings": "Settings and maintenance"
}
},
"users": {
"_comment": "'Users' tab",
"add_new_user": "Add a first user",
"new_user": "New 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",
"onboarding": "Onboarding",
"console": "Console",
"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"
},
"initializing": {
"_comment": "initializing page",
"1": "Connect a server",
"2": "A place where your data and SelfPrivacy services will reside:",
"how": "How to obtain API token",
"hetzner_bad_key_error": "Hetzner API key is invalid",
"cloudflare_bad_key_error": "Cloudflare API key is invalid",
"backblaze_bad_key_error": "Backblaze storage information is invalid",
"3": "Connect CloudFlare",
"4": "To manage your domain's DNS",
"5": "CloudFlare API Token",
"6": "Connect Backblaze storage",
"7": "No connected domains at the moment",
"8": "Loading domains list",
"9": "Found more than one domain. For your own security, please be asked to delete unnecessary domains",
"10": "Save domain",
"final": "Final step",
"11": "Create server",
"what": "What does it mean?",
"13": "Server rebooted. Waiting for the last verification...",
"14": "Server started. It will be validated and rebooted now...",
"15": "Server created. DNS checks and server boot in progress...",
"16": "Until the next check: ",
"17": "Check",
"19": "1 Go via this link ",
"20": "\n",
"21": "One more restart to apply your security certificates.",
"22": "Create master account",
"23": "Enter a nickname and strong password",
"finish": "Everything is initialized",
"checks": "Checks have been completed \n{} out of {}"
},
"recovering": {
"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.",
"hetzner_connected": "Connect to Hetzner",
"hetzner_connected_description": "Communication established. Enter Hetzner token with access to {}:",
"hetzner_connected_placeholder": "Hetzner token",
"confirm_server": "Confirm server",
"confirm_server_description": "Found your server! Confirm it is correct.",
"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": {
"_comment": "messages in modals",
"1": "Server with such name, already exist.",
"1_1": "Unexpected error during placement from the provider side.",
"2": "Destroy server and create a new one?",
"2_2": "Try again?",
"3": "Are you sure?",
"4": "Purge all authentication keys?",
"5": "Yes, purge all my tokens",
"6": "Delete the server and volume?",
"7": "Yes",
"8": "Remove task",
"9": "Reboot",
"10": "You cannot use this API for domains with such TLD.",
"yes": "Yes",
"no": "No"
},
"timer": {
"sec": "{} sec"
},
"jobs": {
"_comment": "Jobs list",
"title": "Jobs list",
"start": "Start",
"empty": "No jobs",
"createUser": "Create user",
"deleteUser": "Delete user",
"serviceTurnOff": "Turn off",
"serviceTurnOn": "Turn on",
"jobAdded": "Job added",
"runJobs": "Run jobs",
"rebootSuccess": "Server is rebooting",
"rebootFailed": "Couldn't reboot the server. Check the app logs.",
"configPullFailed": "Failed to pull configuration upgrade. Started software upgrade anyways.",
"upgradeSuccess": "Server upgrade started",
"upgradeFailed": "Failed to upgrade server",
"upgradeServer": "Upgrade server",
"rebootServer": "Reboot server",
"create_ssh_key": "Create SSH key for {}",
"delete_ssh_key": "Delete SSH key for {}"
},
"validations": {
"required": "Required.",
"invalid_format": "Invalid format.",
"root_name": "User name cannot be 'root'.",
"key_format": "Invalid key format.",
"length_not_equal": "Length is []. Should be {}.",
"length_longer": "Length is []. Should be shorter than or equal to {}.",
"user_already_exist": "This user already exists.",
"key_already_exists": "This key already exists."
}
}