mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Laravel 9.x Shift (#14504)
* Move `resources/lang` folder * Shift registered middleware * Remove `fruitcake/laravel-cors` dependency * Streamline `$commands` property * Upgrade to Flysystem 3.0 * Shift core files * Convert `optional()` to nullsafe operator * Remove unnecessary `$model` property * Convert route options to fluent methods Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods. * Convert deprecated `$dates` property to `$casts` * Shift config files * Default config files In an effort to make upgrading the constantly changing config files easier, Shift defaulted them and merged your true customizations - where ENV variables may not be used. * Bump Laravel dependencies * Use `<env>` tags for configuration `<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI. Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/ * Fix error provider * Match new symfony syntax * Match upstream syntax * Fix route syntax * generate composer.lock * Sync back configs * routes * composer * Fix more flare * fix cors * sync lang * Apply fixes from StyleCI (#14517) Co-authored-by: StyleCI Bot <bot@styleci.io> * bump larastan * update packages * wip * Temporarily lower phpstan level * Update phpstan.neon * wip * wip * wip * Apply fixes from StyleCI (#14592) Co-authored-by: StyleCI Bot <bot@styleci.io> * test * Update CiHelper.php * Update test.yml * Update CiHelper.php * Update CiHelper.php * Apply fixes from StyleCI (#14616) Co-authored-by: StyleCI Bot <bot@styleci.io> * test? * fix phpstan problems * dont run snmpsim on github ci * Fix whitespace * More whitespace * More whitespace ??? * I think the space broke it * fix the reset of the whitespace * hard code auth guard --------- Co-authored-by: Shift <shift@laravelshift.com> Co-authored-by: StyleCI Bot <bot@styleci.io> Co-authored-by: Tony Murray <murraytony@gmail.com>
This commit is contained in:
21
lang/en/auth.php
Normal file
21
lang/en/auth.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'title' => 'Auth',
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The provided password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
'disabled' => 'Your Account is disabled, please contact Admin.',
|
||||
];
|
65
lang/en/bgp.php
Normal file
65
lang/en/bgp.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
// https://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#bgp-parameters-3
|
||||
return [
|
||||
'error_codes' => [
|
||||
0 => 'Reserved',
|
||||
1 => 'Message Header Error',
|
||||
2 => 'OPEN Message Error',
|
||||
3 => 'UPDATE Message Error',
|
||||
4 => 'Hold Timer Expired',
|
||||
5 => 'Finite State Machine Error',
|
||||
6 => 'Cease',
|
||||
7 => 'ROUTE-REFRESH Message Error',
|
||||
],
|
||||
'error_subcodes' => [
|
||||
1 => [
|
||||
0 => 'Unspecific',
|
||||
1 => 'Connection Not Synchronized',
|
||||
2 => 'Bad Message Length',
|
||||
3 => 'Bad Message Type',
|
||||
],
|
||||
2 => [
|
||||
0 => 'Unspecific',
|
||||
1 => 'Unsupported Version Number',
|
||||
2 => 'Bad Peer AS',
|
||||
3 => 'Bad BGP Identifier',
|
||||
4 => 'Unsuported Optional Parameter',
|
||||
5 => '[Deprecated]',
|
||||
6 => 'Unacceptable Hold Time',
|
||||
7 => 'Role Mismatch (Temporary BGP Draft)',
|
||||
],
|
||||
3 => [
|
||||
0 => 'Unspecific',
|
||||
1 => 'Malformted Attribute List',
|
||||
2 => 'Unrecognized Well-known Attribute',
|
||||
3 => 'Missing Well-known Attribute',
|
||||
4 => 'Attribute Flags Error',
|
||||
5 => 'Attribute Length Error',
|
||||
6 => 'Invalid ORIGIN Attribute',
|
||||
7 => '[Deprecated]',
|
||||
8 => 'Invalid NEXT_HOP Attribute',
|
||||
9 => 'Optional Attribute Error',
|
||||
10 => 'Invalid Network Field',
|
||||
11 => 'Malformed AS_PATH',
|
||||
],
|
||||
5 => [
|
||||
0 => 'Unspecified Error',
|
||||
1 => 'Receive Unexpected Message in OpenSent State',
|
||||
2 => 'Receive Unexpected Message in OpenConfirm State',
|
||||
3 => 'Receive Unexpected Message in Established State',
|
||||
],
|
||||
6 => [
|
||||
0 => 'Reserved',
|
||||
1 => 'Maximum Number of Prefixes Reached',
|
||||
2 => 'Administrative Shutdown',
|
||||
3 => 'Peer De-configured',
|
||||
4 => 'Administrative Reset',
|
||||
5 => 'Connection Rejected',
|
||||
6 => 'Other Configuration Change',
|
||||
7 => 'Connection Collision Resolution',
|
||||
8 => 'Out of Resources',
|
||||
9 => 'Hard Reset',
|
||||
],
|
||||
],
|
||||
];
|
232
lang/en/commands.php
Normal file
232
lang/en/commands.php
Normal file
@@ -0,0 +1,232 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'config:get' => [
|
||||
'description' => 'Get configuration value',
|
||||
'arguments' => [
|
||||
'setting' => 'setting to get value of in dot notation (example: snmp.community.0)',
|
||||
],
|
||||
'options' => [
|
||||
'dump' => 'Output the entire config as json',
|
||||
],
|
||||
],
|
||||
'config:set' => [
|
||||
'description' => 'Set configuration value (or unset)',
|
||||
'arguments' => [
|
||||
'setting' => 'setting to set in dot notation (example: snmp.community.0) To append to an array suffix with .+',
|
||||
'value' => 'value to set, unset setting if this is omitted',
|
||||
],
|
||||
'options' => [
|
||||
'ignore-checks' => 'Ignore all safety checks',
|
||||
],
|
||||
'confirm' => 'Reset :setting to the default?',
|
||||
'forget_from' => 'Forget :path from :parent?',
|
||||
'errors' => [
|
||||
'append' => 'Cannot append to non-array setting',
|
||||
'failed' => 'Failed to set :setting',
|
||||
'invalid' => 'This is not a valid setting. Please check your input',
|
||||
'invalid_os' => 'Specified OS (:os) does not exist',
|
||||
'nodb' => 'Database is not connected',
|
||||
'no-validation' => 'Cannot set :setting, it is missing validation definition.',
|
||||
],
|
||||
],
|
||||
'db:seed' => [
|
||||
'existing_config' => 'Database contains existing settings. Continue?',
|
||||
],
|
||||
'dev:check' => [
|
||||
'description' => 'LibreNMS code checks. Running with no options runs all checks',
|
||||
'arguments' => [
|
||||
'check' => 'Run the specified check :checks',
|
||||
],
|
||||
'options' => [
|
||||
'commands' => 'Print commands that would be run only, no checks',
|
||||
'db' => 'Run unit tests that require a database connection',
|
||||
'fail-fast' => 'Stop checks when any failure is encountered',
|
||||
'full' => 'Run full checks ignoring changed file filtering',
|
||||
'module' => 'Specific Module to run tests on. Implies unit, --db, --snmpsim',
|
||||
'os' => 'Specific OS to run tests on. Implies unit, --db, --snmpsim',
|
||||
'os-modules-only' => 'Skip os detection test when specifying a specific OS. Speeds up test time when checking non-detection changes.',
|
||||
'quiet' => 'Hide output unless there is an error',
|
||||
'snmpsim' => 'Use snmpsim for unit tests',
|
||||
],
|
||||
],
|
||||
'dev:simulate' => [
|
||||
'description' => 'Simulate devices using test data',
|
||||
'arguments' => [
|
||||
'file' => 'The file name (only base name) of the snmprec file to update or add to LibreNMS. If file not specified, no device will be added or updated.',
|
||||
],
|
||||
'options' => [
|
||||
'multiple' => 'Use community name for hostname instead of snmpsim',
|
||||
'remove' => 'Remove the device after stopping',
|
||||
],
|
||||
'added' => 'Device :hostname (:id) added',
|
||||
'exit' => 'Ctrl-C to stop',
|
||||
'removed' => 'Device :id removed',
|
||||
'updated' => 'Device :hostname (:id) updated',
|
||||
],
|
||||
'device:add' => [
|
||||
'description' => 'Add a new device',
|
||||
'arguments' => [
|
||||
'device spec' => 'Hostname or IP to add',
|
||||
],
|
||||
'options' => [
|
||||
'v1' => 'Use SNMP v1',
|
||||
'v2c' => 'Use SNMP v2c',
|
||||
'v3' => 'Use SNMP v3',
|
||||
'display-name' => "A string to display as the name of this device, defaults to hostname.\nMay be a simple template using replacements: {{ \$hostname }}, {{ \$sysName }}, {{ \$sysName_fallback }}, {{ \$ip }}",
|
||||
'force' => 'Just add the device, do not make any safety checks',
|
||||
'group' => 'Poller group (for distributed polling)',
|
||||
'ping-fallback' => 'Add the device as ping only if it does not respond to SNMP',
|
||||
'port-association-mode' => 'Sets how ports are mapped. ifName is suggested for Linux/Unix',
|
||||
'community' => 'SNMP v1 or v2 community',
|
||||
'transport' => 'Transport to connect to the device',
|
||||
'port' => 'SNMP transport port',
|
||||
'security-name' => 'SNMPv3 security username',
|
||||
'auth-password' => 'SNMPv3 authentication password',
|
||||
'auth-protocol' => 'SNMPv3 authentication protocol',
|
||||
'privacy-protocol' => 'SNMPv3 privacy protocol',
|
||||
'privacy-password' => 'SNMPv3 privacy password',
|
||||
'ping-only' => 'Add a ping only device',
|
||||
'os' => 'Ping only: specify OS',
|
||||
'hardware' => 'Ping only: specify hardware',
|
||||
'sysName' => 'Ping only: specify sysName',
|
||||
],
|
||||
'validation-errors' => [
|
||||
'port.between' => 'Port should be 1-65535',
|
||||
'poller-group.in' => 'The given poller-group does not exist',
|
||||
],
|
||||
'messages' => [
|
||||
'save_failed' => 'Failed to save device :hostname',
|
||||
'try_force' => 'You may try with the --force option to skip safety checks',
|
||||
'added' => 'Added device :hostname (:device_id)',
|
||||
],
|
||||
],
|
||||
'device:ping' => [
|
||||
'description' => 'Ping device and record data for response',
|
||||
'arguments' => [
|
||||
'device spec' => 'Device to ping one of: <Device ID>, <Hostname/IP>, all',
|
||||
],
|
||||
],
|
||||
'device:poll' => [
|
||||
'description' => 'Poll data from device(s) as defined by discovery',
|
||||
'arguments' => [
|
||||
'device spec' => 'Device spec to poll: device_id, hostname, wildcard (*), odd, even, all',
|
||||
],
|
||||
'options' => [
|
||||
'modules' => 'Specify single module to be run. Comma separate modules, submodules may be added with /',
|
||||
'no-data' => 'Do not update datastores (RRD, InfluxDB, etc)',
|
||||
],
|
||||
'errors' => [
|
||||
'db_connect' => 'Failed to connect to database. Verify database service is running and connection settings.',
|
||||
'db_auth' => 'Failed to connect to database. Verify credentials: :error',
|
||||
'no_devices' => 'No devices found matching your given device specification.',
|
||||
'none_polled' => 'No devices were polled.',
|
||||
],
|
||||
'polled' => 'Polled :count devices in :time',
|
||||
],
|
||||
'key:rotate' => [
|
||||
'description' => 'Rotate APP_KEY, this decrypts all encrypted data with the given old key and stores it with the new key in APP_KEY.',
|
||||
'arguments' => [
|
||||
'old_key' => 'The old APP_KEY which is valid for encrypted data',
|
||||
],
|
||||
'options' => [
|
||||
'generate-new-key' => 'If you do not have the new key set in .env, use the APP_KEY from .env to decrypt data and generate a new key and set it in .env',
|
||||
'forgot-key' => 'If you do not have the old key, you must delete all encrypted data to be able to continue to use certain LibreNMS features',
|
||||
],
|
||||
'destroy' => 'Destroy all encrypted configuration data?',
|
||||
'destroy_confirm' => 'Only destroy all encrypted data if you cannot find the old APP_KEY!',
|
||||
'cleared-cache' => 'Config was cached, cleared cache to make sure APP_KEY is correct. Please re-run lnms key:rotate',
|
||||
'backup_keys' => 'Document BOTH keys! In case something goes wrong set the new key in .env and use the old key as an argument to this command',
|
||||
'backup_key' => 'Document this key! This key is required to access encrypted data',
|
||||
'backups' => 'This command could cause irreversible loss of data and will invalidate all browser sessions. Make sure you have backups.',
|
||||
'confirm' => 'I have backups and want to continue',
|
||||
'decrypt-failed' => 'Failed to decrypt :item, skipping',
|
||||
'failed' => 'Failed to decrypt item(s). Set new key as APP_KEY and run this again with the old key as an argument.',
|
||||
'current_key' => 'Current APP_KEY: :key',
|
||||
'new_key' => 'New APP_KEY: :key',
|
||||
'old_key' => 'Old APP_KEY: :key',
|
||||
'save_key' => 'Save new key to .env?',
|
||||
'success' => 'Successfully rotated keys!',
|
||||
'validation-errors' => [
|
||||
'not_in' => ':attribute must not match current APP_KEY',
|
||||
'required' => 'Either old key or --generate-new-key is required.',
|
||||
],
|
||||
],
|
||||
'lnms' => [
|
||||
'validation-errors' => [
|
||||
'optionValue' => 'Selected :option is invalid. Should be one of: :values',
|
||||
],
|
||||
],
|
||||
'plugin:disable' => [
|
||||
'description' => 'Disable all plugins with the given name',
|
||||
'arguments' => [
|
||||
'plugin' => 'The name of the plugin to disable or "all" to disable all plugins',
|
||||
],
|
||||
'already_disabled' => 'Plugin already disabled',
|
||||
'disabled' => ':count plugin disabled|:count plugins disabled',
|
||||
'failed' => 'Failed to disable plugin(s)',
|
||||
],
|
||||
'plugin:enable' => [
|
||||
'description' => 'Enable the newest plugin with the given name',
|
||||
'arguments' => [
|
||||
'plugin' => 'The name of the plugin to enable or "all" to disable all plugins',
|
||||
],
|
||||
'already_enabled' => 'Plugin already enabled',
|
||||
'enabled' => ':count plugin enabled|:count plugins enabled',
|
||||
'failed' => 'Failed to enable plugin(s)',
|
||||
],
|
||||
'smokeping:generate' => [
|
||||
'args-nonsense' => 'Use one of --probes and --targets',
|
||||
'config-insufficient' => 'In order to generate a smokeping configuration, you must have set "smokeping.probes", "fping", and "fping6" set in your configuration',
|
||||
'dns-fail' => 'was not resolvable and was omitted from the configuration',
|
||||
'description' => 'Generate a configuration suitable for use with smokeping',
|
||||
'header-first' => 'This file was automatically generated by "lnms smokeping:generate',
|
||||
'header-second' => 'Local changes may be overwritten without notice or backups being taken',
|
||||
'header-third' => 'For more information see https://docs.librenms.org/Extensions/Smokeping/"',
|
||||
'no-devices' => 'No eligible devices found - devices must not be disabled.',
|
||||
'no-probes' => 'At least one probe is required.',
|
||||
'options' => [
|
||||
'probes' => 'Generate probe list - used for splitting the smokeping configuration into multiple files. Conflicts with "--targets"',
|
||||
'targets' => 'Generate the target list - used for splitting the smokeping configuration into multiple files. Conflicts with "--probes"',
|
||||
'no-header' => 'Don\'t add the boilerplate comment to the start of the generated file',
|
||||
'no-dns' => 'Skip DNS lookups',
|
||||
'single-process' => 'Only use a single process for smokeping',
|
||||
'compat' => '[deprecated] Mimic the behaviour of gen_smokeping.php',
|
||||
],
|
||||
],
|
||||
'snmp:fetch' => [
|
||||
'description' => 'Run snmp query against a device',
|
||||
'arguments' => [
|
||||
'device spec' => 'Device to query: device_id, hostname/ip, hostname regex, or all',
|
||||
'oid(s)' => 'One or more SNMP OID to fetch. Should be either MIB::oid or a numeric oid',
|
||||
],
|
||||
'failed' => 'SNMP command failed!',
|
||||
'oid' => 'OID',
|
||||
'options' => [
|
||||
'output' => 'Specify the output format :formats',
|
||||
'numeric' => 'Numeric OIDs',
|
||||
'depth' => 'Depth to group the snmp table at. Usually the same number as the items in the index of the table',
|
||||
],
|
||||
'not_found' => 'Device not found',
|
||||
'value' => 'Value',
|
||||
],
|
||||
'translation:generate' => [
|
||||
'description' => 'Generate updated json language files for use in the web frontend',
|
||||
],
|
||||
'user:add' => [
|
||||
'description' => 'Add a local user, you can only log in with this user if auth is set to mysql',
|
||||
'arguments' => [
|
||||
'username' => 'The username the user will log in with',
|
||||
],
|
||||
'options' => [
|
||||
'descr' => 'User description',
|
||||
'email' => 'Email to use for the user',
|
||||
'password' => 'Password for the user, if not given, you will be prompted',
|
||||
'full-name' => 'Full name for the user',
|
||||
'role' => 'Set the user to the desired role :roles',
|
||||
],
|
||||
'password-request' => "Please enter the user's password",
|
||||
'success' => 'Successfully added user: :username',
|
||||
'wrong-auth' => 'Warning! You will not be able to log in with this user because you are not using MySQL auth',
|
||||
],
|
||||
];
|
12
lang/en/components.php
Normal file
12
lang/en/components.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'notification-subscription-status' => [
|
||||
'no-support' => 'This browser does not support notifications',
|
||||
'no-transport' => 'To enable browser notifications, there must be an alert transport referencing this user',
|
||||
'enabled' => 'Notifications enabled for this browser',
|
||||
'disabled' => 'Notifications disabled for this browser',
|
||||
'enable' => 'Enable',
|
||||
'disable' => 'Disable',
|
||||
],
|
||||
];
|
15
lang/en/device.php
Normal file
15
lang/en/device.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'attributes' => [
|
||||
'features' => 'OS Features',
|
||||
'hardware' => 'Hardware',
|
||||
'icon' => 'Icon',
|
||||
'location' => 'Location',
|
||||
'os' => 'Device OS',
|
||||
'serial' => 'Serial',
|
||||
'sysName' => 'sysName',
|
||||
'version' => 'OS Version',
|
||||
'type' => 'Device type',
|
||||
],
|
||||
];
|
46
lang/en/exceptions.php
Normal file
46
lang/en/exceptions.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'database_connect' => [
|
||||
'title' => 'Error connecting to database',
|
||||
],
|
||||
'database_inconsistent' => [
|
||||
'title' => 'Database inconsistent',
|
||||
'header' => 'Database inconsistencies found during a database error, please fix to continue.',
|
||||
],
|
||||
'dusk_unsafe' => [
|
||||
'title' => 'It is unsafe to run Dusk in production',
|
||||
'message' => 'Run ":command" to remove Dusk or if you are a developer set the appropriate APP_ENV',
|
||||
],
|
||||
'file_write_failed' => [
|
||||
'title' => 'Error: Could not write to file',
|
||||
'message' => 'Failed to write to file (:file). Please check permissions and SELinux/AppArmor if applicable.',
|
||||
],
|
||||
'host_exists' => [
|
||||
'hostname_exists' => 'Device :hostname already exists',
|
||||
'ip_exists' => 'Cannot add :hostname, already have device :existing with this IP :ip',
|
||||
'sysname_exists' => 'Already have device :hostname due to duplicate sysName: :sysname',
|
||||
],
|
||||
'host_unreachable' => [
|
||||
'unpingable' => 'Could not ping :hostname (:ip)',
|
||||
'unsnmpable' => 'Could not connect to :hostname, please check the snmp details and snmp reachability',
|
||||
'unresolvable' => 'Hostname did not resolve to IP',
|
||||
'no_reply_community' => 'SNMP :version: No reply with community :credentials',
|
||||
'no_reply_credentials' => 'SNMP :version: No reply with credentials :credentials',
|
||||
],
|
||||
'ldap_missing' => [
|
||||
'title' => 'PHP LDAP support missing',
|
||||
'message' => 'PHP does not support LDAP, please install or enable the PHP LDAP extension',
|
||||
],
|
||||
'maximum_execution_time_exceeded' => [
|
||||
'title' => 'Maximum execution time of :seconds second exceeded|Maximum execution time of :seconds seconds exceeded',
|
||||
'message' => 'Page load exceeded your maximum execution time configured in PHP. Either increase max_execution_time in your php.ini or improve server hardware',
|
||||
],
|
||||
'unserializable_route_cache' => [
|
||||
'title' => 'Error caused by PHP version mismatch',
|
||||
'message' => 'The version of PHP your web server is running (:web_version) does not match the CLI version (:cli_version)',
|
||||
],
|
||||
'snmp_version_unsupported' => [
|
||||
'message' => 'Unsupported SNMP Version ":snmpver", must be v1, v2c, or v3',
|
||||
],
|
||||
];
|
72
lang/en/install.php
Normal file
72
lang/en/install.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'checks' => [
|
||||
'comment' => 'Comment',
|
||||
'item' => 'Item',
|
||||
'php_required' => ':version or higher required',
|
||||
'status' => 'Status',
|
||||
'title' => 'Pre-Install Checks',
|
||||
],
|
||||
'database' => [
|
||||
'credentials' => 'Database Credentials',
|
||||
'host' => 'Host',
|
||||
'host_placeholder' => 'Use localhost for Unix-Socket',
|
||||
'name' => 'Database Name',
|
||||
'password' => 'Password',
|
||||
'port' => 'Port',
|
||||
'port_placeholder' => 'Leave empty if using Unix-Socket',
|
||||
'socket' => 'Unix-Socket',
|
||||
'socket_placeholder' => 'Only use for custom socket path',
|
||||
'test' => 'Check Credentials',
|
||||
'title' => 'Configure Database',
|
||||
'username' => 'User',
|
||||
],
|
||||
'finish' => [
|
||||
'config_exists' => 'config.php file exists',
|
||||
'config_not_required' => 'This file is not required. Here is the default.',
|
||||
'config_not_written' => 'Could not write config.php',
|
||||
'config_written' => 'config.php file written',
|
||||
'copied' => 'Copied to clipboard',
|
||||
'dashboard' => 'Dashboard',
|
||||
'env_manual' => 'Manually update :file with the following content',
|
||||
'env_not_written' => 'Could not write .env file',
|
||||
'env_written' => '.env file written',
|
||||
'failed' => 'Failed to save .env',
|
||||
'finish' => 'Finish Install',
|
||||
'manual_copy' => 'Press Ctrl-C to copy',
|
||||
'retry' => 'Retry',
|
||||
'settings' => 'Additional Settings',
|
||||
'success' => 'Install Complete',
|
||||
'thanks' => 'Thank you for setting up LibreNMS.',
|
||||
'title' => 'Finish Install',
|
||||
'validate_button' => 'Validate Install',
|
||||
],
|
||||
'install' => 'Install',
|
||||
'migrate' => [
|
||||
'building_interrupt' => 'Do not close this page or interrupt the import!',
|
||||
'error' => 'Error encountered, check output for details.',
|
||||
'migrate' => 'Build Database',
|
||||
'retry' => 'Retry',
|
||||
'timeout' => 'HTTP request timed out, your database structure may be inconsistent.',
|
||||
'wait' => 'Please Wait...',
|
||||
],
|
||||
'steps' => [
|
||||
'checks' => 'Pre-Install Checks',
|
||||
'database' => 'Database',
|
||||
'finish' => 'Finish Install',
|
||||
'migrate' => 'Build Database',
|
||||
'user' => 'Create User',
|
||||
],
|
||||
'title' => 'LibreNMS Install',
|
||||
'user' => [
|
||||
'button' => 'Add User',
|
||||
'created' => 'User Created',
|
||||
'email' => 'Email',
|
||||
'failure' => 'Failed to create user',
|
||||
'password' => 'Password',
|
||||
'success' => 'Successfully created user',
|
||||
'title' => 'Create Admin User',
|
||||
'username' => 'Username',
|
||||
],
|
||||
];
|
36
lang/en/modules.php
Normal file
36
lang/en/modules.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'slas' => [
|
||||
'types' => [
|
||||
'dhcp' => 'DHCP',
|
||||
'dlsw' => 'DLSW',
|
||||
'dns' => 'DNS',
|
||||
'DnsQuery' => 'DNS Query',
|
||||
'echo' => 'ICMP Ping',
|
||||
'ethernetJitter' => 'Ethernet Jitter',
|
||||
'ethernetPing' => 'Ethernet Ping',
|
||||
'fileIO' => 'File I/O',
|
||||
'ftp' => 'FTP',
|
||||
'http' => 'HTTP',
|
||||
'HttpGet' => 'HTTP Get',
|
||||
'HttpGetMetadata' => 'HTTP Get Metadata',
|
||||
'IcmpEcho' => 'ICMP Echo',
|
||||
'icmpjitter' => 'ICMP Jitter',
|
||||
'IcmpTimeStamp' => 'ICMP TimeStamp',
|
||||
'jitter' => 'Jitter',
|
||||
'lspGroup' => 'LSP Group',
|
||||
'lspPing' => 'LSP Ping',
|
||||
'lspPingPseudowire' => 'LSP Pseudowire Ping"',
|
||||
'lspTrace' => 'LSP Trace',
|
||||
'NtpQuery' => 'NTP Query',
|
||||
'pathEcho' => 'Path ICMP Ping',
|
||||
'rtp' => 'RTP',
|
||||
'script' => 'Script',
|
||||
'tcpConnect' => 'TCP Connect',
|
||||
'udpEcho' => 'UDP Ping',
|
||||
'UdpTimestamp' => 'UDP Timestamp',
|
||||
'voip' => 'VoIP',
|
||||
],
|
||||
],
|
||||
];
|
19
lang/en/pagination.php
Normal file
19
lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
22
lang/en/passwords.php
Normal file
22
lang/en/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have emailed your password reset link!',
|
||||
'throttled' => 'Please wait before retrying.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that email address.",
|
||||
|
||||
];
|
12
lang/en/plugins.php
Normal file
12
lang/en/plugins.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings_page' => ':plugin: Settings',
|
||||
'admin_page' => 'Plugin Admin',
|
||||
'admin_title' => 'System Plugins',
|
||||
'errors' => [
|
||||
'not_exist' => 'Plugin :plugin does not exist.',
|
||||
'disabled' => 'Plugin :plugin is disabled.',
|
||||
'view_missing' => 'Missing view.',
|
||||
],
|
||||
];
|
104
lang/en/poller.php
Normal file
104
lang/en/poller.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings' => [
|
||||
'settings' => [
|
||||
'poller_groups' => [
|
||||
'description' => 'Assigned Groups',
|
||||
'help' => 'This node will only take action on devices in these poller groups.',
|
||||
],
|
||||
'poller_enabled' => [
|
||||
'description' => 'Poller Enabled',
|
||||
'help' => 'Enable poller workers on this node.',
|
||||
],
|
||||
'poller_workers' => [
|
||||
'description' => 'Poller Workers',
|
||||
'help' => 'Amount of poller workers to spawn on this node.',
|
||||
],
|
||||
'poller_frequency' => [
|
||||
'description' => 'Poller Frequency (Warning!)',
|
||||
'help' => 'How often to poll devices on this node. Warning! Changing this without fixing rrd files will break graphs. See docs for more info.',
|
||||
],
|
||||
'poller_down_retry' => [
|
||||
'description' => 'Device Down Retry',
|
||||
'help' => 'If a device is down when polling is attempted on this node. This is the amount of time to wait before retrying.',
|
||||
],
|
||||
'discovery_enabled' => [
|
||||
'description' => 'Discovery Enabled',
|
||||
'help' => 'Enable discovery workers on this node.',
|
||||
],
|
||||
'discovery_workers' => [
|
||||
'description' => 'Discovery Workers',
|
||||
'help' => 'Amount of discovery workers to run on this node. Setting too high can cause overload.',
|
||||
],
|
||||
'discovery_frequency' => [
|
||||
'description' => 'Discovery Frequency',
|
||||
'help' => 'How often to run device discovery on this node. Default is 4 times a day.',
|
||||
],
|
||||
'services_enabled' => [
|
||||
'description' => 'Services Enabled',
|
||||
'help' => 'Enable services workers on this node.',
|
||||
],
|
||||
'services_workers' => [
|
||||
'description' => 'Services Workers',
|
||||
'help' => 'Amount of services workers on this node.',
|
||||
],
|
||||
'services_frequency' => [
|
||||
'description' => 'Services Frequency',
|
||||
'help' => 'How often to run services on this node. This should match poller frequency.',
|
||||
],
|
||||
'billing_enabled' => [
|
||||
'description' => 'Billing Enabled',
|
||||
'help' => 'Enable billing workers on this node.',
|
||||
],
|
||||
'billing_frequency' => [
|
||||
'description' => 'Billing Frequency',
|
||||
'help' => 'How often to collect billing data on this node.',
|
||||
],
|
||||
'billing_calculate_frequency' => [
|
||||
'description' => 'Billing Calculate Frequency',
|
||||
'help' => 'How often to calculate bill usage on this node.',
|
||||
],
|
||||
'alerting_enabled' => [
|
||||
'description' => 'Alerting Enabled',
|
||||
'help' => 'Enable the alerting worker on this node.',
|
||||
],
|
||||
'alerting_frequency' => [
|
||||
'description' => 'Alerting Frequency',
|
||||
'help' => 'How often alert rules are checked on this node. Note that data is only updated based on poller frequency.',
|
||||
],
|
||||
'ping_enabled' => [
|
||||
'description' => 'Fast Ping Enabled',
|
||||
'help' => 'Fast Ping just pings devices to check if they are up or down',
|
||||
],
|
||||
'ping_frequency' => [
|
||||
'description' => 'Ping Frequency',
|
||||
'help' => 'How often to check ping on this node. Warning! If you change this you must make additional changes. Check the Fast Ping docs.',
|
||||
],
|
||||
'update_enabled' => [
|
||||
'description' => 'Daily Maintenance Enabled',
|
||||
'help' => 'Run daily.sh maintenance script and restart the dispatcher service afterwards.',
|
||||
],
|
||||
'update_frequency' => [
|
||||
'description' => 'Maintenance Frequency',
|
||||
'help' => 'How often to run daily maintenance on this node. Default is 1 Day. It is highly suggested not to change this.',
|
||||
],
|
||||
'loglevel' => [
|
||||
'description' => 'Log Level',
|
||||
'help' => 'Log level of the dispatch service.',
|
||||
],
|
||||
'watchdog_enabled' => [
|
||||
'description' => 'Watchdog Enabled',
|
||||
'help' => 'Watchdog monitors the log file and restarts the service it it has not been updated',
|
||||
],
|
||||
'watchdog_log' => [
|
||||
'description' => 'Log File to Watch',
|
||||
'help' => 'Default is the LibreNMS log file.',
|
||||
],
|
||||
],
|
||||
'units' => [
|
||||
'seconds' => 'Seconds',
|
||||
'workers' => 'Workers',
|
||||
],
|
||||
],
|
||||
];
|
8
lang/en/port.php
Normal file
8
lang/en/port.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'groups' => [
|
||||
'updated' => ':port: groups updated',
|
||||
'none' => ':port no update requested',
|
||||
],
|
||||
];
|
18
lang/en/preferences.php
Normal file
18
lang/en/preferences.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| User preferences
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Translation strings for user preferences
|
||||
| lang: is the display name for this language in the language select dialog
|
||||
|
|
||||
*/
|
||||
|
||||
'title' => 'Preferences',
|
||||
'lang' => 'English',
|
||||
|
||||
];
|
194
lang/en/sensors.php
Normal file
194
lang/en/sensors.php
Normal file
@@ -0,0 +1,194 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sensors Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to translate names and units of sensors
|
||||
|
|
||||
*/
|
||||
|
||||
'title' => 'Sensors',
|
||||
'airflow' => [
|
||||
'short' => 'Airflow',
|
||||
'long' => 'Airflow',
|
||||
'unit' => 'cfm',
|
||||
'unit_long' => 'Cubic Feet per Minute',
|
||||
],
|
||||
'ber' => [
|
||||
'short' => 'BER',
|
||||
'long' => 'Bit Error Rate',
|
||||
'unit' => '',
|
||||
'unit_long' => '',
|
||||
],
|
||||
'charge' => [
|
||||
'short' => 'Charge',
|
||||
'long' => 'Charge Percent',
|
||||
'unit' => '%',
|
||||
'unit_long' => 'Percent',
|
||||
],
|
||||
'chromatic_dispersion' => [
|
||||
'short' => 'Chromatic Dispersion',
|
||||
'long' => 'Chromatic Dispersion',
|
||||
'unit' => 'ps/nm/km',
|
||||
'unit_long' => 'Picoseconds per Nanometer per Kilometer',
|
||||
],
|
||||
'cooling' => [
|
||||
'short' => 'Cooling',
|
||||
'long' => '',
|
||||
'unit' => 'W',
|
||||
'unit_long' => 'Watts',
|
||||
],
|
||||
'count' => [
|
||||
'short' => 'Count',
|
||||
'long' => 'Count',
|
||||
'unit' => '',
|
||||
'unit_long' => '',
|
||||
],
|
||||
'current' => [
|
||||
'short' => 'Current',
|
||||
'long' => 'Current',
|
||||
'unit' => 'A',
|
||||
'unit_long' => 'Amperes',
|
||||
],
|
||||
'dbm' => [
|
||||
'short' => 'dBm',
|
||||
'long' => 'dBm',
|
||||
'unit' => 'dBm',
|
||||
'unit_long' => 'Decibel-Milliwatts',
|
||||
],
|
||||
'delay' => [
|
||||
'short' => 'Delay',
|
||||
'long' => 'Delay',
|
||||
'unit' => 's',
|
||||
'unit_long' => 'Seconds',
|
||||
],
|
||||
'eer' => [
|
||||
'short' => 'EER',
|
||||
'long' => 'Energy Efficient Ratio',
|
||||
'unit' => '',
|
||||
'unit_long' => '',
|
||||
],
|
||||
'fanspeed' => [
|
||||
'short' => 'Fanspeed',
|
||||
'long' => 'Fan Speed',
|
||||
'unit' => 'RPM',
|
||||
'unit_long' => 'Rotations per Minute',
|
||||
],
|
||||
'frequency' => [
|
||||
'short' => 'Frequency',
|
||||
'long' => 'Frequency',
|
||||
'unit' => 'Hz',
|
||||
'unit_long' => 'Hertz',
|
||||
],
|
||||
'humidity' => [
|
||||
'short' => 'Humidity',
|
||||
'long' => 'Humidity Percent',
|
||||
'unit' => '%',
|
||||
'unit_long' => 'Percent',
|
||||
],
|
||||
'load' => [
|
||||
'short' => 'Load',
|
||||
'long' => 'Load Percent',
|
||||
'unit' => '%',
|
||||
'unit_long' => 'Percent',
|
||||
],
|
||||
'loss' => [
|
||||
'short' => 'Percent',
|
||||
'long' => 'Loss Percentage',
|
||||
'unit' => '%',
|
||||
'unit_long' => 'percentage',
|
||||
],
|
||||
'power' => [
|
||||
'short' => 'Power',
|
||||
'long' => 'Power',
|
||||
'unit' => 'W',
|
||||
'unit_long' => 'Watts',
|
||||
],
|
||||
'power_consumed' => [
|
||||
'short' => 'Power Consumed',
|
||||
'long' => 'Power Consumed',
|
||||
'unit' => 'kWh',
|
||||
'unit_long' => 'Killowatt-Hours',
|
||||
],
|
||||
'power_factor' => [
|
||||
'short' => 'Power Factor',
|
||||
'long' => 'Power Factor',
|
||||
'unit' => '',
|
||||
'unit_long' => '',
|
||||
],
|
||||
'pressure' => [
|
||||
'short' => 'Pressure',
|
||||
'long' => 'Pressure',
|
||||
'unit' => 'kPa',
|
||||
'unit_long' => 'Kilopascals',
|
||||
],
|
||||
'quality_factor' => [
|
||||
'short' => 'Quality Factor',
|
||||
'long' => 'Quality Factor',
|
||||
'unit' => '',
|
||||
'unit_long' => '',
|
||||
],
|
||||
'runtime' => [
|
||||
'short' => 'Runtime',
|
||||
'long' => 'Runtime',
|
||||
'unit' => 'Min',
|
||||
'unit_long' => 'Minutes',
|
||||
],
|
||||
'signal' => [
|
||||
'short' => 'Signal',
|
||||
'long' => 'Signal',
|
||||
'unit' => 'dBm',
|
||||
'unit_long' => 'Decibal-Milliwatts',
|
||||
],
|
||||
'tv_signal' => [
|
||||
'short' => 'Signal',
|
||||
'long' => 'TV signal',
|
||||
'unit' => 'dBmV',
|
||||
'unit_long' => 'Decibel-Millivolts',
|
||||
],
|
||||
'bitrate' => [
|
||||
'short' => 'Bitrate',
|
||||
'long' => 'Bitrate',
|
||||
'unit' => 'bps',
|
||||
'unit_long' => 'bits per second',
|
||||
],
|
||||
'snr' => [
|
||||
'short' => 'SNR',
|
||||
'long' => 'Signal to Noise Ratio',
|
||||
'unit' => 'dB',
|
||||
'unit_long' => 'Decibels',
|
||||
],
|
||||
'state' => [
|
||||
'short' => 'State',
|
||||
'long' => 'State',
|
||||
'unit' => '',
|
||||
],
|
||||
'temperature' => [
|
||||
'short' => 'Temperature',
|
||||
'long' => 'Temperature',
|
||||
'unit' => '°C',
|
||||
'unit_long' => '° Celsius',
|
||||
],
|
||||
'voltage' => [
|
||||
'short' => 'Voltage',
|
||||
'long' => 'voltage',
|
||||
'unit' => 'V',
|
||||
'unit_long' => 'Volts',
|
||||
],
|
||||
'waterflow' => [
|
||||
'short' => 'Waterflow',
|
||||
'long' => 'Water Flow',
|
||||
'unit' => 'l/m',
|
||||
'unit_long' => 'Liters Per Minute',
|
||||
],
|
||||
'percent' => [
|
||||
'short' => 'Percent',
|
||||
'long' => 'Percent',
|
||||
'unit' => '%',
|
||||
'unit_long' => 'Percent',
|
||||
],
|
||||
];
|
1648
lang/en/settings.php
Normal file
1648
lang/en/settings.php
Normal file
File diff suppressed because it is too large
Load Diff
6
lang/en/smokeping.php
Normal file
6
lang/en/smokeping.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'in' => 'Incoming',
|
||||
'out' => 'Outgoing',
|
||||
];
|
23
lang/en/stp.php
Normal file
23
lang/en/stp.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'stp_info' => 'STP Instance Information',
|
||||
'stp_ports' => 'STP Ports',
|
||||
'vlan' => 'VLAN',
|
||||
'root_bridge' => 'Root bridge',
|
||||
'bridge_address' => 'Bridge address (MAC)',
|
||||
'protocol' => 'Protocol specification',
|
||||
'priority' => 'Priority',
|
||||
'last_topology_change' => 'Time since topology change',
|
||||
'topology_changes' => 'Topology changes',
|
||||
'designated_root' => 'Designated root (MAC)',
|
||||
'root_cost' => 'Root cost',
|
||||
'root_port' => 'Root port',
|
||||
'max_age' => 'Max age (s)',
|
||||
'hello_time' => 'Hello time (s)',
|
||||
'hold_time' => 'Hold time (s)',
|
||||
'forward_delay' => 'Forward delay (s)',
|
||||
'bridge_max_age' => 'Bridge max age (s)',
|
||||
'bridge_hello_time' => 'Bridge hello time (s)',
|
||||
'bridge_forward_delay' => 'Bridge forward delay (s)',
|
||||
];
|
41
lang/en/syslog.php
Normal file
41
lang/en/syslog.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Syslog',
|
||||
'severity' => [
|
||||
'0' => 'Emergency',
|
||||
'1' => 'Alert',
|
||||
'2' => 'Critical',
|
||||
'3' => 'Error',
|
||||
'4' => 'Warning',
|
||||
'5' => 'Notice',
|
||||
'6' => 'Informational',
|
||||
'7' => 'Debug',
|
||||
],
|
||||
'facility' => [
|
||||
'0' => 'kernel messages',
|
||||
'1' => 'user-level messages',
|
||||
'2' => 'mail-system',
|
||||
'3' => 'system daemons',
|
||||
'4' => 'security/authorization messages',
|
||||
'5' => 'messages generated internally by syslogd',
|
||||
'6' => 'line printer subsystem',
|
||||
'7' => 'network news subsystem',
|
||||
'8' => 'UUCP subsystem',
|
||||
'9' => 'clock daemon',
|
||||
'10' => 'security/authorization messages',
|
||||
'11' => 'FTP daemon',
|
||||
'12' => 'NTP subsystem',
|
||||
'13' => 'log audit',
|
||||
'14' => 'log alert',
|
||||
'15' => 'clock daemon (note 2)',
|
||||
'16' => 'local use 0 (local0)',
|
||||
'17' => 'local use 1 (local1)',
|
||||
'18' => 'local use 2 (local2)',
|
||||
'19' => 'local use 3 (local3)',
|
||||
'20' => 'local use 4 (local4)',
|
||||
'21' => 'local use 5 (local5)',
|
||||
'22' => 'local use 6 (local6)',
|
||||
'23' => 'local use 7 (local7)',
|
||||
],
|
||||
];
|
290
lang/en/validation.php
Normal file
290
lang/en/validation.php
Normal file
@@ -0,0 +1,290 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'accepted_if' => 'The :attribute must be accepted when :other is :value.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute must only contain letters.',
|
||||
'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
|
||||
'alpha_num' => 'The :attribute must only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'current_password' => 'The password is incorrect.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'declined' => 'The :attribute must be declined.',
|
||||
'declined_if' => 'The :attribute must be declined when :other is :value.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'doesnt_end_with' => 'The :attribute may not end with one of the following: :values.',
|
||||
'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
'enum' => 'The selected :attribute is invalid.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => 'The :attribute must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'array' => 'The :attribute must have more than :value items.',
|
||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be greater than :value.',
|
||||
'string' => 'The :attribute must be greater than :value characters.',
|
||||
],
|
||||
'gte' => [
|
||||
'array' => 'The :attribute must have :value items or more.',
|
||||
'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be greater than or equal to :value.',
|
||||
'string' => 'The :attribute must be greater than or equal to :value characters.',
|
||||
],
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'array' => 'The :attribute must have less than :value items.',
|
||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be less than :value.',
|
||||
'string' => 'The :attribute must be less than :value characters.',
|
||||
],
|
||||
'lte' => [
|
||||
'array' => 'The :attribute must not have more than :value items.',
|
||||
'file' => 'The :attribute must be less than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be less than or equal to :value.',
|
||||
'string' => 'The :attribute must be less than or equal to :value characters.',
|
||||
],
|
||||
'mac_address' => 'The :attribute must be a valid MAC address.',
|
||||
'max' => [
|
||||
'array' => 'The :attribute must not have more than :max items.',
|
||||
'file' => 'The :attribute must not be greater than :max kilobytes.',
|
||||
'numeric' => 'The :attribute must not be greater than :max.',
|
||||
'string' => 'The :attribute must not be greater than :max characters.',
|
||||
],
|
||||
'max_digits' => 'The :attribute must not have more than :max digits.',
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
],
|
||||
'min_digits' => 'The :attribute must have at least :min digits.',
|
||||
'multiple_of' => 'The :attribute must be a multiple of :value.',
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute format is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'password' => [
|
||||
'letters' => 'The :attribute must contain at least one letter.',
|
||||
'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
|
||||
'numbers' => 'The :attribute must contain at least one number.',
|
||||
'symbols' => 'The :attribute must contain at least one symbol.',
|
||||
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
|
||||
],
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'prohibited' => 'The :attribute field is prohibited.',
|
||||
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
|
||||
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
|
||||
'prohibits' => 'The :attribute field prohibits :other from being present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid timezone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute must be a valid URL.',
|
||||
'uuid' => 'The :attribute must be a valid UUID.',
|
||||
|
||||
// Librenms specific
|
||||
'alpha_space' => 'The :attribute may only contain letters, numbers, underscores and spaces.',
|
||||
'ip_or_hostname' => 'The :attribute must a valid IP address/network or hostname.',
|
||||
'is_regex' => 'The :attribute is not a valid regular expression',
|
||||
'keys_in' => 'The :attribute contains invalid keys: :extra. Valid keys: :values',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
'results' => [
|
||||
'autofix' => 'Attempt to automatically fix',
|
||||
'fix' => 'Fix',
|
||||
'fixed' => 'Fix has completed, refresh to re-run validations.',
|
||||
'fetch_failed' => 'Failed to fetch validation results',
|
||||
'backend_failed' => 'Failed to load data from backend, check console for error.',
|
||||
'invalid_fixer' => 'Invalid Fixer',
|
||||
'show_all' => 'Show all',
|
||||
'show_less' => 'Show less',
|
||||
'validate' => 'Validate',
|
||||
'validating' => 'Validating',
|
||||
],
|
||||
'validations' => [
|
||||
'rrd' => [
|
||||
'CheckRrdVersion' => [
|
||||
'fail' => 'The rrdtool version you have specified is newer than what is installed. Config: :config_version Installed :installed_version',
|
||||
'fix' => 'Either comment out or delete $config[\'rrdtool_version\'] = \':version\'; from your config.php file',
|
||||
'ok' => 'rrdtool version ok',
|
||||
],
|
||||
'CheckRrdcachedConnectivity' => [
|
||||
'fail_socket' => ':socket does not appear to exist, rrdcached connectivity test failed',
|
||||
'fail_port' => 'Cannot connect to rrdcached server on port :port',
|
||||
'ok' => 'Connected to rrdcached',
|
||||
],
|
||||
'CheckRrdDirPermissions' => [
|
||||
'fail_root' => 'Your RRD directory is owned by root, please consider changing over to user a non-root user',
|
||||
'fail_mode' => 'Your RRD directory is not set to 0775',
|
||||
'ok' => 'rrd_dir is writable',
|
||||
],
|
||||
],
|
||||
'database' => [
|
||||
'CheckDatabaseTableNamesCase' => [
|
||||
'fail' => 'You have lower_case_table_names set to 1 or true in mysql config.',
|
||||
'fix' => 'Set lower_case_table_names=0 in your mysql config file in the [mysqld] section.',
|
||||
'ok' => 'lower_case_table_names is enabled',
|
||||
],
|
||||
'CheckDatabaseServerVersion' => [
|
||||
'fail' => ':server version :min is the minimum supported version as of :date.',
|
||||
'fix' => 'Update :server to a supported version, :suggested suggested.',
|
||||
'ok' => 'SQL Server meets minimum requirements',
|
||||
],
|
||||
'CheckMysqlEngine' => [
|
||||
'fail' => 'Some tables are not using the recommended InnoDB engine, this may cause you issues.',
|
||||
'tables' => 'Tables',
|
||||
'ok' => 'MySQL engine is optimal',
|
||||
],
|
||||
'CheckSqlServerTime' => [
|
||||
'fail' => "Time between this server and the mysql database is off\n Mysql time :mysql_time\n PHP time :php_time",
|
||||
'ok' => 'MySQl and PHP time match',
|
||||
],
|
||||
'CheckSchemaVersion' => [
|
||||
'fail_outdated' => 'Your database is out of date!',
|
||||
'fail_legacy_outdated' => 'Your database schema (:current) is older than the latest (:latest).',
|
||||
'fix_legacy_outdated' => 'Manually run ./daily.sh, and check for any errors.',
|
||||
'warn_extra_migrations' => 'Your database schema has extra migrations (:migrations). If you just switched to the stable release from the daily release, your database is in between releases and this will be resolved with the next release.',
|
||||
'warn_legacy_newer' => 'Your database schema (:current) is newer than expected (:latest). If you just switched to the stable release from the daily release, your database is in between releases and this will be resolved with the next release.',
|
||||
'ok' => 'Database Schema is current',
|
||||
],
|
||||
'CheckSchemaCollation' => [
|
||||
'ok' => 'Database and column collations are correct',
|
||||
],
|
||||
],
|
||||
'distributedpoller' => [
|
||||
'CheckDistributedPollerEnabled' => [
|
||||
'ok' => 'Distributed Polling setting is enabled globally',
|
||||
'not_enabled' => 'You have not enabled distributed_poller',
|
||||
'not_enabled_globally' => 'You have not enabled distributed_poller globally',
|
||||
],
|
||||
'CheckMemcached' => [
|
||||
'not_configured_host' => 'You have not configured distributed_poller_memcached_host',
|
||||
'not_configured_port' => 'You have not configured distributed_poller_memcached_port',
|
||||
'could_not_connect' => 'Could not connect to memcached server',
|
||||
'ok' => 'Connection to memcached is ok',
|
||||
],
|
||||
'CheckRrdcached' => [
|
||||
'fail' => 'You have not enabled rrdcached',
|
||||
],
|
||||
],
|
||||
'poller' => [
|
||||
'CheckActivePoller' => [
|
||||
'fail' => 'No active polling method detected',
|
||||
'both_fail' => 'Both Dispatcher Service and Python Wrapper were active recently, this could cause double polling',
|
||||
'ok' => 'Active pollers found',
|
||||
],
|
||||
'CheckDispatcherService' => [
|
||||
'fail' => 'No active dispatcher nodes found',
|
||||
'ok' => 'Dispatcher Service is enabled',
|
||||
'nodes_down' => 'Some dispatcher nodes have not checked in recently',
|
||||
'not_detected' => 'Dispatcher Service not detected',
|
||||
'warn' => 'Dispatcher Service has been used, but not recently',
|
||||
],
|
||||
'CheckLocking' => [
|
||||
'fail' => 'Locking server issue: :message',
|
||||
'ok' => 'Locks are functional',
|
||||
],
|
||||
'CheckPythonWrapper' => [
|
||||
'fail' => 'No active python wrapper pollers found',
|
||||
'no_pollers' => 'No python wrapper pollers found',
|
||||
'cron_unread' => 'Could not read cron files',
|
||||
'ok' => 'Python poller wrapper is polling',
|
||||
'nodes_down' => 'Some poller nodes have not checked in recently',
|
||||
'not_detected' => 'Python wrapper cron entry is not present',
|
||||
],
|
||||
'CheckRedis' => [
|
||||
'bad_driver' => 'Using :driver for locking, you should set CACHE_DRIVER=redis',
|
||||
'ok' => 'Redis is functional',
|
||||
'unavailable' => 'Redis is unavailable',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
64
lang/en/widgets.php
Normal file
64
lang/en/widgets.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'alerts' => [
|
||||
'title' => 'Alerts',
|
||||
],
|
||||
'alertlog' => [
|
||||
'title' => 'Alert History',
|
||||
],
|
||||
'alertlog-stats' => [
|
||||
'title' => 'Alert History Stats',
|
||||
],
|
||||
'availability-map' => [
|
||||
'title' => 'Availability Map',
|
||||
],
|
||||
'component-status' => [
|
||||
'title' => 'Component Status',
|
||||
],
|
||||
'device-summary-horiz' => [
|
||||
'title' => 'Device Summary Horizontal',
|
||||
],
|
||||
'device-summary-vert' => [
|
||||
'title' => 'Device Summary Vertical',
|
||||
],
|
||||
'device-types' => [
|
||||
'title' => 'Device Types',
|
||||
],
|
||||
'eventlog' => [
|
||||
'title' => 'Eventlog',
|
||||
],
|
||||
'generic-graph' => [
|
||||
'title' => 'Graph',
|
||||
],
|
||||
'generic-image' => [
|
||||
'title' => 'External Images',
|
||||
],
|
||||
'globe' => [
|
||||
'title' => 'Globe Map',
|
||||
],
|
||||
'graylog' => [
|
||||
'title' => 'Graylog',
|
||||
],
|
||||
'notes' => [
|
||||
'title' => 'Notes',
|
||||
],
|
||||
'server-stats' => [
|
||||
'title' => 'Server Stats',
|
||||
],
|
||||
'syslog' => [
|
||||
'title' => 'Syslog',
|
||||
],
|
||||
'top-devices' => [
|
||||
'title' => 'Top Devices',
|
||||
],
|
||||
'top-errors' => [
|
||||
'title' => 'Top Errors',
|
||||
],
|
||||
'top-interfaces' => [
|
||||
'title' => 'Top Interfaces',
|
||||
],
|
||||
'worldmap' => [
|
||||
'title' => 'World Map',
|
||||
],
|
||||
];
|
135
lang/en/wireless.php
Normal file
135
lang/en/wireless.php
Normal file
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Wireless Sensors Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to translate names and units of wireless sensors
|
||||
|
|
||||
*/
|
||||
|
||||
'title' => 'Wireless',
|
||||
'ap-count' => [
|
||||
'short' => 'APs',
|
||||
'long' => 'AP Count',
|
||||
'unit' => '',
|
||||
],
|
||||
'clients' => [
|
||||
'short' => 'Clients',
|
||||
'long' => 'Client Count',
|
||||
'unit' => '',
|
||||
],
|
||||
'capacity' => [
|
||||
'short' => 'Capacity',
|
||||
'long' => 'Capacity',
|
||||
'unit' => '%',
|
||||
],
|
||||
'ccq' => [
|
||||
'short' => 'CCQ',
|
||||
'long' => 'Client Connection Quality',
|
||||
'unit' => '%',
|
||||
],
|
||||
'errors' => [
|
||||
'short' => 'Errors',
|
||||
'long' => 'Error Count',
|
||||
'unit' => '',
|
||||
],
|
||||
'error-ratio' => [
|
||||
'short' => 'Error Ratio',
|
||||
'long' => 'Bit/Packet Error Ratio',
|
||||
'unit' => '%',
|
||||
],
|
||||
'error-rate' => [
|
||||
'short' => 'BER',
|
||||
'long' => 'Bit Error Rate',
|
||||
'unit' => 'bps',
|
||||
],
|
||||
'frequency' => [
|
||||
'short' => 'Frequency',
|
||||
'long' => 'Frequency',
|
||||
'unit' => 'MHz',
|
||||
],
|
||||
'distance' => [
|
||||
'short' => 'Distance',
|
||||
'long' => 'Distance',
|
||||
'unit' => 'm',
|
||||
],
|
||||
'mse' => [
|
||||
'short' => 'MSE',
|
||||
'long' => 'Mean Square Error',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'noise-floor' => [
|
||||
'short' => 'Noise Floor',
|
||||
'long' => 'Noise Floor',
|
||||
'unit' => 'dBm',
|
||||
],
|
||||
'power' => [
|
||||
'short' => 'Power/Signal',
|
||||
'long' => 'TX/RX Power or Signal',
|
||||
'unit' => 'dBm',
|
||||
],
|
||||
'quality' => [
|
||||
'short' => 'Quality',
|
||||
'long' => 'Quality',
|
||||
'unit' => '%',
|
||||
],
|
||||
'rate' => [
|
||||
'short' => 'Rate',
|
||||
'long' => 'TX/RX Rate',
|
||||
'unit' => 'bps',
|
||||
],
|
||||
'rssi' => [
|
||||
'short' => 'RSSI',
|
||||
'long' => 'Received Signal Strength Indicator',
|
||||
'unit' => 'dBm',
|
||||
],
|
||||
'snr' => [
|
||||
'short' => 'SNR',
|
||||
'long' => 'Signal-to-Noise Ratio',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'sinr' => [
|
||||
'short' => 'SINR',
|
||||
'long' => ' Signal-to-Interference-plus-Noise Ratio',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'rsrq' => [
|
||||
'short' => 'RSRQ',
|
||||
'long' => 'Reference Signal Received Quality',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'rsrp' => [
|
||||
'short' => 'RSRP',
|
||||
'long' => 'Reference Signals Received Power',
|
||||
'unit' => 'dBm',
|
||||
],
|
||||
'ssr' => [
|
||||
'short' => 'SSR',
|
||||
'long' => 'Signal Strength Ratio',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'utilization' => [
|
||||
'short' => 'Utilization',
|
||||
'long' => 'utilization',
|
||||
'unit' => '%',
|
||||
],
|
||||
'xpi' => [
|
||||
'short' => 'XPI',
|
||||
'long' => 'Cross Polar Interference',
|
||||
'unit' => 'dB',
|
||||
],
|
||||
'cell' => [
|
||||
'short' => 'Cell',
|
||||
'long' => 'Cell',
|
||||
'unit' => '',
|
||||
],
|
||||
'channel' => [
|
||||
'short' => 'Channel',
|
||||
'long' => 'Channel',
|
||||
'unit' => '',
|
||||
],
|
||||
];
|
Reference in New Issue
Block a user