{ "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", "cpu_title": "CPU Usage", "network_title": "Network Usage", "in": "In", "out": "Out" }, "resource_usage": "Resource usage", "settings": { "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" }, "info": { "server_id": "Server ID", "status": "Status", "cpu": "CPU", "ram": "Memory", "disk": "Disk local", "monthly_cost": "Monthly cost", "location": "Location", "core_count": { "one": "{} core", "other": "{} cores" } } }, "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": "{} used", "disk_total": "{} 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.", "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": { "_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": "Services", "title": "Your personal, private and independent services.", "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}" }, "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", "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", "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", "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", "email_login": "Email login", "no_sso_notice": "Only email and SSH accounts are created for this user. Single Sign On for all services is coming soon." }, "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", "18": "How to obtain Hetzner API Token:'", "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 {}", "server_jobs": "Jobs on the server" }, "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." } }