Compare commits

...

8 Commits

Author SHA1 Message Date
Stephen Abello
2247691e58 Fix CI by updating files code style 2026-02-19 16:59:25 +01:00
Stephen Abello
076d49abc2 Dump autoloader 2026-02-19 16:15:58 +01:00
Stephen Abello
9fd0ffd84e N°8545 - Standardize return message from password reset (#812)
* N°8545 - Standardize return message from password reset

* N°8545 - Change log severity depending on the error source

* Add copyrights

* Update application/loginwebpage.class.inc.php

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update application/loginwebpage.class.inc.php

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Avoid using dictionary entries in logs

* Update application/loginwebpage.class.inc.php

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-19 16:12:34 +01:00
Benjamin Dalsass
d2f67dcb3c N°8910 - Upgrade Symfony packages 2026-02-19 09:18:56 +01:00
jf-cbd
d5706fcbef 🧑‍💻 Add auto-assign for Combodo members 2026-02-18 14:39:25 +01:00
Benjamin Dalsass
807f2a88bc N°8933 - Change password default length 2026-02-18 14:36:38 +01:00
Stephen Abello
9d3311e623 Fix CI by updating new dictionary files code style again 2026-02-18 12:18:15 +01:00
Stephen Abello
9bf2cb7e1d Fix CI by updating new dictionary files code style 2026-02-18 11:50:38 +01:00
166 changed files with 1895 additions and 2839 deletions

View File

@@ -26,13 +26,23 @@ jobs:
fi
- name: Add internal tag if member
- name: Add internal tag if member of the organization
if: env.is_member == 'true'
run: |
curl -X POST -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/Combodo/iTop/issues/${{ github.event.pull_request.number }}/labels \
-d '{"labels":["internal"]}'
- name: Set PR author as assignee if member of the organization
if: env.is_member == 'true'
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
https://api.github.com/repos/Combodo/iTop/issues/${{ github.event.pull_request.number }}/assignees \
-d '{"assignees":["${{ github.event.pull_request.user.login }}"]}'
env:
is_member: ${{ env.is_member }}
@@ -40,4 +50,4 @@ jobs:
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.project_url }}
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}

View File

@@ -0,0 +1,10 @@
<?php
/**
* @copyright Copyright (C) 2010-2026 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
class ForgotPasswordApplicationException extends Exception
{
}

View File

@@ -0,0 +1,10 @@
<?php
/**
* @copyright Copyright (C) 2010-2026 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
class ForgotPasswordUserInputException extends Exception
{
}

View File

@@ -221,15 +221,15 @@ class LoginWebPage extends NiceWebPage
if ($oUser != null) {
if (!MetaModel::IsValidAttCode(get_class($oUser), 'reset_pwd_token')) {
throw new Exception(Dict::S('UI:ResetPwd-Error-NotPossible'));
throw new ForgotPasswordUserInputException('External accounts do not allow password reset');
}
if (!$oUser->CanChangePassword()) {
throw new Exception(Dict::S('UI:ResetPwd-Error-FixedPwd'));
throw new ForgotPasswordUserInputException('The account does not allow password reset');
}
$sTo = $oUser->GetResetPasswordEmail(); // throws Exceptions if not allowed
if ($sTo == '') {
throw new Exception(Dict::S('UI:ResetPwd-Error-NoEmail'));
throw new ForgotPasswordUserInputException('Missing email address for this account');
}
// This token allows the user to change the password without knowing the previous one
@@ -255,17 +255,21 @@ class LoginWebPage extends NiceWebPage
case EMAIL_SEND_ERROR:
default:
IssueLog::Error('Failed to send the email with the NEW password for '.$oUser->Get('friendlyname').': '.implode(', ', $aIssues));
throw new Exception(Dict::S('UI:ResetPwd-Error-Send'));
throw new ForgotPasswordApplicationException('Failed to send the password reset email for '.$oUser->Get('friendlyname').': '.implode(', ', $aIssues));
}
}
$oTwigContext = new LoginTwigRenderer();
$aVars = $oTwigContext->GetDefaultVars();
$oTwigContext->Render($this, 'forgotpwdsent.html.twig', $aVars);
} catch (Exception $e) {
$this->DisplayForgotPwdForm(true, $e->getMessage());
} catch (ForgotPasswordApplicationException $e) {
IssueLog::Error('Failed to process the forgot password request for user "'.$sAuthUser.'" [reason='.get_class($e).']: '.$e->getMessage());
} catch (ForgotPasswordUserInputException $e) {
IssueLog::Info('Failed to process the forgot password request for user "'.$sAuthUser.'" [reason='.get_class($e).']: '.$e->getMessage());
} catch (\Throwable $e) {
IssueLog::Error('Unexpected error while processing the forgot password request for user "'.$sAuthUser.'": '.$e->getMessage());
}
$oTwigContext = new LoginTwigRenderer();
$aVars = $oTwigContext->GetDefaultVars();
$oTwigContext->Render($this, 'forgotpwdsent.html.twig', $aVars);
}
public function DisplayResetPwdForm($sErrorMessage = null)

225
composer.lock generated
View File

@@ -1207,22 +1207,27 @@
},
{
"name": "psr/container",
"version": "1.1.2",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -1249,9 +1254,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.2"
"source": "https://github.com/php-fig/container/tree/2.0.2"
},
"time": "2021-11-05T16:50:12+00:00"
"time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -1465,16 +1470,16 @@
},
{
"name": "psr/log",
"version": "3.0.0",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
@@ -1509,9 +1514,9 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
"source": "https://github.com/php-fig/log/tree/3.0.2"
},
"time": "2021-07-14T16:46:02+00:00"
"time": "2024-09-11T13:17:53+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -1747,16 +1752,16 @@
},
{
"name": "symfony/cache",
"version": "v6.4.2",
"version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978"
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978",
"reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978",
"url": "https://api.github.com/repos/symfony/cache/zipball/a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
"shasum": ""
},
"require": {
@@ -1823,7 +1828,7 @@
"psr6"
],
"support": {
"source": "https://github.com/symfony/cache/tree/v6.4.2"
"source": "https://github.com/symfony/cache/tree/v6.4.12"
},
"funding": [
{
@@ -1839,20 +1844,20 @@
"type": "tidelift"
}
],
"time": "2023-12-29T15:34:34+00:00"
"time": "2024-09-16T16:01:33+00:00"
},
{
"name": "symfony/cache-contracts",
"version": "v3.4.0",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
"reference": "1d74b127da04ffa87aa940abe15446fa89653778"
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778",
"reference": "1d74b127da04ffa87aa940abe15446fa89653778",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868",
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868",
"shasum": ""
},
"require": {
@@ -1861,12 +1866,12 @@
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.6-dev"
}
},
"autoload": {
@@ -1899,7 +1904,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/cache-contracts/tree/v3.4.0"
"source": "https://github.com/symfony/cache-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -1915,7 +1920,7 @@
"type": "tidelift"
}
],
"time": "2023-09-25T12:52:38+00:00"
"time": "2025-03-13T15:25:07+00:00"
},
{
"name": "symfony/config",
@@ -2885,16 +2890,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v6.4.14",
"version": "v6.4.29",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388"
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ba020a321a95519303a3f09ec2824d34d601c388",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88",
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88",
"shasum": ""
},
"require": {
@@ -2904,12 +2909,12 @@
"symfony/polyfill-php83": "^1.27"
},
"conflict": {
"symfony/cache": "<6.3"
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0",
"symfony/cache": "^6.3|^7.0",
"symfony/cache": "^6.4.12|^7.1.5",
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
"symfony/expression-language": "^5.4|^6.0|^7.0",
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
@@ -2942,7 +2947,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.4.14"
"source": "https://github.com/symfony/http-foundation/tree/v6.4.29"
},
"funding": [
{
@@ -2953,12 +2958,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-11-05T16:39:55+00:00"
"time": "2025-11-08T16:40:12+00:00"
},
{
"name": "symfony/http-kernel",
@@ -3667,17 +3676,17 @@
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
"name": "symfony/polyfill-php83",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
"shasum": ""
},
"require": {
@@ -3690,94 +3699,6 @@
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"shasum": ""
},
"require": {
"php": ">=7.1",
"symfony/polyfill-php80": "^1.14"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
@@ -3812,7 +3733,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0"
"source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
},
"funding": [
{
@@ -3823,12 +3744,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-08-16T06:22:46+00:00"
"time": "2025-07-08T02:45:35+00:00"
},
{
"name": "symfony/routing",
@@ -3998,16 +3923,16 @@
},
{
"name": "symfony/service-contracts",
"version": "v3.6.0",
"version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -4061,7 +3986,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -4072,12 +3997,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-04-25T09:37:31+00:00"
"time": "2025-07-15T11:30:57+00:00"
},
{
"name": "symfony/string",
@@ -4523,16 +4452,16 @@
},
{
"name": "symfony/var-exporter",
"version": "v6.4.2",
"version": "v6.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e"
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/5fe9a0021b8d35e67d914716ec8de50716a68e7e",
"reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/466fcac5fa2e871f83d31173f80e9c2684743bfc",
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc",
"shasum": ""
},
"require": {
@@ -4540,6 +4469,8 @@
"symfony/deprecation-contracts": "^2.5|^3"
},
"require-dev": {
"symfony/property-access": "^6.4|^7.0",
"symfony/serializer": "^6.4|^7.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"type": "library",
@@ -4578,7 +4509,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v6.4.2"
"source": "https://github.com/symfony/var-exporter/tree/v6.4.26"
},
"funding": [
{
@@ -4589,12 +4520,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-12-27T08:18:35+00:00"
"time": "2025-09-11T09:57:09+00:00"
},
{
"name": "symfony/yaml",
@@ -5118,5 +5053,5 @@
"platform-overrides": {
"php": "8.1.0"
},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.9.0"
}

View File

@@ -2,7 +2,7 @@
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.2">
<module_parameters>
<parameters id="authent-local" _delta="define">
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$</password_validation.pattern>
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{12,}$</password_validation.pattern>
<password_validation.message type="hash"/>
</parameters>
</module_parameters>

View File

@@ -29,7 +29,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Heslo nemůže uživatel změnit.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Heslo bylo obnoveno',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Termín, kdy bylo heslo změneno',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Heslo musí obsahovat minimálně 8 znaků a musí obsahovat minimálně jedno velké písmeno, jedno malé písmeno, jedno číslo a speciální znak.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Heslo musí obsahovat minimálně 12 znaků a musí obsahovat minimálně jedno velké písmeno, jedno malé písmeno, jedno číslo a speciální znak.',
'UserLocal:password:expiration' => 'Níže uvedená pole vyžadují rozšíření',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Nastavení exspirace "Jednorázového hesla" nelze u vlastního účtu uživatele.',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '',
'Class:UserLocal/Attribute:password_renewed_date' => 'Letzte Passworterneuerung',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Letztes Änderungsdatum',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Das Passwort entspricht nicht dem in den Konfigurationsregeln hinterlegten RegEx-Ausdruck',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Das Passwort muss mindestens 12 Zeichen lang sein und Großbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.',
'UserLocal:password:expiration' => 'Die folgenden Felder benötigen eine '.ITOP_APPLICATION_SHORT.' Erweiterung',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Das setzen des Passwortablaufs auf "Einmalpasswort" ist für den eigenen Benutzer nicht erlaubt.',
]);

View File

@@ -55,7 +55,7 @@ Dict::Add('EN US', 'English', 'English', [
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.',
'UserLocal:password:expiration' => 'The fields below require an extension',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User',
]);

View File

@@ -55,7 +55,7 @@ Dict::Add('EN GB', 'British English', 'British English', [
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.',
'UserLocal:password:expiration' => 'The fields below require an extension',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User',
]);

View File

@@ -25,7 +25,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'El usuario no puede cambiar la contraseña.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Renovación de contraseña',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Cuando fue el último cambio de contraseña',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La contraseña debe ser de al menos 8 caracteres e incluír mayúsculas, minúsculas, números y caracteres especiales.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La contraseña debe ser de al menos 12 caracteres e incluir mayúsculas, minúsculas, números y caracteres especiales.',
'UserLocal:password:expiration' => 'El siguiente campo requiere una extensión',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Configurar expiración de contraseña para "ontraseña de un solo uso" no está permitido para su propio Usuario',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('FR FR', 'French', 'Français', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '',
'Class:UserLocal/Attribute:password_renewed_date' => 'Mot de passe changé le',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Dernière date à laquelle le mot de passe a été changé',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 8 caractères, avec minuscule, majuscule, nombre et caractère spécial.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 12 caractères, avec minuscule, majuscule, nombre et caractère spécial.',
'UserLocal:password:expiration' => 'Les champs ci-dessous nécessitent une extension',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Impossible de mettre "Usage unique" comme validité du mot de passe pour son propre utilisateur.',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'A felhasználó nem változtathat jelszót.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Jelszó megújítás ideje',
'Class:UserLocal/Attribute:password_renewed_date+' => 'A jelszó legutóbbi módosításának időpontja',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A jelszónak legalább 8 karakterből kell állnia, és tartalmaznia kell nagybetűket, kisbetűket, numerikus és speciális karaktereket.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A jelszónak legalább 12 karakterből kell állnia, és tartalmaznia kell nagybetűket, kisbetűket, numerikus és speciális karaktereket.',
'UserLocal:password:expiration' => 'Az alábbi mezőkhöz egy bővítmény szükséges',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'A jelszó lejárati idejének beállítása "Egyszeri jelszóra" nem engedélyezett a saját Felhasználó számára.',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'La password non può essere cambiata dall\'utente.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Rinnovo della password',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Quando è stata cambiata l\'ultima volta la password',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La password deve essere di almeno 8 caratteri e includere lettere maiuscole, minuscole, numeri e caratteri speciali.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La password deve essere di almeno 12 caratteri e includere lettere maiuscole, minuscole, numeri e caratteri speciali.',
'UserLocal:password:expiration' => 'I campi sottostanti richiedono un\'estensione',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Impostare la scadenza della password su "Password monouso" non è consentito per il proprio utente',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'De gebruiker kan dit wachtwoord niet veranderen.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Wachtwoord laatst aangepast',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Tijdstip waarop het wachtwoord het laatst aangepast werd.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Het wachtwoord bestaat uit minstens 8 tekens en bestaat uit een mix van minstens 1 hoofdletter, kleine letter, cijfer en speciaal teken.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Het wachtwoord bestaat uit minstens 12 tekens en bestaat uit een mix van minstens 1 hoofdletter, kleine letter, cijfer en speciaal teken.',
'UserLocal:password:expiration' => 'De velden hieronder vereisen een extensie.',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Je kan geen eenmalig wachtwoord instellen voor je eigen gebruiker.',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Hasło nie może być zmienione przez użytkownika.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Odnowienie hasła',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Kiedy ostatnio zmieniano hasło',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Hasło musi mieć co najmniej 8 znaków i zawierać duże, małe litery, cyfry i znaki specjalne.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Hasło musi mieć co najmniej 12 znaków i zawierać duże, małe litery, cyfry i znaki specjalne.',
'UserLocal:password:expiration' => 'Poniższe pola wymagają rozszerzenia',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Ustawienie wygaśnięcia hasła "Hasło jednorazowe" nie jest dozwolone dla własnego użytkownika',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Senha não pode ser alterada pelo usuário',
'Class:UserLocal/Attribute:password_renewed_date' => 'Data da última alteração de senha',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Quando a senha foi alterada anteriormente',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A senha deve ter no mínimo 8 caracteres e incluir letras maiúsculas, minúsculas, números e símbolos',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A senha deve ter no mínimo 12 caracteres e incluir letras maiúsculas, minúsculas, números e símbolos',
'UserLocal:password:expiration' => 'O campo abaixo requer uma extensão',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Definir a expiração da senha para One-Time Password (OTP) não é permitido para o seu próprio usuário',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Дата изменения пароля',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Когда пароль был изменен в последний раз',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Пароль должен содержать не менее 8 символов и включать прописные, строчные, числовые и специальные символы.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Пароль должен содержать не менее 12 символов и включать прописные, строчные, числовые и специальные символы.',
'UserLocal:password:expiration' => 'Поля требуют наличия доп. расширения',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -27,7 +27,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -28,7 +28,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -51,7 +51,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '用户不允许修改密码.',
'Class:UserLocal/Attribute:password_renewed_date' => '密码更新',
'Class:UserLocal/Attribute:password_renewed_date+' => '上次修改密码的时间',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少8个字符, 包含大小写, 数字和特殊字符.',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少12个字符, 包含大小写, 数字和特殊字符.',
'UserLocal:password:expiration' => '下面的区域需要插件扩展',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => '不允许用户为自己设置 "一次性密码" 的失效期限',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('CS CZ', 'Czech', 'Čeština', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Vítejte v '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Vítejte v '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Nesprávné uživatelské jméno nebo heslo. Zkuste to prosím znovu.',
'UI:Login:IdentifyYourself' => 'Před pokračováním se prosím identifikujte.',
'UI:Login:UserNamePrompt' => 'Uživatelské jméno',
'UI:Login:PasswordPrompt' => 'Heslo',
'UI:Login:ForgotPwd' => 'Zapomněli jste své heslo?',
'UI:Login:ForgotPwdForm' => 'Zapomenuté heslo',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' vám může zaslat instrukce pro obnovení vašeho hesla.',
'UI:Login:ResetPassword' => 'Zaslat nyní!',
'UI:Login:ResetPwdFailed' => 'Chyba při odesílání emailu: %1$s',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:Login:IdentifyYourself' => 'Před pokračováním se prosím identifikujte.',
'UI:Login:UserNamePrompt' => 'Uživatelské jméno',
'UI:Login:PasswordPrompt' => 'Heslo',
'UI:Login:ForgotPwd' => 'Zapomněli jste své heslo?',
'UI:Login:ForgotPwdForm' => 'Zapomenuté heslo',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' vám může zaslat instrukce pro obnovení vašeho hesla.',
'UI:Login:ResetPassword' => 'Zaslat nyní!',
'UI:Login:ResetPwdFailed' => 'Chyba při odesílání emailu: %1$s',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' není platné uživatelské jméno',
'UI:ResetPwd-Error-NotPossible' => 'obnova hesla u externích účtů není možná.',
'UI:ResetPwd-Error-FixedPwd' => 'obnova hesla u tohoto účtu není povolená.',
'UI:ResetPwd-Error-NoContact' => 'účet není spojen s žádnou osobou.',
'UI:ResetPwd-Error-NoEmailAtt' => 'účet není spojen s osobou s uvedenou emailovou adresou. Kontaktujte administrátora.',
'UI:ResetPwd-Error-NoEmail' => 'chybí emailová adresa. Kontaktujte administrátora.',
'UI:ResetPwd-Error-Send' => 'technický problém při odesílání emailu. Kontaktujte administrátora.',
'UI:ResetPwd-EmailSent' => 'Zkontrolujte prosím svoji emailovou schránku a postupujte podle pokynů. Pokud žádný email neobdržíte, zkontrolujte prosím zadané uživatelské jméno.',
'UI:ResetPwd-EmailSubject' => 'Obnovení hesla pro '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Vyžádali jste obovení hesla pro '.ITOP_APPLICATION_SHORT.'.</p><p>Pokračujte kliknutím na následující <a href="%1$s">jednorázový odkaz</a> a zadejte nové heslo.</p>',
'UI:ResetPwd-Title' => 'Obnovení hesla',
'UI:ResetPwd-Error-InvalidToken' => 'Omlouváme se, ale heslo již bylo obnoveno nebo jste obdrželi více emailů. Ujistěte se, že používate odkaz z posledního emailu který jste obdrželi.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' není platné uživatelské jméno',
'UI:ResetPwd-Error-NotPossible' => 'obnova hesla u externích účtů není možná.',
'UI:ResetPwd-Error-FixedPwd' => 'obnova hesla u tohoto účtu není povolená.',
'UI:ResetPwd-Error-NoContact' => 'účet není spojen s žádnou osobou.',
'UI:ResetPwd-Error-NoEmailAtt' => 'účet není spojen s osobou s uvedenou emailovou adresou. Kontaktujte administrátora.',
'UI:ResetPwd-Error-NoEmail' => 'chybí emailová adresa. Kontaktujte administrátora.',
'UI:ResetPwd-Error-Send' => 'technický problém při odesílání emailu. Kontaktujte administrátora.',
'UI:ResetPwd-EmailSent' => 'Zkontrolujte prosím svoji emailovou schránku a postupujte podle pokynů. Pokud žádný email neobdržíte, zkontrolujte prosím zadané uživatelské jméno.',
'UI:ResetPwd-EmailSubject' => 'Obnovení hesla pro '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Vyžádali jste obovení hesla pro '.ITOP_APPLICATION_SHORT.'.</p><p>Pokračujte kliknutím na následující <a href="%1$s">jednorázový odkaz</a> a zadejte nové heslo.</p>',
'UI:ResetPwd-Title' => 'Obnovení hesla',
'UI:ResetPwd-Error-InvalidToken' => 'Omlouváme se, ale heslo již bylo obnoveno nebo jste obdrželi více emailů. Ujistěte se, že používate odkaz z posledního emailu který jste obdrželi.',
'UI:ResetPwd-Error-EnterPassword' => 'Vložte nové heslo k účtu \'%1$s\'.',
'UI:ResetPwd-Ready' => 'Heslo bylo obnoveno.',
'UI:ResetPwd-Login' => 'Pro přihlášení klikněte zde...',
'UI:ResetPwd-Ready' => 'Heslo bylo obnoveno.',
'UI:ResetPwd-Login' => 'Pro přihlášení klikněte zde...',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Změnit heslo',
'UI:Login:OldPasswordPrompt' => 'Původní heslo',
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
'UI:Login:RetypeNewPasswordPrompt' => 'Znovu nové heslo',
'UI:Login:IncorrectOldPassword' => 'Chyba: původní heslo je nesprávné',
'UI:LogOffMenu' => 'Odhlásit',
'UI:LogOff:ThankYou' => 'Děkujeme za užívání '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Klikněte zde pro nové přihlášení...',
'UI:ChangePwdMenu' => 'Změnit heslo',
'UI:Login:PasswordChanged' => 'Heslo nastaveno úspěšně!',
'UI:Login:PasswordNotChanged' => 'Chyba: heslo je stejné jako přechozí!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nová hesla se neshodují!',
'UI:Button:Login' => 'Přihlásit',
'UI:Login:Error:AccessRestricted' => 'Přístup je omezen. Kontaktujte administrátora.',
'UI:Login:Error:AccessAdmin' => 'Přístup vyhrazen osobám s administrátorskými právy. Kontaktujte administrátora.',
'UI:Login:Error:WrongOrganizationName' => 'Neznámá organizace',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Změnit heslo',
'UI:Login:OldPasswordPrompt' => 'Původní heslo',
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
'UI:Login:RetypeNewPasswordPrompt' => 'Znovu nové heslo',
'UI:Login:IncorrectOldPassword' => 'Chyba: původní heslo je nesprávné',
'UI:LogOffMenu' => 'Odhlásit',
'UI:LogOff:ThankYou' => 'Děkujeme za užívání '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Klikněte zde pro nové přihlášení...',
'UI:ChangePwdMenu' => 'Změnit heslo',
'UI:Login:PasswordChanged' => 'Heslo nastaveno úspěšně!',
'UI:Login:PasswordNotChanged' => 'Chyba: heslo je stejné jako přechozí!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nová hesla se neshodují!',
'UI:Button:Login' => 'Přihlásit',
'UI:Login:Error:AccessRestricted' => 'Přístup je omezen. Kontaktujte administrátora.',
'UI:Login:Error:AccessAdmin' => 'Přístup vyhrazen osobám s administrátorskými právy. Kontaktujte administrátora.',
'UI:Login:Error:WrongOrganizationName' => 'Neznámá organizace',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Více kontaktů má stejný email',
'UI:Login:Error:NoValidProfiles' => 'Není zadán platný profil',
]);
'UI:Login:Error:NoValidProfiles' => 'Není zadán platný profil',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('DA DA', 'Danish', 'Dansk', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Velkommen til '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Velkommen til '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Ukorrekt login/adgangskode, venligst prøv igen.',
'UI:Login:IdentifyYourself' => 'Identificer dig før du fortsætter',
'UI:Login:UserNamePrompt' => 'Bruger Navn',
'UI:Login:PasswordPrompt' => 'Adgangskode',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:Login:IdentifyYourself' => 'Identificer dig før du fortsætter',
'UI:Login:UserNamePrompt' => 'Bruger Navn',
'UI:Login:PasswordPrompt' => 'Adgangskode',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:Login:About' => 'Om',
'UI:Login:ChangeYourPassword' => 'Skift Adgangskode',
'UI:Login:OldPasswordPrompt' => 'Gammel Adgangskode',
'UI:Login:NewPasswordPrompt' => 'Ny Adgangskode',
'UI:Login:RetypeNewPasswordPrompt' => 'Gentag ny adgangskode',
'UI:Login:IncorrectOldPassword' => 'Fejl: den gamle adgangskode er forkert',
'UI:LogOffMenu' => 'Log ud',
'UI:LogOff:ThankYou' => 'Tak for at du brugte '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Klik her for at logge ind igen...',
'UI:ChangePwdMenu' => 'Skift Adgangskode...',
'UI:Login:PasswordChanged' => 'Adgangskode oprettet med success!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Ny adgangskode og gentaget adgangskode passer ikke sammen!',
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' adgang er begrænset. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:AccessAdmin' => 'Adgang er begrænset til administratorer. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:About' => 'Om',
'UI:Login:ChangeYourPassword' => 'Skift Adgangskode',
'UI:Login:OldPasswordPrompt' => 'Gammel Adgangskode',
'UI:Login:NewPasswordPrompt' => 'Ny Adgangskode',
'UI:Login:RetypeNewPasswordPrompt' => 'Gentag ny adgangskode',
'UI:Login:IncorrectOldPassword' => 'Fejl: den gamle adgangskode er forkert',
'UI:LogOffMenu' => 'Log ud',
'UI:LogOff:ThankYou' => 'Tak for at du brugte '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Klik her for at logge ind igen...',
'UI:ChangePwdMenu' => 'Skift Adgangskode...',
'UI:Login:PasswordChanged' => 'Adgangskode oprettet med success!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Ny adgangskode og gentaget adgangskode passer ikke sammen!',
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' adgang er begrænset. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:AccessAdmin' => 'Adgang er begrænset til administratorer. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('DE DE', 'German', 'Deutsch', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Willkommen bei '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Willkommen bei '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Ungültiges Passwort oder Login-Daten. Bitte versuchen Sie es erneut.',
'UI:Login:IdentifyYourself' => 'Bitte identifizieren Sie sich, bevor Sie fortfahren.',
'UI:Login:UserNamePrompt' => 'Benutzername',
'UI:Login:PasswordPrompt' => 'Passwort',
'UI:Login:ForgotPwd' => 'Neues Passwort zusenden',
'UI:Login:ForgotPwdForm' => 'Neues Passwort zusenden',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kann Ihnen eine Mail mit Anweisungen senden, wie Sie Ihren Account/Passwort zurücksetzen können',
'UI:Login:ResetPassword' => 'Jetzt senden!',
'UI:Login:ResetPwdFailed' => 'Konnte keine E-Mail versenden: %1$s',
'UI:Login:SeparatorOr' => 'oder',
'UI:Login:IdentifyYourself' => 'Bitte identifizieren Sie sich, bevor Sie fortfahren.',
'UI:Login:UserNamePrompt' => 'Benutzername',
'UI:Login:PasswordPrompt' => 'Passwort',
'UI:Login:ForgotPwd' => 'Neues Passwort zusenden',
'UI:Login:ForgotPwdForm' => 'Neues Passwort zusenden',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kann Ihnen eine Mail mit Anweisungen senden, wie Sie Ihren Account/Passwort zurücksetzen können',
'UI:Login:ResetPassword' => 'Jetzt senden!',
'UI:Login:ResetPwdFailed' => 'Konnte keine E-Mail versenden: %1$s',
'UI:Login:SeparatorOr' => 'oder',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' ist kein gültiger Login',
'UI:ResetPwd-Error-NotPossible' => 'Passwort-Reset bei externem Benutzerkonto nicht möglich',
'UI:ResetPwd-Error-FixedPwd' => 'das Benutzerkonto erlaubt keinen Passwort-Reset. ',
'UI:ResetPwd-Error-NoContact' => 'das Benutzerkonto ist nicht mit einer Person verknüpft. ',
'UI:ResetPwd-Error-NoEmailAtt' => 'das Benutzerkonto ist nicht mit einer Person verknüpft, die eine Mailadresse besitzt. Bitte wenden Sie sich an Ihren Administrator. ',
'UI:ResetPwd-Error-NoEmail' => 'die E-Mail-Adresse dieses Accounts fehlt. Bitte kontaktieren Sie Ihren Administrator.',
'UI:ResetPwd-Error-Send' => 'Beim Versenden der E-Mail trat ein technisches Problem auf. Bitte kontaktieren Sie Ihren Administrator.',
'UI:ResetPwd-EmailSent' => 'Bitte schauen Sie in Ihre Mailbox und folgen Sie den Anweisungen.',
'UI:ResetPwd-EmailSubject' => 'Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.'-Passworts',
'UI:ResetPwd-EmailBody' => '<body><p>Sie haben das Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.' Passworts angefordert.</p><p>Bitte folgen Sie diesem Link (funktioniert nur einmalig) : <a href="%1$s">neues Passwort eingeben</a></p>.',
'UI:ResetPwd-Title' => 'Passwort zurücksetzen',
'UI:ResetPwd-Error-InvalidToken' => 'Entschuldigung, aber entweder das Passwort wurde bereits zurückgesetzt, oder Sie haben mehrere E-Mails für das Zurücksetzen erhalten. Bitte nutzen Sie den link in der letzten Mail, die Sie erhalten haben.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' ist kein gültiger Login',
'UI:ResetPwd-Error-NotPossible' => 'Passwort-Reset bei externem Benutzerkonto nicht möglich',
'UI:ResetPwd-Error-FixedPwd' => 'das Benutzerkonto erlaubt keinen Passwort-Reset. ',
'UI:ResetPwd-Error-NoContact' => 'das Benutzerkonto ist nicht mit einer Person verknüpft. ',
'UI:ResetPwd-Error-NoEmailAtt' => 'das Benutzerkonto ist nicht mit einer Person verknüpft, die eine Mailadresse besitzt. Bitte wenden Sie sich an Ihren Administrator. ',
'UI:ResetPwd-Error-NoEmail' => 'die E-Mail-Adresse dieses Accounts fehlt. Bitte kontaktieren Sie Ihren Administrator.',
'UI:ResetPwd-Error-Send' => 'Beim Versenden der E-Mail trat ein technisches Problem auf. Bitte kontaktieren Sie Ihren Administrator.',
'UI:ResetPwd-EmailSent' => 'Bitte schauen Sie in Ihre Mailbox und folgen Sie den Anweisungen.',
'UI:ResetPwd-EmailSubject' => 'Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.'-Passworts',
'UI:ResetPwd-EmailBody' => '<body><p>Sie haben das Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.' Passworts angefordert.</p><p>Bitte folgen Sie diesem Link (funktioniert nur einmalig) : <a href="%1$s">neues Passwort eingeben</a></p>.',
'UI:ResetPwd-Title' => 'Passwort zurücksetzen',
'UI:ResetPwd-Error-InvalidToken' => 'Entschuldigung, aber entweder das Passwort wurde bereits zurückgesetzt, oder Sie haben mehrere E-Mails für das Zurücksetzen erhalten. Bitte nutzen Sie den link in der letzten Mail, die Sie erhalten haben.',
'UI:ResetPwd-Error-EnterPassword' => 'Geben Sie ein neues Passwort für das Konto \'%1$s\' ein.',
'UI:ResetPwd-Ready' => 'Das Passwort wurde geändert. ',
'UI:ResetPwd-Login' => 'Klicken Sie hier um sich einzuloggen...',
'UI:ResetPwd-Ready' => 'Das Passwort wurde geändert. ',
'UI:ResetPwd-Login' => 'Klicken Sie hier um sich einzuloggen...',
'UI:Login:About' => 'iTop Powered by Combodo',
'UI:Login:ChangeYourPassword' => 'Ändern Sie Ihr Passwort',
'UI:Login:OldPasswordPrompt' => 'Altes Passwort',
'UI:Login:NewPasswordPrompt' => 'Neues Passwort',
'UI:Login:RetypeNewPasswordPrompt' => 'Wiederholen Sie Ihr neues Passwort',
'UI:Login:IncorrectOldPassword' => 'Fehler: das alte Passwort ist ungültig',
'UI:LogOffMenu' => 'Abmelden',
'UI:LogOff:ThankYou' => 'Vielen Dank dafür, dass Sie '.ITOP_APPLICATION_SHORT.' benutzen!',
'UI:LogOff:ClickHereToLoginAgain' => 'Klicken Sie hier, um sich wieder anzumelden...',
'UI:ChangePwdMenu' => 'Passwort ändern...',
'UI:Login:PasswordChanged' => 'Passwort erfolgreich gesetzt!',
'UI:Login:PasswordNotChanged' => 'Fehler: Das Passwort das gleiche!',
'UI:Login:RetypePwdDoesNotMatch' => 'Neues Passwort und das wiederholte Passwort stimmen nicht überein!',
'UI:Button:Login' => 'in '.ITOP_APPLICATION_SHORT.' anmelden',
'UI:Login:Error:AccessRestricted' => 'Der '.ITOP_APPLICATION_SHORT.'-Zugang ist gesperrt. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
'UI:Login:Error:AccessAdmin' => 'Zugang nur für Personen mit Administratorrechten. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
'UI:Login:Error:WrongOrganizationName' => 'Unbekannte Organisation',
'UI:Login:About' => 'iTop Powered by Combodo',
'UI:Login:ChangeYourPassword' => 'Ändern Sie Ihr Passwort',
'UI:Login:OldPasswordPrompt' => 'Altes Passwort',
'UI:Login:NewPasswordPrompt' => 'Neues Passwort',
'UI:Login:RetypeNewPasswordPrompt' => 'Wiederholen Sie Ihr neues Passwort',
'UI:Login:IncorrectOldPassword' => 'Fehler: das alte Passwort ist ungültig',
'UI:LogOffMenu' => 'Abmelden',
'UI:LogOff:ThankYou' => 'Vielen Dank dafür, dass Sie '.ITOP_APPLICATION_SHORT.' benutzen!',
'UI:LogOff:ClickHereToLoginAgain' => 'Klicken Sie hier, um sich wieder anzumelden...',
'UI:ChangePwdMenu' => 'Passwort ändern...',
'UI:Login:PasswordChanged' => 'Passwort erfolgreich gesetzt!',
'UI:Login:PasswordNotChanged' => 'Fehler: Das Passwort das gleiche!',
'UI:Login:RetypePwdDoesNotMatch' => 'Neues Passwort und das wiederholte Passwort stimmen nicht überein!',
'UI:Button:Login' => 'in '.ITOP_APPLICATION_SHORT.' anmelden',
'UI:Login:Error:AccessRestricted' => 'Der '.ITOP_APPLICATION_SHORT.'-Zugang ist gesperrt. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
'UI:Login:Error:AccessAdmin' => 'Zugang nur für Personen mit Administratorrechten. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
'UI:Login:Error:WrongOrganizationName' => 'Unbekannte Organisation',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Mehrere Kontakte mit gleicher E-Mail-Adresse',
'UI:Login:Error:NoValidProfiles' => 'Kein gültiges Profil ausgewählt',
]);
'UI:Login:Error:NoValidProfiles' => 'Kein gültiges Profil ausgewählt',
]);

View File

@@ -6,35 +6,35 @@
*/
Dict::Add('EN US', 'English', 'English', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
'UI:Login:UserNamePrompt' => 'User Name',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Forgot your password?',
'UI:Login:ForgotPwdForm' => 'Forgot your password',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
'UI:Login:ResetPassword' => 'Send now!',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
'UI:Login:SeparatorOr' => 'Or',
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
'UI:Login:UserNamePrompt' => 'User Name',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Forgot your password?',
'UI:Login:ForgotPwdForm' => 'Forgot your password',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
'UI:Login:ResetPassword' => 'Send now!',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
'UI:Login:SeparatorOr' => 'Or',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
'UI:ResetPwd-Title' => 'Reset password',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
'UI:ResetPwd-Title' => 'Reset password',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.',
'UI:ResetPwd-Ready' => 'The password has been changed.',
'UI:ResetPwd-Login' => 'Click here to login...',
'UI:ResetPwd-Ready' => 'The password has been changed.',
'UI:ResetPwd-Login' => 'Click here to login...',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
'UI:Login:ChangeYourPassword' => 'Change Your Password',
@@ -55,4 +55,4 @@ Dict::Add('EN US', 'English', 'English', [
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
]);
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('EN GB', 'British English', 'British English', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
'UI:Login:UserNamePrompt' => 'User Name',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Forgot your password?',
'UI:Login:ForgotPwdForm' => 'Forgot your password',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
'UI:Login:ResetPassword' => 'Send now!',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
'UI:Login:SeparatorOr' => 'Or',
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
'UI:Login:UserNamePrompt' => 'User Name',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Forgot your password?',
'UI:Login:ForgotPwdForm' => 'Forgot your password',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
'UI:Login:ResetPassword' => 'Send now!',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
'UI:Login:SeparatorOr' => 'Or',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated with a person.',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please contact your administrator.',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
'UI:ResetPwd-Title' => 'Reset password',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated with a person.',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please contact your administrator.',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
'UI:ResetPwd-Title' => 'Reset password',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.',
'UI:ResetPwd-Ready' => 'The password has been changed.',
'UI:ResetPwd-Login' => 'Click here to log in...',
'UI:ResetPwd-Ready' => 'The password has been changed.',
'UI:ResetPwd-Login' => 'Click here to log in...',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
'UI:Login:ChangeYourPassword' => 'Change Your Password',
'UI:Login:OldPasswordPrompt' => 'Old password',
'UI:Login:NewPasswordPrompt' => 'New password',
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
'UI:LogOffMenu' => 'Log off',
'UI:Login:ChangeYourPassword' => 'Change Your Password',
'UI:Login:OldPasswordPrompt' => 'Old password',
'UI:Login:NewPasswordPrompt' => 'New password',
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
'UI:LogOffMenu' => 'Log off',
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to log in again...',
'UI:ChangePwdMenu' => 'Change Password...',
'UI:Login:PasswordChanged' => 'Password successfully set!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!',
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to log in again...',
'UI:ChangePwdMenu' => 'Change Password...',
'UI:Login:PasswordChanged' => 'Password successfully set!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!',
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access to this page is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organisation',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organisation',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
]);
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'UI:Login:Title' => 'Inicio de Sesión',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
'UI:Login:Title' => 'Inicio de Sesión',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
'UI:Login:IncorrectLoginPassword' => 'Usuario/Contraseña incorrecto, por favor intente otra vez.',
'UI:Login:IdentifyYourself' => 'Identifiquese antes de continuar',
'UI:Login:UserNamePrompt' => 'Usuario ',
'UI:Login:PasswordPrompt' => 'Contraseña',
'UI:Login:ForgotPwd' => '¿Olvidó su contraseña?',
'UI:Login:ForgotPwdForm' => 'Olvido de Contraseña',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' puede enviarle un correo en el cual encontrará las instrucciones a seguir para restablecer su contraseña.',
'UI:Login:ResetPassword' => 'Enviar Ahora',
'UI:Login:ResetPwdFailed' => 'Error al enviar correo-e: %1$s',
'UI:Login:SeparatorOr' => 'O',
'UI:Login:IdentifyYourself' => 'Identifiquese antes de continuar',
'UI:Login:UserNamePrompt' => 'Usuario ',
'UI:Login:PasswordPrompt' => 'Contraseña',
'UI:Login:ForgotPwd' => '¿Olvidó su contraseña?',
'UI:Login:ForgotPwdForm' => 'Olvido de Contraseña',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' puede enviarle un correo en el cual encontrará las instrucciones a seguir para restablecer su contraseña.',
'UI:Login:ResetPassword' => 'Enviar Ahora',
'UI:Login:ResetPwdFailed' => 'Error al enviar correo-e: %1$s',
'UI:Login:SeparatorOr' => 'O',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' no es un usuario válido',
'UI:ResetPwd-Error-NotPossible' => 'Cuentas externas no permiten restablecimiento de contraseña.',
'UI:ResetPwd-Error-FixedPwd' => 'La cuenta no permite restablecimiento de contraseña.',
'UI:ResetPwd-Error-NoContact' => 'La cuenta no está asociada a una persona.',
'UI:ResetPwd-Error-NoEmailAtt' => 'La cuenta no está asociada a una persona con correo electrónico. Por favor contacte al administrador.',
'UI:ResetPwd-Error-NoEmail' => 'Falta dirección de correo electrónico. Por favor contacte al administrador.',
'UI:ResetPwd-Error-Send' => 'Falla al envar un correo. Por favor contacte al administrador.',
'UI:ResetPwd-EmailSent' => 'Por favor verifique su buzón de correo y siga las instrucciones. Si no recibe el mensaje, por favor verifique la cuenta proporcionada.',
'UI:ResetPwd-EmailSubject' => 'Restablecer contraseña de '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Ha solicitado restablecer su contraseña en '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor de click en la siguiente liga: <a href="%1$s">proporcione una nueva contraseña</a></p>.',
'UI:ResetPwd-Title' => 'Restablecer Contraseña',
'UI:ResetPwd-Error-InvalidToken' => 'Lo siento, tal vez su contraseña ya ha sido cambiada, o ha recibido varios correos electrónicos. Por favor asegurese de haber dado click a la liga del último correo recibido.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' no es un usuario válido',
'UI:ResetPwd-Error-NotPossible' => 'Cuentas externas no permiten restablecimiento de contraseña.',
'UI:ResetPwd-Error-FixedPwd' => 'La cuenta no permite restablecimiento de contraseña.',
'UI:ResetPwd-Error-NoContact' => 'La cuenta no está asociada a una persona.',
'UI:ResetPwd-Error-NoEmailAtt' => 'La cuenta no está asociada a una persona con correo electrónico. Por favor contacte al administrador.',
'UI:ResetPwd-Error-NoEmail' => 'Falta dirección de correo electrónico. Por favor contacte al administrador.',
'UI:ResetPwd-Error-Send' => 'Falla al envar un correo. Por favor contacte al administrador.',
'UI:ResetPwd-EmailSent' => 'Por favor verifique su buzón de correo y siga las instrucciones. Si no recibe el mensaje, por favor verifique la cuenta proporcionada.',
'UI:ResetPwd-EmailSubject' => 'Restablecer contraseña de '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Ha solicitado restablecer su contraseña en '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor de click en la siguiente liga: <a href="%1$s">proporcione una nueva contraseña</a></p>.',
'UI:ResetPwd-Title' => 'Restablecer Contraseña',
'UI:ResetPwd-Error-InvalidToken' => 'Lo siento, tal vez su contraseña ya ha sido cambiada, o ha recibido varios correos electrónicos. Por favor asegurese de haber dado click a la liga del último correo recibido.',
'UI:ResetPwd-Error-EnterPassword' => 'Contraseña Nueva para \'%1$s\'.',
'UI:ResetPwd-Ready' => 'La contraseña ha sido cambiada.',
'UI:ResetPwd-Login' => 'Click aquí para conectarse ',
'UI:ResetPwd-Ready' => 'La contraseña ha sido cambiada.',
'UI:ResetPwd-Login' => 'Click aquí para conectarse ',
'UI:Login:About' => 'Acerca de',
'UI:Login:ChangeYourPassword' => 'Cambie su Contraseña',
'UI:Login:OldPasswordPrompt' => 'Contraseña Actual',
'UI:Login:NewPasswordPrompt' => 'Contraseña Nueva',
'UI:Login:RetypeNewPasswordPrompt' => 'Confirme Contraseña Nueva',
'UI:Login:IncorrectOldPassword' => 'Error: la Contraseña Anterior es Incorrecta',
'UI:LogOffMenu' => 'Cerrar Sesión',
'UI:LogOff:ThankYou' => 'Gracias por usar '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Click aquí para conectarse nuevamente',
'UI:ChangePwdMenu' => 'Cambiar Contraseña',
'UI:Login:PasswordChanged' => '¡Contraseña Exitosamente Cambiada!',
'UI:Login:PasswordNotChanged' => 'Error: ¡La contraseña es la misma!',
'UI:Login:RetypePwdDoesNotMatch' => '¡La Nueva Contraseña y su Confirmación No Coinciden!',
'UI:Button:Login' => 'Entrar',
'UI:Login:Error:AccessRestricted' => 'El acceso a '.ITOP_APPLICATION_SHORT.' está restringido. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Acceso restringido a usuarios con privilegio de administrador. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Organización desconocida',
'UI:Login:About' => 'Acerca de',
'UI:Login:ChangeYourPassword' => 'Cambie su Contraseña',
'UI:Login:OldPasswordPrompt' => 'Contraseña Actual',
'UI:Login:NewPasswordPrompt' => 'Contraseña Nueva',
'UI:Login:RetypeNewPasswordPrompt' => 'Confirme Contraseña Nueva',
'UI:Login:IncorrectOldPassword' => 'Error: la Contraseña Anterior es Incorrecta',
'UI:LogOffMenu' => 'Cerrar Sesión',
'UI:LogOff:ThankYou' => 'Gracias por usar '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Click aquí para conectarse nuevamente',
'UI:ChangePwdMenu' => 'Cambiar Contraseña',
'UI:Login:PasswordChanged' => '¡Contraseña Exitosamente Cambiada!',
'UI:Login:PasswordNotChanged' => 'Error: ¡La contraseña es la misma!',
'UI:Login:RetypePwdDoesNotMatch' => '¡La Nueva Contraseña y su Confirmación No Coinciden!',
'UI:Button:Login' => 'Entrar',
'UI:Login:Error:AccessRestricted' => 'El acceso a '.ITOP_APPLICATION_SHORT.' está restringido. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Acceso restringido a usuarios con privilegio de administrador. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Organización desconocida',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Varios contactos tienen la misma dirección de correo electrónico',
'UI:Login:Error:NoValidProfiles' => 'Perfil inválido',
]);
'UI:Login:Error:NoValidProfiles' => 'Perfil inválido',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('FR FR', 'French', 'Français', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => 'Logo '.ITOP_APPLICATION_SHORT,
'UI:Login:Welcome' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => 'Logo '.ITOP_APPLICATION_SHORT,
'UI:Login:Welcome' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Mot de passe ou identifiant incorrect.',
'UI:Login:IdentifyYourself' => 'Merci de vous identifier',
'UI:Login:UserNamePrompt' => 'Identifiant',
'UI:Login:PasswordPrompt' => 'Mot de passe',
'UI:Login:ForgotPwd' => 'Mot de passe oublié ?',
'UI:Login:ForgotPwdForm' => 'Mot de passe oublié',
'UI:Login:ForgotPwdForm+' => 'Vous pouvez demander à saisir un nouveau mot de passe. Vous allez recevoir un email et vous pourrez suivre les instructions.',
'UI:Login:ResetPassword' => 'Envoyer le message',
'UI:Login:ResetPwdFailed' => 'Impossible de vous faire parvenir le message: %1$s',
'UI:Login:SeparatorOr' => 'Ou',
'UI:Login:IdentifyYourself' => 'Merci de vous identifier',
'UI:Login:UserNamePrompt' => 'Identifiant',
'UI:Login:PasswordPrompt' => 'Mot de passe',
'UI:Login:ForgotPwd' => 'Mot de passe oublié ?',
'UI:Login:ForgotPwdForm' => 'Mot de passe oublié',
'UI:Login:ForgotPwdForm+' => 'Vous pouvez demander à saisir un nouveau mot de passe. Vous allez recevoir un email et vous pourrez suivre les instructions.',
'UI:Login:ResetPassword' => 'Envoyer le message',
'UI:Login:ResetPwdFailed' => 'Impossible de vous faire parvenir le message: %1$s',
'UI:Login:SeparatorOr' => 'Ou',
'UI:ResetPwd-Error-WrongLogin' => 'le compte \'%1$s\' est inconnu.',
'UI:ResetPwd-Error-NotPossible' => 'les comptes "externes" ne permettent pas la saisie d\'un mot de passe dans '.ITOP_APPLICATION_SHORT.'.',
'UI:ResetPwd-Error-FixedPwd' => 'ce mode de saisie du mot de passe n\'est pas autorisé pour ce compte.',
'UI:ResetPwd-Error-NoContact' => 'le comte n\'est pas associé à une Personne.',
'UI:ResetPwd-Error-NoEmailAtt' => 'il manque un attribut de type "email" sur la Personne associée à ce compte. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-Error-NoEmail' => 'il manque une adresse email sur la Personne associée à ce compte. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-Error-Send' => 'erreur technique lors de l\'envoi de l\'email. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-EmailSent' => 'Veuillez vérifier votre boîte de réception. Ensuite, suivez les instructions données dans l\'email. Si vous ne recevez pas d\'email, merci de vérifier le login saisi',
'UI:ResetPwd-EmailSubject' => 'Changer votre mot de passe '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Vous avez demandé à changer votre mot de passe '.ITOP_APPLICATION_SHORT.' sans connaître le mot de passe précédent.</p><p>Veuillez suivre le lien suivant (usage unique) afin de pouvoir <a href="%1$s">saisir un nouveau mot de passe</a></p>.',
'UI:ResetPwd-Title' => 'Nouveau mot de passe',
'UI:ResetPwd-Error-InvalidToken' => 'Désolé, le mot de passe a déjà été modifié avec le lien que vous avez suivi, ou bien vous avez reçu plusieurs emails. Dans ce cas, veillez à utiliser le tout dernier lien reçu.',
'UI:ResetPwd-Error-WrongLogin' => 'le compte \'%1$s\' est inconnu.',
'UI:ResetPwd-Error-NotPossible' => 'les comptes "externes" ne permettent pas la saisie d\'un mot de passe dans '.ITOP_APPLICATION_SHORT.'.',
'UI:ResetPwd-Error-FixedPwd' => 'ce mode de saisie du mot de passe n\'est pas autorisé pour ce compte.',
'UI:ResetPwd-Error-NoContact' => 'le comte n\'est pas associé à une Personne.',
'UI:ResetPwd-Error-NoEmailAtt' => 'il manque un attribut de type "email" sur la Personne associée à ce compte. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-Error-NoEmail' => 'il manque une adresse email sur la Personne associée à ce compte. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-Error-Send' => 'erreur technique lors de l\'envoi de l\'email. Veuillez contacter l\'administrateur de l\'application.',
'UI:ResetPwd-EmailSent' => 'Veuillez vérifier votre boîte de réception. Ensuite, suivez les instructions données dans l\'email. Si vous ne recevez pas d\'email, merci de vérifier le login saisi',
'UI:ResetPwd-EmailSubject' => 'Changer votre mot de passe '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Vous avez demandé à changer votre mot de passe '.ITOP_APPLICATION_SHORT.' sans connaître le mot de passe précédent.</p><p>Veuillez suivre le lien suivant (usage unique) afin de pouvoir <a href="%1$s">saisir un nouveau mot de passe</a></p>.',
'UI:ResetPwd-Title' => 'Nouveau mot de passe',
'UI:ResetPwd-Error-InvalidToken' => 'Désolé, le mot de passe a déjà été modifié avec le lien que vous avez suivi, ou bien vous avez reçu plusieurs emails. Dans ce cas, veillez à utiliser le tout dernier lien reçu.',
'UI:ResetPwd-Error-EnterPassword' => 'Veuillez saisir le nouveau mot de passe pour \'%1$s\'.',
'UI:ResetPwd-Ready' => 'Le mot de passe a bien été changé.',
'UI:ResetPwd-Login' => 'Cliquez ici pour vous connecter...',
'UI:ResetPwd-Ready' => 'Le mot de passe a bien été changé.',
'UI:ResetPwd-Login' => 'Cliquez ici pour vous connecter...',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo~~',
'UI:Login:ChangeYourPassword' => 'Changer de mot de passe',
'UI:Login:OldPasswordPrompt' => 'Ancien mot de passe',
'UI:Login:NewPasswordPrompt' => 'Nouveau mot de passe',
'UI:Login:RetypeNewPasswordPrompt' => 'Resaisir le nouveau mot de passe',
'UI:Login:IncorrectOldPassword' => 'Erreur: l\'ancien mot de passe est incorrect',
'UI:LogOffMenu' => 'Déconnexion',
'UI:LogOff:ThankYou' => 'Merci d\'avoir utilisé '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Cliquez ici pour vous reconnecter...',
'UI:ChangePwdMenu' => 'Changer de mot de passe...',
'UI:Login:PasswordChanged' => 'Mot de passe mis à jour !',
'UI:Login:PasswordNotChanged' => 'Erreur : le mot de passe est identique !',
'UI:Login:RetypePwdDoesNotMatch' => 'Les deux saisies du nouveau mot de passe ne sont pas identiques !',
'UI:Button:Login' => 'Entrer dans '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'L\'accès à cette page '.ITOP_APPLICATION_SHORT.' est soumis à autorisation. Merci de contacter votre administrateur '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Accès restreint aux utilisateurs possédant le profil Administrateur.',
'UI:Login:Error:WrongOrganizationName' => 'Organisation inconnue',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo~~',
'UI:Login:ChangeYourPassword' => 'Changer de mot de passe',
'UI:Login:OldPasswordPrompt' => 'Ancien mot de passe',
'UI:Login:NewPasswordPrompt' => 'Nouveau mot de passe',
'UI:Login:RetypeNewPasswordPrompt' => 'Resaisir le nouveau mot de passe',
'UI:Login:IncorrectOldPassword' => 'Erreur: l\'ancien mot de passe est incorrect',
'UI:LogOffMenu' => 'Déconnexion',
'UI:LogOff:ThankYou' => 'Merci d\'avoir utilisé '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Cliquez ici pour vous reconnecter...',
'UI:ChangePwdMenu' => 'Changer de mot de passe...',
'UI:Login:PasswordChanged' => 'Mot de passe mis à jour !',
'UI:Login:PasswordNotChanged' => 'Erreur : le mot de passe est identique !',
'UI:Login:RetypePwdDoesNotMatch' => 'Les deux saisies du nouveau mot de passe ne sont pas identiques !',
'UI:Button:Login' => 'Entrer dans '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'L\'accès à cette page '.ITOP_APPLICATION_SHORT.' est soumis à autorisation. Merci de contacter votre administrateur '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Accès restreint aux utilisateurs possédant le profil Administrateur.',
'UI:Login:Error:WrongOrganizationName' => 'Organisation inconnue',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Email partagé par plusieurs contacts',
'UI:Login:Error:NoValidProfiles' => 'Pas de profil valide',
]);
'UI:Login:Error:NoValidProfiles' => 'Pas de profil valide',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' bejelentkezés',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Üdvözli az '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' bejelentkezés',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Üdvözli az '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Nem megfelelő bejelentkezési név/jelszó, kérjük próbálja újra.',
'UI:Login:IdentifyYourself' => 'Folytatás előtt azonosítsa magát',
'UI:Login:UserNamePrompt' => 'Felhasználónév',
'UI:Login:PasswordPrompt' => 'Jelszó',
'UI:Login:ForgotPwd' => 'Elfelejtette a jelszavát?',
'UI:Login:ForgotPwdForm' => 'Elfelejtett jelszó',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' küldhet Önnek egy emailt, amelyben utasításokat talál a fiókja visszaállításához.',
'UI:Login:ResetPassword' => 'Küldje most!',
'UI:Login:ResetPwdFailed' => 'Sikertelen email küldés: %1$s',
'UI:Login:SeparatorOr' => 'Vagy',
'UI:Login:IdentifyYourself' => 'Folytatás előtt azonosítsa magát',
'UI:Login:UserNamePrompt' => 'Felhasználónév',
'UI:Login:PasswordPrompt' => 'Jelszó',
'UI:Login:ForgotPwd' => 'Elfelejtette a jelszavát?',
'UI:Login:ForgotPwdForm' => 'Elfelejtett jelszó',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' küldhet Önnek egy emailt, amelyben utasításokat talál a fiókja visszaállításához.',
'UI:Login:ResetPassword' => 'Küldje most!',
'UI:Login:ResetPwdFailed' => 'Sikertelen email küldés: %1$s',
'UI:Login:SeparatorOr' => 'Vagy',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' nem érvényes fiók',
'UI:ResetPwd-Error-NotPossible' => 'a külső fiókok jelszava itt nem állítható vissza.',
'UI:ResetPwd-Error-FixedPwd' => 'a fiók nem teszi lehetővé a jelszó visszaállítását.',
'UI:ResetPwd-Error-NoContact' => 'a fiók nem személyhez tartozik',
'UI:ResetPwd-Error-NoEmailAtt' => 'a fiók nem olyan személyhez tartozik amelynek van email címe. Keresse a rendszergazdát.',
'UI:ResetPwd-Error-NoEmail' => 'hiányzik az email cím. Keresse a rendszergazdát.',
'UI:ResetPwd-Error-Send' => 'email továbbítási hiba. Keresse a rendszergazdát',
'UI:ResetPwd-EmailSent' => 'Kérjük, ellenőrizze az email postafiókját, és kövesse az utasításokat. Ha nem kap emailt, kérjük, ellenőrizze a beírt bejelentkezési adatait.',
'UI:ResetPwd-EmailSubject' => 'Állítsa vissza az '.ITOP_APPLICATION_SHORT.' jelszavát',
'UI:ResetPwd-EmailBody' => '<body><p>Ön vissza szeretné állítani az '.ITOP_APPLICATION_SHORT.' jelszavát.</p><p>Kattintson erre a linkre <a href="%1$s">új jelszó</a></p>.',
'UI:ResetPwd-Title' => 'Jelszó visszaállítás',
'UI:ResetPwd-Error-InvalidToken' => 'Sajnáljuk, de vagy már visszaállították a jelszót, vagy már több emailt is kapott. Kérjük, mindenképpen használja a legutolsó kapott emailben megadott linket.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' nem érvényes fiók',
'UI:ResetPwd-Error-NotPossible' => 'a külső fiókok jelszava itt nem állítható vissza.',
'UI:ResetPwd-Error-FixedPwd' => 'a fiók nem teszi lehetővé a jelszó visszaállítását.',
'UI:ResetPwd-Error-NoContact' => 'a fiók nem személyhez tartozik',
'UI:ResetPwd-Error-NoEmailAtt' => 'a fiók nem olyan személyhez tartozik amelynek van email címe. Keresse a rendszergazdát.',
'UI:ResetPwd-Error-NoEmail' => 'hiányzik az email cím. Keresse a rendszergazdát.',
'UI:ResetPwd-Error-Send' => 'email továbbítási hiba. Keresse a rendszergazdát',
'UI:ResetPwd-EmailSent' => 'Kérjük, ellenőrizze az email postafiókját, és kövesse az utasításokat. Ha nem kap emailt, kérjük, ellenőrizze a beírt bejelentkezési adatait.',
'UI:ResetPwd-EmailSubject' => 'Állítsa vissza az '.ITOP_APPLICATION_SHORT.' jelszavát',
'UI:ResetPwd-EmailBody' => '<body><p>Ön vissza szeretné állítani az '.ITOP_APPLICATION_SHORT.' jelszavát.</p><p>Kattintson erre a linkre <a href="%1$s">új jelszó</a></p>.',
'UI:ResetPwd-Title' => 'Jelszó visszaállítás',
'UI:ResetPwd-Error-InvalidToken' => 'Sajnáljuk, de vagy már visszaállították a jelszót, vagy már több emailt is kapott. Kérjük, mindenképpen használja a legutolsó kapott emailben megadott linket.',
'UI:ResetPwd-Error-EnterPassword' => 'Adja meg az új jelszavát a %1$s a fiókjának',
'UI:ResetPwd-Ready' => 'A jelszó megváltozott',
'UI:ResetPwd-Login' => 'Jelentkezzen be...',
'UI:ResetPwd-Ready' => 'A jelszó megváltozott',
'UI:ResetPwd-Login' => 'Jelentkezzen be...',
'UI:Login:About' => 'Névjegy',
'UI:Login:ChangeYourPassword' => 'Jelszó változtatás',
'UI:Login:OldPasswordPrompt' => 'Jelenlegi jelszó',
'UI:Login:NewPasswordPrompt' => 'Új jelszó',
'UI:Login:RetypeNewPasswordPrompt' => 'Jelszó megerősítése',
'UI:Login:IncorrectOldPassword' => 'Hiba: a jelenlegi jelszó hibás',
'UI:LogOffMenu' => 'Kilépés',
'UI:LogOff:ThankYou' => 'Köszönjük, hogy az '.ITOP_APPLICATION_SHORT.'-ot használja!',
'UI:LogOff:ClickHereToLoginAgain' => 'Ismételt bejelentkezéshez kattintson ide',
'UI:ChangePwdMenu' => 'Jelszó módosítás...',
'UI:Login:PasswordChanged' => 'Jelszó sikeresen beállítva!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'A jelszavak nem egyeznek!',
'UI:Button:Login' => 'Belépés az '.ITOP_APPLICATION_SHORT.' alkalmazásba',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' hozzáférés korlátozva. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
'UI:Login:Error:AccessAdmin' => 'Adminisztrátori hozzáférés korlátozott. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
'UI:Login:Error:WrongOrganizationName' => 'Ismeretlen szervezeti egység',
'UI:Login:About' => 'Névjegy',
'UI:Login:ChangeYourPassword' => 'Jelszó változtatás',
'UI:Login:OldPasswordPrompt' => 'Jelenlegi jelszó',
'UI:Login:NewPasswordPrompt' => 'Új jelszó',
'UI:Login:RetypeNewPasswordPrompt' => 'Jelszó megerősítése',
'UI:Login:IncorrectOldPassword' => 'Hiba: a jelenlegi jelszó hibás',
'UI:LogOffMenu' => 'Kilépés',
'UI:LogOff:ThankYou' => 'Köszönjük, hogy az '.ITOP_APPLICATION_SHORT.'-ot használja!',
'UI:LogOff:ClickHereToLoginAgain' => 'Ismételt bejelentkezéshez kattintson ide',
'UI:ChangePwdMenu' => 'Jelszó módosítás...',
'UI:Login:PasswordChanged' => 'Jelszó sikeresen beállítva!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'A jelszavak nem egyeznek!',
'UI:Button:Login' => 'Belépés az '.ITOP_APPLICATION_SHORT.' alkalmazásba',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' hozzáférés korlátozva. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
'UI:Login:Error:AccessAdmin' => 'Adminisztrátori hozzáférés korlátozott. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
'UI:Login:Error:WrongOrganizationName' => 'Ismeretlen szervezeti egység',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Több kapcsolattartónál ugyanez az emailcím',
'UI:Login:Error:NoValidProfiles' => 'Érvénytelen a megadott profil',
]);
'UI:Login:Error:NoValidProfiles' => 'Érvénytelen a megadott profil',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('IT IT', 'Italian', 'Italiano', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Benvenuti su '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Benvenuti su '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Errato login/password, si prega di riprovare.',
'UI:Login:IdentifyYourself' => 'Identifica te stesso prima di continuare',
'UI:Login:UserNamePrompt' => 'Nome Utente',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Hai dimenticato la password?',
'UI:Login:ForgotPwdForm' => 'Password dimenticata',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' può inviarti un\'email contenente le istruzioni da seguire per reimpostare il tuo account.',
'UI:Login:ResetPassword' => 'Invia ora!',
'UI:Login:ResetPwdFailed' => 'Impossibile inviare un\'email: %1$s',
'UI:Login:SeparatorOr' => 'O',
'UI:Login:IdentifyYourself' => 'Identifica te stesso prima di continuare',
'UI:Login:UserNamePrompt' => 'Nome Utente',
'UI:Login:PasswordPrompt' => 'Password',
'UI:Login:ForgotPwd' => 'Hai dimenticato la password?',
'UI:Login:ForgotPwdForm' => 'Password dimenticata',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' può inviarti un\'email contenente le istruzioni da seguire per reimpostare il tuo account.',
'UI:Login:ResetPassword' => 'Invia ora!',
'UI:Login:ResetPwdFailed' => 'Impossibile inviare un\'email: %1$s',
'UI:Login:SeparatorOr' => 'O',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' non è un nome utente valido',
'UI:ResetPwd-Error-NotPossible' => 'gli account esterni non consentono la reimpostazione della password.',
'UI:ResetPwd-Error-FixedPwd' => 'l\'account non consente la reimpostazione della password.',
'UI:ResetPwd-Error-NoContact' => 'l\'account non è associato a una persona.',
'UI:ResetPwd-Error-NoEmailAtt' => 'l\'account non è associato a una persona con un attributo email. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-Error-NoEmail' => 'indirizzo email mancante. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-Error-Send' => 'problema tecnico nel trasporto dell\'email. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-EmailSent' => 'Controlla la tua casella email e segui le istruzioni. Se non ricevi alcuna email, verifica il nome utente che hai inserito.',
'UI:ResetPwd-EmailSubject' => 'Reimposta la password di '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Hai richiesto di reimpostare la password di '.ITOP_APPLICATION_SHORT.'.</p><p>Segui questo link (uso singolo) per <a href="%1$s">inserire una nuova password</a></p>.',
'UI:ResetPwd-Title' => 'Reimposta la password',
'UI:ResetPwd-Error-InvalidToken' => 'Spiacenti, o la password è già stata reimpostata, o hai ricevuto diverse email. Assicurati di utilizzare il link fornito nell\'ultima email ricevuta.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' non è un nome utente valido',
'UI:ResetPwd-Error-NotPossible' => 'gli account esterni non consentono la reimpostazione della password.',
'UI:ResetPwd-Error-FixedPwd' => 'l\'account non consente la reimpostazione della password.',
'UI:ResetPwd-Error-NoContact' => 'l\'account non è associato a una persona.',
'UI:ResetPwd-Error-NoEmailAtt' => 'l\'account non è associato a una persona con un attributo email. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-Error-NoEmail' => 'indirizzo email mancante. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-Error-Send' => 'problema tecnico nel trasporto dell\'email. Per favore, contatta il tuo amministratore.',
'UI:ResetPwd-EmailSent' => 'Controlla la tua casella email e segui le istruzioni. Se non ricevi alcuna email, verifica il nome utente che hai inserito.',
'UI:ResetPwd-EmailSubject' => 'Reimposta la password di '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Hai richiesto di reimpostare la password di '.ITOP_APPLICATION_SHORT.'.</p><p>Segui questo link (uso singolo) per <a href="%1$s">inserire una nuova password</a></p>.',
'UI:ResetPwd-Title' => 'Reimposta la password',
'UI:ResetPwd-Error-InvalidToken' => 'Spiacenti, o la password è già stata reimpostata, o hai ricevuto diverse email. Assicurati di utilizzare il link fornito nell\'ultima email ricevuta.',
'UI:ResetPwd-Error-EnterPassword' => 'Inserisci una nuova password per l\'account \'%1$s\'.',
'UI:ResetPwd-Ready' => 'La password è stata cambiata.',
'UI:ResetPwd-Login' => 'Clicca qui per accedere...',
'UI:ResetPwd-Ready' => 'La password è stata cambiata.',
'UI:ResetPwd-Login' => 'Clicca qui per accedere...',
'UI:Login:About' => ITOP_APPLICATION.' Sviluppato da Combodo',
'UI:Login:ChangeYourPassword' => 'Cambia la tua password',
'UI:Login:OldPasswordPrompt' => 'Vecchia password',
'UI:Login:NewPasswordPrompt' => 'Nuova password',
'UI:Login:RetypeNewPasswordPrompt' => 'Riscrivi la nuova password',
'UI:Login:IncorrectOldPassword' => 'Errore: la vecchia password non è corretta',
'UI:LogOffMenu' => 'Log off',
'UI:LogOff:ThankYou' => 'Grazie per aver scelto '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Clicca qui per effettuare il login di nuovo...',
'UI:ChangePwdMenu' => 'Cambia Password...',
'UI:Login:PasswordChanged' => 'Password impostata con successo!',
'UI:Login:PasswordNotChanged' => 'Errore: La password è la stessa!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nuova password e la nuova password digitata nuovamente non corrispondono !',
'UI:Button:Login' => 'Entra in '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'L\'accesso a '.ITOP_APPLICATION_SHORT.' è limitato. Si prega di contattare un amministratore '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Accesso limitato alle persone che hanno privilegi di amministratore. Si prega di contattare un amministratore '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Organizzazione sconosciuta',
'UI:Login:About' => ITOP_APPLICATION.' Sviluppato da Combodo',
'UI:Login:ChangeYourPassword' => 'Cambia la tua password',
'UI:Login:OldPasswordPrompt' => 'Vecchia password',
'UI:Login:NewPasswordPrompt' => 'Nuova password',
'UI:Login:RetypeNewPasswordPrompt' => 'Riscrivi la nuova password',
'UI:Login:IncorrectOldPassword' => 'Errore: la vecchia password non è corretta',
'UI:LogOffMenu' => 'Log off',
'UI:LogOff:ThankYou' => 'Grazie per aver scelto '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Clicca qui per effettuare il login di nuovo...',
'UI:ChangePwdMenu' => 'Cambia Password...',
'UI:Login:PasswordChanged' => 'Password impostata con successo!',
'UI:Login:PasswordNotChanged' => 'Errore: La password è la stessa!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nuova password e la nuova password digitata nuovamente non corrispondono !',
'UI:Button:Login' => 'Entra in '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'L\'accesso a '.ITOP_APPLICATION_SHORT.' è limitato. Si prega di contattare un amministratore '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Accesso limitato alle persone che hanno privilegi di amministratore. Si prega di contattare un amministratore '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Organizzazione sconosciuta',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Più contatti hanno la stessa e-mail',
'UI:Login:Error:NoValidProfiles' => 'Nessun profilo valido fornito',
]);
'UI:Login:Error:NoValidProfiles' => 'Nessun profilo valido fornito',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('JA JP', 'Japanese', '日本語', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'へようこそ',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'へようこそ',
'UI:Login:IncorrectLoginPassword' => 'ログイン/パスワードが正しくありません。再度入力ください。',
'UI:Login:IdentifyYourself' => '続けて作業を行う前に認証を受けてください。',
'UI:Login:UserNamePrompt' => 'ユーザー名',
'UI:Login:PasswordPrompt' => 'パスワード',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:Login:IdentifyYourself' => '続けて作業を行う前に認証を受けてください。',
'UI:Login:UserNamePrompt' => 'ユーザー名',
'UI:Login:PasswordPrompt' => 'パスワード',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'パスワードを変更してください',
'UI:Login:OldPasswordPrompt' => '古いパスワード',
'UI:Login:NewPasswordPrompt' => '新しいパスワード',
'UI:Login:RetypeNewPasswordPrompt' => '新しいパスワードを再度入力してください。',
'UI:Login:IncorrectOldPassword' => 'エラー:既存パスワードが正しくありません。',
'UI:LogOffMenu' => 'ログオフ',
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.'をご利用いただき、ありがとうございます。',
'UI:LogOff:ClickHereToLoginAgain' => '再度ログインするにはここをクリックしてください...',
'UI:ChangePwdMenu' => 'パスワードを変更する...',
'UI:Login:PasswordChanged' => 'パスワードは変更されました。',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => '2度入力された新しいパスワードが一致しません!',
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'へ入る',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.'へのアクセスは制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
'UI:Login:Error:AccessAdmin' => '管理者権限をもつユーザにアクセスが制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'パスワードを変更してください',
'UI:Login:OldPasswordPrompt' => '古いパスワード',
'UI:Login:NewPasswordPrompt' => '新しいパスワード',
'UI:Login:RetypeNewPasswordPrompt' => '新しいパスワードを再度入力してください。',
'UI:Login:IncorrectOldPassword' => 'エラー:既存パスワードが正しくありません。',
'UI:LogOffMenu' => 'ログオフ',
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.'をご利用いただき、ありがとうございます。',
'UI:LogOff:ClickHereToLoginAgain' => '再度ログインするにはここをクリックしてください...',
'UI:ChangePwdMenu' => 'パスワードを変更する...',
'UI:Login:PasswordChanged' => 'パスワードは変更されました。',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => '2度入力された新しいパスワードが一致しません!',
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'へ入る',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.'へのアクセスは制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
'UI:Login:Error:AccessAdmin' => '管理者権限をもつユーザにアクセスが制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'UI:Login:Title' => 'Aanmelden in '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Welkom in '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => 'Aanmelden in '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Welkom in '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Ongeldige gebruikersnaam of wachtwoord, probeer opnieuw.',
'UI:Login:IdentifyYourself' => 'Identificeer jezelf voordat je verder gaat',
'UI:Login:UserNamePrompt' => 'Gebruikersnaam',
'UI:Login:PasswordPrompt' => 'Wachtwoord',
'UI:Login:ForgotPwd' => 'Wachtwoord vergeten?',
'UI:Login:ForgotPwdForm' => 'Wachtwoord vergeten',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kan je een e-mail sturen waarin de instructies voor het resetten van jouw account staan.',
'UI:Login:ResetPassword' => 'Stuur nu!',
'UI:Login:ResetPwdFailed' => 'E-mail sturen mislukt: %1$s',
'UI:Login:SeparatorOr' => 'Of',
'UI:Login:IdentifyYourself' => 'Identificeer jezelf voordat je verder gaat',
'UI:Login:UserNamePrompt' => 'Gebruikersnaam',
'UI:Login:PasswordPrompt' => 'Wachtwoord',
'UI:Login:ForgotPwd' => 'Wachtwoord vergeten?',
'UI:Login:ForgotPwdForm' => 'Wachtwoord vergeten',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kan je een e-mail sturen waarin de instructies voor het resetten van jouw account staan.',
'UI:Login:ResetPassword' => 'Stuur nu!',
'UI:Login:ResetPwdFailed' => 'E-mail sturen mislukt: %1$s',
'UI:Login:SeparatorOr' => 'Of',
'UI:ResetPwd-Error-WrongLogin' => '"%1$s" is geen geldige login',
'UI:ResetPwd-Error-NotPossible' => 'Het wachtwoord van externe accounts kan niet gereset worden.',
'UI:ResetPwd-Error-FixedPwd' => 'Deze account staat het resetten van het wachtwoord niet toe.',
'UI:ResetPwd-Error-NoContact' => 'Deze account is niet gelinkt aan een persoon.',
'UI:ResetPwd-Error-NoEmailAtt' => 'Deze account is niet gelinkt aan een persoon waarvan een e-mailadres gekend is. Neem contact op met jouw beheerder.',
'UI:ResetPwd-Error-NoEmail' => 'Er ontbreekt een e-mailadres. Neem contact op met jouw beheerder.',
'UI:ResetPwd-Error-Send' => 'Er is een technisch probleem bij het verzenden van de e-mail. Neem contact op met jouw beheerder.',
'UI:ResetPwd-EmailSent' => 'Kijk in jouw mailbox (eventueel bij ongewenste mail) en volg de instructies...',
'UI:ResetPwd-EmailSubject' => 'Reset jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord',
'UI:ResetPwd-EmailBody' => '<body><p>Je hebt een reset van jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord aangevraagd.</p><p>Klik op deze link (eenmalig te gebruiken) om <a href="%1$s">een nieuw wachtwoord in te voeren</a></p>.',
'UI:ResetPwd-Title' => 'Reset wachtwoord',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry. Jouw wachtwoord is al gereset, of je hebt al meerdere e-mails ontvangen. Zorg ervoor dat je de link in de laatst ontvangen e-mail gebruikt.',
'UI:ResetPwd-Error-EnterPassword' => 'Voer het nieuwe wachtwoord voor de account "%1$s" in.',
'UI:ResetPwd-Ready' => 'Het wachtwoord is veranderd',
'UI:ResetPwd-Login' => 'Klik hier om in te loggen',
'UI:Login:About' => ITOP_APPLICATION,
'UI:Login:ChangeYourPassword' => 'Verander jouw wachtwoord',
'UI:Login:OldPasswordPrompt' => 'Oud wachtwoord',
'UI:Login:NewPasswordPrompt' => 'Nieuw wachtwoord',
'UI:ResetPwd-Error-WrongLogin' => '"%1$s" is geen geldige login',
'UI:ResetPwd-Error-NotPossible' => 'Het wachtwoord van externe accounts kan niet gereset worden.',
'UI:ResetPwd-Error-FixedPwd' => 'Deze account staat het resetten van het wachtwoord niet toe.',
'UI:ResetPwd-Error-NoContact' => 'Deze account is niet gelinkt aan een persoon.',
'UI:ResetPwd-Error-NoEmailAtt' => 'Deze account is niet gelinkt aan een persoon waarvan een e-mailadres gekend is. Neem contact op met jouw beheerder.',
'UI:ResetPwd-Error-NoEmail' => 'Er ontbreekt een e-mailadres. Neem contact op met jouw beheerder.',
'UI:ResetPwd-Error-Send' => 'Er is een technisch probleem bij het verzenden van de e-mail. Neem contact op met jouw beheerder.',
'UI:ResetPwd-EmailSent' => 'Kijk in jouw mailbox (eventueel bij ongewenste mail) en volg de instructies...',
'UI:ResetPwd-EmailSubject' => 'Reset jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord',
'UI:ResetPwd-EmailBody' => '<body><p>Je hebt een reset van jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord aangevraagd.</p><p>Klik op deze link (eenmalig te gebruiken) om <a href="%1$s">een nieuw wachtwoord in te voeren</a></p>.',
'UI:ResetPwd-Title' => 'Reset wachtwoord',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry. Jouw wachtwoord is al gereset, of je hebt al meerdere e-mails ontvangen. Zorg ervoor dat je de link in de laatst ontvangen e-mail gebruikt.',
'UI:ResetPwd-Error-EnterPassword' => 'Voer het nieuwe wachtwoord voor de account "%1$s" in.',
'UI:ResetPwd-Ready' => 'Het wachtwoord is veranderd',
'UI:ResetPwd-Login' => 'Klik hier om in te loggen',
'UI:Login:About' => ITOP_APPLICATION,
'UI:Login:ChangeYourPassword' => 'Verander jouw wachtwoord',
'UI:Login:OldPasswordPrompt' => 'Oud wachtwoord',
'UI:Login:NewPasswordPrompt' => 'Nieuw wachtwoord',
'UI:Login:RetypeNewPasswordPrompt' => 'Herhaal nieuwe wachtwoord',
'UI:Login:IncorrectOldPassword' => 'Fout: het oude wachtwoord is incorrect',
'UI:LogOffMenu' => 'Log uit',
'UI:LogOff:ThankYou' => 'Bedankt voor het gebruiken van '.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => 'Klik hier om in te loggen',
'UI:ChangePwdMenu' => 'Verander wachtwoord',
'UI:Login:PasswordChanged' => 'Wachtwoord met succes aangepast',
'UI:Login:PasswordNotChanged' => 'Fout: Wachtwoord is hetzelfde!',
'UI:Login:IncorrectOldPassword' => 'Fout: het oude wachtwoord is incorrect',
'UI:LogOffMenu' => 'Log uit',
'UI:LogOff:ThankYou' => 'Bedankt voor het gebruiken van '.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => 'Klik hier om in te loggen',
'UI:ChangePwdMenu' => 'Verander wachtwoord',
'UI:Login:PasswordChanged' => 'Wachtwoord met succes aangepast',
'UI:Login:PasswordNotChanged' => 'Fout: Wachtwoord is hetzelfde!',
'UI:Login:RetypePwdDoesNotMatch' => 'Het nieuwe wachtwoord en de herhaling van het nieuwe wachtwoord komen niet overeen',
'UI:Button:Login' => 'Ga naar '.ITOP_APPLICATION,
'UI:Login:Error:AccessRestricted' => 'Geen toegang tot '.ITOP_APPLICATION_SHORT.'.Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder.',
'UI:Login:Error:AccessAdmin' => 'Alleen toegankelijk voor mensen met beheerdersrechten. Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder',
'UI:Login:Error:WrongOrganizationName' => 'Onbekende organisatie',
'UI:Login:RetypePwdDoesNotMatch' => 'Het nieuwe wachtwoord en de herhaling van het nieuwe wachtwoord komen niet overeen',
'UI:Button:Login' => 'Ga naar '.ITOP_APPLICATION,
'UI:Login:Error:AccessRestricted' => 'Geen toegang tot '.ITOP_APPLICATION_SHORT.'.Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder.',
'UI:Login:Error:AccessAdmin' => 'Alleen toegankelijk voor mensen met beheerdersrechten. Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder',
'UI:Login:Error:WrongOrganizationName' => 'Onbekende organisatie',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Meerdere contacten hebben hetzelfde e-mailadres',
'UI:Login:Error:NoValidProfiles' => 'Geen geldig profiel opgegeven',
]);
'UI:Login:Error:NoValidProfiles' => 'Geen geldig profiel opgegeven',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('PL PL', 'Polish', 'Polski', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Witamy w '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Witamy w '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Nieprawidłowy login/hasło, spróbuj ponownie.',
'UI:Login:IdentifyYourself' => 'Zidentyfikuj się przed wejściem',
'UI:Login:UserNamePrompt' => 'Login',
'UI:Login:PasswordPrompt' => 'Hasło',
'UI:Login:ForgotPwd' => 'Zapomniałeś hasła?',
'UI:Login:ForgotPwdForm' => 'Resetowanie hasła',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' może wysłać Ci wiadomość e-mail, w której znajdziesz instrukcje dotyczące resetowania hasła.',
'UI:Login:ResetPassword' => 'Wyślij !',
'UI:Login:ResetPwdFailed' => 'Nie udało się wysłać e-maila: %1$s',
'UI:Login:SeparatorOr' => 'Lub',
'UI:Login:IdentifyYourself' => 'Zidentyfikuj się przed wejściem',
'UI:Login:UserNamePrompt' => 'Login',
'UI:Login:PasswordPrompt' => 'Hasło',
'UI:Login:ForgotPwd' => 'Zapomniałeś hasła?',
'UI:Login:ForgotPwdForm' => 'Resetowanie hasła',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' może wysłać Ci wiadomość e-mail, w której znajdziesz instrukcje dotyczące resetowania hasła.',
'UI:Login:ResetPassword' => 'Wyślij !',
'UI:Login:ResetPwdFailed' => 'Nie udało się wysłać e-maila: %1$s',
'UI:Login:SeparatorOr' => 'Lub',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\'nie jest prawidłowym loginem',
'UI:ResetPwd-Error-NotPossible' => 'konta zewnętrzne nie pozwalają na resetowanie hasła.',
'UI:ResetPwd-Error-FixedPwd' => 'konto nie pozwala na resetowanie hasła.',
'UI:ResetPwd-Error-NoContact' => 'konto nie jest powiązane z osobą.',
'UI:ResetPwd-Error-NoEmailAtt' => 'konto nie jest powiązane z osobą mającą atrybut e-mail. Skontaktuj się z administratorem.',
'UI:ResetPwd-Error-NoEmail' => 'brak adresu e-mail. Skontaktuj się z administratorem.',
'UI:ResetPwd-Error-Send' => 'problem techniczny dotyczący transportu poczty elektronicznej. Skontaktuj się z administratorem.',
'UI:ResetPwd-EmailSent' => 'Sprawdź swoją skrzynkę e-mail i postępuj zgodnie z instrukcjami. Jeśli nie otrzymasz wiadomości e-mail, sprawdź wpisany login.',
'UI:ResetPwd-EmailSubject' => 'Reset hasła '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Poprosiłeś o zresetowanie hasła '.ITOP_APPLICATION_SHORT.'.</p><p>Proszę skorzystać z tego linku (jednorazowe użycie), <a href="%1$s">wpisz nowe hasło</a></p>.',
'UI:ResetPwd-Title' => 'Zresetuj hasło',
'UI:ResetPwd-Error-InvalidToken' => 'Przepraszamy, albo hasło zostało już zresetowane, albo otrzymałeś kilka e-maili. Upewnij się, że używasz linku podanego w ostatniej otrzymanej wiadomości e-mail.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\'nie jest prawidłowym loginem',
'UI:ResetPwd-Error-NotPossible' => 'konta zewnętrzne nie pozwalają na resetowanie hasła.',
'UI:ResetPwd-Error-FixedPwd' => 'konto nie pozwala na resetowanie hasła.',
'UI:ResetPwd-Error-NoContact' => 'konto nie jest powiązane z osobą.',
'UI:ResetPwd-Error-NoEmailAtt' => 'konto nie jest powiązane z osobą mającą atrybut e-mail. Skontaktuj się z administratorem.',
'UI:ResetPwd-Error-NoEmail' => 'brak adresu e-mail. Skontaktuj się z administratorem.',
'UI:ResetPwd-Error-Send' => 'problem techniczny dotyczący transportu poczty elektronicznej. Skontaktuj się z administratorem.',
'UI:ResetPwd-EmailSent' => 'Sprawdź swoją skrzynkę e-mail i postępuj zgodnie z instrukcjami. Jeśli nie otrzymasz wiadomości e-mail, sprawdź wpisany login.',
'UI:ResetPwd-EmailSubject' => 'Reset hasła '.ITOP_APPLICATION_SHORT,
'UI:ResetPwd-EmailBody' => '<body><p>Poprosiłeś o zresetowanie hasła '.ITOP_APPLICATION_SHORT.'.</p><p>Proszę skorzystać z tego linku (jednorazowe użycie), <a href="%1$s">wpisz nowe hasło</a></p>.',
'UI:ResetPwd-Title' => 'Zresetuj hasło',
'UI:ResetPwd-Error-InvalidToken' => 'Przepraszamy, albo hasło zostało już zresetowane, albo otrzymałeś kilka e-maili. Upewnij się, że używasz linku podanego w ostatniej otrzymanej wiadomości e-mail.',
'UI:ResetPwd-Error-EnterPassword' => 'Wprowadź nowe hasło do konta \'%1$s\'.',
'UI:ResetPwd-Ready' => 'Hasło zostało zmienione.',
'UI:ResetPwd-Login' => 'Kliknij tutaj aby się zalogować...',
'UI:ResetPwd-Ready' => 'Hasło zostało zmienione.',
'UI:ResetPwd-Login' => 'Kliknij tutaj aby się zalogować...',
'UI:Login:About' => ITOP_APPLICATION.' Obsługiwane przez Combodo',
'UI:Login:ChangeYourPassword' => 'Zmień swoje hasło',
'UI:Login:OldPasswordPrompt' => 'Stare hasło',
'UI:Login:NewPasswordPrompt' => 'Nowe hasło',
'UI:Login:RetypeNewPasswordPrompt' => 'Powtórz nowe hasło',
'UI:Login:IncorrectOldPassword' => 'Błąd: stare hasło jest nieprawidłowe',
'UI:LogOffMenu' => 'Wyloguj',
'UI:LogOff:ThankYou' => 'Dziękujemy za użycie '.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => 'Kliknij tutaj, aby zalogować się ponownie...',
'UI:ChangePwdMenu' => 'Zmień hasło...',
'UI:Login:PasswordChanged' => 'Hasło ustawione pomyślnie!',
'UI:Login:PasswordNotChanged' => 'Błąd: Hasło jest takie samo!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nowe hasło i powtórzone nowe hasło nie pasują!',
'UI:Button:Login' => 'Wejdź do '.ITOP_APPLICATION,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' dostęp jest ograniczony. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Dostęp ograniczony do osób z uprawnieniami administratora. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Nieznana organizacja',
'UI:Login:About' => ITOP_APPLICATION.' Obsługiwane przez Combodo',
'UI:Login:ChangeYourPassword' => 'Zmień swoje hasło',
'UI:Login:OldPasswordPrompt' => 'Stare hasło',
'UI:Login:NewPasswordPrompt' => 'Nowe hasło',
'UI:Login:RetypeNewPasswordPrompt' => 'Powtórz nowe hasło',
'UI:Login:IncorrectOldPassword' => 'Błąd: stare hasło jest nieprawidłowe',
'UI:LogOffMenu' => 'Wyloguj',
'UI:LogOff:ThankYou' => 'Dziękujemy za użycie '.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => 'Kliknij tutaj, aby zalogować się ponownie...',
'UI:ChangePwdMenu' => 'Zmień hasło...',
'UI:Login:PasswordChanged' => 'Hasło ustawione pomyślnie!',
'UI:Login:PasswordNotChanged' => 'Błąd: Hasło jest takie samo!',
'UI:Login:RetypePwdDoesNotMatch' => 'Nowe hasło i powtórzone nowe hasło nie pasują!',
'UI:Button:Login' => 'Wejdź do '.ITOP_APPLICATION,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' dostęp jest ograniczony. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Dostęp ograniczony do osób z uprawnieniami administratora. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Nieznana organizacja',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Wiele kontaktów ma ten sam adres e-mail',
'UI:Login:Error:NoValidProfiles' => 'Nie podano prawidłowego profilu',
]);
'UI:Login:Error:NoValidProfiles' => 'Nie podano prawidłowego profilu',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'UI:Login:Title' => 'Login no '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => 'Login no '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Usuário e/ou senha inválido(s), tente novamente',
'UI:Login:IdentifyYourself' => 'Identifique-se antes continuar',
'UI:Login:UserNamePrompt' => 'Usuário',
'UI:Login:PasswordPrompt' => 'Senha',
'UI:Login:ForgotPwd' => 'Esqueceu sua senha?',
'UI:Login:ForgotPwdForm' => 'Esqueceu sua senha',
'UI:Login:ForgotPwdForm+' => 'O '.ITOP_APPLICATION_SHORT.' pode enviar um e-mail em que você vai encontrar instruções para seguir para redefinir sua conta',
'UI:Login:ResetPassword' => 'Enviar agora',
'UI:Login:ResetPwdFailed' => 'Falha ao enviar e-mail: %1$s',
'UI:Login:SeparatorOr' => 'Ou',
'UI:Login:IdentifyYourself' => 'Identifique-se antes continuar',
'UI:Login:UserNamePrompt' => 'Usuário',
'UI:Login:PasswordPrompt' => 'Senha',
'UI:Login:ForgotPwd' => 'Esqueceu sua senha?',
'UI:Login:ForgotPwdForm' => 'Esqueceu sua senha',
'UI:Login:ForgotPwdForm+' => 'O '.ITOP_APPLICATION_SHORT.' pode enviar um e-mail em que você vai encontrar instruções para seguir para redefinir sua conta',
'UI:Login:ResetPassword' => 'Enviar agora',
'UI:Login:ResetPwdFailed' => 'Falha ao enviar e-mail: %1$s',
'UI:Login:SeparatorOr' => 'Ou',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' não é um login válido',
'UI:ResetPwd-Error-NotPossible' => 'Não é permitida alteração de senha de contas externas',
'UI:ResetPwd-Error-FixedPwd' => 'A conta não permite alteração de senha',
'UI:ResetPwd-Error-NoContact' => 'A conta não está associada a uma pessoa',
'UI:ResetPwd-Error-NoEmailAtt' => 'A conta não está associada a uma pessoa que contém um endereço de e-mail no '.ITOP_APPLICATION_SHORT.'.Por favor, contate o administrador',
'UI:ResetPwd-Error-NoEmail' => 'A conta não contém um endereço de e-mail. Por favor, contate o administrador',
'UI:ResetPwd-Error-Send' => 'Houve um problema técnico de transporte de e-mail. Por favor, contate o administrador',
'UI:ResetPwd-EmailSent' => 'Verifique sua caixa de e-mail e siga as instruções. Se você não receber nenhum e-mail, verifique a caixa de SPAM e o login que você digitou',
'UI:ResetPwd-EmailSubject' => 'Alterar a senha',
'UI:ResetPwd-EmailBody' => '<body><p>Você solicitou a alteração da senha do '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor, siga este link (passo simples) para <a href="%1$s">digitar a nova senha</a></p>.',
'UI:ResetPwd-Title' => 'Alterar senha',
'UI:ResetPwd-Error-InvalidToken' => 'Desculpe, a senha já foi alterada, ou você deve ter recebido múltiplos e-mails. Por favor, certifique-se que você acessou o link fornecido no último e-mail recebido',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' não é um login válido',
'UI:ResetPwd-Error-NotPossible' => 'Não é permitida alteração de senha de contas externas',
'UI:ResetPwd-Error-FixedPwd' => 'A conta não permite alteração de senha',
'UI:ResetPwd-Error-NoContact' => 'A conta não está associada a uma pessoa',
'UI:ResetPwd-Error-NoEmailAtt' => 'A conta não está associada a uma pessoa que contém um endereço de e-mail no '.ITOP_APPLICATION_SHORT.'.Por favor, contate o administrador',
'UI:ResetPwd-Error-NoEmail' => 'A conta não contém um endereço de e-mail. Por favor, contate o administrador',
'UI:ResetPwd-Error-Send' => 'Houve um problema técnico de transporte de e-mail. Por favor, contate o administrador',
'UI:ResetPwd-EmailSent' => 'Verifique sua caixa de e-mail e siga as instruções. Se você não receber nenhum e-mail, verifique a caixa de SPAM e o login que você digitou',
'UI:ResetPwd-EmailSubject' => 'Alterar a senha',
'UI:ResetPwd-EmailBody' => '<body><p>Você solicitou a alteração da senha do '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor, siga este link (passo simples) para <a href="%1$s">digitar a nova senha</a></p>.',
'UI:ResetPwd-Title' => 'Alterar senha',
'UI:ResetPwd-Error-InvalidToken' => 'Desculpe, a senha já foi alterada, ou você deve ter recebido múltiplos e-mails. Por favor, certifique-se que você acessou o link fornecido no último e-mail recebido',
'UI:ResetPwd-Error-EnterPassword' => 'Digite a nova senha para a conta \'%1$s\'',
'UI:ResetPwd-Ready' => 'A senha foi alterada com sucesso',
'UI:ResetPwd-Login' => 'Clique para entrar...',
'UI:ResetPwd-Ready' => 'A senha foi alterada com sucesso',
'UI:ResetPwd-Login' => 'Clique para entrar...',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Alterar sua senha',
'UI:Login:OldPasswordPrompt' => 'Senha antiga',
'UI:Login:NewPasswordPrompt' => 'Nova senha',
'UI:Login:RetypeNewPasswordPrompt' => 'Repetir nova senha',
'UI:Login:IncorrectOldPassword' => 'Erro: senha antiga incorreta',
'UI:LogOffMenu' => 'Sair',
'UI:LogOff:ThankYou' => 'Obrigado por usar o sistema',
'UI:LogOff:ClickHereToLoginAgain' => 'Clique aqui para entrar novamente...',
'UI:ChangePwdMenu' => 'Alterar senha...',
'UI:Login:PasswordChanged' => 'Senha alterada com sucesso',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => '"Nova senha" e "Repetir nova senha" são diferentes. Tente novamente!',
'UI:Button:Login' => 'Login',
'UI:Login:Error:AccessRestricted' => 'Acesso restrito. Por favor, contacte o administrador',
'UI:Login:Error:AccessAdmin' => 'Acesso restrito somente para usuários com privilégios administrativos. Por favor, contacte o administrador',
'UI:Login:Error:WrongOrganizationName' => 'Organização não encontrada',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Alterar sua senha',
'UI:Login:OldPasswordPrompt' => 'Senha antiga',
'UI:Login:NewPasswordPrompt' => 'Nova senha',
'UI:Login:RetypeNewPasswordPrompt' => 'Repetir nova senha',
'UI:Login:IncorrectOldPassword' => 'Erro: senha antiga incorreta',
'UI:LogOffMenu' => 'Sair',
'UI:LogOff:ThankYou' => 'Obrigado por usar o sistema',
'UI:LogOff:ClickHereToLoginAgain' => 'Clique aqui para entrar novamente...',
'UI:ChangePwdMenu' => 'Alterar senha...',
'UI:Login:PasswordChanged' => 'Senha alterada com sucesso',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => '"Nova senha" e "Repetir nova senha" são diferentes. Tente novamente!',
'UI:Button:Login' => 'Login',
'UI:Login:Error:AccessRestricted' => 'Acesso restrito. Por favor, contacte o administrador',
'UI:Login:Error:AccessAdmin' => 'Acesso restrito somente para usuários com privilégios administrativos. Por favor, contacte o administrador',
'UI:Login:Error:WrongOrganizationName' => 'Organização não encontrada',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Vários contatos têm o mesmo e-mail',
'UI:Login:Error:NoValidProfiles' => 'Nenhum perfil válido fornecido',
]);
'UI:Login:Error:NoValidProfiles' => 'Nenhum perfil válido fornecido',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'UI:Login:Title' => 'Вход в '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => 'Вход в '.ITOP_APPLICATION_SHORT,
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Неправильный логин/пароль. Пожалуйста, попробуйте еще раз.',
'UI:Login:IdentifyYourself' => 'Пожалуйста, представьтесь',
'UI:Login:UserNamePrompt' => 'Имя пользователя',
'UI:Login:PasswordPrompt' => 'Пароль',
'UI:Login:ForgotPwd' => 'Забыли пароль?',
'UI:Login:ForgotPwdForm' => 'Восстановление пароля',
'UI:Login:ForgotPwdForm+' => 'Введите свой логин для входа в систему и нажмите "Отправить". '.ITOP_APPLICATION_SHORT.' отправит email с инструкциями по восстановлению пароля на ваш электронный адрес.',
'UI:Login:ResetPassword' => 'Отправить',
'UI:Login:ResetPwdFailed' => 'Не удалось отправить email: %1$s',
'UI:Login:SeparatorOr' => 'или',
'UI:Login:IdentifyYourself' => 'Пожалуйста, представьтесь',
'UI:Login:UserNamePrompt' => 'Имя пользователя',
'UI:Login:PasswordPrompt' => 'Пароль',
'UI:Login:ForgotPwd' => 'Забыли пароль?',
'UI:Login:ForgotPwdForm' => 'Восстановление пароля',
'UI:Login:ForgotPwdForm+' => 'Введите свой логин для входа в систему и нажмите "Отправить". '.ITOP_APPLICATION_SHORT.' отправит email с инструкциями по восстановлению пароля на ваш электронный адрес.',
'UI:Login:ResetPassword' => 'Отправить',
'UI:Login:ResetPwdFailed' => 'Не удалось отправить email: %1$s',
'UI:Login:SeparatorOr' => 'или',
'UI:ResetPwd-Error-WrongLogin' => 'учетная запись с логином "%1$s" не найдена.',
'UI:ResetPwd-Error-NotPossible' => 'восстановление пароля для внешних учётных записей недоступно.',
'UI:ResetPwd-Error-FixedPwd' => 'восстановление пароля для данной учётной записи недоступно. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoContact' => 'данная учетная запись не ассоциирована с персоной. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoEmailAtt' => 'аккаунт не ассоциирован с персоной, имеющей атрибут электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoEmail' => 'отсутствует адрес электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-Send' => 'технические проблемы с отправкой электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Восстановление пароля',
'UI:ResetPwd-EmailBody' => '<body><p>Вы запросили восстановление пароля '.ITOP_APPLICATION_SHORT.'.</p><p>Пожалуйста, воспользуйтесь <a href="%1$s">этой ссылкой</a> для задания нового пароля.</p></body>',
'UI:ResetPwd-Title' => 'Восстановление пароля',
'UI:ResetPwd-Error-InvalidToken' => 'Извините, недействительная ссылка. Если вы запрашивали восстановление пароля несколько раз подряд, пожалуйста, убедитесь, что используете ссылку из последнего полученного письма.',
'UI:ResetPwd-Error-WrongLogin' => 'учетная запись с логином "%1$s" не найдена.',
'UI:ResetPwd-Error-NotPossible' => 'восстановление пароля для внешних учётных записей недоступно.',
'UI:ResetPwd-Error-FixedPwd' => 'восстановление пароля для данной учётной записи недоступно. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoContact' => 'данная учетная запись не ассоциирована с персоной. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoEmailAtt' => 'аккаунт не ассоциирован с персоной, имеющей атрибут электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-NoEmail' => 'отсутствует адрес электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-Error-Send' => 'технические проблемы с отправкой электронной почты. Пожалуйста, обратитесь к администратору.',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Восстановление пароля',
'UI:ResetPwd-EmailBody' => '<body><p>Вы запросили восстановление пароля '.ITOP_APPLICATION_SHORT.'.</p><p>Пожалуйста, воспользуйтесь <a href="%1$s">этой ссылкой</a> для задания нового пароля.</p></body>',
'UI:ResetPwd-Title' => 'Восстановление пароля',
'UI:ResetPwd-Error-InvalidToken' => 'Извините, недействительная ссылка. Если вы запрашивали восстановление пароля несколько раз подряд, пожалуйста, убедитесь, что используете ссылку из последнего полученного письма.',
'UI:ResetPwd-Error-EnterPassword' => 'Введите новый пароль для учетной записи пользователя \'%1$s\'.',
'UI:ResetPwd-Ready' => 'Пароль успешно изменён.',
'UI:ResetPwd-Login' => 'Войти...',
'UI:ResetPwd-Ready' => 'Пароль успешно изменён.',
'UI:ResetPwd-Login' => 'Войти...',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Изменение пароля',
'UI:Login:OldPasswordPrompt' => 'Старый пароль',
'UI:Login:NewPasswordPrompt' => 'Новый пароль',
'UI:Login:RetypeNewPasswordPrompt' => 'Повторите новый пароль',
'UI:Login:IncorrectOldPassword' => 'Ошибка: старый пароль неверный',
'UI:LogOffMenu' => 'Выход',
'UI:LogOff:ThankYou' => 'Спасибо за использование '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Нажмите здесь, чтобы снова войти...',
'UI:ChangePwdMenu' => 'Изменить пароль...',
'UI:Login:PasswordChanged' => 'Пароль успешно изменён!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Пароли не совпадают',
'UI:Button:Login' => 'Войти',
'UI:Login:Error:AccessRestricted' => 'Доступ к '.ITOP_APPLICATION_SHORT.' ограничен. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Доступ ограничен для лиц с административными привилегиями. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Неизвестная организация',
'UI:Login:About' => '',
'UI:Login:ChangeYourPassword' => 'Изменение пароля',
'UI:Login:OldPasswordPrompt' => 'Старый пароль',
'UI:Login:NewPasswordPrompt' => 'Новый пароль',
'UI:Login:RetypeNewPasswordPrompt' => 'Повторите новый пароль',
'UI:Login:IncorrectOldPassword' => 'Ошибка: старый пароль неверный',
'UI:LogOffMenu' => 'Выход',
'UI:LogOff:ThankYou' => 'Спасибо за использование '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Нажмите здесь, чтобы снова войти...',
'UI:ChangePwdMenu' => 'Изменить пароль...',
'UI:Login:PasswordChanged' => 'Пароль успешно изменён!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Пароли не совпадают',
'UI:Button:Login' => 'Войти',
'UI:Login:Error:AccessRestricted' => 'Доступ к '.ITOP_APPLICATION_SHORT.' ограничен. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:AccessAdmin' => 'Доступ ограничен для лиц с административными привилегиями. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
'UI:Login:Error:WrongOrganizationName' => 'Неизвестная организация',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Несколько контактов имеют один и тот же адрес электронной почты',
'UI:Login:Error:NoValidProfiles' => 'Нет допустимого профиля',
]);
'UI:Login:Error:NoValidProfiles' => 'Нет допустимого профиля',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Vitajte v '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => 'Vitajte v '.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => 'Nesprávne prihlasovacie meno/heslo, prosím skúste znova.',
'UI:Login:IdentifyYourself' => 'Identifikujte sa pred pokračovaním',
'UI:Login:UserNamePrompt' => 'Užívateľské meno',
'UI:Login:PasswordPrompt' => 'Heslo',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:Login:IdentifyYourself' => 'Identifikujte sa pred pokračovaním',
'UI:Login:UserNamePrompt' => 'Užívateľské meno',
'UI:Login:PasswordPrompt' => 'Heslo',
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
'UI:Login:ResetPassword' => 'Send now!~~',
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
'UI:ResetPwd-Title' => 'Reset password~~',
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
'UI:ResetPwd-Login' => 'Click here to login...~~',
'UI:Login:About' => 'O účte',
'UI:Login:ChangeYourPassword' => 'Zmeň heslo',
'UI:Login:OldPasswordPrompt' => 'Staré heslo',
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
'UI:Login:RetypeNewPasswordPrompt' => 'Znova zadaj nové heslo',
'UI:Login:IncorrectOldPassword' => 'Chyba: staré heslo je nesprávne',
'UI:LogOffMenu' => 'Odhlásenie',
'UI:LogOff:ThankYou' => 'Ďakujeme za používanie '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Kliknite sem pre nové prihlásenie...',
'UI:ChangePwdMenu' => 'Zmeniť heslo...',
'UI:Login:PasswordChanged' => 'Heslo úspešne nastavené !',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Nové heslo a znova zadané nové heslo sa nezhodujú !',
'UI:Button:Login' => 'Vstup do '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'Prístup do '.ITOP_APPLICATION_SHORT.'u je obmedzený. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
'UI:Login:Error:AccessAdmin' => 'Prístup je vyhradený len pre ľudí, ktorí majú oprávnenia od administrátora. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:About' => 'O účte',
'UI:Login:ChangeYourPassword' => 'Zmeň heslo',
'UI:Login:OldPasswordPrompt' => 'Staré heslo',
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
'UI:Login:RetypeNewPasswordPrompt' => 'Znova zadaj nové heslo',
'UI:Login:IncorrectOldPassword' => 'Chyba: staré heslo je nesprávne',
'UI:LogOffMenu' => 'Odhlásenie',
'UI:LogOff:ThankYou' => 'Ďakujeme za používanie '.ITOP_APPLICATION_SHORT,
'UI:LogOff:ClickHereToLoginAgain' => 'Kliknite sem pre nové prihlásenie...',
'UI:ChangePwdMenu' => 'Zmeniť heslo...',
'UI:Login:PasswordChanged' => 'Heslo úspešne nastavené !',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Nové heslo a znova zadané nové heslo sa nezhodujú !',
'UI:Button:Login' => 'Vstup do '.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => 'Prístup do '.ITOP_APPLICATION_SHORT.'u je obmedzený. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
'UI:Login:Error:AccessAdmin' => 'Prístup je vyhradený len pre ľudí, ktorí majú oprávnenia od administrátora. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz!',
'UI:Login:IncorrectLoginPassword' => 'Hatalı kullanıcı/şifre tekrar deneyiniz.',
'UI:Login:IdentifyYourself' => 'Devam etmeden önce kendinizi tanıtınız',
'UI:Login:UserNamePrompt' => 'Kullanıcı Adı',
'UI:Login:PasswordPrompt' => 'Şifre',
'UI:Login:ForgotPwd' => 'Şifrenizi mi unuttunuz?',
'UI:Login:ForgotPwdForm' => 'Şifrenizi mi unuttunuz?',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.', hesabınızı sıfırlamak için izleyeceğiniz talimatları bulacağınız bir e-posta gönderebilir.',
'UI:Login:ResetPassword' => 'Şimdi gönder!',
'UI:Login:ResetPwdFailed' => 'Bir e-posta gönderilemedi: %1$s',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:Login:IdentifyYourself' => 'Devam etmeden önce kendinizi tanıtınız',
'UI:Login:UserNamePrompt' => 'Kullanıcı Adı',
'UI:Login:PasswordPrompt' => 'Şifre',
'UI:Login:ForgotPwd' => 'Şifrenizi mi unuttunuz?',
'UI:Login:ForgotPwdForm' => 'Şifrenizi mi unuttunuz?',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.', hesabınızı sıfırlamak için izleyeceğiniz talimatları bulacağınız bir e-posta gönderebilir.',
'UI:Login:ResetPassword' => 'Şimdi gönder!',
'UI:Login:ResetPwdFailed' => 'Bir e-posta gönderilemedi: %1$s',
'UI:Login:SeparatorOr' => 'Or~~',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' geçerli bir giriş değil',
'UI:ResetPwd-Error-NotPossible' => 'Harici hesapların şifre sıfırlama izni yoktur.',
'UI:ResetPwd-Error-FixedPwd' => 'Hesabın şifre sıfırlama izni yoktur.',
'UI:ResetPwd-Error-NoContact' => 'Hesap bir kişiyle ilişkili değildir.',
'UI:ResetPwd-Error-NoEmailAtt' => 'Hesap, bir e-posta özelliğine sahip bir kişiyle ilişkili değildir. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-Error-NoEmail' => 'Bir e-posta adresi eksik. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-Error-Send' => 'E-posta ulaştırma teknik sorunu. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-EmailSent' => 'Lütfen e-posta kutunuzu kontrol edin ve talimatları izleyin...',
'UI:ResetPwd-EmailSubject' => ITOP_APPLICATION_SHORT.'şifrenizi sıfırlayın',
'UI:ResetPwd-EmailBody' => '<body><p>'.ITOP_APPLICATION_SHORT.' şifrenizin sıfırlanması talebinde bulundunuz.</p><p> Yeni şifre oluşturmak için lütfen aşağıdaki tek kullanımlık bağlantıyı <a href=\\"%1$s\\">takip ediniz.</a></p>',
'UI:ResetPwd-Title' => 'Şifre sıfırla',
'UI:ResetPwd-Error-InvalidToken' => 'Üzgünüz, ya parola zaten sıfırlandı ya da birkaç e-posta aldınız. Lütfen aldığınız en son e-postada verilen bağlantıyı kullandığınızdan emin olun',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' geçerli bir giriş değil',
'UI:ResetPwd-Error-NotPossible' => 'Harici hesapların şifre sıfırlama izni yoktur.',
'UI:ResetPwd-Error-FixedPwd' => 'Hesabın şifre sıfırlama izni yoktur.',
'UI:ResetPwd-Error-NoContact' => 'Hesap bir kişiyle ilişkili değildir.',
'UI:ResetPwd-Error-NoEmailAtt' => 'Hesap, bir e-posta özelliğine sahip bir kişiyle ilişkili değildir. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-Error-NoEmail' => 'Bir e-posta adresi eksik. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-Error-Send' => 'E-posta ulaştırma teknik sorunu. Lütfen yöneticinize başvurun.',
'UI:ResetPwd-EmailSent' => 'Lütfen e-posta kutunuzu kontrol edin ve talimatları izleyin...',
'UI:ResetPwd-EmailSubject' => ITOP_APPLICATION_SHORT.'şifrenizi sıfırlayın',
'UI:ResetPwd-EmailBody' => '<body><p>'.ITOP_APPLICATION_SHORT.' şifrenizin sıfırlanması talebinde bulundunuz.</p><p> Yeni şifre oluşturmak için lütfen aşağıdaki tek kullanımlık bağlantıyı <a href=\\"%1$s\\">takip ediniz.</a></p>',
'UI:ResetPwd-Title' => 'Şifre sıfırla',
'UI:ResetPwd-Error-InvalidToken' => 'Üzgünüz, ya parola zaten sıfırlandı ya da birkaç e-posta aldınız. Lütfen aldığınız en son e-postada verilen bağlantıyı kullandığınızdan emin olun',
'UI:ResetPwd-Error-EnterPassword' => '\'%1$s\' hesabı için yeni bir şifre girin.',
'UI:ResetPwd-Ready' => 'Şifre değiştirildi.',
'UI:ResetPwd-Login' => 'Giriş yapmak için buraya tıklayın...',
'UI:ResetPwd-Ready' => 'Şifre değiştirildi.',
'UI:ResetPwd-Login' => 'Giriş yapmak için buraya tıklayın...',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo~~',
'UI:Login:ChangeYourPassword' => 'Şifre Değiştir',
'UI:Login:OldPasswordPrompt' => 'Mevcut şifre',
'UI:Login:NewPasswordPrompt' => 'Yeni şifre',
'UI:Login:RetypeNewPasswordPrompt' => 'Yeni şifre tekrar',
'UI:Login:IncorrectOldPassword' => 'Hata: mevcut şifre hatalı',
'UI:LogOffMenu' => ıkış',
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.' Kullanıdığınız için teşekkürler',
'UI:LogOff:ClickHereToLoginAgain' => 'Tekrar bağlanmak için tıklayınız...',
'UI:ChangePwdMenu' => 'Şifre değiştir...',
'UI:Login:PasswordChanged' => 'Şifre başarıyla ayarlandı!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Yeni şifre eşlenmedi !',
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'\'a Giriş',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' erişim sınırlandırıldı. Sistem yöneticisi ile irtibata geçiniz',
'UI:Login:Error:AccessAdmin' => 'Erişim sistem yönetci hesaplaları ile mümkün. Sistem yöneticisi ile irtibata geçiniz.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo~~',
'UI:Login:ChangeYourPassword' => 'Şifre Değiştir',
'UI:Login:OldPasswordPrompt' => 'Mevcut şifre',
'UI:Login:NewPasswordPrompt' => 'Yeni şifre',
'UI:Login:RetypeNewPasswordPrompt' => 'Yeni şifre tekrar',
'UI:Login:IncorrectOldPassword' => 'Hata: mevcut şifre hatalı',
'UI:LogOffMenu' => ıkış',
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.' Kullanıdığınız için teşekkürler',
'UI:LogOff:ClickHereToLoginAgain' => 'Tekrar bağlanmak için tıklayınız...',
'UI:ChangePwdMenu' => 'Şifre değiştir...',
'UI:Login:PasswordChanged' => 'Şifre başarıyla ayarlandı!',
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
'UI:Login:RetypePwdDoesNotMatch' => 'Yeni şifre eşlenmedi !',
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'\'a Giriş',
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' erişim sınırlandırıldı. Sistem yöneticisi ile irtibata geçiniz',
'UI:Login:Error:AccessAdmin' => 'Erişim sistem yönetci hesaplaları ile mümkün. Sistem yöneticisi ile irtibata geçiniz.',
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
]);

View File

@@ -6,53 +6,53 @@
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'UI:Login:Title' => ITOP_APPLICATION_SHORT.'登录',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => '欢迎使用'.ITOP_APPLICATION_SHORT.'!',
'UI:Login:Title' => ITOP_APPLICATION_SHORT.'登录',
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
'UI:Login:Welcome' => '欢迎使用'.ITOP_APPLICATION_SHORT.'!',
'UI:Login:IncorrectLoginPassword' => '用户名或密码错误, 请重试.',
'UI:Login:IdentifyYourself' => '请完成身份认证',
'UI:Login:UserNamePrompt' => '用户名',
'UI:Login:PasswordPrompt' => '密码',
'UI:Login:ForgotPwd' => '忘记密码?',
'UI:Login:ForgotPwdForm' => '忘记密码',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.'将会给您发送一封密码重置邮件.',
'UI:Login:ResetPassword' => '立即发送!',
'UI:Login:ResetPwdFailed' => '邮件发送失败: %1$s',
'UI:Login:SeparatorOr' => '或',
'UI:Login:IdentifyYourself' => '请完成身份认证',
'UI:Login:UserNamePrompt' => '用户名',
'UI:Login:PasswordPrompt' => '密码',
'UI:Login:ForgotPwd' => '忘记密码?',
'UI:Login:ForgotPwdForm' => '忘记密码',
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.'将会给您发送一封密码重置邮件.',
'UI:Login:ResetPassword' => '立即发送!',
'UI:Login:ResetPwdFailed' => '邮件发送失败: %1$s',
'UI:Login:SeparatorOr' => '或',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' 用户名无效',
'UI:ResetPwd-Error-NotPossible' => '外部账号不允许重置密码.',
'UI:ResetPwd-Error-FixedPwd' => '此账号不允许重置密码.',
'UI:ResetPwd-Error-NoContact' => '此账号没有关联到人员.',
'UI:ResetPwd-Error-NoEmailAtt' => '此账号未关联邮箱地址,请联系管理员.',
'UI:ResetPwd-Error-NoEmail' => '缺少邮箱地址. 请联系管理员.',
'UI:ResetPwd-Error-Send' => '邮件发送存在技术原因. 请联系管理员.',
'UI:ResetPwd-EmailSent' => '请检查您的收件箱并根据指引进行操作. 如果您没有收到邮件, 请检查您登录时的输入是否存在错误.',
'UI:ResetPwd-EmailSubject' => '重置'.ITOP_APPLICATION_SHORT.'密码',
'UI:ResetPwd-EmailBody' => '<body><p>您已请求重置'.ITOP_APPLICATION_SHORT.'密码.</p><p>请点击这个链接 (一次性) <a href="%1$s">来输入新的密码</a></p>.',
'UI:ResetPwd-Title' => '重置密码',
'UI:ResetPwd-Error-InvalidToken' => '对不起, 密码已经被重置, 请检查是否收到了多封密码重置邮件. 请点击最新邮件里的链接.',
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' 用户名无效',
'UI:ResetPwd-Error-NotPossible' => '外部账号不允许重置密码.',
'UI:ResetPwd-Error-FixedPwd' => '此账号不允许重置密码.',
'UI:ResetPwd-Error-NoContact' => '此账号没有关联到人员.',
'UI:ResetPwd-Error-NoEmailAtt' => '此账号未关联邮箱地址,请联系管理员.',
'UI:ResetPwd-Error-NoEmail' => '缺少邮箱地址. 请联系管理员.',
'UI:ResetPwd-Error-Send' => '邮件发送存在技术原因. 请联系管理员.',
'UI:ResetPwd-EmailSent' => '请检查您的收件箱并根据指引进行操作. 如果您没有收到邮件, 请检查您登录时的输入是否存在错误.',
'UI:ResetPwd-EmailSubject' => '重置'.ITOP_APPLICATION_SHORT.'密码',
'UI:ResetPwd-EmailBody' => '<body><p>您已请求重置'.ITOP_APPLICATION_SHORT.'密码.</p><p>请点击这个链接 (一次性) <a href="%1$s">来输入新的密码</a></p>.',
'UI:ResetPwd-Title' => '重置密码',
'UI:ResetPwd-Error-InvalidToken' => '对不起, 密码已经被重置, 请检查是否收到了多封密码重置邮件. 请点击最新邮件里的链接.',
'UI:ResetPwd-Error-EnterPassword' => '请输入 \'%1$s\' 的新密码.',
'UI:ResetPwd-Ready' => '密码已修改成功.',
'UI:ResetPwd-Login' => '点击这里登录...',
'UI:ResetPwd-Ready' => '密码已修改成功.',
'UI:ResetPwd-Login' => '点击这里登录...',
'UI:Login:About' => ITOP_APPLICATION.'由 Combodo 创建',
'UI:Login:ChangeYourPassword' => '修改您的密码',
'UI:Login:OldPasswordPrompt' => '旧密码',
'UI:Login:NewPasswordPrompt' => '新密码',
'UI:Login:RetypeNewPasswordPrompt' => '重复新密码',
'UI:Login:IncorrectOldPassword' => '错误: 旧密码错误',
'UI:LogOffMenu' => '注销',
'UI:LogOff:ThankYou' => '感谢使用'.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => '点击这里再次登录...',
'UI:ChangePwdMenu' => '修改密码...',
'UI:Login:PasswordChanged' => '密码已成功设置!',
'UI:Login:PasswordNotChanged' => '错误!密码未改变!',
'UI:Login:RetypePwdDoesNotMatch' => '新密码输入不一致!',
'UI:Button:Login' => '登录'.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.'访问被限制. 请联系管理员.',
'UI:Login:Error:AccessAdmin' => '只有具有管理员权限的人才能访问. 请联系管理员.',
'UI:Login:Error:WrongOrganizationName' => '未知组织',
'UI:Login:About' => ITOP_APPLICATION.'由 Combodo 创建',
'UI:Login:ChangeYourPassword' => '修改您的密码',
'UI:Login:OldPasswordPrompt' => '旧密码',
'UI:Login:NewPasswordPrompt' => '新密码',
'UI:Login:RetypeNewPasswordPrompt' => '重复新密码',
'UI:Login:IncorrectOldPassword' => '错误: 旧密码错误',
'UI:LogOffMenu' => '注销',
'UI:LogOff:ThankYou' => '感谢使用'.ITOP_APPLICATION,
'UI:LogOff:ClickHereToLoginAgain' => '点击这里再次登录...',
'UI:ChangePwdMenu' => '修改密码...',
'UI:Login:PasswordChanged' => '密码已成功设置!',
'UI:Login:PasswordNotChanged' => '错误!密码未改变!',
'UI:Login:RetypePwdDoesNotMatch' => '新密码输入不一致!',
'UI:Button:Login' => '登录'.ITOP_APPLICATION_SHORT,
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.'访问被限制. 请联系管理员.',
'UI:Login:Error:AccessAdmin' => '只有具有管理员权限的人才能访问. 请联系管理员.',
'UI:Login:Error:WrongOrganizationName' => '未知组织',
'UI:Login:Error:MultipleContactsHaveSameEmail' => '多个联系人存在相同的邮箱',
'UI:Login:Error:NoValidProfiles' => '无效的资料',
]);
'UI:Login:Error:NoValidProfiles' => '无效的资料',
]);

View File

@@ -29,7 +29,6 @@ return array(
'AsyncSendEmail' => $baseDir . '/core/asynctask.class.inc.php',
'AsyncSendNewsroom' => $baseDir . '/core/asynctask.class.inc.php',
'AsyncTask' => $baseDir . '/core/asynctask.class.inc.php',
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'AttributeApplicationLanguage' => $baseDir . '/core/attributedef.class.inc.php',
'AttributeArchiveDate' => $baseDir . '/core/attributedef.class.inc.php',
'AttributeArchiveFlag' => $baseDir . '/core/attributedef.class.inc.php',
@@ -745,6 +744,8 @@ return array(
'Firebase\\JWT\\JWTExceptionWithPayloadInterface' => $vendorDir . '/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php',
'Firebase\\JWT\\Key' => $vendorDir . '/firebase/php-jwt/src/Key.php',
'Firebase\\JWT\\SignatureInvalidException' => $vendorDir . '/firebase/php-jwt/src/SignatureInvalidException.php',
'ForgotPasswordApplicationException' => $baseDir . '/application/exceptions/ForgotPasswordApplicationException.php',
'ForgotPasswordUserInputException' => $baseDir . '/application/exceptions/ForgotPasswordUserInputException.php',
'FunctionExpression' => $baseDir . '/core/oql/expression.class.inc.php',
'FunctionOqlExpression' => $baseDir . '/core/oql/oqlquery.class.inc.php',
'GraphEdge' => $baseDir . '/core/simplegraph.class.inc.php',
@@ -1222,7 +1223,6 @@ return array(
'PhpParser\\Parser\\Tokens' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Tokens.php',
'PhpParser\\PrettyPrinterAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php',
'PhpParser\\PrettyPrinter\\Standard' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php',
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'PluginInstanciationManager' => $baseDir . '/core/plugininstanciationmanager.class.inc.php',
'PluginManager' => $baseDir . '/core/pluginmanager.class.inc.php',
'PortalDispatcher' => $baseDir . '/application/portaldispatcher.class.inc.php',
@@ -1420,7 +1420,6 @@ return array(
'StimulusInternal' => $baseDir . '/core/stimulus.class.inc.php',
'StimulusUserAction' => $baseDir . '/core/stimulus.class.inc.php',
'Str' => $baseDir . '/core/MyHelpers.class.inc.php',
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symfony\\Bridge\\Twig\\AppVariable' => $vendorDir . '/symfony/twig-bridge/AppVariable.php',
'Symfony\\Bridge\\Twig\\Attribute\\Template' => $vendorDir . '/symfony/twig-bridge/Attribute/Template.php',
'Symfony\\Bridge\\Twig\\Command\\DebugCommand' => $vendorDir . '/symfony/twig-bridge/Command/DebugCommand.php',
@@ -1662,19 +1661,6 @@ return array(
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\Cache\\Traits\\RelayProxy' => $vendorDir . '/symfony/cache/Traits/RelayProxy.php',
'Symfony\\Component\\Cache\\Traits\\RelayProxyTrait' => $vendorDir . '/symfony/cache/Traits/RelayProxyTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\BgsaveTrait' => $vendorDir . '/symfony/cache/Traits/Relay/BgsaveTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\CopyTrait' => $vendorDir . '/symfony/cache/Traits/Relay/CopyTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\FtTrait' => $vendorDir . '/symfony/cache/Traits/Relay/FtTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GeosearchTrait' => $vendorDir . '/symfony/cache/Traits/Relay/GeosearchTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GetWithMetaTrait' => $vendorDir . '/symfony/cache/Traits/Relay/GetWithMetaTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GetrangeTrait' => $vendorDir . '/symfony/cache/Traits/Relay/GetrangeTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\HsetTrait' => $vendorDir . '/symfony/cache/Traits/Relay/HsetTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\IsTrackedTrait' => $vendorDir . '/symfony/cache/Traits/Relay/IsTrackedTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\MoveTrait' => $vendorDir . '/symfony/cache/Traits/Relay/MoveTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\NullableReturnTrait' => $vendorDir . '/symfony/cache/Traits/Relay/NullableReturnTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\PfcountTrait' => $vendorDir . '/symfony/cache/Traits/Relay/PfcountTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\Relay11Trait' => $vendorDir . '/symfony/cache/Traits/Relay/Relay11Trait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\SwapdbTrait' => $vendorDir . '/symfony/cache/Traits/Relay/SwapdbTrait.php',
'Symfony\\Component\\Config\\Builder\\ClassBuilder' => $vendorDir . '/symfony/config/Builder/ClassBuilder.php',
'Symfony\\Component\\Config\\Builder\\ConfigBuilderGenerator' => $vendorDir . '/symfony/config/Builder/ConfigBuilderGenerator.php',
'Symfony\\Component\\Config\\Builder\\ConfigBuilderGeneratorInterface' => $vendorDir . '/symfony/config/Builder/ConfigBuilderGeneratorInterface.php',
@@ -2794,8 +2780,6 @@ return array(
'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\Regex' => $vendorDir . '/symfony/polyfill-intl-idn/Resources/unidata/Regex.php',
'Symfony\\Polyfill\\Intl\\Normalizer\\Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Normalizer.php',
'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
'Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php',
'Symfony\\Polyfill\\Php80\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/PhpToken.php',
'Symfony\\Polyfill\\Php83\\Php83' => $vendorDir . '/symfony/polyfill-php83/Php83.php',
'Symfony\\Runtime\\Symfony\\Component\\Console\\ApplicationRuntime' => $vendorDir . '/symfony/runtime/Internal/Console/ApplicationRuntime.php',
'Symfony\\Runtime\\Symfony\\Component\\Console\\Command\\CommandRuntime' => $vendorDir . '/symfony/runtime/Internal/Console/Command/CommandRuntime.php',
@@ -3102,7 +3086,6 @@ return array(
'URLButtonItem' => $baseDir . '/application/applicationextension.inc.php',
'URLPopupMenuItem' => $baseDir . '/application/applicationextension.inc.php',
'UnaryExpression' => $baseDir . '/core/oql/expression.class.inc.php',
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'UnknownClassOqlException' => $baseDir . '/core/oql/oqlinterpreter.class.inc.php',
'User' => $baseDir . '/core/userrights.class.inc.php',
'UserDashboard' => $baseDir . '/application/user.dashboard.class.inc.php',
@@ -3110,7 +3093,6 @@ return array(
'UserRightException' => $baseDir . '/application/exceptions/UserRightException.php',
'UserRights' => $baseDir . '/core/userrights.class.inc.php',
'UserRightsAddOnAPI' => $baseDir . '/core/userrights.class.inc.php',
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
'ValueSetDefinition' => $baseDir . '/core/valuesetdef.class.inc.php',
'ValueSetEnum' => $baseDir . '/core/valuesetdef.class.inc.php',
'ValueSetEnumClasses' => $baseDir . '/core/valuesetdef.class.inc.php',

View File

@@ -9,7 +9,6 @@ return array(
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
'662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',

View File

@@ -10,7 +10,6 @@ return array(
'TheNetworg\\OAuth2\\Client\\' => array($vendorDir . '/thenetworg/oauth2-azure/src'),
'Symfony\\Runtime\\Symfony\\Component\\' => array($vendorDir . '/symfony/runtime/Internal'),
'Symfony\\Polyfill\\Php83\\' => array($vendorDir . '/symfony/polyfill-php83'),
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),

View File

@@ -10,7 +10,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
'662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
@@ -28,16 +27,15 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
);
public static $prefixLengthsPsr4 = array (
'T' =>
'T' =>
array (
'Twig\\' => 5,
'TheNetworg\\OAuth2\\Client\\' => 25,
),
'S' =>
'S' =>
array (
'Symfony\\Runtime\\Symfony\\Component\\' => 34,
'Symfony\\Polyfill\\Php83\\' => 23,
'Symfony\\Polyfill\\Php80\\' => 23,
'Symfony\\Polyfill\\Mbstring\\' => 26,
'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
'Symfony\\Polyfill\\Intl\\Idn\\' => 26,
@@ -77,7 +75,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'ScssPhp\\ScssPhp\\' => 16,
'Sabberworm\\CSS\\' => 15,
),
'P' =>
'P' =>
array (
'Psr\\Log\\' => 8,
'Psr\\Http\\Message\\' => 17,
@@ -88,278 +86,274 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'PhpParser\\' => 10,
'Pelago\\Emogrifier\\' => 18,
),
'L' =>
'L' =>
array (
'League\\OAuth2\\Client\\' => 21,
),
'G' =>
'G' =>
array (
'GuzzleHttp\\Psr7\\' => 16,
'GuzzleHttp\\Promise\\' => 19,
'GuzzleHttp\\' => 11,
),
'F' =>
'F' =>
array (
'Firebase\\JWT\\' => 13,
),
'E' =>
'E' =>
array (
'Egulias\\EmailValidator\\' => 23,
),
'D' =>
'D' =>
array (
'Doctrine\\Common\\Lexer\\' => 22,
),
);
public static $prefixDirsPsr4 = array (
'Twig\\' =>
'Twig\\' =>
array (
0 => __DIR__ . '/..' . '/twig/twig/src',
),
'TheNetworg\\OAuth2\\Client\\' =>
'TheNetworg\\OAuth2\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/thenetworg/oauth2-azure/src',
),
'Symfony\\Runtime\\Symfony\\Component\\' =>
'Symfony\\Runtime\\Symfony\\Component\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/runtime/Internal',
),
'Symfony\\Polyfill\\Php83\\' =>
'Symfony\\Polyfill\\Php83\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php83',
),
'Symfony\\Polyfill\\Php80\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
),
'Symfony\\Polyfill\\Mbstring\\' =>
'Symfony\\Polyfill\\Mbstring\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
),
'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer',
),
'Symfony\\Polyfill\\Intl\\Idn\\' =>
'Symfony\\Polyfill\\Intl\\Idn\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn',
),
'Symfony\\Polyfill\\Intl\\Grapheme\\' =>
'Symfony\\Polyfill\\Intl\\Grapheme\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme',
),
'Symfony\\Polyfill\\Ctype\\' =>
'Symfony\\Polyfill\\Ctype\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
),
'Symfony\\Contracts\\Translation\\' =>
'Symfony\\Contracts\\Translation\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/translation-contracts',
),
'Symfony\\Contracts\\Service\\' =>
'Symfony\\Contracts\\Service\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/service-contracts',
),
'Symfony\\Contracts\\EventDispatcher\\' =>
'Symfony\\Contracts\\EventDispatcher\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts',
),
'Symfony\\Contracts\\Cache\\' =>
'Symfony\\Contracts\\Cache\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/cache-contracts',
),
'Symfony\\Component\\Yaml\\' =>
'Symfony\\Component\\Yaml\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/yaml',
),
'Symfony\\Component\\VarExporter\\' =>
'Symfony\\Component\\VarExporter\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-exporter',
),
'Symfony\\Component\\VarDumper\\' =>
'Symfony\\Component\\VarDumper\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-dumper',
),
'Symfony\\Component\\String\\' =>
'Symfony\\Component\\String\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/string',
),
'Symfony\\Component\\Stopwatch\\' =>
'Symfony\\Component\\Stopwatch\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/stopwatch',
),
'Symfony\\Component\\Runtime\\' =>
'Symfony\\Component\\Runtime\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/runtime',
),
'Symfony\\Component\\Routing\\' =>
'Symfony\\Component\\Routing\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/routing',
),
'Symfony\\Component\\Mime\\' =>
'Symfony\\Component\\Mime\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/mime',
),
'Symfony\\Component\\Mailer\\' =>
'Symfony\\Component\\Mailer\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/mailer',
),
'Symfony\\Component\\HttpKernel\\' =>
'Symfony\\Component\\HttpKernel\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/http-kernel',
),
'Symfony\\Component\\HttpFoundation\\' =>
'Symfony\\Component\\HttpFoundation\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/http-foundation',
),
'Symfony\\Component\\Finder\\' =>
'Symfony\\Component\\Finder\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/finder',
),
'Symfony\\Component\\Filesystem\\' =>
'Symfony\\Component\\Filesystem\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/filesystem',
),
'Symfony\\Component\\EventDispatcher\\' =>
'Symfony\\Component\\EventDispatcher\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
),
'Symfony\\Component\\ErrorHandler\\' =>
'Symfony\\Component\\ErrorHandler\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/error-handler',
),
'Symfony\\Component\\Dotenv\\' =>
'Symfony\\Component\\Dotenv\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/dotenv',
),
'Symfony\\Component\\DependencyInjection\\' =>
'Symfony\\Component\\DependencyInjection\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/dependency-injection',
),
'Symfony\\Component\\CssSelector\\' =>
'Symfony\\Component\\CssSelector\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/css-selector',
),
'Symfony\\Component\\Console\\' =>
'Symfony\\Component\\Console\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/console',
),
'Symfony\\Component\\Config\\' =>
'Symfony\\Component\\Config\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/config',
),
'Symfony\\Component\\Cache\\' =>
'Symfony\\Component\\Cache\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/cache',
),
'Symfony\\Bundle\\WebProfilerBundle\\' =>
'Symfony\\Bundle\\WebProfilerBundle\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/web-profiler-bundle',
),
'Symfony\\Bundle\\TwigBundle\\' =>
'Symfony\\Bundle\\TwigBundle\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/twig-bundle',
),
'Symfony\\Bundle\\FrameworkBundle\\' =>
'Symfony\\Bundle\\FrameworkBundle\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/framework-bundle',
),
'Symfony\\Bundle\\DebugBundle\\' =>
'Symfony\\Bundle\\DebugBundle\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/debug-bundle',
),
'Symfony\\Bridge\\Twig\\' =>
'Symfony\\Bridge\\Twig\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/twig-bridge',
),
'Soundasleep\\' =>
'Soundasleep\\' =>
array (
0 => __DIR__ . '/..' . '/soundasleep/html2text/src',
),
'ScssPhp\\ScssPhp\\' =>
'ScssPhp\\ScssPhp\\' =>
array (
0 => __DIR__ . '/..' . '/scssphp/scssphp/src',
),
'Sabberworm\\CSS\\' =>
'Sabberworm\\CSS\\' =>
array (
0 => __DIR__ . '/..' . '/sabberworm/php-css-parser/src',
),
'Psr\\Log\\' =>
'Psr\\Log\\' =>
array (
0 => __DIR__ . '/..' . '/psr/log/src',
),
'Psr\\Http\\Message\\' =>
'Psr\\Http\\Message\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-factory/src',
1 => __DIR__ . '/..' . '/psr/http-message/src',
),
'Psr\\Http\\Client\\' =>
'Psr\\Http\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-client/src',
),
'Psr\\EventDispatcher\\' =>
'Psr\\EventDispatcher\\' =>
array (
0 => __DIR__ . '/..' . '/psr/event-dispatcher/src',
),
'Psr\\Container\\' =>
'Psr\\Container\\' =>
array (
0 => __DIR__ . '/..' . '/psr/container/src',
),
'Psr\\Cache\\' =>
'Psr\\Cache\\' =>
array (
0 => __DIR__ . '/..' . '/psr/cache/src',
),
'PhpParser\\' =>
'PhpParser\\' =>
array (
0 => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser',
),
'Pelago\\Emogrifier\\' =>
'Pelago\\Emogrifier\\' =>
array (
0 => __DIR__ . '/..' . '/pelago/emogrifier/src',
),
'League\\OAuth2\\Client\\' =>
'League\\OAuth2\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/league/oauth2-google/src',
1 => __DIR__ . '/..' . '/league/oauth2-client/src',
),
'GuzzleHttp\\Psr7\\' =>
'GuzzleHttp\\Psr7\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
),
'GuzzleHttp\\Promise\\' =>
'GuzzleHttp\\Promise\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
),
'GuzzleHttp\\' =>
'GuzzleHttp\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
),
'Firebase\\JWT\\' =>
'Firebase\\JWT\\' =>
array (
0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
),
'Egulias\\EmailValidator\\' =>
'Egulias\\EmailValidator\\' =>
array (
0 => __DIR__ . '/..' . '/egulias/email-validator/src',
),
'Doctrine\\Common\\Lexer\\' =>
'Doctrine\\Common\\Lexer\\' =>
array (
0 => __DIR__ . '/..' . '/doctrine/lexer/src',
),
);
public static $prefixesPsr0 = array (
'C' =>
'C' =>
array (
'Console' =>
'Console' =>
array (
0 => __DIR__ . '/..' . '/pear/console_getopt',
),
),
'A' =>
'A' =>
array (
'Archive_Tar' =>
'Archive_Tar' =>
array (
0 => __DIR__ . '/..' . '/pear/archive_tar',
),
@@ -394,7 +388,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'AsyncSendEmail' => __DIR__ . '/../..' . '/core/asynctask.class.inc.php',
'AsyncSendNewsroom' => __DIR__ . '/../..' . '/core/asynctask.class.inc.php',
'AsyncTask' => __DIR__ . '/../..' . '/core/asynctask.class.inc.php',
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'AttributeApplicationLanguage' => __DIR__ . '/../..' . '/core/attributedef.class.inc.php',
'AttributeArchiveDate' => __DIR__ . '/../..' . '/core/attributedef.class.inc.php',
'AttributeArchiveFlag' => __DIR__ . '/../..' . '/core/attributedef.class.inc.php',
@@ -1110,6 +1103,8 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'Firebase\\JWT\\JWTExceptionWithPayloadInterface' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php',
'Firebase\\JWT\\Key' => __DIR__ . '/..' . '/firebase/php-jwt/src/Key.php',
'Firebase\\JWT\\SignatureInvalidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/SignatureInvalidException.php',
'ForgotPasswordApplicationException' => __DIR__ . '/../..' . '/application/exceptions/ForgotPasswordApplicationException.php',
'ForgotPasswordUserInputException' => __DIR__ . '/../..' . '/application/exceptions/ForgotPasswordUserInputException.php',
'FunctionExpression' => __DIR__ . '/../..' . '/core/oql/expression.class.inc.php',
'FunctionOqlExpression' => __DIR__ . '/../..' . '/core/oql/oqlquery.class.inc.php',
'GraphEdge' => __DIR__ . '/../..' . '/core/simplegraph.class.inc.php',
@@ -1587,7 +1582,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'PhpParser\\Parser\\Tokens' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Tokens.php',
'PhpParser\\PrettyPrinterAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php',
'PhpParser\\PrettyPrinter\\Standard' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php',
'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'PluginInstanciationManager' => __DIR__ . '/../..' . '/core/plugininstanciationmanager.class.inc.php',
'PluginManager' => __DIR__ . '/../..' . '/core/pluginmanager.class.inc.php',
'PortalDispatcher' => __DIR__ . '/../..' . '/application/portaldispatcher.class.inc.php',
@@ -1785,7 +1779,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'StimulusInternal' => __DIR__ . '/../..' . '/core/stimulus.class.inc.php',
'StimulusUserAction' => __DIR__ . '/../..' . '/core/stimulus.class.inc.php',
'Str' => __DIR__ . '/../..' . '/core/MyHelpers.class.inc.php',
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symfony\\Bridge\\Twig\\AppVariable' => __DIR__ . '/..' . '/symfony/twig-bridge/AppVariable.php',
'Symfony\\Bridge\\Twig\\Attribute\\Template' => __DIR__ . '/..' . '/symfony/twig-bridge/Attribute/Template.php',
'Symfony\\Bridge\\Twig\\Command\\DebugCommand' => __DIR__ . '/..' . '/symfony/twig-bridge/Command/DebugCommand.php',
@@ -2027,19 +2020,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\Cache\\Traits\\RelayProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RelayProxy.php',
'Symfony\\Component\\Cache\\Traits\\RelayProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RelayProxyTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\BgsaveTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/BgsaveTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\CopyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/CopyTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\FtTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/FtTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GeosearchTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/GeosearchTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GetWithMetaTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/GetWithMetaTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\GetrangeTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/GetrangeTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\HsetTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/HsetTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\IsTrackedTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/IsTrackedTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\MoveTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/MoveTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\NullableReturnTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/NullableReturnTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\PfcountTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/PfcountTrait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\Relay11Trait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/Relay11Trait.php',
'Symfony\\Component\\Cache\\Traits\\Relay\\SwapdbTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/Relay/SwapdbTrait.php',
'Symfony\\Component\\Config\\Builder\\ClassBuilder' => __DIR__ . '/..' . '/symfony/config/Builder/ClassBuilder.php',
'Symfony\\Component\\Config\\Builder\\ConfigBuilderGenerator' => __DIR__ . '/..' . '/symfony/config/Builder/ConfigBuilderGenerator.php',
'Symfony\\Component\\Config\\Builder\\ConfigBuilderGeneratorInterface' => __DIR__ . '/..' . '/symfony/config/Builder/ConfigBuilderGeneratorInterface.php',
@@ -3159,8 +3139,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\Regex' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Resources/unidata/Regex.php',
'Symfony\\Polyfill\\Intl\\Normalizer\\Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Normalizer.php',
'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
'Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php',
'Symfony\\Polyfill\\Php80\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/PhpToken.php',
'Symfony\\Polyfill\\Php83\\Php83' => __DIR__ . '/..' . '/symfony/polyfill-php83/Php83.php',
'Symfony\\Runtime\\Symfony\\Component\\Console\\ApplicationRuntime' => __DIR__ . '/..' . '/symfony/runtime/Internal/Console/ApplicationRuntime.php',
'Symfony\\Runtime\\Symfony\\Component\\Console\\Command\\CommandRuntime' => __DIR__ . '/..' . '/symfony/runtime/Internal/Console/Command/CommandRuntime.php',
@@ -3467,7 +3445,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'URLButtonItem' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
'URLPopupMenuItem' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
'UnaryExpression' => __DIR__ . '/../..' . '/core/oql/expression.class.inc.php',
'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'UnknownClassOqlException' => __DIR__ . '/../..' . '/core/oql/oqlinterpreter.class.inc.php',
'User' => __DIR__ . '/../..' . '/core/userrights.class.inc.php',
'UserDashboard' => __DIR__ . '/../..' . '/application/user.dashboard.class.inc.php',
@@ -3475,7 +3452,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
'UserRightException' => __DIR__ . '/../..' . '/application/exceptions/UserRightException.php',
'UserRights' => __DIR__ . '/../..' . '/core/userrights.class.inc.php',
'UserRightsAddOnAPI' => __DIR__ . '/../..' . '/core/userrights.class.inc.php',
'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
'ValueSetDefinition' => __DIR__ . '/../..' . '/core/valuesetdef.class.inc.php',
'ValueSetEnum' => __DIR__ . '/../..' . '/core/valuesetdef.class.inc.php',
'ValueSetEnumClasses' => __DIR__ . '/../..' . '/core/valuesetdef.class.inc.php',

View File

@@ -1252,24 +1252,29 @@
},
{
"name": "psr/container",
"version": "1.1.2",
"version_normalized": "1.1.2.0",
"version": "2.0.2",
"version_normalized": "2.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"time": "2021-11-05T16:50:12+00:00",
"time": "2021-11-05T16:47:00+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
@@ -1297,7 +1302,7 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.2"
"source": "https://github.com/php-fig/container/tree/2.0.2"
},
"install-path": "../psr/container"
},
@@ -1525,23 +1530,23 @@
},
{
"name": "psr/log",
"version": "3.0.0",
"version_normalized": "3.0.0.0",
"version": "3.0.2",
"version_normalized": "3.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
"php": ">=8.0.0"
},
"time": "2021-07-14T16:46:02+00:00",
"time": "2024-09-11T13:17:53+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1572,7 +1577,7 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
"source": "https://github.com/php-fig/log/tree/3.0.2"
},
"install-path": "../psr/log"
},
@@ -1822,17 +1827,17 @@
},
{
"name": "symfony/cache",
"version": "v6.4.2",
"version_normalized": "6.4.2.0",
"version": "v6.4.12",
"version_normalized": "6.4.12.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978"
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978",
"reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978",
"url": "https://api.github.com/repos/symfony/cache/zipball/a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
"shasum": ""
},
"require": {
@@ -1866,7 +1871,7 @@
"symfony/messenger": "^5.4|^6.0|^7.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"time": "2023-12-29T15:34:34+00:00",
"time": "2024-09-16T16:01:33+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -1901,7 +1906,7 @@
"psr6"
],
"support": {
"source": "https://github.com/symfony/cache/tree/v6.4.2"
"source": "https://github.com/symfony/cache/tree/v6.4.12"
},
"funding": [
{
@@ -1921,32 +1926,32 @@
},
{
"name": "symfony/cache-contracts",
"version": "v3.4.0",
"version_normalized": "3.4.0.0",
"version": "v3.6.0",
"version_normalized": "3.6.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
"reference": "1d74b127da04ffa87aa940abe15446fa89653778"
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778",
"reference": "1d74b127da04ffa87aa940abe15446fa89653778",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868",
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/cache": "^3.0"
},
"time": "2023-09-25T12:52:38+00:00",
"time": "2025-03-13T15:25:07+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.6-dev"
}
},
"installation-source": "dist",
@@ -1980,7 +1985,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/cache-contracts/tree/v3.4.0"
"source": "https://github.com/symfony/cache-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -3079,17 +3084,17 @@
},
{
"name": "symfony/http-foundation",
"version": "v6.4.14",
"version_normalized": "6.4.14.0",
"version": "v6.4.29",
"version_normalized": "6.4.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388"
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ba020a321a95519303a3f09ec2824d34d601c388",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88",
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88",
"shasum": ""
},
"require": {
@@ -3099,19 +3104,19 @@
"symfony/polyfill-php83": "^1.27"
},
"conflict": {
"symfony/cache": "<6.3"
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0",
"symfony/cache": "^6.3|^7.0",
"symfony/cache": "^6.4.12|^7.1.5",
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
"symfony/expression-language": "^5.4|^6.0|^7.0",
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
"symfony/mime": "^5.4|^6.0|^7.0",
"symfony/rate-limiter": "^5.4|^6.0|^7.0"
},
"time": "2024-11-05T16:39:55+00:00",
"time": "2025-11-08T16:40:12+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -3139,7 +3144,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.4.14"
"source": "https://github.com/symfony/http-foundation/tree/v6.4.29"
},
"funding": [
{
@@ -3150,6 +3155,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -3888,24 +3897,24 @@
"install-path": "../symfony/polyfill-mbstring"
},
{
"name": "symfony/polyfill-php80",
"name": "symfony/polyfill-php83",
"version": "v1.33.0",
"version_normalized": "1.33.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"time": "2025-01-02T08:10:11+00:00",
"time": "2025-07-08T02:45:35+00:00",
"type": "library",
"extra": {
"thanks": {
@@ -3914,97 +3923,6 @@
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-php80"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.28.0",
"version_normalized": "1.28.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"shasum": ""
},
"require": {
"php": ">=7.1",
"symfony/polyfill-php80": "^1.14"
},
"time": "2023-08-16T06:22:46+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
@@ -4039,7 +3957,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0"
"source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
},
"funding": [
{
@@ -4050,6 +3968,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -4231,17 +4153,17 @@
},
{
"name": "symfony/service-contracts",
"version": "v3.6.0",
"version_normalized": "3.6.0.0",
"version": "v3.6.1",
"version_normalized": "3.6.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -4252,7 +4174,7 @@
"conflict": {
"ext-psr": "<1.1|>=2"
},
"time": "2025-04-25T09:37:31+00:00",
"time": "2025-07-15T11:30:57+00:00",
"type": "library",
"extra": {
"thanks": {
@@ -4297,7 +4219,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -4308,6 +4230,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -4839,17 +4765,17 @@
},
{
"name": "symfony/var-exporter",
"version": "v6.4.2",
"version_normalized": "6.4.2.0",
"version": "v6.4.26",
"version_normalized": "6.4.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e"
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/5fe9a0021b8d35e67d914716ec8de50716a68e7e",
"reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/466fcac5fa2e871f83d31173f80e9c2684743bfc",
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc",
"shasum": ""
},
"require": {
@@ -4857,9 +4783,11 @@
"symfony/deprecation-contracts": "^2.5|^3"
},
"require-dev": {
"symfony/property-access": "^6.4|^7.0",
"symfony/serializer": "^6.4|^7.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"time": "2023-12-27T08:18:35+00:00",
"time": "2025-09-11T09:57:09+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -4897,7 +4825,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v6.4.2"
"source": "https://github.com/symfony/var-exporter/tree/v6.4.26"
},
"funding": [
{
@@ -4908,6 +4836,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"

View File

@@ -3,7 +3,7 @@
'name' => 'combodo/itop',
'pretty_version' => 'dev-develop',
'version' => 'dev-develop',
'reference' => 'c88ba664db4ec5622838a0ee00768e3bc3381d4e',
'reference' => 'd5706fcbef58868cb8bd6ee6f3af133ca4fdab3e',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -22,7 +22,7 @@
'combodo/itop' => array(
'pretty_version' => 'dev-develop',
'version' => 'dev-develop',
'reference' => 'c88ba664db4ec5622838a0ee00768e3bc3381d4e',
'reference' => 'd5706fcbef58868cb8bd6ee6f3af133ca4fdab3e',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -179,9 +179,9 @@
),
),
'psr/container' => array(
'pretty_version' => '1.1.2',
'version' => '1.1.2.0',
'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
'pretty_version' => '2.0.2',
'version' => '2.0.2.0',
'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/container',
'aliases' => array(),
@@ -254,9 +254,9 @@
),
),
'psr/log' => array(
'pretty_version' => '3.0.0',
'version' => '3.0.0.0',
'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001',
'pretty_version' => '3.0.2',
'version' => '3.0.2.0',
'reference' => 'f16e1d5863e37f8d8c2a01719f5b34baa2b714d3',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/log',
'aliases' => array(),
@@ -317,18 +317,18 @@
'dev_requirement' => false,
),
'symfony/cache' => array(
'pretty_version' => 'v6.4.2',
'version' => '6.4.2.0',
'reference' => '14a75869bbb41cb35bc5d9d322473928c6f3f978',
'pretty_version' => 'v6.4.12',
'version' => '6.4.12.0',
'reference' => 'a463451b7f6ac4a47b98dbfc78ec2d3560c759d8',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/cache',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/cache-contracts' => array(
'pretty_version' => 'v3.4.0',
'version' => '3.4.0.0',
'reference' => '1d74b127da04ffa87aa940abe15446fa89653778',
'pretty_version' => 'v3.6.0',
'version' => '3.6.0.0',
'reference' => '5d68a57d66910405e5c0b63d6f0af941e66fc868',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/cache-contracts',
'aliases' => array(),
@@ -464,9 +464,9 @@
'dev_requirement' => false,
),
'symfony/http-foundation' => array(
'pretty_version' => 'v6.4.14',
'version' => '6.4.14.0',
'reference' => 'ba020a321a95519303a3f09ec2824d34d601c388',
'pretty_version' => 'v6.4.29',
'version' => '6.4.29.0',
'reference' => 'b03d11e015552a315714c127d8d1e0f9e970ec88',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/http-foundation',
'aliases' => array(),
@@ -544,19 +544,10 @@
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php80' => array(
'symfony/polyfill-php83' => array(
'pretty_version' => 'v1.33.0',
'version' => '1.33.0.0',
'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php83' => array(
'pretty_version' => 'v1.28.0',
'version' => '1.28.0.0',
'reference' => 'b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11',
'reference' => '17f6f9a6b1735c0f163024d959f700cfbc5155e5',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php83',
'aliases' => array(),
@@ -581,9 +572,9 @@
'dev_requirement' => false,
),
'symfony/service-contracts' => array(
'pretty_version' => 'v3.6.0',
'version' => '3.6.0.0',
'reference' => 'f021b05a130d35510bd6b25fe9053c2a8a15d5d4',
'pretty_version' => 'v3.6.1',
'version' => '3.6.1.0',
'reference' => '45112560a3ba2d715666a509a0bc9521d10b6c43',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/service-contracts',
'aliases' => array(),
@@ -650,9 +641,9 @@
'dev_requirement' => false,
),
'symfony/var-exporter' => array(
'pretty_version' => 'v6.4.2',
'version' => '6.4.2.0',
'reference' => '5fe9a0021b8d35e67d914716ec8de50716a68e7e',
'pretty_version' => 'v6.4.26',
'version' => '6.4.26.0',
'reference' => '466fcac5fa2e871f83d31173f80e9c2684743bfc',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/var-exporter',
'aliases' => array(),

View File

@@ -18,5 +18,10 @@
"psr-4": {
"Psr\\Container\\": "src/"
}
},
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
}
}

View File

@@ -32,5 +32,5 @@ interface ContainerInterface
*
* @return bool
*/
public function has(string $id);
public function has(string $id): bool;
}

View File

@@ -9,10 +9,6 @@ interface LoggerAwareInterface
{
/**
* Sets a logger instance on the object.
*
* @param LoggerInterface $logger
*
* @return void
*/
public function setLogger(LoggerInterface $logger): void;
}

View File

@@ -9,15 +9,11 @@ trait LoggerAwareTrait
{
/**
* The logger instance.
*
* @var LoggerInterface|null
*/
protected ?LoggerInterface $logger = null;
/**
* Sets a logger.
*
* @param LoggerInterface $logger
*/
public function setLogger(LoggerInterface $logger): void
{

View File

@@ -22,10 +22,7 @@ interface LoggerInterface
/**
* System is unusable.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function emergency(string|\Stringable $message, array $context = []): void;
@@ -35,10 +32,7 @@ interface LoggerInterface
* Example: Entire website down, database unavailable, etc. This should
* trigger the SMS alerts and wake you up.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function alert(string|\Stringable $message, array $context = []): void;
@@ -47,10 +41,7 @@ interface LoggerInterface
*
* Example: Application component unavailable, unexpected exception.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function critical(string|\Stringable $message, array $context = []): void;
@@ -58,10 +49,7 @@ interface LoggerInterface
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function error(string|\Stringable $message, array $context = []): void;
@@ -71,20 +59,14 @@ interface LoggerInterface
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function warning(string|\Stringable $message, array $context = []): void;
/**
* Normal but significant events.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function notice(string|\Stringable $message, array $context = []): void;
@@ -93,32 +75,23 @@ interface LoggerInterface
*
* Example: User logs in, SQL logs.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function info(string|\Stringable $message, array $context = []): void;
/**
* Detailed debug information.
*
* @param string|\Stringable $message
* @param mixed[] $context
*
* @return void
*/
public function debug(string|\Stringable $message, array $context = []): void;
/**
* Logs with an arbitrary level.
*
* @param mixed $level
* @param string|\Stringable $message
* @param mixed $level
* @param mixed[] $context
*
* @return void
*
* @throws \Psr\Log\InvalidArgumentException
*/
public function log($level, string|\Stringable $message, array $context = []): void;

View File

@@ -14,11 +14,6 @@ trait LoggerTrait
{
/**
* System is unusable.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function emergency(string|\Stringable $message, array $context = []): void
{
@@ -30,11 +25,6 @@ trait LoggerTrait
*
* Example: Entire website down, database unavailable, etc. This should
* trigger the SMS alerts and wake you up.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function alert(string|\Stringable $message, array $context = []): void
{
@@ -45,11 +35,6 @@ trait LoggerTrait
* Critical conditions.
*
* Example: Application component unavailable, unexpected exception.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function critical(string|\Stringable $message, array $context = []): void
{
@@ -59,11 +44,6 @@ trait LoggerTrait
/**
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function error(string|\Stringable $message, array $context = []): void
{
@@ -75,11 +55,6 @@ trait LoggerTrait
*
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function warning(string|\Stringable $message, array $context = []): void
{
@@ -88,11 +63,6 @@ trait LoggerTrait
/**
* Normal but significant events.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function notice(string|\Stringable $message, array $context = []): void
{
@@ -103,11 +73,6 @@ trait LoggerTrait
* Interesting events.
*
* Example: User logs in, SQL logs.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function info(string|\Stringable $message, array $context = []): void
{
@@ -116,11 +81,6 @@ trait LoggerTrait
/**
* Detailed debug information.
*
* @param string|\Stringable $message
* @param array $context
*
* @return void
*/
public function debug(string|\Stringable $message, array $context = []): void
{
@@ -130,11 +90,7 @@ trait LoggerTrait
/**
* Logs with an arbitrary level.
*
* @param mixed $level
* @param string|\Stringable $message
* @param array $context
*
* @return void
* @param mixed $level
*
* @throws \Psr\Log\InvalidArgumentException
*/

View File

@@ -15,11 +15,7 @@ class NullLogger extends AbstractLogger
/**
* Logs with an arbitrary level.
*
* @param mixed $level
* @param string|\Stringable $message
* @param array $context
*
* @return void
* @param mixed[] $context
*
* @throws \Psr\Log\InvalidArgumentException
*/

View File

@@ -44,7 +44,7 @@ interface CacheInterface
*
* @throws InvalidArgumentException When $key is not valid or when $beta is negative
*/
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed;
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed;
/**
* Removes an item from the pool.

View File

@@ -25,7 +25,7 @@ class_exists(InvalidArgumentException::class);
*/
trait CacheTrait
{
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
return $this->doGet($this, $key, $callback, $beta, $metadata);
}
@@ -35,10 +35,10 @@ trait CacheTrait
return $this->deleteItem($key);
}
private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null, LoggerInterface $logger = null): mixed
private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null, ?LoggerInterface $logger = null): mixed
{
if (0 > $beta ??= 1.0) {
throw new class(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta)) extends \InvalidArgumentException implements InvalidArgumentException {};
throw new class(\sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta)) extends \InvalidArgumentException implements InvalidArgumentException {};
}
$item = $pool->getItem($key);
@@ -54,7 +54,7 @@ trait CacheTrait
$item->expiresAt(null);
$logger?->info('Item "{key}" elected for early recomputation {delta}s before its expiration', [
'key' => $key,
'delta' => sprintf('%.1f', $expiry - $now),
'delta' => \sprintf('%.1f', $expiry - $now),
]);
}
}

View File

@@ -25,7 +25,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
"dev-main": "3.6-dev"
},
"thanks": {
"name": "symfony/contracts",

View File

@@ -86,7 +86,7 @@ abstract class AbstractAdapter implements AdapterInterface, CacheInterface, Logg
*
* Using ApcuAdapter makes system caches compatible with read-only filesystems.
*/
public static function createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null): AdapterInterface
public static function createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, ?LoggerInterface $logger = null): AdapterInterface
{
$opcache = new PhpFilesAdapter($namespace, $defaultLifetime, $directory, true);
if (null !== $logger) {

View File

@@ -25,7 +25,7 @@ class ApcuAdapter extends AbstractAdapter
/**
* @throws CacheException if APCu is not enabled
*/
public function __construct(string $namespace = '', int $defaultLifetime = 0, string $version = null, MarshallerInterface $marshaller = null)
public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $version = null, ?MarshallerInterface $marshaller = null)
{
if (!static::isSupported()) {
throw new CacheException('APCu is not enabled.');

View File

@@ -74,7 +74,7 @@ class ArrayAdapter implements AdapterInterface, CacheInterface, LoggerAwareInter
);
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
$item = $this->getItem($key);
$metadata = $item->getMetadata();

View File

@@ -88,7 +88,7 @@ class ChainAdapter implements AdapterInterface, CacheInterface, PruneableInterfa
);
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
$doSave = true;
$callback = static function (CacheItem $item, bool &$save) use ($callback, &$doSave) {
@@ -98,7 +98,7 @@ class ChainAdapter implements AdapterInterface, CacheInterface, PruneableInterfa
return $value;
};
$wrap = function (CacheItem $item = null, bool &$save = true) use ($key, $callback, $beta, &$wrap, &$doSave, &$metadata) {
$wrap = function (?CacheItem $item = null, bool &$save = true) use ($key, $callback, $beta, &$wrap, &$doSave, &$metadata) {
static $lastItem;
static $i = 0;
$adapter = $this->adapters[$i];

View File

@@ -39,7 +39,7 @@ class CouchbaseBucketAdapter extends AbstractAdapter
private \CouchbaseBucket $bucket;
private MarshallerInterface $marshaller;
public function __construct(\CouchbaseBucket $bucket, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
public function __construct(\CouchbaseBucket $bucket, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null)
{
if (!static::isSupported()) {
throw new CacheException('Couchbase >= 2.6.0 < 3.0.0 is required.');

View File

@@ -32,7 +32,7 @@ class CouchbaseCollectionAdapter extends AbstractAdapter
private Collection $connection;
private MarshallerInterface $marshaller;
public function __construct(Collection $connection, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
public function __construct(Collection $connection, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null)
{
if (!static::isSupported()) {
throw new CacheException('Couchbase >= 3.0.5 < 4.0.0 is required.');
@@ -183,7 +183,7 @@ class CouchbaseCollectionAdapter extends AbstractAdapter
}
$upsertOptions = new UpsertOptions();
$upsertOptions->expiry(\DateTimeImmutable::createFromFormat('U', time() + $lifetime));
$upsertOptions->expiry($lifetime);
$ko = [];
foreach ($values as $key => $value) {

View File

@@ -59,7 +59,7 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface
*
* @throws InvalidArgumentException When namespace contains invalid characters
*/
public function __construct(Connection|string $connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], MarshallerInterface $marshaller = null)
public function __construct(Connection|string $connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], ?MarshallerInterface $marshaller = null)
{
if (isset($namespace[0]) && preg_match('#[^-+.A-Za-z0-9]#', $namespace, $match)) {
throw new InvalidArgumentException(sprintf('Namespace contains "%s" but only characters in [-+.A-Za-z0-9] are allowed.', $match[0]));

View File

@@ -20,7 +20,7 @@ class FilesystemAdapter extends AbstractAdapter implements PruneableInterface
{
use FilesystemTrait;
public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, MarshallerInterface $marshaller = null)
public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, ?MarshallerInterface $marshaller = null)
{
$this->marshaller = $marshaller ?? new DefaultMarshaller();
parent::__construct('', $defaultLifetime);

View File

@@ -35,7 +35,7 @@ class FilesystemTagAwareAdapter extends AbstractTagAwareAdapter implements Prune
*/
private const TAG_FOLDER = 'tags';
public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, MarshallerInterface $marshaller = null)
public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, ?MarshallerInterface $marshaller = null)
{
$this->marshaller = new TagAwareMarshaller($marshaller);
parent::__construct('', $defaultLifetime);

View File

@@ -45,7 +45,7 @@ class MemcachedAdapter extends AbstractAdapter
*
* Using a MemcachedAdapter as a pure items store is fine.
*/
public function __construct(\Memcached $client, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
public function __construct(\Memcached $client, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null)
{
if (!static::isSupported()) {
throw new CacheException('Memcached > 3.1.5 is required.');
@@ -114,6 +114,8 @@ class MemcachedAdapter extends AbstractAdapter
$params = preg_replace_callback('#^memcached:(//)?(?:([^@]*+)@)?#', function ($m) use (&$username, &$password) {
if (!empty($m[2])) {
[$username, $password] = explode(':', $m[2], 2) + [1 => null];
$username = rawurldecode($username);
$password = null !== $password ? rawurldecode($password) : null;
}
return 'file:'.($m[1] ?? '');

View File

@@ -37,7 +37,7 @@ class NullAdapter implements AdapterInterface, CacheInterface
);
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
$save = true;

View File

@@ -54,7 +54,7 @@ class PdoAdapter extends AbstractAdapter implements PruneableInterface
* @throws InvalidArgumentException When PDO error mode is not PDO::ERRMODE_EXCEPTION
* @throws InvalidArgumentException When namespace contains invalid characters
*/
public function __construct(#[\SensitiveParameter] \PDO|string $connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], MarshallerInterface $marshaller = null)
public function __construct(#[\SensitiveParameter] \PDO|string $connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], ?MarshallerInterface $marshaller = null)
{
if (\is_string($connOrDsn) && str_contains($connOrDsn, '://')) {
throw new InvalidArgumentException(sprintf('Usage of Doctrine DBAL URL with "%s" is not supported. Use a PDO DSN or "%s" instead.', __CLASS__, DoctrineDbalAdapter::class));
@@ -374,10 +374,10 @@ class PdoAdapter extends AbstractAdapter implements PruneableInterface
private function isTableMissing(\PDOException $exception): bool
{
$driver = $this->getDriver();
$code = $exception->getCode();
[$sqlState, $code] = $exception->errorInfo ?? [null, $exception->getCode()];
return match ($driver) {
'pgsql' => '42P01' === $code,
'pgsql' => '42P01' === $sqlState,
'sqlite' => str_contains($exception->getMessage(), 'no such table:'),
'oci' => 942 === $code,
'sqlsrv' => 208 === $code,

View File

@@ -78,7 +78,7 @@ class PhpArrayAdapter implements AdapterInterface, CacheInterface, PruneableInte
return new static($file, $fallbackPool);
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
if (!isset($this->values)) {
$this->initialize();

View File

@@ -43,7 +43,7 @@ class PhpFilesAdapter extends AbstractAdapter implements PruneableInterface
*
* @throws CacheException if OPcache is not enabled
*/
public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, bool $appendOnly = false)
public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, bool $appendOnly = false)
{
$this->appendOnly = $appendOnly;
self::$startTime ??= $_SERVER['REQUEST_TIME'] ?? time();

View File

@@ -80,7 +80,7 @@ class ProxyAdapter implements AdapterInterface, CacheInterface, PruneableInterfa
);
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
if (!$this->pool instanceof CacheInterface) {
return $this->doGet($this, $key, $callback, $beta, $metadata);

View File

@@ -18,7 +18,7 @@ class RedisAdapter extends AbstractAdapter
{
use RedisTrait;
public function __construct(\Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|\Relay\Relay $redis, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
public function __construct(\Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|\Relay\Relay $redis, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null)
{
$this->init($redis, $namespace, $defaultLifetime, $marshaller);
}

View File

@@ -60,7 +60,7 @@ class RedisTagAwareAdapter extends AbstractTagAwareAdapter
private string $redisEvictionPolicy;
private string $namespace;
public function __construct(\Redis|Relay|\RedisArray|\RedisCluster|\Predis\ClientInterface $redis, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
public function __construct(\Redis|Relay|\RedisArray|\RedisCluster|\Predis\ClientInterface $redis, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null)
{
if ($redis instanceof \Predis\ClientInterface && $redis->getConnection() instanceof ClusterInterface && !$redis->getConnection() instanceof PredisCluster) {
throw new InvalidArgumentException(sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', PredisCluster::class, get_debug_type($redis->getConnection())));

View File

@@ -51,7 +51,7 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
private static \Closure $getTagsByKey;
private static \Closure $saveTags;
public function __construct(AdapterInterface $itemsPool, AdapterInterface $tagsPool = null, float $knownTagVersionsTtl = 0.15)
public function __construct(AdapterInterface $itemsPool, ?AdapterInterface $tagsPool = null, float $knownTagVersionsTtl = 0.15)
{
$this->pool = $itemsPool;
$this->tags = $tagsPool ?? $itemsPool;
@@ -146,8 +146,6 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
foreach ($keys as $key) {
if ('' !== $key && \is_string($key)) {
$commit = $commit || isset($this->deferred[$key]);
$key = static::TAGS_PREFIX.$key;
$tagKeys[$key] = $key; // BC with pools populated before v6.1
}
}
@@ -156,7 +154,7 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
}
try {
$items = $this->pool->getItems($tagKeys + $keys);
$items = $this->pool->getItems($keys);
} catch (InvalidArgumentException $e) {
$this->pool->getItems($keys); // Should throw an exception
@@ -166,18 +164,24 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
$bufferedItems = $itemTags = [];
foreach ($items as $key => $item) {
if (isset($tagKeys[$key])) { // BC with pools populated before v6.1
if ($item->isHit()) {
$itemTags[substr($key, \strlen(static::TAGS_PREFIX))] = $item->get() ?: [];
}
continue;
}
if (null !== $tags = $item->getMetadata()[CacheItem::METADATA_TAGS] ?? null) {
$itemTags[$key] = $tags;
}
$bufferedItems[$key] = $item;
if (null === $tags) {
$key = "\0tags\0".$key;
$tagKeys[$key] = $key; // BC with pools populated before v6.1
}
}
if ($tagKeys) {
foreach ($this->pool->getItems($tagKeys) as $key => $item) {
if ($item->isHit()) {
$itemTags[substr($key, \strlen("\0tags\0"))] = $item->get() ?: [];
}
}
}
$tagVersions = $this->getTagVersions($itemTags, false);
@@ -222,7 +226,7 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
{
foreach ($keys as $key) {
if ('' !== $key && \is_string($key)) {
$keys[] = static::TAGS_PREFIX.$key; // BC with pools populated before v6.1
$keys[] = "\0tags\0".$key; // BC with pools populated before v6.1
}
}

View File

@@ -35,7 +35,7 @@ class TraceableAdapter implements AdapterInterface, CacheInterface, PruneableInt
$this->pool = $pool;
}
public function get(string $key, callable $callback, float $beta = null, array &$metadata = null): mixed
public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed
{
if (!$this->pool instanceof CacheInterface) {
throw new \BadMethodCallException(sprintf('Cannot call "%s::get()": this class doesn\'t implement "%s".', get_debug_type($this->pool), CacheInterface::class));

View File

@@ -36,7 +36,7 @@ class CacheDataCollector extends DataCollector implements LateDataCollectorInter
$this->instances[$name] = $instance;
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
$empty = ['calls' => [], 'adapters' => [], 'config' => [], 'options' => [], 'statistics' => []];
$this->data = ['instances' => $empty, 'total' => $empty];

View File

@@ -181,11 +181,11 @@ class CachePoolPass implements CompilerPassInterface
$container->removeDefinition('cache.early_expiration_handler');
}
$notAliasedCacheClearerId = $aliasedCacheClearerId = 'cache.global_clearer';
while ($container->hasAlias('cache.global_clearer')) {
$aliasedCacheClearerId = (string) $container->getAlias('cache.global_clearer');
$notAliasedCacheClearerId = 'cache.global_clearer';
while ($container->hasAlias($notAliasedCacheClearerId)) {
$notAliasedCacheClearerId = (string) $container->getAlias($notAliasedCacheClearerId);
}
if ($container->hasDefinition($aliasedCacheClearerId)) {
if ($container->hasDefinition($notAliasedCacheClearerId)) {
$clearers[$notAliasedCacheClearerId] = $allPools;
}

View File

@@ -83,7 +83,7 @@ final class LockRegistry
return $previousFiles;
}
public static function compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, \Closure $setMetadata = null, LoggerInterface $logger = null): mixed
public static function compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, ?\Closure $setMetadata = null, ?LoggerInterface $logger = null): mixed
{
if ('\\' === \DIRECTORY_SEPARATOR && null === self::$lockedFiles) {
// disable locking on Windows by default

View File

@@ -23,7 +23,7 @@ class DefaultMarshaller implements MarshallerInterface
private bool $useIgbinarySerialize = true;
private bool $throwOnSerializationFailure = false;
public function __construct(bool $useIgbinarySerialize = null, bool $throwOnSerializationFailure = false)
public function __construct(?bool $useIgbinarySerialize = null, bool $throwOnSerializationFailure = false)
{
if (null === $useIgbinarySerialize) {
$useIgbinarySerialize = \extension_loaded('igbinary') && version_compare('3.1.6', phpversion('igbinary'), '<=');

View File

@@ -29,7 +29,7 @@ class SodiumMarshaller implements MarshallerInterface
* more rotating keys can be provided to decrypt values;
* each key must be generated using sodium_crypto_box_keypair()
*/
public function __construct(array $decryptionKeys, MarshallerInterface $marshaller = null)
public function __construct(array $decryptionKeys, ?MarshallerInterface $marshaller = null)
{
if (!self::isSupported()) {
throw new CacheException('The "sodium" PHP extension is not loaded.');

View File

@@ -20,7 +20,7 @@ class TagAwareMarshaller implements MarshallerInterface
{
private MarshallerInterface $marshaller;
public function __construct(MarshallerInterface $marshaller = null)
public function __construct(?MarshallerInterface $marshaller = null)
{
$this->marshaller = $marshaller ?? new DefaultMarshaller();
}

View File

@@ -27,7 +27,7 @@ class EarlyExpirationDispatcher
private ReverseContainer $reverseContainer;
private ?\Closure $callbackWrapper;
public function __construct(MessageBusInterface $bus, ReverseContainer $reverseContainer, callable $callbackWrapper = null)
public function __construct(MessageBusInterface $bus, ReverseContainer $reverseContainer, ?callable $callbackWrapper = null)
{
$this->bus = $bus;
$this->reverseContainer = $reverseContainer;
@@ -37,7 +37,7 @@ class EarlyExpirationDispatcher
/**
* @return mixed
*/
public function __invoke(callable $callback, CacheItem $item, bool &$save, AdapterInterface $pool, \Closure $setMetadata, LoggerInterface $logger = null)
public function __invoke(callable $callback, CacheItem $item, bool &$save, AdapterInterface $pool, \Closure $setMetadata, ?LoggerInterface $logger = null)
{
if (!$item->isHit() || null === $message = EarlyExpirationMessage::create($this->reverseContainer, $callback, $item, $pool)) {
// The item is stale or the callback cannot be reversed: we must compute the value now

View File

@@ -59,7 +59,7 @@ trait ContractsTrait
return $previousWrapper;
}
private function doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null): mixed
private function doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null): mixed
{
if (0 > $beta ??= 1.0) {
throw new InvalidArgumentException(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta));

View File

@@ -85,7 +85,7 @@ trait FilesystemCommonTrait
return @unlink($file);
}
private function write(string $file, string $data, int $expiresAt = null): bool
private function write(string $file, string $data, ?int $expiresAt = null): bool
{
$unlink = false;
set_error_handler(static fn ($type, $message, $file, $line) => throw new \ErrorException($message, 0, $type, $file, $line));
@@ -109,8 +109,13 @@ trait FilesystemCommonTrait
touch($tmp, $expiresAt ?: time() + 31556952); // 1 year in seconds
}
$success = rename($tmp, $file);
$unlink = !$success;
if ('\\' === \DIRECTORY_SEPARATOR) {
$success = copy($tmp, $file);
$unlink = true;
} else {
$success = rename($tmp, $file);
$unlink = !$success;
}
return $success;
} finally {
@@ -122,7 +127,7 @@ trait FilesystemCommonTrait
}
}
private function getFile(string $id, bool $mkdir = false, string $directory = null): string
private function getFile(string $id, bool $mkdir = false, ?string $directory = null): string
{
// Use xxh128 to favor speed over security, which is not an issue here
$hash = str_replace('/', '-', base64_encode(hash('xxh128', static::class.$id, true)));

View File

@@ -81,7 +81,7 @@ class Redis5Proxy extends \Redis implements ResetInterface, LazyObjectInterface
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->append(...\func_get_args());
}
public function auth($auth)
public function auth(#[\SensitiveParameter] $auth)
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->auth(...\func_get_args());
}

View File

@@ -25,6 +25,7 @@ class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class);
*/
class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
{
use Redis6ProxyTrait;
use LazyProxyTrait {
resetLazyObject as reset;
}
@@ -226,11 +227,6 @@ class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->discard(...\func_get_args());
}
public function dump($key): \Redis|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->dump(...\func_get_args());
}
public function echo($str): \Redis|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->echo(...\func_get_args());
@@ -511,16 +507,6 @@ class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hMset(...\func_get_args());
}
public function hRandField($key, $options = null): \Redis|array|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hRandField(...\func_get_args());
}
public function hSet($key, $member, $value): \Redis|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hSet(...\func_get_args());
}
public function hSetNx($key, $field, $value): \Redis|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hSetNx(...\func_get_args());
@@ -651,11 +637,6 @@ class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ltrim(...\func_get_args());
}
public function mget($keys): \Redis|array
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->mget(...\func_get_args());
}
public function migrate($host, $port, $key, $dstdb, $timeout, $copy = false, $replace = false, #[\SensitiveParameter] $credentials = null): \Redis|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->migrate(...\func_get_args());
@@ -866,11 +847,6 @@ class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->sPop(...\func_get_args());
}
public function sRandMember($key, $count = 0): \Redis|array|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->sRandMember(...\func_get_args());
}
public function sUnion($key, ...$other_keys): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->sUnion(...\func_get_args());

View File

@@ -31,7 +31,7 @@ class RedisCluster5Proxy extends \RedisCluster implements ResetInterface, LazyOb
private const LAZY_OBJECT_PROPERTY_SCOPES = [];
public function __construct($name, $seeds = null, $timeout = null, $read_timeout = null, $persistent = null, $auth = null)
public function __construct($name, $seeds = null, $timeout = null, $read_timeout = null, $persistent = null, #[\SensitiveParameter] $auth = null)
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->__construct(...\func_get_args());
}

View File

@@ -25,6 +25,7 @@ class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class);
*/
class RedisCluster6Proxy extends \RedisCluster implements ResetInterface, LazyObjectInterface
{
use RedisCluster6ProxyTrait;
use LazyProxyTrait {
resetLazyObject as reset;
}
@@ -656,11 +657,6 @@ class RedisCluster6Proxy extends \RedisCluster implements ResetInterface, LazyOb
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->pttl(...\func_get_args());
}
public function publish($channel, $message): \RedisCluster|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->publish(...\func_get_args());
}
public function pubsub($key_or_address, ...$values): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->pubsub(...\func_get_args());

View File

@@ -149,10 +149,10 @@ trait RedisTrait
if (isset($params['host']) || isset($params['path'])) {
if (!isset($params['dbindex']) && isset($params['path'])) {
if (preg_match('#/(\d+)?$#', $params['path'], $m)) {
$params['dbindex'] = $m[1] ?? '0';
$params['dbindex'] = $m[1] ?? $query['dbindex'] ?? '0';
$params['path'] = substr($params['path'], 0, -\strlen($m[0]));
} elseif (isset($params['host'])) {
throw new InvalidArgumentException('Invalid Redis DSN: query parameter "dbindex" must be a number.');
throw new InvalidArgumentException('Invalid Redis DSN: parameter "dbindex" must be a number.');
}
}
@@ -167,6 +167,10 @@ trait RedisTrait
throw new InvalidArgumentException('Invalid Redis DSN: missing host.');
}
if (isset($params['dbindex'], $query['dbindex']) && $params['dbindex'] !== $query['dbindex']) {
throw new InvalidArgumentException('Invalid Redis DSN: path and query "dbindex" parameters mismatch.');
}
$params += $query + $options + self::$defaultConnectionOptions;
if (isset($params['redis_sentinel']) && !class_exists(\Predis\Client::class) && !class_exists(\RedisSentinel::class) && !class_exists(Sentinel::class)) {
@@ -228,10 +232,10 @@ trait RedisTrait
$options = [
'host' => $host,
'port' => $port,
'connectTimeout' => $params['timeout'],
'connectTimeout' => (float) $params['timeout'],
'persistent' => $params['persistent_id'],
'retryInterval' => $params['retry_interval'],
'readTimeout' => $params['read_timeout'],
'retryInterval' => (int) $params['retry_interval'],
'readTimeout' => (float) $params['read_timeout'],
];
if ($passAuth) {
@@ -260,6 +264,22 @@ trait RedisTrait
$extra = [
'stream' => $params['ssl'] ?? null,
];
$booleanStreamOptions = [
'allow_self_signed',
'capture_peer_cert',
'capture_peer_cert_chain',
'disable_compression',
'SNI_enabled',
'verify_peer',
'verify_peer_name',
];
foreach ($extra['stream'] ?? [] as $streamOption => $value) {
if (\in_array($streamOption, $booleanStreamOptions, true) && \is_string($value)) {
$extra['stream'][$streamOption] = filter_var($value, \FILTER_VALIDATE_BOOL);
}
}
if (isset($params['auth'])) {
$extra['auth'] = $params['auth'];
}
@@ -277,7 +297,10 @@ trait RedisTrait
}
if ((null !== $auth && !$redis->auth($auth))
|| ($params['dbindex'] && !$redis->select($params['dbindex']))
// Due to a bug in phpredis we must always select the dbindex if persistent pooling is enabled
// @see https://github.com/phpredis/phpredis/issues/1920
// @see https://github.com/symfony/symfony/issues/51578
|| (($params['dbindex'] || ('pconnect' === $connect && '0' !== \ini_get('redis.pconnect.pooling_enabled'))) && !$redis->select($params['dbindex']))
) {
$e = preg_replace('/^ERR /', '', $redis->getLastError());
throw new InvalidArgumentException('Redis connection failed: '.$e.'.');
@@ -498,7 +521,7 @@ trait RedisTrait
}
$this->doDelete($keys);
}
} while ($cursor = (int) $cursor);
} while ($cursor);
}
return $cleared;
@@ -563,7 +586,7 @@ trait RedisTrait
return $failed;
}
private function pipeline(\Closure $generator, object $redis = null): \Generator
private function pipeline(\Closure $generator, ?object $redis = null): \Generator
{
$ids = [];
$redis ??= $this->redis;

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.11', '>=')) {
/**
* @internal
*/
trait BgsaveTrait
{
public function bgsave($arg = null): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait BgsaveTrait
{
public function bgsave($schedule = false): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args());
}
}
}

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.8.1', '>=')) {
/**
* @internal
*/
trait CopyTrait
{
public function copy($src, $dst, $options = null): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->copy(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait CopyTrait
{
public function copy($src, $dst, $options = null): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->copy(...\func_get_args());
}
}
}

View File

@@ -1,132 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait FtTrait
{
public function ftAggregate($index, $query, $options = null): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftAggregate(...\func_get_args());
}
public function ftAliasAdd($index, $alias): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftAliasAdd(...\func_get_args());
}
public function ftAliasDel($alias): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftAliasDel(...\func_get_args());
}
public function ftAliasUpdate($index, $alias): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftAliasUpdate(...\func_get_args());
}
public function ftAlter($index, $schema, $skipinitialscan = false): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftAlter(...\func_get_args());
}
public function ftConfig($operation, $option, $value = null): \Relay\Relay|array|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftConfig(...\func_get_args());
}
public function ftCreate($index, $schema, $options = null): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftCreate(...\func_get_args());
}
public function ftCursor($operation, $index, $cursor, $options = null): \Relay\Relay|array|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftCursor(...\func_get_args());
}
public function ftDictAdd($dict, $term, ...$other_terms): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftDictAdd(...\func_get_args());
}
public function ftDictDel($dict, $term, ...$other_terms): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftDictDel(...\func_get_args());
}
public function ftDictDump($dict): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftDictDump(...\func_get_args());
}
public function ftDropIndex($index, $dd = false): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftDropIndex(...\func_get_args());
}
public function ftExplain($index, $query, $dialect = 0): \Relay\Relay|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftExplain(...\func_get_args());
}
public function ftExplainCli($index, $query, $dialect = 0): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftExplainCli(...\func_get_args());
}
public function ftInfo($index): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftInfo(...\func_get_args());
}
public function ftProfile($index, $command, $query, $limited = false): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftProfile(...\func_get_args());
}
public function ftSearch($index, $query, $options = null): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftSearch(...\func_get_args());
}
public function ftSpellCheck($index, $query, $options = null): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftSpellCheck(...\func_get_args());
}
public function ftSynDump($index): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftSynDump(...\func_get_args());
}
public function ftSynUpdate($index, $synonym, $term_or_terms, $skipinitialscan = false): \Relay\Relay|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftSynUpdate(...\func_get_args());
}
public function ftTagVals($index, $tag): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->ftTagVals(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait FtTrait
{
}
}

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait GeosearchTrait
{
public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->geosearch(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait GeosearchTrait
{
public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Relay|array
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->geosearch(...\func_get_args());
}
}
}

View File

@@ -1,32 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.10.1', '>=')) {
/**
* @internal
*/
trait GetWithMetaTrait
{
public function getWithMeta($key): \Relay\Relay|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->getWithMeta(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait GetWithMetaTrait
{
}
}

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait GetrangeTrait
{
public function getrange($key, $start, $end): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->getrange(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait GetrangeTrait
{
public function getrange($key, $start, $end): \Relay\Relay|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->getrange(...\func_get_args());
}
}
}

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait HsetTrait
{
public function hset($key, ...$keys_and_vals): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hset(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait HsetTrait
{
public function hset($key, $mem, $val, ...$kvals): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hset(...\func_get_args());
}
}
}

View File

@@ -1,32 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.11.1', '>=')) {
/**
* @internal
*/
trait IsTrackedTrait
{
public function isTracked($key): bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->isTracked(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait IsTrackedTrait
{
}
}

View File

@@ -1,46 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait MoveTrait
{
public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->blmove(...\func_get_args());
}
public function lmove($srckey, $dstkey, $srcpos, $dstpos): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->lmove(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait MoveTrait
{
public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): \Relay\Relay|false|string|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->blmove(...\func_get_args());
}
public function lmove($srckey, $dstkey, $srcpos, $dstpos): \Relay\Relay|false|string|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->lmove(...\func_get_args());
}
}
}

View File

@@ -1,96 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait NullableReturnTrait
{
public function dump($key): \Relay\Relay|false|string|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->dump(...\func_get_args());
}
public function geodist($key, $src, $dst, $unit = null): \Relay\Relay|false|float|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->geodist(...\func_get_args());
}
public function hrandfield($hash, $options = null): \Relay\Relay|array|false|string|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hrandfield(...\func_get_args());
}
public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Relay|false|string|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->xadd(...\func_get_args());
}
public function zrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zrank(...\func_get_args());
}
public function zrevrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zrevrank(...\func_get_args());
}
public function zscore($key, $member): \Relay\Relay|false|float|null
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zscore(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait NullableReturnTrait
{
public function dump($key): \Relay\Relay|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->dump(...\func_get_args());
}
public function geodist($key, $src, $dst, $unit = null): \Relay\Relay|false|float
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->geodist(...\func_get_args());
}
public function hrandfield($hash, $options = null): \Relay\Relay|array|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hrandfield(...\func_get_args());
}
public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Relay|false|string
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->xadd(...\func_get_args());
}
public function zrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zrank(...\func_get_args());
}
public function zrevrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zrevrank(...\func_get_args());
}
public function zscore($key, $member): \Relay\Relay|false|float
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->zscore(...\func_get_args());
}
}
}

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Traits\Relay;
if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
/**
* @internal
*/
trait PfcountTrait
{
public function pfcount($key_or_keys): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->pfcount(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait PfcountTrait
{
public function pfcount($key): \Relay\Relay|false|int
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->pfcount(...\func_get_args());
}
}
}

Some files were not shown because too many files have changed in this diff Show More