feat(cloudron): add tirreno package artifacts

- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents
- Includes package manifest, Dockerfile, source code, documentation, and build artifacts
- Add tirreno-1761840148.tar.gz as a build artifact
- Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package
- Include all necessary files for the tirreno Cloudron package

This adds the complete tirreno Cloudron package artifacts to the repository.
This commit is contained in:
2025-10-30 11:43:06 -05:00
parent 0ce353ea9d
commit 91d52d2de5
1692 changed files with 202851 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_device_name_tooltip' => 'A type of the device.',
'Base_table_column_os_tooltip' => 'An operating system of the device.',
'Base_table_column_total_actions_tooltip_ips' => 'The number of device-associated requests made from an IP address.',
'Base_table_column_total_users_tooltip_ips' => 'The number of users associated with an IP address.',
'AdminIps_map_title_tooltip' => 'Information detected by IP addresses associated with the device. The map visualizes the geolocated countries along with the number of events reported for the device.',
'AdminUsers_table_title_tooltip' => 'A list of users detected as utilizing the device.',
'AdminEvents_table_title_tooltip' => 'A list of events recorded for the device. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,18 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_total_actions_tooltip_devices' => 'The total number of users associated with a device',
];

View File

@@ -0,0 +1,21 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminUsers_table_title_tooltip' => 'A list of users detected as making requests from the country.',
'AdminIps_table_title_tooltip' => 'A list of IP addresses geolocated to the country.',
'AdminIsps_table_title_tooltip' => 'A list of internet service providers associated with the requests from the country.',
'AdminEvents_table_title_tooltip' => 'A list of events detected for the country. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,24 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_total_actions_tooltip_ips' => 'The number of events reported for a domain.',
'Base_table_column_total_users_tooltip_ips' => 'The number of users associated with an IP address.',
'AdminIps_map_title_tooltip' => 'Information detected by IP addresses assigned to the domain. The map visualizes the geolocated countries along with the number of events reported for the domain.',
'AdminUsers_table_title_tooltip' => 'A list of users with an email that belongs to the domain.',
'AdminIsps_table_title_tooltip' => 'A list of internet service providers associated with the domain.',
'AdminEvents_table_title_tooltip' => 'A list of events recorded for the domain. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,20 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminUsers_table_title_tooltip' => 'A list of users associated with the IP address.',
'AdminDevices_table_title_tooltip' => 'A list of devices associated with the IP address.',
'AdminEvents_table_title_tooltip' => 'A list of events associated with the IP address. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,20 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminIps_map_title_tooltip' => 'Information detected by IP addresses assigned to the ISP. The map visualizes the geolocated countries along with the number of events reported for the ISP.',
'AdminUsers_table_title_tooltip' => 'A list of users associated with the ISP.',
'AdminEvents_table_title_tooltip' => 'A list of events recorded for the ISP. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_total_actions_tooltip_ips' => 'The number of the resource requests made from an IP address.',
'AdminIps_map_title_tooltip' => 'Information detected by IP addresses from which the resource was requested. The map visualizes the geolocated countries along with the number of the resource-related events.',
'AdminUsers_table_title_tooltip' => 'A list of users that interacted with the resource.',
'AdminIsps_table_title_tooltip' => 'A list of internet service providers associated with the resource requests.',
'AdminDevices_table_title_tooltip' => 'A list of devices from which the resource was requested.',
'AdminEvents_table_title_tooltip' => 'A list of events recorded for the resource. The chart shows the number of events reported each day.',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_total_actions_tooltip_ips' => 'The number of the user requests made from an IP address.',
'AdminIps_map_title_tooltip' => 'Information detected by IP addresses associated with the user. The map visualizes geolocated countries along with the number of user-related events.',
'AdminEvents_table_title_tooltip' => 'A list of the user-related events. The chart shows the number of events reported each day.',
'AdminIsps_table_title_tooltip' => 'A list of internet service providers associated with the user.',
'AdminDevices_table_title_tooltip' => 'A list of devices associated with the user.',
];

View File

@@ -0,0 +1,17 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
];

View File

@@ -0,0 +1,19 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_page_enrich_entity' => 'Re-enrich data',
'AdminEnrichment_success_message' => 'Data has been successfully enriched.',
];

View File

@@ -0,0 +1,19 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'UnreviewedItemsReminder_email_subject' => 'Reminder: %s items are waiting for your review',
'UnreviewedItemsReminder_email_body' => 'Hi %s (%s), %s items are waiting for your review. Sign in to review these items. %s',
];

View File

@@ -0,0 +1,18 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_reviewed_status_tooltip' => 'A user can be blacklisted or whitelisted. To put a user on a list, click "Not reviewed" button and then choose an applicable status.',
];

View File

@@ -0,0 +1,18 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminTotals_success_message' => 'Totals calculated succesfully.',
];

View File

@@ -0,0 +1,69 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return array_merge(
include 'Additional/Notifications.php',
include 'Additional/Enrichment.php',
include 'Additional/Totals.php',
include 'Errors.php',
include 'Parts/Welcome.php',
include 'Parts/LeftMenu.php',
include 'Parts/TopTen.php',
include 'Parts/DetailsPanel.php',
include 'Parts/UserDetails.php',
include 'Parts/TimeZones.php',
include 'Pages/Logout.php',
include 'Pages/Login.php',
include 'Pages/Signup.php',
include 'Pages/ForgotPassword.php',
include 'Pages/ChangeEmail.php',
include 'Pages/PasswordRecovering.php',
include 'Pages/AccountActivation.php',
include 'Pages/Settings.php',
include 'Pages/AdminHome.php',
include 'Pages/Api.php',
include 'Pages/BaseTable.php',
include 'Pages/Blacklist.php',
include 'Pages/Bots.php',
include 'Pages/Countries.php',
include 'Pages/Country.php',
include 'Pages/Bot.php',
include 'Pages/Bots.php',
include 'Pages/Domain.php',
include 'Pages/Domains.php',
include 'Pages/Email.php',
include 'Pages/Emails.php',
include 'Pages/Events.php',
include 'Pages/Ip.php',
include 'Pages/Ips.php',
include 'Pages/Isp.php',
include 'Pages/Isps.php',
include 'Pages/ManualCheck.php',
include 'Pages/Phone.php',
include 'Pages/Phones.php',
include 'Pages/FieldAuditTrail.php',
include 'Pages/Profile.php',
include 'Pages/Logbook.php',
include 'Pages/Resource.php',
include 'Pages/Resources.php',
include 'Pages/RetentionPolicy.php',
include 'Pages/ReviewQueue.php',
include 'Pages/Rules.php',
include 'Pages/TimeZone.php',
include 'Pages/User.php',
include 'Pages/Users.php',
include 'Pages/Watchlist.php',
include 'Pages/Devices.php',
);

View File

@@ -0,0 +1,133 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
if (!function_exists('addExerciseError')) {
function addExerciseError($errors, $code, $message) {
$key = sprintf('error_%s', $code);
$errors[$key] = $message;
return $errors;
}
}
$errors = [
'error_email_subject' => 'Error %s occurred',
'error_email_body_template' => (
'<p>Error occurred at: %s</p>
<p>Message: </p>%s
<p>Trace: </p>%s
'
),
];
$errors = addExerciseError($errors, 404, 'Page not found');
$errors = addExerciseError($errors, 500, 'This function does not work right now');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CSRF_ATTACK_DETECTED, 'We can\'t proceed with this request. Please reload the page and try again');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_DOES_NOT_EXIST, 'Email does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_IS_NOT_CORRECT, 'Email is incorrect');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_ALREADY_EXIST, 'Email already exists');
$errors = addExerciseError($errors, \Utils\ErrorCodes::PASSWORD_DOES_NOT_EXIST, 'Password does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::PASSWORD_IS_TO_SHORT, 'Minimum password length is 8 characters');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ACCOUNT_CREATED, 'Thanks for your registration. Please <a href="/login">login</a> with your new credentials.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ACTIVATION_KEY_DOES_NOT_EXIST, 'Activation key does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ACTIVATION_KEY_IS_NOT_CORRECT, 'Activation key is incorrect');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_OR_PASSWORD_IS_NOT_CORRECT, 'Error: Permission denied.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::API_KEY_ID_DOESNT_EXIST, 'API key does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::API_KEY_WAS_CREATED_FOR_ANOTHER_USER, 'Incorrect Tracking ID');
$errors = addExerciseError($errors, \Utils\ErrorCodes::OPERATOR_ID_DOES_NOT_EXIST, 'Operator ID does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::OPERATOR_IS_NOT_A_CO_OWNER, 'Operator is not a co-owner of this Tracking ID');
$errors = addExerciseError($errors, \Utils\ErrorCodes::UNKNOWN_ENRICHMENT_ATTRIBUTES, 'Unknown event attributes for data enrichment');
$errors = addExerciseError($errors, \Utils\ErrorCodes::INVALID_API_RESPONSE, 'Unexpected API response');
$errors = addExerciseError($errors, \Utils\ErrorCodes::FIRST_NAME_DOES_NOT_EXIST, 'First name is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::LAST_NAME_DOES_NOT_EXIST, 'Last name is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::COUNTRY_DOES_NOT_EXIST, 'Country is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::STREET_DOES_NOT_EXIST, 'Street address is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CITY_DOES_NOT_EXIST, 'City is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::STATE_DOES_NOT_EXIST, 'State is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ZIP_DOES_NOT_EXIST, 'ZIP is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::TIME_ZONE_DOES_NOT_EXIST, 'Time zone is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RETENTION_POLICY_DOES_NOT_EXIST, 'Retention policy is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::UNREVIEWED_ITEMS_REMINDER_FREQUENCY_DOES_NOT_EXIST, 'Unreviewed items reminder frequency is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CURRENT_PASSWORD_DOES_NOT_EXIST, 'Current password is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CURRENT_PASSWORD_IS_NOT_CORRECT, 'Current password is incorrect');
$errors = addExerciseError($errors, \Utils\ErrorCodes::NEW_PASSWORD_DOES_NOT_EXIST, 'New password is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::PASSWORD_CONFIRMATION_DOES_NOT_EXIST, 'Password confirmation is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::PASSWORDS_ARE_NOT_EQUAL, 'New password and password confirmation do not match');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_IS_NOT_NEW, 'The new email address is the same as the current one');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RENEW_KEY_CREATED, 'We sent you an email with further instructions on how to reset your password');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RENEW_KEY_IS_NOT_CORRECT, 'Renew key is incorrect ¯\_ (ツ)_/¯');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RENEW_KEY_DOES_NOT_EXIST, 'Renew key does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RENEW_KEY_WAS_EXPIRED, 'Renew key has expired');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ACCOUNT_ACTIVATED, 'Your password has been successfully changed. Please <a href="/login">login</a> with your new credentials and continue using the system.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::THERE_ARE_NO_EVENTS_YET, 'No events from your application have been received yet');
$errors = addExerciseError($errors, \Utils\ErrorCodes::THERE_ARE_NO_EVENTS_LAST_24_HOURS, 'There are no events from your application for more than 24 hours');
$errors = addExerciseError($errors, \Utils\ErrorCodes::OPERATOR_DOES_NOT_HAVE_ACCESS_TO_ACCOUNT, 'Operator does not have access to this account');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_HAS_BEEN_SUCCESSFULLY_ADDED_TO_WATCH_LIST, 'User has been successfully added to the watchlist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_HAS_BEEN_SUCCESSFULLY_REMOVED_FROM_WATCH_LIST, 'User has been successfully removed from the watchlist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_FRAUD_FLAG_HAS_BEEN_SET, 'User has been successfully marked as fraud');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_FRAUD_FLAG_HAS_BEEN_UNSET, 'User has been successfully marked as not fraud');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_REVIEWED_FLAG_HAS_BEEN_SET, 'User has been successfully marked as reviewed');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_REVIEWED_FLAG_HAS_BEEN_UNSET, 'User has been successfully marked as not reviewed');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_DELETION_FAILED, 'User deletion was unsuccessful.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_BLACKLISTING_FAILED, 'User blacklisting was unsuccessful.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::USER_BLACKLISTING_QUEUED, 'This user and all associated IPs are currently queued for blacklisting.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CHANGE_EMAIL_KEY_DOES_NOT_EXIST, 'Change email key does not exist');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CHANGE_EMAIL_KEY_IS_NOT_CORRECT, 'Change email key is incorrect');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CHANGE_EMAIL_KEY_WAS_EXPIRED, 'Change email key has expired');
$errors = addExerciseError($errors, \Utils\ErrorCodes::EMAIL_CHANGED, 'Your email has been successfully changed. Please <a href="/login">login</a> with your new credentials and continue using the system.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RULES_HAS_BEEN_SUCCESSFULLY_UPDATED, 'Rules have been successfully updated');
$errors = addExerciseError($errors, \Utils\ErrorCodes::BLACKLIST_THRESHOLD_DOES_NOT_EXIST, 'Blacklist threshold is mandatory fields');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REVIEW_QUEUE_THRESHOLD_DOES_NOT_EXIST, 'Review queue threshold is mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::BLACKLIST_THRESHOLD_EXCEEDS_REVIEW_QUEUE_THRESHOLD, 'Blacklist threshold must not exceed review queue threshold.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_KEY_DOES_NOT_EXIST, 'API key could not be found in the headers');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_KEY_IS_NOT_CORRECT, 'API key is incorrect');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_NOT_AUTHORIZED, 'Not authorized to perform this action');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_MISSING_PARAMETER, 'Missing required parameter');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_VALIDATION_ERROR, 'Validation error');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_USER_ALREADY_SCHEDULED_FOR_DELETION, 'User already scheduled for deletion');
$errors = addExerciseError($errors, \Utils\ErrorCodes::REST_API_USER_SUCCESSFULLY_ADDED_FOR_DELETION, 'User successfully added for deletion');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_KEY_DOES_NOT_EXIST, 'Enrichment API key is not set');
$errors = addExerciseError($errors, \Utils\ErrorCodes::TYPE_DOES_NOT_EXIST, 'Type is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::SEARCH_QUERY_DOES_NOT_EXIST, 'Search query is a mandatory field');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_UNKNOWN_ERROR, 'Unknown error occurred while processing your request');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_BOGON_IP, 'IP is bogon');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_IP_NOT_FOUND, 'IP not found');
$errors = addExerciseError($errors, \Utils\ErrorCodes::RISK_SCORE_UPDATE_UNKNOWN_ERROR, 'Unknown error occurred while processing your request');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_KEY_OVERUSE, 'You\'ve used up your Enrichment API quota. Please update your <a href="/api#subscription">plan</a>.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_ATTRIBUTE_IS_UNAVAILABLE, 'Enrichment of this data type is not supported in current subscription.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::ENRICHMENT_API_IS_NOT_AVAILABLE, 'API server is currently unavailable. Please try again later.');
$errors = addExerciseError($errors, \Utils\ErrorCodes::SUBSCRIPTION_KEY_INVALID_UPDATE, 'Subscription key is not valid, canceling update');
$errors = addExerciseError($errors, \Utils\ErrorCodes::TOTALS_INVALID_TYPE, 'Invalid entity type was passed for totals calculation');
$errors = addExerciseError($errors, \Utils\ErrorCodes::CRON_JOB_MAY_BE_OFF, 'A cron job isn\'t running. Please check the cron job configuration.');
$extraErrors = \Base::instance()->get('EXTRA_DICT_EN_ERRORS') ?? [];
foreach ($extraErrors as $errorCode => $desc) {
$errors = addExerciseError($errors, $errorCode, $desc);
}
return $errors;

View File

@@ -0,0 +1,20 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AccountActivation_page_title' => 'Account activation',
'AccountActivation_success_message' => 'Your account has been successfully activated.',
'AccountActivation_login' => 'Sign in',
];

View File

@@ -0,0 +1,59 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminHome_page_title' => 'Dashboard',
'AdminHome_header_title' => 'Dashboard',
'AdminHome_breadcrumb_title' => 'Dashboard',
'AdminHome_table_title' => 'Last events',
'AdminHome_table_column_timestamp' => 'Timestamp',
'AdminHome_table_column_user_id' => 'User Id',
'AdminHome_table_column_url' => 'URL',
'AdminHome_table_column_client_ip' => 'Client IP',
'AdminHome_table_column_country' => 'Country',
'AdminHome_total_events' => 'Events',
'AdminHome_total_events_tooltip' => 'The number of events during a selected period of time and in total.',
'AdminHome_total_users' => 'Users',
'AdminHome_total_users_tooltip' => 'The number of active users during a selected period of time and in total.',
'AdminHome_total_ips' => 'IP addresses',
'AdminHome_total_ips_tooltip' => 'The number of active IP addresses during a selected period of time and in total.',
'AdminHome_total_countries' => 'Countries',
'AdminHome_total_countries_tooltip' => 'The number of identified countries during a selected period of time and in total.',
'AdminHome_total_urls' => 'Resources',
'AdminHome_total_urls_tooltip' => 'The number of requested resources during a selected period of time and in total.',
'AdminHome_total_users_for_review' => 'Review',
'AdminHome_total_users_for_review_tooltip' => 'The number of users added to the review queue during a selected period of time and in total.',
'AdminHome_total_blocked_users' => 'Blacklisted',
'AdminHome_total_blocked_users_tooltip' => 'The number of blacklisted users during a selected period of time and in total.',
'AdminHome_view_all' => 'View all',
'AdminHome_top10_most_active_users' => 'Activity by users',
'AdminHome_top10_most_active_users_tooltip' => 'A list of users with the highest quantity of recorded events.',
'AdminHome_top10_active_countries' => 'Activity by countries',
'AdminHome_top10_active_countries_tooltip' => 'A list of countries with the highest quantity of recorded users.',
'AdminHome_top10_active_urls' => 'Activity by resources',
'AdminHome_top10_active_urls_tooltip' => 'A list of resources with the highest quantity of recorded users.',
'AdminHome_top10_ips_with_the_most_users' => 'Shared IP addresses',
'AdminHome_top10_ips_with_the_most_users_tooltip' => 'A list of IP addresses utilized by several users.',
'AdminHome_top10_users_with_most_login_fail' => 'Account login fail',
'AdminHome_top10_users_with_most_login_fail_tooltip' => 'A list of users with the highest quantity of failed login attempts.',
'AdminHome_top10_users_with_the_most_ips' => 'Multiple IP addresses',
'AdminHome_top10_users_with_the_most_ips_tooltip' => 'A list of users with a high number of IP addresses.',
'AdminHome_clock_day_tooltip' => 'The day of year (DOY) is the sequential day number starting with day 1 on January 1st.',
'AdminHome_clock_time_tooltip' => 'Current time in your application based on timezone settings.',
];

View File

@@ -0,0 +1,105 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminApi_page_title' => 'Tracking ID',
'AdminApi_breadcrumb_title' => 'Api',
'AdminApi_table_title_tooltip' => 'Use the Tracking ID to access the API. Include it in the HTTP header when sending event information to the endpoint, as shown in the examples below.',
'AdminApi_http_endpoint' => 'Tracking code',
'AdminApi_server_language' => 'Server language',
'AdminApi_http_endpoint_tooltip' => [
'title' => 'This container holds your tracking code and is used to collect and process user data.',
'items' => [
'Choose your server language (PHP, Python, Node.js, Ruby, cURL).',
'Replace the placeholders in the code with your specific values.',
'Paste the completed code on every page of your website or app that you want to track. This code should be included for logged-in users.',
'Data will appear in reports within approximately one minute.',
],
],
'AdminApi_table_column_sensor_key' => 'Tracking ID',
'AdminApi_table_column_created_at' => 'Created at',
'AdminApi_table_column_action' => 'Action',
'AdminApi_table_column_action_tooltip' => 'To renew the Tracking ID value, click the "Reset" button. Note that this action cancels the validity of the previously used key.',
'AdminApi_table_button_reset' => 'Reset',
'AdminApi_reset_success_message' => 'The Tracking ID has been reset successfully.',
'AdminApi_data_enrichment_title' => 'Data enrichment',
'AdminApi_data_enrichment_title_tooltip' => 'Choose the components of event information to enhance by additionally applying internal, external, and open-sourced data.',
'AdminApi_data_enrichment_save_button' => 'Save',
'AdminApi_data_enrichment_attributes' => [
'domain' => 'Domain enrichment',
'email' => 'Email enrichment',
'ip' => 'IP address enrichment',
'ua' => 'User agent enrichment',
'phone' => 'Phone enrichment',
],
'AdminApi_data_enrichment_success_message' => 'Enrichment settings have been updated successfully.',
'AdminApi_form_title' => 'Enrichment key',
'AdminApi_form_title_tooltip' => 'Enrichment key enables access to enrichment.',
'AdminApi_form_button_save' => 'Save',
'AdminApi_form_field_token_label' => 'Enrichment key',
'AdminApi_form_field_token_placeholder' => 'TIR:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=',
'AdminApi_current_token_tooltip' => 'Current key: ',
'AdminApi_form_confirmationMessage' => 'You can use a limited version of tirreno without a paid subscription or choose to enrich IP data. To learn about enrichment plans and obtain a subscription key, please visit: https://www.tirreno.com/pricing/',
'AdminApi_token_management_title' => 'Enrichment subscription management',
'AdminApi_token_management_title_tooltip' => 'Usage statistics and subscription key management',
'AdminApi_token_management_plan_col' => 'Plan',
'AdminApi_token_management_subscription_status_col' => 'Status',
'AdminApi_token_management_last_period_usage_col' => 'Current usage',
'AdminApi_token_management_next_billed_col' => 'Next billed at',
'AdminApi_token_management_update_payment_action' => 'Update card',
'AdminApi_token_management_update_payment_button' => 'Update',
'AdminApi_token_management_reset_token_button' => 'Reset',
'AdminApi_exchange_blacklist_title' => 'Data exchange',
'AdminApi_exchange_blacklist_title_tooltip' => 'Enable data exchange to participate in the formation and benefit from the utilization of the network alert list.',
'AdminApi_exchange_blacklist_warning' => 'Please note that changing this parameter will only affect newly added items.',
'AdminApi_exchange_blacklist_label' => 'Blacklisted items',
'AdminApi_exchange_blacklist_save_button' => 'Save',
'AdminApi_exchange_blacklist_success_message' => 'Data exchange parameter has been updated successfully.',
'AdminApi_update_token_success_message' => 'Enrichment key has been updated successfully.',
'AdminApi_data_alert_list_exchange' => 'Antifraud network exchange',
'AdminApi_shared_keys_title' => 'Share access',
'AdminApi_shared_keys_delete' => '[ x ]',
'AdminApi_shared_keys_title_tooltip' => 'Manage operators that can use this console. To share access, start by sending an invitation email.',
'AdminApi_shared_keys_empty' => 'You are not sharing your access with anyone else.',
'AdminApi_add_co_owner_form_email' => 'Email',
'AdminApi_add_co_owner_form_invite_button' => 'Invite',
'AdminApi_add_co_owner_success_message' => 'Invitation to share access has been sent successfully.',
'AdminApi_invitation_email_subject' => 'Invitation',
'AdminApi_invitation_email_body' => '%s has invited you to collaborate. You can accept this invitation by setting the password for your account or decline the invitation by ignoring this email. %s This invitation will expire in 24 hours.',
'AdminApi_remove_co_owner_success_message' => 'Co-owner has been removed successfully.',
'AdminApi_remove_co_owner_error_message' => 'An error occured while removing co-owner.',
'AdminApi_manual_enrichment_form_title' => 'Manual data enrichment',
'AdminApi_manual_enrichment_form_confirmationMessage' => 'Identifies and sends data that was previously unenriched for re-enrichment in the background, ensuring all records are complete and accurate.',
'AdminApi_manual_enrichment_form_button_submit' => 'Preview',
'AdminApi_manual_enrichment_success_message' => 'Enrichment process started.',
'AdminApi_manual_enrichment_popup_header' => 'Manual data enrichment',
'AdminApi_manual_enrichment_popup_submit_button' => 'Start enrichment',
];

View File

@@ -0,0 +1,210 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Base_table_column_user_registered' => 'Signup date',
'Base_table_column_user_registered_tooltip' => 'The date of user account creation in a client platform. If not set, the date of the first recorded user event.',
'Base_table_column_userid' => 'User ID',
'Base_table_column_userid_tooltip' => 'User identifier provided by a client platform.',
'Base_table_column_user_firstname' => 'First name',
'Base_table_column_user_firstname_tooltip' => 'A users first name.',
'Base_table_column_user_lastname' => 'Last name',
'Base_table_column_user_lastname_tooltip' => 'A users last name.',
'Base_table_column_user_risk_score_and_email' => 'Trust score & email',
'Base_table_column_user_risk_score_and_email_tooltip' => 'Displays two values. The trust score on the left side is a calculated per-user value. It ranges from 0 (lowest trust) to 99 (highest trust). The value on the right side is a user email provided by a client platform.',
'Base_table_column_session' => 'Session',
'Base_table_column_session_tooltip' => 'Session parameters.',
'Base_table_column_user_email' => 'Email',
'Base_table_column_user_email_tooltip' => 'A users email address.',
'Base_table_column_last_action_timestamp' => 'Timestamp',
'Base_table_column_last_action_timestamp_tooltip' => 'The date and time of an event.',
'Base_table_column_url' => 'URL',
'Base_table_column_url_tooltip' => 'A reference to a resource requested on a client platform.',
'Base_table_column_event_type' => 'Event type',
'Base_table_column_event_type_tooltip' => 'A type of action performed.',
'Base_table_column_suspicious_url' => 'Suspicious',
'Base_table_column_suspicious_url_tooltip_resources' => 'URL matches with your suspicious words list.',
'Base_table_column_total_users' => 'Users',
'Base_table_column_total_users_tooltip_ips' => 'The total number of users associated with an IP address.',
'Base_table_column_total_users_tooltip_countries' => 'The number of users with IP addresses geolocated to a country over the specified and preceding period.',
'Base_table_column_total_users_tooltip_domains' => 'The total number of users with email addresses belonging to a domain.',
'Base_table_column_total_users_tooltip_isps' => 'The number of ISP-associated users over the specified and preceding period.',
'Base_table_column_total_users_tooltip_resources' => 'The number of users that requested a resource over the specified and preceding period.',
'Base_table_column_total_users_tooltip_phones' => 'The total number of users associated with a phone number.',
'Base_table_column_total_countries' => 'Countries',
'Base_table_column_total_countries_tooltip_resources' => 'The number of countries from which a resource was requested over the specified and preceding period.',
'Base_table_column_total_ips' => 'IPs',
'Base_table_column_total_ips_tooltip_resources' => 'The number of unique IP addresses from which a resource was requested over the specified and preceding period.',
'Base_table_column_total_ips_tooltip_countries' => 'The number of IP addresses geolocated to a country over the specified and preceding period.',
'Base_table_column_total_ips_tooltip_isps' => 'The number of ISP-belonging IP addresses over the specified and preceding period.',
'Base_table_column_total_actions' => 'Events',
'Base_table_column_total_actions_tooltip_ips' => 'The number of requests from an IP address over the specified and preceding period.',
'Base_table_column_total_actions_tooltip_users' => 'The total number of requests made by a user.',
'Base_table_column_total_actions_tooltip_isps' => 'The number of ISP-related events over the specified and preceding period.',
'Base_table_column_total_actions_tooltip_resources' => 'The number of requests made to a resource over the specified and preceding period.',
'Base_table_column_total_actions_tooltip_countries' => 'The number of requests made from a country over the specified and preceding period.',
'Base_table_column_total_actions_tooltip_devices' => 'The total number of requests made from this country.',
'Base_table_column_ip' => 'IP',
'Base_table_column_ip_tooltip' => 'An IP address associated with an event. Note that anonymizing services can hide the real IP address.',
'Base_table_column_ip_type' => 'IP type',
'Base_table_column_ip_type_tooltip' => 'A type of IP address. Non-residential addresses are considered a warning signal.',
'Base_table_column_ip_spamlist' => 'Spam list',
'Base_table_column_ip_spamlist_tooltip' => 'Someone may have utilized this IP address to exhibit unwanted activity before at other web services.',
'Base_table_column_ip_blacklist' => 'Blacklisted',
'Base_table_column_ip_blacklist_tooltip' => 'Whether IP addresses are in the blacklist.',
'Base_table_column_ip_shared' => 'Shared IP',
'Base_table_column_ip_shared_tooltip' => 'Multiple users detected on the same IP address.',
'Base_table_column_ip_apple_relay' => 'Apple relay',
'Base_table_column_ip_apple_relay_tooltip' => 'IP addresses belong to iCloud Private Relay, part of an iCloud+ subscription.',
'Base_table_column_ip_tor' => 'TOR',
'Base_table_column_ip_tor_tooltip' => 'IP addresses are assigned to The Onion Router network. Very few people use TOR, mainly used for anonymization and accessing censored resources.',
'Base_table_column_ip_vpn' => 'VPN',
'Base_table_column_ip_vpn_tooltip' => 'IP addresses are used to hide user\'s real location or to bypass regional blocking.',
'Base_table_column_ip_datacenter' => 'Datacenter',
'Base_table_column_ip_datacenter_tooltip' => 'IP addresses belong to ISP datacenter, which highly suggests the use of a VPN, script, or privacy software.',
'Base_table_column_ip_country_tooltip' => 'Country identified by IP address.',
'Base_table_column_country' => 'Country',
'Base_table_column_country_tooltip' => 'An originating country of user request, geolocated by IP address.',
'Base_table_column_country_tooltip_countries' => 'A country name.',
'Base_table_column_country_code' => 'Code',
'Base_table_column_country_code_tooltip' => 'A two-letter country code.',
'Base_table_column_code' => 'Code',
'Base_table_column_code_tooltip' => 'An HTTP response status code.',
'Base_table_column_lastseen' => 'Last seen',
'Base_table_column_lastseen_tooltip' => 'The date and time of the last event.',
'Base_table_column_lastseen_tooltip_users' => 'The date and time of the last user request.',
'Base_table_column_added_to_review' => 'Added to review',
'Base_table_column_added_to_review_tooltip' => 'The date and time of directing user to review queue.',
'Base_table_column_asn' => 'ASN',
'Base_table_column_asn_tooltip' => 'An autonomous system number. Identifies a detected network.',
'Base_table_column_netname' => 'Network operator',
'Base_table_column_netname_tooltip' => 'An organization that provides network services.',
'Base_table_column_device_name' => 'Type',
'Base_table_column_device_name_tooltip' => 'A device type.',
'Base_table_column_device_lang' => 'Language',
'Base_table_column_device_lang_tooltip' => 'A detected preferred language.',
'Base_table_column_device_created' => 'First seen',
'Base_table_column_device_created_tooltip' => 'The date of device registration',
'Base_table_column_modified' => 'Modified',
'Base_table_column_modified_tooltip' => 'Whether a user agent string is identified as altered by a user.',
'Base_table_column_browser' => 'Browser',
'Base_table_column_browser_tooltip' => 'An identified browser.',
'Base_table_column_os' => 'OS',
'Base_table_column_os_tooltip' => 'An operating system of a device.',
'Base_table_column_device_id' => 'ID',
'Base_table_column_device_id_tooltip' => 'A device identifier.',
'Base_table_column_device' => 'Device',
'Base_table_column_device_tooltip' => 'A device type and operating system, based on a user agent.',
'Base_table_column_email_spamlist' => 'Spam list',
'Base_table_column_email_spamlist_tooltip' => 'Whether an email address is on a spam list.',
'Base_table_column_email_blacklist' => 'Blacklisted',
'Base_table_column_email_blacklist_tooltip' => 'Whether an email address is on a blacklist.',
'Base_table_column_email_reputation' => 'Reputation',
'Base_table_column_email_reputation_tooltip' => 'An emails trust level, evaluated based on all available signals. The higher the number of warning signals, the lower the reputation of an email address.',
'Base_table_column_email_free_provider' => 'Free provider',
'Base_table_column_email_free_provider_tooltip' => 'Whether an email address belongs to a provider that offers free accounts.',
'Base_table_column_email_noprofiles' => 'No profiles',
'Base_table_column_email_noprofiles_tooltip' => 'The absence of online profiles associated with an email address may be a sign of a throwaway email. An email address with a good reputation is normally connected to digital platforms.',
'Base_table_column_email_nodatabreach' => 'No breach',
'Base_table_column_email_nodatabreach_tooltip' => 'The absence of a history of data breaches may be a sign of a throwaway email address.',
'Base_table_column_email_total_breaches' => 'Total breaches',
'Base_table_column_email_total_breaches_tooltip' => 'Number of data breaches where email has been compromised.',
'Base_table_column_email_data_lacking' => 'Data lacking',
'Base_table_column_email_data_lacking_tooltip' => 'The absence of a history of data breaches or online profiles may be a sign of a throwaway email address.',
'Base_table_column_email_disposable' => 'Disposable',
'Base_table_column_email_disposable_tooltip' => 'An email address is provided by a mail server with a low reputation.',
'Base_table_column_email_earliest_breach' => 'Earliest breach',
'Base_table_column_email_earliest_breach_tooltip' => 'The absence of a history of data breaches may be a sign of a throwaway email address.',
'Base_table_column_user_phone' => 'Phone',
'Base_table_column_user_phone_tooltip' => 'A users phone number.',
'Base_table_column_phone_country_tooltip' => 'Country identified by a phone number.',
'Base_table_column_phone_carrier_name' => 'Carrier',
'Base_table_column_phone_carrier_name_tooltip' => 'A telecommunications company name.',
'Base_table_column_phone_type' => 'Type',
'Base_table_column_phone_type_tooltip' => 'A type of the phone service.',
'Base_table_column_phone_blacklist' => 'Blacklisted',
'Base_table_column_phone_blacklist_tooltip' => 'Whether a phone number is on a blacklist.',
'Base_table_column_phone_invalid' => 'Invalid',
'Base_table_column_phone_invalid_tooltip' => 'Whether a phone number format is invalid.',
'Base_table_column_isps_name' => 'Network operator',
'Base_table_column_isps_name_tooltip' => 'A company name.',
'Base_table_column_domain' => 'Domain',
'Base_table_column_domain_tooltip' => 'A domain of email address(es).',
'Base_table_column_free_email_provider' => 'Free',
'Base_table_column_free_email_provider_tooltip' => 'Whether a domain belongs to a provider that offers free accounts.',
'Base_table_column_tranco_rank' => 'Ranking',
'Base_table_column_tranco_rank_tooltip' => 'Popularity of a domain name.',
'Base_table_column_unavailable' => 'Unavailable',
'Base_table_column_unavailable_tooltip' => 'Whether a domains website is inactive. This can be a sign of a fake mailbox.',
'Base_table_column_disposable' => 'Disposable',
'Base_table_column_disposable_tooltip' => 'Whether a domain is identified as associated with throwaway email addresses.',
'Base_table_column_domain_registered' => 'Creation',
'Base_table_column_domain_registered_tooltip' => 'The date of a domain creation.',
'Base_table_column_domain_expires' => 'Expires on',
'Base_table_column_domain_expires_tooltip' => 'The date of a domain expiration.',
'Base_table_column_domain_total_accounts' => 'Total accounts',
'Base_table_column_domain_total_accounts_tooltip' => 'The total number of users that have an email with current domain.',
'Base_table_column_domain_spamlist' => 'Spam list',
'Base_table_column_domain_spamlist_tooltip' => 'Whether a domain name is on a spam list.',
'Base_table_column_reviewed_status' => 'Review status',
'Base_table_column_reviewed_status_short' => 'Status',
'Base_table_column_reviewed_status_tooltip' => 'A user can be blacklisted or whitelisted. For putting a user on a list, open a user page (by clicking on a table row) and then use the corresponding button in the upper-right corner of the interface.',
'Base_table_column_action_buttons' => 'Review status',
'Base_table_column_total_fraud_users' => 'Blacklisted',
'Base_table_column_total_fraud_users_tooltip' => 'The total number of blacklisted users.',
'Base_table_column_latest_decision' => 'Latest decision',
'Base_table_column_latest_decision_tooltip' => 'The date of the last user review.',
'Base_table_column_isps_description' => 'Description',
'Base_table_column_isps_description_tooltip' => 'An ISP description.',
'Base_table_column_global_alert' => 'Global alert',
'Base_table_column_global_alert_tooltip' => 'Is on alert list.',
'Base_table_column_error_type' => 'Status',
'Base_table_column_error_type_tooltip' => 'A request processing status.',
'Base_table_column_error_text' => 'Warning message',
'Base_table_column_error_text_tooltip' => 'An error message returned by an unsuccessful request processing.',
'Base_table_column_local_timestamp' => 'Local timestamp',
'Base_table_column_local_timestamp_tooltip' => 'Server time when API request was received.',
'Base_table_column_audit_trail_created' => 'Date',
'Base_table_column_audit_trail_created_tooltip' => 'The date the field was changed.',
'Base_table_column_audit_trail_field' => 'Field',
'Base_table_column_audit_trail_field_tooltip' => 'The name of the field that has been changed.',
'Base_table_column_audit_trail_old_value' => 'Old value',
'Base_table_column_audit_trail_old_value_tooltip' => 'Previous value of the field.',
'Base_table_column_audit_trail_new_value' => 'New value',
'Base_table_column_audit_trail_new_value_tooltip' => 'Updated value of the field.',
'Base_table_column_audit_trail_parent' => 'Parent ID',
'Base_table_column_audit_trail_parent_tooltip' => 'ID of the parent record related to the field change.',
];

View File

@@ -0,0 +1,31 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminBlacklist_page_title' => 'Blacklist',
'AdminBlacklist_breadcrumb_title' => 'Blacklist',
'AdminBlacklist_search_placeholder' => 'User Name, Identity and Added',
'AdminBlacklist_entity_type_search_placeholder' => '+ Add another entity type',
'AdminBlacklst_table_title' => 'Blacklist',
'AdminBlacklst_table_title_tooltip' => 'This page lists user identities that were added to a blacklist during a selected period of time. The chart visualizes the daily number of blacklisted identities. To open a page with extended user analytics, click on a table row.',
'Base_table_column_blacklist_added' => 'Added',
'Base_table_column_blacklist_added_tooltip' => 'The date and time an identity was blacklisted.',
'Base_table_column_blacklist_type' => 'Type',
'Base_table_column_blacklist_type_tooltip' => 'A type of identity.',
'Base_table_column_blacklist_value' => 'Identity',
'Base_table_column_blacklist_value_tooltip' => 'A blacklisted identity.',
'Base_table_column_blacklist_actions' => 'Action',
'Base_table_column_blacklist_actions_tooltip' => 'Remove identity from a blacklist.',
];

View File

@@ -0,0 +1,19 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminBot_page_title' => 'Bot',
'AdminBot_breadcrumb_title' => 'Bot',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminBots_page_title' => 'Bots',
'AdminBots_breadcrumb_title' => 'Bots',
'AdminBots_search_placeholder' => 'OS or User-Agent',
'AdminBots_table_title' => 'Bots',
'AdminBots_table_title_tooltip' => 'This page provides device information identified based on the requests user agents. The data is shown for a selected period of time. To view more information about a device, click on a table row. The chart illustrates the daily number of active devices, categorized as desktop or mobile, with bots being distinguished in a separate category.',
];

View File

@@ -0,0 +1,21 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'ChangeEmail_form_title' => 'Change Email',
'ChangeEmail_page_title' => 'Change Email',
'ChangeEmail_renew_email_subject' => 'Change your email address',
'ChangeEmail_renew_email_body' => 'Thanks for your request. We have prepared a link where you can change your email. %s Please ignore this message if you don\'t want to change email address associated with your account.',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminCountries_page_title' => 'Countries',
'AdminCountries_breadcrumb_title' => 'Countries',
'AdminCountries_search_placeholder' => 'Country',
'AdminCountries_map_title' => 'Countries',
'AdminCountries_map_title_tooltip' => 'This page outputs location-related information, as identified by IP addresses. The data is shown for a selected period of time. To open a page with detailed information on a particular country, click on a table row. The map visualizes the geolocated countries and the number of users from each country.',
];

View File

@@ -0,0 +1,27 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminCountry_page_title' => 'Country',
'AdminCountry_breadcrumb_title' => 'Country',
'AdminCountry_counters_total_users' => 'User count',
'AdminCountry_counters_total_ips' => 'IP count',
'AdminCountry_counters_total_events' => 'Event count',
'AdminCountry_counters_total_users_tooltip' => 'The number of users detected as making requests from the country.',
'AdminCountry_counters_total_ips_tooltip' => 'The number of IP addresses geolocated to the country.',
'AdminCountry_counters_total_events_tooltip' => 'The number of events reported for the country.',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminDevices_page_title' => 'Devices',
'AdminDevices_breadcrumb_title' => 'Devices',
'AdminDevices_search_placeholder' => 'Device Type, OS, Browser or User Agent',
'AdminDevices_table_title' => 'User agent',
'AdminDevices_table_title_tooltip' => 'This page provides device information identified based on the requests user agents. The data is shown for a selected period of time. To view more information about a device, click on a table row. The chart illustrates the daily number of active devices, categorized as desktop or mobile, with bots being distinguished in a separate category.',
];

View File

@@ -0,0 +1,39 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminDomain_page_title' => 'Domain',
'AdminDomain_breadcrumb_title' => 'Domain',
'AdminDomain_table_title' => 'Domains',
'AdminDomain_registration_date' => 'Creation date',
'AdminDomain_registration_date_tooltip' => 'The date of the domain creation.',
'AdminDomain_expiration_date' => 'Expiration date',
'AdminDomain_expiration_date_tooltip' => 'The date of the domain expiration.',
'AdminDomain_counters_accounts' => 'User count',
'AdminDomain_counters_accounts_tooltip' => 'The number of users with email addresses belonging to the domain.',
'AdminDomain_counters_free_email_provider' => 'Free provider',
'AdminDomain_counters_free_email_provider_tooltip' => 'Whether the domain belongs to a provider that offers free accounts.',
'AdminDomain_counters_tranco_rank' => 'Web ranking',
'AdminDomain_counters_tranco_rank_tooltip' => 'Popularity of the domain name.',
'AdminDomain_counters_unavailable' => 'Unavailable',
'AdminDomain_counters_unavailable_tooltip' => 'Whether the domains website is inactive. This can be a sign of a fake mailbox.',
'AdminDomain_counters_disposable' => 'Disposable',
'AdminDomain_counters_disposable_tooltip' => 'Whether a domain is identified as associated with throwaway email addresses.',
'AdminDomain_counters_fraud' => 'Blacklisted',
'AdminDomain_counters_fraud_tooltip' => 'The number of blacklisted users with email at this domain.',
'AdminDomains_table_same_ip' => 'Domain neighbours',
'AdminDomains_table_same_ip_tooltip' => 'Domain hosting on the same IP address as current domain.',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminDomains_page_title' => 'Domains',
'AdminDomains_breadcrumb_title' => 'Domains',
'AdminDomains_search_placeholder' => 'Domain or Created',
'AdminDomains_table_title' => 'Domains',
'AdminDomains_table_title_tooltip' => 'This page provides analytics grouped by a domain of email addresses. The data is shown for a selected period of time. The chart displays the daily number of unique and newly reported domains. To open a page with more information about a particular email domain, click on a table row.',
];

View File

@@ -0,0 +1,24 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminEmail_page_title' => 'Email',
'AdminEmail_breadcrumb_title' => 'Email',
'AdminEmail_reputation' => 'Reputation',
'AdminEmail_noprofiles' => 'No profiles',
'AdminEmail_nobreach' => 'No breach',
'AdminEmail_free_provider' => 'Free provider',
'AdminEmail_disposable' => 'Disposable',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminEmails_page_title' => 'Emails',
'AdminEmails_breadcrumb_title' => 'Emails',
'AdminEmails_table_title' => 'Emails',
'AdminEmails_table_title_tooltip' => 'A list of email addresses linked to the user.',
'AdminEmails_search_placeholder' => 'Search placeholder for emails',
];

View File

@@ -0,0 +1,25 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminEvents_page_title' => 'Events',
'AdminEvents_breadcrumb_title' => 'Events',
'AdminEvents_search_placeholder' => 'User ID, Timestamp, IP, HTTP Code',
'AdminEvents_event_type_search_placeholder' => '+ Add another event type',
'AdminEvents_device_type_search_placeholder' => '+ Add another device type',
'AdminEvents_table_title' => 'Events',
'AdminEvents_table_title_tooltip' => 'This page lists events recorded during a selected period of time. To see extended event details, click on a table row. The chart shows the number of events recorded each day.',
];

View File

@@ -0,0 +1,19 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminFieldAuditTrail_table_title' => 'Field audit trail',
'AdminFieldAuditTrail_table_title_tooltip' => 'Track modifications by users to important fields, including what changed and when.',
];

View File

@@ -0,0 +1,27 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'ForgotPassword_page_title' => 'Reset your password',
'ForgotPassword_form_title' => 'Reset your password',
'ForgotPassword_form_email_label' => 'Email address',
'ForgotPassword_form_reset_button' => 'Reset',
'ForgotPassword_form_create_account_link' => 'Create an account',
'ForgotPassword_form_login_link' => 'Sign in',
'ForgotPassword_form_renew_button' => 'Reset',
'ForgotPassowrd_renew_password_subject' => 'Reset your password',
'ForgotPassowrd_renew_password_body' => 'Thanks for your request. We have prepared a link where you can reset your password. %s Please ignore this message if you didn\'t reset password.',
];

View File

@@ -0,0 +1,36 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminIp_page_title' => 'IP',
'AdminIp_breadcrumb_title' => 'IP',
'AdminIp_ips_table_by_cidr_title' => 'Nearby IP addresses',
'AdminIp_counters_country' => 'Country',
'AdminIp_counters_country_tooltip' => 'A country geolocated by the IP address.',
'AdminIp_counters_asn' => 'ASN',
'AdminIp_counters_blocklist' => 'Spam list',
'AdminIp_counters_blocklist_tooltip' => 'Someone may have utilized this IP address to exhibit unwanted activity before at other web services.',
'AdminIp_counters_blacklist' => 'Blacklisted',
'AdminIp_counters_blacklist_tooltip' => 'Whether this IP address is in the blacklist.',
'AdminIp_counters_datacenter' => 'Datacenter',
'AdminIp_counters_datacenter_tooltip' => 'This IP address belongs to ISP datacenter, which highly suggests the use of a VPN, script, or privacy software.',
'AdminIp_counters_vpn' => 'VPN',
'AdminIp_counters_vpn_tooltip' => 'This IP address is used to hide user\'s real location or to bypass regional blocking.',
'AdminIp_counters_tor' => 'TOR',
'AdminIp_counters_tor_tooltip' => 'IP address is assigned to The Onion Router network. Very few people use TOR, mainly used for anonymization and accessing censored resources.',
'AdminIp_counters_apple_relay' => 'Apple Relay',
'AdminIp_counters_apple_relay_tooltip' => 'IP address belongs to iCloud Private Relay, part of an iCloud+ subscription.',
];

View File

@@ -0,0 +1,26 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminIps_page_title' => 'IPs',
'AdminIps_breadcrumb_title' => 'IPs',
'AdminIps_search_placeholder' => 'IP, ASN, Country or Network operator',
'AdminUsers_ip_type_search_placeholder' => '+ Add another IP type',
'AdminIps_table_title' => 'IP addresses',
'AdminIps_table_title_tooltip' => 'This page outputs information grouped by IP address. The data is shown for a selected period of time. To open a page with more details, click on a table row. The chart shows the number of the residential (considered safe) and non-residential (considered a warning signal) IP addresses from which the requests were made each day.',
'AdminIps_map_title' => 'Locations & connections',
];

View File

@@ -0,0 +1,31 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminIsp_page_title' => 'ISP',
'AdminIsp_breadcrumb_title' => 'ISP',
'AdminIsp_table_title' => 'ISPs',
'AdminIsp_asn' => 'ASN',
'AdminIsp_counters_total_ips' => 'IP count',
'AdminIsp_counters_total_ips_tooltip' => 'The number of reported IP addresses assigned to the ISP.',
'AdminIsp_counters_visits' => 'Event count',
'AdminIsp_counters_visits_tooltip' => 'The number of events reported for the ISP.',
'AdminIsp_counters_accounts' => 'User count',
'AdminIsp_counters_accounts_tooltip' => 'The number of users reported for the ISP.',
'AdminIsp_counters_fraud' => 'Blacklisted',
'AdminIsp_counters_fraud_tooltip' => 'The number of blacklisted users belonging to the ISP.',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminIsps_page_title' => 'ISPs',
'AdminIsps_breadcrumb_title' => 'ISPs',
'AdminIsps_search_placeholder' => 'ASN, Network operator or Description',
'AdminIsps_table_title' => 'ISPs',
'AdminIsps_table_title_tooltip' => 'This page displays analytics grouped by an internet service provider (ISP), as identified by IP address. The data is shown for a selected period of time. The chart displays the daily number of unique and newly reported active ISPs. To open a page with more details on a particular ISP, click on a table row.',
];

View File

@@ -0,0 +1,24 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminLogbook_page_title' => 'Logbook',
'AdminLogbook_breadcrumb_title' => 'Logbook',
'AdminLogbook_table_title' => 'API requests',
'AdminLogbook_table_title_tooltip' => 'This page lists the processing statuses of the recent API requests for troubleshooting purposes.',
'AdminLogbook_search_placeholder' => 'Raw POST data, IP, Error, Timestamp',
'AdminLogbook_column_ip' => 'Source IP',
'AdminLogbook_column_ip_tooltip' => 'An IP address originated the request to /sensor/.',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Login_page_title' => 'Log in',
'Login_form_email_label' => 'Email address',
'Login_form_password_label' => 'Password',
'Login_form_signin_button' => 'Log in',
'Login_form_create_account_link' => 'Create your account',
'Login_form_forgot_password_link' => 'Forgot password?',
];

View File

@@ -0,0 +1,21 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Logout_page_title' => 'Sign out',
'Logout_form_cancel_link' => 'Stay signed in',
'Logout_text' => 'Are you sure that you want to sign out?',
'Logout_form_submit' => 'Sign out',
];

View File

@@ -0,0 +1,49 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminManualCheck_page_title' => 'Manual check',
'AdminManualCheck_form_title' => 'Manual check',
'AdminManualCheck_form_field_type_label' => 'Type',
'AdminManualCheck_form_types' => [
'ip' => 'IP',
'email' => 'Email',
'domain' => 'Domain',
'phone' => 'Phone',
],
'AdminManualCheck_form_field_search_query_label' => 'Search query',
'AdminManualCheck_form_button_search' => 'Search',
'AdminManualCheck_result_title' => '%s result',
'AdminManualCheck_key_overwrites' => [
'ip' => 'IP',
'email' => 'Email',
'domain' => 'Domain',
'phone' => 'Phone',
'geo_ip' => 'Geo IP',
'geo_html' => 'Geo HTML',
'iso_country_code' => 'ISO country code',
'asn' => 'ASN',
'tor' => 'TOR',
'vpn' => 'VPN',
'mx_record' => 'MX record',
'domains_count' => 'Domains hosting',
'cidr' => 'CIDR',
],
'AdminManualCheck_history_title' => 'History',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'PasswordRecovering_page_title' => 'Renew password',
'PasswordRecovering_form_title' => 'Renew password',
'PasswordRecovering_form_newPassword_label' => 'New Password',
'PasswordRecovering_form_confirmPassword_label' => 'Confirm Password',
'PasswordRecovering_form_renew_button' => 'Renew',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminPhone_page_title' => 'Phone',
'AdminPhone_breadcrumb_title' => 'Phone',
'AdminPhone_type' => 'Type',
'AdminPhone_profiles' => 'Profiles',
'AdminPhone_carrier' => 'Carrier',
'AdminPhone_blocklist' => 'Spam list',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminPhones_page_title' => 'Phones',
'AdminPhones_breadcrumb_title' => 'Phones',
'AdminPhones_table_title' => 'Phones',
'AdminPhones_table_title_tooltip' => 'A list of phone numbers linked to the user.',
'AdminPhones_search_placeholder' => 'Search placeholder for phones',
];

View File

@@ -0,0 +1,43 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminProfile_page_title' => 'Profile',
'AdminProfile_breadcrumb_title' => 'Profile',
'AdminProfile_success_message' => 'Profile has been successfully updated.',
'AdminProfile_form_title' => 'Profile',
'AdminProfile_form_title_tooltip' => 'Update your profile information.',
'AdminProfile_form_button_save' => 'Update',
'AdminProfile_form_field_firstname_label' => 'First name',
'AdminProfile_form_field_firstname_placeholder' => 'John',
'AdminProfile_form_field_lastname_label' => 'Last name',
'AdminProfile_form_field_lastname_placeholder' => 'Smith',
'AdminProfile_form_field_country_label' => 'Country',
'AdminProfile_form_field_country_placeholder' => 'Country',
'AdminProfile_form_field_street_label' => 'Street',
'AdminProfile_form_field_street_placeholder' => 'Street address',
'AdminProfile_form_field_city_label' => 'City',
'AdminProfile_form_field_city_placeholder' => 'City',
'AdminProfile_form_field_state_label' => 'State',
'AdminProfile_form_field_state_placeholder' => 'State',
'AdminProfile_form_field_zip_label' => 'Postcode',
'AdminProfile_form_field_zip_placeholder' => 'Postal code',
'AdminProfile_form_field_company_label' => 'Company',
'AdminProfile_form_field_company_placeholder' => 'Company name',
'AdminProfile_form_field_vat_label' => 'VAT',
'AdminProfile_form_field_vat_placeholder' => 'VAT number',
];

View File

@@ -0,0 +1,29 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminResource_page_title' => 'Resource',
'AdminResource_breadcrumb_title' => 'Resource',
'AdminResource_counters_total_users' => 'User count',
'AdminResource_counters_total_countries' => 'Country count',
'AdminResource_counters_total_ips' => 'IP count',
'AdminResource_counters_total_events' => 'Event count',
'AdminResource_counters_total_users_tooltip' => 'The number of users that interacted with the resource.',
'AdminResource_counters_total_countries_tooltip' => 'The number of countries from which the resource was requested.',
'AdminResource_counters_total_ips_tooltip' => 'The number of IP addresses from which the resource was requested.',
'AdminResource_counters_total_events_tooltip' => 'The number of events reported for the resource.',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminResources_page_title' => 'Resources',
'AdminResources_breadcrumb_title' => 'Resources',
'AdminResources_table_title' => 'Resources',
'AdminResources_table_title_tooltip' => 'This page allows reviewing user activity grouped by a requested resource. The data is shown for a selected period of time. To open a page with extended information on a resource, click on a table row. The chart presents HTTP response status codes user requests resulted in. Namely, it displays the number of OK (200), Not Found (404), and Forbidden (403) with Internal Server Error (500) responses returned each day.',
'AdminResources_search_placeholder' => 'URL or Title',
];

View File

@@ -0,0 +1,24 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminRetentionPolicy_form_title' => 'Data retention',
'AdminRetentionPolicy_form_title_tooltip' => 'Configure the maximum duration of the recorded information storage.',
'AdminRetentionPolicy_form_button_save' => 'Update',
'AdminRetentionPolicy_form_field_policy_label' => 'Retention period',
'AdminRetentionPolicy_form_field_policy_warning' => 'Caution! Reducing the data retention period will result in the removal of all data belonging to users who havent logged in beyond the updated retention period.',
'AdminRetentionPolicy_changeTimeZone_success_message' => 'Data retention period has been changed successfully.',
];

View File

@@ -0,0 +1,24 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminReviewQueue_page_title' => 'Review queue',
'AdminReviewQueue_breadcrumb_title' => 'Review queue',
'AdminReviewQueue_search_placeholder' => 'User Name, Last seen and Signup date',
'AdminReviewQueue_table_title' => 'Users for review',
'AdminReviewQueue_table_title_tooltip' => 'This page lists users with low trust scores and facilitates their removal from the queue by performing a review process. To open a page with more information on a user, click on an email address. The chart shows the number of users added to the review queue each day during a selected period of time.',
];

View File

@@ -0,0 +1,55 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminRules_page_title' => 'Rules',
'AdminRules_breadcrumb_title' => 'Rules',
'AdminRules_search_placeholder' => 'Rule Code, Type or Description',
'AdminRules_table_title' => 'Rules',
'AdminRules_table_title_tooltip' => 'This page lists conditions (rules) that can be utilized by the rules engine, which is responsible for the user trust score calculations. The page also provides a way for manually triggering a rule and getting a list of users matching it.',
'AdminRules_table_header_code' => 'Code',
'AdminRules_table_header_code_tooltip' => 'A rules code identifier.',
'AdminRules_table_header_group' => 'Type',
'AdminRules_table_header_group_tooltip' => 'A group to which a rule belongs.',
'AdminRules_table_header_description' => 'Description',
'AdminRules_table_header_description_tooltip' => 'Description of a rule.',
'AdminRules_table_header_proportion' => 'Match rate',
'AdminRules_table_header_proportion_tooltip' => 'The proportion between users matching the rule and all users.',
'AdminRules_table_header_weight' => 'Weight',
'AdminRules_table_header_weight_tooltip' => 'To enable the processing of a rule by the rules engine, set the weight value. The higher the rules weight, the more it influences a calculated user trust score. To save an adjusted weight value, click the red button shown on the right side.',
'AdminRules_table_header_users' => 'Action',
'AdminRules_table_header_users_tooltip' => 'Get a list of users matching the rule by clicking a green button; the result will be shown below the rules definition. When a weight value is changed, this column outputs a red button for saving an adjusted value.',
'AdminRules_weight_minus20' => 'Positive',
'AdminRules_weight_0' => 'None',
'AdminRules_weight_10' => 'Medium',
'AdminRules_weight_20' => 'High',
'AdminRules_weight_70' => 'Extreme',
'AdminRules_reload_rules' => 'Refresh',
'AdminRules_reload_rules_warning' => 'Click to upload new local rules.',
'AdminThresholdValues_form_title' => 'Thresholds settings',
'AdminThresholdValues_form_title_tooltip' => 'Manage and set thresholds for review queue and automated user blacklisting.',
'AdminThresholdValues_form_field_warning' => 'Set the threshold for user scores to trigger manual review or automatic blacklisting. Use auto-blacklisting with caution and only when truly necessary, as it could negatively impact the user experience due to potential misconfigurations.',
'AdminThresholdValues_form_field_blacklist_threshold_label' => 'Auto-block',
'AdminThresholdValues_form_field_review_queue_threshold_label' => 'Manual review queue',
'AdminThresholdValues_form_button_save' => 'Update',
'AdminThresholdValues_form_value_prefix' => 'Score below',
'AdminThresholdValues_form_value_zero_prefix' => 'Score is',
'AdminThresholdValues_update_success_message' => 'Thresholds updated successfully',
];

View File

@@ -0,0 +1,69 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminSettings_page_title' => 'Settings',
'AdminSettings_breadcrumb_title' => 'Settings',
'AdminSettings_changePassword_form_title' => 'Password',
'AdminSettings_changePassword_form_title_tooltip' => 'Change your account password here. Use a strong password to prevent unauthorized access.',
'AdminSettings_changePassword_form_field_currentPassword_label' => 'Current password',
'AdminSettings_changePassword_form_field_currentPassword_placeholder' => 'Enter current password',
'AdminSettings_changePassword_form_field_newPassword_label' => 'New password',
'AdminSettings_changePassword_form_field_newPassword_placeholder' => 'Enter new password',
'AdminSettings_changePassword_form_field_passwordConfirmation_label' => 'Confirm new password',
'AdminSettings_changePassword_form_field_passwordConfirmation_placeholder' => 'Re-enter new password',
'AdminSettings_changePassword_form_button_save' => 'Save',
'AdminSettings_changePassword_success_message' => 'Your password has been successfully changed.',
'AdminSettings_changeEmail_form_title' => 'Change email address',
'AdminSettings_changeEmail_form_title_tooltip' => 'Change the email address for your account here. A message with instructions on how to complete the change will be sent to the new email address.',
'AdminSettings_changeEmail_form_field_email_label' => 'Email address',
'AdminSettings_changeEmail_form_field_email_placeholder' => 'New email address',
'AdminSettings_changeEmail_form_button_save' => 'Change email',
'AdminSettings_changeEmail_success_message' => 'We have emailed you instructions on how to complete your email address change.',
'AdminSettings_changeEmail_approval_pending' => 'Confirm your new email address (%s) in order to complete your email address change.',
'AdminSettings_form_closeAccount_title' => 'Delete account',
'AdminSettings_form_closeAccount_confirmationMessage' => 'If you wish to permanently delete this account and all its associated data, including but not limited to users, IP addresses and events, click the button below.',
'AdminSettings_closeAccount_form_button_save' => 'Delete this account',
'AdminSettings_closeAccount_success_message' => 'Your account has been successfully deleted and you are unable to use it anymore.',
'AdminSettings_checkUpdates_form_title' => 'Check for updates',
'AdminSettings_form_checkUpdates_confirmationMessage' => 'Periodically, tirreno releases updates which can include application updates and important security patches.',
'AdminSettings_form_checkUpdates_currentVerision' => 'Current version: ',
'AdminSettings_checkUpdates_form_button' => 'Check',
'AdminSettings_notificationPreferences_title' => 'Review queue notifications',
'AdminSettings_notificationPreferences_title_tooltip' => 'Select how frequently email notifications should be sent.',
'AdminSettings_notificationPreferences_reviewReminderFrequency_label' => 'Sending',
'AdminSettings_notificationPreferences_reviewReminderFrequency_options' => [
'daily' => 'Daily',
'weekly' => 'Weekly',
'off' => 'Off',
],
'AdminSettings_notificationPreferences_button_save' => 'Save',
'AdminSettings_notificationPreferences_success_message' => 'Your notification preferences have been successfully updated.',
'AdminSettings_delete_account_warning_message_par1' => 'Please note that if you choose to delete your account, you will immediately lose access, and your data will be permanently deleted, '
. 'as outlined in our terms of service. We are unable to offer pro-rata refunds for any remaining subscription period.',
'AdminSettings_delete_account_warning_message_par2' => 'Alternatively, if you wish to pause your subscription without permanently deleting your account, you can cancel it instead. '
. 'Upon cancellation, you will immediately lose access, but we will securely store your account data for one year before automatic deletion. '
. 'You can reactivate your account at any time within one year of cancellation.',
'AdminSettings_submit_account_deletion_button' => 'Confirm account deletion',
'AdminSettings_account_deletion_warning_header' => 'Permanent account deletion',
];

View File

@@ -0,0 +1,27 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Signup_page_title' => 'Create an account',
'Signup_form_title' => 'Create an account',
'Signup_form_email_label' => 'Email address',
'Signup_form_password_label' => 'Password',
'Signup_form_signin_button' => 'Continue',
'Signup_form_create_account_question' => 'Already have an account?',
'Signup_form_create_account_link' => 'Log in',
'Signup_activation_email_subject' => 'Activate your acount',
'Signup_activation_email_body' => 'Thanks for your registration. Please activate your account and start using the system. %s',
];

View File

@@ -0,0 +1,23 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminTimeZone_form_title' => 'Time zone',
'AdminTimeZone_form_title_tooltip' => 'Select the servers time zone.',
'AdminTimeZone_form_button_save' => 'Update',
'AdminTimeZone_form_field_timezone_label' => 'City',
'AdminTimeZone_changeTimeZone_success_message' => 'Time zone has been successfully updated.',
];

View File

@@ -0,0 +1,50 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminUser_page_title' => 'Events',
'AdminUser_breadcrumb_title' => 'Events',
'AdminUser_widgets_id' => 'User',
'AdminUser_widgets_id_tooltip' => 'Basic user account information.',
'AdminUser_widgets_ips_warning' => 'IP addresses',
'AdminUser_widgets_ips_warning_tooltip' => 'A list of warning signals based on IP addresses linked to the user.',
'AdminUser_widgets_email' => 'Email',
'AdminUser_widgets_email_tooltip' => 'A list of warning signals based on email addresses linked to the user.',
'AdminUser_widgets_domain' => 'Domain',
'AdminUser_widgets_domain_tooltip' => 'A list of warning signals based on email domains linked to the user.',
'AdminUser_widgets_phone' => 'Phone',
'AdminUser_widgets_phone_tooltip' => 'Phone.',
'AdminUser_counters_total_new_devices' => 'New devices per day',
'AdminUser_counters_total_new_devices_tooltip' => 'Total new devices over user\'s sessions per day.',
'AdminUser_counters_total_new_ips' => 'New IPs per day',
'AdminUser_counters_total_new_ips_tooltip' => 'Total new IPs over user\'s sessions per day.',
'AdminUser_counters_total_events_max' => 'Events per session',
'AdminUser_counters_total_events_max_tooltip' => 'Average total events over user\'s sessions per day.',
'AdminUser_counters_total_sessions' => 'Sessions per day',
'AdminUser_counters_total_sessions_tooltip' => 'Total user\'s sessions per day.',
'AdminUser_recalculate_risk_score_success_message' => 'User trust score was successfully recalculated.',
'AdminUser_recalculate_risk_score_tooltip' => 'Recalculate trust score',
'AdminUser_remove_user_button' => 'Delete user',
'AdminUser_scheduled_for_removal' => 'All information related to this user is scheduled for removal.',
'AdminUser_review_comment_placeholder' => 'There is no review for this user.',
'AdminPayload_table_title' => 'Payload',
'AdminPayload_table_title_tooltip' => 'Payload',
];

View File

@@ -0,0 +1,30 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminUsers_page_title' => 'Users',
'AdminUsers_breadcrumb_title' => 'Users',
'AdminUsers_search_placeholder' => 'User Name, ID and Signup Date',
'AdminUsers_rules_search_placeholder' => '+ Add another rule',
'AdminUsers_scores_range_search_placeholder' => '+ Add another score',
'AdminUsers_table_title' => 'Users',
'AdminUsers_table_title_tooltip' => 'This page outputs basic information about users, including their trust scores. The data is shown for a selected period of time. To open a page with extended analytics, click on a table row. The chart displays the daily number of new visitors, grouped by their trust scores values.',
'AdminUsers_add_to_watchlist' => 'Add to Watchlist',
'AdminUsers_remove_from_watchlist' => 'Remove from Watchlist',
'AdminUsers_remove_reviewed_flag' => 'Not reviewed',
'AdminUsers_auto_blocked' => 'Auto-blocked',
];

View File

@@ -0,0 +1,19 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'AdminWatchlist_page_title' => 'Watchlist',
'AdminWatchlist_breadcrumb_title' => 'Watchlist',
];

View File

@@ -0,0 +1,108 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Details_placeholder' => 'Event report',
'Details_event_time' => 'Timestamp',
'Details_event_type' => 'Event type',
'Details_event_http_method' => 'HTTP method',
'Details_event_http_code' => 'HTTP code',
'Details_user_count' => 'User count',
'Details_event_count' => 'Event count',
'Details_payload' => 'Payload',
//User
'Details_user_id' => 'Trust score & email',
'Details_accounttitle' => 'User ID',
'Details_full_name' => 'Name',
'Details_firstname' => 'First name',
'Details_lastname' => 'Last name',
'Details_reviewed_status' => 'Review status',
'Details_latest_decision' => 'Latest decision',
'Details_score_details' => 'User score details',
//Phone
'Phone_details_placeholder' => 'Phone details',
'Details_phone' => 'Phone',
'Details_phone_national' => 'National format',
'Details_phone_country' => 'Country',
'Details_carrier_name' => 'Carrier',
'Details_phone_type' => 'Type',
'Details_phone_invalid' => 'Invalid',
'Details_phone_fraud_detected' => 'Blacklisted',
'Details_phone_alert_list' => 'Global alert',
'Details_shared_users' => 'Users with the same phone',
//Email
'Email_details_placeholder' => 'Email details',
'Details_email' => 'Email',
'Details_reputation' => 'Reputation',
'Details_no_profiles' => 'No profiles',
'Details_free_provider' => 'Free provider',
'Details_no_data_breach' => 'No breach',
'Details_data_breaches' => 'Total breaches',
'Details_domain' => 'Domain',
'Details_domain_unavailable' => 'Unavailable',
'Details_tranco_rank' => 'Web ranking',
'Details_blockdomain' => 'Spam list',
'Details_disposable_domains' => 'Disposable',
'Details_domain_creation_date' => 'Creation date',
'Details_domain_expiration_date' => 'Expires on',
'Details_blockemails' => 'Spam list',
'Details_email_fraud_detected' => 'Blacklisted',
'Details_email_earliest_breach' => 'Earliest breach',
'Details_email_alert_list' => 'Global alert',
'Details_domain_contact_email' => 'Domain contact email',
'Details_earliest_breach' => 'Earliest breach',
'Details_mx_record' => 'MX record missing',
'Details_domain_return_code' => 'Domain return code',
'Details_closest_snapshot' => 'Oldest mention',
//Resource
'Details_url' => 'URL',
'Details_query' => 'Query',
'Details_referer' => 'Referer',
//IP
'Details_ip' => 'IP address',
'Details_cidr' => 'CIDR',
'Details_country' => 'Country',
'Details_netname' => 'Network operator',
'Details_ip_type' => 'IP type',
'Details_ip_spamlist' => 'Spam list',
'Details_asn' => 'ASN',
'Details_ip_alert_list' => 'Global alert',
//Device
'Device_details_placeholder' => 'Device details',
'Details_device_id' => 'Device ID',
'Details_device' => 'Device',
'Details_ua_modified' => 'User agent modified',
'Details_browser_name' => 'Browser',
'Details_lang' => 'Language',
'Details_os_name' => 'OS',
'Details_ua' => 'User agent',
'Details_device_created' => 'First seen',
//Logbook
'Details_local_timestamp' => 'Local timestamp',
'Details_error_type' => 'Status',
'Details_error_text' => 'Warning message',
'Details_request' => 'Raw POST data',
'Details_source_ip' => 'Source IP',
//Enrichment
'Details_calculation' => 'The list of entities and the number of records that require enrichment. Billing will be calculated based on API consumption rates.',
];

View File

@@ -0,0 +1,38 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'LeftMenu_ips_link' => 'IP addresses',
'LeftMenu_home_link' => 'Dashboard',
'LeftMenu_users_link' => 'Users',
'LeftMenu_not_reviewed_users_link' => 'Review queue',
'LeftMenu_countries_link' => 'Countries',
'LeftMenu_resources_link' => 'Resources',
'LeftMenu_api_keys_link' => 'API',
'LeftMenu_all_events_link' => 'Events',
'LeftMenu_settings_link' => 'Settings',
'LeftMenu_logout_link' => 'Sign out',
'LeftMenu_watchlist_link' => 'Watchlist',
'LeftMenu_emails_link' => 'Emails',
'LeftMenu_phones_link' => 'Phones',
'LeftMenu_manual_check_link' => 'Manual check',
'LeftMenu_rules_link' => 'Rules',
'LeftMenu_devices_link' => 'Devices',
'LeftMenu_bots_link' => 'Bots',
'LeftMenu_isps_link' => 'Networks',
'LeftMenu_domains_link' => 'Domains',
'LeftMenu_blacklist_link' => 'Blacklist',
'LeftMenu_logbook_link' => 'Logbook',
];

View File

@@ -0,0 +1,438 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'timezones' => [
'Pacific/Midway' => 'Midway (UTC-11:00)',
'Pacific/Niue' => 'Niue (UTC-11:00)',
'Pacific/Pago_Pago' => 'Pago Pago (UTC-11:00)',
'America/Adak' => 'Adak (UTC-10:00)',
'Pacific/Honolulu' => 'Honolulu (UTC-10:00)',
'Pacific/Johnston' => 'Johnston (UTC-10:00)',
'Pacific/Rarotonga' => 'Rarotonga (UTC-10:00)',
'Pacific/Tahiti' => 'Tahiti (UTC-10:00)',
'Pacific/Marquesas' => 'Marquesas (UTC-09:30)',
'America/Anchorage' => 'Anchorage (UTC-09:00)',
'Pacific/Gambier' => 'Gambier (UTC-09:00)',
'America/Juneau' => 'Juneau (UTC-09:00)',
'America/Nome' => 'Nome (UTC-09:00)',
'America/Sitka' => 'Sitka (UTC-09:00)',
'America/Yakutat' => 'Yakutat (UTC-09:00)',
'America/Dawson' => 'Dawson (UTC-08:00)',
'America/Los_Angeles' => 'Los Angeles (UTC-08:00)',
'America/Metlakatla' => 'Metlakatla (UTC-08:00)',
'Pacific/Pitcairn' => 'Pitcairn (UTC-08:00)',
'America/Santa_Isabel' => 'Santa Isabel (UTC-08:00)',
'America/Tijuana' => 'Tijuana (UTC-08:00)',
'America/Vancouver' => 'Vancouver (UTC-08:00)',
'America/Whitehorse' => 'Whitehorse (UTC-08:00)',
'America/Boise' => 'Boise (UTC-07:00)',
'America/Cambridge_Bay' => 'Cambridge Bay (UTC-07:00)',
'America/Chihuahua' => 'Chihuahua (UTC-07:00)',
'America/Creston' => 'Creston (UTC-07:00)',
'America/Dawson_Creek' => 'Dawson Creek (UTC-07:00)',
'America/Denver' => 'Denver (UTC-07:00)',
'America/Edmonton' => 'Edmonton (UTC-07:00)',
'America/Hermosillo' => 'Hermosillo (UTC-07:00)',
'America/Inuvik' => 'Inuvik (UTC-07:00)',
'America/Mazatlan' => 'Mazatlan (UTC-07:00)',
'America/Ojinaga' => 'Ojinaga (UTC-07:00)',
'America/Phoenix' => 'Phoenix (UTC-07:00)',
'America/Shiprock' => 'Shiprock (UTC-07:00)',
'America/Yellowknife' => 'Yellowknife (UTC-07:00)',
'America/Bahia_Banderas' => 'Bahia Banderas (UTC-06:00)',
'America/Belize' => 'Belize (UTC-06:00)',
'America/North_Dakota/Beulah' => 'Beulah (UTC-06:00)',
'America/Cancun' => 'Cancun (UTC-06:00)',
'America/North_Dakota/Center' => 'Center (UTC-06:00)',
'America/Chicago' => 'Chicago (UTC-06:00)',
'America/Costa_Rica' => 'Costa Rica (UTC-06:00)',
'Pacific/Easter' => 'Easter (UTC-06:00)',
'America/El_Salvador' => 'El Salvador (UTC-06:00)',
'Pacific/Galapagos' => 'Galapagos (UTC-06:00)',
'America/Guatemala' => 'Guatemala (UTC-06:00)',
'America/Indiana/Knox' => 'Knox (UTC-06:00)',
'America/Managua' => 'Managua (UTC-06:00)',
'America/Matamoros' => 'Matamoros (UTC-06:00)',
'America/Menominee' => 'Menominee (UTC-06:00)',
'America/Merida' => 'Merida (UTC-06:00)',
'America/Mexico_City' => 'Mexico City (UTC-06:00)',
'America/Monterrey' => 'Monterrey (UTC-06:00)',
'America/North_Dakota/New_Salem' => 'New Salem (UTC-06:00)',
'America/Rainy_River' => 'Rainy River (UTC-06:00)',
'America/Rankin_Inlet' => 'Rankin Inlet (UTC-06:00)',
'America/Regina' => 'Regina (UTC-06:00)',
'America/Resolute' => 'Resolute (UTC-06:00)',
'America/Swift_Current' => 'Swift Current (UTC-06:00)',
'America/Tegucigalpa' => 'Tegucigalpa (UTC-06:00)',
'America/Indiana/Tell_City' => 'Tell City (UTC-06:00)',
'America/Winnipeg' => 'Winnipeg (UTC-06:00)',
'America/Atikokan' => 'Atikokan (UTC-05:00)',
'America/Bogota' => 'Bogota (UTC-05:00)',
'America/Cayman' => 'Cayman (UTC-05:00)',
'America/Detroit' => 'Detroit (UTC-05:00)',
'America/Grand_Turk' => 'Grand Turk (UTC-05:00)',
'America/Guayaquil' => 'Guayaquil (UTC-05:00)',
'America/Havana' => 'Havana (UTC-05:00)',
'America/Indiana/Indianapolis' => 'Indianapolis (UTC-05:00)',
'America/Iqaluit' => 'Iqaluit (UTC-05:00)',
'America/Jamaica' => 'Jamaica (UTC-05:00)',
'America/Lima' => 'Lima (UTC-05:00)',
'America/Kentucky/Louisville' => 'Louisville (UTC-05:00)',
'America/Indiana/Marengo' => 'Marengo (UTC-05:00)',
'America/Kentucky/Monticello' => 'Monticello (UTC-05:00)',
'America/Montreal' => 'Montreal (UTC-05:00)',
'America/Nassau' => 'Nassau (UTC-05:00)',
'America/New_York' => 'New York (UTC-05:00)',
'America/Nipigon' => 'Nipigon (UTC-05:00)',
'America/Panama' => 'Panama (UTC-05:00)',
'America/Pangnirtung' => 'Pangnirtung (UTC-05:00)',
'America/Indiana/Petersburg' => 'Petersburg (UTC-05:00)',
'America/Port-au-Prince' => 'Port-au-Prince (UTC-05:00)',
'America/Thunder_Bay' => 'Thunder Bay (UTC-05:00)',
'America/Toronto' => 'Toronto (UTC-05:00)',
'America/Indiana/Vevay' => 'Vevay (UTC-05:00)',
'America/Indiana/Vincennes' => 'Vincennes (UTC-05:00)',
'America/Indiana/Winamac' => 'Winamac (UTC-05:00)',
'America/Caracas' => 'Caracas (UTC-04:30)',
'America/Anguilla' => 'Anguilla (UTC-04:00)',
'America/Antigua' => 'Antigua (UTC-04:00)',
'America/Aruba' => 'Aruba (UTC-04:00)',
'America/Asuncion' => 'Asuncion (UTC-04:00)',
'America/Barbados' => 'Barbados (UTC-04:00)',
'Atlantic/Bermuda' => 'Bermuda (UTC-04:00)',
'America/Blanc-Sablon' => 'Blanc-Sablon (UTC-04:00)',
'America/Boa_Vista' => 'Boa Vista (UTC-04:00)',
'America/Campo_Grande' => 'Campo Grande (UTC-04:00)',
'America/Cuiaba' => 'Cuiaba (UTC-04:00)',
'America/Curacao' => 'Curacao (UTC-04:00)',
'America/Dominica' => 'Dominica (UTC-04:00)',
'America/Eirunepe' => 'Eirunepe (UTC-04:00)',
'America/Glace_Bay' => 'Glace Bay (UTC-04:00)',
'America/Goose_Bay' => 'Goose Bay (UTC-04:00)',
'America/Grenada' => 'Grenada (UTC-04:00)',
'America/Guadeloupe' => 'Guadeloupe (UTC-04:00)',
'America/Guyana' => 'Guyana (UTC-04:00)',
'America/Halifax' => 'Halifax (UTC-04:00)',
'America/Kralendijk' => 'Kralendijk (UTC-04:00)',
'America/La_Paz' => 'La Paz (UTC-04:00)',
'America/Lower_Princes' => 'Lower Princes (UTC-04:00)',
'America/Manaus' => 'Manaus (UTC-04:00)',
'America/Marigot' => 'Marigot (UTC-04:00)',
'America/Martinique' => 'Martinique (UTC-04:00)',
'America/Moncton' => 'Moncton (UTC-04:00)',
'America/Montserrat' => 'Montserrat (UTC-04:00)',
'Antarctica/Palmer' => 'Palmer (UTC-04:00)',
'America/Port_of_Spain' => 'Port of Spain (UTC-04:00)',
'America/Porto_Velho' => 'Porto Velho (UTC-04:00)',
'America/Puerto_Rico' => 'Puerto Rico (UTC-04:00)',
'America/Rio_Branco' => 'Rio Branco (UTC-04:00)',
'America/Santiago' => 'Santiago (UTC-04:00)',
'America/Santo_Domingo' => 'Santo Domingo (UTC-04:00)',
'America/St_Barthelemy' => 'St. Barthelemy (UTC-04:00)',
'America/St_Kitts' => 'St. Kitts (UTC-04:00)',
'America/St_Lucia' => 'St. Lucia (UTC-04:00)',
'America/St_Thomas' => 'St. Thomas (UTC-04:00)',
'America/St_Vincent' => 'St. Vincent (UTC-04:00)',
'America/Thule' => 'Thule (UTC-04:00)',
'America/Tortola' => 'Tortola (UTC-04:00)',
'America/St_Johns' => 'St. Johns (UTC-03:30)',
'America/Araguaina' => 'Araguaina (UTC-03:00)',
'America/Bahia' => 'Bahia (UTC-03:00)',
'America/Belem' => 'Belem (UTC-03:00)',
'America/Argentina/Buenos_Aires' => 'Buenos Aires (UTC-03:00)',
'America/Argentina/Catamarca' => 'Catamarca (UTC-03:00)',
'America/Cayenne' => 'Cayenne (UTC-03:00)',
'America/Argentina/Cordoba' => 'Cordoba (UTC-03:00)',
'America/Fortaleza' => 'Fortaleza (UTC-03:00)',
'America/Godthab' => 'Godthab (UTC-03:00)',
'America/Argentina/Jujuy' => 'Jujuy (UTC-03:00)',
'America/Argentina/La_Rioja' => 'La Rioja (UTC-03:00)',
'America/Maceio' => 'Maceio (UTC-03:00)',
'America/Argentina/Mendoza' => 'Mendoza (UTC-03:00)',
'America/Miquelon' => 'Miquelon (UTC-03:00)',
'America/Montevideo' => 'Montevideo (UTC-03:00)',
'America/Paramaribo' => 'Paramaribo (UTC-03:00)',
'America/Recife' => 'Recife (UTC-03:00)',
'America/Argentina/Rio_Gallegos' => 'Rio Gallegos (UTC-03:00)',
'Antarctica/Rothera' => 'Rothera (UTC-03:00)',
'America/Argentina/Salta' => 'Salta (UTC-03:00)',
'America/Argentina/San_Juan' => 'San Juan (UTC-03:00)',
'America/Argentina/San_Luis' => 'San Luis (UTC-03:00)',
'America/Santarem' => 'Santarem (UTC-03:00)',
'America/Sao_Paulo' => 'Sao Paulo (UTC-03:00)',
'Atlantic/Stanley' => 'Stanley (UTC-03:00)',
'America/Argentina/Tucuman' => 'Tucuman (UTC-03:00)',
'America/Argentina/Ushuaia' => 'Ushuaia (UTC-03:00)',
'America/Noronha' => 'Noronha (UTC-02:00)',
'Atlantic/South_Georgia' => 'South Georgia (UTC-02:00)',
'Atlantic/Azores' => 'Azores (UTC-01:00)',
'Atlantic/Cape_Verde' => 'Cape Verde (UTC-01:00)',
'America/Scoresbysund' => 'Scoresbysund (UTC-01:00)',
'Africa/Abidjan' => 'Abidjan (UTC+00:00)',
'Africa/Accra' => 'Accra (UTC+00:00)',
'Africa/Bamako' => 'Bamako (UTC+00:00)',
'Africa/Banjul' => 'Banjul (UTC+00:00)',
'Africa/Bissau' => 'Bissau (UTC+00:00)',
'Atlantic/Canary' => 'Canary (UTC+00:00)',
'Africa/Casablanca' => 'Casablanca (UTC+00:00)',
'Africa/Conakry' => 'Conakry (UTC+00:00)',
'Africa/Dakar' => 'Dakar (UTC+00:00)',
'America/Danmarkshavn' => 'Danmarkshavn (UTC+00:00)',
'Europe/Dublin' => 'Dublin (UTC+00:00)',
'Africa/El_Aaiun' => 'El Aaiun (UTC+00:00)',
'Atlantic/Faroe' => 'Faroe (UTC+00:00)',
'Africa/Freetown' => 'Freetown (UTC+00:00)',
'Europe/Guernsey' => 'Guernsey (UTC+00:00)',
'Europe/Isle_of_Man' => 'Isle of Man (UTC+00:00)',
'Europe/Jersey' => 'Jersey (UTC+00:00)',
'Europe/Lisbon' => 'Lisbon (UTC+00:00)',
'Africa/Lome' => 'Lome (UTC+00:00)',
'Europe/London' => 'London (UTC+00:00)',
'Atlantic/Madeira' => 'Madeira (UTC+00:00)',
'Africa/Monrovia' => 'Monrovia (UTC+00:00)',
'Africa/Nouakchott' => 'Nouakchott (UTC+00:00)',
'Africa/Ouagadougou' => 'Ouagadougou (UTC+00:00)',
'Atlantic/Reykjavik' => 'Reykjavik (UTC+00:00)',
'Africa/Sao_Tome' => 'Sao Tome (UTC+00:00)',
'Atlantic/St_Helena' => 'St. Helena (UTC+00:00)',
'UTC' => 'UTC (UTC+00:00)',
'Africa/Algiers' => 'Algiers (UTC+01:00)',
'Europe/Amsterdam' => 'Amsterdam (UTC+01:00)',
'Europe/Andorra' => 'Andorra (UTC+01:00)',
'Africa/Bangui' => 'Bangui (UTC+01:00)',
'Europe/Belgrade' => 'Belgrade (UTC+01:00)',
'Europe/Berlin' => 'Berlin (UTC+01:00)',
'Europe/Bratislava' => 'Bratislava (UTC+01:00)',
'Africa/Brazzaville' => 'Brazzaville (UTC+01:00)',
'Europe/Brussels' => 'Brussels (UTC+01:00)',
'Europe/Budapest' => 'Budapest (UTC+01:00)',
'Europe/Busingen' => 'Busingen (UTC+01:00)',
'Africa/Ceuta' => 'Ceuta (UTC+01:00)',
'Europe/Copenhagen' => 'Copenhagen (UTC+01:00)',
'Africa/Douala' => 'Douala (UTC+01:00)',
'Europe/Gibraltar' => 'Gibraltar (UTC+01:00)',
'Africa/Kinshasa' => 'Kinshasa (UTC+01:00)',
'Africa/Lagos' => 'Lagos (UTC+01:00)',
'Africa/Libreville' => 'Libreville (UTC+01:00)',
'Europe/Ljubljana' => 'Ljubljana (UTC+01:00)',
'Arctic/Longyearbyen' => 'Longyearbyen (UTC+01:00)',
'Africa/Luanda' => 'Luanda (UTC+01:00)',
'Europe/Luxembourg' => 'Luxembourg (UTC+01:00)',
'Europe/Madrid' => 'Madrid (UTC+01:00)',
'Africa/Malabo' => 'Malabo (UTC+01:00)',
'Europe/Malta' => 'Malta (UTC+01:00)',
'Europe/Monaco' => 'Monaco (UTC+01:00)',
'Africa/Ndjamena' => 'Ndjamena (UTC+01:00)',
'Africa/Niamey' => 'Niamey (UTC+01:00)',
'Europe/Oslo' => 'Oslo (UTC+01:00)',
'Europe/Paris' => 'Paris (UTC+01:00)',
'Europe/Podgorica' => 'Podgorica (UTC+01:00)',
'Africa/Porto-Novo' => 'Porto-Novo (UTC+01:00)',
'Europe/Prague' => 'Prague (UTC+01:00)',
'Europe/Rome' => 'Rome (UTC+01:00)',
'Europe/San_Marino' => 'San Marino (UTC+01:00)',
'Europe/Sarajevo' => 'Sarajevo (UTC+01:00)',
'Europe/Skopje' => 'Skopje (UTC+01:00)',
'Europe/Stockholm' => 'Stockholm (UTC+01:00)',
'Europe/Tirane' => 'Tirane (UTC+01:00)',
'Africa/Tripoli' => 'Tripoli (UTC+01:00)',
'Africa/Tunis' => 'Tunis (UTC+01:00)',
'Europe/Vaduz' => 'Vaduz (UTC+01:00)',
'Europe/Vatican' => 'Vatican (UTC+01:00)',
'Europe/Vienna' => 'Vienna (UTC+01:00)',
'Europe/Warsaw' => 'Warsaw (UTC+01:00)',
'Africa/Windhoek' => 'Windhoek (UTC+01:00)',
'Europe/Zagreb' => 'Zagreb (UTC+01:00)',
'Europe/Zurich' => 'Zurich (UTC+01:00)',
'Europe/Athens' => 'Athens (UTC+02:00)',
'Asia/Beirut' => 'Beirut (UTC+02:00)',
'Africa/Blantyre' => 'Blantyre (UTC+02:00)',
'Europe/Bucharest' => 'Bucharest (UTC+02:00)',
'Africa/Bujumbura' => 'Bujumbura (UTC+02:00)',
'Africa/Cairo' => 'Cairo (UTC+02:00)',
'Europe/Chisinau' => 'Chisinau (UTC+02:00)',
'Asia/Damascus' => 'Damascus (UTC+02:00)',
'Africa/Gaborone' => 'Gaborone (UTC+02:00)',
'Asia/Gaza' => 'Gaza (UTC+02:00)',
'Africa/Harare' => 'Harare (UTC+02:00)',
'Asia/Hebron' => 'Hebron (UTC+02:00)',
'Europe/Helsinki' => 'Helsinki (UTC+02:00)',
'Europe/Istanbul' => 'Istanbul (UTC+02:00)',
'Asia/Jerusalem' => 'Jerusalem (UTC+02:00)',
'Africa/Johannesburg' => 'Johannesburg (UTC+02:00)',
'Europe/Kiev' => 'Kiev (UTC+02:00)',
'Africa/Kigali' => 'Kigali (UTC+02:00)',
'Africa/Lubumbashi' => 'Lubumbashi (UTC+02:00)',
'Africa/Lusaka' => 'Lusaka (UTC+02:00)',
'Africa/Maputo' => 'Maputo (UTC+02:00)',
'Europe/Mariehamn' => 'Mariehamn (UTC+02:00)',
'Africa/Maseru' => 'Maseru (UTC+02:00)',
'Africa/Mbabane' => 'Mbabane (UTC+02:00)',
'Asia/Nicosia' => 'Nicosia (UTC+02:00)',
'Europe/Riga' => 'Riga (UTC+02:00)',
'Europe/Simferopol' => 'Simferopol (UTC+02:00)',
'Europe/Sofia' => 'Sofia (UTC+02:00)',
'Europe/Tallinn' => 'Tallinn (UTC+02:00)',
'Europe/Uzhgorod' => 'Uzhgorod (UTC+02:00)',
'Europe/Vilnius' => 'Vilnius (UTC+02:00)',
'Europe/Zaporozhye' => 'Zaporozhye (UTC+02:00)',
'Africa/Addis_Ababa' => 'Addis Ababa (UTC+03:00)',
'Asia/Aden' => 'Aden (UTC+03:00)',
'Asia/Amman' => 'Amman (UTC+03:00)',
'Indian/Antananarivo' => 'Antananarivo (UTC+03:00)',
'Africa/Asmara' => 'Asmara (UTC+03:00)',
'Asia/Baghdad' => 'Baghdad (UTC+03:00)',
'Asia/Bahrain' => 'Bahrain (UTC+03:00)',
'Indian/Comoro' => 'Comoro (UTC+03:00)',
'Africa/Dar_es_Salaam' => 'Dar es Salaam (UTC+03:00)',
'Africa/Djibouti' => 'Djibouti (UTC+03:00)',
'Africa/Juba' => 'Juba (UTC+03:00)',
'Europe/Kaliningrad' => 'Kaliningrad (UTC+03:00)',
'Africa/Kampala' => 'Kampala (UTC+03:00)',
'Africa/Khartoum' => 'Khartoum (UTC+03:00)',
'Asia/Kuwait' => 'Kuwait (UTC+03:00)',
'Indian/Mayotte' => 'Mayotte (UTC+03:00)',
'Europe/Minsk' => 'Minsk (UTC+03:00)',
'Africa/Mogadishu' => 'Mogadishu (UTC+03:00)',
'Europe/Moscow' => 'Moscow (UTC+03:00)',
'Africa/Nairobi' => 'Nairobi (UTC+03:00)',
'Asia/Qatar' => 'Qatar (UTC+03:00)',
'Asia/Riyadh' => 'Riyadh (UTC+03:00)',
'Antarctica/Syowa' => 'Syowa (UTC+03:00)',
'Asia/Tehran' => 'Tehran (UTC+03:30)',
'Asia/Baku' => 'Baku (UTC+04:00)',
'Asia/Dubai' => 'Dubai (UTC+04:00)',
'Indian/Mahe' => 'Mahe (UTC+04:00)',
'Indian/Mauritius' => 'Mauritius (UTC+04:00)',
'Asia/Muscat' => 'Muscat (UTC+04:00)',
'Indian/Reunion' => 'Reunion (UTC+04:00)',
'Europe/Samara' => 'Samara (UTC+04:00)',
'Asia/Tbilisi' => 'Tbilisi (UTC+04:00)',
'Europe/Volgograd' => 'Volgograd (UTC+04:00)',
'Asia/Yerevan' => 'Yerevan (UTC+04:00)',
'Asia/Kabul' => 'Kabul (UTC+04:30)',
'Asia/Aqtau' => 'Aqtau (UTC+05:00)',
'Asia/Aqtobe' => 'Aqtobe (UTC+05:00)',
'Asia/Ashgabat' => 'Ashgabat (UTC+05:00)',
'Asia/Dushanbe' => 'Dushanbe (UTC+05:00)',
'Asia/Karachi' => 'Karachi (UTC+05:00)',
'Indian/Kerguelen' => 'Kerguelen (UTC+05:00)',
'Indian/Maldives' => 'Maldives (UTC+05:00)',
'Antarctica/Mawson' => 'Mawson (UTC+05:00)',
'Asia/Oral' => 'Oral (UTC+05:00)',
'Asia/Samarkand' => 'Samarkand (UTC+05:00)',
'Asia/Tashkent' => 'Tashkent (UTC+05:00)',
'Asia/Colombo' => 'Colombo (UTC+05:30)',
'Asia/Kolkata' => 'Kolkata (UTC+05:30)',
'Asia/Kathmandu' => 'Kathmandu (UTC+05:45)',
'Asia/Almaty' => 'Almaty (UTC+06:00)',
'Asia/Bishkek' => 'Bishkek (UTC+06:00)',
'Indian/Chagos' => 'Chagos (UTC+06:00)',
'Asia/Dhaka' => 'Dhaka (UTC+06:00)',
'Asia/Qyzylorda' => 'Qyzylorda (UTC+06:00)',
'Asia/Thimphu' => 'Thimphu (UTC+06:00)',
'Antarctica/Vostok' => 'Vostok (UTC+06:00)',
'Asia/Yekaterinburg' => 'Yekaterinburg (UTC+06:00)',
'Indian/Cocos' => 'Cocos (UTC+06:30)',
'Asia/Rangoon' => 'Rangoon (UTC+06:30)',
'Asia/Bangkok' => 'Bangkok (UTC+07:00)',
'Indian/Christmas' => 'Christmas (UTC+07:00)',
'Antarctica/Davis' => 'Davis (UTC+07:00)',
'Asia/Ho_Chi_Minh' => 'Ho Chi Minh (UTC+07:00)',
'Asia/Hovd' => 'Hovd (UTC+07:00)',
'Asia/Jakarta' => 'Jakarta (UTC+07:00)',
'Asia/Novokuznetsk' => 'Novokuznetsk (UTC+07:00)',
'Asia/Novosibirsk' => 'Novosibirsk (UTC+07:00)',
'Asia/Omsk' => 'Omsk (UTC+07:00)',
'Asia/Phnom_Penh' => 'Phnom Penh (UTC+07:00)',
'Asia/Pontianak' => 'Pontianak (UTC+07:00)',
'Asia/Vientiane' => 'Vientiane (UTC+07:00)',
'Asia/Brunei' => 'Brunei (UTC+08:00)',
'Antarctica/Casey' => 'Casey (UTC+08:00)',
'Asia/Choibalsan' => 'Choibalsan (UTC+08:00)',
'Asia/Chongqing' => 'Chongqing (UTC+08:00)',
'Asia/Harbin' => 'Harbin (UTC+08:00)',
'Asia/Hong_Kong' => 'Hong Kong (UTC+08:00)',
'Asia/Kashgar' => 'Kashgar (UTC+08:00)',
'Asia/Krasnoyarsk' => 'Krasnoyarsk (UTC+08:00)',
'Asia/Kuala_Lumpur' => 'Kuala Lumpur (UTC+08:00)',
'Asia/Kuching' => 'Kuching (UTC+08:00)',
'Asia/Macau' => 'Macau (UTC+08:00)',
'Asia/Makassar' => 'Makassar (UTC+08:00)',
'Asia/Manila' => 'Manila (UTC+08:00)',
'Australia/Perth' => 'Perth (UTC+08:00)',
'Asia/Shanghai' => 'Shanghai (UTC+08:00)',
'Asia/Singapore' => 'Singapore (UTC+08:00)',
'Asia/Taipei' => 'Taipei (UTC+08:00)',
'Asia/Ulaanbaatar' => 'Ulaanbaatar (UTC+08:00)',
'Asia/Urumqi' => 'Urumqi (UTC+08:00)',
'Australia/Eucla' => 'Eucla (UTC+08:45)',
'Asia/Dili' => 'Dili (UTC+09:00)',
'Asia/Irkutsk' => 'Irkutsk (UTC+09:00)',
'Asia/Jayapura' => 'Jayapura (UTC+09:00)',
'Pacific/Palau' => 'Palau (UTC+09:00)',
'Asia/Pyongyang' => 'Pyongyang (UTC+09:00)',
'Asia/Seoul' => 'Seoul (UTC+09:00)',
'Asia/Tokyo' => 'Tokyo (UTC+09:00)',
'Australia/Adelaide' => 'Adelaide (UTC+09:30)',
'Australia/Broken_Hill' => 'Broken Hill (UTC+09:30)',
'Australia/Darwin' => 'Darwin (UTC+09:30)',
'Australia/Brisbane' => 'Brisbane (UTC+10:00)',
'Pacific/Chuuk' => 'Chuuk (UTC+10:00)',
'Australia/Currie' => 'Currie (UTC+10:00)',
'Antarctica/DumontDUrville' => 'DumontDUrville (UTC+10:00)',
'Pacific/Guam' => 'Guam (UTC+10:00)',
'Australia/Hobart' => 'Hobart (UTC+10:00)',
'Asia/Khandyga' => 'Khandyga (UTC+10:00)',
'Australia/Lindeman' => 'Lindeman (UTC+10:00)',
'Australia/Melbourne' => 'Melbourne (UTC+10:00)',
'Pacific/Port_Moresby' => 'Port Moresby (UTC+10:00)',
'Pacific/Saipan' => 'Saipan (UTC+10:00)',
'Australia/Sydney' => 'Sydney (UTC+10:00)',
'Asia/Yakutsk' => 'Yakutsk (UTC+10:00)',
'Australia/Lord_Howe' => 'Lord Howe (UTC+10:30)',
'Pacific/Efate' => 'Efate (UTC+11:00)',
'Pacific/Guadalcanal' => 'Guadalcanal (UTC+11:00)',
'Pacific/Kosrae' => 'Kosrae (UTC+11:00)',
'Antarctica/Macquarie' => 'Macquarie (UTC+11:00)',
'Pacific/Noumea' => 'Noumea (UTC+11:00)',
'Pacific/Pohnpei' => 'Pohnpei (UTC+11:00)',
'Asia/Sakhalin' => 'Sakhalin (UTC+11:00)',
'Asia/Ust-Nera' => 'Ust-Nera (UTC+11:00)',
'Asia/Vladivostok' => 'Vladivostok (UTC+11:00)',
'Pacific/Norfolk' => 'Norfolk (UTC+11:30)',
'Asia/Anadyr' => 'Anadyr (UTC+12:00)',
'Pacific/Auckland' => 'Auckland (UTC+12:00)',
'Pacific/Fiji' => 'Fiji (UTC+12:00)',
'Pacific/Funafuti' => 'Funafuti (UTC+12:00)',
'Asia/Kamchatka' => 'Kamchatka (UTC+12:00)',
'Pacific/Kwajalein' => 'Kwajalein (UTC+12:00)',
'Asia/Magadan' => 'Magadan (UTC+12:00)',
'Pacific/Majuro' => 'Majuro (UTC+12:00)',
'Antarctica/McMurdo' => 'McMurdo (UTC+12:00)',
'Pacific/Nauru' => 'Nauru (UTC+12:00)',
'Antarctica/South_Pole' => 'South Pole (UTC+12:00)',
'Pacific/Tarawa' => 'Tarawa (UTC+12:00)',
'Pacific/Wake' => 'Wake (UTC+12:00)',
'Pacific/Wallis' => 'Wallis (UTC+12:00)',
'Pacific/Chatham' => 'Chatham (UTC+12:45)',
'Pacific/Apia' => 'Apia (UTC+13:00)',
'Pacific/Enderbury' => 'Enderbury (UTC+13:00)',
'Pacific/Fakaofo' => 'Fakaofo (UTC+13:00)',
'Pacific/Tongatapu' => 'Tongatapu (UTC+13:00)',
'Pacific/Kiritimati' => 'Kiritimati (UTC+14:00)',
],
];

View File

@@ -0,0 +1,25 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Top10_ip' => 'IP',
'Top10_ips' => 'IPs',
'Top10_user' => 'User',
'Top10_users' => 'Users',
'Top10_events' => 'Events',
'Top10_country' => 'Country',
'Top10_resource' => 'Resource',
'Top10_attempts' => 'Attempts',
];

View File

@@ -0,0 +1,36 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'UserDetails_failed_login_count' => 'Failed login',
'UserDetails_failed_login_count_tooltip' => 'Failed login',
'UserDetails_password_reset_count' => 'Password reset',
'UserDetails_password_reset_count_tooltip' => 'Password reset',
'UserDetails_auth_error_count' => 'HTTP error',
'UserDetails_auth_error_count_tooltip' => 'HTTP error',
'UserDetails_off_hours_login_count' => 'Off-hours login',
'UserDetails_off_hours_login_count_tooltip' => 'Off-hours login',
'UserDetails_device_count' => 'Median events',
'UserDetails_device_count_tooltip' => 'Median events',
'UserDetails_ip_count' => 'Login attempts',
'UserDetails_ip_count_tooltip' => 'Login attempts',
'UserDetails_session_count' => 'Sessions',
'UserDetails_session_count_tooltip' => 'Sessions',
'UserDetails_day_card_title' => 'Today\'s activity',
'UserDetails_day_card_title_tooltip' => 'Today since midnight.',
'UserDetails_week_card_title' => 'Average daily activity',
'UserDetails_week_card_title_tooltip' => 'Median number of user events per day (last 7 days).',
];

View File

@@ -0,0 +1,21 @@
<?php
/**
* Tirreno ~ Open source user analytics
* Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
*
* Licensed under GNU Affero General Public License version 3 of the or any later version.
* For full copyright and license information, please see the LICENSE
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
* @link https://www.tirreno.com Tirreno(tm)
*/
return [
'Welcome_hello_with_name' => 'Hello, ',
'Welcome_hello_without_name' => 'Hello',
'Welcome_how_are_you_doing' => 'I hope you are having a great day!',
'Welcome_global_search_placeholder' => 'Search User ID, Last name, IP, ASN',
];