907 lines
67 KiB
INI
907 lines
67 KiB
INI
shared.domain = Domain
|
|
shared.domains = Domains
|
|
shared.hint = Hint
|
|
shared.hints = Hints
|
|
shared.client = Client
|
|
shared.clients = Clients
|
|
shared.donate = Donate
|
|
shared.donate.message = if you found this useful.
|
|
shared.github = GitHub
|
|
shared.close = Close
|
|
shared.submit = Submit
|
|
shared.update = Update
|
|
shared.id = ID
|
|
shared.name = Name
|
|
shared.status = Status
|
|
shared.comment = Comment
|
|
shared.address = Address
|
|
shared.addresses = Addresses
|
|
shared.important = Important
|
|
shared.ip = IP
|
|
shared.note = Note
|
|
shared.loading = Loading...
|
|
shared.type = Type
|
|
shared.active = Active
|
|
shared.apply = Apply
|
|
shared.select = Select...
|
|
shared.select_all = Select All
|
|
shared.deselect_all = Deselect All
|
|
shared.delete_selected = Delete Selected
|
|
shared.all = All
|
|
shared.none = None
|
|
shared.warning = Warning
|
|
shared.list = List
|
|
shared.lists = Lists
|
|
shared.group = Group
|
|
shared.groups = Groups
|
|
shared.or = or
|
|
shared.enabled = Enabled
|
|
shared.disabled = Disabled
|
|
shared.allowlist = Allowlist
|
|
shared.allowlists = Allowlists
|
|
shared.blocklist = Blocklist
|
|
shared.blocklists = Blocklists
|
|
shared.denylist = Denylist
|
|
shared.denylists = Denylists
|
|
shared.forever = forever
|
|
shared.yes = Yes
|
|
shared.no = No
|
|
shared.never = Never
|
|
shared.allow = Allow
|
|
shared.deny = Deny
|
|
shared.value = Value
|
|
shared.default = default
|
|
shared.not_found = not found
|
|
shared.empty = empty
|
|
shared.stale = stale
|
|
shared.error = Error: %s
|
|
|
|
index.total_queries_title = Total number of queries
|
|
index.total_queries = Total Queries
|
|
index.active_clients = active clients
|
|
index.queries_blocked = Queries Blocked
|
|
index.list_blocked_queries = List blocked queries
|
|
index.percentage_blocked = Percentage Blocked
|
|
index.list_all_queries = List all queries
|
|
index.domains_on_lists = Domains on Lists
|
|
index.manage_lists = Manage lists
|
|
index.reset_zoom = Reset zoom
|
|
index.client_activity = Client activity
|
|
index.zoom_info = You can zoom this graph by either holding down the [Ctrl] key and using your mouse wheel or by using the "pinch" multi-touch gesture. You can furthermore click and drag to pan the graph.
|
|
index.query_types = Query Types
|
|
index.upstream_servers = Upstream servers
|
|
index.top_permitted_domains = Top Permitted Domains
|
|
index.top_blocked_domains = Top Blocked Domains
|
|
index.top_clients_total = Top Clients (total)
|
|
index.top_clients_blocked = Top Clients (blocked only)
|
|
index.hits = Hits
|
|
index.frequency = Frequency
|
|
index.requests = Requests
|
|
|
|
sidebar.main_header = Main
|
|
sidebar.dashboard = Dashboard
|
|
sidebar.query_log = Query Log
|
|
sidebar.group_management_header = Group Management
|
|
sidebar.num_enabled_groups = Number of enabled groups
|
|
sidebar.num_defined_clients = Number of defined clients
|
|
sidebar.num_enabled_deny_rules = Number of enabled deny rules (domains and regex)
|
|
sidebar.num_enabled_allow_rules = Number of enabled allow rules (domains and regex)
|
|
sidebar.num_enabled_lists = Number of subscribed and enabled lists
|
|
sidebar.num_subscribed_domains = Total number of domains subscribed by your Pi-hole
|
|
sidebar.dns_control_header = DNS Control
|
|
sidebar.disable_blocking = Disable Blocking
|
|
sidebar.disable_indefinitely = Indefinitely
|
|
sidebar.disable_10_seconds = For 10 seconds
|
|
sidebar.disable_30_seconds = For 30 seconds
|
|
sidebar.disable_5_minutes = For 5 minutes
|
|
sidebar.disable_custom_time = Custom time
|
|
sidebar.enable_blocking = Enable Blocking
|
|
sidebar.enable_blocking_time = Enable Blocking (%s)
|
|
sidebar.system_header = System
|
|
sidebar.settings = Settings
|
|
sidebar.settings_system = System
|
|
sidebar.settings_dns = DNS
|
|
sidebar.settings_dhcp = DHCP
|
|
sidebar.settings_api = Web interface / API
|
|
sidebar.settings_privacy = Privacy
|
|
sidebar.settings_teleporter = Teleporter
|
|
sidebar.settings_local_dns_records = Local DNS Records
|
|
sidebar.settings_all_settings = All settings
|
|
sidebar.tools = Tools
|
|
sidebar.tools_pihole_diagnosis = Pi-hole diagnosis
|
|
sidebar.tools_tail_log_files = Tail log files
|
|
sidebar.tools_tail_pihole_log = pihole.log
|
|
sidebar.tools_tail_ftl_log = FTL.log
|
|
sidebar.tools_tail_webserver_log = webserver.log
|
|
sidebar.tools_update_gravity = Update Gravity
|
|
sidebar.tools_search_lists = Search Lists
|
|
sidebar.tools_interfaces = Interfaces
|
|
sidebar.tools_network = Network
|
|
|
|
header.javascript_disabled = JavaScript Is Disabled
|
|
header.javascript_required = JavaScript is required for the site to function.
|
|
header.enable_javascript_info = To learn how to enable JavaScript click <a href="https://www.enable-javascript.com/" rel="noopener noreferrer" target="_blank">here</a>
|
|
header.toggle_navigation = Toggle Navigation
|
|
header.hostname = hostname:
|
|
header.user_header_description = Open Source Ad Blocker
|
|
header.pi_hole_website = Pi-hole Website
|
|
header.documentation = Documentation
|
|
header.pi_hole_discourse = Pi-hole Discourse
|
|
header.pi_hole_releases = Pi-hole Releases
|
|
header.logout = Log out
|
|
|
|
footer.custom_disable_timeout = Custom disable timeout
|
|
footer.secs = Secs
|
|
footer.mins = Mins
|
|
|
|
error.access_denied = Oops! Access denied.
|
|
error.access_denied_description = You don't have permission to access <code>%s</code> on this server.
|
|
error.dashboard_suggestion = Did you mean to go to <a href="%s">your Pi-hole's dashboard</a> instead?
|
|
error.page_not_found_title = Oops! Page not found.
|
|
error.page_not_found_message = We could not find the page you were looking for.
|
|
error.return_to_dashboard = Meanwhile, you may want to return to <a href="%s">the dashboard</a>.
|
|
|
|
gravity.page_header_update = Update Gravity (list of blocked domains)
|
|
gravity.alert_info_message = Updating... this may take a while.
|
|
gravity.alert_info_message_strong = Please do not navigate away from or close this page.
|
|
gravity.alert_success_message = Success!
|
|
|
|
login.verify_cookies = Verify that cookies are allowed
|
|
login.dns_failure = DNS Server failure detected, log in to see Pi-hole diagnosis messages
|
|
login.consider_https = Consider upgrading to %s (end-to-end encryption)
|
|
login.password_placeholder = Password
|
|
login.toggle_password_title = Show password as plain text. Warning: this will display your password on the screen.
|
|
login.login = Log in (uses cookie)
|
|
login.wrong_2fa_title = Wrong 2FA token
|
|
login.wrong_2fa_body = Your Pi-hole has two-factor authentication enabled. You have to enter a valid <a href="https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm" rel="noopener noreferrer" target="_blank">TOTP</a> token in addition to your password. You see this message because your token was incorrect or has already expired.
|
|
login.forgot_password_title = Forgot password?
|
|
login.forgot_password_body = After installing Pi-hole for the first time, a password is generated and displayed to the user. The password cannot be retrieved later on, but it is possible to set a new password (or explicitly disable the password by setting an empty password) using the command
|
|
login.documentation = Documentation
|
|
login.discourse = Pi-hole Discourse
|
|
|
|
groups.title = Group management
|
|
groups.add_group_title = Add a new group
|
|
groups.name_placeholder = Group name
|
|
groups.comment_label = Comment:
|
|
groups.comment_placeholder = Group comment (optional)
|
|
groups.hint_multiple_groups = Multiple groups can be added by separating each group name with a space or comma
|
|
groups.hint_quoted_names = Group names can have spaces if entered in quotes. e.g "My New Group"
|
|
groups.add = Add
|
|
groups.list_title = List of groups
|
|
groups.reset_sorting = Reset sorting
|
|
|
|
groups.clients.page_title = Client group management
|
|
groups.clients.add_new_client = Add a new client
|
|
groups.clients.known_clients = Known clients:
|
|
groups.clients.comment_placeholder = Client description (optional)
|
|
groups.clients.group_assignment = Group assignment:
|
|
groups.clients.select_instruction = You can select an existing client or add a custom one by typing into the field above and confirming your entry with <kbd>⏎</kbd>. Multiple clients can be added by separating each client with a space or comma.
|
|
groups.clients.client_description_instruction = Clients may be described either by their IP addresses (IPv4 and IPv6 are supported), IP subnets (CIDR notation, like <code>192.168.2.0/24</code>), their MAC addresses (like <code>12:34:56:78:9A:BC</code>), by their hostnames (like <code>localhost</code>), or by the interface they are connected to (prefaced with a colon, like <code>:eth0</code>).
|
|
groups.clients.client_recognition_note = Note that client recognition by IP addresses (incl. subnet ranges) are preferred over MAC address, host name or interface recognition as the two latter will only be available after some time. Furthermore, MAC address recognition only works for devices at most one networking hop away from your Pi-hole.
|
|
groups.clients.client_list_title = List of configured clients
|
|
groups.clients.client_title = Acceptable values are: IP address, subnet (CIDR notation), MAC address (AA:BB:CC:DD:EE:FF format) or host names.
|
|
groups.clients.column_group_assignment = Group assignment
|
|
|
|
groups.domains.page_title = Domain management
|
|
groups.domains.add_domain_title = Add a new domain or regex filter
|
|
groups.domains.tab_regex = RegEx filter
|
|
groups.domains.domain_placeholder = Domain to be added
|
|
groups.domains.comment_placeholder = Description (optional)
|
|
groups.domains.group_assignment_label = Group assignment:
|
|
groups.domains.wildcard_label = Add domain as wildcard
|
|
groups.domains.wildcard_description = Check this box if you want to involve all subdomains. The entered domain will be converted to a RegEx filter while adding.
|
|
groups.domains.regex_label = Regular Expression:
|
|
groups.domains.regex_placeholder = RegEx to be added
|
|
groups.domains.regex_hint_text = Need help to write a proper RegEx rule? Have a look at our online
|
|
groups.domains.regex_tutorial = regular expressions tutorial
|
|
groups.domains.note_text = The domain or regex filter will be automatically assigned to the Default Group.
|
|
groups.domains.note_extra = Other groups can optionally be assigned in the list below (using <strong>Group assignment</strong>)..
|
|
groups.domains.note_multiple = You can add multiple entries at once by separating them with spaces (e.g. <code>example.com example.org</code>).
|
|
groups.domains.toolbar = Toolbar with buttons
|
|
groups.domains.deny = Add to denied domains
|
|
groups.domains.allow = Add to allowed domains
|
|
groups.domains.domain_list_title = List of domains
|
|
groups.domains.exact_allow = Exact allow
|
|
groups.domains.regex_allow = Regex allow
|
|
groups.domains.exact_deny = Exact deny
|
|
groups.domains.regex_deny = Regex deny
|
|
groups.domains.table_header_domain = Domain/RegEx
|
|
groups.domains.table_header_group_assignment = Group assignment
|
|
|
|
groups.lists.title = Subscribed lists group management
|
|
groups.lists.add_list_title = Add a new subscribed list
|
|
groups.lists.address_placeholder = URL
|
|
groups.lists.comment_placeholder = List description (optional)
|
|
groups.lists.group_assignment_label = Group assignment:
|
|
groups.lists.hint_run_gravity = Please run <code>pihole -g</code> or update your gravity list <a href="%sgravity?lang=%s">online</a> after modifying your lists.
|
|
groups.lists.hint_multiple_lists = Multiple lists can be added by separating each <em>unique</em> URL with a space or comma
|
|
groups.lists.hint_icon_info = Click on the icon in the first column to get additional information about your lists. The icons correspond to the health of the list.
|
|
groups.lists.toolbar = Toolbar with buttons
|
|
groups.lists.add_blocklist = Add blocklist
|
|
groups.lists.add_allowlist = Add allowlist
|
|
groups.lists.subscribed_lists_title = Subscribed lists
|
|
groups.lists.column_group_assignment = Group assignment
|
|
|
|
interfaces.title = Pi-hole interface overview
|
|
|
|
messages.page_title = Pi-hole diagnosis
|
|
messages.page_description = On this page, you can see messages from your Pi-hole concerning possible issues.
|
|
messages.table_header_time = Time
|
|
messages.table_header_message = Message
|
|
messages.debug_note = Note: If errors are shown, you generate a debug log (use pihole -d), which will do a thorough Pi-hole evaluation.
|
|
|
|
network.overview = Network overview
|
|
network.ip_address_hostname = IP address (hostname)
|
|
network.hardware_address = Hardware address
|
|
network.interface = Interface
|
|
network.first_seen = First seen
|
|
network.last_query = Last Query
|
|
network.number_of_queries = Number of queries
|
|
network.uses_pihole = Uses Pi-hole
|
|
network.action = Action
|
|
network.background_color_description = Background color: Last query from this device seen ...
|
|
network.just_now = just now
|
|
network.to_to = ... to ...
|
|
network.hours_ago_24 = 24 hours ago
|
|
network.older_than_24h = > 24 hours ago
|
|
network.never_used = Device does not use Pi-hole
|
|
|
|
queries.adding_to_list = Adding %s to the %s...
|
|
queries.successfully_added_to_list = %s successfully added to the %s
|
|
queries.timeout_network_error = Timeout or Network Connection Error!
|
|
queries.advanced_filtering = Advanced filtering
|
|
queries.select_date_time_range = Click to select date and time range
|
|
queries.query_on_disk_info = Query on-disk data. This is a lot slower but necessary if you want to obtain queries older than 24 hours. This option disables live update.
|
|
queries.client_by_ip = Client (by IP)*
|
|
queries.client_by_name = Client (by name)*
|
|
queries.upstream = Upstream*
|
|
queries.reply = Reply
|
|
queries.dnssec_status = DNSSEC status
|
|
queries.manual_input_note = * These input fields allow manual input as well. Use <code>*</code> for wildcard search.
|
|
queries.click_refresh_note = Click "Refresh" below to apply.
|
|
queries.recent_queries = Recent Queries
|
|
queries.live_update = Live update
|
|
queries.refresh = Refresh
|
|
queries.click_for_more_info = Click on a query log item to obtain additional information for this query.
|
|
queries.time = Time
|
|
queries.query_reply_time = Query reply time
|
|
queries.note_query_exclusion = Note: Queries for <code>pi.hole</code> and the hostname are never logged.
|
|
|
|
search.header_title = Find Domains In Lists
|
|
search.domain_placeholder = Domain to look for (example.com or sub.example.com)
|
|
search.search = Search
|
|
search.partial_match = Use partial matching
|
|
search.max_results_label = Maximum number of results to be returned:
|
|
|
|
settings.save_apply = Save & Apply
|
|
|
|
settings.all.title = All Settings
|
|
|
|
settings.api.title = Web Interface - API Settings
|
|
settings.api.theme_settings = Theme settings
|
|
settings.api.theme = Theme:
|
|
settings.api.use_boxed_layout = Use the boxed layout
|
|
settings.api.boxed_layout_help = The boxed layout is helpful when working on large screens because it prevents the site from stretching very wide.
|
|
settings.api.advanced_settings = Advanced Settings
|
|
settings.api.prettify_api_output = Prettify API output for human-readability
|
|
settings.api.pretty_json_help = This will make the API output more human-readable, but will increase the size of the output and make the API a bit slower.
|
|
settings.api.allow_destructive_actions = Permit destructive actions via API
|
|
settings.api.allow_destructive_help = This will allow clients to perform destructive actions via the API, such as rebooting or shutting down the system Pi-hole is running on.
|
|
settings.api.enable_2fa = Enable 2FA
|
|
settings.api.disable_2fa = Disable 2FA
|
|
settings.api.exclusions = Exclusions
|
|
settings.api.exclude_domains_title = Domains to be excluded from Top Domain Lists and Query Log
|
|
settings.api.exclude_domains_placeholder = Enter regex domains, one per line
|
|
settings.api.exclude_domains_help = Domains may be described by their domain name (like <code>^example\.com$</code>)
|
|
settings.api.exclude_clients_title = Clients to be excluded from Top Client Lists and Query Log
|
|
settings.api.exclude_clients_placeholder = Enter regex clients, one per line
|
|
settings.api.exclude_clients_help = Clients may be described either by their IP addresses (IPv4 and IPv6 are supported), or hostnames (like <code>^laptop\.lan$</code>).
|
|
settings.api.regex_info_description = Those input fields accept regex entries only.<br>Please refer to <a href="https://docs.pi-hole.net/regex/tutorial/" rel="noopener noreferrer" target="_blank">our guide</a> how to construct valid regex entries.
|
|
settings.api.active_sessions = Currently active sessions
|
|
settings.api.id_title = Session ID used internally by our Pi-hole
|
|
settings.api.session_valid_title = Session is still valid (neither expired nor closed)
|
|
settings.api.session_valid = Valid
|
|
settings.api.session_tls_title = Connection between client and Pi-hole is end-to-end encrypted
|
|
settings.api.session_tls = TLS
|
|
settings.api.session_app_password_title = Session used application password during authentication
|
|
settings.api.session_cli_password_title = Session used CLI password during authentication
|
|
settings.api.session_login_at_title = Time at which the client created the session
|
|
settings.api.session_login_at = Login at
|
|
settings.api.session_valid_until_title = Time at which the session expires (if not prolonged)
|
|
settings.api.session_valid_until = Valid until
|
|
settings.api.session_client_ip_title = The client that created this session (the current connection is highlighted in bold-face)
|
|
settings.api.session_client_ip = Client IP
|
|
settings.api.session_user_agent_title = User agent of the client to ease client identifiability (if available)
|
|
settings.api.session_user_agent = User Agent
|
|
settings.api.enable_two_factor_authentication = Enable two-factor authentication
|
|
settings.api.use_authenticator_app_instruction = Use a phone app like Google Authenticator, 2FA Authenticator, FreeOTP or BitWarden, etc. to get 2FA codes when prompted during login.
|
|
settings.api.scan_qr_code_instruction = 1. Scan the QR code below with your app or enter the secret manually.
|
|
settings.api.qr_code = QR Code
|
|
settings.api.enter_2fa_code_instruction = 2. Enter the 2FA code from your app below to confirm that you have set up 2FA correctly.
|
|
settings.api.important_lost_token_warning = IMPORTANT: If you lose your 2FA token, you will not be able to login. You will need to disable 2FA on the command line and re-enable 2FA to generate a new secret.
|
|
settings.api.configure_app_password = Configure application password
|
|
settings.api.app_password_intro = After you turn on two-factor (2FA) verification and set up an Authenticator app, you may run into issues if you use apps or other services that don't support two-step verification. In this case, you can create and use an app password to sign in.
|
|
settings.api.app_password_description = An app password is a long, randomly generated password that can be used instead of your regular password + 2FA token when signing in to the API. You can revoke the app password at any time. The app password can also be used when 2FA is not enabled.
|
|
settings.api.your_new_app_password_is = Your new app password is:
|
|
settings.api.important_store_password_warning = IMPORTANT: The app password generated here will only be shown once and cannot be recovered. Make sure to store it in a safe place!
|
|
settings.api.existing_app_password_warning_title = Application password already configured
|
|
settings.api.existing_app_password_warning_description = Enabling the new app password will forcefully log out all existing applications.
|
|
settings.api.remove_current_app_password = Remove currently set app password
|
|
settings.api.enable_new_app_password = Enable new app password
|
|
|
|
settings.dhcp.title = DHCP Settings
|
|
settings.dhcp.settings_title = DHCP Settings
|
|
settings.dhcp.server_enabled = DHCP server enabled
|
|
settings.dhcp.server_warning = Make sure your router's DHCP server is disabled when using the Pi-hole DHCP server!
|
|
settings.dhcp.range_label = Range of IP addresses to hand out
|
|
settings.dhcp.start = Start
|
|
settings.dhcp.end = End
|
|
settings.dhcp.router_label = Router (gateway) IP address
|
|
settings.dhcp.router = Router
|
|
settings.dhcp.netmask_label = Netmask
|
|
settings.dhcp.netmask = Netmask
|
|
settings.dhcp.netmask_note = Leave the netmask field empty to have Pi-hole infer it from the configured IP address of your device. If you want to specify a netmask, you can use the format <code>255.255.255.0</code>.
|
|
settings.dhcp.ipv6_support = Enable additional IPv6 support (SLAAC + RA)
|
|
settings.dhcp.ipv6_description = Enable this option to enable IPv6 support for the Pi-hole DHCP server. This will allow the Pi-hole to hand out IPv6 addresses to clients and also provide IPv6 router advertisements (RA) to clients. This option is only useful if the Pi-hole is configured with an IPv6 address.
|
|
settings.dhcp.advanced_settings_title = Advanced DHCP Settings
|
|
settings.dhcp.lease_time_label = DHCP lease time
|
|
settings.dhcp.lease_time = Lease time
|
|
settings.dhcp.lease_time_description = The lease time can be in seconds, minutes (e.g., "45m"), hours (e.g., "1h"), days (like "2d"), or even weeks ("1w"). If no lease time is specified (empty), <code>dnsmasq</code>'s default lease time is one hour for IPv4 and one day for IPv6. You may also use "infinite" as string but be aware of the drawbacks: assigned addresses are will only be made available again after the lease time has passed or when leases are manually deleted below.
|
|
settings.dhcp.rapid_commit = Enable DHCPv4 rapid commit (fast address assignment)
|
|
settings.dhcp.rapid_commit_description = The DHCPv4 rapid commit option allows the Pi-hole DHCP server to assign an IP address to a client right away. This can notably speed up the address assignment process and you will notice, e.g., faster WiFi joins in your network. This option should only be enabled if the Pi-hole DHCP server is the only DHCP server in your network.
|
|
settings.dhcp.multi_dns = Advertise DNS server multiple times
|
|
settings.dhcp.multi_dns_description = Advertise DNS server multiple times to clients. Some devices will add their own proprietary DNS servers to the list of DNS servers, which can cause issues with Pi-hole. This option will advertise the Pi-hole DNS server multiple times to clients, which should prevent this from happening.
|
|
settings.dhcp.ignore_unknown_clients = Ignore unknown DHCP clients
|
|
settings.dhcp.ignore_unknown_clients_description_1 = If this option is set, Pi-hole ignores all clients which are not explicitly configured through dhcp.hosts. This can be useful to prevent unauthorized clients from getting an IP address from the DHCP server.
|
|
settings.dhcp.ignore_unknown_clients_description_2 = It should be noted that this option is not a security feature, as clients can still assign themselves an IP address and use the network. It is merely a convenience feature to prevent unknown clients from getting a valid IP configuration assigned automatically.
|
|
settings.dhcp.ignore_unknown_clients_note = When this feature is enabled <b>you will need to configure new clients manually</b> in <code>dhcp.hosts</code> before they can use the network.
|
|
settings.dhcp.current_leases_title = Currently active DHCP leases
|
|
settings.dhcp.ip_address = IP address
|
|
settings.dhcp.hostname = Hostname
|
|
settings.dhcp.mac_address = MAC address
|
|
settings.dhcp.expiration = Expiration
|
|
settings.dhcp.client_id = Client ID
|
|
settings.dhcp.static_configuration_title = Static DHCP configuration
|
|
settings.dhcp.static_configuration_description = Specify per host parameters for the DHCP server. This allows a machine with a particular hardware address to be always allocated the same hostname, IP address and lease time. A hostname specified like this overrides any supplied by the DHCP client on the machine. It is also allowable to omit the hardware address and include the hostname, in which case the IP address and lease times will apply to any machine claiming that name.
|
|
settings.dhcp.static_configuration_entry_note = Each entry should be on a separate line, and should be of the form:
|
|
settings.dhcp.only_one_entry_per_mac = Only one entry per MAC address is allowed.
|
|
settings.dhcp.static_examples_intro = Examples:
|
|
settings.dhcp.static_example_1 = tells Pi-hole to give the machine with hardware address <code>00:20:e0:3b:13:af</code> the address <code>192.168.0.123</code>
|
|
settings.dhcp.static_example_2 = tells Pi-hole to give the machine with hardware address <code>00:20:e0:3b:13:af</code> the name <code>laptop</code>
|
|
settings.dhcp.static_example_3 = tells Pi-hole to give the machine with hardware address <code>00:20:e0:3b:13:af</code> the address <code>192.168.0.123</code>, the name <code>laptop</code>, and an infinite DHCP lease
|
|
settings.dhcp.advanced_description_title = Advanced description
|
|
settings.dhcp.advanced_description_1 = Addresses allocated like this are not constrained to be in the DHCP range specified above but they must be in the same subnet. For subnets which don't need a pool of dynamically allocated addresses, you can set a one-address range above and specify only static leases here.
|
|
settings.dhcp.advanced_description_2 = It is allowed to use client identifiers (called client DUID in IPv6-land) rather than hardware addresses to identify hosts by prefixing with <code>id:</code>. Thus lines like <code>id:01:02:03:04,.....</code> refer to the host with client identifier <code>01:02:03:04</code>. It is also allowed to specify the client ID as text, like this: <code>id:clientidastext,.....</code>
|
|
settings.dhcp.advanced_description_3 = A single line may contain an IPv4 address or one or more IPv6 addresses, or both. IPv6 addresses must be bracketed by square brackets thus: <code>laptop,[1234::56]</code> IPv6 addresses may contain only the host-identifier part: <code>laptop,[::56]</code> in which case they act as wildcards in constructed DHCP ranges, with the appropriate network part inserted. For IPv6, an address may include a prefix length: <code>laptop,[1234:50/126]</code> which (in this case) specifies four addresses, <code>1234::50</code> to <code>1234::53</code>. This (and the ability to specify multiple addresses) is useful when a host presents either a consistent name or hardware-ID, but varying DUIDs, since it allows dnsmasq to honour the static address allocation but assign a different address for each DUID. This typically occurs when chain netbooting, as each stage of the chain gets in turn allocates an address.
|
|
settings.dhcp.advanced_description_4 = Note that in IPv6 DHCP, the hardware address may not be available, though it normally is for direct-connected clients, or clients using DHCP relays which support RFC 6939.
|
|
settings.dhcp.advanced_description_5 = For DHCPv4, the special option <code>id:*</code> means "ignore any client-id and use MAC addresses only." This is useful when a client presents a client-id sometimes but not others.
|
|
settings.dhcp.advanced_description_6 = If a name appears in <code>/etc/hosts</code>, the associated address can be allocated to a DHCP lease, but only if a separate line specifying the name also exists. Only one hostname can be given per line, but aliases are possible by using CNAMEs. Note that <code>/etc/hosts</code> is NOT used when the DNS server side of dnsmasq is disabled by setting the DNS server port to zero.
|
|
settings.dhcp.advanced_description_7 = More than one line can be associated (by name, hardware address or UID) with a host. Which one is used (and therefore which address is allocated by DHCP and appears in the DNS) depends on the subnet on which the host last obtained a DHCP lease: the line with an address within the subnet is used. If more than one address is within the subnet, the result is undefined. <strong>A corollary to this is that the name associated with a host defined here does not appear in the DNS until the host obtains a DHCP lease.</strong>
|
|
settings.dhcp.advanced_description_8 = The special keyword <code>ignore</code> tells Pi-hole to never offer a DHCP lease to a machine. The machine can be specified by hardware address, client ID or hostname, for instance <code>00:20:e0:3b:13:af,ignore</code>. This is useful when there is another DHCP server on the network which should be used by some machines.
|
|
settings.dhcp.advanced_description_9 = The <code>set:<tag></code> construct sets the tag whenever this line is in use. This can be used to selectively send DHCP options just for this host. More than one tag can be set per line directive (but not in other places where "set:<tag>" is allowed). When a host matches any directive (or one implied by <code>/etc/ethers</code>) then the special tag "<code>known</code>"" is set. This allows Pi-hole to be configured to ignore requests from unknown machines using a custom config option <code>dhcp-ignore=tag:!known</code> in your own config file. If the host matches only a directive which cannot be used because it specifies an address on different subnet, the tag "<code>known-othernet</code>" is set.
|
|
settings.dhcp.advanced_description_10 = The <code>tag:<tag></code> construct filters which directives are used; more than one can be provided, in this case the request must match all of them. Tagged directives are used in preference to untagged ones. Note that one of <code><hwaddr></code>;, <code><client_id></code>; or <code><hostname></code>; still needs to be specified (can be a wildcard).
|
|
settings.dhcp.advanced_description_11 = Ethernet addresses (but not client-ids) may have wildcard bytes, so for example <code>00:20:e0:3b:13:*,ignore</code> will cause Pi-hole to ignore a range of hardware addresses.
|
|
settings.dhcp.advanced_description_12 = Hardware addresses normally match any network (ARP) type, but it is possible to restrict them to a single ARP type by preceding them with the ARP-type (in HEX) and "<code>-</code>". so the line <code>06-00:20:e0:3b:13:af,1.2.3.4</code> will only match a Token-Ring hardware address, since the ARP-address type for token ring is <code>6</code>.
|
|
settings.dhcp.advanced_description_13 = As a special case, in DHCPv4, it is possible to include more than one hardware address. eg: <code>11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2</code>. This allows an IP address to be associated with multiple hardware addresses, and gives Pi-hole permission to abandon a DHCP lease to one of the hardware addresses when another one asks for a lease. Beware that this is a dangerous thing to do, it will only work reliably if only one of the hardware addresses is active at any time and there is no way for dnsmasq to enforce this. It is, for instance, useful to allocate a stable IP address to a laptop which has both wired and wireless interfaces.
|
|
|
|
settings.dns.title = DNS Settings
|
|
settings.dns.upstream_dns_servers = Upstream DNS Servers
|
|
settings.dns.ipv4 = IPv4
|
|
settings.dns.ipv6 = IPv6
|
|
settings.dns.name = Name
|
|
settings.dns.ecs_description = ECS (Extended Client Subnet) defines a mechanism for recursive resolvers to send partial client IP address information to authoritative DNS name servers. Content Delivery Networks (CDNs) and latency-sensitive services use this to give geo-located responses when responding to name lookups coming through public DNS resolvers. <em>Note that ECS may result in reduced privacy</em>.
|
|
settings.dns.custom_dns_servers = Custom DNS servers
|
|
settings.dns.custom_dns_servers_description = The following list contains all DNS servers selected above. Furthermore, you can add your own custom DNS servers here. The expected format is one server per line in form of <code>IP#port</code>, where the <code>port</code> is optional. If given, it has to be separated by a hash <code>#</code> from the address (e.g. <code>127.0.0.1#5335</code> for a local <code>unbound</code> instance running on port <code>5335</code>). The port defaults to 53 if omitted.
|
|
settings.dns.placeholder_upstream_servers = Enter upstream DNS servers, one per line
|
|
settings.dns.domain_settings = DNS domain settings
|
|
settings.dns.pihole_domain_name = Pi-hole domain name
|
|
settings.dns.domain_description = The DNS domains for your Pi-hole. This DNS domain is purely local. FTL may answer queries from its local cache and configuration but *never* forwards any requests upstream *unless* you have configured a dns.revServer exactly for this domain. If no domain is specified and you are using Pi-hole's DHCP server, then any hostnames with a domain part (i.e., with a period) will be disallowed. If a domain is specified, then hostnames with a domain parts matching the domain here are allowed. In addition, when a suffix is set then hostnames without a domain part have the suffix added as an optional domain part.
|
|
settings.dns.domain_needed = domain-needed
|
|
settings.dns.expand_hostnames = Expand hostnames
|
|
settings.dns.expand_hostnames_description = If set, the domain is added to simple names (without a period) in /etc/hosts in the same way as for DHCP-derived names.
|
|
settings.dns.rate_limiting = Rate-limiting
|
|
settings.dns.rate_limiting_config = Block clients making more than %s queries within %s seconds.
|
|
settings.dns.rate_limiting_behavior = When a client makes too many queries in too short time, it gets rate-limited. Rate-limited queries are answered with a <code>REFUSED</code> reply and not further processed by FTL and prevent Pi-holes getting overwhelmed by rogue clients. It is important to note that rate-limiting is happening on a per-client basis. Other clients can continue to use FTL while rate-limited clients are short-circuited at the same time.
|
|
settings.dns.rate_limiting_disable = Rate-limiting may be disabled altogether by setting both values to zero. See <a href="https://docs.pi-hole.net/ftldns/configfile/#rate_limit" rel="noopener noreferrer" target="_blank">our documentation</a> for further details.
|
|
settings.dns.interface_settings = Interface settings
|
|
settings.dns.recommended_setting = Recommended setting
|
|
settings.dns.allow_only_local_requests = Allow only local requests
|
|
settings.dns.allow_only_local_requests_help = Allows only queries from devices that are at most one hop away (local devices)
|
|
settings.dns.potentially_dangerous_options = Potentially dangerous options
|
|
settings.dns.respond_only_on_interface = Respond only on interface %s
|
|
settings.dns.bind_only_to_interface = Bind only to interface %s
|
|
settings.dns.permit_all_origins = Permit all origins
|
|
settings.dns.dangerous_options_help = These options are dangerous on devices directly connected to the Internet such as cloud instances and are only safe if your Pi-hole is properly firewalled. In a typical at-home setup where your Pi-hole is located within your local network (and you have <strong>not</strong> forwarded port 53 in your router!) they are safe to use.
|
|
settings.dns.interface_doc_reference = See <a href="https://docs.pi-hole.net/ftldns/interfaces/" rel="noopener noreferrer" target="_blank">our documentation</a> for further technical details.
|
|
settings.dns.advanced_dns_settings = Advanced DNS settings
|
|
settings.dns.never_forward_non_fqdn = Never forward non-FQDN <code>A</code> and <code>AAAA</code> queries
|
|
settings.dns.never_forward_non_fqdn_help_1 = Tells Pi-hole to never forward A or AAAA queries for plain names, without dots or domain parts, to upstream nameservers. If the name is not known from <code>/etc/hosts</code> or DHCP then a "not found" answer is returned.
|
|
settings.dns.never_forward_non_fqdn_help_2 = If Conditional Forwarding is enabled, unticking this box may cause a partial DNS loop under certain circumstances (e.g. if a client would send TLD DNSSEC queries).
|
|
settings.dns.bogus_priv = bogus-priv
|
|
settings.dns.never_forward_reverse_private = Never forward reverse lookups for private IP ranges
|
|
settings.dns.never_forward_reverse_private_help = All reverse lookups for private IP ranges (i.e., <code>192.168.0.x/24</code>, etc.) which are not found in <code>/etc/hosts</code> or the DHCP leases are answered with "no such domain" rather than being forwarded upstream. The set of prefixes affected is the list given in <a href="https://tools.ietf.org/html/rfc6303" rel="noopener noreferrer" target="_blank">RFC6303</a>.
|
|
settings.dns.privacy_warning = Enabling these two options may increase your privacy, but may also prevent you from being able to access local hostnames if the Pi-hole is not used as DHCP server. Make sure you have set up conditional forwarding in this case.
|
|
settings.dns.use_dnssec = Use DNSSEC
|
|
settings.dns.use_dnssec_help = Validate DNS replies and cache DNSSEC data. When forwarding DNS queries, Pi-hole requests the DNSSEC records needed to validate the replies. If a domain fails validation or the upstream does not support DNSSEC, this setting can cause issues resolving domains. Use an upstream DNS server which supports DNSSEC when activating DNSSEC. Note that the size of your log might increase significantly when enabling DNSSEC. A DNSSEC resolver test can be found <a href="https://dnssec.vs.uni-due.de/" rel="noopener noreferrer" target="_blank">here</a>.
|
|
settings.dns.conditional_forwarding = Conditional forwarding
|
|
settings.dns.conditional_forwarding_note_1 = If not configured as your DHCP server, Pi-hole typically won't be able to determine the names of devices on your local network. As a result, tables such as Top Clients will only show IP addresses.
|
|
settings.dns.conditional_forwarding_note_2 = One solution for this is to configure Pi-hole to forward these requests to your DHCP server (most likely your router), but only for devices on your home network. To configure this we will need to know the IP address of your DHCP server and which addresses belong to your local network. Exemplary input is given below as placeholder in the text boxes (if empty).
|
|
settings.dns.conditional_forwarding_note_3 = If your local network spans 192.168.0.1 - 192.168.0.255, then you will have to input <code>192.168.0.0/24</code>. If your local network is 192.168.47.1 - 192.168.47.255, it will be <code>192.168.47.0/24</code> and similar. If your network is larger, the CIDR has to be different, for instance a range of 10.8.0.1 - 10.8.255.255 results in <code>10.8.0.0/16</code>, whereas an even wider network of 10.0.0.1 - 10.255.255.255 results in <code>10.0.0.0/8</code>. Setting up IPv6 ranges is exactly similar to setting up IPv4 here and fully supported. Feel free to reach out to us on our <a href="https://discourse.pi-hole.net" rel="noopener noreferrer" target="_blank">Discourse forum</a> in case you need any assistance setting up local host name resolution for your particular system.
|
|
settings.dns.conditional_forwarding_note_4 = You can also specify a local domain name (like <code>fritz.box</code>) to ensure queries to devices ending in your local domain name will not leave your network, however, this is optional. The local domain name must match the domain name specified in your DHCP server for this to work. You can likely find it within the DHCP settings.
|
|
settings.dns.conditional_forwarding_note_5 = Enabling Conditional Forwarding will also forward all hostnames (i.e., non-FQDNs) to the router when "Never forward non-FQDNs" is <em>not</em> enabled.
|
|
settings.dns.conditional_forwarding_note_6 = The following list contains all reverse servers you want to add. The expected format is one server per line in form of <code><enabled>,<ip-address>[/<prefix-len>],<server>[#<port>][,<domain>]</code>. A valid config line could look like <code>true,192.168.0.0/24,192.168.0.1,fritz.box</code>
|
|
settings.dns.placeholder_rev_servers = Enter reverse DNS servers, one per line
|
|
|
|
settings.dnsrecords.title = Local DNS Settings
|
|
settings.dnsrecords.local_dns_records = Local DNS records
|
|
settings.dnsrecords.list_local_dns_records = List of local DNS records
|
|
settings.dnsrecords.associated_ip_placeholder = Associated IP
|
|
settings.dnsrecords.dns_cache_note = Adding/removing local DNS records will flush the cache but does not require a restart of the DNS server.
|
|
settings.dnsrecords.local_cname_records = Local CNAME records
|
|
settings.dnsrecords.list_local_cname_records = List of local CNAME records
|
|
settings.dnsrecords.target = Target
|
|
settings.dnsrecords.ttl = TTL *
|
|
settings.dnsrecords.target_domain_placeholder = Target Domain
|
|
settings.dnsrecords.cname_note_intro = The target of a <code>CNAME</code> must be a domain that the Pi-hole already has in its cache or is authoritative for. This is a universal limitation of <code>CNAME</code> records.
|
|
settings.dnsrecords.cname_note_detail = The reason for this is that Pi-hole will not send additional queries upstream when serving <code>CNAME</code> replies. As consequence, if you set a target that isn't already known, the reply to the client may be incomplete. Pi-hole just returns the information it knows at the time of the query. This results in certain limitations for <code>CNAME</code> targets, for instance, only <em>active</em> DHCP leases work as targets - mere DHCP <em>leases</em> aren't sufficient as they aren't (yet) valid DNS records.
|
|
settings.dnsrecords.cname_external_domains_warning = Additionally, you can't <code>CNAME</code> external domains (<code>bing.com</code> to <code>google.com</code>) successfully as this could result in invalid SSL certificate errors when the target server does not serve content for the requested domain.
|
|
settings.dnsrecords.cname_restart_note = Adding/removing local CNAME records will restart the DNS server.
|
|
|
|
settings.privacy.title = Privacy Settings
|
|
settings.privacy.query_logging = Query Logging
|
|
settings.privacy.logging_file = The currently configured logging file is %s
|
|
settings.privacy.log_queries = log-queries
|
|
settings.privacy.log_dns_queries = Log DNS queries and replies
|
|
settings.privacy.database_settings = Privacy-related database settings
|
|
settings.privacy.database_location = Pi-hole's long-term database is stored at %s
|
|
settings.privacy.load_queries_from_database = Should FTL load queries from the database on (re)start?
|
|
settings.privacy.max_db_days = Maximum number of days to keep queries in the database
|
|
settings.privacy.network_expire = How long should IP addresses be kept in the network_addresses table [days]?
|
|
settings.privacy.cleanup_description = IP addresses (and associated host names) older than the specified number of days are removed to avoid dead entries in the network overview table.
|
|
settings.privacy.query_anonymization = Query Anonymization ("Privacy Level")
|
|
settings.privacy.query_anonymization_description = Specify if DNS queries should be anonymized, available options are:
|
|
settings.privacy.privacy_level_0 = Show everything and record everything
|
|
settings.privacy.privacy_level_0_help = Gives maximum amount of statistics
|
|
settings.privacy.privacy_level_1 = Hide domains: Display and store all domains as <code>hidden</code>
|
|
settings.privacy.privacy_level_1_help = This disables the Top Permitted Domains and Top Blocked Domains tables on the dashboard
|
|
settings.privacy.privacy_level_2 = Hide domains and clients: Display and store all domains as <code>hidden</code> and all clients as <code>0.0.0.0</code>
|
|
settings.privacy.privacy_level_2_help = This disables all tables on the dashboard
|
|
settings.privacy.privacy_level_3 = Anonymous mode: This disables basically everything except the live anonymous statistics
|
|
settings.privacy.privacy_level_3_help = No history is saved at all to the database, and nothing is shown in the query log. Also, there are no top item lists. Note that this also largely disabled regex capabilities.
|
|
settings.privacy.privacy_level_restart_notice = The privacy level may be increased at any time without having to restart the DNS resolver. However, note that the DNS resolver needs to be restarted when lowering the privacy level. This restarting is automatically done when saving.
|
|
|
|
settings.system.title = System Settings
|
|
settings.system.system_information = System Information
|
|
settings.system.hostname = Hostname:
|
|
settings.system.cpu = CPU:
|
|
settings.system.ram = RAM:
|
|
settings.system.swap = Swap:
|
|
settings.system.kernel = Kernel:
|
|
settings.system.uptime = Uptime:
|
|
settings.system.ftl = FTL:
|
|
settings.system.last_restart = PID %s, last restart was on %s
|
|
settings.system.primary_ip_addresses = Primary IP addresses
|
|
settings.system.ipv4 = IPv4
|
|
settings.system.ipv6 = IPv6
|
|
settings.system.dhcp_server_metrics = DHCP server metrics
|
|
settings.system.dhcpdiscover_title = Client broadcast to locate available servers
|
|
settings.system.dhcpdiscover = DHCPDISCOVER:
|
|
settings.system.dhcpoffer_title = Server to client in response to DHCPDISCOVER with offer of configuration parameters
|
|
settings.system.dhcpoffer = DHCPOFFER:
|
|
settings.system.dhcprequest_title = Client message to servers either 
 (a) requesting offered parameters from one server and implicitly declining offers from all others, 
 (b) confirming correctness of previously allocated address after, e.g., system reboot, or 
 (c) extending the lease on a particular network address
|
|
settings.system.dhcprequest = DHCPREQUEST:
|
|
settings.system.dhcpack_title = Server to client with configuration parameters, including committed network address
|
|
settings.system.dhcpack = DHCPACK:
|
|
settings.system.dhcpnak_title = Server to client indicating client's notion of network address is incorrect (e.g., client has moved to new subnet) or client's lease as expired
|
|
settings.system.dhcpnak = DHCPNAK:
|
|
settings.system.dhcpdecline_title = Client to server indicating network address is already in use
|
|
settings.system.dhcpdecline = DHCPDECLINE:
|
|
settings.system.dhcpinform_title = Client to server, asking only for local configuration parameters; client already has externally configured network address
|
|
settings.system.dhcpinform = DHCPINFORM:
|
|
settings.system.dhcprelease_title = Client to server relinquishing network address and cancelling remaining lease
|
|
settings.system.dhcprelease = DHCPRELEASE:
|
|
settings.system.dhcpnoanswer_title = Could not provide an answer, e.g., because there are no leases left, the client wants to renew a lease that is outside of our range, or the explicitly requested address is already in use
|
|
settings.system.dhcpnoanswer = DHCPNOANSWER:
|
|
settings.system.bootp_title = Processed BOOTP packets
|
|
settings.system.bootp = BOOTP:
|
|
settings.system.pxe_title = Processed PXE packets
|
|
settings.system.pxe = PXE:
|
|
settings.system.allocated_pruned_ipv4_leases = Allocated / pruned IPv4 leases:
|
|
settings.system.allocated_pruned_ipv6_leases = Allocated / pruned IPv6 leases:
|
|
settings.system.dns_cache_metrics = DNS cache metrics
|
|
settings.system.dns_cache_size_label = Total size of the DNS cache
|
|
settings.system.dns_cache_size = DNS cache size:
|
|
settings.system.active_cache_records_label = Share of the allocated cache that is currently in use (this includes stale/expired entries). If the percentage value is very low, it is advisable to reduce the DNS cache size to optimize performance
|
|
settings.system.active_cache_records = Active cache records:
|
|
settings.system.total_cache_insertions_label = Number of cache insertions, this number will grow continuously as expiring records naturally make space for new records
|
|
settings.system.total_cache_insertions = Total cache insertions:
|
|
settings.system.dns_cache_evictions_label = Number of cache entries that had to be removed although they are not expired. When this number if larger than zero, you should consider increasing your total cache size
|
|
settings.system.dns_cache_evictions = DNS cache evictions:
|
|
settings.system.expired_dns_cache_entries_label = Number of expired cache entries (they can still be used by the cache optimizer). These entries will only be freed when space is really needed (for efficiency reasons)
|
|
settings.system.expired_dns_cache_entries = Expired DNS cache entries:
|
|
settings.system.immortal_dns_cache_entries_label = Number of immortal cache entries that will never expire (e.g. from /etc/hosts or local configuration)
|
|
settings.system.immortal_dns_cache_entries = Immortal DNS cache entries:
|
|
settings.system.dns_cache_documentation = See also our <a href="https://docs.pi-hole.net/ftldns/dns-cache/" rel="noopener noreferrer" target="_blank">DNS cache documentation</a>.
|
|
settings.system.dns_reply_metrics = DNS reply metrics
|
|
settings.system.local_cache_replies = Local/cache replies:
|
|
settings.system.forwarded_queries = Forwarded queries:
|
|
settings.system.cache_optimizer_replies = Cache optimizer replies:
|
|
settings.system.unanswered_queries = Unanswered queries:
|
|
settings.system.authoritative_replies = Authoritative replies:
|
|
settings.system.actions = Actions
|
|
settings.system.restart_dns_resolver = Restart DNS resolver
|
|
settings.system.flush_network_table = Flush network table
|
|
settings.system.flush_logs = Flush logs (last 24 hours)
|
|
|
|
settings.teleporter.title = Teleporter
|
|
settings.teleporter.export_configuration = Export your Pi-hole's configuration
|
|
settings.teleporter.export_warning = Warning:
|
|
settings.teleporter.export_sensitive_info = This archive contains sensitive information about your Pi-hole installation, e.g. your 2FA-TOTP secret (if enabled). Please be careful with this file and do not share it with anyone even if they claim to help you.
|
|
settings.teleporter.no_encryption_warning = You are currently not using an end-to-end encryption. This means that secrets like your 2FA-TOTP secret will be transmitted in plain text. We recommend to use HTTPS when exporting your configuration.
|
|
settings.teleporter.export = Export
|
|
settings.teleporter.import_configuration = Import previously exported configuration
|
|
settings.teleporter.file_input = File input
|
|
settings.teleporter.import_help_block = When importing settings from a <em>newer</em> version of Pi-hole, not yet existing settings will be ignored. When importing from an <em>older</em> version of Pi-hole, settings for newer features will be initialized with their default values.
|
|
settings.teleporter.select_import = Select what to import
|
|
settings.teleporter.import_config = Configuration
|
|
settings.teleporter.import_dhcp_leases = DHCP leases
|
|
settings.teleporter.import_domains = Domains/Regexes
|
|
settings.teleporter.import = Import
|
|
settings.teleporter.modal_importing_title = Importing Pi-hole teleporter file...
|
|
settings.teleporter.modal_importing_text = Depending on your network speed, it may take a few moments until the file is uploaded and imported. Please be patient and don't interrupt the process...
|
|
settings.teleporter.modal_gravity_prompt = Please run gravity
|
|
settings.teleporter.modal_gravity_text = Use <a href='%sgravity?lang=%s'>Tools → Update Gravity</a> or run <code>pihole -g</code> to update your lists.
|
|
|
|
taillog.autoscroll = Autoscroll:
|
|
taillog.live = Live
|
|
|
|
# javascript translations
|
|
charts.toggle_visibility = Toggle visibility
|
|
charts.text_link_title = List %s queries
|
|
charts.no_activity_recorded = No activity recorded
|
|
charts.doughnut_tooltip = %s:<br>• %s% of all data<br>• %s% of shown items
|
|
|
|
footer.blocking_disabled = Blocking disabled
|
|
footer.dns_server_failure = DNS server failure
|
|
footer.status_unknown = Status unknown
|
|
footer.queries_per_minute = Queries per minute
|
|
footer.queries_per_second = Queries per second
|
|
footer.num_allowed_title = Allowed: %s exact domains and %s regex filters are enabled
|
|
footer.num_denied_title = Denied: %s exact domains and %s regex filters are enabled
|
|
footer.ftl_cpu_usage = (%s% used by FTL)
|
|
footer.ftl_ram_usage = (%s% used by FTL)
|
|
footer.destructive_action_disabled = Destructive actions are disabled by a config setting
|
|
footer.memory_usage = Memory usage
|
|
footer.total_memory = Total memory
|
|
footer.swap_usage = Swap usage
|
|
footer.sysinfo_memory = %s% of %s %s is used
|
|
footer.sysinfo_swap = %s% of %s %s is used
|
|
footer.no_swap_space_available = No swap space available
|
|
footer.cpu_load = Load
|
|
footer.cpu_load_average = Load averages for the past 1, 5, and 15 minutes\non a system with %s core running %s processes
|
|
footer.cpus_load_average = Load averages for the past 1, 5, and 15 minutes\non a system with %s cores running %s processes
|
|
footer.cpu_load_too_high = (load is higher than the number of cores)
|
|
footer.sysinfo_cpu = %s% on %s core running %s processes
|
|
footer.sysinfo_cpus = %s% on %s cores running %s processes
|
|
footer.system_uptime_title = System uptime: %s (running since %s)
|
|
footer.system_uptime = %s (running since %s)
|
|
footer.version_docker = Docker Tag
|
|
footer.version_core = Core
|
|
footer.version_ftl = FTL
|
|
footer.version_web = Web interface
|
|
footer.update_available = Update available!
|
|
footer.docker_update_hint = To install updates, <a href="https://github.com/pi-hole/docker-pi-hole#upgrading-persistence-and-customizations" rel="noopener noreferrer" target="_blank">replace this old container with a fresh upgraded image</a>.
|
|
footer.other_update_hint = To install updates, run <code><a href="https://docs.pi-hole.net/main/update/" rel="noopener noreferrer" target="_blank">pihole -up</a></code>.
|
|
footer.expert_on = Expert
|
|
footer.expert_off = Basic
|
|
footer.connection_encrypted = Your connection is end-to-end encrypted (TLS/SSL)
|
|
footer.connection_not_encrypted = Your connection is NOT end-to-end encrypted (TLS/SSL)
|
|
footer.original_remote_address = Original remote address: %s
|
|
footer.render_time = Render time: %s ms
|
|
|
|
groups.table_row_tooltip = Added: %s\nLast modified: %s\nDatabase ID: %s
|
|
groups.delete_items = Deleting %s %s...
|
|
groups.successfully_deleted = Successfully deleted %s
|
|
groups.error_deleting = Error while deleting %s
|
|
groups.error_server_took_too_long = The server took too long to send the data.
|
|
groups.error_unknown = An unknown error occurred while loading the data.
|
|
groups.adding_groups = Adding group(s)...
|
|
groups.specify_group_name = Please specify a group name
|
|
groups.error_adding_group = Error while adding new group
|
|
groups.editing_group = Editing group...
|
|
groups.error_editing_group = Error while %s group with name %s
|
|
|
|
groups.clients.hostname = hostname
|
|
groups.clients.hostnames = hostnames
|
|
groups.clients.vendor = vendor
|
|
groups.clients.select_client = Select client...
|
|
groups.clients.input_not_valid = Input is neither a valid IP or MAC address nor a valid host name!
|
|
groups.clients.adding_clients = Adding client(s)...
|
|
groups.clients.specify_client = Please specify a client IP or MAC address
|
|
groups.clients.error_adding_client = Error while adding new client
|
|
groups.clients.editing_client = Editing client...
|
|
groups.clients.error_editing_client = Error while %s client %s
|
|
|
|
groups.domains.did_you_mean = Did you mean
|
|
groups.domains.adding_domain = Adding domain(s)
|
|
groups.domains.specify_domain = Please specify at least one domain
|
|
groups.domains.error_adding_domain = Error while adding new domain
|
|
groups.domains.error_editing_domain = Error while %s domain %s
|
|
|
|
groups.lists.num_in_abp_style = (out of which %s are in ABP-style)
|
|
groups.lists.health_status = Health status
|
|
groups.lists.added_to_pihole = Added to Pi-hole
|
|
groups.lists.last_modified = Database entry last modified
|
|
groups.lists.last_updated = Content last updated on
|
|
groups.lists.num_entries = Number of entries
|
|
groups.lists.num_non_domains = Number of non-domains
|
|
groups.lists.database_id = Database ID
|
|
groups.lists.click_for_details = Click for details about this list
|
|
groups.lists.unknown = Unknown
|
|
groups.lists.disabled_not_checked = List is disabled and not checked
|
|
groups.lists.not_downloaded = List was not downloaded so far
|
|
groups.lists.download_successful = List download was successful
|
|
groups.lists.status_ok = OK
|
|
groups.lists.unchanged_used_local = List unchanged upstream, Pi-hole used a local copy
|
|
groups.lists.unavailable_used_local = List unavailable, Pi-hole used a local copy
|
|
groups.lists.status_check_list = check list
|
|
groups.lists.unavailable_no_local = List unavailable, there is no local copy of this list available on your Pi-hole
|
|
groups.lists.status_replace_list = replace list
|
|
groups.lists.unknown_type = This list is of unknown type
|
|
groups.lists.blocklist = This is a blocklist
|
|
groups.lists.allowlist = This is an allowlist
|
|
groups.lists.adding_subscribed = Adding subscribed %s...
|
|
groups.lists.specify_address = Please specify %s address
|
|
groups.lists.error_adding_list = Error while adding new %s
|
|
groups.lists.editing_address = Editing address...
|
|
groups.lists.error_editing_address = Error while %s %s %s
|
|
|
|
index.other_dns_queries = Other DNS Queries
|
|
index.blocked_dns_queries = Blocked DNS Queries
|
|
index.cached_dns_queries = Cached DNS Queries
|
|
index.forwarded_dns_queries = Forwarded DNS Queries
|
|
index.no_data = - No data -
|
|
index.num_total_clients = %s total clients
|
|
index.list_never_updated = Lists were never updated
|
|
index.lists_updated = Lists updated %s\n(%s)
|
|
index.error_updating_gravity = Error! Update gravity to reset this value.
|
|
index.error_num = Error (%s)
|
|
index.queries_from_to = Queries from %s to %s
|
|
index.activity_from_to = Client activity from %s to %s
|
|
index.query_type = Query type
|
|
index.upstream_server = Upstream server
|
|
|
|
interfaces.master_interface = Master interface
|
|
interfaces.speed = Speed: %s Mbit/s
|
|
interfaces.flags = Flags: %s
|
|
interfaces.permanent = permanent
|
|
interfaces.hardware_address = Hardware address
|
|
interfaces.num_connected_to = %s address connected to interface
|
|
interfaces.nums_connected_to = %s addresses connected to interface
|
|
interfaces.local = Local
|
|
interfaces.broadcast = Broadcast: %s
|
|
interfaces.scope = Scope: %s
|
|
interfaces.preferred_lifetime = Preferred lifetime: %s
|
|
interfaces.valid_lifetime = Valid lifetime: %s
|
|
interfaces.created = Created: %s
|
|
interfaces.last_updated = Last updated: %s
|
|
interfaces.statistics = Statistics
|
|
interfaces.rx_bytes = RX bytes: %s %s
|
|
interfaces.tx_bytes = TX bytes: %s %s
|
|
interfaces.rx_packets = RX packets: %s
|
|
interfaces.rx_errors = RX errors: %s (%s%)
|
|
interfaces.rx_dropped = RX dropped: %s (%s%)
|
|
interfaces.tx_packets = TX packets: %s
|
|
interfaces.tx_errors = TX errors: %s (%s%)
|
|
interfaces.tx_dropped = TX dropped: %s (%s%)
|
|
interfaces.multicast = Multicast: %s
|
|
interfaces.collisions = Collisions: %s
|
|
interfaces.further_details = Further details
|
|
interfaces.carrier = Carrier
|
|
interfaces.connected = Connected
|
|
interfaces.disconnected = Disconnected
|
|
interfaces.state = State: %s
|
|
interfaces.parent_devices = Parent device: %s
|
|
interfaces.carrier_changes = Carrier changes: %s
|
|
interfaces.mtu = MTU: %s bytes%s
|
|
interfaces.tx_queue_length = TX queue length: %s
|
|
interfaces.promiscuity_mode = Promiscuity mode: %s
|
|
interfaces.scheduler = Scheduler: %s
|
|
|
|
login.wrong_password = Wrong password!
|
|
login.hide_password = Hide password
|
|
login.show_password = Show password as plain text. Warning: this will display your password on the screen
|
|
|
|
messages.no_issues_found = No issues found.
|
|
messages.deleting_message = Deleting message...
|
|
messages.id = ID: %s
|
|
messages.deleting_successfull = Successfully deleted message
|
|
messages.error_deleting = Error while deleting message: %s
|
|
|
|
network.error_server_took_too_long = The server took too long to send the data.
|
|
network.error_unknown = An unknown error occurred while loading the data.
|
|
network.error_connection_refused = An error occurred while loading the data: Connection refused. Is FTL running?
|
|
network.deleting_table_entry = Deleting network table entry...
|
|
network.deleting_entry_success = Successfully deleted network table entry
|
|
network.error_deleting_entry = Error while deleting network table entry with ID %
|
|
network.mock_mac = Mock MAC address
|
|
|
|
queries.last_10_minutes = Last 10 Minutes
|
|
queries.last_hour = Last Hour
|
|
queries.last_7_days = Last 7 Days
|
|
queries.last_30_days = Last 30 Days
|
|
queries.this_month = This Month
|
|
queries.last_month = Last Month
|
|
queries.this_year = This Year
|
|
queries.all_time = All Time
|
|
queries.error_server_took_too_long = The server took too long to send the data.
|
|
queries.error_unknown = An unknown error occurred while loading the data.
|
|
queries.blocked_gravity = Blocked (gravity)
|
|
queries.forwarded_reply = Forwarded, reply from %s
|
|
queries.forwarded_to = Forwarded to %s
|
|
queries.cache_served = Served from cache
|
|
queries.blocked_regex = Blocked (regex)
|
|
queries.blocked_exact = Blocked (exact)
|
|
queries.blocked_external_ip = Blocked (external, IP)
|
|
queries.blocked_external_null = Blocked (external, NULL)
|
|
queries.blocked_external_nxra = Blocked (external, NXRA)
|
|
queries.blocked_external_ede15 = Blocked (external, EDE15)
|
|
queries.blocked_gravity_cname = Blocked (gravity, CNAME)
|
|
queries.blocked_regex_cname = Blocked (regex denied, CNAME)
|
|
queries.blocked_exact_cname = Blocked (exact denied, CNAME)
|
|
queries.retried = Retried
|
|
queries.retried_ignored = Retried (ignored)
|
|
queries.forwarded_waiting = Already forwarded, awaiting reply
|
|
queries.cache_optimized = Served by cache optimizer
|
|
queries.status = Query Status
|
|
queries.search_lists = search lists
|
|
queries.query_was = Query was %s%s
|
|
queries.query_was_blocked = Query was blocked during CNAME inspection of %s
|
|
queries.ttl = Time-to-live (TTL)
|
|
queries.database_id = Database ID
|
|
queries.no_reply = No reply received
|
|
queries.error_extended_dns = Extended DNS error
|
|
queries.received_on = Query received on
|
|
queries.dnssec = DNSSEC
|
|
queries.blocked = blocked %s
|
|
|
|
search.found_domain_partially = Found %s domain <em>partially</em> matching %s
|
|
search.found_domains_partially = Found %s domains <em>partially</em> matching %s
|
|
search.found_domain_exactly = Found %s domain <em>exactly</em> matching %s
|
|
search.found_domains_exactly = Found %s domains <em>exactly</em> matching %s
|
|
search.added = added
|
|
search.last_modified = last modified
|
|
search.used_in_group = used in %s group
|
|
search.used_in_groups = used in %s groups
|
|
search.comment = comment
|
|
search.no_comment = no comment
|
|
search.found_list_partially = Found %s list <em>partially</em> matching %s
|
|
search.found_lists_partially = Found %s lists <em>partially</em> matching %s
|
|
search.found_list_exactly = Found %s list <em>exactly</em> matching %s
|
|
search.found_lists_exactly = Found %s lists <em>exactly</em> matching %s
|
|
search.last_updated = last updated
|
|
search.matching_entries = matching entries
|
|
search.num_results_per_type = Number of results per type
|
|
search.exact_matches = - %s exact domain matches
|
|
search.regex_matches = - %s regex domain matches
|
|
search.allowlist_matches = - %s allowlist (antigravity) matches
|
|
search.blocklist_matches = - %s blocklist (gravity) matches
|
|
search.num_of_results_is_limited = The number of results to return per type is limited to %s entries.
|
|
search.num_of_entries = There are %s matching entries in total.
|
|
search.consider_other_search_term = Consider using a more specific search term or increase N.
|
|
|
|
settings.confirmation_required = Confirmation required
|
|
settings.expert_settings = Expert level setting
|
|
settings.ftl_restart_required = Setting requires FTL restart on change
|
|
settings.env_variables_are_read_only = Settings overwritten by an environmental variable are read-only
|
|
settings.successfully_saved_settings = Successfully saved and applied settings
|
|
settings.error_applying_settings = Error while applying settings
|
|
|
|
settings.advanced.available_options = Available options
|
|
settings.advanced.allowed_value = Allowed value: %s
|
|
settings.advanced.modified_from_default = Modified from default
|
|
settings.advanced.default_value = Default Value: %s
|
|
settings.advanced.value_string = Value <small>(string)</small>
|
|
settings.advanced.value_integer = Value <small>(integer)</small>
|
|
settings.advanced.value_unsigned_integer = Value <small>(unsigned integer)</small>
|
|
settings.advanced.value_unsigned_16bit_integer = Value <small>(unsigned 16bit integer)</small>
|
|
settings.advanced.value_per_line_different = Values <small>(one item per line)</small>
|
|
settings.advanced.value_type_not_definded = TYPE %s NOT DEFINED
|
|
settings.advanced.modified_settings = Modified settings
|
|
settings.advanced.all_settings = All settings
|
|
|
|
settings.api.delete_current_session = Delete your current session\nWARNING: This will require you to re-login
|
|
settings.api.delete_this_session = Delete this session
|
|
settings.api.current_web_session = This is the session you are currently using for the web interface
|
|
settings.api.session_partially_e2e_encrypted = Session is PARTIALLY end-to-end encrypted
|
|
settings.api.session_e2e_encrypted = Session is end-to-end encrypted (TLS/SSL)
|
|
settings.api.session_not_e2e_encrypted = Session is NOT end-to-end encrypted (TLS/SSL)
|
|
settings.api.orignal_remote_address = Original remote address: %s
|
|
settings.api.no_active_sessions_found = No active sessions found.
|
|
settings.api.replace_password_text = Are you sure you want to replace your previous app password? You will need to re-login to continue using the web interface.
|
|
settings.api.replace_password_confirm = Yes, replace password
|
|
settings.api.replace_password_deny = No, go back
|
|
settings.api.password_enabled = App password has been enabled, you will need to re-login to continue using the web interface.
|
|
settings.api.password_disabled = App password has been disabled, you may need to re-login to continue using the web interface.
|
|
settings.api.2fa_enabled = Two-factor authentication has been enabled, you will need to re-login to continue using the web interface.
|
|
settings.api.2fa_disabled = Two-factor authentication has been disabled, you will need to re-login to continue using the web interface.
|
|
settings.api.2fa_disable_title = Are you sure you want to disable 2FA authentication on your Pi-hole?
|
|
settings.api.2fa_disable_confirm = Yes, disable 2FA
|
|
settings.api.2fa_disable_deny = No, keep 2FA enabled
|
|
settings.api.no_dhcp_leases_found = No DHCP leases found.
|
|
settings.api.deleting_lease = Deleting lease...
|
|
settings.api.successfully_deleted_lease = Successfully deleted lease
|
|
settings.api.error_deleting_lease = Error while deleting lease: %s
|
|
|
|
settings.dnsrecords.no_dns_records = No local DNS records defined.
|
|
settings.dnsrecords.no_cname_records = No local CNAME records defined.
|
|
settings.dnsrecords.deleting_dns_records = Deleting DNS record...
|
|
settings.dnsrecords.successfully_deleted_dns_record = Successfully deleted DNS record
|
|
settings.dnsrecords.error_deleting_dns_record = Error while deleting DNS record: %s
|
|
settings.dnsrecords.deleting_cname_record = Deleting local CNAME record...
|
|
settings.dnsrecords.successfully_deleted_cname_record = Successfully deleted local CNAME record
|
|
settings.dnsrecords.error_deleting_cname_record = Error while deleting CNAME record: %s
|
|
settings.dnsrecords.adding_dns_record = Adding DNS record...
|
|
settings.dnsrecords.successfully_added_dns_record = Successfully added DNS record
|
|
settings.dnsrecords.error_adding_dns_record = Error while adding DNS record
|
|
settings.dnsrecords.adding_cname_record = Adding CNAME record...
|
|
settings.dnsrecords.successfully_added_cname_record = Successfully added CNAME record
|
|
settings.dnsrecords.error_adding_cname_record = Error while adding CNAME record
|
|
settings.dnsrecords.ttl_in_seconds = * <strong>TTL</strong> in seconds <em>(optional)</em>
|
|
|
|
settings.dns.n_server_enabled = (%s custom server enabled)
|
|
settings.dns.n_servers_enabled = (%s custom servers enabled)
|
|
|
|
settings.system.other = OTHER
|
|
settings.system.valid_metric = Valid %s
|
|
settings.system.valid_metric_type = Valid TYPE %s
|
|
settings.system.valid_metric_other = Other valid
|
|
settings.system.n_records_in_cache = %s records in cache:
|
|
settings.system.disable_query_logging = Disable query logging
|
|
settings.system.enable_query_logging = Enable query logging
|
|
settings.system.sure_restart_dns_server = Are you sure you want to send a restart command to your DNS server?
|
|
settings.system.this_interrupt_internet = This will clear the DNS cache and may temporarily interrupt your internet connection.
|
|
settings.system.you_will_be_logged_out = Furthermore, you will be logged out of the web interface as consequence of this action.
|
|
settings.system.restart_confirm = Yes, restart DNS server
|
|
settings.system.restart_deny = No, go back
|
|
settings.system.sure_to_flush_logs = Are you sure you want to flush your logs?
|
|
settings.system.flush_logs_cannot_be_undone = This will clear all logs and cannot be undone.
|
|
settings.system.flush_logs_confirm = Yes, flush logs
|
|
settings.system.flush_logs_deny = No, go back
|
|
settings.system.sure_to_flush_network_table = Are you sure you want to flush your network table?
|
|
settings.system.flush_table_cannot_be_undone = This will clear all entries and cannot be undone.
|
|
settings.system.flush_table_confirm = Yes, flush my network table
|
|
settings.system.flush_table_deny = No, go back
|
|
settings.system.sure_to_switch_query_logging_mode = Are you sure you want to switch query logging mode?
|
|
settings.system.dns_server_will_restart = This will restart the DNS server.
|
|
settings.system.cache_clear_and_interrupt_internet = As consequence of this action, your DNS cache will be cleared and you may temporarily lose your internet connection.
|
|
settings.system.furthermore_you_will_be_logged_out = Furthermore, you will be logged out of the web interface.
|
|
settings.system.change_logging_confirm = Yes, change query logging
|
|
settings.system.change_logging_deny = No, go back
|
|
settings.system.cache_content = Cache content
|
|
|
|
settings.teleporter.select_file_to_import = Please select a file to import.
|
|
settings.teleporter.import_success = Import successful
|
|
settings.teleporter.processed_files = Processed files:
|
|
settings.teleporter.unexpected_error = An unexpected error occurred.
|
|
|
|
taillog.ftl_restarted = *** FTL restarted ***
|
|
taillog.logfile_empty = *** Log file is empty ***
|
|
taillog.paused = Paused
|
|
|
|
utils.error_something = Error, something went wrong!
|
|
utils.none_selected = none selected
|
|
utils.all_selected_n = All selected (%s)
|
|
utils.n_selected = %s selected
|
|
utils.added_from_log = Added from Query Log
|
|
utils.access_disgnosis_for_more_details = Access "Tools/Pi-hole diagnosis" for further details.
|
|
utils.n_warnings = There are %s warnings.
|
|
utils.one_warning = There is one warning.
|
|
utils.successfully_added_type = Successfully added %s
|
|
utils.successfully_added_n_type = Successfully added %s %s:
|
|
utils.failed_to_add_n_type = Failed to add %s %s:\n
|
|
utils.already_present = Already present
|
|
utils.n_type_processed = (%s %s processed)
|
|
utils.some_type_not_added = Some %s could not be added %s
|
|
utils.currently_applying_changes = Pi-hole is currently applying your changes...
|