Compare commits

..

3 Commits

Author SHA1 Message Date
Benjamin DALSASS
98dd980db5 N°8726 - Deprecation cleanup in portal
- form handler
2026-08-04 09:03:20 +02:00
Benjamin DALSASS
ae5cbf93fe N°8726 - Deprecation cleanup in portal
- CombodoPortalToolbox
2026-07-31 14:38:03 +02:00
Benjamin DALSASS
30027c2e97 N°8726 - Deprecation cleanup in portal
- AddParameterToUrl
2026-07-31 14:37:13 +02:00
155 changed files with 2498 additions and 3005 deletions

View File

@@ -110,9 +110,6 @@ gitGraph
commit id: "2025-09-25" tag: "2.7.13"
checkout support/3.2
commit id: "2026-04-27 " tag: "3.2.3"
checkout support/3.2.3
commit id: "2026-05-25 " tag: "3.2.3-1"
commit id: "2026-07-17 " tag: "3.2.3-2"
checkout develop
commit id: "2026-07-23" tag: "3.3.0-beta1"
```

View File

@@ -1,7 +1,7 @@
<?php
/**
* Implement this interface to add sass files (SCSS) to the backoffice pages.
* Implement this interface to add sass file (SCSS) to the backoffice pages.
* example: return "css/setup.scss"
*
* @api
@@ -11,9 +11,9 @@
interface iBackofficeSassExtension
{
/**
* @return array An array of relative paths (from loaded import paths) to the files to compile and include
* @see \iTopWebPage::$a_linked_stylesheets
* @return string
* @see \iTopWebPage::$a_styles
* @api
*/
public function GetSassRelPaths(): array;
public function GetSass(): string;
}

View File

@@ -1535,6 +1535,190 @@ HTML
return $sHtml;
}
/**
* @param WebPage $oPage
* @param \CMDBObjectSet $oSet
* @param array $aParams
*
* @throws \Exception
* only used in old and deprecated export.php
*
* @internal Only to be used by `/webservices/export.php` : this is a legacy method that produces wrong HTML (no TR on table body rows)
*/
public static function DisplaySetAsHTMLSpreadsheet(WebPage $oPage, CMDBObjectSet $oSet, $aParams = [])
{
$oPage->add(self::GetSetAsHTMLSpreadsheet($oSet, $aParams));
}
/**
* Spreadsheet output: designed for end users doing some reporting
* Then the ids are excluded and replaced by the corresponding friendlyname
*
* @param \DBObjectSet $oSet
* @param array $aParams
*
* @return string
* @throws \CoreException
* @throws \CoreUnexpectedValue
* @throws \MissingQueryArgument
* @throws \MySQLException
* @throws \MySQLHasGoneAwayException
* @throws \Exception
*
* @internal Only to be used by `/webservices/export.php` : this is a legacy method that produces wrong HTML (no TR on table body rows)
*/
public static function GetSetAsHTMLSpreadsheet(DBObjectSet $oSet, $aParams = [])
{
$aFields = null;
if (isset($aParams['fields']) && (strlen($aParams['fields']) > 0)) {
$aFields = explode(',', $aParams['fields']);
}
$bFieldsAdvanced = false;
if (isset($aParams['fields_advanced'])) {
$bFieldsAdvanced = (bool)$aParams['fields_advanced'];
}
$bLocalize = true;
if (isset($aParams['localize_values'])) {
$bLocalize = (bool)$aParams['localize_values'];
}
$aList = [];
$aClasses = $oSet->GetFilter()->GetSelectedClasses();
$aAuthorizedClasses = [];
foreach ($aClasses as $sAlias => $sClassName) {
if (UserRights::IsActionAllowed($sClassName, UR_ACTION_READ, $oSet) != UR_ALLOWED_NO) {
$aAuthorizedClasses[$sAlias] = $sClassName;
}
}
$aHeader = [];
foreach ($aAuthorizedClasses as $sAlias => $sClassName) {
$aList[$sAlias] = [];
foreach (MetaModel::ListAttributeDefs($sClassName) as $sAttCode => $oAttDef) {
if (is_null($aFields) || (count($aFields) == 0)) {
// Standard list of attributes (no link sets)
if ($oAttDef->IsScalar() && ($oAttDef->IsWritable() || $oAttDef->IsExternalField())) {
$sAttCodeEx = $oAttDef->IsExternalField() ? $oAttDef->GetKeyAttCode().'->'.$oAttDef->GetExtAttCode() : $sAttCode;
$aList[$sAlias][$sAttCodeEx] = $oAttDef;
if ($bFieldsAdvanced && $oAttDef->IsExternalKey(EXTKEY_RELATIVE)) {
$sRemoteClass = $oAttDef->GetTargetClass();
foreach (MetaModel::GetReconcKeys($sRemoteClass) as $sRemoteAttCode) {
$aList[$sAlias][$sAttCode.'->'.$sRemoteAttCode] = MetaModel::GetAttributeDef(
$sRemoteClass,
$sRemoteAttCode
);
}
}
}
} else {
// User defined list of attributes
if (in_array($sAttCode, $aFields) || in_array($sAlias.'.'.$sAttCode, $aFields)) {
$aList[$sAlias][$sAttCode] = $oAttDef;
}
}
}
// Replace external key by the corresponding friendly name (if not already in the list)
foreach ($aList[$sAlias] as $sAttCode => $oAttDef) {
if ($oAttDef->IsExternalKey()) {
unset($aList[$sAlias][$sAttCode]);
$sFriendlyNameAttCode = $sAttCode.'_friendlyname';
if (!array_key_exists(
$sFriendlyNameAttCode,
$aList[$sAlias]
) && MetaModel::IsValidAttCode($sClassName, $sFriendlyNameAttCode)) {
$oFriendlyNameAtt = MetaModel::GetAttributeDef($sClassName, $sFriendlyNameAttCode);
$aList[$sAlias][$sFriendlyNameAttCode] = $oFriendlyNameAtt;
}
}
}
foreach ($aList[$sAlias] as $sAttCodeEx => $oAttDef) {
$sColLabel = $bLocalize ? MetaModel::GetLabel($sClassName, $sAttCodeEx) : $sAttCodeEx;
$oFinalAttDef = $oAttDef->GetFinalAttDef();
if (get_class($oFinalAttDef) == 'AttributeDateTime') {
$aHeader[] = $sColLabel.' ('.Dict::S('UI:SplitDateTime-Date').')';
$aHeader[] = $sColLabel.' ('.Dict::S('UI:SplitDateTime-Time').')';
} else {
$aHeader[] = $sColLabel;
}
}
}
$sHtml = "<table border=\"1\">\n";
$sHtml .= "<tr>\n";
$sHtml .= "<td>".implode("</td><td>", $aHeader)."</td>\n";
$sHtml .= "</tr>\n";
$oSet->Seek(0);
while ($aObjects = $oSet->FetchAssoc()) {
$aRow = [];
foreach ($aAuthorizedClasses as $sAlias => $sClassName) {
$oObj = $aObjects[$sAlias];
foreach ($aList[$sAlias] as $sAttCodeEx => $oAttDef) {
if (is_null($oObj)) {
$aRow[] = '<td></td>';
} else {
$oFinalAttDef = $oAttDef->GetFinalAttDef();
if (get_class($oFinalAttDef) == 'AttributeDateTime') {
$sDate = $oObj->Get($sAttCodeEx);
if ($sDate === null) {
$aRow[] = '<td></td>';
$aRow[] = '<td></td>';
} else {
$iDate = AttributeDateTime::GetAsUnixSeconds($sDate);
$aRow[] = '<td>'.date(
'Y-m-d',
$iDate
).'</td>'; // Format kept as-is for 100% backward compatibility of the exports
$aRow[] = '<td>'.date(
'H:i:s',
$iDate
).'</td>'; // Format kept as-is for 100% backward compatibility of the exports
}
} else {
if ($oAttDef instanceof AttributeCaseLog) {
$rawValue = $oObj->Get($sAttCodeEx);
$outputValue = str_replace(
"\n",
"<br/>",
utils::EscapeHtml($rawValue->__toString())
);
// Trick for Excel: treat the content as text even if it begins with an equal sign
$aRow[] = '<td x:str>'.$outputValue.'</td>';
} else {
$rawValue = $oObj->Get($sAttCodeEx);
// Due to custom formatting rules, empty friendlynames may be rendered as non-empty strings
// let's fix this and make sure we render an empty string if the key == 0
if ($oAttDef instanceof AttributeExternalField && $oAttDef->IsFriendlyName()) {
$sKeyAttCode = $oAttDef->GetKeyAttCode();
if ($oObj->Get($sKeyAttCode) == 0) {
$rawValue = '';
}
}
if ($bLocalize) {
$outputValue = utils::EscapeHtml($oFinalAttDef->GetEditValue($rawValue));
} else {
$outputValue = utils::EscapeHtml($rawValue);
}
$aRow[] = '<td>'.$outputValue.'</td>';
}
}
}
}
}
$sHtml .= implode("\n", $aRow);
$sHtml .= "</tr>\n";
}
$sHtml .= "</table>\n";
return $sHtml;
}
/**
* @param WebPage $oPage
* @param \CMDBObjectSet $oSet

View File

@@ -1707,7 +1707,7 @@ JS
$oBlock->bAdvancedMode = utils::ReadParam('advanced', false);
$oBlock->sCsvFile = strtolower($this->m_oFilter->GetClass()).'.csv';
$oBlock->sDownloadLink = utils::GetAbsoluteUrlAppRoot().'webservices/export-v2.php?expression='.urlencode($this->m_oFilter->ToOQL(true)).'&format=csv&filename='.urlencode($oBlock->sCsvFile);
$oBlock->sDownloadLink = utils::GetAbsoluteUrlAppRoot().'webservices/export.php?expression='.urlencode($this->m_oFilter->ToOQL(true)).'&format=csv&filename='.urlencode($oBlock->sCsvFile);
$oBlock->sLinkToToggle = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search'.$oAppContext->GetForLink(true).'&filter='.rawurlencode($this->m_oFilter->serialize()).'&format=csv';
// Pass the parameters via POST, since expression may be very long
$aParamsToPost = [
@@ -1724,7 +1724,7 @@ JS
$oBlock->sLinkToToggle = $oBlock->sLinkToToggle.'&advanced=1';
$oBlock->sChecked = '';
}
$oBlock->sAjaxLink = utils::GetAbsoluteUrlAppRoot().'webservices/export-v2.php';
$oBlock->sAjaxLink = utils::GetAbsoluteUrlAppRoot().'webservices/export.php';
$oBlock->sCharsetNotice = false;
$oBlock->sJsonParams = json_encode($aParamsToPost);

View File

@@ -8,13 +8,6 @@
use Combodo\iTop\Application\UI\Base\Component\Input\InputUIBlockFactory;
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlockUIBlockFactory;
use Combodo\iTop\Application\WebPage\WebPage;
use Combodo\iTop\Core\AttributeDefinition\AttributeExternalField;
use Combodo\iTop\Core\AttributeDefinition\AttributeExternalKey;
use Combodo\iTop\Core\AttributeDefinition\AttributeFriendlyName;
use Combodo\iTop\Core\AttributeDefinition\AttributeHierarchicalKey;
use Combodo\iTop\Core\AttributeDefinition\AttributeLinkedSet;
use Combodo\iTop\Core\AttributeDefinition\AttributeStopWatch;
use Combodo\iTop\Core\AttributeDefinition\AttributeSubItem;
/**
* Bulk export: Tabular export: abstract base class for all "tabular" exports.
@@ -98,8 +91,8 @@ abstract class TabularBulkExport extends BulkExport
{
$aResult = [];
switch (get_class($oAttDef)) {
case AttributeExternalKey::class:
case AttributeHierarchicalKey::class:
case 'AttributeExternalKey':
case 'AttributeHierarchicalKey':
$bAddFriendlyName = true;
$oKeyAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
@@ -149,7 +142,7 @@ abstract class TabularBulkExport extends BulkExport
}
break;
case AttributeStopWatch::class:
case 'AttributeStopWatch':
foreach (MetaModel::ListAttributeDefs($sClass) as $sSubAttCode => $oSubAttDef) {
if ($oSubAttDef instanceof AttributeSubItem) {
if ($oSubAttDef->GetParentAttCode() == $sAttCode) {

View File

@@ -6,9 +6,8 @@
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'CAS:Error:UserNotAllowed' => '用户被禁止登录',
'CAS:Login:SignIn' => '使用 CAS 登录',
'CAS:Login:SignInTooltip' => '点击这里使用 CAS 服务器认证',
'CAS:Login:SignIn' => '使用CAS登录',
'CAS:Login:SignInTooltip' => '点击这里使用CAS服务器认证',
]);

View File

@@ -5,8 +5,10 @@
*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Robert Deng <denglx@gmail.com>
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -21,7 +23,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
@@ -31,11 +32,9 @@
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserExternal
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserExternal' => '外部用户',
'Class:UserExternal+' => '用户在'.ITOP_APPLICATION_SHORT.'外部验证身份',

View File

@@ -14,7 +14,7 @@
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLDAP' => 'Пользователь LDAP',
'Class:UserLDAP+' => 'Пользователь, аутентифицируемый через LDAP',
'UserLDAP:server' => 'Особенности LDAP',
'UserLDAP:server' => 'LDAP specifics~~',
]);
//
@@ -22,6 +22,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLDAP/Attribute:ldap_server' => 'Сервер LDAP',
'Class:UserLDAP/Attribute:ldap_server+' => '',
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]);

View File

@@ -6,6 +6,7 @@
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @author Robert Deng <denglx@gmail.com>
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
@@ -21,7 +22,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
@@ -31,15 +31,13 @@
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLDAP
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLDAP' => 'LDAP 用户',
'Class:UserLDAP+' => '用户身份由 LDAP 认证',
'UserLDAP:server' => 'LDAP 详情',
'Class:UserLDAP' => 'LDAP用户',
'Class:UserLDAP+' => '用户身份由LDAP认证',
'UserLDAP:server' => 'LDAP详情',
]);
//
@@ -47,6 +45,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLDAP/Attribute:ldap_server' => 'LDAP 服务器',
'Class:UserLDAP/Attribute:ldap_server+' => '',
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]);

View File

@@ -24,11 +24,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Истёкший',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Одноразовый пароль',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Пароль не может быть изменён пользователем.',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'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' => 'Пароль должен содержать не менее 12 символов и включать прописные, строчные, числовые и специальные символы.',
'UserLocal:password:expiration' => 'Поля требуют наличия доп. расширения',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Установка срока действия пароля "Одноразовый пароль" для своей собственной учётной записи не разрешена',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
]);

View File

@@ -6,6 +6,7 @@
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @author Robert Deng <denglx@gmail.com>
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
@@ -21,7 +22,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
@@ -31,19 +31,16 @@
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLocal
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLocal' => ITOP_APPLICATION_SHORT.' 用户',
'Class:UserLocal+' => '用户由'.ITOP_APPLICATION_SHORT.'验证身份',
'Class:UserLocal/Attribute:password' => '密码',
'Class:UserLocal/Attribute:password+' => '用于验证用户身份的字符串',
'Class:UserLocal/Attribute:expiration' => '密码过期时间',
'Class:UserLocal/Attribute:expiration+' => '密码过期状态 (需要扩展才能生效)',
'Class:UserLocal/Attribute:expiration' => '密码过期',
'Class:UserLocal/Attribute:expiration+' => '密码过期状态 (需要一个扩展才能生效)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => '允许过期',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => '永不过期',
@@ -52,9 +49,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => '一次性密码',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '用户不允许修改密码.',
'Class:UserLocal/Attribute:password_renewed_date' => '密码更新时间',
'Class:UserLocal/Attribute:password_renewed_date' => '密码更新',
'Class:UserLocal/Attribute:password_renewed_date+' => '上次修改密码的时间',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少12个字符, 包含大小写, 数字和特殊字符.',
'UserLocal:password:expiration' => '下面的区域需要插件扩展',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => '不允许用户为自己设置 "一次性密码" 的失效期限',

View File

@@ -11,5 +11,5 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:darkmoon' => 'Тёмная луна',
'theme:darkmoon' => 'Dark moon~~',
]);

View File

@@ -21,7 +21,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'theme:darkmoon' => 'Dark moon',
]);

View File

@@ -23,5 +23,5 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon-high-contrast' => 'Fullmoon (высокая контрастность)',
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]);

View File

@@ -23,5 +23,5 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (протанопия и дейтеранопия)',
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]);

View File

@@ -23,5 +23,5 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon-tritanopia' => 'Fullmoon (тританопия)',
'theme:fullmoon-tritanopia' => 'Fullmoon (Tritanopia)~~',
]);

View File

@@ -1,75 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2025 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
/**
* Localized data
*/
/**
* @author Vladimir Kunin <v.b.kunin@gmail.com>
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:DataFeatureRemovalMenu' => 'Управление расширениями',
'combodo-data-feature-removal/Operation:Main/Title' => 'Управление расширениями',
'DataFeatureRemoval:Main:Title' => 'Управление расширениями',
'DataFeatureRemoval:Main:SubTitle' => 'Включение и отключение расширений, установленных в вашем iTop',
'DataFeatureRemoval:Failure:Title' => 'Ошибки пробного удаления расширений',
'DataFeatureRemoval:Helper:Title' => 'Проверьте, есть ли данные или зависимости, мешающие добавить/удалить расширение.',
'DataFeatureRemoval:Features:Title' => 'Расширения',
'DataFeatureRemoval:Result:Title' => 'Запрошено изменение',
'DataFeatureRemoval:NoResult:Title' => 'Изменений не запрошено',
'DataFeatureRemoval:Execution:Title' => 'Выполнения удаления',
'DataFeatureRemoval:Analysis:Title' => 'Результат анализа',
'DataFeatureRemoval:Analysis:Subtitle' => 'Просмотрите все элементы, требующие внимания',
'DataFeatureRemoval:Analysis:SubTitle' => 'Элементов для очистки перед продолжением: %1$s',
'DataFeatureRemoval:DeletionPlan:Title' => 'План удаления данных',
'DataFeatureRemoval:DeletionPlan:SubTitle' => 'Строк для очистки перед продолжением: %1$s',
'DataFeatureRemoval:DoDeletion:Title' => 'Выполнить удаление',
'DataFeatureRemoval:DoDeletion:SubTitle' => 'Удалить все записи из базы данных',
'DataFeatureRemoval:DeletionPlan:Error:Issues' => 'Некоторые объекты нужно удалить вручную перед очисткой',
'DataFeatureRemoval:Table:Analysis:ClassName' => 'Элемент для удаления',
'DataFeatureRemoval:Table:Analysis:FeatureName' => 'Название расширения',
'DataFeatureRemoval:Table:Analysis:Module' => 'Название модуля',
'DataFeatureRemoval:Table:Analysis:Occurrence' => 'Количество',
'DataFeatureRemoval:CleanupComplete:Title' => 'Всё чисто.',
'DataFeatureRemoval:CompilComplete' => 'Компиляция выполнена успешно. Очистка не требуется. Можно переходить к установке.',
'DataFeatureRemoval:Compile:InProgress' => 'Идёт компиляция...',
'DataFeatureRemoval:Compile:Success' => 'Компиляция выполнена успешно',
'DataFeatureRemoval:Compile:Error' => 'Ошибка компиляции',
'DataFeatureRemoval:RunAudit:InProgress' => 'Идёт анализ...',
'DataFeatureRemoval:RunAudit:Success' => 'Анализ завершён',
'DataFeatureRemoval:RunAudit:Error' => 'Ошибка при анализе',
'UI:Button:Analyze' => 'Анализировать',
'UI:Button:ModifyChoices' => 'Изменить выбор',
'UI:Button:AnalyzeAndSetup' => 'Анализировать и перейти к установке',
'UI:Button:PlanDeletion' => 'Продолжить удаление',
'UI:Button:DoDeletion' => 'Продолжить удаление',
'UI:Button:BackToMain' => 'Изменить выбор',
'UI:Button:Setup' => 'Запустить установку',
'UI:Action:ForceUninstall' => 'Принудительно удалить',
'UI:Action:MoreInfo' => 'Подробнее',
'DataFeatureRemoval:Table:Empty' => 'Нет данных для удаления',
'DataFeatureRemoval:Column:Class' => 'Класс',
'DataFeatureRemoval:Column:DeleteCount' => 'Записей к удалению',
'DataFeatureRemoval:Column:UpdateCount' => 'Записей к обновлению',
'DataFeatureRemoval:Column:IssueCount' => 'Найдено проблем, мешающих автоматической очистке',
'DataFeatureRemoval:Column:DeletedCount' => 'Удалено записей',
'DataFeatureRemoval:Column:UpdatedCount' => 'Обновлено записей',
]);

View File

@@ -1,62 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2025 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
/**
* Localized data
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:DataFeatureRemovalMenu' => '扩展管理',
'combodo-data-feature-removal/Operation:Main/Title' => '扩展管理',
'DataFeatureRemoval:Main:Title' => '扩展管理',
'DataFeatureRemoval:Main:SubTitle' => '切换安装在您的 iTop 上的扩展',
'DataFeatureRemoval:Failure:Title' => '扩展预删除错误',
'DataFeatureRemoval:Helper:Title' => '分析是否有任何数据或依赖关系阻止您添加/删除扩展。',
'DataFeatureRemoval:Features:Title' => '扩展',
'DataFeatureRemoval:Result:Title' => '请求的修改',
'DataFeatureRemoval:Execution:Title' => '删除执行',
'DataFeatureRemoval:Analysis:Title' => '分析结果',
'DataFeatureRemoval:Analysis:Subtitle' => '审查所有需要关注的元素',
'DataFeatureRemoval:Analysis:SubTitle' => '%1$s 个元素需要在继续之前清理',
'DataFeatureRemoval:DeletionPlan:Title' => '数据删除计划',
'DataFeatureRemoval:DeletionPlan:SubTitle' => '%1$s 行需要在继续之前清理',
'DataFeatureRemoval:DoDeletion:Title' => '执行删除',
'DataFeatureRemoval:DoDeletion:SubTitle' => '从数据库中删除所有条目',
'DataFeatureRemoval:DeletionPlan:Error:Issues' => '某些对象必须在清理前手动删除',
'DataFeatureRemoval:Table:Analysis:ClassName' => '要删除的元素',
'DataFeatureRemoval:Table:Analysis:FeatureName' => '扩展名称',
'DataFeatureRemoval:Table:Analysis:Module' => '模块名称',
'DataFeatureRemoval:Table:Analysis:Occurrence' => '出现次数',
'DataFeatureRemoval:CleanupComplete:Title' => '全部清除.',
'DataFeatureRemoval:CompilComplete' => '编译成功. 无需清理. 您可以继续进行设置.',
'UI:Button:Analyze' => '分析',
'UI:Button:ModifyChoices' => '改变我的选择',
'UI:Button:AnalyzeAndSetup' => '分析并进入设置',
'UI:Button:PlanDeletion' => '继续删除',
'UI:Button:DoDeletion' => '继续删除',
'UI:Button:BackToMain' => '改变我的选择',
'UI:Button:Setup' => '运行安装向导',
'UI:Action:ForceUninstall' => '强制卸载',
'UI:Action:MoreInfo' => '更多信息',
'DataFeatureRemoval:Table:Empty' => '没有数据需要删除',
'DataFeatureRemoval:Column:Class' => '类',
'DataFeatureRemoval:Column:DeleteCount' => '待删除的条目',
'DataFeatureRemoval:Column:UpdateCount' => '待更新的条目',
'DataFeatureRemoval:Column:IssueCount' => '发现阻止自动清理的问题',
'DataFeatureRemoval:Column:DeletedCount' => '已删除的条目',
'DataFeatureRemoval:Column:UpdatedCount' => '已更新的条目',
]);

View File

@@ -16,8 +16,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'DBTools:Class' => 'Класс',
'DBTools:Title' => 'Инструменты обслуживания базы данных',
'DBTools:ErrorsFound' => 'Найденные ошибки',
'DBTools:Indication' => 'Важно: после исправления ошибок в базе данных нужно будет запустить анализ заново, так как появятся новые несоответствия',
'DBTools:Disclaimer' => 'ВНИМАНИЕ: СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ ПЕРЕД ЗАПУСКОМ ИСПРАВЛЕНИЙ',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',
'DBTools:Error' => 'Ошибка',
'DBTools:Count' => 'Количество',
'DBTools:SQLquery' => 'SQL-запрос',
@@ -28,23 +28,23 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'DBTools:ShowIds' => 'Подробный вид',
'DBTools:ShowReport' => 'Отчёт',
'DBTools:IntegrityCheck' => 'Проверка целостности',
'DBTools:FetchCheck' => 'Проверка выборки (долго)',
'DBTools:SelectAnalysisType' => 'Выберите тип анализа',
'DBTools:FetchCheck' => 'Fetch Check (long)~~',
'DBTools:SelectAnalysisType' => 'Select analysis type~~',
'DBTools:Analyze' => 'Анализировать',
'DBTools:Details' => 'Показать подробности',
'DBTools:ShowAll' => 'Показать все ошибки',
'DBTools:Inconsistencies' => 'Несоответствия базы данных',
'DBTools:DetailedErrorTitle' => 'Ошибок (%2$s) в классе %1$s: %3$s',
'DBTools:DetailedErrorLimit' => 'Список ограничен %1$s ошибками',
'DBTools:DetailedErrorTitle' => '%2$s error(s) in class %1$s: %3$s~~',
'DBTools:DetailedErrorLimit' => 'List limited to %1$s errors~~',
'DBAnalyzer-Integrity-OrphanRecord' => 'Сиротская запись в `%1$s`, она должна иметь свой аналог в таблице `%2$s`',
'DBAnalyzer-Integrity-InvalidExtKey' => 'Недопустимый внешний ключ %1$s (столбец: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-MissingExtKey' => 'Отсутствует внешний ключ %1$s (столбец: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-InvalidValue' => 'Недопустимое значение для %1$s (столбец: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Некоторые учетные записи пользователей не имеют профилей',
'DBAnalyzer-Integrity-HKInvalid' => 'Повреждён иерархический ключ `%1$s`',
'DBAnalyzer-Fetch-Count-Error' => 'Ошибка количества выборки в `%1$s`: получено записей %2$d / посчитано %3$d',
'DBAnalyzer-Integrity-FinalClass' => 'Поле `%2$s`.`%1$s` должно иметь то же значение, что и `%3$s`.`%1$s`',
'DBAnalyzer-Integrity-RootFinalClass' => 'Поле `%2$s`.`%1$s` должно содержать допустимый класс',
'DBAnalyzer-Integrity-HKInvalid' => 'Broken hierarchical key `%1$s`~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contain a valid class~~',
]);
// Database Info

View File

@@ -33,10 +33,10 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'DBTools:Disclaimer' => '免责申明: 在应用修复之前, 应先备份数据库',
'DBTools:Error' => '错误',
'DBTools:Count' => '个数',
'DBTools:SQLquery' => 'SQL 查询',
'DBTools:FixitSQLquery' => '用于修复问题的 SQL 查询(说明)',
'DBTools:SQLresult' => 'SQL 结果',
'DBTools:NoError' => '数据库 OK',
'DBTools:SQLquery' => 'SQL查询',
'DBTools:FixitSQLquery' => '修复问题的SQL查询 (指示)',
'DBTools:SQLresult' => 'SQL结果',
'DBTools:NoError' => '数据库正确',
'DBTools:HideIds' => '错误列表',
'DBTools:ShowIds' => '详细视图',
'DBTools:ShowReport' => '报告',
@@ -73,7 +73,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
// Lost attachments
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'DBTools:LostAttachments' => '附件缺失',
'DBTools:LostAttachments:Disclaimer' => '可以在此搜索数据库中丢失或错放的附件. 请注意, 这不是数据恢复工具, 无法恢复已删除的数据.',
'DBTools:LostAttachments:Disclaimer' => '可以在此搜索数据库中丢失或错放的附件. 这不是数据恢复工具, 无法恢复已删除的数据.',
'DBTools:LostAttachments:Button:Analyze' => '分析',
'DBTools:LostAttachments:Button:Restore' => '还原',

View File

@@ -26,12 +26,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Attachments:NoAttachment' => 'Нет вложений.',
'Attachments:PreviewNotAvailable' => 'Предварительный просмотр не доступен для этого типа вложений.',
'Attachments:Error:FileTooLarge' => 'Файл слишком велик для загрузки. %1$s',
'Attachments:Error:UploadedFileEmpty' => 'Полученный файл пуст и не может быть прикреплён.
Либо вы загрузили пустой файл,
либо обратитесь к администратору '.ITOP_APPLICATION_SHORT.' — возможно, диск сервера '.ITOP_APPLICATION_SHORT.' переполнен.',
'Attachments:Render:Icons' => 'Отображать как иконки',
'Attachments:Render:Table' => 'Отображать как список',
'UI:Attachments:DropYourFileHint' => 'Перетащите файлы в любое место этой области',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your '.ITOP_APPLICATION_SHORT.' administrator if the '.ITOP_APPLICATION_SHORT.' server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
'UI:Attachments:DropYourFileHint' => 'Drop files anywhere in this area~~',
]);
//
@@ -62,7 +62,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Attachments:File:Uploader' => 'Пользователь',
'Attachments:File:Size' => 'Размер',
'Attachments:File:MimeType' => 'Тип',
'Attachments:File:DownloadsCount' => 'Скачиваний',
'Attachments:File:DownloadsCount' => 'Downloads~~',
]);
//
// Class: Attachment
@@ -82,15 +82,15 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:TriggerOnAttachmentDownload' => 'Триггер (на скачивание вложения объекта)',
'Class:TriggerOnAttachmentDownload+' => 'Триггер на скачивание вложения объекта заданного класса (или его дочернего класса)',
'Class:TriggerOnAttachmentCreate' => 'Триггер (на создание вложения объекта)',
'Class:TriggerOnAttachmentCreate+' => 'Триггер на создание вложения объекта',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Добавлять файл в email',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'Если отмечено, файл будет автоматически прикреплён к письму при срабатывании действия email',
'Class:TriggerOnAttachmentDelete' => 'Триггер (на удаление вложения объекта)',
'Class:TriggerOnAttachmentDelete+' => 'Триггер на удаление вложения объекта',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Добавлять удалённый файл в email',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'Если отмечено, удалённый файл будет автоматически прикреплён к письму при срабатывании действия email',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Триггер на объект не допускается для класса Attachment. Используйте специальный триггер',
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -20,7 +20,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'bkp-mysqldump-ok' => 'Утилита mysqldump найдена: %1$s',
'bkp-mysqldump-notfound' => 'Утилиту mysqldump найти не удалось: %1$s - пожалуйста, убедитесь в том, что она установлена, и путь до директории с бинарными файлами добавлен в PATH, либо измените параметр mysql_bindir в файле конфигурации.',
'bkp-mysqldump-issue' => 'Утилита mysqldump на может быть запущена (retcode=%1$d) Пожалуйста, убедитесь в том, что она установлена, и путь до директории с бинарными файлами добавлен в PATH, либо измените параметр mysql_bindir в файле конфигурации.',
'bkp-missing-dir' => 'Целевой каталог <code>%1$s</code> не найден',
'bkp-missing-dir' => 'The target directory <code>%1$s</code> could not be found~~',
'bkp-free-disk-space' => '<b>%1$s свободно</b> в <code>%2$s</code>',
'bkp-dir-not-writeable' => '%1$s недоступен для записи',
'bkp-wrong-format-spec' => 'Неправильный формат шаблона названия файлов резервных копий (%1$s). Будет использован шаблон по умолчанию: %2$s',
@@ -38,7 +38,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'bkp-status-backups-manual' => 'Резервное копирование вручную',
'bkp-status-backups-none' => 'Резервных копий ещё нет',
'bkp-next-backup' => 'Следующее резервное копирование будет выполняться в <b>%1$s</b> (%2$s) в %3$s',
'bkp-next-backup-unknown' => 'Следующее резервное копирование пока <b>не запланировано</b>.',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Запустить сейчас!',
'bkp-button-restore-now' => 'Восстановить!',
'bkp-confirm-backup' => 'Пожалуйста, подтвердите, что вы хотите выполнить резервное копирование прямо сейчас.',

View File

@@ -14,7 +14,7 @@
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkFunctionalCIToProviderContract' => 'Связь Функциональная КЕ/Договор с поставщиком',
'Class:lnkFunctionalCIToProviderContract+' => '',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Договор с поставщиком',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name' => 'Договор с поставщиком',
@@ -32,7 +32,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkFunctionalCIToService' => 'Связь Функциональная КЕ/Услуга',
'Class:lnkFunctionalCIToService+' => '',
'Class:lnkFunctionalCIToService/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToService/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToService/Attribute:service_id' => 'Услуга',
'Class:lnkFunctionalCIToService/Attribute:service_id+' => '',
'Class:lnkFunctionalCIToService/Attribute:service_name' => 'Услуга',

View File

@@ -14,7 +14,7 @@
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkFunctionalCIToTicket' => 'Связь Функциональная КЕ/Тикет',
'Class:lnkFunctionalCIToTicket+' => '',
'Class:lnkFunctionalCIToTicket/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToTicket/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Тикет',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref' => 'Тикет',

View File

@@ -27,24 +27,24 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:Change:Overview' => '概况',
'Menu:Change:Overview+' => '',
'Menu:NewChange' => '新建变更',
'Menu:NewChange+' => '新建变更工单',
'Menu:NewChange+' => '新建变更',
'Menu:SearchChanges' => '搜索变更',
'Menu:SearchChanges+' => '搜索变更工单',
'Menu:Change:Shortcuts' => '变更',
'Menu:Change:Shortcuts+' => '快速访问预定义的变更数据',
'Menu:SearchChanges+' => '搜索变更',
'Menu:Change:Shortcuts' => '快捷方式',
'Menu:Change:Shortcuts+' => 'Shortcuts to predefined sets of Changes~~',
'Menu:WaitingAcceptance' => '等待审核的变更',
'Menu:WaitingAcceptance+' => '',
'Menu:WaitingApproval' => '等待批准的变更',
'Menu:WaitingApproval+' => '处于计划状态的变更',
'Menu:Changes' => '所有待处理的变更',
'Menu:Changes+' => '所有待处理的变更',
'Menu:WaitingApproval+' => 'Changes in planned status~~',
'Menu:Changes' => '所有打开的变更',
'Menu:Changes+' => '所有打开的变更',
'Menu:MyChanges' => '分配给我的变更',
'Menu:MyChanges+' => '分配给我的变更 (作为办理人)',
'UI-ChangeManagementOverview-ChangeByCategory-last-7-days' => '最近一周的变更 (按类型)',
'UI-ChangeManagementOverview-Last-7-days' => '最近一周的变更 (按数量)',
'UI-ChangeManagementOverview-ChangeByDomain-last-7-days' => '最近一周的变更 (按范围)',
'UI-ChangeManagementOverview-ChangeByStatus-last-7-days' => '最近一周的变更 (按状态)',
'Tickets:Related:OpenChanges' => '待处理的变更',
'Tickets:Related:OpenChanges' => '打开的变更',
'Tickets:Related:RecentChanges' => '最近的变更 (72小时)',
]);
@@ -132,7 +132,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Change/Attribute:related_incident_list' => '相关事件',
'Class:Change/Attribute:related_incident_list+' => '此变更相关的所有事件',
'Class:Change/Attribute:child_changes_list' => '子变更',
'Class:Change/Attribute:child_changes_list+' => '此变更相关的变更',
'Class:Change/Attribute:child_changes_list+' => '此变更相关的变更',
'Class:Change/Attribute:parent_id_friendlyname' => '父级变更昵称',
'Class:Change/Attribute:parent_id_friendlyname+' => '',
'Class:Change/Attribute:parent_id_finalclass_recall' => '变更类型',

View File

@@ -26,15 +26,15 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:Change:Overview' => '概况',
'Menu:Change:Overview+' => '',
'Menu:NewChange' => '新建变更',
'Menu:NewChange+' => '新建变更工单',
'Menu:NewChange+' => '新建变更',
'Menu:SearchChanges' => '搜索变更',
'Menu:SearchChanges+' => '搜索变更工单',
'Menu:Change:Shortcuts' => '变更',
'Menu:Change:Shortcuts+' => '快速访问预定义的变更数据',
'Menu:SearchChanges+' => '搜索变更',
'Menu:Change:Shortcuts' => '快捷方式',
'Menu:Change:Shortcuts+' => 'Shortcuts to predefined sets of Changes~~',
'Menu:WaitingAcceptance' => '等待审核的变更',
'Menu:WaitingAcceptance+' => '',
'Menu:WaitingApproval' => '等待批准的变更',
'Menu:WaitingApproval+' => '处于计划状态的变更',
'Menu:WaitingApproval+' => 'Changes in planned status~~',
'Menu:Changes' => '所有打开的变更',
'Menu:Changes+' => '所有打开的变更',
'Menu:MyChanges' => '分配给我的变更',
@@ -43,7 +43,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'UI-ChangeManagementOverview-Last-7-days' => '最近一周的变更 (按数量)',
'UI-ChangeManagementOverview-ChangeByDomain-last-7-days' => '最近一周的变更 (按范围)',
'UI-ChangeManagementOverview-ChangeByStatus-last-7-days' => '最近一周的变更 (按状态)',
'Tickets:Related:OpenChanges' => '待处理的变更',
'Tickets:Related:OpenChanges' => '打开的变更',
'Tickets:Related:RecentChanges' => '最近的变更 (72小时)',
]);

View File

@@ -111,7 +111,7 @@ Dict::Add('EN US', 'English', 'English', [
'Class:FunctionalCI/Attribute:documents_list+' => 'All the documents linked to this configuration item',
'Class:FunctionalCI/Attribute:applicationsolution_list' => 'Application solutions',
'Class:FunctionalCI/Attribute:applicationsolution_list+' => 'All the application solutions depending on this configuration item',
'Class:FunctionalCI/Attribute:softwares_list' => 'Software',
'Class:FunctionalCI/Attribute:softwares_list' => 'Softwares',
'Class:FunctionalCI/Attribute:softwares_list+' => 'All the software installed on this configuration item',
'Class:FunctionalCI/Attribute:finalclass' => 'CI sub-class',
'Class:FunctionalCI/Attribute:finalclass+' => 'Name of the final class',

View File

@@ -108,7 +108,7 @@ Dict::Add('EN GB', 'British English', 'British English', [
'Class:FunctionalCI/Attribute:documents_list+' => 'All the documents linked to this configuration item',
'Class:FunctionalCI/Attribute:applicationsolution_list' => 'Application solutions',
'Class:FunctionalCI/Attribute:applicationsolution_list+' => 'All the application solutions depending on this configuration item',
'Class:FunctionalCI/Attribute:softwares_list' => 'Software',
'Class:FunctionalCI/Attribute:softwares_list' => 'Softwares',
'Class:FunctionalCI/Attribute:softwares_list+' => 'All the software installed on this configuration item',
'Class:FunctionalCI/Attribute:finalclass' => 'CI sub-class',
'Class:FunctionalCI/Attribute:finalclass+' => 'Name of the final class',

View File

@@ -494,8 +494,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:ApplicationSolution/Attribute:functionalcis_list+' => 'Alle configuratie-items die deze applicatie-oplossing tot stand brengen',
'Class:ApplicationSolution/Attribute:businessprocess_list' => 'Bedrijfsprocessen',
'Class:ApplicationSolution/Attribute:businessprocess_list+' => 'Alle bedrijfsprocessen die afhankelijk zijn van deze applicatie-oplossing',
'Class:ApplicationSolution/Attribute:logo' => 'Logo',
'Class:ApplicationSolution/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
'Class:ApplicationSolution/Attribute:logo' => 'Logo~~',
'Class:ApplicationSolution/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:ApplicationSolution/Attribute:status' => 'Status',
'Class:ApplicationSolution/Attribute:status+' => '',
'Class:ApplicationSolution/Attribute:status/Value:active' => 'Actief',
@@ -517,8 +517,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:BusinessProcess+' => '',
'Class:BusinessProcess/Attribute:applicationsolutions_list' => 'Applicatie-oplossing',
'Class:BusinessProcess/Attribute:applicationsolutions_list+' => 'Alle applicatie-oplossingen die impact hebben op dit bedrijfsproces',
'Class:BusinessProcess/Attribute:logo' => 'Logo',
'Class:BusinessProcess/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
'Class:BusinessProcess/Attribute:logo' => 'Logo~~',
'Class:BusinessProcess/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:BusinessProcess/Attribute:status' => 'Status',
'Class:BusinessProcess/Attribute:status+' => '',
'Class:BusinessProcess/Attribute:status/Value:active' => 'Actief',
@@ -615,8 +615,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:MiddlewareInstance' => 'Middleware-instantie',
'Class:MiddlewareInstance+' => '',
'Class:MiddlewareInstance/ComplementaryName' => '%1$s - %2$s',
'Class:MiddlewareInstance/Attribute:logo' => 'Logo',
'Class:MiddlewareInstance/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
'Class:MiddlewareInstance/Attribute:logo' => 'Logo~~',
'Class:MiddlewareInstance/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:MiddlewareInstance/Attribute:middleware_id' => 'Middleware',
'Class:MiddlewareInstance/Attribute:middleware_id+' => '',
'Class:MiddlewareInstance/Attribute:middleware_name' => 'Naam middleware',
@@ -649,8 +649,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:WebApplication/Attribute:webserver_id+' => '',
'Class:WebApplication/Attribute:webserver_name' => 'Naam webserver',
'Class:WebApplication/Attribute:webserver_name+' => '',
'Class:WebApplication/Attribute:logo' => 'Logo',
'Class:WebApplication/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
'Class:WebApplication/Attribute:logo' => 'Logo~~',
'Class:WebApplication/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:WebApplication/Attribute:url' => 'Link (URL)',
'Class:WebApplication/Attribute:url+' => '',
]);
@@ -848,7 +848,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:Tape' => 'Tape',
'Class:Tape+' => 'Een Tape (of cartridge) binnen '.ITOP_APPLICATION_SHORT.' is een verwijderbaar opslagonderdeel van een tapebibliotheek.',
'Class:Tape+' => 'A Tape (or cartridge) within '.ITOP_APPLICATION_SHORT.' is a removable piece of storage part of a Tape Library~~',
'Class:Tape/Attribute:name' => 'Naam',
'Class:Tape/Attribute:name+' => '',
'Class:Tape/Attribute:description' => 'Omschrijving',
@@ -898,8 +898,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:Software/Attribute:version+' => '',
'Class:Software/Attribute:documents_list' => 'Documenten',
'Class:Software/Attribute:documents_list+' => 'Alle documenten gelinkt aan deze software',
'Class:Software/Attribute:logo' => 'Logo',
'Class:Software/Attribute:logo+' => 'Wordt gebruikt als pictogram voor alle software-instanties die deze software gebruiken, wanneer deze worden weergegeven in impactanalyses.',
'Class:Software/Attribute:logo' => 'Logo~~',
'Class:Software/Attribute:logo+' => 'Used as icon for all Software Instance objects using this Software, when displayed within impact analysis graphs~~',
'Class:Software/Attribute:type' => 'Type',
'Class:Software/Attribute:type+' => '',
'Class:Software/Attribute:type/Value:DBServer' => 'Databaseserver',
@@ -1015,7 +1015,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:OSLicence/Attribute:osversion_id' => 'Versie besturingssysteem',
'Class:OSLicence/Attribute:osversion_id+' => '',
'Class:OSLicence/Attribute:osfamily_id' => 'Soort besturingssysteem',
'Class:OSLicence/Attribute:osfamily_id+' => '',
'Class:OSLicence/Attribute:osfamily_id+' => '~~',
'Class:OSLicence/Attribute:osversion_name' => 'Naam versie bestandssysteem',
'Class:OSLicence/Attribute:osversion_name+' => '',
'Class:OSLicence/Attribute:virtualmachines_list' => 'Virtuele machines',
@@ -1069,8 +1069,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:OSVersion/Attribute:osfamily_id+' => '',
'Class:OSVersion/Attribute:osfamily_name' => 'Naam soort besturingssysteem',
'Class:OSVersion/Attribute:osfamily_name+' => '',
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'Naam moet uniek zijn binnen de soort besturingssysteem',
'Class:OSVersion/UniquenessRule:name_osfamily' => 'Deze versie van het besturingssysteem bestaat al binnen de soort besturingssysteem',
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'Name must be unique in the OS family~~',
'Class:OSVersion/UniquenessRule:name_osfamily' => 'this OS version already exists within the OS family~~',
]);
//
@@ -1080,8 +1080,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:OSFamily' => 'Soort Besturingssysteem',
'Class:OSFamily+' => '',
'Class:OSFamily/UniquenessRule:name+' => 'Naam moet uniek zijn',
'Class:OSFamily/UniquenessRule:name' => 'Deze soort besturingssysteem bestaat al',
'Class:OSFamily/UniquenessRule:name+' => 'Name must be unique~~',
'Class:OSFamily/UniquenessRule:name' => 'this OS family already exists~~',
]);
//
@@ -1091,12 +1091,12 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:Brand' => 'Merk',
'Class:Brand+' => '',
'Class:Brand/Attribute:logo' => 'Logo',
'Class:Brand/Attribute:logo+' => '',
'Class:Brand/Attribute:logo' => 'Logo~~',
'Class:Brand/Attribute:logo+' => '~~',
'Class:Brand/Attribute:physicaldevices_list' => 'Fysieke apparaten',
'Class:Brand/Attribute:physicaldevices_list+' => 'Alle fysieke apparaten van dit merk',
'Class:Brand/UniquenessRule:name+' => 'De naam van het merk moet uniek zijn',
'Class:Brand/UniquenessRule:name' => 'Dit merk bestaat al',
'Class:Brand/UniquenessRule:name' => 'De naam van het merk bestaat al',
]);
//
@@ -1111,8 +1111,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:Model/Attribute:brand_id+' => '',
'Class:Model/Attribute:brand_name' => 'Naam merk',
'Class:Model/Attribute:brand_name+' => '',
'Class:Model/Attribute:picture' => 'Afbeelding',
'Class:Model/Attribute:picture+' => '',
'Class:Model/Attribute:picture' => 'Picture~~',
'Class:Model/Attribute:picture+' => '~~',
'Class:Model/Attribute:type' => 'Soort apparaat',
'Class:Model/Attribute:type+' => '',
'Class:Model/Attribute:type/Value:PowerSource' => 'Stroombron',
@@ -1164,8 +1164,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:NetworkDeviceType' => 'Soort netwerkapparaat',
'Class:NetworkDeviceType+' => '',
'Class:NetworkDeviceType/Attribute:logo' => 'Logo',
'Class:NetworkDeviceType/Attribute:logo+' => 'Wordt gebruikt als pictogram voor alle netwerkapparaten van dit type wanneer deze in de console worden weergegeven (details, overzichtskaart en impactanalyse).',
'Class:NetworkDeviceType/Attribute:logo' => 'Logo~~',
'Class:NetworkDeviceType/Attribute:logo+' => 'Used as icon for all Network Device of this type, when displayed in console (details, summary card and impact analysis graphs)~~',
'Class:NetworkDeviceType/Attribute:networkdevicesdevices_list' => 'Netwerkapparaten',
'Class:NetworkDeviceType/Attribute:networkdevicesdevices_list+' => 'Alle netwerkapparaten van deze soort',
]);
@@ -1181,8 +1181,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:IOSVersion/Attribute:brand_id+' => '',
'Class:IOSVersion/Attribute:brand_name' => 'Naam merk',
'Class:IOSVersion/Attribute:brand_name+' => '',
'Class:IOSVersion/UniquenessRule:name_brand+' => 'Naam moet uniek zijn binnen het merk',
'Class:IOSVersion/UniquenessRule:name_brand' => 'Deze IOS versie bestaat al binnen dit merk',
'Class:IOSVersion/UniquenessRule:name_brand+' => 'Name must be unique in the brand~~',
'Class:IOSVersion/UniquenessRule:name_brand' => 'this IOS version already exists for this brand~~',
]);
//
@@ -1550,13 +1550,13 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
// Add translation for Fieldsets
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'ConfigMgmt:baseinfo' => 'Globale informatie',
'ConfigMgmt:moreinfo' => 'CI specifieke informatie',
'Storage:moreinfo' => 'Opslaginformatie',
'ConfigMgmt:otherinfo' => 'Andere informatie',
'ConfigMgmt:dates' => 'Datums',
'Software:moreinfo' => 'Software informatie',
'Phone:moreinfo' => 'Telefoon informatie',
'ConfigMgmt:baseinfo' => 'General~~',
'ConfigMgmt:moreinfo' => 'CI specifics~~',
'Storage:moreinfo' => 'Storage specifics~~',
'ConfigMgmt:otherinfo' => 'Description~~',
'ConfigMgmt:dates' => 'Dates~~',
'Software:moreinfo' => 'Software specifics~~',
'Phone:moreinfo' => 'Phone specifics~~',
'Server:baseinfo' => 'Globale informatie',
'Server:Date' => 'Datum',
'Server:moreinfo' => 'Meer informatie',
@@ -1645,8 +1645,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
//
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:PhysicalInterface/Attribute:org_id' => 'Organisatie',
'Class:PhysicalInterface/Attribute:org_id+' => '',
'Class:PhysicalInterface/Attribute:location_id' => 'Locatie',
'Class:PhysicalInterface/Attribute:location_id+' => '',
'Class:PhysicalInterface/Attribute:org_id' => 'Organization~~',
'Class:PhysicalInterface/Attribute:org_id+' => '~~',
'Class:PhysicalInterface/Attribute:location_id' => 'Location~~',
'Class:PhysicalInterface/Attribute:location_id+' => '~~',
]);

View File

@@ -20,9 +20,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Relation:depends on/Description' => 'Элементы, от которых зависит',
'Relation:depends on/DownStream' => 'Зависит от...',
'Relation:depends on/UpStream' => 'Влияет на...',
'Relation:impacts/LoadData' => 'Загрузить данные',
'Relation:impacts/NoFilteredData' => 'выберите объекты и загрузите данные',
'Relation:impacts/FilteredData' => 'Отфильтрованные данные',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects and load data~~',
'Relation:impacts/FilteredData' => 'Filtered data~~',
]);
// Dictionnay conventions
@@ -69,7 +69,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToFunctionalCI' => 'Связь Контакт/Функциональная КЕ',
'Class:lnkContactToFunctionalCI+' => '',
'Class:lnkContactToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkContactToFunctionalCI/Name' => '%1$s / %2$s~~',
'Class:lnkContactToFunctionalCI/Attribute:functionalci_id' => 'Функциональная КЕ',
'Class:lnkContactToFunctionalCI/Attribute:functionalci_id+' => '',
'Class:lnkContactToFunctionalCI/Attribute:functionalci_name' => 'Функциональная КЕ',
@@ -116,7 +116,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:FunctionalCI/Attribute:finalclass' => 'Тип',
'Class:FunctionalCI/Attribute:finalclass+' => '',
'Class:FunctionalCI/Tab:OpenedTickets' => 'Активные тикеты',
'Class:FunctionalCI/Tab:OpenedTickets+' => 'Активные тикеты, затрагивающие эту функциональную КЕ',
'Class:FunctionalCI/Tab:OpenedTickets+' => 'Active Tickets which are impacting this functional CI~~',
]);
//
@@ -126,7 +126,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PhysicalDevice' => 'Физические устройства',
'Class:PhysicalDevice+' => '',
'Class:PhysicalDevice/ComplementaryName' => '%1$s - %2$s',
'Class:PhysicalDevice/ComplementaryName' => '%1$s - %2$s~~',
'Class:PhysicalDevice/Attribute:serialnumber' => 'Серийный номер',
'Class:PhysicalDevice/Attribute:serialnumber+' => '',
'Class:PhysicalDevice/Attribute:location_id' => 'Расположение',
@@ -166,7 +166,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Rack' => 'Стойка',
'Class:Rack+' => '',
'Class:Rack/ComplementaryName' => '%1$s - %2$s',
'Class:Rack/ComplementaryName' => '%1$s - %2$s~~',
'Class:Rack/Attribute:nb_u' => 'Высота (U)',
'Class:Rack/Attribute:nb_u+' => 'Количество юнитов',
'Class:Rack/Attribute:device_list' => 'Устройства',
@@ -233,7 +233,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ConnectableCI' => 'Подключаемые КЕ',
'Class:ConnectableCI+' => 'Подключаемые КЕ',
'Class:ConnectableCI/ComplementaryName' => '%1$s - %2$s',
'Class:ConnectableCI/ComplementaryName' => '%1$s - %2$s~~',
'Class:ConnectableCI/Attribute:networkdevice_list' => 'Сетевые устройства',
'Class:ConnectableCI/Attribute:networkdevice_list+' => 'Связанные сетевые устройства',
'Class:ConnectableCI/Attribute:physicalinterface_list' => 'Сетевые интерфейсы',
@@ -247,7 +247,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:DatacenterDevice' => 'Устройства дата-центра',
'Class:DatacenterDevice+' => 'Устройства дата-центра',
'Class:DatacenterDevice/ComplementaryName' => '%1$s - %2$s',
'Class:DatacenterDevice/ComplementaryName' => '%1$s - %2$s~~',
'Class:DatacenterDevice/Attribute:rack_id' => 'Стойка',
'Class:DatacenterDevice/Attribute:rack_id+' => '',
'Class:DatacenterDevice/Attribute:rack_name' => 'Стойка',
@@ -285,7 +285,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:NetworkDevice' => 'Сетевое устройство',
'Class:NetworkDevice+' => 'Сетевое устройство',
'Class:NetworkDevice/ComplementaryName' => '%1$s - %2$s',
'Class:NetworkDevice/ComplementaryName' => '%1$s - %2$s~~',
'Class:NetworkDevice/Attribute:networkdevicetype_id' => 'Тип устройства',
'Class:NetworkDevice/Attribute:networkdevicetype_id+' => '',
'Class:NetworkDevice/Attribute:networkdevicetype_name' => 'Тип устройства',
@@ -307,7 +307,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Server' => 'Сервер',
'Class:Server+' => 'Сервер',
'Class:Server/ComplementaryName' => '%1$s - %2$s',
'Class:Server/ComplementaryName' => '%1$s - %2$s~~',
'Class:Server/Attribute:osfamily_id' => 'Семейство ОС',
'Class:Server/Attribute:osfamily_id+' => 'Семейство операционной системы',
'Class:Server/Attribute:osfamily_name' => 'Семейство ОС',
@@ -335,7 +335,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:StorageSystem' => 'Система хранения',
'Class:StorageSystem+' => 'Система хранения',
'Class:StorageSystem/ComplementaryName' => '%1$s - %2$s',
'Class:StorageSystem/ComplementaryName' => '%1$s - %2$s~~',
'Class:StorageSystem/Attribute:logicalvolume_list' => 'Логические тома',
'Class:StorageSystem/Attribute:logicalvolume_list+' => 'Логические тома',
]);
@@ -347,7 +347,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:SANSwitch' => 'SAN коммутатор',
'Class:SANSwitch+' => 'SAN коммутатор',
'Class:SANSwitch/ComplementaryName' => '%1$s - %2$s',
'Class:SANSwitch/ComplementaryName' => '%1$s - %2$s~~',
'Class:SANSwitch/Attribute:datacenterdevice_list' => 'Устройства',
'Class:SANSwitch/Attribute:datacenterdevice_list+' => 'Подключенные устройства',
]);
@@ -359,7 +359,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:TapeLibrary' => 'Ленточная библиотека',
'Class:TapeLibrary+' => 'Ленточная библиотека',
'Class:TapeLibrary/ComplementaryName' => '%1$s - %2$s',
'Class:TapeLibrary/ComplementaryName' => '%1$s - %2$s~~',
'Class:TapeLibrary/Attribute:tapes_list' => 'Ленты',
'Class:TapeLibrary/Attribute:tapes_list+' => 'Ленты',
]);
@@ -371,7 +371,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:NAS' => 'Сетевое хранилище',
'Class:NAS+' => 'Сетевое хранилище',
'Class:NAS/ComplementaryName' => '%1$s - %2$s',
'Class:NAS/ComplementaryName' => '%1$s - %2$s~~',
'Class:NAS/Attribute:nasfilesystem_list' => 'Файловые системы',
'Class:NAS/Attribute:nasfilesystem_list+' => 'Файловые системы',
]);
@@ -383,7 +383,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PC' => 'Персональный компьютер',
'Class:PC+' => 'Персональный компьютер',
'Class:PC/ComplementaryName' => '%1$s - %2$s',
'Class:PC/ComplementaryName' => '%1$s - %2$s~~',
'Class:PC/Attribute:osfamily_id' => 'Семейство ОС',
'Class:PC/Attribute:osfamily_id+' => 'Семейство операционной системы',
'Class:PC/Attribute:osfamily_name' => 'Семейство ОС',
@@ -411,7 +411,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Printer' => 'Принтер',
'Class:Printer+' => 'Принтер',
'Class:Printer/ComplementaryName' => '%1$s - %2$s',
'Class:Printer/ComplementaryName' => '%1$s - %2$s~~',
]);
//
@@ -421,7 +421,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PowerConnection' => 'Электропитание',
'Class:PowerConnection+' => 'Подключения электропитания',
'Class:PowerConnection/ComplementaryName' => '%1$s - %2$s',
'Class:PowerConnection/ComplementaryName' => '%1$s - %2$s~~',
]);
//
@@ -431,7 +431,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PowerSource' => 'Источник электропитания',
'Class:PowerSource+' => 'Источник электропитания',
'Class:PowerSource/ComplementaryName' => '%1$s - %2$s',
'Class:PowerSource/ComplementaryName' => '%1$s - %2$s~~',
'Class:PowerSource/Attribute:pdus_list' => 'Распределители',
'Class:PowerSource/Attribute:pdus_list+' => 'Распределители электропитания (PDU)',
]);
@@ -443,7 +443,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PDU' => 'Распределитель ЭП',
'Class:PDU+' => 'Распределитель электропитания',
'Class:PDU/ComplementaryName' => '%1$s - %2$s - %3$s - %4$s',
'Class:PDU/ComplementaryName' => '%1$s - %2$s - %3$s - %4$s~~',
'Class:PDU/Attribute:rack_id' => 'Стойка',
'Class:PDU/Attribute:rack_id+' => '',
'Class:PDU/Attribute:rack_name' => 'Стойка',
@@ -461,7 +461,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Peripheral' => 'Периферийное устройство',
'Class:Peripheral+' => 'Периферийное устройство',
'Class:Peripheral/ComplementaryName' => '%1$s - %2$s',
'Class:Peripheral/ComplementaryName' => '%1$s - %2$s~~',
]);
//
@@ -471,7 +471,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Enclosure' => 'Крейт',
'Class:Enclosure+' => 'Крейт, шасси и т.п.',
'Class:Enclosure/ComplementaryName' => '%1$s - %2$s - %3$s',
'Class:Enclosure/ComplementaryName' => '%1$s - %2$s - %3$s~~',
'Class:Enclosure/Attribute:rack_id' => 'Стойка',
'Class:Enclosure/Attribute:rack_id+' => '',
'Class:Enclosure/Attribute:rack_name' => 'Стойка',
@@ -493,8 +493,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ApplicationSolution/Attribute:functionalcis_list+' => 'Конфигурационные единицы в составе прикладного решения',
'Class:ApplicationSolution/Attribute:businessprocess_list' => 'Бизнес-процессы',
'Class:ApplicationSolution/Attribute:businessprocess_list+' => 'Бизнес-процессы, зависящие от прикладного решения',
'Class:ApplicationSolution/Attribute:logo' => 'Логотип',
'Class:ApplicationSolution/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:ApplicationSolution/Attribute:logo' => 'Logo~~',
'Class:ApplicationSolution/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:ApplicationSolution/Attribute:status' => 'Статус',
'Class:ApplicationSolution/Attribute:status+' => '',
'Class:ApplicationSolution/Attribute:status/Value:active' => 'Активный',
@@ -516,8 +516,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:BusinessProcess+' => '',
'Class:BusinessProcess/Attribute:applicationsolutions_list' => 'Прикладные решения',
'Class:BusinessProcess/Attribute:applicationsolutions_list+' => 'Прикладные решения, влияющие на бизнес-процесс',
'Class:BusinessProcess/Attribute:logo' => 'Логотип',
'Class:BusinessProcess/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:BusinessProcess/Attribute:logo' => 'Logo~~',
'Class:BusinessProcess/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:BusinessProcess/Attribute:status' => 'Статус',
'Class:BusinessProcess/Attribute:status+' => '',
'Class:BusinessProcess/Attribute:status/Value:active' => 'Активный',
@@ -613,9 +613,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:MiddlewareInstance' => 'Экземпляр промежуточного ПО',
'Class:MiddlewareInstance+' => 'Экземпляр промежуточного ПО',
'Class:MiddlewareInstance/ComplementaryName' => '%1$s - %2$s',
'Class:MiddlewareInstance/Attribute:logo' => 'Логотип',
'Class:MiddlewareInstance/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:MiddlewareInstance/ComplementaryName' => '%1$s - %2$s~~',
'Class:MiddlewareInstance/Attribute:logo' => 'Logo~~',
'Class:MiddlewareInstance/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:MiddlewareInstance/Attribute:middleware_id' => 'Промежуточное ПО',
'Class:MiddlewareInstance/Attribute:middleware_id+' => '',
'Class:MiddlewareInstance/Attribute:middleware_name' => 'Промежуточное ПО',
@@ -629,7 +629,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:DatabaseSchema' => 'Схема базы данных',
'Class:DatabaseSchema+' => 'Схема базы данных',
'Class:DatabaseSchema/ComplementaryName' => '%1$s - %2$s',
'Class:DatabaseSchema/ComplementaryName' => '%1$s - %2$s~~',
'Class:DatabaseSchema/Attribute:dbserver_id' => 'Сервер БД',
'Class:DatabaseSchema/Attribute:dbserver_id+' => '',
'Class:DatabaseSchema/Attribute:dbserver_name' => 'Сервер БД',
@@ -643,13 +643,13 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:WebApplication' => 'Веб-приложение',
'Class:WebApplication+' => 'Веб-приложение',
'Class:WebApplication/ComplementaryName' => '%1$s - %2$s',
'Class:WebApplication/ComplementaryName' => '%1$s - %2$s~~',
'Class:WebApplication/Attribute:webserver_id' => 'Веб-сервер',
'Class:WebApplication/Attribute:webserver_id+' => '',
'Class:WebApplication/Attribute:webserver_name' => 'Веб-сервер',
'Class:WebApplication/Attribute:webserver_name+' => '',
'Class:WebApplication/Attribute:logo' => 'Логотип',
'Class:WebApplication/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:WebApplication/Attribute:logo' => 'Logo~~',
'Class:WebApplication/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
'Class:WebApplication/Attribute:url' => 'URL',
'Class:WebApplication/Attribute:url+' => '',
]);
@@ -725,7 +725,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:VirtualMachine' => 'Виртуальная машина',
'Class:VirtualMachine+' => 'Виртуальная машина',
'Class:VirtualMachine/ComplementaryName' => '%1$s - %2$s',
'Class:VirtualMachine/ComplementaryName' => '%1$s - %2$s~~',
'Class:VirtualMachine/Attribute:virtualhost_id' => 'Виртуальный хост',
'Class:VirtualMachine/Attribute:virtualhost_id+' => '',
'Class:VirtualMachine/Attribute:virtualhost_name' => 'Виртуальный хост',
@@ -786,7 +786,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkServerToVolume' => 'Связь Сервер/Том',
'Class:lnkServerToVolume+' => 'Связь Сервер/Том',
'Class:lnkServerToVolume/Name' => '%1$s / %2$s',
'Class:lnkServerToVolume/Name' => '%1$s / %2$s~~',
'Class:lnkServerToVolume/Attribute:volume_id' => 'Том',
'Class:lnkServerToVolume/Attribute:volume_id+' => '',
'Class:lnkServerToVolume/Attribute:volume_name' => 'Том',
@@ -806,7 +806,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkVirtualDeviceToVolume' => 'Связь Виртуальное устройство/Том',
'Class:lnkVirtualDeviceToVolume+' => 'Связь Виртуальное устройство/Том',
'Class:lnkVirtualDeviceToVolume/Name' => '%1$s / %2$s',
'Class:lnkVirtualDeviceToVolume/Name' => '%1$s / %2$s~~',
'Class:lnkVirtualDeviceToVolume/Attribute:volume_id' => 'Том',
'Class:lnkVirtualDeviceToVolume/Attribute:volume_id+' => '',
'Class:lnkVirtualDeviceToVolume/Attribute:volume_name' => 'Том',
@@ -826,7 +826,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkSanToDatacenterDevice' => 'Связь SAN коммутатор/Устройство дата-центра',
'Class:lnkSanToDatacenterDevice+' => 'Связь SAN коммутатор/Устройство дата-центра',
'Class:lnkSanToDatacenterDevice/Name' => '%1$s / %2$s',
'Class:lnkSanToDatacenterDevice/Name' => '%1$s / %2$s~~',
'Class:lnkSanToDatacenterDevice/Attribute:san_id' => 'SAN коммутатор',
'Class:lnkSanToDatacenterDevice/Attribute:san_id+' => '',
'Class:lnkSanToDatacenterDevice/Attribute:san_name' => 'SAN коммутатор',
@@ -847,7 +847,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Tape' => 'Лента',
'Class:Tape+' => 'Лента (или картридж) в '.ITOP_APPLICATION_SHORT.' — съёмный носитель, являющийся частью ленточной библиотеки',
'Class:Tape+' => 'A Tape (or cartridge) within '.ITOP_APPLICATION_SHORT.' is a removable piece of storage part of a Tape Library~~',
'Class:Tape/Attribute:name' => 'Название',
'Class:Tape/Attribute:name+' => '',
'Class:Tape/Attribute:description' => 'Описание',
@@ -888,7 +888,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Software' => 'Программное обеспечение',
'Class:Software+' => 'Программное обеспечение',
'Class:Software/ComplementaryName' => '%1$s - %2$s',
'Class:Software/ComplementaryName' => '%1$s - %2$s~~',
'Class:Software/Attribute:name' => 'Название',
'Class:Software/Attribute:name+' => '',
'Class:Software/Attribute:vendor' => 'Вендор',
@@ -897,8 +897,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Software/Attribute:version+' => '',
'Class:Software/Attribute:documents_list' => 'Документы',
'Class:Software/Attribute:documents_list+' => 'Все документы, связанные с этим ПО',
'Class:Software/Attribute:logo' => 'Логотип',
'Class:Software/Attribute:logo+' => 'Используется как иконка для всех экземпляров ПО, использующих это ПО, на графах анализа влияния',
'Class:Software/Attribute:logo' => 'Logo~~',
'Class:Software/Attribute:logo+' => 'Used as icon for all Software Instance objects using this Software, when displayed within impact analysis graphs~~',
'Class:Software/Attribute:type' => 'Тип',
'Class:Software/Attribute:type+' => '',
'Class:Software/Attribute:type/Value:DBServer' => 'Сервер БД',
@@ -947,7 +947,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OSPatch/Attribute:functionalcis_list+' => 'Все системы, где установлен этот патч',
'Class:OSPatch/Attribute:osversion_id' => 'Версия ОС',
'Class:OSPatch/Attribute:osversion_id+' => '',
'Class:OSPatch/Attribute:osfamily_id' => 'Семейство ОС',
'Class:OSPatch/Attribute:osfamily_id' => 'OS Family~~',
'Class:OSPatch/Attribute:osfamily_id+' => '',
'Class:OSPatch/Attribute:osversion_name' => 'Версия ОС',
'Class:OSPatch/Attribute:osversion_name+' => '',
@@ -1010,11 +1010,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OSLicence' => 'Лицензия ОС',
'Class:OSLicence+' => 'Лицензия ОС',
'Class:OSLicence/ComplementaryName' => '%1$s - %2$s',
'Class:OSLicence/ComplementaryName' => '%1$s - %2$s~~',
'Class:OSLicence/Attribute:osversion_id' => 'Версия ОС',
'Class:OSLicence/Attribute:osversion_id+' => '',
'Class:OSLicence/Attribute:osfamily_id' => 'Семейство ОС',
'Class:OSLicence/Attribute:osfamily_id+' => '',
'Class:OSLicence/Attribute:osfamily_id' => 'OS Family~~',
'Class:OSLicence/Attribute:osfamily_id+' => '~~',
'Class:OSLicence/Attribute:osversion_name' => 'Версия ОС',
'Class:OSLicence/Attribute:osversion_name+' => '',
'Class:OSLicence/Attribute:virtualmachines_list' => 'Виртуальные машины',
@@ -1030,7 +1030,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:SoftwareLicence' => 'Лицензия ПО',
'Class:SoftwareLicence+' => 'Лицензия ПО',
'Class:SoftwareLicence/ComplementaryName' => '%1$s - %2$s',
'Class:SoftwareLicence/ComplementaryName' => '%1$s - %2$s~~',
'Class:SoftwareLicence/Attribute:software_id' => 'ПО',
'Class:SoftwareLicence/Attribute:software_id+' => '',
'Class:SoftwareLicence/Attribute:software_name' => 'ПО',
@@ -1046,7 +1046,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToLicence' => 'Связь Документ/Лицензия',
'Class:lnkDocumentToLicence+' => '',
'Class:lnkDocumentToLicence/Name' => '%1$s / %2$s',
'Class:lnkDocumentToLicence/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToLicence/Attribute:licence_id' => 'Лицензия',
'Class:lnkDocumentToLicence/Attribute:licence_id+' => '',
'Class:lnkDocumentToLicence/Attribute:licence_name' => 'Лицензия',
@@ -1068,8 +1068,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OSVersion/Attribute:osfamily_id+' => '',
'Class:OSVersion/Attribute:osfamily_name' => 'Семейство ОС',
'Class:OSVersion/Attribute:osfamily_name+' => '',
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'Название должно быть уникальным в рамках семейства ОС',
'Class:OSVersion/UniquenessRule:name_osfamily' => 'такая версия ОС уже существует в этом семействе ОС',
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'Name must be unique in the OS family~~',
'Class:OSVersion/UniquenessRule:name_osfamily' => 'this OS version already exists within the OS family~~',
]);
//
@@ -1079,8 +1079,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OSFamily' => 'Семейство ОС',
'Class:OSFamily+' => '',
'Class:OSFamily/UniquenessRule:name+' => 'Название должно быть уникальным',
'Class:OSFamily/UniquenessRule:name' => 'такое семейство ОС уже существует',
'Class:OSFamily/UniquenessRule:name+' => 'Name must be unique~~',
'Class:OSFamily/UniquenessRule:name' => 'this OS family already exists~~',
]);
//
@@ -1090,8 +1090,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Brand' => 'Бренд',
'Class:Brand+' => '',
'Class:Brand/Attribute:logo' => 'Логотип',
'Class:Brand/Attribute:logo+' => '',
'Class:Brand/Attribute:logo' => 'Logo~~',
'Class:Brand/Attribute:logo+' => '~~',
'Class:Brand/Attribute:physicaldevices_list' => 'Устройства',
'Class:Brand/Attribute:physicaldevices_list+' => 'Все устройства этого бренда',
'Class:Brand/UniquenessRule:name+' => 'Название должно быть уникальным',
@@ -1105,13 +1105,13 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Model' => 'Модель',
'Class:Model+' => '',
'Class:Model/ComplementaryName' => '%1$s - %2$s',
'Class:Model/ComplementaryName' => '%1$s - %2$s~~',
'Class:Model/Attribute:brand_id' => 'Бренд',
'Class:Model/Attribute:brand_id+' => '',
'Class:Model/Attribute:brand_name' => 'Бренд',
'Class:Model/Attribute:brand_name+' => '',
'Class:Model/Attribute:picture' => 'Изображение',
'Class:Model/Attribute:picture+' => '',
'Class:Model/Attribute:picture' => 'Picture~~',
'Class:Model/Attribute:picture+' => '~~',
'Class:Model/Attribute:type' => 'Тип устройства',
'Class:Model/Attribute:type+' => '',
'Class:Model/Attribute:type/Value:PowerSource' => 'Источник электропитания',
@@ -1163,8 +1163,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:NetworkDeviceType' => 'Тип сетевого устройства',
'Class:NetworkDeviceType+' => '',
'Class:NetworkDeviceType/Attribute:logo' => 'Логотип',
'Class:NetworkDeviceType/Attribute:logo+' => 'Используется как иконка для всех сетевых устройств этого типа в консоли (детали, карточка сводки и графы анализа влияния)',
'Class:NetworkDeviceType/Attribute:logo' => 'Logo~~',
'Class:NetworkDeviceType/Attribute:logo+' => 'Used as icon for all Network Device of this type, when displayed in console (details, summary card and impact analysis graphs)~~',
'Class:NetworkDeviceType/Attribute:networkdevicesdevices_list' => 'Устройства',
'Class:NetworkDeviceType/Attribute:networkdevicesdevices_list+' => 'Все сетевые устройства этого типа',
]);
@@ -1180,8 +1180,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:IOSVersion/Attribute:brand_id+' => '',
'Class:IOSVersion/Attribute:brand_name' => 'Бренд',
'Class:IOSVersion/Attribute:brand_name+' => '',
'Class:IOSVersion/UniquenessRule:name_brand+' => 'Название должно быть уникальным в рамках бренда',
'Class:IOSVersion/UniquenessRule:name_brand' => 'такая версия IOS уже существует для этого бренда',
'Class:IOSVersion/UniquenessRule:name_brand+' => 'Name must be unique in the brand~~',
'Class:IOSVersion/UniquenessRule:name_brand' => 'this IOS version already exists for this brand~~',
]);
//
@@ -1191,7 +1191,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToPatch' => 'Связь Документ/Патч',
'Class:lnkDocumentToPatch+' => '',
'Class:lnkDocumentToPatch/Name' => '%1$s / %2$s',
'Class:lnkDocumentToPatch/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToPatch/Attribute:patch_id' => 'Патч',
'Class:lnkDocumentToPatch/Attribute:patch_id+' => '',
'Class:lnkDocumentToPatch/Attribute:patch_name' => 'Патч',
@@ -1209,7 +1209,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkSoftwareInstanceToSoftwarePatch' => 'Связь Экземпляр ПО/Патч ПО',
'Class:lnkSoftwareInstanceToSoftwarePatch+' => '',
'Class:lnkSoftwareInstanceToSoftwarePatch/Name' => '%1$s / %2$s',
'Class:lnkSoftwareInstanceToSoftwarePatch/Name' => '%1$s / %2$s~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id' => 'Патч ПО',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id+' => '',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_name' => 'Патч ПО',
@@ -1227,7 +1227,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkFunctionalCIToOSPatch' => 'Связь Функциональная КЕ/Патч ОС',
'Class:lnkFunctionalCIToOSPatch+' => '',
'Class:lnkFunctionalCIToOSPatch/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToOSPatch/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id' => 'Патч ОС',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id+' => '',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_name' => 'Патч ОС',
@@ -1245,7 +1245,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToSoftware' => 'Связь Документ/ПО',
'Class:lnkDocumentToSoftware+' => '',
'Class:lnkDocumentToSoftware/Name' => '%1$s / %2$s',
'Class:lnkDocumentToSoftware/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToSoftware/Attribute:software_id' => 'ПО',
'Class:lnkDocumentToSoftware/Attribute:software_id+' => '',
'Class:lnkDocumentToSoftware/Attribute:software_name' => 'ПО',
@@ -1263,8 +1263,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Subnet' => 'Подсеть',
'Class:Subnet+' => '',
'Class:Subnet/Name' => '%1$s/%2$s',
'Class:Subnet/ComplementaryName' => '%1$s - %2$s',
'Class:Subnet/Name' => '%1$s/%2$s~~',
'Class:Subnet/ComplementaryName' => '%1$s - %2$s~~',
'Class:Subnet/Attribute:description' => 'Описание',
'Class:Subnet/Attribute:description+' => '',
'Class:Subnet/Attribute:subnet_name' => 'Имя подсети',
@@ -1309,7 +1309,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkSubnetToVLAN' => 'Связь Подсеть/VLAN',
'Class:lnkSubnetToVLAN+' => '',
'Class:lnkSubnetToVLAN/Name' => '%1$s / %2$s',
'Class:lnkSubnetToVLAN/Name' => '%1$s / %2$s~~',
'Class:lnkSubnetToVLAN/Attribute:subnet_id' => 'Подсеть',
'Class:lnkSubnetToVLAN/Attribute:subnet_id+' => '',
'Class:lnkSubnetToVLAN/Attribute:subnet_ip' => 'IP-адрес подсети',
@@ -1363,7 +1363,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PhysicalInterface' => 'Физический интерфейс',
'Class:PhysicalInterface+' => '',
'Class:PhysicalInterface/Name' => '%2$s %1$s',
'Class:PhysicalInterface/Name' => '%2$s %1$s~~',
'Class:PhysicalInterface/Attribute:connectableci_id' => 'Устройства',
'Class:PhysicalInterface/Attribute:connectableci_id+' => '',
'Class:PhysicalInterface/Attribute:connectableci_name' => 'Устройства',
@@ -1379,7 +1379,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkPhysicalInterfaceToVLAN' => 'Связь Физический интерфейс/VLAN',
'Class:lnkPhysicalInterfaceToVLAN+' => '',
'Class:lnkPhysicalInterfaceToVLAN/Name' => '%1$s %2$s / %3$s',
'Class:lnkPhysicalInterfaceToVLAN/Name' => '%1$s %2$s / %3$s~~',
'Class:lnkPhysicalInterfaceToVLAN/Attribute:physicalinterface_id' => 'Физический интерфейс',
'Class:lnkPhysicalInterfaceToVLAN/Attribute:physicalinterface_id+' => '',
'Class:lnkPhysicalInterfaceToVLAN/Attribute:physicalinterface_name' => 'Физический интерфейс',
@@ -1433,7 +1433,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkConnectableCIToNetworkDevice' => 'Связь Подключаемая КЕ/Сетевое устройство',
'Class:lnkConnectableCIToNetworkDevice+' => '',
'Class:lnkConnectableCIToNetworkDevice/Name' => '%1$s / %2$s',
'Class:lnkConnectableCIToNetworkDevice/Name' => '%1$s / %2$s~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id' => 'Сетевое устройство',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id+' => '',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_name' => 'Сетевое устройство',
@@ -1461,7 +1461,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkApplicationSolutionToFunctionalCI' => 'Связь Прикладное решение/Функциональная КЕ',
'Class:lnkApplicationSolutionToFunctionalCI+' => '',
'Class:lnkApplicationSolutionToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkApplicationSolutionToFunctionalCI/Name' => '%1$s / %2$s~~',
'Class:lnkApplicationSolutionToFunctionalCI/Attribute:applicationsolution_id' => 'Прикладное решение',
'Class:lnkApplicationSolutionToFunctionalCI/Attribute:applicationsolution_id+' => '',
'Class:lnkApplicationSolutionToFunctionalCI/Attribute:applicationsolution_name' => 'Прикладное решение',
@@ -1479,7 +1479,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkApplicationSolutionToBusinessProcess' => 'Связь Прикладное решение/Бизнес-процесс',
'Class:lnkApplicationSolutionToBusinessProcess+' => '',
'Class:lnkApplicationSolutionToBusinessProcess/Name' => '%1$s / %2$s',
'Class:lnkApplicationSolutionToBusinessProcess/Name' => '%1$s / %2$s~~',
'Class:lnkApplicationSolutionToBusinessProcess/Attribute:businessprocess_id' => 'Бизнес-процесс',
'Class:lnkApplicationSolutionToBusinessProcess/Attribute:businessprocess_id+' => '',
'Class:lnkApplicationSolutionToBusinessProcess/Attribute:businessprocess_name' => 'Бизнес-процесс',
@@ -1497,7 +1497,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Group' => 'Группа',
'Class:Group+' => '',
'Class:Group/ComplementaryName' => '%1$s - %2$s',
'Class:Group/ComplementaryName' => '%1$s - %2$s~~',
'Class:Group/Attribute:name' => 'Название',
'Class:Group/Attribute:name+' => '',
'Class:Group/Attribute:status' => 'Статус',
@@ -1533,7 +1533,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkGroupToCI' => 'Связь Группа/КЕ',
'Class:lnkGroupToCI+' => '',
'Class:lnkGroupToCI/Name' => '%1$s / %2$s',
'Class:lnkGroupToCI/Name' => '%1$s / %2$s~~',
'Class:lnkGroupToCI/Attribute:group_id' => 'Группа',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'Группа',
@@ -1549,20 +1549,20 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
// Add translation for Fieldsets
Dict::Add('RU RU', 'Russian', 'Русский', [
'ConfigMgmt:baseinfo' => 'Общее',
'ConfigMgmt:moreinfo' => 'Особенности КЕ',
'Storage:moreinfo' => 'Особенности системы хранения',
'ConfigMgmt:otherinfo' => 'Описание',
'ConfigMgmt:dates' => 'Даты',
'Software:moreinfo' => 'Особенности ПО',
'Phone:moreinfo' => 'Особенности телефона',
'ConfigMgmt:baseinfo' => 'General~~',
'ConfigMgmt:moreinfo' => 'CI specifics~~',
'Storage:moreinfo' => 'Storage specifics~~',
'ConfigMgmt:otherinfo' => 'Description~~',
'ConfigMgmt:dates' => 'Dates~~',
'Software:moreinfo' => 'Software specifics~~',
'Phone:moreinfo' => 'Phone specifics~~',
'Server:baseinfo' => 'Основное',
'Server:Date' => 'Даты',
'Server:moreinfo' => 'Спецификация',
'Server:otherinfo' => 'Дополнительно',
'Server:power' => 'Электропитание',
'Class:Subnet/Tab:IPUsage' => 'Использование IP-адресов',
'Class:Subnet/Tab:IPUsage+' => 'Какие IP в этой подсети используются, а какие нет',
'Class:Subnet/Tab:IPUsage+' => 'Which IP within this Subnet is used or not~~',
'Class:Subnet/Tab:IPUsage-explain' => 'Интерфейсы с IP-адресом в диапазоне: <em>%1$s</em> - <em>%2$s</em>',
'Class:Subnet/Tab:FreeIPs' => 'Свободные IP-адреса',
'Class:Subnet/Tab:FreeIPs-count' => 'Свободных IP-адресов: %1$s',
@@ -1577,7 +1577,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToFunctionalCI' => 'Связь Документ/Функциональная КЕ',
'Class:lnkDocumentToFunctionalCI+' => '',
'Class:lnkDocumentToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkDocumentToFunctionalCI/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id' => 'Функциональная КЕ',
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id+' => '',
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_name' => 'Функциональная КЕ',
@@ -1644,8 +1644,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:PhysicalInterface/Attribute:org_id' => 'Организация',
'Class:PhysicalInterface/Attribute:org_id+' => '',
'Class:PhysicalInterface/Attribute:location_id' => 'Местоположение',
'Class:PhysicalInterface/Attribute:location_id+' => '',
'Class:PhysicalInterface/Attribute:org_id' => 'Organization~~',
'Class:PhysicalInterface/Attribute:org_id+' => '~~',
'Class:PhysicalInterface/Attribute:location_id' => 'Location~~',
'Class:PhysicalInterface/Attribute:location_id+' => '~~',
]);

View File

@@ -30,11 +30,11 @@
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Relation:impacts/Description' => '被影响的元素',
'Relation:impacts/DownStream' => '影响...',
'Relation:impacts/DownStream+' => '影响的元素',
'Relation:impacts/DownStream+' => '影响的元素',
'Relation:impacts/UpStream' => '依赖于...',
'Relation:impacts/UpStream+' => '被影响的元素...',
'Relation:impacts/UpStream+' => '此元素依赖的元素...',
// Legacy entries
'Relation:depends on/Description' => '被影响的元素...',
'Relation:depends on/Description' => '此元素依赖的元素...',
'Relation:depends on/DownStream' => '依赖于...',
'Relation:depends on/UpStream' => '影响...',
'Relation:impacts/LoadData' => '加载数据',
@@ -129,7 +129,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:PhysicalDevice/ComplementaryName' => '%1$s - %2$s',
'Class:PhysicalDevice/Attribute:serialnumber' => '序列号',
'Class:PhysicalDevice/Attribute:serialnumber+' => '',
'Class:PhysicalDevice/Attribute:location_id' => '位置',
'Class:PhysicalDevice/Attribute:location_id' => '地点',
'Class:PhysicalDevice/Attribute:location_id+' => '',
'Class:PhysicalDevice/Attribute:location_name' => '名称',
'Class:PhysicalDevice/Attribute:location_name+' => '',
@@ -183,7 +183,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:TelephonyCI' => '通讯项',
'Class:TelephonyCI+' => '通信设备的抽象类',
'Class:TelephonyCI+' => '',
'Class:TelephonyCI/Attribute:phonenumber' => '电话号码',
'Class:TelephonyCI/Attribute:phonenumber+' => '',
]);
@@ -206,7 +206,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:MobilePhone+' => '终端用户设备.无线电话',
'Class:MobilePhone/Attribute:imei' => 'IMEI',
'Class:MobilePhone/Attribute:imei+' => '',
'Class:MobilePhone/Attribute:hw_pin' => '硬件PIN码',
'Class:MobilePhone/Attribute:hw_pin' => '硬件 PIN 码',
'Class:MobilePhone/Attribute:hw_pin+' => '',
]);
@@ -216,7 +216,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:IPPhone' => 'IP 电话',
'Class:IPPhone+' => '用于联网打电话的物理设备',
'Class:IPPhone+' => '用于电话的物理设备,连接到网络',
]);
//
@@ -262,13 +262,13 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DatacenterDevice/Attribute:nb_u+' => '',
'Class:DatacenterDevice/Attribute:managementip' => '管理IP',
'Class:DatacenterDevice/Attribute:managementip+' => '',
'Class:DatacenterDevice/Attribute:powerA_id' => '电源A',
'Class:DatacenterDevice/Attribute:powerA_id' => '电源',
'Class:DatacenterDevice/Attribute:powerA_id+' => '',
'Class:DatacenterDevice/Attribute:powerA_name' => '电源A名称',
'Class:DatacenterDevice/Attribute:powerA_name' => '电源名称',
'Class:DatacenterDevice/Attribute:powerA_name+' => '',
'Class:DatacenterDevice/Attribute:powerB_id' => '电源B',
'Class:DatacenterDevice/Attribute:powerB_id' => '电源',
'Class:DatacenterDevice/Attribute:powerB_id+' => '',
'Class:DatacenterDevice/Attribute:powerB_name' => '电源B名称',
'Class:DatacenterDevice/Attribute:powerB_name' => '电源名称',
'Class:DatacenterDevice/Attribute:powerB_name+' => '',
'Class:DatacenterDevice/Attribute:fiberinterfacelist_list' => '光口',
'Class:DatacenterDevice/Attribute:fiberinterfacelist_list+' => '此设备的所有光纤接口',
@@ -295,12 +295,12 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:NetworkDevice/Attribute:networkdevicetype_name+' => '',
'Class:NetworkDevice/Attribute:connectablecis_list' => '设备',
'Class:NetworkDevice/Attribute:connectablecis_list+' => '连接到此网络设备的所有设备',
'Class:NetworkDevice/Attribute:iosversion_id' => 'IOS 版本',
'Class:NetworkDevice/Attribute:iosversion_id' => 'IOS版本',
'Class:NetworkDevice/Attribute:iosversion_id+' => '',
'Class:NetworkDevice/Attribute:iosversion_name' => 'IOS 版本名称',
'Class:NetworkDevice/Attribute:iosversion_name' => 'IOS版本名称',
'Class:NetworkDevice/Attribute:iosversion_name+' => '',
'Class:NetworkDevice/Attribute:ios_end_of_support' => 'IOS 过保日期',
'Class:NetworkDevice/Attribute:ios_end_of_support+' => '厂不再为该IOS版本提供修复的时间.',
'Class:NetworkDevice/Attribute:ios_end_of_support' => 'IOS过保时间',
'Class:NetworkDevice/Attribute:ios_end_of_support+' => '厂不再为该IOS版本提供修复的时间.',
'Class:NetworkDevice/Attribute:ram' => '内存',
'Class:NetworkDevice/Attribute:ram+' => '',
]);
@@ -321,8 +321,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Server/Attribute:osversion_id+' => '',
'Class:Server/Attribute:osversion_name' => 'OS 版本名称',
'Class:Server/Attribute:osversion_name+' => '',
'Class:Server/Attribute:os_end_of_support' => 'OS 过保日期',
'Class:Server/Attribute:os_end_of_support+' => '厂商不再为该操作系统版本提供补丁的日期.',
'Class:Server/Attribute:os_end_of_support' => 'OS 过保时间',
'Class:Server/Attribute:os_end_of_support+' => '厂商不再为该操作系统版本提供补丁的时间.',
'Class:Server/Attribute:oslicence_id' => 'OS 许可证',
'Class:Server/Attribute:oslicence_id+' => '',
'Class:Server/Attribute:oslicence_name' => 'OS 许可证名称',
@@ -332,7 +332,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Server/Attribute:ram' => '内存',
'Class:Server/Attribute:ram+' => '',
'Class:Server/Attribute:logicalvolumes_list' => '逻辑卷',
'Class:Server/Attribute:logicalvolumes_list+' => '连接到此物理机的所有逻辑卷',
'Class:Server/Attribute:logicalvolumes_list+' => '连接到此服务器的所有逻辑卷',
]);
//
@@ -341,7 +341,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:StorageSystem' => '存储系统',
'Class:StorageSystem+' => '存储系统通常使用光纤或以太网, 以逻辑卷为单位进行管理.',
'Class:StorageSystem+' => '存储系统可以使用光纤或以太网连接. 存储系统以逻辑卷为单位进行管理.',
'Class:StorageSystem/ComplementaryName' => '%1$s - %2$s',
'Class:StorageSystem/Attribute:logicalvolume_list' => '逻辑卷',
'Class:StorageSystem/Attribute:logicalvolume_list+' => '此存储系统包含的所有逻辑卷',
@@ -399,8 +399,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:PC/Attribute:osversion_id+' => '',
'Class:PC/Attribute:osversion_name' => 'OS 版本名称',
'Class:PC/Attribute:osversion_name+' => '',
'Class:PC/Attribute:os_end_of_support' => 'OS 过保日期',
'Class:PC/Attribute:os_end_of_support+' => '厂商不再为该操作系统版本提供补丁的日期.',
'Class:PC/Attribute:os_end_of_support' => 'OS 过保时间',
'Class:PC/Attribute:os_end_of_support+' => '厂商不再为该操作系统版本提供补丁的时间.',
'Class:PC/Attribute:cpu' => 'CPU',
'Class:PC/Attribute:cpu+' => '',
'Class:PC/Attribute:ram' => '内存',
@@ -439,7 +439,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:PowerSource' => '电源',
'Class:PowerSource+' => '物理电源连接. 用于描述数据中心的任何类型的电源 (主电源入口, 断路器…) ,但不是 PDU.',
'Class:PowerSource+' => '物理电源连接. 用于记录数据中心的任何类型的电源 (主电源入口, 断路器…) ,但不是 PDU.',
'Class:PowerSource/ComplementaryName' => '%1$s - %2$s',
'Class:PowerSource/Attribute:pdus_list' => 'PDU',
'Class:PowerSource/Attribute:pdus_list+' => '使用此电源的所有 PDU',
@@ -451,7 +451,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:PDU' => 'PDU',
'Class:PDU+' => '供电线路. PDU (Power Distribution Unit) 是一种配备了多个输出的电力分配设备,特别是为数据中心内的服务器机架和网络设备机架供电.',
'Class:PDU+' => '电力供应连接. PDU (Power Distribution Unit) 是一种配备了多个输出的电力分配设备,特别是为数据中心内的服务器机架和网络设备机架供电.',
'Class:PDU/ComplementaryName' => '%1$s - %2$s - %3$s - %4$s',
'Class:PDU/Attribute:rack_id' => '机架',
'Class:PDU/Attribute:rack_id+' => '',
@@ -498,7 +498,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ApplicationSolution' => '应用方案',
'Class:ApplicationSolution+' => '应用方案描述了复杂应用是如何由多个基本组件组装的. 应用方案的主要信息是组件之间的依赖关系列表.',
'Class:ApplicationSolution+' => '应用方案描述了复杂应用是如何由多个基本组件之间组装(或依赖)的. 应用方案的主要信息是关系列表.',
'Class:ApplicationSolution/Attribute:functionalcis_list' => '配置项',
'Class:ApplicationSolution/Attribute:functionalcis_list+' => '此应用方案包含的所有配置项',
'Class:ApplicationSolution/Attribute:businessprocess_list' => '业务流程',
@@ -523,7 +523,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:BusinessProcess' => '业务流程',
'Class:BusinessProcess+' => '业务流程描述运营过程中的高级流程或重要应用. 它与应用方案非常类似, 但是用于描述更高层次的应用或整个组织的流程.',
'Class:BusinessProcess+' => '业务流程用于描述运营过程中的高级流程或重要应用. 它与应用方案非常类似, 但是为了描述更高层次的应用或整个组织的流程.',
'Class:BusinessProcess/Attribute:applicationsolutions_list' => '应用方案',
'Class:BusinessProcess/Attribute:applicationsolutions_list+' => '影响此业务流程的所有应用方案',
'Class:BusinessProcess/Attribute:logo' => 'Logo',
@@ -551,7 +551,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Software/Attribute:version' => '版本',
'Class:Software/Attribute:version+' => '',
'Class:Software/Attribute:end_of_support' => '过保日期',
'Class:Software/Attribute:end_of_support+' => '厂提供的最后支持日期,此后不再提供此软件版本的补丁.',
'Class:Software/Attribute:end_of_support+' => '厂提供的最后一个支持日期,此后不再提供此软件版本的补丁.',
'Class:Software/Attribute:documents_list' => '文档',
'Class:Software/Attribute:documents_list+' => '此软件相关的所有文档',
'Class:Software/Attribute:logo' => 'Logo',
@@ -591,7 +591,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SoftwareInstance/Attribute:software_id+' => '',
'Class:SoftwareInstance/Attribute:software_name' => '软件名称',
'Class:SoftwareInstance/Attribute:software_name+' => '',
'Class:SoftwareInstance/Attribute:software_end_of_support' => '软件过保日期',
'Class:SoftwareInstance/Attribute:software_end_of_support' => '软件过保时间',
'Class:SoftwareInstance/Attribute:software_end_of_support+' => '厂商为此软件版本提供补丁的最后日期.',
'Class:SoftwareInstance/Attribute:softwarelicence_id' => '软件许可证',
'Class:SoftwareInstance/Attribute:softwarelicence_id+' => '',
@@ -625,8 +625,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DBServer' => 'DB 服务器',
'Class:DBServer+' => '提供数据库服务的软件实例 (例如: MySQL 8.0, Oracle, SQL Server, DB2…), 通常安装在特定系统(PC, 物理机或虚拟机)上.',
'Class:DBServer/Attribute:dbschema_list' => '数据库模式',
'Class:DBServer/Attribute:dbschema_list+' => '此数据库服务器上的所有数据库模式',
'Class:DBServer/Attribute:dbschema_list' => '数据库架构',
'Class:DBServer/Attribute:dbschema_list+' => '此数据库服务器上的所有数据库架构',
]);
//
@@ -679,7 +679,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DatabaseSchema' => '数据库模式',
'Class:DatabaseSchema' => '数据库架构',
'Class:DatabaseSchema+' => 'DB 服务器上运行的逻辑数据库实例.',
'Class:DatabaseSchema/ComplementaryName' => '%1$s - %2$s',
'Class:DatabaseSchema/Attribute:dbserver_id' => 'DB 服务器',
@@ -712,7 +712,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:VirtualDevice' => '虚拟设备',
'Class:VirtualDevice+' => '用于服务器虚拟化的抽象类 (虚拟化主机和虚拟机).',
'Class:VirtualDevice+' => '用于服务器虚拟化的抽象类 (宿主机和虚拟机).',
'Class:VirtualDevice/Attribute:status' => '状态',
'Class:VirtualDevice/Attribute:status+' => '',
'Class:VirtualDevice/Attribute:status/Value:implementation' => '生效',
@@ -732,10 +732,10 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:VirtualHost' => '虚拟化主机',
'Class:VirtualHost' => '宿主机',
'Class:VirtualHost+' => '对虚拟设备(虚拟机监视器, 集群,...)的抽象, 用于托管虚拟机.',
'Class:VirtualHost/Attribute:virtualmachine_list' => '虚拟机',
'Class:VirtualHost/Attribute:virtualmachine_list+' => '此虚拟化主机托管的所有虚拟机',
'Class:VirtualHost/Attribute:virtualmachine_list+' => '此宿主机托管的所有虚拟机',
]);
//
@@ -778,7 +778,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:VirtualMachine' => '虚拟机',
'Class:VirtualMachine+' => '与物理机类似的虚拟设备,它既可以托管在 Hypervisor 上,也可以托管在集群上.',
'Class:VirtualMachine/ComplementaryName' => '%1$s - %2$s',
'Class:VirtualMachine/Attribute:virtualhost_id' => '虚拟化主机',
'Class:VirtualMachine/Attribute:virtualhost_id' => '宿主机',
'Class:VirtualMachine/Attribute:virtualhost_id+' => '',
'Class:VirtualMachine/Attribute:virtualhost_name' => '名称',
'Class:VirtualMachine/Attribute:virtualhost_name+' => '',
@@ -1061,7 +1061,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkDocumentToLicence' => '链接 文档/许可证',
'Class:lnkDocumentToLicence+' => '此链接用于当某个文档适用于某个许可证时.',
'Class:lnkDocumentToLicence+' => 'Link used when a Document is applicable to a License.~~',
'Class:lnkDocumentToLicence/Name' => '%1$s / %2$s',
'Class:lnkDocumentToLicence/Attribute:licence_id' => '许可证',
'Class:lnkDocumentToLicence/Attribute:licence_id+' => '',
@@ -1085,9 +1085,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:OSVersion/Attribute:osfamily_name' => '名称',
'Class:OSVersion/Attribute:osfamily_name+' => '',
'Class:OSVersion/Attribute:end_of_support' => '过保日期',
'Class:OSVersion/Attribute:end_of_support+' => '厂商停止为此 OS 版本提供补丁的截止日期.',
'Class:OSVersion/Attribute:end_of_support+' => 'The date after which the editor ceases to provide patches for this OS version.~~',
'Class:OSVersion/Attribute:ospatches_list' => 'OS 补丁',
'Class:OSVersion/Attribute:ospatches_list+' => '此 OS 版本的所有补丁',
'Class:OSVersion/Attribute:ospatches_list+' => 'All the OS patches for this OS version~~',
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'OS 家族的名称必须唯一',
'Class:OSVersion/UniquenessRule:name_osfamily' => '此 OS 版本已在 OS 家族中存在',
]);
@@ -1222,7 +1222,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkDocumentToPatch' => '链接 文档/补丁',
'Class:lnkDocumentToPatch+' => '此链接用于当某个文档适用于某个补丁时.',
'Class:lnkDocumentToPatch+' => 'Link used when a Document is applicable to a Patch.~~',
'Class:lnkDocumentToPatch/Name' => '%1$s / %2$s',
'Class:lnkDocumentToPatch/Attribute:patch_id' => '补丁',
'Class:lnkDocumentToPatch/Attribute:patch_id+' => '',
@@ -1240,7 +1240,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkSoftwareInstanceToSoftwarePatch' => '链接 软件实例/软件补丁',
'Class:lnkSoftwareInstanceToSoftwarePatch+' => '此链接表示某个软件补丁已应用于软件实例.',
'Class:lnkSoftwareInstanceToSoftwarePatch+' => 'This link indicates that a software patch has been applied to a software instance.~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Name' => '%1$s / %2$s',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id' => '软件补丁',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id+' => '',
@@ -1276,7 +1276,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkDocumentToSoftware' => '链接 文档/软件',
'Class:lnkDocumentToSoftware+' => '此链接用于当某个文档适用于某个软件时.',
'Class:lnkDocumentToSoftware+' => 'Link used when a Document is applicable to Software.~~',
'Class:lnkDocumentToSoftware/Name' => '%1$s / %2$s',
'Class:lnkDocumentToSoftware/Attribute:software_id' => '软件',
'Class:lnkDocumentToSoftware/Attribute:software_id+' => '',
@@ -1415,7 +1415,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkPhysicalInterfaceToVLAN' => '链接 物理网卡/VLAN',
'Class:lnkPhysicalInterfaceToVLAN+' => '此链接表示物理网卡是否属于某个VLAN (虚拟局域网).',
'Class:lnkPhysicalInterfaceToVLAN+' => 'This link indicates when a network interface is part of a VLAN (虚拟局域网).',
'Class:lnkPhysicalInterfaceToVLAN/Name' => '%1$s %2$s / %3$s',
'Class:lnkPhysicalInterfaceToVLAN/Attribute:physicalinterface_id' => '物理网卡',
'Class:lnkPhysicalInterfaceToVLAN/Attribute:physicalinterface_id+' => '',
@@ -1450,7 +1450,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:FiberChannelInterface' => '光口',
'Class:FiberChannelInterface+' => '一种主要用于存储系统的高速网络接口.',
'Class:FiberChannelInterface+' => '主要用于存储系统的一种高速网络接口.',
'Class:FiberChannelInterface/Attribute:speed' => '速率',
'Class:FiberChannelInterface/Attribute:speed+' => '',
'Class:FiberChannelInterface/Attribute:topology' => '拓扑',
@@ -1469,7 +1469,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkConnectableCIToNetworkDevice' => '链接 可连接项/网络设备',
'Class:lnkConnectableCIToNetworkDevice+' => '定义设备连接到哪些网络设备.',
'Class:lnkConnectableCIToNetworkDevice+' => 'Defines on which network equipment a device is connected.~~',
'Class:lnkConnectableCIToNetworkDevice/Name' => '%1$s / %2$s',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id' => '网络设备',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id+' => '',
@@ -1569,7 +1569,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkGroupToCI' => '链接 配置组/配置项',
'Class:lnkGroupToCI+' => '此链接表示某个功能配置项属于某个配置组.',
'Class:lnkGroupToCI+' => 'This link indicates when a Functional CI is part of a Group.~~',
'Class:lnkGroupToCI/Name' => '%1$s / %2$s',
'Class:lnkGroupToCI/Attribute:group_id' => '组',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
@@ -1589,7 +1589,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkDocumentToFunctionalCI' => '链接 文档/功能配置项',
'Class:lnkDocumentToFunctionalCI+' => '此链接用于当某个文档适用于某个功能配置项时.',
'Class:lnkDocumentToFunctionalCI+' => 'Link used when a Document is applicable to a Functional CI.~~',
'Class:lnkDocumentToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id' => '功能配置项',
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id+' => '',

View File

@@ -12,7 +12,7 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:ConfigFileEditor' => 'Текстовый редактор',
'Menu:ConfigFileEditor' => 'Plain text editor~~',
'itop-config/Operation:Edit/Title' => 'Редактор файла конфигурации',
'config-edit-intro' => 'Будьте очень осторожны при редактировании файла конфигурации. В частности, отредактированы могут быть только глобальная конфигурация и настройки модулей.',
'Menu:ConfigEditor' => 'Основные настройки',
@@ -26,8 +26,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'config-parse-error' => 'Строка %2$d: %1$s.<br/>Файл не был обновлен.',
'config-current-line' => 'Редактируемая строка: %1$s',
'config-saved-warning-db-password' => 'Изменения успешно сохранены, но резервная копия не будет работать из-за неподдерживаемых символов в пароле базы данных.',
'config-error-transaction' => 'Ошибка: недопустимый ID транзакции. Конфигурация <b>НЕ</b> была изменена.',
'config-error-file-changed' => 'Ошибка: файл конфигурации изменился с момента открытия, сохранение невозможно. Обновите страницу и примените изменения заново.',
'config-not-allowed-in-demo' => 'Извините, '.ITOP_APPLICATION_SHORT.' работает в <b>демонстрационном режиме</b>: файл конфигурации нельзя редактировать.',
'config-interactive-not-allowed' => ITOP_APPLICATION_SHORT.': интерактивное редактирование конфигурации отключено. См. <code>\'config_editor\' => \'disabled\'</code> в файле конфигурации.',
'config-error-transaction' => 'Error: invalid Transaction ID. The configuration was <b>NOT</b> modified.~~',
'config-error-file-changed' => 'Error: The Configuration file has changed since you opened it and cannot be saved. Refresh and apply your changes again.~~',
'config-not-allowed-in-demo' => 'Sorry, '.ITOP_APPLICATION_SHORT.' is in <b>demonstration mode</b>: the configuration file cannot be edited.~~',
'config-interactive-not-allowed' => ITOP_APPLICATION_SHORT.' interactive edition of the configuration as been disabled. See <code>\'config_editor\' => \'disabled\'</code> in the configuration file.~~',
]);

View File

@@ -1,177 +0,0 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2013 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
/**
* @author Vladimir Kunin <v.b.kunin@gmail.com>
*
*/
//
// Fieldsets for Container classes
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Container:baseinfo' => 'Общее',
'Container:moreinfo' => 'Особенности контейнеризации',
'Container:otherinfo' => 'Даты и описание',
]);
//
// Class Container Image
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerImage/Name' => '%1$s %2$s',
'Class:ContainerImage/ComplementaryName' => '%1$s - %2$s',
'Class:ContainerImage' => 'Образ контейнера',
'Class:ContainerImage+' => 'Образ ПО, готового к запуску в контейнере',
'Class:ContainerImage/Attribute:name' => 'Название',
'Class:ContainerImage/Attribute:name+' => '',
'Class:ContainerImage/Attribute:version' => 'Версия',
'Class:ContainerImage/Attribute:version+' => '',
'Class:ContainerImage/Attribute:description' => 'Описание',
'Class:ContainerImage/Attribute:description+' => '',
'Class:ContainerImage/Attribute:publisher' => 'Издатель',
'Class:ContainerImage/Attribute:publisher+' => 'Издатель образа, например php, nginx и т. д.',
'Class:ContainerImage/Attribute:image' => 'Образ',
'Class:ContainerImage/Attribute:image+' => 'Подробная информация для получения образа на соответствующей платформе хостинга',
'Class:ContainerImage/Attribute:type_id' => 'Тип',
'Class:ContainerImage/Attribute:type_id+' => 'Тип образа',
'Class:ContainerImage/Attribute:software_id' => 'ПО',
'Class:ContainerImage/Attribute:software_id+' => '',
'Class:ContainerImage/Attribute:containerapplications_list' => 'Контейнерные приложения',
'Class:ContainerImage/Attribute:containerapplications_list+' => 'Приложения, для которых используется этот образ',
]);
//
// Class Container Application
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerApplication/Name' => '%1$s',
'Class:ContainerApplication/ComplementaryName' => '%1$s',
'Class:ContainerApplication' => 'Контейнерное приложение',
'Class:ContainerApplication+' => 'Приложение, развёрнутое на платформе контейнеризации',
'Class:ContainerApplication/Attribute:descriptor' => 'Файл развёртывания',
'Class:ContainerApplication/Attribute:descriptor+' => 'Файл, описывающий развёртывание приложения на платформе контейнеризации (например, Docker Compose, Helm Chart и т. д.)',
'Class:ContainerApplication/Attribute:containervirtualhost_id' => 'Хост контейнеров',
'Class:ContainerApplication/Attribute:containervirtualhost_id+' => 'Платформа контейнеризации, на которой выполняется приложение',
'Class:ContainerApplication/Attribute:logo' => 'Логотип',
'Class:ContainerApplication/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:ContainerApplication/Attribute:containertype_id' => 'Тип контейнеризации',
'Class:ContainerApplication/Attribute:containertype_id+' => 'Технология, используемая для контейнеризации',
'Class:ContainerApplication/Attribute:containerimages_list' => 'Образы контейнеров',
'Class:ContainerApplication/Attribute:containerimages_list+' => 'Образы ПО, используемые для сборки контейнерного приложения',
]);
//
// Class: lnkContainerApplicationToImage
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContainerApplicationToImage' => 'Связь Контейнерное приложение / Образ',
'Class:lnkContainerApplicationToImage+' => '',
'Class:lnkContainerApplicationToImage/Name' => '%1$s / %2$s',
'Class:lnkContainerApplicationToImage/Name+' => '',
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id' => 'Контейнерное приложение',
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id+' => 'Приложение, использующее этот образ',
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id' => 'Образ контейнера',
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id+' => 'Образ ПО, используемый для сборки контейнерного приложения',
]);
//
// Class Container Virtual Host
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerVirtualHost/Name' => '%1$s',
'Class:ContainerVirtualHost/ComplementaryName' => '',
'Class:ContainerVirtualHost' => 'Платформа контейнеризации',
'Class:ContainerVirtualHost+' => 'Платформа, на которой приложения выполняются в виде контейнеров',
'Class:ContainerVirtualHost/Attribute:containertype_id' => 'Тип контейнеризации',
'Class:ContainerVirtualHost/Attribute:containertype_id+' => 'Технология, обеспечивающая контейнеризацию',
'Class:ContainerVirtualHost/Attribute:status' => 'Статус',
'Class:ContainerVirtualHost/Attribute:status+' => 'Статус платформы контейнеризации',
'Class:ContainerVirtualHost/Attribute:containerapplications_list' => 'Приложения',
'Class:ContainerVirtualHost/Attribute:containerapplications_list+' => 'Приложения, выполняющиеся в этом контейнерном окружении',
]);
//
// Class Container Host
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerHost/Name' => '%1$s',
'Class:ContainerHost/ComplementaryName' => '%1$s-%2$s',
'Class:ContainerHost' => 'Хост контейнеров',
'Class:ContainerHost+' => 'Хост, выделенный под контейнеры. Базовый элемент платформы контейнеризации',
'Class:ContainerHost/Attribute:containercluster_id' => 'Кластер контейнеров',
'Class:ContainerHost/Attribute:containercluster_id+' => '',
'Class:ContainerHost/Attribute:role' => 'Роль',
'Class:ContainerHost/Attribute:role+' => 'Роль хоста в кластере: master или worker. Standalone, если хост не входит в кластер.',
'Class:ContainerHost/Attribute:system_id' => 'Система',
'Class:ContainerHost/Attribute:system_id+' => 'Системой может быть сервер, виртуальная машина, облако и т. д.',
'Class:ContainerHost/Attribute:role/Value:master' => 'Мастер',
'Class:ContainerHost/Attribute:role/Value:worker' => 'Воркер',
'Class:ContainerHost/Attribute:role/Value:standalone' => 'Автономный',
]);
//
// Class Container Cluster
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerCluster/Name' => '%1$s',
'Class:ContainerCluster/ComplementaryName' => '',
'Class:ContainerCluster' => 'Кластер контейнеров',
'Class:ContainerCluster+' => 'Платформа контейнеризации, состоящая из кластера хостов контейнеров',
'Class:ContainerCluster/Attribute:redundancy' => 'Конфигурация резервирования',
'Class:ContainerCluster/Attribute:redundancy/disabled' => 'Кластер в работе, если все его хосты в работе',
'Class:ContainerCluster/Attribute:redundancy/count' => 'Кластер в работе, если по крайней мере %1$s хост(-ов) в работе',
'Class:ContainerCluster/Attribute:redundancy/percent' => 'Кластер в работе, если по крайней мере %1$s %% хостов в работе',
'Class:ContainerCluster/Attribute:containerhosts_list' => 'Хосты контейнеров',
'Class:ContainerCluster/Attribute:containerhosts_list+' => 'Хосты, входящие в этот кластер',
]);
//
// Class Container Type
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerType/Name' => '%1$s',
'Class:ContainerType/ComplementaryName' => '',
'Class:ContainerType' => 'Тип контейнеризации',
'Class:ContainerType+' => 'Технология, обеспечивающая контейнеризацию',
]);
//
// Class Container Type
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ContainerImageType/Name' => '%1$s',
'Class:ContainerImageType/ComplementaryName' => '',
'Class:ContainerImageType' => 'Тип образа контейнера',
'Class:ContainerImageType+' => 'Типология образов контейнеров',
]);
//
// Class Cloud, Server and Virtual Machine
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Cloud/Attribute:containerhosts_list' => 'Хосты контейнеров',
'Class:Cloud/Attribute:containerhosts_list+' => 'Список хостов контейнеров, работающих в этом облаке',
'Class:Server/Attribute:containerhosts_list' => 'Хосты контейнеров',
'Class:Server/Attribute:containerhosts_list+' => 'Список хостов контейнеров, работающих на этом сервере',
'Class:VirtualMachine/Attribute:containerhosts_list' => 'Хосты контейнеров',
'Class:VirtualMachine/Attribute:containerhosts_list+' => 'Список хостов контейнеров, работающих на этой виртуальной машине',
'Class:Software/Attribute:containerimages_list' => 'Образы контейнеров',
'Class:Software/Attribute:containerimages_list+' => 'Список образов контейнеров, использующих это ПО',
]);

View File

@@ -105,7 +105,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ContainerHost/Name' => '%1$s',
'Class:ContainerHost/ComplementaryName' => '%1$s-%2$s',
'Class:ContainerHost' => '容器主机',
'Class:ContainerHost' => '容器宿主机',
'Class:ContainerHost+' => '托管容器的宿主机. 它是容器平台的基本元素',
'Class:ContainerHost/Attribute:containercluster_id' => '容器集群',
'Class:ContainerHost/Attribute:containercluster_id+' => '',
@@ -126,12 +126,12 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ContainerCluster/Name' => '%1$s',
'Class:ContainerCluster/ComplementaryName' => '',
'Class:ContainerCluster' => '容器集群',
'Class:ContainerCluster+' => '由一组容器主机组成的容器平台',
'Class:ContainerCluster+' => '由一组容器宿主机组成的容器平台',
'Class:ContainerCluster/Attribute:redundancy' => '冗余配置',
'Class:ContainerCluster/Attribute:redundancy/disabled' => '当所有主机都在运行时, 集群才是正常的',
'Class:ContainerCluster/Attribute:redundancy/count' => '当至少 %1$s 个主机在运行时, 集群才是正常的',
'Class:ContainerCluster/Attribute:redundancy/percent' => '当至少 %1$s %% 的在主机运行时,集群才是正常的',
'Class:ContainerCluster/Attribute:containerhosts_list' => '容器主机',
'Class:ContainerCluster/Attribute:containerhosts_list' => '容器宿主机',
'Class:ContainerCluster/Attribute:containerhosts_list+' => '此集群的主机',
]);
@@ -162,12 +162,12 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Cloud/Attribute:containerhosts_list' => '容器主机',
'Class:Cloud/Attribute:containerhosts_list+' => '运行在此云平台上的容器主机列表',
'Class:Server/Attribute:containerhosts_list' => '容器主机',
'Class:Server/Attribute:containerhosts_list+' => '运行在此物理机上的容器主机列表',
'Class:VirtualMachine/Attribute:containerhosts_list' => '容器主机',
'Class:VirtualMachine/Attribute:containerhosts_list+' => '运行在此虚拟机上的容器主机列表',
'Class:Cloud/Attribute:containerhosts_list' => '容器宿主机',
'Class:Cloud/Attribute:containerhosts_list+' => '运行在此云平台上的容器宿主机列表',
'Class:Server/Attribute:containerhosts_list' => '容器宿主机',
'Class:Server/Attribute:containerhosts_list+' => '运行在此物理机上的容器宿主机列表',
'Class:VirtualMachine/Attribute:containerhosts_list' => '容器宿主机',
'Class:VirtualMachine/Attribute:containerhosts_list+' => '运行在此虚拟机上的容器宿主机列表',
'Class:Software/Attribute:containerimages_list' => '容器镜像',
'Class:Software/Attribute:containerimages_list+' => '运行此软件的容器镜像列表',
]);

View File

@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'Во время обновления приложение будет доступно только для чтения.',
'iTopUpdate:UI:Status' => 'Статус',
'iTopUpdate:UI:Action' => 'Обновление',
'iTopUpdate:UI:Setup' => 'Установка '.ITOP_APPLICATION_SHORT.'',
'iTopUpdate:UI:Setup' => ITOP_APPLICATION_SHORT.' Setup~~',
'iTopUpdate:UI:History' => 'История версий',
'iTopUpdate:UI:Progress' => 'Ход обновления',
'iTopUpdate:UI:Backup:Label' => 'Создать резервную копию базы данных',
@@ -59,12 +59,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Ошибка проверки файловой системы',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Приложение может быть обновлено',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Приложение не может быть обновлено: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Внимание: обновление приложения может завершиться неудачей: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Обнаружены изменённые файлы</b>, частичное обновление невозможно.</br>Следуйте <a target="_blank" href="%2$s">инструкции</a>, чтобы обновить iTop вручную. Для обновления приложения нужно использовать <a href="%1$s">установщик</a>.',
'iTopUpdate:UI:CheckInProgress' => 'Пожалуйста, подождите, идёт проверка целостности',
'iTopUpdate:UI:SetupLaunch' => 'Запустить установщик '.ITOP_APPLICATION_SHORT.'',
'iTopUpdate:UI:SetupLaunchConfirm' => 'Это запустит установщик '.ITOP_APPLICATION_SHORT.', вы уверены?',
'iTopUpdate:UI:FastSetupLaunch' => 'Быстрая установка',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
'iTopUpdate:UI:SetupLaunch' => 'Launch '.ITOP_APPLICATION_SHORT.' Setup~~',
'iTopUpdate:UI:SetupLaunchConfirm' => 'This will launch '.ITOP_APPLICATION_SHORT.' setup, are you sure?~~',
'iTopUpdate:UI:FastSetupLaunch' => 'Fast Setup~~',
'iTopUpdate:UI:SetupMessage:Ready' => 'Всё готово к началу',
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Переход в режим технического обслуживания',
'iTopUpdate:UI:SetupMessage:Backup' => 'Резервное копирование базы данных',

View File

@@ -4,7 +4,7 @@
* Localized data
*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*

View File

@@ -4,7 +4,7 @@
* Localized data
*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*

View File

@@ -45,7 +45,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
]);
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:ProblemManagement' => 'Управление проблемами',
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
'Menu:Problem:Shortcuts' => 'Ярлыки',
'Menu:FAQCategory' => 'Категории FAQ',
'Menu:FAQCategory+' => 'Категории FAQ',

View File

@@ -56,7 +56,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:FAQ+' => '常见问题',
'Class:FAQ/Attribute:title' => '标题',
'Class:FAQ/Attribute:title+' => '',
'Class:FAQ/Attribute:summary' => '要',
'Class:FAQ/Attribute:summary' => '要',
'Class:FAQ/Attribute:summary+' => '',
'Class:FAQ/Attribute:description' => '描述',
'Class:FAQ/Attribute:description+' => '',
@@ -68,7 +68,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:FAQ/Attribute:error_code+' => '',
'Class:FAQ/Attribute:key_words' => '关键字',
'Class:FAQ/Attribute:key_words+' => '',
'Class:FAQ/Attribute:domains' => '领域',
'Class:FAQ/Attribute:domains' => '范围',
]);
//

View File

@@ -14,6 +14,6 @@
Dict::Add('RU RU', 'Russian', 'Русский', [
'FilesInformation:Error:MissingFile' => 'Файл %1$s отсутствует',
'FilesInformation:Error:CorruptedFile' => 'Файл %1$s повреждён',
'FilesInformation:Error:ListCorruptedFile' => 'Повреждённые файлы: %1$s ',
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Невозможно выполнить запись в файл %1$s',
]);

View File

@@ -4,7 +4,7 @@
* Localized data
*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @license https://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
@@ -21,7 +21,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [
// Errors
'FilesInformation:Error:MissingFile' => '文件丢失: %1$s',

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Set>
<DataFlowProtocol alias="DataFlowProtocol" id="1">
<name>HTTP</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="2">
<name>HTTPS</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="3">
<name>FTP</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="4">
<name>SFTP</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="5">
<name>AS2</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="6">
<name>X.400</name>
</DataFlowProtocol>
<DataFlowProtocol alias="DataFlowProtocol" id="7">
<name>FTPS</name>
</DataFlowProtocol>
</Set>

View File

@@ -1,18 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<Set>
<DataFlowType alias="DataFlowType" id="1">
<name>REST API</name>
<name>HTTP</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="2">
<name>KAFKA</name>
<name>HTTPS</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="3">
<name>JSON</name>
<name>FTP</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="4">
<name>XML</name>
<name>SFTP</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="5">
<name>CSV</name>
<name>AS2</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="6">
<name>X.400</name>
</DataFlowType>
<DataFlowType alias="DataFlowType" id="7">
<name>FTPS</name>
</DataFlowType>
</Set>

View File

@@ -97,31 +97,6 @@
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="dataflowprotocol_id" xsi:type="AttributeExternalKey">
<sql>dataflowprotocol_id</sql>
<filter/>
<dependencies/>
<is_null_allowed>true</is_null_allowed>
<target_class>DataFlowProtocol</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="documentation_url" xsi:type="AttributeURL">
<sql>documentation_url</sql>
<default_value/>
<target>_blank</target>
<dependencies/>
<validation_pattern/>
<is_null_allowed>true</is_null_allowed>
<tracking_level>all</tracking_level>
</field>
<field id="last_change_date" xsi:type="AttributeDate">
<sql>last_change_date</sql>
<default_value/>
<dependencies/>
<is_null_allowed>true</is_null_allowed>
<tracking_level>all</tracking_level>
</field>
<field id="status" xsi:type="AttributeEnum">
<sql>status</sql>
<values>
@@ -291,11 +266,8 @@
<item id="dataflowtype_id">
<rank>50</rank>
</item>
<item id="dataflowprotocol_id">
<rank>60</rank>
</item>
<item id="execution_frequency">
<rank>70</rank>
<rank>60</rank>
</item>
</items>
<rank>20</rank>
@@ -310,9 +282,6 @@
<item id="move2production">
<rank>10</rank>
</item>
<item id="last_change_date">
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
@@ -321,11 +290,8 @@
<item id="description">
<rank>10</rank>
</item>
<item id="documentation_url">
<rank>20</rank>
</item>
<item id="groups_list">
<rank>30</rank>
<rank>20</rank>
</item>
</items>
<rank>20</rank>
@@ -456,60 +422,6 @@
</details>
</presentation>
</class>
<class id="DataFlowProtocol" _delta="define">
<parent>Typology</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>dataflowprotocol</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="name">
<attributes>
<attribute id="name"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</properties>
<fields/>
<methods/>
<presentation>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</search>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="FunctionalCI" _delta="must_exist">
<fields>
<field id="dataflows" xsi:type="AttributeDashboard" _delta="define">
@@ -716,10 +628,6 @@
<rank>23</rank>
<class>DataFlowType</class>
</dashlet>
<dashlet id="DataFlowProtocol" xsi:type="DashletBadge" _delta="define">
<rank>24</rank>
<class>DataFlowProtocol</class>
</dashlet>
</dashlets>
</cell>
</cells>

View File

@@ -45,13 +45,7 @@ Dict::Add('EN US', 'English', 'English', [
'Class:DataFlow/Attribute:destination_impact/Value:no' => 'no',
'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'If the flow stops, the destination is not impacted',
'Class:DataFlow/Attribute:dataflowtype_id' => 'Flow type',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Values defined in a typology of Data Flow Type',
'Class:DataFlow/Attribute:dataflowprotocol_id' => 'Flow protocol',
'Class:DataFlow/Attribute:dataflowprotocol_id+' => 'Values defined in a typology of Data Flow Protocol',
'Class:DataFlow/Attribute:documentation_url' => 'Documentation URL',
'Class:DataFlow/Attribute:documentation_url+' => 'URL to the documentation of the data flow',
'Class:DataFlow/Attribute:last_change_date' => 'Last change date',
'Class:DataFlow/Attribute:last_change_date+' => 'Last time the software or configuration of the Data Flow was updated',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Typology of Flow.',
'Class:DataFlow/Attribute:status' => 'Status',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'active',
@@ -80,7 +74,18 @@ Dict::Add('EN US', 'English', 'English', [
'Class:DataFlowType' => 'Data Flow Type',
'Class:DataFlowType+' => 'Typology of Data Flow',
'Class:DataFlowProtocol' => 'Data Flow Protocol',
'Class:DataFlowProtocol+' => 'Typology of Data Flow Protocol',
/*
'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:DataFlow/Attribute:source_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:DataFlow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:DataFlow/Attribute:destination_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:DataFlow/Attribute:destination_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
*/
]);

View File

@@ -44,16 +44,10 @@ Dict::Add('FR FR', 'French', 'Français', [
'Class:DataFlow/Attribute:destination_impact/Value:yes+' => 'Si le flux s\'arrête, le destinataire est impacté',
'Class:DataFlow/Attribute:destination_impact/Value:no' => 'non',
'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'Si le flux s\'arrête, le destinataire n\'est pas impacté',
'Class:DataFlow/Attribute:dataflowtype_id' => 'Type du flux',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Ces valeurs sont gérées dans une typologie',
'Class:DataFlow/Attribute:dataflowprotocol_id' => 'Protocole',
'Class:DataFlow/Attribute:dataflowprotocol_id+' => 'Protocole utilisé par le flux. Ces valeurs sont gérées dans une typologie',
'Class:DataFlow/Attribute:documentation_url' => 'Lien vers la documentation',
'Class:DataFlow/Attribute:documentation_url+' => 'URL vers la documentation du flux de données',
'Class:DataFlow/Attribute:last_change_date' => 'Dernière mise à jour',
'Class:DataFlow/Attribute:last_change_date+' => 'Date de la dernière mise à jour du logiciel ou de la configuration du flux de données',
'Class:DataFlow/Attribute:status' => 'État',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:dataflowtype_id' => 'Type de flux',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Typologie du flux',
'Class:DataFlow/Attribute:status' => 'Etat',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'actif',
'Class:DataFlow/Attribute:status/Value:inactive' => 'inactif',
'Class:DataFlow/Attribute:execution_frequency' => 'Fréquence d\'exécution',
@@ -72,15 +66,26 @@ Dict::Add('FR FR', 'French', 'Français', [
'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'annuelle',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
'Class:DataFlow/Attribute:documents_list+' => 'Ex: spécifications techniques, runbooks, etc.',
'Class:DataFlow/Attribute:contacts_list+' => 'Ex: propriétaire du flux, support technique, etc.',
'Class:DataFlow/Attribute:documents_list+' => 'Eg: technical specifications, runbooks, etc.',
'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.',
'Class:DataFlow/Error:CheckSource' => 'La source d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI source que %1$s',
'Class:DataFlow/Error:CheckDestination' => 'La destination d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI destination que %1$s',
'Class:DataFlowType' => 'Type de flux',
'Class:DataFlowType+' => 'Typologie des flux de données',
'Class:DataFlowProtocol' => 'Protocole de flux',
'Class:DataFlowProtocol+' => 'Typologie des protocoles de flux',
/*
'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Nom complet',
'Class:DataFlow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:DataFlow/Attribute:source_id_finalclass_recall+' => 'Classe finale',
'Class:DataFlow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:DataFlow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:DataFlow/Attribute:destination_id_friendlyname+' => 'Nom complet',
'Class:DataFlow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:DataFlow/Attribute:destination_id_finalclass_recall+' => 'Classe finale',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
*/
]);

View File

@@ -1,86 +0,0 @@
<?php
/**
* Module combodo-flow-map
*
* @copyright Copyright (C) 2026 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Relation:dataflows/Description' => 'Gegevensstromen tussen CIs',
'Relation:dataflows/DownStream' => 'Uitgaande stromen...',
'Relation:dataflows/DownStream+' => 'Uitgaande gegevensstromen van',
'Relation:dataflows/UpStream' => 'Inkomende stromen...',
'Relation:dataflows/UpStream+' => 'Inkomende gegevensstromen van',
'Class:FunctionalCI/Attribute:dataflows' => 'Gegevensstromen',
'Class:FunctionalCI/Attribute:dataflows+' => 'Gegevensstromen waarbij dit object de bron of de bestemming is.',
'FunctionalCI:DataFlow:Title' => 'Gegevensstromen',
'FunctionalCI:DataFlow:Inbound' => 'Inkomende stromen',
'FunctionalCI:DataFlow:Outbound' => 'Uitgaande stromen',
'DataFlow:moreinfo' => 'Gegevensstroom informatie',
'Class:DataFlow' => 'Gegevensstroom',
'Class:DataFlow+' => 'Bijvoorbeeld voor de gegevensstroom in een applicatie.',
'Class:DataFlow/ComplementaryName' => '%1$s - %2$s',
'Class:DataFlow/Attribute:name' => 'Naam',
'Class:DataFlow/Attribute:name+' => 'Identificeer de gegevensstroom',
'Class:DataFlow/Attribute:source_id' => 'Bron',
'Class:DataFlow/Attribute:source_id+' => 'Bron CI van de gegevensstroom',
'Class:DataFlow/Attribute:source_impact' => 'Impact van de bron?',
'Class:DataFlow/Attribute:source_impact+' => 'Heeft de bron invloed op de gegevensstroom?',
'Class:DataFlow/Attribute:source_impact/Value:yes' => 'Ja',
'Class:DataFlow/Attribute:source_impact/Value:yes+' => 'Als de bron uitvalt, wordt de gegevensstroom beïnvloed.',
'Class:DataFlow/Attribute:source_impact/Value:no' => 'Nee',
'Class:DataFlow/Attribute:source_impact/Value:no+' => 'Als de bron uitvalt, wordt de gegevensstroom niet beïnvloed.',
'Class:DataFlow/Attribute:destination_id' => 'Bestemming',
'Class:DataFlow/Attribute:destination_id+' => 'Bestemmings CI van de gegevensstroom',
'Class:DataFlow/Attribute:destination_impact' => 'Bestemming geïmpacteerd?',
'Class:DataFlow/Attribute:destination_impact+' => 'Wordt de bestemming beïnvloed door de gegevensstroom?',
'Class:DataFlow/Attribute:destination_impact/Value:yes' => 'Ja',
'Class:DataFlow/Attribute:destination_impact/Value:yes+' => 'Als de gegevensstroom stopt, heeft dat gevolgen voor de bestemming.',
'Class:DataFlow/Attribute:destination_impact/Value:no' => 'Nee',
'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'Als de gegevensstroom stopt, heeft dit geen gevolgen voor de bestemming.',
'Class:DataFlow/Attribute:dataflowtype_id' => 'Type',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Values defined in a typology of Data Flow Type~~',
'Class:DataFlow/Attribute:dataflowprotocol_id' => 'Flowprotocol',
'Class:DataFlow/Attribute:dataflowprotocol_id+' => 'Values defined in a typology of Data Flow Protocol~~',
'Class:DataFlow/Attribute:documentation_url' => 'Documentatie-URL',
'Class:DataFlow/Attribute:documentation_url+' => 'URL naar de documentatie van de gegevensstroom',
'Class:DataFlow/Attribute:last_change_date' => 'Datum laatste wijziging',
'Class:DataFlow/Attribute:last_change_date+' => 'Datum van de laatste wijziging van de software of configuratie van de gegevensstroom',
'Class:DataFlow/Attribute:status' => 'Status',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'Actief',
'Class:DataFlow/Attribute:status/Value:inactive' => 'Inactief',
'Class:DataFlow/Attribute:execution_frequency' => 'Uitvoeringsfrequentie',
'Class:DataFlow/Attribute:execution_frequency+' => 'Hoe vaak de gegevensstroom wordt uitgevoerd.',
'Class:DataFlow/Attribute:execution_frequency/Value:realtime' => 'Realtime',
'Class:DataFlow/Attribute:execution_frequency/Value:realtime+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:ondemand' => 'Op aanvraag',
'Class:DataFlow/Attribute:execution_frequency/Value:ondemand+' => 'Spontaan, niet gepland',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly' => 'Ieder uur',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:daily' => 'Dagelijks',
'Class:DataFlow/Attribute:execution_frequency/Value:daily+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly' => 'Wekelijks',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly' => 'Maandelijks',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'Jaarlijks',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
'Class:DataFlow/Attribute:documents_list+' => 'Bv: Technische specificaties, runbooks, enz.',
'Class:DataFlow/Attribute:contacts_list+' => 'Bv: Proceseigenaar, technische ondersteuning, enz.',
'Class:DataFlow/Error:CheckSource' => 'De bron van een gegevensstroom mag niet zelf een gegevensstroom zijn. Kies een andere bron-CI dan %1$s',
'Class:DataFlow/Error:CheckDestination' => 'De bestemming van een dataflow mag niet zelf een gegevensstroom zijn. Kies een andere bestemmings-CI dan %1$s',
'Class:DataFlowType' => 'Soort gegevensstroom',
'Class:DataFlowType+' => '',
'Class:DataFlowProtocol' => 'Gegevensstroomprotocol',
'Class:DataFlowProtocol+' => 'Typologie van gegevensstroomprotocol',
]);

View File

@@ -1,90 +0,0 @@
<?php
/**
* Module combodo-flow-map
*
* @copyright Copyright (C) 2013 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
/**
* @author Vladimir Kunin <v.b.kunin@gmail.com>
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Relation:dataflows/Description' => 'Потоки данных между КЕ',
'Relation:dataflows/DownStream' => 'Исходящие потоки...',
'Relation:dataflows/DownStream+' => 'Карта исходящих потоков от',
'Relation:dataflows/UpStream' => 'Входящие потоки...',
'Relation:dataflows/UpStream+' => 'Карта входящих потоков к',
'Class:FunctionalCI/Attribute:dataflows' => 'Потоки данных',
'Class:FunctionalCI/Attribute:dataflows+' => 'Потоки данных, для которых этот объект является источником или назначением',
'FunctionalCI:DataFlow:Title' => 'Потоки данных',
'FunctionalCI:DataFlow:Inbound' => 'Входящие потоки',
'FunctionalCI:DataFlow:Outbound' => 'Исходящие потоки',
'DataFlow:moreinfo' => 'Особенности потока',
'Class:DataFlow' => 'Поток',
'Class:DataFlow+' => 'Например, для потока приложения',
'Class:DataFlow/ComplementaryName' => '%1$s - %2$s',
'Class:DataFlow/Attribute:name' => 'Название',
'Class:DataFlow/Attribute:name+' => 'Идентифицирует передаваемый поток данных',
'Class:DataFlow/Attribute:source_id' => 'Источник',
'Class:DataFlow/Attribute:source_id+' => 'КЕ-источник потока',
'Class:DataFlow/Attribute:source_impact' => 'Источник влияет?',
'Class:DataFlow/Attribute:source_impact+' => 'Влияет ли источник на поток?',
'Class:DataFlow/Attribute:source_impact/Value:yes' => 'да',
'Class:DataFlow/Attribute:source_impact/Value:yes+' => 'Если источник выходит из строя, поток нарушается',
'Class:DataFlow/Attribute:source_impact/Value:no' => 'нет',
'Class:DataFlow/Attribute:source_impact/Value:no+' => 'Если источник выходит из строя, поток не нарушается',
'Class:DataFlow/Attribute:destination_id' => 'Назначение',
'Class:DataFlow/Attribute:destination_id+' => 'КЕ-назначение потока',
'Class:DataFlow/Attribute:destination_impact' => 'Назначение подвержено влиянию',
'Class:DataFlow/Attribute:destination_impact+' => 'Подвержено ли назначение влиянию потока?',
'Class:DataFlow/Attribute:destination_impact/Value:yes' => 'да',
'Class:DataFlow/Attribute:destination_impact/Value:yes+' => 'Если поток останавливается, назначение подвержено влиянию',
'Class:DataFlow/Attribute:destination_impact/Value:no' => 'нет',
'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'Если поток останавливается, назначение не подвержено влиянию',
'Class:DataFlow/Attribute:dataflowtype_id' => 'Тип потока',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Values defined in a typology of Data Flow Type~~',
'Class:DataFlow/Attribute:dataflowprotocol_id' => 'Протокол потока',
'Class:DataFlow/Attribute:dataflowprotocol_id+' => 'Values defined in a typology of Data Flow Protocol~~',
'Class:DataFlow/Attribute:documentation_url' => 'Ссылка на документацию',
'Class:DataFlow/Attribute:documentation_url+' => 'Ссылка на документацию потока данных',
'Class:DataFlow/Attribute:last_change_date' => 'Дата последнего изменения',
'Class:DataFlow/Attribute:last_change_date+' => 'Дата последнего изменения программного обеспечения или конфигурации потока данных',
'Class:DataFlow/Attribute:status' => 'Статус',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'активен',
'Class:DataFlow/Attribute:status/Value:inactive' => 'неактивен',
'Class:DataFlow/Attribute:execution_frequency' => 'Периодичность выполнения',
'Class:DataFlow/Attribute:execution_frequency+' => 'Как часто выполняется поток данных',
'Class:DataFlow/Attribute:execution_frequency/Value:realtime' => 'в реальном времени',
'Class:DataFlow/Attribute:execution_frequency/Value:realtime+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:ondemand' => 'по запросу',
'Class:DataFlow/Attribute:execution_frequency/Value:ondemand+' => 'по требованию, без расписания',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly' => 'ежечасно',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:daily' => 'ежедневно',
'Class:DataFlow/Attribute:execution_frequency/Value:daily+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly' => 'еженедельно',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly' => 'ежемесячно',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'ежегодно',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
'Class:DataFlow/Attribute:documents_list+' => 'Например: технические спецификации, регламенты и т. д.',
'Class:DataFlow/Attribute:contacts_list+' => 'Например: владелец потока, техническая поддержка и т. д.',
'Class:DataFlow/Error:CheckSource' => 'Источником потока данных не может быть другой поток данных. Выберите другую КЕ-источник, отличную от %1$s',
'Class:DataFlow/Error:CheckDestination' => 'Назначением потока данных не может быть другой поток данных. Выберите другую КЕ-назначение, отличную от %1$s',
'Class:DataFlowType' => 'Тип потока данных',
'Class:DataFlowType+' => 'Типология потоков данных',
'Class:DataFlowProtocol' => 'Протокол потока данных',
'Class:DataFlowProtocol+' => 'Типология протоколов потоков данных',
]);

View File

@@ -9,11 +9,11 @@
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Relation:dataflows/Description' => '配置项之间的数据流',
'Relation:dataflows/DownStream' => '出站数据流...',
'Relation:dataflows/DownStream+' => '出站数据流图,源自',
'Relation:dataflows/UpStream' => '入站数据流...',
'Relation:dataflows/UpStream+' => '入站数据流图,指向',
'Relation:dataflows/Description' => 'DataFlows between CIs~~',
'Relation:dataflows/DownStream' => 'Outbound flows...',
'Relation:dataflows/DownStream+' => 'Outbound flows map from',
'Relation:dataflows/UpStream' => 'Inbound flows...',
'Relation:dataflows/UpStream+' => 'Inbound flows map to',
'Class:FunctionalCI/Attribute:dataflows' => '数据流',
'Class:FunctionalCI/Attribute:dataflows+' => '该对象作为源或目标的数据流',
@@ -24,7 +24,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'DataFlow:moreinfo' => '数据流详情',
'Class:DataFlow' => '数据流',
'Class:DataFlow+' => '例如应用数据流',
'Class:DataFlow+' => 'For application flow for example~~',
'Class:DataFlow/Name' => '%1$s',
'Class:DataFlow/Attribute:name' => '名称',
'Class:DataFlow/Attribute:name+' => '已传输的数据',
@@ -45,13 +45,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DataFlow/Attribute:destination_impact/Value:no' => '否',
'Class:DataFlow/Attribute:destination_impact/Value:no+' => '如果数据流停止,目标不受影响',
'Class:DataFlow/Attribute:dataflowtype_id' => '数据流类型',
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Values defined in a typology of Data Flow Type~~',
'Class:DataFlow/Attribute:dataflowprotocol_id' => '数据流协议',
'Class:DataFlow/Attribute:dataflowprotocol_id+' => 'Values defined in a typology of Data Flow Protocol~~',
'Class:DataFlow/Attribute:documentation_url' => '文档链接',
'Class:DataFlow/Attribute:documentation_url+' => '数据流文档链接',
'Class:DataFlow/Attribute:last_change_date' => '最后修改日期',
'Class:DataFlow/Attribute:last_change_date+' => '数据流软件或配置的最后修改时间',
'Class:DataFlow/Attribute:dataflowtype_id+' => '数据流的分类',
'Class:DataFlow/Attribute:status' => '状态',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => '启用',
@@ -74,13 +68,24 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
'Class:DataFlow/Attribute:documents_list+' => '例如: 技术规范, 操作手册等.',
'Class:DataFlow/Attribute:contacts_list+' => '例如: 数据流所有者, 技术支持等.',
'Class:DataFlow/Error:CheckSource' => '数据流的源头不能是数据流本身。请选择一个不同的源配置项,而不是 %1$s',
'Class:DataFlow/Error:CheckDestination' => '数据流的目标不能是数据流本身。请选择一个不同的目标配置项,而不是 %1$s',
'Class:DataFlow/Error:CheckSource' => 'The source of a data flow cannot be a data flow itself. Choose another source CI than %1$s~~',
'Class:DataFlow/Error:CheckDestination' => 'The destination of a data flow cannot be a data flow itself. Choose another destination CI than %1$s~~',
'Class:DataFlowType' => '数据流类型',
'Class:DataFlowType+' => '数据流的分类',
'Class:DataFlowProtocol' => '数据流协议',
'Class:DataFlowProtocol+' => '数据流协议的分类',
/*
'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:DataFlow/Attribute:source_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:DataFlow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:DataFlow/Attribute:destination_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:DataFlow/Attribute:destination_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
*/
]);

View File

@@ -31,8 +31,7 @@ SetupWebPage::AddModule(
],
'data.struct' => [
'data/data.itop-dataflowtype.xml',
'data/data.itop-dataflowprotocol.xml',
'data/data.itop-flow-map.en_us.xml',
],
'data.sample' => [
// add your sample data XML files here,

View File

@@ -15,55 +15,55 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:iTopHub' => 'iTop Hub',
'Menu:iTopHub:Register' => 'Подключение к iTop Hub',
'Menu:iTopHub:Register+' => 'Перейдите в iTop Hub, чтобы обновить ваш экземпляр '.ITOP_APPLICATION_SHORT,
'Menu:iTopHub:Register:Description' => '<p>Получите доступ к вашей платформе сообщества iTop Hub!<br>Найдите весь необходимый контент и информацию, управляйте своими инстансами через персонализированные инструменты и устанавливайте дополнительные расширения.<br><br>Подключившись к Hub с этой страницы, вы отправите информацию об этом инстансе '.ITOP_APPLICATION_SHORT.' в Hub.</p>',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!<br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:MyExtensions' => 'Установленные расширения',
'Menu:iTopHub:MyExtensions+' => 'Расширения, развернутые на данном экземпляре '.ITOP_APPLICATION_SHORT,
'Menu:iTopHub:BrowseExtensions' => 'Получить расширения из iTop Hub',
'Menu:iTopHub:BrowseExtensions+' => 'Найдите дополнительные расширения на iTop Hub',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful iTop extensions !<br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'iTopHub:GoBtn' => 'Перейти в iTop Hub',
'iTopHub:CloseBtn' => 'Закрыть',
'iTopHub:GoBtn:Tooltip' => 'Перейти на www.itophub.io',
'iTopHub:OpenInNewWindow' => 'Открыть iTop Hub в новом окне',
'iTopHub:AutoSubmit' => 'Больше не спрашивать. В следующий раз переходить в iTop Hub автоматически.',
'UI:About:RemoteExtensionSource' => 'iTop Hub',
'iTopHub:Explanation' => 'При нажатии на эту кнопку вы будете перенаправлены в iTop Hub.',
'iTopHub:BackupFreeDiskSpaceIn' => 'Свободно места на диске: %1$s в %2$s.',
'iTopHub:FailedToCheckFreeDiskSpace' => 'Не удалось проверить свободное место на диске.',
'iTopHub:BackupOk' => 'Резервная копия создана успешно.',
'iTopHub:BackupFailed' => 'Ошибка создания резервной копии!',
'iTopHub:Landing:Status' => 'Статус развёртывания',
'iTopHub:Landing:Install' => 'Развёртывание расширений…',
'iTopHub:CompiledOK' => 'Компиляция выполнена успешно.',
'iTopHub:ConfigurationSafelyReverted' => 'При развёртывании обнаружена ошибка!<br>Конфигурация '.ITOP_APPLICATION_SHORT.' НЕ была изменена.',
'iTopHub:FailAuthent' => 'Не удалось выполнить аутентификацию для этого действия.',
'iTopHub:InstalledExtensions' => 'Расширения, развёрнутые в этом инстансе',
'iTopHub:ExtensionCategory:Manual' => 'Расширения, развёрнутые вручную',
'iTopHub:ExtensionCategory:Manual+' => 'Следующие расширения были развёрнуты вручную копированием в каталог %1$s '.ITOP_APPLICATION_SHORT.':',
'iTopHub:ExtensionCategory:Remote' => 'Расширения, развёрнутые из iTop Hub',
'iTopHub:ExtensionCategory:Remote+' => 'Следующие расширения были развёрнуты из iTop Hub:',
'iTopHub:NoExtensionInThisCategory' => 'В этой категории нет расширений',
'iTopHub:NoExtensionInThisCategory+' => 'Просмотрите iTop Hub, чтобы найти расширения, которые помогут настроить и адаптировать '.ITOP_APPLICATION_SHORT.' под ваши процессы!',
'iTopHub:ExtensionNotInstalled' => 'Не установлено',
'iTopHub:GetMoreExtensions' => 'Получить расширения из iTop Hub',
'iTopHub:LandingWelcome' => 'Поздравляем! Следующие расширения были загружены из iTop Hub и развёрнуты в вашем '.ITOP_APPLICATION_SHORT.'.',
'iTopHub:GoBackToITopBtn' => 'Вернуться в '.ITOP_APPLICATION_SHORT.'',
'iTopHub:Uncompressing' => 'Распаковка расширений…',
'iTopHub:InstallationWelcome' => 'Установка расширений, загруженных из iTop Hub',
'iTopHub:DBBackupLabel' => 'Резервная копия инстанса',
'iTopHub:DBBackupSentence' => 'Сделайте резервную копию базы данных и конфигурации '.ITOP_APPLICATION_SHORT.' перед обновлением',
'iTopHub:DeployBtn' => 'Развернуть!',
'iTopHub:DatabaseBackupProgress' => 'Резервное копирование инстанса…',
'iTopHub:InstallationEffect:Install' => 'Версия %1$s будет установлена.',
'iTopHub:InstallationEffect:NoChange' => 'Версия %1$s уже установлена. Ничего не изменится.',
'iTopHub:InstallationEffect:Upgrade' => 'Будет <b>обновлено</b> с версии %1$s до версии %2$s.',
'iTopHub:InstallationEffect:Downgrade' => 'Версия будет <b>ПОНИЖЕНА</b> с %1$s до %2$s.',
'iTopHub:InstallationProgress:DatabaseBackup' => 'Резервное копирование инстанса '.ITOP_APPLICATION_SHORT.'',
'iTopHub:InstallationProgress:ExtensionsInstallation' => 'Установка расширений',
'iTopHub:InstallationEffect:MissingDependencies' => 'Это расширение нельзя установить из-за невыполненных зависимостей.',
'iTopHub:InstallationEffect:MissingDependencies_Details' => 'Расширению требуются модули: %1$s',
'iTopHub:InstallationProgress:InstallationSuccessful' => 'Установка выполнена успешно!',
'iTopHub:InstallationStatus:Installed_Version' => '%1$s версия: %2$s.',
'iTopHub:InstallationStatus:Installed' => 'Установлено',
'iTopHub:InstallationStatus:Version_NotInstalled' => 'Версия %1$s <b>НЕ</b> установлена.',
'iTopHub:GoBtn' => 'Go To iTop Hub~~',
'iTopHub:CloseBtn' => 'Close~~',
'iTopHub:GoBtn:Tooltip' => 'Jump to www.itophub.io~~',
'iTopHub:OpenInNewWindow' => 'Open iTop Hub in a new window~~',
'iTopHub:AutoSubmit' => 'Don\'t ask me again. Next time, go to iTop Hub automatically.~~',
'UI:About:RemoteExtensionSource' => 'iTop Hub~~',
'iTopHub:Explanation' => 'By clicking this button you will be redirected to iTop Hub.~~',
'iTopHub:BackupFreeDiskSpaceIn' => '%1$s free disk space in %2$s.~~',
'iTopHub:FailedToCheckFreeDiskSpace' => 'Failed to check free disk space.~~',
'iTopHub:BackupOk' => 'Backup Ok.~~',
'iTopHub:BackupFailed' => 'Backup failed!~~',
'iTopHub:Landing:Status' => 'Deployment status~~',
'iTopHub:Landing:Install' => 'Deploying extensions...~~',
'iTopHub:CompiledOK' => 'Compilation successful.~~',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.~~',
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance~~',
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually~~',
'iTopHub:ExtensionCategory:Manual+' => 'The following extensions have been deployed by copying them manually in the %1$s directory of '.ITOP_APPLICATION_SHORT.':~~',
'iTopHub:ExtensionCategory:Remote' => 'Extensions deployed from iTop Hub~~',
'iTopHub:ExtensionCategory:Remote+' => 'The following extensions have been deployed from iTop Hub:~~',
'iTopHub:NoExtensionInThisCategory' => 'There is no extension in this category~~',
'iTopHub:NoExtensionInThisCategory+' => 'Browse iTop Hub to find the extensions that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes !~~',
'iTopHub:ExtensionNotInstalled' => 'Not installed~~',
'iTopHub:GetMoreExtensions' => 'Get extensions from iTop Hub...~~',
'iTopHub:LandingWelcome' => 'Congratulations! The following extensions were downloaded from iTop Hub and deployed into your '.ITOP_APPLICATION_SHORT.'.~~',
'iTopHub:GoBackToITopBtn' => 'Go Back to '.ITOP_APPLICATION_SHORT.'~~',
'iTopHub:Uncompressing' => 'Uncompressing extensions...~~',
'iTopHub:InstallationWelcome' => 'Installation of the extensions downloaded from iTop Hub~~',
'iTopHub:DBBackupLabel' => 'Instance backup~~',
'iTopHub:DBBackupSentence' => 'Do a backup of the database and '.ITOP_APPLICATION_SHORT.' configuration before updating~~',
'iTopHub:DeployBtn' => 'Deploy !~~',
'iTopHub:DatabaseBackupProgress' => 'Instance backup...~~',
'iTopHub:InstallationEffect:Install' => 'Version: %1$s will be installed.~~',
'iTopHub:InstallationEffect:NoChange' => 'Version: %1$s already installed. Nothing will change.~~',
'iTopHub:InstallationEffect:Upgrade' => 'Will be <b>upgraded</b> from version %1$s to version %2$s.~~',
'iTopHub:InstallationEffect:Downgrade' => 'Will be <b>DOWNGRADED</b> from version %1$s to version %2$s.~~',
'iTopHub:InstallationProgress:DatabaseBackup' => ITOP_APPLICATION_SHORT.' Instance backup...~~',
'iTopHub:InstallationProgress:ExtensionsInstallation' => 'Installation of the extensions~~',
'iTopHub:InstallationEffect:MissingDependencies' => 'This extension cannot be installed because of unmet dependencies.~~',
'iTopHub:InstallationEffect:MissingDependencies_Details' => 'The extension requires the module(s): %1$s~~',
'iTopHub:InstallationProgress:InstallationSuccessful' => 'Installation successful!~~',
'iTopHub:InstallationStatus:Installed_Version' => '%1$s version: %2$s.~~',
'iTopHub:InstallationStatus:Installed' => 'Installed~~',
'iTopHub:InstallationStatus:Version_NotInstalled' => 'Version %1$s <b>NOT</b> installed.~~',
]);

View File

@@ -20,7 +20,7 @@ function DisplayStatus(WebPage $oPage)
if (is_dir($sPath)) {
$aExtraDirs[] = $sPath; // Also read the extra downloaded-modules directory
}
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV, $aExtraDirs);
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV);
$oExtensionsMap->LoadChoicesFromDatabase(MetaModel::GetConfig());
foreach ($oExtensionsMap->GetAllExtensions() as $oExtension) {
@@ -154,7 +154,7 @@ function DoInstall(WebPage $oPage)
if (is_dir($sPath)) {
$aExtraDirs[] = $sPath; // Also read the extra downloaded-modules directory
}
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV, $aExtraDirs);
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV);
$oExtensionsMap->LoadChoicesFromDatabase(MetaModel::GetConfig());
foreach ($oExtensionsMap->GetAllExtensions() as $oExtension) {

View File

@@ -25,7 +25,6 @@ require_once(APPROOT.'core/mutex.class.inc.php');
require_once(APPROOT.'core/dict.class.inc.php');
require_once(APPROOT.'setup/xmldataloader.class.inc.php');
require_once(__DIR__.'/../setup/hubruntimeenvironment.class.inc.php');
require_once(__DIR__.'/../Model/DBBackupWithErrorReporting.php');
class HubController
{
@@ -126,21 +125,15 @@ class HubController
// First step: prepare the datamodel, if it fails, roll-back
$aSelectedExtensionDirs = utils::ReadParam('extension_dirs', [], false, utils::ENUM_SANITIZATION_FILTER_MODULE_CODE);
$oRuntimeEnv = new HubRunTimeEnvironment(ITOP_DEFAULT_ENV, false); // use a temp environment: production-build
$oRuntimeEnv = new HubRunTimeEnvironment('production', false); // use a temp environment: production-build
$oRuntimeEnv->MoveSelectedExtensions(APPROOT.'/data/downloaded-extensions/', $aSelectedExtensionDirs);
$oExtensionMap = iTopExtensionsMap::GetExtensionsMap($oRuntimeEnv->GetBuildEnv());
$aPreviousRemoteExtensions = $oExtensionMap->GetExtensionsFromDir(APPROOT.'data/'.$oRuntimeEnv->GetFinalEnv().'-modules/') ?: [];
$aCurrentRemoteExtensions = $oExtensionMap->GetExtensionsFromDir(APPROOT.'data/'.$oRuntimeEnv->GetBuildEnv().'-modules/') ?: [];
$aAddedExtensions = array_diff($aCurrentRemoteExtensions, $aPreviousRemoteExtensions);
$sBuildConfigFile = APPCONF.ITOP_DEFAULT_ENV.'/'.ITOP_CONFIG_FILE;
$oConfig = new Config($sBuildConfigFile);
$oConfig = new Config(APPCONF.'production/'.ITOP_CONFIG_FILE);
if ($oConfig->Get('demo_mode')) {
throw new Exception('Sorry the installation of extensions is not allowed in demo mode');
}
$oRuntimeEnv->CompileFrom(ITOP_DEFAULT_ENV, aAddedExtensions: array_keys($aAddedExtensions)); // WARNING symlinks does not seem to be compatible with manual Commit
$oRuntimeEnv->CompileFrom('production'); // WARNING symlinks does not seem to be compatible with manual Commit
$oRuntimeEnv->UpdateIncludes($oConfig);
$oRuntimeEnv->InitDataModel($oConfig, true /* model only */);

View File

@@ -24,8 +24,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:Incident:Shortcuts+' => 'Ярлыки',
'Menu:Incident:MyIncidents' => 'Назначенные мне',
'Menu:Incident:MyIncidents+' => 'Инциденты, назначенные мне (в качестве агента)',
'Menu:Incident:MySupportIncidents' => 'Заявленные мной',
'Menu:Incident:MySupportIncidents+' => 'Незакрытые инциденты, в которых я являюсь инициатором',
'Menu:Incident:MySupportIncidents' => 'Reported by me~~',
'Menu:Incident:MySupportIncidents+' => 'Non closed incidents where I am the caller~~',
'Menu:Incident:EscalatedIncidents' => 'Эскалированные',
'Menu:Incident:EscalatedIncidents+' => 'Эскалированные инциденты',
'Menu:Incident:OpenIncidents' => 'Открытые',
@@ -102,10 +102,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Incident/Attribute:urgency/Value:4+' => 'Низкая',
'Class:Incident/Attribute:origin' => 'Источник',
'Class:Incident/Attribute:origin+' => '',
'Class:Incident/Attribute:origin/Value:in_person' => 'Лично',
'Class:Incident/Attribute:origin/Value:in_person+' => 'Инцидент создан по итогам личной беседы',
'Class:Incident/Attribute:origin/Value:chat' => 'Чат',
'Class:Incident/Attribute:origin/Value:chat+' => 'Инцидент создан по итогам ',
'Class:Incident/Attribute:origin/Value:in_person' => 'In-person~~',
'Class:Incident/Attribute:origin/Value:in_person+' => 'Incident created following a face-to-face discussion~~',
'Class:Incident/Attribute:origin/Value:chat' => 'Chat~~',
'Class:Incident/Attribute:origin/Value:chat+' => 'Incident created following a ~~',
'Class:Incident/Attribute:origin/Value:mail' => 'Почта',
'Class:Incident/Attribute:origin/Value:mail+' => 'Почта',
'Class:Incident/Attribute:origin/Value:monitoring' => 'Мониторинг',
@@ -142,10 +142,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Incident/Attribute:tto+' => '',
'Class:Incident/Attribute:ttr' => 'TTR',
'Class:Incident/Attribute:ttr+' => '',
'Class:Incident/Attribute:tto_time_spent' => 'Затрачено времени (TTO)',
'Class:Incident/Attribute:tto_time_spent+' => '',
'Class:Incident/Attribute:ttr_time_spent' => 'Затрачено времени (TTR)',
'Class:Incident/Attribute:ttr_time_spent+' => '',
'Class:Incident/Attribute:tto_time_spent' => 'TTO time spent~~',
'Class:Incident/Attribute:tto_time_spent+' => '~~',
'Class:Incident/Attribute:ttr_time_spent' => 'TTR time spent~~',
'Class:Incident/Attribute:ttr_time_spent+' => '~~',
'Class:Incident/Attribute:tto_escalation_deadline' => 'Срок TTO',
'Class:Incident/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
'Class:Incident/Attribute:sla_tto_passed' => 'SLA TTO пропущено',

View File

@@ -35,19 +35,17 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:Incident:Shortcuts+' => '',
'Menu:Incident:MyIncidents' => '分配给我的事件',
'Menu:Incident:MyIncidents+' => '分配给我的事件',
'Menu:Incident:MySupportIncidents' => '由我报告的事件',
'Menu:Incident:MySupportIncidents+' => '由我发起且尚未关闭的的事件',
'Menu:Incident:MySupportIncidents' => 'Reported by me~~',
'Menu:Incident:MySupportIncidents+' => 'Non closed incidents where I am the caller~~',
'Menu:Incident:EscalatedIncidents' => '已升级的事件',
'Menu:Incident:EscalatedIncidents+' => '',
'Menu:Incident:OpenIncidents' => '所有待处理的事件',
'Menu:Incident:OpenIncidents+' => '',
'Menu:Incident:EscalatedIncidents+' => '已升级的事件',
'Menu:Incident:OpenIncidents' => '所有打开的事件',
'Menu:Incident:OpenIncidents+' => '所有打开的事件',
'UI-IncidentManagementOverview-IncidentByPriority-last-14-days' => '最近两周的事件 (按优先级)',
'UI-IncidentManagementOverview-Last-14-days' => '最近两周的事件 (按数量)',
'UI-IncidentManagementOverview-OpenIncidentByStatus' => '待处理的事件 (按状态)',
'UI-IncidentManagementOverview-OpenIncidentByAgent' => '待处理的事件 (按办理人)',
'UI-IncidentManagementOverview-OpenIncidentByCustomer' => '待处理的事件 (按客户)',
'Class:Incident/Method:UpdateChildTicketWith:public_log' => '<i><u>来自父级事件的公共日志 %2$s:</u></i><br><br>',
'Class:Incident/Method:UpdateChildTicketWith:private_log' => '<i>来自父级事件的私有日志 [[Incident:%1$s]]:</i><br><br>',
'UI-IncidentManagementOverview-OpenIncidentByStatus' => '打开的事件 (按状态)',
'UI-IncidentManagementOverview-OpenIncidentByAgent' => '打开的事件 (按办理人)',
'UI-IncidentManagementOverview-OpenIncidentByCustomer' => '打开的事件 (按客户)',
]);
// Dictionnay conventions
@@ -247,5 +245,5 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Incident/Method:ResolveChildTickets' => '解决子工单',
'Class:Incident/Method:ResolveChildTickets+' => '递归解决子工单 (自动解决), 并调整相关字段与父级工单保持一致: 服务, 团队, 办理人, 解决方案',
'Tickets:Related:OpenIncidents' => '待处理的事件',
'Tickets:Related:OpenIncidents' => '打开的事件',
]);

View File

@@ -15,27 +15,27 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:KnownError' => 'Известная ошибка',
'Class:KnownError+' => 'Проблема, имеющая задокументированные корневую причину и обходное решение',
'Class:KnownError/Attribute:name' => 'Название',
'Class:KnownError/Attribute:name+' => 'Ожидается уникальный идентификатор в рамках известных ошибок этой организации',
'Class:KnownError/Attribute:name+' => 'This is expected to be a unique identifier within the Known Errors of this organization~~',
'Class:KnownError/Attribute:org_id' => 'Организация',
'Class:KnownError/Attribute:org_id+' => 'Свяжите известную ошибку с поставщиком услуг, отвечающим за её обработку, либо с организацией-заказчиком, если ошибка специфична для неё',
'Class:KnownError/Attribute:org_id+' => 'Link the known error to the service provider in charge of handling them, or maybe to a customer organization if the error is specific to them~~',
'Class:KnownError/Attribute:cust_name' => 'Организация',
'Class:KnownError/Attribute:cust_name+' => '',
'Class:KnownError/Attribute:problem_id' => 'Проблема',
'Class:KnownError/Attribute:problem_id+' => 'Проблема, которую не удалось решить сразу и которая привела к созданию этой известной ошибки',
'Class:KnownError/Attribute:problem_id+' => 'The problem which couldn\'t be solved immediately and has led to the creation of this known error~~',
'Class:KnownError/Attribute:problem_ref' => 'Проблема',
'Class:KnownError/Attribute:problem_ref+' => '',
'Class:KnownError/Attribute:symptom' => 'Проявление',
'Class:KnownError/Attribute:symptom+' => 'Какие наблюдаемые последствия у этой ошибки?',
'Class:KnownError/Attribute:symptom+' => 'What are the observable effects of this error?~~',
'Class:KnownError/Attribute:root_cause' => 'Корневая причина',
'Class:KnownError/Attribute:root_cause+' => 'Какова первопричина этой ошибки?',
'Class:KnownError/Attribute:root_cause+' => 'What is the underlying cause of this error?~~',
'Class:KnownError/Attribute:workaround' => 'Обходное решение',
'Class:KnownError/Attribute:workaround+' => 'Как обойти последствия этой ошибки до нахождения полноценного решения?',
'Class:KnownError/Attribute:workaround+' => 'How to bypass the effects of this error until a proper solution is found?~~',
'Class:KnownError/Attribute:solution' => 'Решение',
'Class:KnownError/Attribute:solution+' => 'В чём заключается окончательное решение этой ошибки?',
'Class:KnownError/Attribute:solution+' => 'What is the permanent solution for this error?~~',
'Class:KnownError/Attribute:error_code' => 'Код ошибки',
'Class:KnownError/Attribute:error_code+' => 'Если с этой известной ошибкой связан конкретный код ошибки, укажите его здесь',
'Class:KnownError/Attribute:error_code+' => 'If a specific error code is associated to this known error, specify it here~~',
'Class:KnownError/Attribute:domain' => 'Домен',
'Class:KnownError/Attribute:domain+' => 'Выберите технический домен, связанный с этой известной ошибкой',
'Class:KnownError/Attribute:domain+' => 'Choose the technical domain related to this known error?~~',
'Class:KnownError/Attribute:domain/Value:Application' => 'Приложение',
'Class:KnownError/Attribute:domain/Value:Application+' => '',
'Class:KnownError/Attribute:domain/Value:Desktop' => 'Рабочее окружение',
@@ -45,11 +45,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:KnownError/Attribute:domain/Value:Server' => 'Сервер',
'Class:KnownError/Attribute:domain/Value:Server+' => '',
'Class:KnownError/Attribute:vendor' => 'Производитель',
'Class:KnownError/Attribute:vendor+' => 'Произвольное текстовое поле для указания производителя КЕ, к которым относится эта известная ошибка',
'Class:KnownError/Attribute:vendor+' => 'A free text field to identify the vendor of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:model' => 'Модель',
'Class:KnownError/Attribute:model+' => 'Модель КЕ, к которым относится эта известная ошибка',
'Class:KnownError/Attribute:model+' => 'The model of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:version' => 'Версия',
'Class:KnownError/Attribute:version+' => 'Версия КЕ, к которым относится эта известная ошибка',
'Class:KnownError/Attribute:version+' => 'The version of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:ci_list' => 'КЕ',
'Class:KnownError/Attribute:ci_list+' => 'Связанный конфигурационные единицы',
'Class:KnownError/Attribute:document_list' => 'Документы',
@@ -63,7 +63,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkErrorToFunctionalCI' => 'Связь Известная ошибка/Функциональная КЕ',
'Class:lnkErrorToFunctionalCI+' => 'Infra related to a known error',
'Class:lnkErrorToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkErrorToFunctionalCI/Name' => '%1$s / %2$s~~',
'Class:lnkErrorToFunctionalCI/Attribute:functionalci_id' => 'КЕ',
'Class:lnkErrorToFunctionalCI/Attribute:functionalci_id+' => '',
'Class:lnkErrorToFunctionalCI/Attribute:functionalci_name' => 'КЕ',
@@ -83,7 +83,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToError' => 'Связь Документ/Известная ошибка',
'Class:lnkDocumentToError+' => 'A link between a document and a known error',
'Class:lnkDocumentToError/Name' => '%1$s / %2$s',
'Class:lnkDocumentToError/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToError/Attribute:document_id' => 'Документ',
'Class:lnkDocumentToError/Attribute:document_id+' => '',
'Class:lnkDocumentToError/Attribute:document_name' => 'Документ',
@@ -98,7 +98,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:ProblemManagement' => 'Управление проблемами',
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
'Menu:Problem:Shortcuts' => 'Ярлыки',
'Menu:NewError' => 'Новая известная ошибка',
'Menu:NewError+' => 'Создать новую известную ошибку',

View File

@@ -55,27 +55,27 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:KnownError' => '已知错误',
'Class:KnownError+' => '记录一个已知错误',
'Class:KnownError/Attribute:name' => '名称',
'Class:KnownError/Attribute:name+' => '该名称将作为此组织内的已知问题的唯一标识符',
'Class:KnownError/Attribute:name+' => 'This is expected to be a unique identifier within the Known Errors of this organization~~',
'Class:KnownError/Attribute:org_id' => '客户',
'Class:KnownError/Attribute:org_id+' => '将已知问题关联至负责处理该问题的服务提供商. 若问题仅针对特定客户,则也可关联至对应的客户组织',
'Class:KnownError/Attribute:org_id+' => 'Link the known error to the service provider in charge of handling them, or maybe to a customer organization if the error is specific to them~~',
'Class:KnownError/Attribute:cust_name' => '客户名称',
'Class:KnownError/Attribute:cust_name+' => '',
'Class:KnownError/Attribute:problem_id' => '相关问题',
'Class:KnownError/Attribute:problem_id+' => '由于问题无法立即解决,于是才导致了这个已知错误的创建',
'Class:KnownError/Attribute:problem_id+' => 'The problem which couldn\'t be solved immediately and has led to the creation of this known error~~',
'Class:KnownError/Attribute:problem_ref' => '问题编号',
'Class:KnownError/Attribute:problem_ref+' => '',
'Class:KnownError/Attribute:symptom' => '现象',
'Class:KnownError/Attribute:symptom+' => '该错误的可见的影响是什么?',
'Class:KnownError/Attribute:symptom+' => 'What are the observable effects of this error?~~',
'Class:KnownError/Attribute:root_cause' => '问题根源',
'Class:KnownError/Attribute:root_cause+' => '该错误的底层原因是什么?',
'Class:KnownError/Attribute:root_cause+' => 'What is the underlying cause of this error?~~',
'Class:KnownError/Attribute:workaround' => '解决过程',
'Class:KnownError/Attribute:workaround+' => '如何规避该错误的影响直至找到适当的解决方案?',
'Class:KnownError/Attribute:workaround+' => 'How to bypass the effects of this error until a proper solution is found?~~',
'Class:KnownError/Attribute:solution' => '解决方案',
'Class:KnownError/Attribute:solution+' => '该错误的永久解决方案是什么?',
'Class:KnownError/Attribute:solution+' => 'What is the permanent solution for this error?~~',
'Class:KnownError/Attribute:error_code' => '错误编码',
'Class:KnownError/Attribute:error_code+' => '如果此已知错误关联到特定的错误编码,请在此指定',
'Class:KnownError/Attribute:error_code+' => 'If a specific error code is associated to this known error, specify it here~~',
'Class:KnownError/Attribute:domain' => '类型',
'Class:KnownError/Attribute:domain+' => '请选择该错误相关的技术领域',
'Class:KnownError/Attribute:domain+' => 'Choose the technical domain related to this known error?~~',
'Class:KnownError/Attribute:domain/Value:Application' => '应用',
'Class:KnownError/Attribute:domain/Value:Application+' => '',
'Class:KnownError/Attribute:domain/Value:Desktop' => '桌面',
@@ -85,15 +85,15 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:KnownError/Attribute:domain/Value:Server' => '服务器',
'Class:KnownError/Attribute:domain/Value:Server+' => '',
'Class:KnownError/Attribute:vendor' => '厂商',
'Class:KnownError/Attribute:vendor+' => '这个已知错误相关的厂商',
'Class:KnownError/Attribute:vendor+' => 'A free text field to identify the vendor of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:model' => '型号',
'Class:KnownError/Attribute:model+' => '这个已知错误相关的配置项型号',
'Class:KnownError/Attribute:model+' => 'The model of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:version' => '版本',
'Class:KnownError/Attribute:version+' => '这个已知错误相关的配置项版本',
'Class:KnownError/Attribute:version+' => 'The version of the CI(s) concerned by this known error~~',
'Class:KnownError/Attribute:ci_list' => '配置项',
'Class:KnownError/Attribute:ci_list+' => '这个已知错误相关的所有配置项',
'Class:KnownError/Attribute:ci_list+' => '已知错误相关的所有配置项',
'Class:KnownError/Attribute:document_list' => '文档',
'Class:KnownError/Attribute:document_list+' => '这个已知错误相关的所有文档',
'Class:KnownError/Attribute:document_list+' => '已知错误相关的所有文档',
]);
//

View File

@@ -11,23 +11,23 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:CreateMailbox' => 'Создать почтовый ящик…',
'Menu:OAuthClient' => 'Доступ к почте через OAuth',
'Menu:OAuthClient+' => '',
'Menu:GenerateTokens' => 'Сгенерировать токен доступа…',
'Menu:RegenerateTokens' => 'Перегенерировать токен доступа…',
'itop-oauth-client/Operation:CreateMailBox/Title' => 'Создание почтового ящика',
'itop-oauth-client:UsedForSMTP' => 'Этот клиент OAuth используется для SMTP',
'itop-oauth-client:TestSMTP' => 'Тест отправки email',
'itop-oauth-client:MissingOAuthClient' => 'Отсутствует клиент OAuth для пользователя %1$s',
'itop-oauth-client:Message:MissingToken' => 'Сгенерируйте токен доступа перед использованием этого клиента OAuth',
'itop-oauth-client:Message:RegenerateToken' => 'Перегенерируйте токен доступа, чтобы учесть изменения',
'itop-oauth-client:Message:TokenCreated' => 'Токен доступа создан',
'itop-oauth-client:Message:TokenRecreated' => 'Токен доступа перегенерирован',
'itop-oauth-client:Message:TokenError' => 'Токен доступа не сгенерирован из-за ошибки сервера',
'OAuthClient:Name/UseForSMTPMustBeUnique' => 'Комбинация Логин (%1$s) и Использовать для SMTP (%2$s) уже используется другим клиентом OAuth',
'OAuthClient:baseinfo' => 'Основная информация',
'OAuthClient:scope' => 'Область доступа',
'Menu:CreateMailbox' => 'Create a mailbox...~~',
'Menu:OAuthClient' => 'OAuth Mail Access~~',
'Menu:OAuthClient+' => '~~',
'Menu:GenerateTokens' => 'Generate access token...~~',
'Menu:RegenerateTokens' => 'Regenerate access token...~~',
'itop-oauth-client/Operation:CreateMailBox/Title' => 'Mailbox creation~~',
'itop-oauth-client:UsedForSMTP' => 'This OAuth client is used for SMTP~~',
'itop-oauth-client:TestSMTP' => 'Email send test~~',
'itop-oauth-client:MissingOAuthClient' => 'Missing Oauth client for user name %1$s~~',
'itop-oauth-client:Message:MissingToken' => 'Generate access token before using this OAuth client~~',
'itop-oauth-client:Message:RegenerateToken' => 'Regenerate access token to take into account the changes~~',
'itop-oauth-client:Message:TokenCreated' => 'Access token created~~',
'itop-oauth-client:Message:TokenRecreated' => 'Access token regenerated~~',
'itop-oauth-client:Message:TokenError' => 'Access token not generated due to server error~~',
'OAuthClient:Name/UseForSMTPMustBeUnique' => 'The combination Login (%1$s) and Use for SMTP (%2$s) has already been used for OAuth Client~~',
'OAuthClient:baseinfo' => 'Base Information~~',
'OAuthClient:scope' => 'Scope~~',
]);
//
@@ -35,36 +35,36 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OAuthClient' => 'Доступ к почте через OAuth',
'Class:OAuthClient/Attribute:provider' => 'Провайдер',
'Class:OAuthClient/Attribute:provider+' => '',
'Class:OAuthClient/Attribute:name' => 'Логин',
'Class:OAuthClient/Attribute:name+' => 'Обычно это ваш email-адрес',
'Class:OAuthClient/Attribute:status' => 'Статус',
'Class:OAuthClient/Attribute:status+' => 'После создания используйте действие «Сгенерировать токен доступа», чтобы иметь возможность использовать этого клиента OAuth',
'Class:OAuthClient/Attribute:status/Value:active' => 'Токен доступа сгенерирован',
'Class:OAuthClient/Attribute:status/Value:inactive' => 'Нет токена доступа',
'Class:OAuthClient/Attribute:description' => 'Описание',
'Class:OAuthClient/Attribute:description+' => '',
'Class:OAuthClient/Attribute:client_id' => 'Client id',
'Class:OAuthClient/Attribute:client_id+' => 'Длинная строка символов, предоставленная вашим провайдером OAuth2',
'Class:OAuthClient/Attribute:client_secret' => 'Client secret',
'Class:OAuthClient/Attribute:client_secret+' => 'Ещё одна длинная строка символов, предоставленная вашим провайдером OAuth2',
'Class:OAuthClient/Attribute:refresh_token' => 'Refresh token',
'Class:OAuthClient/Attribute:refresh_token+' => '',
'Class:OAuthClient/Attribute:refresh_token_expiration' => 'Истечение refresh token',
'Class:OAuthClient/Attribute:refresh_token_expiration+' => '',
'Class:OAuthClient/Attribute:scope' => 'Область доступа',
'Class:OAuthClient/Attribute:scope+' => '',
'Class:OAuthClient/Attribute:token' => 'Токен доступа',
'Class:OAuthClient/Attribute:token+' => '',
'Class:OAuthClient/Attribute:token_expiration' => 'Истечение токена доступа',
'Class:OAuthClient/Attribute:token_expiration+' => '',
'Class:OAuthClient/Attribute:redirect_url' => 'Redirect url',
'Class:OAuthClient/Attribute:redirect_url+' => 'Этот url нужно скопировать в конфигурацию OAuth2 у провайдера.
Очистите поле, чтобы пересчитать значение по умолчанию',
'Class:OAuthClient/Attribute:mailbox_list' => 'Список почтовых ящиков',
'Class:OAuthClient/Attribute:mailbox_list+' => '',
'Class:OAuthClient' => 'OAuth Mail Access~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',
'Class:OAuthClient/Attribute:name+' => 'In general, this is your email address~~',
'Class:OAuthClient/Attribute:status' => 'Status~~',
'Class:OAuthClient/Attribute:status+' => 'After creation, use the action “Generate access token” to be able to use this OAuth client~~',
'Class:OAuthClient/Attribute:status/Value:active' => 'Access token generated~~',
'Class:OAuthClient/Attribute:status/Value:inactive' => 'No Access token~~',
'Class:OAuthClient/Attribute:description' => 'Description~~',
'Class:OAuthClient/Attribute:description+' => '~~',
'Class:OAuthClient/Attribute:client_id' => 'Client id~~',
'Class:OAuthClient/Attribute:client_id+' => 'A long string of characters provided by your OAuth2 provider~~',
'Class:OAuthClient/Attribute:client_secret' => 'Client secret~~',
'Class:OAuthClient/Attribute:client_secret+' => 'Another long string of characters provided by your OAuth2 provider~~',
'Class:OAuthClient/Attribute:refresh_token' => 'Refresh token~~',
'Class:OAuthClient/Attribute:refresh_token+' => '~~',
'Class:OAuthClient/Attribute:refresh_token_expiration' => 'Refresh token expiration~~',
'Class:OAuthClient/Attribute:refresh_token_expiration+' => '~~',
'Class:OAuthClient/Attribute:scope' => 'Scope~~',
'Class:OAuthClient/Attribute:scope+' => '~~',
'Class:OAuthClient/Attribute:token' => 'Access token~~',
'Class:OAuthClient/Attribute:token+' => '~~',
'Class:OAuthClient/Attribute:token_expiration' => 'Access token expiration~~',
'Class:OAuthClient/Attribute:token_expiration+' => '~~',
'Class:OAuthClient/Attribute:redirect_url' => 'Redirect url~~',
'Class:OAuthClient/Attribute:redirect_url+' => 'This url must be copied in the OAuth2 configuration of the provider
Erase the field to recalculate default value~~',
'Class:OAuthClient/Attribute:mailbox_list' => 'Mailbox list~~',
'Class:OAuthClient/Attribute:mailbox_list+' => '~~',
]);
//
@@ -72,28 +72,28 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OAuthClientAzure' => 'Доступ к почте через OAuth (Microsoft Azure)',
'Class:OAuthClientAzure/Name' => '%1$s (%2$s)',
'Class:OAuthClientAzure/Attribute:scope' => 'Область доступа',
'Class:OAuthClientAzure/Attribute:scope+' => 'Обычно подходит выбор по умолчанию',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP' => 'SMTP',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP+' => '',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP' => 'IMAP',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP+' => '',
'Class:OAuthClientAzure/Attribute:advanced_scope' => 'Расширенная область доступа',
'Class:OAuthClientAzure/Attribute:advanced_scope+' => 'Как только здесь что-то указано, это имеет приоритет над выбором «Область доступа», который в этом случае игнорируется',
'Class:OAuthClientAzure/Attribute:used_scope' => 'Используемая область доступа',
'Class:OAuthClientAzure/Attribute:used_scope+' => '',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple' => 'Простая',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple+' => '',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced' => 'Расширенная',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced+' => '',
'Class:OAuthClientAzure/Attribute:used_for_smtp' => 'Используется для SMTP',
'Class:OAuthClientAzure/Attribute:used_for_smtp+' => 'Хотя бы у одного клиента OAuth этот флаг должен быть «Да», если вы хотите, чтобы iTop использовал его для отправки почты',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:yes' => 'Да',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:no' => 'Нет',
'Class:OAuthClientAzure/Attribute:tenant' => 'Tenant',
'Class:OAuthClientAzure/Attribute:tenant+' => 'Tenant ID настроенного приложения. Для multi-tenant приложения используйте "common".',
'Class:OAuthClientAzure' => 'OAuth Mail Access for Microsoft Azure~~',
'Class:OAuthClientAzure/Name' => '%1$s (%2$s)~~',
'Class:OAuthClientAzure/Attribute:scope' => 'Scope~~',
'Class:OAuthClientAzure/Attribute:scope+' => 'Usually default selection is appropriate~~',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP' => 'SMTP~~',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP+' => '~~',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP' => 'IMAP~~',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP+' => '~~',
'Class:OAuthClientAzure/Attribute:advanced_scope' => 'Advanced scope~~',
'Class:OAuthClientAzure/Attribute:advanced_scope+' => 'As soon as you enter something here it takes precedence over the “Scope” selection which is then ignored~~',
'Class:OAuthClientAzure/Attribute:used_scope' => 'Used scope~~',
'Class:OAuthClientAzure/Attribute:used_scope+' => '~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple' => 'Simple~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple+' => '~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced' => 'Advanced~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced+' => '~~',
'Class:OAuthClientAzure/Attribute:used_for_smtp' => 'Used for SMTP~~',
'Class:OAuthClientAzure/Attribute:used_for_smtp+' => 'At least one OAuth client must have this flag to “Yes”, if you want iTop to use it for sending mails~~',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:yes' => 'Yes~~',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:no' => 'No~~',
'Class:OAuthClientAzure/Attribute:tenant' => 'Tenant~~',
'Class:OAuthClientAzure/Attribute:tenant+' => 'Tenant ID of the configured application. For multi-tenant application, use "common".~~',
]);
//
@@ -101,24 +101,24 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OAuthClientGoogle' => 'Доступ к почте через OAuth (Google)',
'Class:OAuthClientGoogle/Name' => '%1$s (%2$s)',
'Class:OAuthClientGoogle/Attribute:scope' => 'Область доступа',
'Class:OAuthClientGoogle/Attribute:scope+' => 'Обычно подходит выбор по умолчанию',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP' => 'SMTP',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP+' => '',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP' => 'IMAP',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP+' => '',
'Class:OAuthClientGoogle/Attribute:advanced_scope' => 'Расширенная область доступа',
'Class:OAuthClientGoogle/Attribute:advanced_scope+' => 'Как только здесь что-то указано, это имеет приоритет над выбором «Область доступа», который в этом случае игнорируется',
'Class:OAuthClientGoogle/Attribute:used_scope' => 'Используемая область доступа',
'Class:OAuthClientGoogle/Attribute:used_scope+' => '',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple' => 'Простая',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple+' => '',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced' => 'Расширенная',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced+' => '',
'Class:OAuthClientGoogle/Attribute:used_for_smtp' => 'Используется для SMTP',
'Class:OAuthClientGoogle/Attribute:used_for_smtp+' => 'Хотя бы у одного клиента OAuth этот флаг должен быть «Да», если вы хотите, чтобы iTop использовал его для отправки почты',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:yes' => 'Да',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:no' => 'Нет',
'Class:OAuthClientGoogle' => 'OAuth Mail Access for Google~~',
'Class:OAuthClientGoogle/Name' => '%1$s (%2$s)~~',
'Class:OAuthClientGoogle/Attribute:scope' => 'Scope~~',
'Class:OAuthClientGoogle/Attribute:scope+' => 'Usually default selection is appropriate~~',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP' => 'SMTP~~',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP+' => '~~',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP' => 'IMAP~~',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP+' => '~~',
'Class:OAuthClientGoogle/Attribute:advanced_scope' => 'Advanced scope~~',
'Class:OAuthClientGoogle/Attribute:advanced_scope+' => 'As soon as you enter something here it takes precedence over the “Scope” selection which is then ignored~~',
'Class:OAuthClientGoogle/Attribute:used_scope' => 'Used scope~~',
'Class:OAuthClientGoogle/Attribute:used_scope+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple' => 'Simple~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced' => 'Advanced~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_for_smtp' => 'Used for SMTP~~',
'Class:OAuthClientGoogle/Attribute:used_for_smtp+' => 'At least one OAuth client must have this flag to “Yes”, if you want iTop to use it for sending mails~~',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:yes' => 'Yes~~',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:no' => 'No~~',
]);

View File

@@ -38,27 +38,27 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:OAuthClient' => 'OAuth Mail Access~~',
'Class:OAuthClient/Attribute:provider' => '提供商',
'Class:OAuthClient/Attribute:provider+' => '',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => '登录',
'Class:OAuthClient/Attribute:name+' => '通常, 这里填您的邮箱地址',
'Class:OAuthClient/Attribute:name+' => 'In general, this is your email address~~',
'Class:OAuthClient/Attribute:status' => '状态',
'Class:OAuthClient/Attribute:status+' => '创建后, 通过 "生成访问令牌" 来使用此OAuth 客户端',
'Class:OAuthClient/Attribute:status/Value:active' => '已生成访问令牌',
'Class:OAuthClient/Attribute:status/Value:inactive' => '没有访问令牌',
'Class:OAuthClient/Attribute:description' => '描述',
'Class:OAuthClient/Attribute:description+' => '',
'Class:OAuthClient/Attribute:description' => '备注',
'Class:OAuthClient/Attribute:description+' => '~~',
'Class:OAuthClient/Attribute:client_id' => '客户端编号',
'Class:OAuthClient/Attribute:client_id+' => 'A long string of characters provided by your OAuth2 provider~~',
'Class:OAuthClient/Attribute:client_secret' => '客户端密码',
'Class:OAuthClient/Attribute:client_secret+' => 'Another long string of characters provided by your OAuth2 provider~~',
'Class:OAuthClient/Attribute:refresh_token' => '刷新令牌',
'Class:OAuthClient/Attribute:refresh_token+' => '',
'Class:OAuthClient/Attribute:refresh_token+' => '~~',
'Class:OAuthClient/Attribute:refresh_token_expiration' => '刷新令牌有效期',
'Class:OAuthClient/Attribute:refresh_token_expiration+' => '',
'Class:OAuthClient/Attribute:refresh_token_expiration+' => '~~',
'Class:OAuthClient/Attribute:token' => '访问令牌',
'Class:OAuthClient/Attribute:token+' => '',
'Class:OAuthClient/Attribute:token+' => '~~',
'Class:OAuthClient/Attribute:token_expiration' => '访问令牌有效期',
'Class:OAuthClient/Attribute:token_expiration+' => '',
'Class:OAuthClient/Attribute:token_expiration+' => '~~',
'Class:OAuthClient/Attribute:redirect_url' => 'Redirect url',
'Class:OAuthClient/Attribute:redirect_url+' => <<<EOF
This url must be copied in the OAuth2 configuration of the provider
@@ -66,7 +66,7 @@ Erase the field to recalculate default value
EOF
,
'Class:OAuthClient/Attribute:mailbox_list' => '邮箱列表',
'Class:OAuthClient/Attribute:mailbox_list+' => '',
'Class:OAuthClient/Attribute:mailbox_list+' => '~~',
]);
//
@@ -79,22 +79,22 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:OAuthClientAzure/Attribute:scope' => '范围',
'Class:OAuthClientAzure/Attribute:scope+' => '通常情况下使用默认选择最合适',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP' => 'SMTP',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP+' => '',
'Class:OAuthClientAzure/Attribute:scope/Value:SMTP+' => '~~',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP' => 'IMAP',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP+' => '',
'Class:OAuthClientAzure/Attribute:scope/Value:IMAP+' => '~~',
'Class:OAuthClientAzure/Attribute:advanced_scope' => '高级范围',
'Class:OAuthClientAzure/Attribute:advanced_scope+' => '您在此输入的内容将优先于 "范围" 选择并导致其被忽略',
'Class:OAuthClientAzure/Attribute:used_scope' => '使用范围',
'Class:OAuthClientAzure/Attribute:used_scope+' => '',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple' => '简',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple+' => '',
'Class:OAuthClientAzure/Attribute:used_scope+' => '~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple' => '简',
'Class:OAuthClientAzure/Attribute:used_scope/Value:simple+' => '~~',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced' => '高级',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced+' => '',
'Class:OAuthClientAzure/Attribute:used_for_smtp' => '用于SMTP',
'Class:OAuthClientAzure/Attribute:used_scope/Value:advanced+' => '~~',
'Class:OAuthClientAzure/Attribute:used_for_smtp' => '使用于SMTP',
'Class:OAuthClientAzure/Attribute:used_for_smtp+' => '如果您需要系统使用其发送邮件, 则至少需要有一个OAuth客户端标记为 "是"',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:yes' => '是',
'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:no' => '否',
'Class:OAuthClientAzure/Attribute:tenant' => '租户',
'Class:OAuthClientAzure/Attribute:tenant' => 'Tenant~~',
'Class:OAuthClientAzure/Attribute:tenant+' => 'Tenant ID of the configured application. For multi-tenant application, use "common".~~',
]);
@@ -108,18 +108,18 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:OAuthClientGoogle/Attribute:scope' => '范围',
'Class:OAuthClientGoogle/Attribute:scope+' => '通常情况下使用默认选择最合适',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP' => 'SMTP',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP+' => '',
'Class:OAuthClientGoogle/Attribute:scope/Value:SMTP+' => '~~',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP' => 'IMAP',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP+' => '',
'Class:OAuthClientGoogle/Attribute:scope/Value:IMAP+' => '~~',
'Class:OAuthClientGoogle/Attribute:advanced_scope' => '高级范围',
'Class:OAuthClientGoogle/Attribute:advanced_scope+' => '您在此输入的内容将优先于 "范围" 选择并导致其被忽略',
'Class:OAuthClientGoogle/Attribute:used_scope' => '使用范围',
'Class:OAuthClientGoogle/Attribute:used_scope+' => '',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple' => '简',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple+' => '',
'Class:OAuthClientGoogle/Attribute:used_scope+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple' => '简',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:simple+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced' => '高级',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced+' => '',
'Class:OAuthClientGoogle/Attribute:used_for_smtp' => '用于SMTP',
'Class:OAuthClientGoogle/Attribute:used_scope/Value:advanced+' => '~~',
'Class:OAuthClientGoogle/Attribute:used_for_smtp' => '使用与SMTP',
'Class:OAuthClientGoogle/Attribute:used_for_smtp+' => '如果您需要系统使用其发送邮件, 则至少需要有一个OAuth客户端标记为 "是"',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:yes' => '是',
'Class:OAuthClientGoogle/Attribute:used_for_smtp/Value:no' => '否',

View File

@@ -59,11 +59,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
// Object form
Dict::Add('RU RU', 'Russian', 'Русский', [
'Portal:Form:Caselog:Entry:Close:Tooltip' => 'Закрыть эту запись',
'Portal:Form:Caselog:Entry:Close:Tooltip' => 'Close this entry~~',
'Portal:Form:Close:Warning' => 'Вы действительно хотите закрыть эту форму? Введённые данные могут быть утеряны.',
'Portal:Error:ObjectCannotBeCreated' => 'Ошибка: объект не может быть создан. Проверьте связанные объекты и вложения перед повторной отправкой формы.',
'Portal:Error:ObjectCannotBeUpdated' => 'Ошибка: объект не может быть обновлён. Проверьте связанные объекты и вложения перед повторной отправкой формы.',
'Portal:Error:CheckToWriteFailed' => 'Ошибка при проверке поля \'%1$s\': %2$s',
'Portal:Error:ObjectCannotBeCreated' => 'Error: object cannot be created. Check associated objects and attachments before submitting this form again.~~',
'Portal:Error:ObjectCannotBeUpdated' => 'Error: object cannot be updated. Check associated objects and attachments before submitting this form again.~~',
'Portal:Error:CheckToWriteFailed' => 'Error during validation of field \'%1$s\': %2$s~~',
]);
// UserProfile brick

View File

@@ -49,7 +49,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Portal:Datatables:Language:Info' => '第 _PAGE_ 页,共 _PAGES_ 页',
'Portal:Datatables:Language:InfoEmpty' => '没有信息',
'Portal:Datatables:Language:InfoFiltered' => '最多筛选 _MAX_ 项',
'Portal:Datatables:Language:EmptyTable' => '暂无数据',
'Portal:Datatables:Language:EmptyTable' => '表格中没有数据',
'Portal:Datatables:Language:DisplayLength:All' => '全部',
'Portal:Datatables:Language:Paginate:First' => '首页',
'Portal:Datatables:Language:Paginate:Previous' => '上一页',
@@ -106,14 +106,14 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Brick:Portal:Browse:Action:CreateObjectFromThis' => '新建 %1$s',
'Brick:Portal:Browse:Tree:ExpandAll' => '全部展开',
'Brick:Portal:Browse:Tree:CollapseAll' => '全部收起',
'Brick:Portal:Browse:Filter:NoData' => '没有数据',
'Brick:Portal:Browse:Filter:NoData' => '没有项目',
'Brick:Portal:Browse:Mosaic:Back' => '返回',
]);
// ManageBrick brick
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Brick:Portal:Manage:Name' => '管理项目',
'Brick:Portal:Manage:Table:NoData' => '没有数据.',
'Brick:Portal:Manage:Table:NoData' => '没有项目.',
'Brick:Portal:Manage:Table:ItemActions' => '操作',
'Brick:Portal:Manage:DisplayMode:list' => '列表',
'Brick:Portal:Manage:DisplayMode:pie-chart' => '饼图',

View File

@@ -22,29 +22,7 @@
* @since 2.7.0
*/
const CombodoPortalToolbox = {
/**
* Close all opened modals on the page
* @deprecated 3.1.0 Use CombodoModal.CloseAllModals() instead
*/
CloseAllModals: function() {
CombodoModal.CloseAllModals();
},
/**
* @deprecated 3.1.0 Use CombodoModal.OpenUrlInModal() instead
*/
OpenUrlInModal: function(sTargetUrl, bCloseOtherModals) {
CombodoModal.OpenUrlInModal(sTargetUrl, bCloseOtherModals);
},
/**
* @deprecated 3.1.0 Use CombodoModal.OpenModal() instead
*/
OpenModal: function(oOptions) {
// Default value fallback for calls prior to 3.1.0
if (oOptions.size === undefined) {
oOptions.size = 'lg';
}
return CombodoModal.OpenModal(oOptions);
},
/**
* Generic function to call a specific endpoint with callbacks
*

View File

@@ -73,7 +73,7 @@ class Basic extends AbstractConfiguration
$aPortalConf = [
'properties' => [
'id' => $_ENV['PORTAL_ID'],
'ui_version' => '2025',
'ui_version' => 'v3',
'ui_settings' => [
'navigation_menu' => 'vertical',
],

View File

@@ -216,9 +216,6 @@ class ObjectFormHandlerHelper
$aNavigationRules = $this->oNavigationRuleHelper->PrepareRulesForForm($aFormProperties, $oObject, $bModal);
$aFormData['submit_rule'] = $aNavigationRules['submit'];
$aFormData['cancel_rule'] = $aNavigationRules['cancel'];
/** @deprecated We keep the "xxx_callback" name to keep compatibility with extensions using the portal_form_handler.js widget but they will be removed in a future version. */
$aFormData['submit_callback'] = $aNavigationRules['submit']['url'];
$aFormData['cancel_callback'] = $aNavigationRules['cancel']['url'];
// Preparing renderer
// Note : We might need to distinguish form & renderer endpoints

View File

@@ -10,7 +10,7 @@
{% if aTilesRendering[brick.GetId] is defined %}
{{ aTilesRendering[brick.GetId]|raw }}
{% else %}
{% include '' ~ brick.GetTemplatePath('tile') with {brick: brick} only %}
{% include '' ~ brick.GetTileTemplatePath with {brick: brick} only %}
{% endif %}
{% endfor %}
</section>

View File

@@ -286,18 +286,6 @@
};
// user preferences object
const oUserPreferences = new UserPreferences('{{ app['url_generator'].generate('p_preferences_set_preference')|raw }}');
/**
* @param sUrl {string} The URL to append the new param to
* @param sParamName {string} Name of the parameter
* @param sParamValue {string} Value of the param, needs to be already URL encoded
* @return {string} The sUrl parameters with the sParamName / sParamValue append at the right place
* @deprecated 3.0.0 N°4176
*/
var AddParameterToUrl = function(sUrl, sParamName, sParamValue)
{
sUrl += (sUrl.split('?')[1] ? '&':'?') + sParamName + '=' + sParamValue;
return sUrl;
};
// Test is sString is a valid JSON string
// TODO 3.0.0: Move to CombodoGlobalToolbox and deprecate this one
var IsJSONString = function(sString)

View File

@@ -22,9 +22,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Brick:Portal:OngoingRequests:Tab:OnGoing' => 'В работе',
'Brick:Portal:OngoingRequests:Tab:Resolved' => 'Решенные',
'Brick:Portal:ClosedRequests:Title' => 'Закрытые запросы',
'Brick:Portal:ListAllRequests:Title' => 'Все запросы',
'Brick:Portal:ListAllRequests:Title+' => '<p>Просмотр всех запросов независимо от статуса.</p>',
'Brick:Portal:ListAllRequests:Tab' => 'Текущие и закрытые',
'Brick:Portal:SearchInAllRequests:Title' => 'Поиск по всем запросам',
'Brick:Portal:SearchInAllRequests:Title+' => '<p>Независимо от статуса.</p>',
'Brick:Portal:ListAllRequests:Title' => 'All requests~~',
'Brick:Portal:ListAllRequests:Title+' => '<p>View all requests regardless of their status.</p>~~',
'Brick:Portal:ListAllRequests:Tab' => 'On-going and closed~~',
'Brick:Portal:SearchInAllRequests:Title' => 'Search in all requests~~',
'Brick:Portal:SearchInAllRequests:Title+' => '<p>Regardless of their status.</p>~~',
]);

View File

@@ -41,9 +41,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Brick:Portal:OngoingRequests:Tab:OnGoing' => '正在处理',
'Brick:Portal:OngoingRequests:Tab:Resolved' => '已解决',
'Brick:Portal:ClosedRequests:Title' => '已关闭的工单',
'Brick:Portal:ListAllRequests:Title' => '所有需求',
'Brick:Portal:ListAllRequests:Title+' => '<p>查看所有需求,无论其状态如何.</p>',
'Brick:Portal:ListAllRequests:Tab' => '处理中和已关闭',
'Brick:Portal:SearchInAllRequests:Title' => '在所有需求中搜索',
'Brick:Portal:SearchInAllRequests:Title+' => '<p>不论其状态如何.</p>',
'Brick:Portal:ListAllRequests:Title' => 'All requests~~',
'Brick:Portal:ListAllRequests:Title+' => '<p>View all requests regardless of their status.</p>~~',
'Brick:Portal:ListAllRequests:Tab' => 'On-going and closed~~',
'Brick:Portal:SearchInAllRequests:Title' => 'Search in all requests~~',
'Brick:Portal:SearchInAllRequests:Title+' => '<p>Regardless of their status.</p>~~',
]);

View File

@@ -13,18 +13,18 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:ProblemManagement' => 'Управление проблемами',
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
'Menu:Problem:Overview' => 'Обзор',
'Menu:Problem:Overview+' => 'Управление проблемами - Обзор',
'Menu:NewProblem' => 'Новая проблема',
'Menu:NewProblem+' => 'Создать новый тикет проблемы',
'Menu:NewProblem+' => 'Create a new problem ticket~~',
'Menu:SearchProblems' => 'Поиск проблем',
'Menu:SearchProblems+' => 'Поиск проблем',
'Menu:Problem:Shortcuts' => 'Ярлыки',
'Menu:Problem:MyProblems' => 'Назначенные мне',
'Menu:Problem:MyProblems+' => 'Проблемы, назначенные на меня, которые не решены и не закрыты',
'Menu:Problem:MyProblems+' => 'Problems assigned to me which are neither resolved nor closed~~',
'Menu:Problem:OpenProblems' => 'Открытые',
'Menu:Problem:OpenProblems+' => 'Все незакрытые тикеты проблем',
'Menu:Problem:OpenProblems+' => 'All problem tickets which are not closed~~',
'UI-ProblemManagementOverview-ProblemByService' => 'Проблемы по услугам',
'UI-ProblemManagementOverview-ProblemByService+' => 'Проблемы по услугам',
'UI-ProblemManagementOverview-ProblemByPriority' => 'Проблемы по приоритету',

View File

@@ -49,18 +49,18 @@
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:ProblemManagement' => '问题管理',
'Menu:ProblemManagement+' => '一种 ITIL 流程, 用于定位事故根本原因、记录已知错误与常见问题, 以此减轻服务台的工作量',
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
'Menu:Problem:Overview' => '概况',
'Menu:Problem:Overview+' => '概况',
'Menu:NewProblem' => '新建问题',
'Menu:NewProblem+' => '创建新的问题工单',
'Menu:NewProblem+' => 'Create a new problem ticket~~',
'Menu:SearchProblems' => '搜索问题',
'Menu:SearchProblems+' => '搜索问题',
'Menu:Problem:Shortcuts' => '快捷方式',
'Menu:Problem:MyProblems' => '分配给我的问题',
'Menu:Problem:MyProblems+' => '分配给我且既未解决也未关闭的问题',
'Menu:Problem:MyProblems' => '我的问题',
'Menu:Problem:MyProblems+' => 'Problems assigned to me which are neither resolved nor closed~~',
'Menu:Problem:OpenProblems' => '所有打开的问题',
'Menu:Problem:OpenProblems+' => '所有尚未关闭的问题工单',
'Menu:Problem:OpenProblems+' => 'All problem tickets which are not closed~~',
'UI-ProblemManagementOverview-ProblemByService' => '按服务划分的问题',
'UI-ProblemManagementOverview-ProblemByService+' => '按服务划分的问题',
'UI-ProblemManagementOverview-ProblemByPriority' => '按优先级划分的问题',

View File

@@ -23,7 +23,7 @@ Dict::Add('FR FR', 'French', 'Français', [
'Menu:NewUserRequest+' => 'Créer un nouveau ticket de demande utilisateur',
'Menu:SearchUserRequests' => 'Rechercher des demandes',
'Menu:SearchUserRequests+' => 'Rechercher parmi les demandes utilisateur',
'Menu:UserRequest:Shortcuts' => 'Demandes',
'Menu:UserRequest:Shortcuts' => 'Les Demandes',
'Menu:UserRequest:Shortcuts+' => '',
'Menu:UserRequest:MyRequests' => 'Qui me sont assignées',
'Menu:UserRequest:MyRequests+' => 'Demandes en cours pour lesquelles je suis l\'agent assigné',

View File

@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'UI-RequestManagementOverview-OpenRequestByType' => 'Открытые запросы по типу',
'UI-RequestManagementOverview-OpenRequestByCustomer' => 'Открытые запросы по заказчику',
'Class:UserRequest:KnownErrorList' => 'Известные ошибки',
'Class:UserRequest:KnownErrorList+' => 'Известные ошибки, связанные с функциональными КЕ текущего тикета',
'Class:UserRequest:KnownErrorList+' => 'Known Errors related to Functional CI linked to the current ticket~~',
]);
// Dictionnay conventions
@@ -118,10 +118,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserRequest/Attribute:urgency/Value:4+' => 'Низкая',
'Class:UserRequest/Attribute:origin' => 'Источник',
'Class:UserRequest/Attribute:origin+' => '',
'Class:UserRequest/Attribute:origin/Value:in_person' => 'Лично',
'Class:UserRequest/Attribute:origin/Value:in_person+' => 'Запрос создан по итогам личной беседы',
'Class:UserRequest/Attribute:origin/Value:chat' => 'Чат',
'Class:UserRequest/Attribute:origin/Value:chat+' => 'Запрос создан по итогам беседы в чате',
'Class:UserRequest/Attribute:origin/Value:in_person' => 'In-person~~',
'Class:UserRequest/Attribute:origin/Value:in_person+' => 'Request created following a face-to-face discussion~~',
'Class:UserRequest/Attribute:origin/Value:chat' => 'Chat~~',
'Class:UserRequest/Attribute:origin/Value:chat+' => 'Request created following a chat discussion~~',
'Class:UserRequest/Attribute:origin/Value:mail' => 'Почта',
'Class:UserRequest/Attribute:origin/Value:mail+' => 'Почта',
'Class:UserRequest/Attribute:origin/Value:monitoring' => 'Мониторинг',
@@ -162,10 +162,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
'Class:UserRequest/Attribute:ttr+' => '',
'Class:UserRequest/Attribute:tto_time_spent' => 'Затрачено времени (TTO)',
'Class:UserRequest/Attribute:tto_time_spent+' => '',
'Class:UserRequest/Attribute:ttr_time_spent' => 'Затрачено времени (TTR)',
'Class:UserRequest/Attribute:ttr_time_spent+' => '',
'Class:UserRequest/Attribute:tto_time_spent' => 'TTO time spent~~',
'Class:UserRequest/Attribute:tto_time_spent+' => '~~',
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR time spent~~',
'Class:UserRequest/Attribute:ttr_time_spent+' => '~~',
'Class:UserRequest/Attribute:tto_escalation_deadline' => 'Срок TTO',
'Class:UserRequest/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
'Class:UserRequest/Attribute:sla_tto_passed' => 'SLA TTO пропущено',

View File

@@ -8,37 +8,35 @@
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:RequestManagement' => '服务台',
'Menu:RequestManagement+' => '',
'Menu:RequestManagementProvider' => '服务台供应商',
'Menu:RequestManagementProvider' => '服务台提供者',
'Menu:RequestManagementProvider+' => '',
'Menu:UserRequest:Provider' => '转交给供应商的待处理的需求',
'Menu:UserRequest:Provider' => '转交给供应商的打开的需求',
'Menu:UserRequest:Provider+' => '',
'Menu:UserRequest:Overview' => '概况',
'Menu:UserRequest:Overview+' => '',
'Menu:NewUserRequest' => '新建需求',
'Menu:NewUserRequest+' => '新建需求工单',
'Menu:SearchUserRequests' => '搜索需求',
'Menu:SearchUserRequests+' => '搜索需求工单',
'Menu:SearchUserRequests+' => '搜索需求',
'Menu:UserRequest:Shortcuts' => '快捷方式',
'Menu:UserRequest:Shortcuts+' => '',
'Menu:UserRequest:MyRequests' => '分配给我的需求',
'Menu:UserRequest:MyRequests+' => '分配给我的需求 (作为办理人)',
'Menu:UserRequest:MySupportRequests' => '我办理的需求',
'Menu:UserRequest:MySupportRequests+' => '由我发起且未关闭的需求',
'Menu:UserRequest:MySupportRequests+' => 'Non closed requests where I am the caller~~',
'Menu:UserRequest:EscalatedRequests' => '已升级的需求',
'Menu:UserRequest:EscalatedRequests+' => '按状态或热门标识分类的已升级的需求',
'Menu:UserRequest:OpenRequests' => '所有待处理的需求',
'Menu:UserRequest:OpenRequests+' => '所有尚未关闭的需求',
'Menu:UserRequest:EscalatedRequests+' => 'Requests which are under escalation, by status or hot flag~~',
'Menu:UserRequest:OpenRequests' => '所有打开的需求',
'Menu:UserRequest:OpenRequests+' => 'All requests that are not closed~~',
'UI:WelcomeMenu:MyAssignedCalls' => '分配给我的需求',
'UI-RequestManagementOverview-RequestByType-last-14-days' => '最近两周的需求 (按类型)',
'UI-RequestManagementOverview-Last-14-days' => '最近两周的需求 (按数量)',
'UI-RequestManagementOverview-OpenRequestByStatus' => '待处理的需求 (按状态)',
'UI-RequestManagementOverview-OpenRequestByAgent' => '待处理的需求 (按办理人)',
'UI-RequestManagementOverview-OpenRequestByType' => '待处理的需求 (按类型)',
'UI-RequestManagementOverview-OpenRequestByCustomer' => '待处理的需求 (按客户)',
'UI-RequestManagementOverview-OpenRequestByStatus' => '打开的需求 (按状态)',
'UI-RequestManagementOverview-OpenRequestByAgent' => '打开的需求 (按办理人)',
'UI-RequestManagementOverview-OpenRequestByType' => '打开的需求 (按类型)',
'UI-RequestManagementOverview-OpenRequestByCustomer' => '打开的需求 (按客户)',
'Class:UserRequest:KnownErrorList' => '已知错误',
'Class:UserRequest:KnownErrorList+' => '和当前工单关联的功能配置项相关的已知错误',
'Class:UserRequest/Method:UpdateChildTicketWith:public_log' => '<i><u>自动复制来自父级需求的公共日志 %2$s:</u></i><br><br>',
'Class:UserRequest/Method:UpdateChildTicketWith:private_log' => '<i>自动复制来自父级需求的私有日志 [[UserRequest:%1$s]]:</i><br><br>',
]);
// Dictionnay conventions
@@ -158,9 +156,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
'Class:UserRequest/Attribute:ttr+' => '',
'Class:UserRequest/Attribute:tto_time_spent' => 'TTO 耗时',
'Class:UserRequest/Attribute:tto_time_spent' => 'TTO time spent~~',
'Class:UserRequest/Attribute:tto_time_spent+' => '~~',
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR 耗时',
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR time spent~~',
'Class:UserRequest/Attribute:ttr_time_spent+' => '~~',
'Class:UserRequest/Attribute:tto_escalation_deadline' => 'TTO 截止日期',
'Class:UserRequest/Attribute:tto_escalation_deadline+' => '',

View File

@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'UI-RequestManagementOverview-OpenRequestByType' => 'Открытые запросы по типу',
'UI-RequestManagementOverview-OpenRequestByCustomer' => 'Открытые запросы по заказчику',
'Class:UserRequest:KnownErrorList' => 'Известные ошибки',
'Class:UserRequest:KnownErrorList+' => 'Известные ошибки, связанные с функциональными КЕ текущего тикета',
'Class:UserRequest:KnownErrorList+' => 'Known Errors related to Functional CI linked to the current ticket~~',
'Menu:UserRequest:MyWorkOrders' => 'Назначенные мне наряды на работу',
'Menu:UserRequest:MyWorkOrders+' => 'Назначенные мне наряды на работу',
'Class:Problem:KnownProblemList' => 'Известные проблемы',
@@ -124,10 +124,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserRequest/Attribute:urgency/Value:4+' => 'Низкая',
'Class:UserRequest/Attribute:origin' => 'Источник',
'Class:UserRequest/Attribute:origin+' => '',
'Class:UserRequest/Attribute:origin/Value:in_person' => 'Лично',
'Class:UserRequest/Attribute:origin/Value:in_person+' => 'Запрос создан по итогам личной беседы',
'Class:UserRequest/Attribute:origin/Value:chat' => 'Чат',
'Class:UserRequest/Attribute:origin/Value:chat+' => 'Запрос создан по итогам беседы в чате',
'Class:UserRequest/Attribute:origin/Value:in_person' => 'In-person~~',
'Class:UserRequest/Attribute:origin/Value:in_person+' => 'Request created following a face-to-face discussion~~',
'Class:UserRequest/Attribute:origin/Value:chat' => 'Chat~~',
'Class:UserRequest/Attribute:origin/Value:chat+' => 'Request created following a chat discussion~~',
'Class:UserRequest/Attribute:origin/Value:mail' => 'Почта',
'Class:UserRequest/Attribute:origin/Value:mail+' => 'Почта',
'Class:UserRequest/Attribute:origin/Value:monitoring' => 'Мониторинг',
@@ -168,10 +168,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
'Class:UserRequest/Attribute:ttr+' => '',
'Class:UserRequest/Attribute:tto_time_spent' => 'Затрачено времени (TTO)',
'Class:UserRequest/Attribute:tto_time_spent+' => '',
'Class:UserRequest/Attribute:ttr_time_spent' => 'Затрачено времени (TTR)',
'Class:UserRequest/Attribute:ttr_time_spent+' => '',
'Class:UserRequest/Attribute:tto_time_spent' => 'TTO time spent~~',
'Class:UserRequest/Attribute:tto_time_spent+' => '~~',
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR time spent~~',
'Class:UserRequest/Attribute:ttr_time_spent+' => '~~',
'Class:UserRequest/Attribute:tto_escalation_deadline' => 'Срок TTO',
'Class:UserRequest/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
'Class:UserRequest/Attribute:sla_tto_passed' => 'SLA TTO пропущено',

View File

@@ -10,39 +10,37 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:RequestManagement+' => '',
'Menu:RequestManagementProvider' => '服务台供应商',
'Menu:RequestManagementProvider+' => '',
'Menu:UserRequest:Provider' => '转交给供应商的待处理的需求',
'Menu:UserRequest:Provider' => '转交给供应商的打开的需求',
'Menu:UserRequest:Provider+' => '',
'Menu:UserRequest:Overview' => '概况',
'Menu:UserRequest:Overview+' => '',
'Menu:NewUserRequest' => '新建需求',
'Menu:NewUserRequest+' => '新建需求工单',
'Menu:SearchUserRequests' => '搜索需求',
'Menu:SearchUserRequests+' => '搜索需求工单',
'Menu:UserRequest:Shortcuts' => '需求',
'Menu:SearchUserRequests+' => '搜索需求',
'Menu:UserRequest:Shortcuts' => '快捷方式',
'Menu:UserRequest:Shortcuts+' => '',
'Menu:UserRequest:MyRequests' => '分配给我的需求',
'Menu:UserRequest:MyRequests+' => '分配给我的需求 (作为办理人)',
'Menu:UserRequest:MySupportRequests' => '由我发起的需求',
'Menu:UserRequest:MySupportRequests+' => '由我发起且未关闭的需求',
'Menu:UserRequest:MySupportRequests' => '我办理的需求',
'Menu:UserRequest:MySupportRequests+' => 'Non closed requests where I am the caller~~',
'Menu:UserRequest:EscalatedRequests' => '已升级的需求',
'Menu:UserRequest:EscalatedRequests+' => '按状态或热门标识分类的已升级的需求',
'Menu:UserRequest:OpenRequests' => '待处理的需求',
'Menu:UserRequest:OpenRequests+' => '尚未关闭的需求',
'Menu:UserRequest:EscalatedRequests+' => 'Requests which are under escalation, by status or hot flag~~',
'Menu:UserRequest:OpenRequests' => '所有打开的需求',
'Menu:UserRequest:OpenRequests+' => 'All requests that are not closed~~',
'UI:WelcomeMenu:MyAssignedCalls' => '分配给我的需求',
'UI-RequestManagementOverview-RequestByType-last-14-days' => '最近两周的需求 (按类型)',
'UI-RequestManagementOverview-Last-14-days' => '最近两周的需求 (按数量)',
'UI-RequestManagementOverview-OpenRequestByStatus' => '待处理的需求 (按状态)',
'UI-RequestManagementOverview-OpenRequestByAgent' => '待处理的需求 (按办理人)',
'UI-RequestManagementOverview-OpenRequestByType' => '待处理的需求 (按类型)',
'UI-RequestManagementOverview-OpenRequestByCustomer' => '待处理的需求 (按客户)',
'UI-RequestManagementOverview-OpenRequestByStatus' => '打开的需求 (按状态)',
'UI-RequestManagementOverview-OpenRequestByAgent' => '打开的需求 (按办理人)',
'UI-RequestManagementOverview-OpenRequestByType' => '打开的需求 (按类型)',
'UI-RequestManagementOverview-OpenRequestByCustomer' => '打开的需求 (按客户)',
'Class:UserRequest:KnownErrorList' => '已知错误',
'Class:UserRequest:KnownErrorList+' => '和当前工单关联的功能配置项相关的已知错误',
'Menu:UserRequest:MyWorkOrders' => '分配给我的工作任务',
'Menu:UserRequest:MyWorkOrders+' => '分配给我的所有工单',
'Class:Problem:KnownProblemList' => '已知问题',
'Tickets:Related:OpenIncidents' => '待处理的事件',
'Class:UserRequest/Method:UpdateChildTicketWith:public_log' => '<i><u>自动复制来自父级需求的公共日志 %2$s:</u></i><br><br>',
'Class:UserRequest/Method:UpdateChildTicketWith:private_log' => '<i>自动复制来自父级需求的私有日志 [[UserRequest:%1$s]]:</i><br><br>',
'Tickets:Related:OpenIncidents' => '打开的事件',
]);
// Dictionnay conventions
@@ -131,7 +129,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserRequest/Attribute:origin/Value:phone' => '电话',
'Class:UserRequest/Attribute:origin/Value:phone+' => '电话',
'Class:UserRequest/Attribute:origin/Value:portal' => '门户',
'Class:UserRequest/Attribute:origin/Value:portal+' => '在用户门户中创建的需求工单',
'Class:UserRequest/Attribute:origin/Value:portal+' => 'Request created on the user portal~~',
'Class:UserRequest/Attribute:approver_id' => '审核人',
'Class:UserRequest/Attribute:approver_id+' => '',
'Class:UserRequest/Attribute:approver_email' => '邮箱',
@@ -278,7 +276,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Portal:ListOpenProblems' => '处理中的问题',
'Portal:ShowProblem' => '问题',
'Portal:ShowFaqs' => 'FAQ',
'Portal:NoOpenProblem' => '没有待处理的问题',
'Portal:NoOpenProblem' => '没有打开的问题',
'Portal:SelectLanguage' => '更改您的语言',
'Portal:LanguageChangedTo_Lang' => '语言更改为',
'Portal:ChooseYourFavoriteLanguage' => '请选择您喜欢的语言',

View File

@@ -35,20 +35,20 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:DeliveryModel+' => 'Модели предоставления услуг (Delivery Models)',
'Menu:ServiceFamily' => 'Пакеты услуг',
'Menu:ServiceFamily+' => 'Пакеты услуг',
'Menu:ServiceCatalog' => 'Каталог услуг',
'Menu:ServiceCatalog+' => 'Определите элементы услуг вашего предложения',
'UI-ServiceCatalogMenu-Title' => 'Каталог услуг',
'UI-ServiceCatalogMenu-NotInPortal' => 'Не отображается в портале пользователя',
'UI-ServiceCatalogMenu-OnlyProductionInPortal' => 'В портале пользователя видны только услуги и подкатегории в статусе "Эксплуатация"',
'UI-ServiceCatalogMenu-UnusedService' => 'Услуги, не используемые ни одним заказчиком',
'UI-ServiceCatalogMenu-ServiceWithoutFamilyNotInPortal' => 'Услуги без семейства услуг не отображаются в портале пользователя',
'UI-ServiceCatalogMenu-SLTBySLA' => 'Количество SLT в каждом SLA',
'UI-ServiceCatalogMenu-ContractByService' => 'Количество контрактов, использующих услугу',
'UI-ServiceCatalogMenu-ContractBySLA' => 'Количество контрактов, использующих SLA',
'Menu:ServiceCatalog' => 'Service catalog~~',
'Menu:ServiceCatalog+' => 'Define the service elements of your offering~~',
'UI-ServiceCatalogMenu-Title' => 'Service catalog~~',
'UI-ServiceCatalogMenu-NotInPortal' => 'Not displayed in User Portal~~',
'UI-ServiceCatalogMenu-OnlyProductionInPortal' => 'Only Service and Subcategory on production are visible in User Portal~~',
'UI-ServiceCatalogMenu-UnusedService' => 'Services not used by any Customers~~',
'UI-ServiceCatalogMenu-ServiceWithoutFamilyNotInPortal' => 'Services without Service Family are not visible in User Portal~~',
'UI-ServiceCatalogMenu-SLTBySLA' => 'Count SLTs on each SLA~~',
'UI-ServiceCatalogMenu-ContractByService' => 'Count Contracts using a Service~~',
'UI-ServiceCatalogMenu-ContractBySLA' => 'Count Contracts using an SLA~~',
'Contract:baseinfo' => 'Общая информация',
'Contract:moreinfo' => 'Информация о контракте',
'Contract:cost' => 'Информация о стоимости',
'Contract:baseinfo' => 'General information~~',
'Contract:moreinfo' => 'Contractual information~~',
'Contract:cost' => 'Cost information~~',
]);
//
@@ -163,7 +163,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToContract' => 'Связь Контакт/Договор',
'Class:lnkContactToContract+' => '',
'Class:lnkContactToContract/Name' => '%1$s / %2$s',
'Class:lnkContactToContract/Name' => '%1$s / %2$s~~',
'Class:lnkContactToContract/Attribute:contract_id' => 'Договор',
'Class:lnkContactToContract/Attribute:contract_id+' => '',
'Class:lnkContactToContract/Attribute:contract_name' => 'Договор',
@@ -181,7 +181,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContractToDocument' => 'Связь Договор/Документ',
'Class:lnkContractToDocument+' => '',
'Class:lnkContractToDocument/Name' => '%1$s / %2$s',
'Class:lnkContractToDocument/Name' => '%1$s / %2$s~~',
'Class:lnkContractToDocument/Attribute:contract_id' => 'Договор',
'Class:lnkContractToDocument/Attribute:contract_id+' => '',
'Class:lnkContractToDocument/Attribute:contract_name' => 'Договор',
@@ -199,7 +199,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkFunctionalCIToProviderContract' => 'Связь Функциональная КЕ/Договор с поставщиком',
'Class:lnkFunctionalCIToProviderContract+' => '',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Договор с поставщиком',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name' => 'Договор с поставщиком',
@@ -232,7 +232,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service' => 'Услуга',
'Class:Service+' => '',
'Class:Service/ComplementaryName' => '%1$s - %2$s',
'Class:Service/ComplementaryName' => '%1$s - %2$s~~',
'Class:Service/Attribute:name' => 'Название',
'Class:Service/Attribute:name+' => '',
'Class:Service/Attribute:org_id' => 'Поставщик',
@@ -242,7 +242,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service/Attribute:description' => 'Описание',
'Class:Service/Attribute:description+' => '',
'Class:Service/Attribute:servicefamily_id' => 'Пакет услуг',
'Class:Service/Attribute:servicefamily_id+' => 'Требуется, чтобы услуга была видна в портале пользователя',
'Class:Service/Attribute:servicefamily_id+' => 'Required for this service to be visible on User Portal~~',
'Class:Service/Attribute:servicefamily_name' => 'Пакет услуг',
'Class:Service/Attribute:servicefamily_name+' => '',
'Class:Service/Attribute:documents_list' => 'Документы',
@@ -250,7 +250,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service/Attribute:contacts_list' => 'Контакты',
'Class:Service/Attribute:contacts_list+' => 'Связанные контакты',
'Class:Service/Attribute:status' => 'Статус',
'Class:Service/Attribute:status+' => 'По умолчанию пользователям портала видны только услуги в статусе "Эксплуатация"',
'Class:Service/Attribute:status+' => 'By default only Service in production are visible by Portal users~~',
'Class:Service/Attribute:status/Value:implementation' => 'Внедрение',
'Class:Service/Attribute:status/Value:implementation+' => 'Внедрение',
'Class:Service/Attribute:status/Value:obsolete' => 'Устаревший',
@@ -272,7 +272,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToService' => 'Связь Документ/Услуга',
'Class:lnkDocumentToService+' => '',
'Class:lnkDocumentToService/Name' => '%1$s / %2$s',
'Class:lnkDocumentToService/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToService/Attribute:service_id' => 'Услуга',
'Class:lnkDocumentToService/Attribute:service_id+' => '',
'Class:lnkDocumentToService/Attribute:service_name' => 'Услуга',
@@ -290,7 +290,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToService' => 'Связь Контакт/Услуга',
'Class:lnkContactToService+' => '',
'Class:lnkContactToService/Name' => '%1$s / %2$s',
'Class:lnkContactToService/Name' => '%1$s / %2$s~~',
'Class:lnkContactToService/Attribute:service_id' => 'Услуга',
'Class:lnkContactToService/Attribute:service_id+' => '',
'Class:lnkContactToService/Attribute:service_name' => 'Услуга',
@@ -308,7 +308,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ServiceSubcategory' => 'Подкатегория услуги',
'Class:ServiceSubcategory+' => '',
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s',
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s~~',
'Class:ServiceSubcategory/Attribute:name' => 'Название',
'Class:ServiceSubcategory/Attribute:name+' => '',
'Class:ServiceSubcategory/Attribute:description' => 'Описание',
@@ -326,7 +326,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ServiceSubcategory/Attribute:status/Value:production' => 'Эксплуатация',
'Class:ServiceSubcategory/Attribute:status/Value:production+' => 'Эксплуатация',
'Class:ServiceSubcategory/Attribute:request_type' => 'Тип запроса',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Определяет тип тикета (Инцидент или Запрос на обслуживание), который будет создан, когда пользователь портала выберет эту подкатегорию услуги.',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Define the type of Ticket (Incident or Service Request) that will be created when a Portal user selects this service subcategory.~~',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident' => 'Инцидент',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident+' => 'Инцидент',
'Class:ServiceSubcategory/Attribute:request_type/Value:service_request' => 'Запрос на обслуживание',
@@ -354,7 +354,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:SLA/Attribute:slts_list+' => 'Целевой показатель уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Не удалось сохранить связь с контрактом заказчика %1$s и услугой %2$s: SLA уже существует',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
]);
//
@@ -405,7 +405,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkSLAToSLT' => 'Связь SLA/SLT',
'Class:lnkSLAToSLT+' => '',
'Class:lnkSLAToSLT/Name' => '%1$s / %2$s',
'Class:lnkSLAToSLT/Name' => '%1$s / %2$s~~',
'Class:lnkSLAToSLT/Attribute:sla_id' => 'SLA',
'Class:lnkSLAToSLT/Attribute:sla_id+' => '',
'Class:lnkSLAToSLT/Attribute:sla_name' => 'SLA',
@@ -433,7 +433,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToService' => 'Связь Договор с заказчиком/Услуга',
'Class:lnkCustomerContractToService+' => '',
'Class:lnkCustomerContractToService/Name' => '%1$s / %2$s',
'Class:lnkCustomerContractToService/Name' => '%1$s / %2$s~~',
'Class:lnkCustomerContractToService/Attribute:customercontract_id' => 'Договор с заказчиком',
'Class:lnkCustomerContractToService/Attribute:customercontract_id+' => '',
'Class:lnkCustomerContractToService/Attribute:customercontract_name' => 'Договор с заказчиком',
@@ -446,8 +446,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToService/Attribute:sla_id+' => '',
'Class:lnkCustomerContractToService/Attribute:sla_name' => 'SLA',
'Class:lnkCustomerContractToService/Attribute:sla_name+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Поставщик',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Provider~~',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
]);
//
@@ -457,7 +457,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToProviderContract' => 'Связь Договор с заказчиком/Договор с поставщиком',
'Class:lnkCustomerContractToProviderContract+' => '',
'Class:lnkCustomerContractToProviderContract/Name' => '%1$s / %2$s',
'Class:lnkCustomerContractToProviderContract/Name' => '%1$s / %2$s~~',
'Class:lnkCustomerContractToProviderContract/Attribute:customercontract_id' => 'Договор с заказчиком',
'Class:lnkCustomerContractToProviderContract/Attribute:customercontract_id+' => '',
'Class:lnkCustomerContractToProviderContract/Attribute:customercontract_name' => 'Договор с заказчиком',
@@ -475,7 +475,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToFunctionalCI' => 'Связь Договор с заказчиком/Функциональная КЕ',
'Class:lnkCustomerContractToFunctionalCI+' => '',
'Class:lnkCustomerContractToFunctionalCI/Name' => '%1$s / %2$s',
'Class:lnkCustomerContractToFunctionalCI/Name' => '%1$s / %2$s~~',
'Class:lnkCustomerContractToFunctionalCI/Attribute:customercontract_id' => 'Договор с заказчиком',
'Class:lnkCustomerContractToFunctionalCI/Attribute:customercontract_id+' => '',
'Class:lnkCustomerContractToFunctionalCI/Attribute:customercontract_name' => 'Договор с заказчиком',
@@ -514,7 +514,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDeliveryModelToContact' => 'Связь Модель предоставления услуг/Контакт',
'Class:lnkDeliveryModelToContact+' => '',
'Class:lnkDeliveryModelToContact/Name' => '%1$s / %2$s',
'Class:lnkDeliveryModelToContact/Name' => '%1$s / %2$s~~',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id' => 'Модель предоставления услуг',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id+' => '',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_name' => 'Модель предоставления услуг',
@@ -534,10 +534,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToContract/Attribute:customer_id' => 'Заказчик',
'Class:lnkContactToContract/Attribute:customer_id+' => '',
'Class:lnkContactToContract/Attribute:provider_id' => 'Поставщик',
'Class:lnkContactToContract/Attribute:provider_id+' => '',
'Class:lnkContactToContract/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
]);
//
@@ -545,8 +545,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContractToDocument/Attribute:customer_id' => 'Заказчик',
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Поставщик',
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
'Class:lnkContractToDocument/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
]);

View File

@@ -40,26 +40,26 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:ServiceManagement+' => '服务管理概况',
'Menu:Service:Overview' => '概况',
'Menu:Service:Overview+' => '',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => '合同 (按服务级)',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => '合同 (按服务级)',
'UI-ServiceManagementMenu-ContractsByStatus' => '合同 (按状态)',
'UI-ServiceManagementMenu-ContractsEndingIn30Days' => '近30天内截止的合同',
'Menu:ProviderContract' => '供应商合同',
'Menu:ProviderContract+' => '为外部公司采购',
'Menu:ProviderContract+' => '供应商合同',
'Menu:CustomerContract' => '客户合同',
'Menu:CustomerContract+' => '谁购买的服务',
'Menu:CustomerContract+' => '客户合同',
'Menu:ServiceSubcategory' => '子服务',
'Menu:ServiceSubcategory+' => '服务架构的最低层级',
'Menu:ServiceSubcategory+' => '服务',
'Menu:Service' => '服务',
'Menu:Service+' => '服务架构的第二层级',
'Menu:Service+' => '服务',
'Menu:SLA' => 'SLA',
'Menu:SLA+' => '服务级协议',
'Menu:SLA+' => '服务级协议',
'Menu:SLT' => 'SLT',
'Menu:SLT+' => '服务级目标',
'Menu:SLT+' => '服务级目标',
'Menu:DeliveryModel' => '交付模式',
'Menu:DeliveryModel+' => '处理工单的团队',
'Menu:DeliveryModel+' => '交付模式',
'Menu:ServiceFamily' => '服务家族',
'Menu:ServiceFamily+' => '服务架构的最高层级',
'Menu:ServiceFamily+' => '服务家族',
'Menu:ServiceCatalog' => '服务清单',
'Menu:ServiceCatalog+' => '定义所有提供的服务',
'UI-ServiceCatalogMenu-Title' => '服务清单',
@@ -71,7 +71,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'UI-ServiceCatalogMenu-ContractByService' => '统计 服务/合同',
'UI-ServiceCatalogMenu-ContractBySLA' => '统计 SLA/合同',
'Contract:baseinfo' => '基本信息',
'Contract:baseinfo' => '常规信息',
'Contract:moreinfo' => '合同信息',
'Contract:cost' => '费用信息',
]);
@@ -140,15 +140,15 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Contract/Attribute:provider_name' => '供应商名称',
'Class:Contract/Attribute:provider_name+' => '',
'Class:Contract/Attribute:status' => '状态',
'Class:Contract/Attribute:status+' => '状态并非由起止日期自动计算, 必须手动设置.',
'Class:Contract/Attribute:status+' => '',
'Class:Contract/Attribute:status/Value:implementation' => '生效',
'Class:Contract/Attribute:status/Value:implementation+' => '生效',
'Class:Contract/Attribute:status/Value:obsolete' => '废弃',
'Class:Contract/Attribute:status/Value:obsolete+' => '废弃',
'Class:Contract/Attribute:status/Value:production' => '正式',
'Class:Contract/Attribute:status/Value:production+' => '正式',
'Class:Contract/Attribute:finalclass' => '合同类',
'Class:Contract/Attribute:finalclass+' => '根本属性的名称',
'Class:Contract/Attribute:finalclass' => '合同类',
'Class:Contract/Attribute:finalclass+' => '',
]);
//
@@ -157,7 +157,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:CustomerContract' => '客户合同',
'Class:CustomerContract+' => '客户与供应商之间关于服务交付的协议,可选择包含承诺服务级别 (SLA, 窗口时间).',
'Class:CustomerContract+' => 'Agreement between a client and a provider for the delivery of services with an optional level of commitment (SLA, Coverage Window).~~',
'Class:CustomerContract/Attribute:services_list' => '服务',
'Class:CustomerContract/Attribute:services_list+' => '此合同包含的所有服务',
'Class:CustomerContract/Attribute:functionalcis_list' => '配置项',
@@ -172,13 +172,13 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ProviderContract' => '供应商合同',
'Class:ProviderContract+' => '外部供应商与内部组织之间的协议.',
'Class:ProviderContract+' => 'Agreement between an external provider and an internal organization.~~',
'Class:ProviderContract/Attribute:functionalcis_list' => '配置项',
'Class:ProviderContract/Attribute:functionalcis_list+' => '此合同包含的所有配置项',
'Class:ProviderContract/Attribute:sla' => 'SLA',
'Class:ProviderContract/Attribute:sla+' => '服务级协议',
'Class:ProviderContract/Attribute:sla+' => '服务级协议',
'Class:ProviderContract/Attribute:coverage' => '服务时间',
'Class:ProviderContract/Attribute:coverage+' => '合同覆盖的服务时间, 例如 24x7, 9x5 等.',
'Class:ProviderContract/Attribute:coverage+' => '',
]);
//
@@ -187,7 +187,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContactToContract' => '链接 联系人/合同',
'Class:lnkContactToContract+' => '管理客户或供应商合同中的关键联系人.',
'Class:lnkContactToContract+' => 'Manages key contacts on each Customer or Provider Contract.~~',
'Class:lnkContactToContract/Name' => '%1$s / %2$s',
'Class:lnkContactToContract/Attribute:contract_id' => '合同',
'Class:lnkContactToContract/Attribute:contract_id+' => '',
@@ -267,7 +267,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Service/Attribute:description' => '描述',
'Class:Service/Attribute:description+' => '',
'Class:Service/Attribute:servicefamily_id' => '服务家族',
'Class:Service/Attribute:servicefamily_id+' => '在用户门户中可见所必需',
'Class:Service/Attribute:servicefamily_id+' => 'Required for this service to be visible on User Portal~~',
'Class:Service/Attribute:servicefamily_name' => '服务家族名称',
'Class:Service/Attribute:servicefamily_name+' => '',
'Class:Service/Attribute:documents_list' => '文档',
@@ -343,7 +343,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ServiceSubcategory/Attribute:service_name' => '服务名称',
'Class:ServiceSubcategory/Attribute:service_name+' => '',
'Class:ServiceSubcategory/Attribute:status' => '状态',
'Class:ServiceSubcategory/Attribute:status+' => '子服务状态通常影响在用户门户的可见性',
'Class:ServiceSubcategory/Attribute:status+' => '',
'Class:ServiceSubcategory/Attribute:status/Value:implementation' => '生效',
'Class:ServiceSubcategory/Attribute:status/Value:implementation+' => '生效',
'Class:ServiceSubcategory/Attribute:status/Value:obsolete' => '废弃',
@@ -351,7 +351,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ServiceSubcategory/Attribute:status/Value:production' => '生产',
'Class:ServiceSubcategory/Attribute:status/Value:production+' => '生产',
'Class:ServiceSubcategory/Attribute:request_type' => '需求类型',
'Class:ServiceSubcategory/Attribute:request_type+' => '定义工单类型(事件或服务需求),当门户用户选择此服务子类时将创建的工单.',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Define the type of Ticket (Incident or Service Request) that will be created when a Portal user selects this service subcategory.~~',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident' => '事件',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident+' => '事件',
'Class:ServiceSubcategory/Attribute:request_type/Value:service_request' => '服务需求',
@@ -366,7 +366,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLA' => 'SLA',
'Class:SLA+' => '服务级别协议 (SLA) 适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
'Class:SLA+' => 'Service Level Agreement (SLA) 适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
'Class:SLA/Attribute:name' => '名称',
'Class:SLA/Attribute:name+' => '',
'Class:SLA/Attribute:description' => '描述',
@@ -376,7 +376,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLA/Attribute:organization_name' => '组织名称',
'Class:SLA/Attribute:organization_name+' => '',
'Class:SLA/Attribute:slts_list' => 'SLT',
'Class:SLA/Attribute:slts_list+' => '此 SLA 包含的所有服务级目标',
'Class:SLA/Attribute:slts_list+' => '此 SLA 包含的所有服务级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用此 SLA 的所有客户合同',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => '不能保存客户合同 %1$s 于服务 %2$s 的关联: SLA 已存在',
@@ -388,11 +388,11 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLT' => 'SLT',
'Class:SLT+' => '服务级别目标(SLT)位于服务级别协议(SLA)之下. 它定义了(TTO 或 TTR)指标的最大时限, 需求类型 (事件或服务需求) 和优先级.',
'Class:SLT+' => '服务水平目标位于服务水平协议(SLA)之下. 它定义了(TTO 或 TTR)指标的最大时限, 需求类型 (事件或服务需求) 和优先级.',
'Class:SLT/Attribute:name' => '名称',
'Class:SLT/Attribute:name+' => '',
'Class:SLT/Attribute:priority' => '优先级',
'Class:SLT/Attribute:priority+' => '此 SLT 适用的工单优先级。仅有此优先级的工单需遵守此 SLT 的要求.',
'Class:SLT/Attribute:priority+' => '',
'Class:SLT/Attribute:priority/Value:1' => '紧急',
'Class:SLT/Attribute:priority/Value:1+' => '紧急',
'Class:SLT/Attribute:priority/Value:2' => '高',
@@ -402,21 +402,21 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLT/Attribute:priority/Value:4' => '低',
'Class:SLT/Attribute:priority/Value:4+' => '低',
'Class:SLT/Attribute:request_type' => '需求类型',
'Class:SLT/Attribute:request_type+' => '定义当用户选择此服务子类别时将创建的工单类型 (事件或服务需求).',
'Class:SLT/Attribute:request_type+' => '',
'Class:SLT/Attribute:request_type/Value:incident' => '事件',
'Class:SLT/Attribute:request_type/Value:incident+' => '事件',
'Class:SLT/Attribute:request_type/Value:service_request' => '服务需求',
'Class:SLT/Attribute:request_type/Value:service_request+' => '服务需求',
'Class:SLT/Attribute:metric' => '衡量指标',
'Class:SLT/Attribute:metric+' => '定义适用于此 SLT 的衡量指标, TTO (响应时间) 或 TTR (解决时限).',
'Class:SLT/Attribute:metric+' => '',
'Class:SLT/Attribute:metric/Value:tto' => 'TTO',
'Class:SLT/Attribute:metric/Value:tto+' => '响应时间',
'Class:SLT/Attribute:metric/Value:ttr' => 'TTR',
'Class:SLT/Attribute:metric/Value:ttr+' => '解决时限',
'Class:SLT/Attribute:value' => '值',
'Class:SLT/Attribute:value+' => '定义符合目标要求的最大延迟值, 在 "度量单位" 属性中定义.',
'Class:SLT/Attribute:value+' => '',
'Class:SLT/Attribute:unit' => '度量单位',
'Class:SLT/Attribute:unit+' => '时间的单位',
'Class:SLT/Attribute:unit+' => '',
'Class:SLT/Attribute:unit/Value:hours' => '小时',
'Class:SLT/Attribute:unit/Value:hours+' => '小时',
'Class:SLT/Attribute:unit/Value:minutes' => '分钟',
@@ -464,15 +464,15 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkCustomerContractToService/Attribute:customercontract_name' => '客户合同名称',
'Class:lnkCustomerContractToService/Attribute:customercontract_name+' => '',
'Class:lnkCustomerContractToService/Attribute:service_id' => '服务',
'Class:lnkCustomerContractToService/Attribute:service_id+' => '与该服务相关的所有子服务也均包含在本合同范围内',
'Class:lnkCustomerContractToService/Attribute:service_id+' => '',
'Class:lnkCustomerContractToService/Attribute:service_name' => '服务名称',
'Class:lnkCustomerContractToService/Attribute:service_name+' => '',
'Class:lnkCustomerContractToService/Attribute:sla_id' => 'SLA',
'Class:lnkCustomerContractToService/Attribute:sla_id+' => '适用于此客户合同的服务级别协议. 该 SLA 也适用于与该服务相关的所有子服务.',
'Class:lnkCustomerContractToService/Attribute:sla_id+' => '',
'Class:lnkCustomerContractToService/Attribute:sla_name' => 'SLA名称',
'Class:lnkCustomerContractToService/Attribute:sla_name+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => '供应商',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Provider~~',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
]);
//
@@ -528,7 +528,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DeliveryModel/Attribute:description' => '描述',
'Class:DeliveryModel/Attribute:description+' => '',
'Class:DeliveryModel/Attribute:contacts_list' => '联系人',
'Class:DeliveryModel/Attribute:contacts_list+' => '必须至少有一个团队才能进行工单分配',
'Class:DeliveryModel/Attribute:contacts_list+' => '此交付模式的所有联系人 (包括团队和个体)',
'Class:DeliveryModel/Attribute:customers_list' => '客户',
'Class:DeliveryModel/Attribute:customers_list+' => '使用此交付模式的所有客户',
]);
@@ -560,10 +560,10 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContactToContract/Attribute:customer_id' => '客户id',
'Class:lnkContactToContract/Attribute:customer_id+' => '',
'Class:lnkContactToContract/Attribute:provider_id' => '供应商id',
'Class:lnkContactToContract/Attribute:provider_id+' => '',
'Class:lnkContactToContract/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
]);
//
@@ -571,8 +571,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContractToDocument/Attribute:customer_id' => '客户id',
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
'Class:lnkContractToDocument/Attribute:provider_id' => '供应商id',
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
'Class:lnkContractToDocument/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
]);

View File

@@ -35,22 +35,22 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Menu:DeliveryModel+' => 'Модели предоставления услуг (Delivery Models)',
'Menu:ServiceFamily' => 'Пакеты услуг',
'Menu:ServiceFamily+' => 'Пакеты услуг',
'Menu:ServiceCatalog' => 'Каталог услуг',
'Menu:ServiceCatalog+' => 'Определите элементы услуг вашего предложения',
'UI-ServiceCatalogMenu-Title' => 'Каталог услуг',
'UI-ServiceCatalogMenu-NotInPortal' => 'Не отображается в портале пользователя',
'UI-ServiceCatalogMenu-OnlyProductionInPortal' => 'В портале пользователя видны только услуги и подкатегории в статусе "Эксплуатация"',
'UI-ServiceCatalogMenu-UnusedService' => 'Услуги, не используемые ни одним заказчиком',
'UI-ServiceCatalogMenu-ServiceWithoutFamilyNotInPortal' => 'Услуги без семейства услуг не отображаются в портале пользователя',
'UI-ServiceCatalogMenu-SLTBySLA' => 'Количество SLT в каждом SLA',
'UI-ServiceCatalogMenu-ContractByService' => 'Количество контрактов, использующих услугу',
'UI-ServiceCatalogMenu-ContractBySLA' => 'Количество контрактов, использующих SLA',
'Menu:ServiceCatalog' => 'Service catalog~~',
'Menu:ServiceCatalog+' => 'Define the service elements of your offering~~',
'UI-ServiceCatalogMenu-Title' => 'Service catalog~~',
'UI-ServiceCatalogMenu-NotInPortal' => 'Not displayed in User Portal~~',
'UI-ServiceCatalogMenu-OnlyProductionInPortal' => 'Only Service and Subcategory on production are visible in User Portal~~',
'UI-ServiceCatalogMenu-UnusedService' => 'Services not used by any Customers~~',
'UI-ServiceCatalogMenu-ServiceWithoutFamilyNotInPortal' => 'Services without Service Family are not visible in User Portal~~',
'UI-ServiceCatalogMenu-SLTBySLA' => 'Count SLTs on each SLA~~',
'UI-ServiceCatalogMenu-ContractByService' => 'Count Contracts using a Service~~',
'UI-ServiceCatalogMenu-ContractBySLA' => 'Count Contracts using an SLA~~',
'Menu:Procedure' => 'Каталог процедур',
'Menu:Procedure+' => 'Каталог процедур',
'Contract:baseinfo' => 'Общая информация',
'Contract:moreinfo' => 'Информация о контракте',
'Contract:cost' => 'Информация о стоимости',
'Contract:baseinfo' => 'General information~~',
'Contract:moreinfo' => 'Contractual information~~',
'Contract:cost' => 'Cost information~~',
]);
//
@@ -59,8 +59,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Organization/Attribute:deliverymodel_id' => 'Модель предоставления услуг',
'Class:Organization/Attribute:deliverymodel_id+' => 'Требуется для обработки тикетов.
Модель предоставления услуг определяет команды, на которые можно назначать тикеты.',
'Class:Organization/Attribute:deliverymodel_id+' => 'This is required for Tickets handling.
The delivery model specifies the teams to which tickets can be assigned.~~',
'Class:Organization/Attribute:deliverymodel_name' => 'Модель предоставления услуг',
]);
@@ -155,8 +155,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ProviderContract/Attribute:contracttype_id+' => '',
'Class:ProviderContract/Attribute:contracttype_name' => 'Тип договора',
'Class:ProviderContract/Attribute:contracttype_name+' => '',
'Class:ProviderContract/Attribute:services_list' => 'Услуги',
'Class:ProviderContract/Attribute:services_list+' => 'Все услуги, приобретённые по этому контракту',
'Class:ProviderContract/Attribute:services_list' => 'Services~~',
'Class:ProviderContract/Attribute:services_list+' => 'All the services purchased with this contract~~',
]);
//
@@ -166,7 +166,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToContract' => 'Связь Контакт/Договор',
'Class:lnkContactToContract+' => '',
'Class:lnkContactToContract/Name' => '%1$s / %2$s',
'Class:lnkContactToContract/Name' => '%1$s / %2$s~~',
'Class:lnkContactToContract/Attribute:contract_id' => 'Договор',
'Class:lnkContactToContract/Attribute:contract_id+' => '',
'Class:lnkContactToContract/Attribute:contract_name' => 'Договор',
@@ -184,7 +184,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContractToDocument' => 'Связь Договор/Документ',
'Class:lnkContractToDocument+' => '',
'Class:lnkContractToDocument/Name' => '%1$s / %2$s',
'Class:lnkContractToDocument/Name' => '%1$s / %2$s~~',
'Class:lnkContractToDocument/Attribute:contract_id' => 'Договор',
'Class:lnkContractToDocument/Attribute:contract_id+' => '',
'Class:lnkContractToDocument/Attribute:contract_name' => 'Договор',
@@ -217,7 +217,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service' => 'Услуга',
'Class:Service+' => '',
'Class:Service/ComplementaryName' => '%1$s - %2$s',
'Class:Service/ComplementaryName' => '%1$s - %2$s~~',
'Class:Service/Attribute:name' => 'Название',
'Class:Service/Attribute:name+' => '',
'Class:Service/Attribute:org_id' => 'Поставщик',
@@ -225,7 +225,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service/Attribute:organization_name' => 'Поставщик',
'Class:Service/Attribute:organization_name+' => '',
'Class:Service/Attribute:servicefamily_id' => 'Пакет услуг',
'Class:Service/Attribute:servicefamily_id+' => 'Требуется, чтобы услуга была видна в портале пользователя',
'Class:Service/Attribute:servicefamily_id+' => 'Required for this service to be visible on User Portal~~',
'Class:Service/Attribute:servicefamily_name' => 'Пакет услуг',
'Class:Service/Attribute:servicefamily_name+' => '',
'Class:Service/Attribute:description' => 'Описание',
@@ -235,7 +235,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Service/Attribute:contacts_list' => 'Контакты',
'Class:Service/Attribute:contacts_list+' => 'Связанные контакты',
'Class:Service/Attribute:status' => 'Статус',
'Class:Service/Attribute:status+' => 'По умолчанию пользователям портала видны только услуги в статусе "Эксплуатация"',
'Class:Service/Attribute:status+' => 'By default only Service in production are visible by Portal users~~',
'Class:Service/Attribute:status/Value:implementation' => 'Внедрение',
'Class:Service/Attribute:status/Value:implementation+' => 'Внедрение',
'Class:Service/Attribute:status/Value:obsolete' => 'Устаревший',
@@ -261,7 +261,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDocumentToService' => 'Связь Документ/Услуга',
'Class:lnkDocumentToService+' => '',
'Class:lnkDocumentToService/Name' => '%1$s / %2$s',
'Class:lnkDocumentToService/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToService/Attribute:service_id' => 'Услуга',
'Class:lnkDocumentToService/Attribute:service_id+' => '',
'Class:lnkDocumentToService/Attribute:service_name' => 'Услуга',
@@ -279,7 +279,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToService' => 'Связь Контакт/Услуга',
'Class:lnkContactToService+' => '',
'Class:lnkContactToService/Name' => '%1$s / %2$s',
'Class:lnkContactToService/Name' => '%1$s / %2$s~~',
'Class:lnkContactToService/Attribute:service_id' => 'Услуга',
'Class:lnkContactToService/Attribute:service_id+' => '',
'Class:lnkContactToService/Attribute:service_name' => 'Услуга',
@@ -297,7 +297,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ServiceSubcategory' => 'Подкатегория услуги',
'Class:ServiceSubcategory+' => '',
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s',
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s~~',
'Class:ServiceSubcategory/Attribute:name' => 'Название',
'Class:ServiceSubcategory/Attribute:name+' => '',
'Class:ServiceSubcategory/Attribute:description' => 'Описание',
@@ -307,7 +307,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:ServiceSubcategory/Attribute:service_name' => 'Услуга',
'Class:ServiceSubcategory/Attribute:service_name+' => '',
'Class:ServiceSubcategory/Attribute:request_type' => 'Тип запроса',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Определяет тип тикета (Инцидент или Запрос на обслуживание), который будет создан, когда пользователь портала выберет эту подкатегорию услуги.',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Define the type of Ticket (Incident or Service Request) that will be created when a Portal user selects this service subcategory.~~',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident' => 'Инцидент',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident+' => 'Инцидент',
'Class:ServiceSubcategory/Attribute:request_type/Value:service_request' => 'Запрос на обслуживание',
@@ -341,7 +341,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:SLA/Attribute:slts_list+' => 'Целевые показатели уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Не удалось сохранить связь с контрактом заказчика %1$s и услугой %2$s: SLA уже существует',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
]);
//
@@ -383,8 +383,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:SLT/Attribute:unit/Value:hours+' => 'Часы',
'Class:SLT/Attribute:unit/Value:minutes' => 'Минуты',
'Class:SLT/Attribute:unit/Value:minutes+' => 'Минуты',
'Class:SLT/Attribute:slas_list' => 'SLA',
'Class:SLT/Attribute:slas_list+' => 'Все соглашения об уровне обслуживания, использующие этот SLT',
'Class:SLT/Attribute:slas_list' => 'SLAs~~',
'Class:SLT/Attribute:slas_list+' => 'All the service level agreements using this SLT~~',
]);
//
@@ -394,7 +394,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkSLAToSLT' => 'Связь SLA/SLT',
'Class:lnkSLAToSLT+' => '',
'Class:lnkSLAToSLT/Name' => '%1$s / %2$s',
'Class:lnkSLAToSLT/Name' => '%1$s / %2$s~~',
'Class:lnkSLAToSLT/Attribute:sla_id' => 'SLA',
'Class:lnkSLAToSLT/Attribute:sla_id+' => '',
'Class:lnkSLAToSLT/Attribute:sla_name' => 'SLA',
@@ -422,7 +422,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToService' => 'Связь Договор с заказчиком/Услуга',
'Class:lnkCustomerContractToService+' => '',
'Class:lnkCustomerContractToService/Name' => '%1$s / %2$s',
'Class:lnkCustomerContractToService/Name' => '%1$s / %2$s~~',
'Class:lnkCustomerContractToService/Attribute:customercontract_id' => 'Договор с заказчиком',
'Class:lnkCustomerContractToService/Attribute:customercontract_id+' => '',
'Class:lnkCustomerContractToService/Attribute:customercontract_name' => 'Договор с заказчиком',
@@ -444,7 +444,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkProviderContractToService' => 'Связь Договор с поставщиком/Услуга',
'Class:lnkProviderContractToService+' => '',
'Class:lnkProviderContractToService/Name' => '%1$s / %2$s',
'Class:lnkProviderContractToService/Name' => '%1$s / %2$s~~',
'Class:lnkProviderContractToService/Attribute:service_id' => 'Услуга',
'Class:lnkProviderContractToService/Attribute:service_id+' => '',
'Class:lnkProviderContractToService/Attribute:service_name' => 'Услуга',
@@ -463,9 +463,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:DeliveryModel' => 'Модель предоставления услуг',
'Class:DeliveryModel+' => '',
'Class:DeliveryModel/Attribute:name' => 'Название',
'Class:DeliveryModel/Attribute:name+' => 'Не забудьте добавить команды в эту модель предоставления услуг',
'Class:DeliveryModel/Attribute:name+' => 'Don\'t forget to add teams to this delivery model~~',
'Class:DeliveryModel/Attribute:org_id' => 'Организация',
'Class:DeliveryModel/Attribute:org_id+' => 'Обычно это организация, предоставляющая услуги',
'Class:DeliveryModel/Attribute:org_id+' => 'Usually the organization that provides the services~~',
'Class:DeliveryModel/Attribute:organization_name' => 'Организация',
'Class:DeliveryModel/Attribute:organization_name+' => '',
'Class:DeliveryModel/Attribute:description' => 'Описание',
@@ -483,7 +483,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkDeliveryModelToContact' => 'Связь Модель предоставления услуг/Контакт',
'Class:lnkDeliveryModelToContact+' => '',
'Class:lnkDeliveryModelToContact/Name' => '%1$s / %2$s',
'Class:lnkDeliveryModelToContact/Name' => '%1$s / %2$s~~',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id' => 'Модель предоставления услуг',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id+' => '',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_name' => 'Модель предоставления услуг',
@@ -503,10 +503,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToContract/Attribute:customer_id' => 'Заказчик',
'Class:lnkContactToContract/Attribute:customer_id+' => '',
'Class:lnkContactToContract/Attribute:provider_id' => 'Поставщик',
'Class:lnkContactToContract/Attribute:provider_id+' => '',
'Class:lnkContactToContract/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
]);
//
@@ -514,10 +514,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContractToDocument/Attribute:customer_id' => 'Заказчик',
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Поставщик',
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
'Class:lnkContractToDocument/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
]);
//
@@ -525,8 +525,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Поставщик',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Provider id~~',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
]);
//
@@ -534,6 +534,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkProviderContractToService/Attribute:provider_id' => 'Поставщик',
'Class:lnkProviderContractToService/Attribute:provider_id+' => '',
'Class:lnkProviderContractToService/Attribute:provider_id' => 'Provider id~~',
'Class:lnkProviderContractToService/Attribute:provider_id+' => '~~',
]);

View File

@@ -40,26 +40,26 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:ServiceManagement+' => '服务管理概况',
'Menu:Service:Overview' => '概况',
'Menu:Service:Overview+' => '',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => '合同 (按服务级)',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => '合同 (按服务级)',
'UI-ServiceManagementMenu-ContractsByStatus' => '合同 (按状态)',
'UI-ServiceManagementMenu-ContractsEndingIn30Days' => '未来30天内截止的合同',
'Menu:ProviderContract' => '供应商合同',
'Menu:ProviderContract+' => '为外部公司采购',
'Menu:ProviderContract+' => '供应商合同',
'Menu:CustomerContract' => '客户合同',
'Menu:CustomerContract+' => '谁购买服务',
'Menu:CustomerContract+' => '客户合同',
'Menu:ServiceSubcategory' => '子服务',
'Menu:ServiceSubcategory+' => '服务架构中的最低层级',
'Menu:ServiceSubcategory+' => '服务',
'Menu:Service' => '服务',
'Menu:Service+' => '服务架构中的第二层级',
'Menu:Service+' => '服务',
'Menu:SLA' => 'SLA',
'Menu:SLA+' => '服务级协议',
'Menu:SLA+' => '服务级协议',
'Menu:SLT' => 'SLT',
'Menu:SLT+' => '服务级目标',
'Menu:SLT+' => '服务级目标',
'Menu:DeliveryModel' => '交付模式',
'Menu:DeliveryModel+' => '处理工单的团队',
'Menu:DeliveryModel+' => '交付模式',
'Menu:ServiceFamily' => '服务家族',
'Menu:ServiceFamily+' => '服务架构的最高层级',
'Menu:ServiceFamily+' => '服务家族',
'Menu:ServiceCatalog' => '服务清单',
'Menu:ServiceCatalog+' => '定义可提供的服务',
'UI-ServiceCatalogMenu-Title' => '服务清单',
@@ -73,7 +73,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:Procedure' => '流程清单',
'Menu:Procedure+' => '所有流程清单',
'Contract:baseinfo' => '基本信息',
'Contract:baseinfo' => '常规信息',
'Contract:moreinfo' => '合同信息',
'Contract:cost' => '费用信息',
]);
@@ -138,19 +138,19 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Contract/Attribute:cost_unit' => '计费单位',
'Class:Contract/Attribute:cost_unit+' => '',
'Class:Contract/Attribute:provider_id' => '供应商',
'Class:Contract/Attribute:provider_id+' => '此合同的供应商组织, 可以与相关服务的供应商不同.',
'Class:Contract/Attribute:provider_id+' => '',
'Class:Contract/Attribute:provider_name' => '供应商名称',
'Class:Contract/Attribute:provider_name+' => '通用名称',
'Class:Contract/Attribute:status' => '状态',
'Class:Contract/Attribute:status+' => '状态并非根据起止日期自动计算, 必须手动设置.',
'Class:Contract/Attribute:status+' => '',
'Class:Contract/Attribute:status/Value:implementation' => '生效',
'Class:Contract/Attribute:status/Value:implementation+' => '生效',
'Class:Contract/Attribute:status/Value:obsolete' => '废弃',
'Class:Contract/Attribute:status/Value:obsolete+' => '废弃',
'Class:Contract/Attribute:status/Value:production' => '生产',
'Class:Contract/Attribute:status/Value:production+' => '生产',
'Class:Contract/Attribute:finalclass' => '合同子类型',
'Class:Contract/Attribute:finalclass+' => '根本属性的名称',
'Class:Contract/Attribute:finalclass' => '类型',
'Class:Contract/Attribute:finalclass+' => '',
]);
//
// Class: CustomerContract
@@ -158,7 +158,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:CustomerContract' => '客户合同',
'Class:CustomerContract+' => '客户与供应商之间关于服务交付的协议,可选择包含承诺服务级别 (SLA, 窗口时间).',
'Class:CustomerContract+' => 'Agreement between a client and a provider for the delivery of services with an optional level of commitment (SLA, Coverage Window).~~',
'Class:CustomerContract/Attribute:services_list' => '服务',
'Class:CustomerContract/Attribute:services_list+' => '此合同包含的所有服务',
]);
@@ -169,19 +169,19 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ProviderContract' => '供应商合同',
'Class:ProviderContract+' => '外部供应商与内部组织之间的协议.',
'Class:ProviderContract+' => 'Agreement between an external provider and an internal organization.~~',
'Class:ProviderContract/Attribute:functionalcis_list' => '配置项',
'Class:ProviderContract/Attribute:functionalcis_list+' => '此供应商合同包含的所有配置项',
'Class:ProviderContract/Attribute:sla' => 'SLA',
'Class:ProviderContract/Attribute:sla+' => '服务级协议',
'Class:ProviderContract/Attribute:sla+' => '服务级协议',
'Class:ProviderContract/Attribute:coverage' => '服务时间',
'Class:ProviderContract/Attribute:coverage+' => '合同覆盖的服务时间, 例如. 24x7, 9x5, 等.',
'Class:ProviderContract/Attribute:coverage+' => '',
'Class:ProviderContract/Attribute:contracttype_id' => '合同类型',
'Class:ProviderContract/Attribute:contracttype_id+' => '',
'Class:ProviderContract/Attribute:contracttype_name' => '合同类型名称',
'Class:ProviderContract/Attribute:contracttype_name+' => '',
'Class:ProviderContract/Attribute:services_list' => '服务',
'Class:ProviderContract/Attribute:services_list+' => '此供应商合同包含的所有服务',
'Class:ProviderContract/Attribute:services_list+' => 'All the services purchased with this contract~~',
]);
//
@@ -190,7 +190,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContactToContract' => '链接 联系人/合同',
'Class:lnkContactToContract+' => '管理每个客户或供应商合同的关键联系人.',
'Class:lnkContactToContract+' => 'Manages key contacts on each customer or provider contract.~~',
'Class:lnkContactToContract/Name' => '%1$s / %2$s',
'Class:lnkContactToContract/Attribute:contract_id' => '合同',
'Class:lnkContactToContract/Attribute:contract_id+' => '',
@@ -208,7 +208,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContractToDocument' => '链接 合同/文档',
'Class:lnkContractToDocument+' => '此链接用于当某个文档适用于某个合同.',
'Class:lnkContractToDocument+' => 'Link used when a Document is applicable to a Contract.~~',
'Class:lnkContractToDocument/Name' => '%1$s / %2$s',
'Class:lnkContractToDocument/Attribute:contract_id' => '合同',
'Class:lnkContractToDocument/Attribute:contract_id+' => '',
@@ -250,7 +250,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Service/Attribute:organization_name' => '供应商名称',
'Class:Service/Attribute:organization_name+' => '',
'Class:Service/Attribute:servicefamily_id' => '服务家族',
'Class:Service/Attribute:servicefamily_id+' => '在用户门户中可见此服务所需的必要条件',
'Class:Service/Attribute:servicefamily_id+' => 'Required for this service to be visible on User Portal~~',
'Class:Service/Attribute:servicefamily_name' => '服务家族名称',
'Class:Service/Attribute:servicefamily_name+' => '',
'Class:Service/Attribute:description' => '描述',
@@ -332,13 +332,13 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ServiceSubcategory/Attribute:service_name' => '服务名称',
'Class:ServiceSubcategory/Attribute:service_name+' => '',
'Class:ServiceSubcategory/Attribute:request_type' => '需求类型',
'Class:ServiceSubcategory/Attribute:request_type+' => '定义工单类型(事件或服务需求),当门户用户选择此服务子类时将创建的工单.',
'Class:ServiceSubcategory/Attribute:request_type+' => 'Define the type of Ticket (Incident or Service Request) that will be created when a Portal user selects this service subcategory.~~',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident' => '事件',
'Class:ServiceSubcategory/Attribute:request_type/Value:incident+' => '事件',
'Class:ServiceSubcategory/Attribute:request_type/Value:service_request' => '服务需求',
'Class:ServiceSubcategory/Attribute:request_type/Value:service_request+' => '服务需求',
'Class:ServiceSubcategory/Attribute:status' => '状态',
'Class:ServiceSubcategory/Attribute:status+' => '子服务状态通常影响在用户门户的可见度',
'Class:ServiceSubcategory/Attribute:status+' => '',
'Class:ServiceSubcategory/Attribute:status/Value:implementation' => '生效',
'Class:ServiceSubcategory/Attribute:status/Value:implementation+' => '生效',
'Class:ServiceSubcategory/Attribute:status/Value:obsolete' => '废弃',
@@ -353,7 +353,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLA' => 'SLA',
'Class:SLA+' => '服务级别协议(SLA)适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
'Class:SLA+' => 'Service Level Agreement (SLA) 适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
'Class:SLA/Attribute:name' => '名称',
'Class:SLA/Attribute:name+' => '',
'Class:SLA/Attribute:description' => '描述',
@@ -363,7 +363,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLA/Attribute:organization_name' => '供应商名称',
'Class:SLA/Attribute:organization_name+' => '通用名称',
'Class:SLA/Attribute:slts_list' => 'SLT',
'Class:SLA/Attribute:slts_list+' => '此SLA包含的所有服务级目标',
'Class:SLA/Attribute:slts_list+' => '此SLA包含的所有服务级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用此SLA的所有客户合同',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => '无法保存客户合同%1$s与服务%2$s的链接: SLA已存在',
@@ -375,11 +375,11 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLT' => 'SLT',
'Class:SLT+' => '服务级别目标(SLT)位于服务级别协议(SLA)之下. 它定义了(TTO 或 TTR)指标的最大时限, 需求类型 (事件或服务需求) 和优先级.',
'Class:SLT+' => '服务水平目标(SLT)位于服务水平协议(SLA)之下. 它定义了(TTO 或 TTR)指标的最大时限, 需求类型 (事件或服务需求) 和优先级.',
'Class:SLT/Attribute:name' => '名称',
'Class:SLT/Attribute:name+' => '',
'Class:SLT/Attribute:priority' => '优先级',
'Class:SLT/Attribute:priority+' => '此 SLT 适用的工单优先级。仅有此优先级的工单需遵守此 SLT 的要求.',
'Class:SLT/Attribute:priority+' => '',
'Class:SLT/Attribute:priority/Value:1' => '紧急',
'Class:SLT/Attribute:priority/Value:1+' => '紧急',
'Class:SLT/Attribute:priority/Value:2' => '高',
@@ -389,21 +389,21 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:SLT/Attribute:priority/Value:4' => '低',
'Class:SLT/Attribute:priority/Value:4+' => '低',
'Class:SLT/Attribute:request_type' => '需求类型',
'Class:SLT/Attribute:request_type+' => '定义工单类型(事件或服务需求),当门户用户选择此服务级别目标时将创建的工单.',
'Class:SLT/Attribute:request_type+' => '',
'Class:SLT/Attribute:request_type/Value:incident' => '事件',
'Class:SLT/Attribute:request_type/Value:incident+' => '事件',
'Class:SLT/Attribute:request_type/Value:service_request' => '服务需求',
'Class:SLT/Attribute:request_type/Value:service_request+' => '服务需求',
'Class:SLT/Attribute:metric' => '衡量指标',
'Class:SLT/Attribute:metric+' => '定义适用于此 SLT 的衡量指标, TTO (响应时间) 或 TTR (解决时限).',
'Class:SLT/Attribute:metric+' => '',
'Class:SLT/Attribute:metric/Value:tto' => 'TTO',
'Class:SLT/Attribute:metric/Value:tto+' => '响应时间',
'Class:SLT/Attribute:metric/Value:ttr' => 'TTR',
'Class:SLT/Attribute:metric/Value:ttr+' => '解决时限',
'Class:SLT/Attribute:value' => '值',
'Class:SLT/Attribute:value+' => '定义符合目标要求的最大延迟值, 在 "度量单位" 属性中定义。',
'Class:SLT/Attribute:value+' => '',
'Class:SLT/Attribute:unit' => '度量单位',
'Class:SLT/Attribute:unit+' => '时间的单位',
'Class:SLT/Attribute:unit+' => '',
'Class:SLT/Attribute:unit/Value:hours' => '小时',
'Class:SLT/Attribute:unit/Value:hours+' => '小时',
'Class:SLT/Attribute:unit/Value:minutes' => '分钟',
@@ -429,11 +429,11 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkSLAToSLT/Attribute:slt_name' => 'SLT名称',
'Class:lnkSLAToSLT/Attribute:slt_name+' => '',
'Class:lnkSLAToSLT/Attribute:slt_metric' => 'SLT指标',
'Class:lnkSLAToSLT/Attribute:slt_metric+' => '',
'Class:lnkSLAToSLT/Attribute:slt_metric+' => '~~',
'Class:lnkSLAToSLT/Attribute:slt_request_type' => 'SLT类别',
'Class:lnkSLAToSLT/Attribute:slt_request_type+' => '',
'Class:lnkSLAToSLT/Attribute:slt_request_type+' => '~~',
'Class:lnkSLAToSLT/Attribute:slt_ticket_priority' => 'SLT工单优先级',
'Class:lnkSLAToSLT/Attribute:slt_ticket_priority+' => '',
'Class:lnkSLAToSLT/Attribute:slt_ticket_priority+' => '~~',
'Class:lnkSLAToSLT/Attribute:slt_value' => 'SLT 值',
'Class:lnkSLAToSLT/Attribute:slt_value+' => '',
'Class:lnkSLAToSLT/Attribute:slt_value_unit' => 'SLT 单位',
@@ -453,14 +453,14 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkCustomerContractToService/Attribute:customercontract_name' => '客户合同名称',
'Class:lnkCustomerContractToService/Attribute:customercontract_name+' => '',
'Class:lnkCustomerContractToService/Attribute:service_id' => '服务',
'Class:lnkCustomerContractToService/Attribute:service_id+' => '与该服务相关的所有子服务也均包含在本合同范围内',
'Class:lnkCustomerContractToService/Attribute:service_id+' => '',
'Class:lnkCustomerContractToService/Attribute:service_name' => '服务名称',
'Class:lnkCustomerContractToService/Attribute:service_name+' => '',
'Class:lnkCustomerContractToService/Attribute:sla_id' => 'SLA',
'Class:lnkCustomerContractToService/Attribute:sla_id+' => '',
'Class:lnkCustomerContractToService/Attribute:sla_name' => 'SLA 名称',
'Class:lnkCustomerContractToService/Attribute:sla_name' => 'SLA名称',
'Class:lnkCustomerContractToService/Attribute:sla_name+' => '',
'Class:lnkCustomerContractToService/Attribute:provider_id' => '供应商id',
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Provider id~~',
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '',
]);
@@ -480,7 +480,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkProviderContractToService/Attribute:providercontract_id+' => '',
'Class:lnkProviderContractToService/Attribute:providercontract_name' => '供应商合同名称',
'Class:lnkProviderContractToService/Attribute:providercontract_name+' => '',
'Class:lnkProviderContractToService/Attribute:provider_id' => '供应商id',
'Class:lnkProviderContractToService/Attribute:provider_id' => 'Provider id~~',
'Class:lnkProviderContractToService/Attribute:provider_id+' => '',
]);
@@ -493,15 +493,15 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:DeliveryModel+' => '交付模式指定了可以分配工单的团队;它必须在联系人选项卡中包含至少一个团队.
每个客户组织都必须有定义好的交付模式.',
'Class:DeliveryModel/Attribute:name' => '名称',
'Class:DeliveryModel/Attribute:name+' => '别忘了给这个交付模式添加团队',
'Class:DeliveryModel/Attribute:name+' => 'Don\'t forget to add teams to this delivery model~~',
'Class:DeliveryModel/Attribute:org_id' => '组织',
'Class:DeliveryModel/Attribute:org_id+' => '通常是提供服务的那个组织',
'Class:DeliveryModel/Attribute:org_id+' => 'Usually the organization that provides the services~~',
'Class:DeliveryModel/Attribute:organization_name' => '组织名称',
'Class:DeliveryModel/Attribute:organization_name+' => '通用名称',
'Class:DeliveryModel/Attribute:description' => '描述',
'Class:DeliveryModel/Attribute:description+' => '',
'Class:DeliveryModel/Attribute:contacts_list' => '联系人',
'Class:DeliveryModel/Attribute:contacts_list+' => '必须至少有一个团队才能进行工单分配',
'Class:DeliveryModel/Attribute:contacts_list+' => '此交付模式相关的所有联系人 (包括团队和个体)',
'Class:DeliveryModel/Attribute:customers_list' => '客户',
'Class:DeliveryModel/Attribute:customers_list+' => '使用此交付模式的所有客户',
]);
@@ -512,7 +512,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkDeliveryModelToContact' => '链接 交付模式/联系人',
'Class:lnkDeliveryModelToContact+' => '此链接指定了团队 (较少是个体) 在交付模式中的角色.',
'Class:lnkDeliveryModelToContact+' => 'This link specifies the role of a Team (more rarely a Person) within a Delivery Model.~~',
'Class:lnkDeliveryModelToContact/Name' => '%1$s / %2$s',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id' => '交付模式',
'Class:lnkDeliveryModelToContact/Attribute:deliverymodel_id+' => '',
@@ -533,10 +533,10 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContactToContract/Attribute:customer_id' => '客户id',
'Class:lnkContactToContract/Attribute:customer_id+' => '',
'Class:lnkContactToContract/Attribute:provider_id' => '供应商id',
'Class:lnkContactToContract/Attribute:provider_id+' => '',
'Class:lnkContactToContract/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
]);
//
@@ -544,8 +544,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:lnkContractToDocument/Attribute:customer_id' => '客户id',
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
'Class:lnkContractToDocument/Attribute:provider_id' => '供应商id',
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
'Class:lnkContractToDocument/Attribute:customer_id' => 'Customer id~~',
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
]);

View File

@@ -20,12 +20,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:NASFileSystem/Attribute:org_id' => 'Организация',
'Class:NASFileSystem/Attribute:org_id+' => '',
'Class:NASFileSystem/Attribute:location_id' => 'Местоположение',
'Class:NASFileSystem/Attribute:location_id+' => '',
'Class:NASFileSystem/Attribute:location_name' => 'Название местоположения',
'Class:NASFileSystem/Attribute:location_name+' => '',
'Class:NASFileSystem/Attribute:org_id' => 'Org id~~',
'Class:NASFileSystem/Attribute:org_id+' => '~~',
'Class:NASFileSystem/Attribute:location_id' => 'Location id~~',
'Class:NASFileSystem/Attribute:location_id+' => '~~',
'Class:NASFileSystem/Attribute:location_name' => 'Location name~~',
'Class:NASFileSystem/Attribute:location_name+' => '~~',
]);
//
@@ -33,10 +33,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:FiberChannelInterface/Attribute:org_id' => 'Организация',
'Class:FiberChannelInterface/Attribute:org_id+' => '',
'Class:FiberChannelInterface/Attribute:location_id' => 'Местоположение',
'Class:FiberChannelInterface/Attribute:location_id+' => '',
'Class:FiberChannelInterface/Attribute:org_id' => 'Org id~~',
'Class:FiberChannelInterface/Attribute:org_id+' => '~~',
'Class:FiberChannelInterface/Attribute:location_id' => 'Location id~~',
'Class:FiberChannelInterface/Attribute:location_id+' => '~~',
]);
//
@@ -44,10 +44,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:LogicalVolume/Attribute:org_id' => 'Организация',
'Class:LogicalVolume/Attribute:org_id+' => '',
'Class:LogicalVolume/Attribute:location_id' => 'Местоположение',
'Class:LogicalVolume/Attribute:location_id+' => '',
'Class:LogicalVolume/Attribute:location_name' => 'Название местоположения',
'Class:LogicalVolume/Attribute:location_name+' => '',
'Class:LogicalVolume/Attribute:org_id' => 'Org id~~',
'Class:LogicalVolume/Attribute:org_id+' => '~~',
'Class:LogicalVolume/Attribute:location_id' => 'Location id~~',
'Class:LogicalVolume/Attribute:location_id+' => '~~',
'Class:LogicalVolume/Attribute:location_name' => 'Location name~~',
'Class:LogicalVolume/Attribute:location_name+' => '~~',
]);

View File

@@ -31,9 +31,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:NASFileSystem/Attribute:org_id' => '组织id',
'Class:NASFileSystem/Attribute:org_id' => '组织 ID',
'Class:NASFileSystem/Attribute:org_id+' => '',
'Class:NASFileSystem/Attribute:location_id' => '位置id',
'Class:NASFileSystem/Attribute:location_id' => '位置 ID',
'Class:NASFileSystem/Attribute:location_id+' => '',
'Class:NASFileSystem/Attribute:location_name' => '位置名称',
'Class:NASFileSystem/Attribute:location_name+' => '',
@@ -45,9 +45,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:FiberChannelInterface/Name' => '%2$s %1$s',
'Class:FiberChannelInterface/Attribute:org_id' => '组织id',
'Class:FiberChannelInterface/Attribute:org_id' => '组织 ID',
'Class:FiberChannelInterface/Attribute:org_id+' => '',
'Class:FiberChannelInterface/Attribute:location_id' => '位置id',
'Class:FiberChannelInterface/Attribute:location_id' => '位置 ID',
'Class:FiberChannelInterface/Attribute:location_id+' => '',
]);
@@ -56,9 +56,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:LogicalVolume/Attribute:org_id' => '组织id',
'Class:LogicalVolume/Attribute:org_id' => '组织 ID',
'Class:LogicalVolume/Attribute:org_id+' => '',
'Class:LogicalVolume/Attribute:location_id' => '位置id',
'Class:LogicalVolume/Attribute:location_id' => '位置 ID',
'Class:LogicalVolume/Attribute:location_id+' => '',
'Class:LogicalVolume/Attribute:location_name' => '位置名称',
'Class:LogicalVolume/Attribute:location_name+' => '',

View File

@@ -81,7 +81,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Contact' => 'Контакт',
'Class:Contact+' => 'Контакт',
'Class:Contact/ComplementaryName' => '%1$s - %2$s',
'Class:Contact/ComplementaryName' => '%1$s - %2$s~~',
'Class:Contact/Attribute:name' => 'Название',
'Class:Contact/Attribute:name+' => '',
'Class:Contact/Attribute:status' => 'Статус',
@@ -119,7 +119,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Person' => 'Персона',
'Class:Person+' => 'Персона',
'Class:Person/ComplementaryName' => '%1$s - %2$s',
'Class:Person/ComplementaryName' => '%1$s - %2$s~~',
'Class:Person/Attribute:name' => 'Фамилия',
'Class:Person/Attribute:name+' => '',
'Class:Person/Attribute:first_name' => 'Имя',
@@ -140,8 +140,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Person/Attribute:team_list+' => 'Команды с участием персоны',
'Class:Person/Attribute:tickets_list' => 'Тикеты',
'Class:Person/Attribute:tickets_list+' => 'Связанные тикеты',
'Class:Person/Attribute:user_list' => 'Пользователи',
'Class:Person/Attribute:user_list+' => 'Все пользователи, связанные с этим контактом',
'Class:Person/Attribute:user_list' => 'Users~~',
'Class:Person/Attribute:user_list+' => 'All the Users associated to this person~~',
'Class:Person/Attribute:manager_id_friendlyname' => 'Руководитель',
'Class:Person/Attribute:manager_id_friendlyname+' => '',
'Class:Person/Attribute:picture' => 'Фотография',
@@ -150,7 +150,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Person/UniquenessRule:employee_number' => 'В организации \'$this->org_name$\' уже есть персона с таким номером сотрудника',
'Class:Person/UniquenessRule:name+' => 'Имя сотрудника должно быть уникальным внутри организации',
'Class:Person/UniquenessRule:name' => 'В организации \'$this->org_name$\' уже есть персона с таким именем',
'Class:Person/Error:ChangingOrgDenied' => 'Невозможно перенести этот контакт в организацию \'%1$s\', так как это нарушит его доступ к порталу пользователя: связанный с ним пользователь не имеет прав на эту организацию',
'Class:Person/Error:ChangingOrgDenied' => 'Impossible to move this person under organization \'%1$s\' as it would break his access to the User Portal, his associated user not being allowed on this organization~~',
]);
//
@@ -160,16 +160,16 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Team' => 'Команда',
'Class:Team+' => 'Команда',
'Class:Team/ComplementaryName' => '%1$s - %2$s',
'Class:Team/ComplementaryName' => '%1$s - %2$s~~',
'Class:Team/Attribute:persons_list' => 'Участники',
'Class:Team/Attribute:persons_list+' => 'Участники команды',
'Class:Team/Attribute:overview' => 'Обзор',
'Team:Overview' => 'Тикеты и КЕ, за которые отвечает команда',
'Team:Overview:ActiveTickets' => 'Активные тикеты',
'Team:Overview:FunctionalCIs-ByType' => 'Функциональные КЕ',
'Team:Overview:UserRequest-ByStatus' => 'Запросы пользователей по статусу',
'Team:Overview:UserRequest-ClosedByMonth' => 'Запросы пользователей, закрытые за последние 12 месяцев',
'Team:Overview:UserRequest-ClosedByAgent' => 'Запросы пользователей, закрытые по агентам за последние 12 месяцев',
'Class:Team/Attribute:overview' => 'Overview~~',
'Team:Overview' => 'Tickets and CIs managed by the team~~',
'Team:Overview:ActiveTickets' => 'Active tickets~~',
'Team:Overview:FunctionalCIs-ByType' => 'Functional CIs~~',
'Team:Overview:UserRequest-ByStatus' => 'User requests by status~~',
'Team:Overview:UserRequest-ClosedByMonth' => 'User requests closed in last 12 months~~',
'Team:Overview:UserRequest-ClosedByAgent' => 'User requests closed by agent in last 12 months~~',
'Class:Team/Attribute:tickets_list' => 'Тикеты',
'Class:Team/Attribute:tickets_list+' => 'Все тикеты, назначенные на команду',
]);
@@ -181,7 +181,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Document' => 'Документ',
'Class:Document+' => 'Документ',
'Class:Document/ComplementaryName' => '%1$s - %2$s - %3$s',
'Class:Document/ComplementaryName' => '%1$s - %2$s - %3$s~~',
'Class:Document/Attribute:name' => 'Название',
'Class:Document/Attribute:name+' => '',
'Class:Document/Attribute:org_id' => 'Организация',
@@ -281,8 +281,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkPersonToTeam' => 'Связь Персона/Команда',
'Class:lnkPersonToTeam+' => '',
'Class:lnkPersonToTeam/Name' => '%1$s / %2$s',
'Class:lnkPersonToTeam/Name+' => '',
'Class:lnkPersonToTeam/Name' => '%1$s / %2$s~~',
'Class:lnkPersonToTeam/Name+' => '~~',
'Class:lnkPersonToTeam/Attribute:team_id' => 'Команда',
'Class:lnkPersonToTeam/Attribute:team_id+' => '',
'Class:lnkPersonToTeam/Attribute:team_name' => 'Команда',
@@ -346,13 +346,13 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Person:info' => 'Основная информация',
'User:info' => 'Основная информация',
'User:profiles' => 'Профили (минимум один)',
'User:profiles' => 'Profiles (minimum one)~~',
'Person:personal_info' => 'Личная информация',
'Person:notifiy' => 'Уведомления',
]);
// Themes
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon' => 'Полнолуние',
'theme:test-red' => 'Тестовый инстанс (красный)',
'theme:fullmoon' => 'Full moon~~',
'theme:test-red' => 'Test instance (Red)~~',
]);

View File

@@ -69,7 +69,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Organization/Attribute:deliverymodel_name+' => '',
'Class:Organization/Attribute:parent_id_friendlyname' => '上级组织',
'Class:Organization/Attribute:parent_id_friendlyname+' => '上级组织',
'Class:Organization/Attribute:overview' => '概',
'Class:Organization/Attribute:overview' => '概',
'Organization:Overview:FunctionalCIs' => '此组织的所有配置项',
'Organization:Overview:FunctionalCIs:subtitle' => '按类型',
'Organization:Overview:Users' => '此组织里所有的'.ITOP_APPLICATION_SHORT.'用户',
@@ -80,8 +80,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Location' => '位置',
'Class:Location+' => '任何类型的位置: 区域, 国家, 城市, 位置, 建筑, 楼层, 房间, 机架,...',
'Class:Location' => '地点',
'Class:Location+' => '任何类型的地点: 区域, 国家, 城市, 位置, 建筑, 楼层, 房间, 机架,...',
'Class:Location/Attribute:name' => '名称',
'Class:Location/Attribute:name+' => '',
'Class:Location/Attribute:status' => '状态',
@@ -163,13 +163,13 @@ Other usage: the caller of a User request is a Person as well as the agent assig
'Class:Person/Attribute:employee_number+' => '',
'Class:Person/Attribute:mobile_phone' => '手机',
'Class:Person/Attribute:mobile_phone+' => '',
'Class:Person/Attribute:location_id' => '位置',
'Class:Person/Attribute:location_id' => '地点',
'Class:Person/Attribute:location_id+' => '',
'Class:Person/Attribute:location_name' => '名称',
'Class:Person/Attribute:location_name+' => '',
'Class:Person/Attribute:manager_id' => '经理',
'Class:Person/Attribute:manager_id' => '直属上级',
'Class:Person/Attribute:manager_id+' => '',
'Class:Person/Attribute:manager_name' => '经理名称',
'Class:Person/Attribute:manager_name' => '名称',
'Class:Person/Attribute:manager_name+' => '',
'Class:Person/Attribute:team_list' => '团队',
'Class:Person/Attribute:team_list+' => '这个体归属的所有团队',
@@ -178,7 +178,7 @@ Other usage: the caller of a User request is a Person as well as the agent assig
'Class:Person/Attribute:tickets_list/UI:Links:Create:Modal:Title' => 'Create a %4$s for %2$s~~',
'Class:Person/Attribute:user_list' => '用户',
'Class:Person/Attribute:user_list+' => '此个体相关的所有用户',
'Class:Person/Attribute:manager_id_friendlyname' => '经理昵称',
'Class:Person/Attribute:manager_id_friendlyname' => '直属上级姓名',
'Class:Person/Attribute:manager_id_friendlyname+' => '',
'Class:Person/Attribute:picture' => '头像',
'Class:Person/Attribute:picture+' => '',
@@ -199,7 +199,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Team/ComplementaryName' => '%1$s - %2$s',
'Class:Team/Attribute:persons_list' => '成员',
'Class:Team/Attribute:persons_list+' => '此团队包含的所有成员',
'Class:Team/Attribute:overview' => '概',
'Class:Team/Attribute:overview' => '概',
'Team:Overview' => '此团队管理的工单和配置项',
'Team:Overview:ActiveTickets' => '活跃的工单',
'Team:Overview:FunctionalCIs-ByType' => '功能配置项',
@@ -352,8 +352,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:ConfigManagement+' => '配置管理',
'Menu:ConfigManagementCI' => '配置项',
'Menu:ConfigManagementCI+' => '配置项',
'Menu:ConfigManagementOverview' => '概',
'Menu:ConfigManagementOverview+' => '概',
'Menu:ConfigManagementOverview' => '概',
'Menu:ConfigManagementOverview+' => '概',
'Menu:Contact' => '联系人',
'Menu:Contact+' => '联系人',
'Menu:Contact:Count' => '%1$d 个联系人',
@@ -363,7 +363,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Menu:Team+' => '所有团队',
'Menu:Document' => '文档',
'Menu:Document+' => '所有文档',
'Menu:Location' => '位置',
'Menu:Location' => '地点',
'Menu:Location+' => '所有位置',
'Menu:NewContact' => '新建联系人',
'Menu:NewContact+' => '新建联系人',

View File

@@ -11,5 +11,5 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:light-grey' => 'Светло-серая (устарела)',
'theme:light-grey' => 'Light Grey (deprecated)~~',
]);

View File

@@ -72,15 +72,15 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:lnkContactToTicket' => 'Связь Контакт/Тикет',
'Class:lnkContactToTicket+' => '',
'Class:lnkContactToTicket/Name' => '%1$s / %2$s',
'Class:lnkContactToTicket/Name' => '%1$s / %2$s~~',
'Class:lnkContactToTicket/Attribute:ticket_id' => 'Тикет',
'Class:lnkContactToTicket/Attribute:ticket_id+' => '',
'Class:lnkContactToTicket/Attribute:ticket_ref' => 'Связь',
'Class:lnkContactToTicket/Attribute:ticket_ref+' => '',
'Class:lnkContactToTicket/Attribute:contact_id' => 'Контакт',
'Class:lnkContactToTicket/Attribute:contact_id+' => '',
'Class:lnkContactToTicket/Attribute:contact_name' => 'Имя контакта',
'Class:lnkContactToTicket/Attribute:contact_name+' => '',
'Class:lnkContactToTicket/Attribute:contact_name' => 'Contact name~~',
'Class:lnkContactToTicket/Attribute:contact_name+' => '~~',
'Class:lnkContactToTicket/Attribute:contact_email' => 'Email контакта',
'Class:lnkContactToTicket/Attribute:contact_email+' => '',
'Class:lnkContactToTicket/Attribute:role' => 'Роль (текст)',
@@ -145,82 +145,82 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'WorkOrder:Details' => 'Детали',
'WorkOrder:Moreinfo' => 'Дополнительная информация',
'Tickets:ResolvedFrom' => 'Автоматическое решение из %1$s',
'Class:cmdbAbstractObject/Method:Set' => 'Set',
'Class:cmdbAbstractObject/Method:Set+' => 'Устанавливает поле в статичное значение',
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Значение',
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'Значение, которое нужно установить',
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'SetCurrentDate',
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Устанавливает поле в текущую дату и время',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull' => 'SetCurrentDateIfNull',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull+' => 'Устанавливает пустое поле в текущую дату и время',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'SetCurrentUser',
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Устанавливает поле в текущего вошедшего пользователя',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Поле, которое нужно установить, в текущем объекте. Если поле строковое, используется полное название, иначе — идентификатор. Полное название — это имя связанного с пользователем контакта, если он есть, иначе — логин.',
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'SetCurrentPerson',
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Устанавливает поле в текущего вошедшего сотрудника (контакт "Person", связанный с вошедшим "User").',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Поле, которое нужно установить, в текущем объекте. Если поле строковое, используется полное название, иначе — идентификатор.',
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'SetElapsedTime',
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Устанавливает поле во время (в секундах), прошедшее с даты, указанной в другом поле',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Опорное поле',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Поле, из которого берётся опорная дата',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Рабочие часы',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Оставьте пустым, чтобы использовать стандартную схему рабочих часов, либо укажите "DefaultWorkingTimeComputer" для режима 24x7',
'Class:cmdbAbstractObject/Method:SetIfNull' => 'SetIfNull',
'Class:cmdbAbstractObject/Method:SetIfNull+' => 'Устанавливает поле в статичное значение, только если оно пусто',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2' => 'Значение',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2+' => 'Значение, которое нужно установить',
'Class:cmdbAbstractObject/Method:AddValue' => 'AddValue',
'Class:cmdbAbstractObject/Method:AddValue+' => 'Прибавляет фиксированное значение к полю',
'Class:cmdbAbstractObject/Method:AddValue/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:AddValue/Param:1+' => 'Поле, которое нужно изменить, в текущем объекте',
'Class:cmdbAbstractObject/Method:AddValue/Param:2' => 'Значение',
'Class:cmdbAbstractObject/Method:AddValue/Param:2+' => 'Десятичное значение, которое будет прибавлено; может быть отрицательным',
'Class:cmdbAbstractObject/Method:SetComputedDate' => 'SetComputedDate',
'Class:cmdbAbstractObject/Method:SetComputedDate+' => 'Устанавливает поле в дату, вычисленную из другого поля с дополнительной логикой',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2' => 'Модификатор',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2+' => 'Текстовое указание для изменения исходной даты, например "+3 days"',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3' => 'Исходное поле',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3+' => 'Поле, используемое как источник для применения логики модификатора',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull' => 'SetComputedDateIfNull',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull+' => 'Устанавливает непустое поле в дату, вычисленную из другого поля с дополнительной логикой',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2' => 'Модификатор',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2+' => 'Текстовое указание для изменения исходной даты, например "+3 days"',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3' => 'Исходное поле',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3+' => 'Поле, используемое как источник для применения логики модификатора',
'Class:cmdbAbstractObject/Method:Reset' => 'Reset',
'Class:cmdbAbstractObject/Method:Reset+' => 'Сбрасывает поле в значение по умолчанию',
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'Поле, которое нужно сбросить, в текущем объекте',
'Class:cmdbAbstractObject/Method:Copy' => 'Copy',
'Class:cmdbAbstractObject/Method:Copy+' => 'Копирует значение поля в другое поле',
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Целевое поле',
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'Поле, которое нужно установить, в текущем объекте',
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Исходное поле',
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'Поле, из которого берётся значение, в текущем объекте',
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus',
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Применяет указанный стимул к текущему объекту',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Код стимула',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'Допустимый код стимула для текущего класса',
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Время до принятия (TTO)',
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'Показатель, основанный на SLT типа TTO',
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Время до решения (TTR)',
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'Показатель, основанный на SLT типа TTR',
'Class:cmdbAbstractObject/Method:Set' => 'Set~~',
'Class:cmdbAbstractObject/Method:Set+' => 'Set a field with a static value~~',
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Value~~',
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'The value to set~~',
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'SetCurrentDate~~',
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Set a field with the current date and time~~',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull' => 'SetCurrentDateIfNull~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull+' => 'Set an empty field with the current date and time~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'SetCurrentUser~~',
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Set a field with the currently logged in user~~',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'The field to set, in the current object. If the field is a string then the friendly name will be used, otherwise the identifier will be used. That friendly name is the name of the person if any is attached to the user, otherwise it is the login.~~',
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'SetCurrentPerson~~',
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Set a field with the currently logged in person (the "person" attached to the logged in "user").~~',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'The field to set, in the current object. If the field is a string then the friendly name will be used, otherwise the identifier will be used.~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'SetElapsedTime~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Set a field with the time (seconds) elapsed since a date given by another field~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Reference Field~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'The field from which to get the reference date~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Working Hours~~',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Leave empty to rely on the standard working hours scheme, or set to "DefaultWorkingTimeComputer" to force a 24x7 scheme~~',
'Class:cmdbAbstractObject/Method:SetIfNull' => 'SetIfNull~~',
'Class:cmdbAbstractObject/Method:SetIfNull+' => 'Set a field only if it is empty, with a static value~~',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2' => 'Value~~',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2+' => 'The value to set~~',
'Class:cmdbAbstractObject/Method:AddValue' => 'AddValue~~',
'Class:cmdbAbstractObject/Method:AddValue+' => 'Add a fixed value to a field~~',
'Class:cmdbAbstractObject/Method:AddValue/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:AddValue/Param:1+' => 'The field to modify, in the current object~~',
'Class:cmdbAbstractObject/Method:AddValue/Param:2' => 'Value~~',
'Class:cmdbAbstractObject/Method:AddValue/Param:2+' => 'Decimal value which will be added, can be negative~~',
'Class:cmdbAbstractObject/Method:SetComputedDate' => 'SetComputedDate~~',
'Class:cmdbAbstractObject/Method:SetComputedDate+' => 'Set a field with a date computed from another field with extra logic~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2' => 'Modifier~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2+' => 'Textual information to modify the source date, eg. "+3 days"~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3' => 'Source field~~',
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3+' => 'The field used as source to apply the Modifier logic~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull' => 'SetComputedDateIfNull~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull+' => 'Set non empty field with a date computed from another field with extra logic~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2' => 'Modifier~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2+' => 'Textual information to modify the source date, eg. "+3 days"~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3' => 'Source field~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3+' => 'The field used as source to apply the Modifier logic~~',
'Class:cmdbAbstractObject/Method:Reset' => 'Reset~~',
'Class:cmdbAbstractObject/Method:Reset+' => 'Reset a field to its default value~~',
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'The field to reset, in the current object~~',
'Class:cmdbAbstractObject/Method:Copy' => 'Copy~~',
'Class:cmdbAbstractObject/Method:Copy+' => 'Copy the value of a field to another field~~',
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Source Field~~',
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'The field to get the value from, in the current object~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Apply the specified stimulus to the current object~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Stimulus code~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'A valid stimulus code for the current class~~',
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Time To Own~~',
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'Goal based on a SLT of type TTO~~',
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Time To Resolve~~',
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'Goal based on a SLT of type TTR~~',
]);
//
@@ -228,6 +228,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Ticket/Attribute:team_email' => 'Email команды',
'Class:Ticket/Attribute:team_email+' => '',
'Class:Ticket/Attribute:team_email' => 'Team email~~',
'Class:Ticket/Attribute:team_email+' => '~~',
]);

View File

@@ -16,9 +16,9 @@
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Virtualization:baseinfo' => 'Общее',
'Virtualization:moreinfo' => 'Особенности виртуализации',
'Virtualization:otherinfo' => 'Даты и описание',
'Virtualization:baseinfo' => 'General~~',
'Virtualization:moreinfo' => 'Virtualization specifics~~',
'Virtualization:otherinfo' => 'Dates and description~~',
]);
//
@@ -28,13 +28,13 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Cloud/Name' => '%1$s',
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
'Class:Cloud' => 'Облако',
'Class:Cloud+' => 'Виртуальный хост, управляемый облачным провайдером. Может размещать виртуальные машины и хосты контейнеров.',
'Class:Cloud/Attribute:logo' => 'Логотип',
'Class:Cloud/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
'Class:Cloud/Attribute:provider_id+' => 'Кто предоставляет облако',
'Class:Cloud/Attribute:location_id' => 'Местоположение',
'Class:Cloud/Attribute:location_id+' => 'Где расположено облако',
'Class:Cloud' => 'Cloud~~',
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
'Class:Cloud/Attribute:logo' => 'Logo~~',
'Class:Cloud/Attribute:logo+' => 'Used as object icon when this Cloud is displayed within impact analysis graphs~~',
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
'Class:Cloud/Attribute:location_id' => 'Location~~',
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
]);
//
@@ -42,6 +42,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:LogicalInterface/Attribute:org_id' => 'Организация',
'Class:LogicalInterface/Attribute:org_id+' => '',
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
'Class:LogicalInterface/Attribute:org_id+' => '~~',
]);

View File

@@ -40,7 +40,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Cloud/Name' => '%1$s',
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
'Class:Cloud' => '云平台',
'Class:Cloud+' => '由云供应商运营的虚拟化主机. 它可以托管虚拟机和容器主机.',
'Class:Cloud+' => '由云供应商运营的虚拟化主机. 它可以托管虚拟机和容器宿主机.',
'Class:Cloud/Attribute:provider_id' => '供应商',
'Class:Cloud/Attribute:logo' => 'Logo',
'Class:Cloud/Attribute:logo+' => '在影响分析图中显示此云平台时用作对象图标',

View File

@@ -4,7 +4,7 @@
* Localized data
*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*

View File

@@ -11,6 +11,6 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Core:ormValue:ormDocument:DownloadsCount' => '%1s',
'Core:ormValue:ormDocument:DownloadsCount+' => 'Скачано раз: %1$s',
'Core:ormValue:ormDocument:DownloadsCount' => '%1s~~',
'Core:ormValue:ormDocument:DownloadsCount+' => 'Downloaded %1$s time(s)~~',
]);

View File

@@ -4,7 +4,7 @@
* Localized data
*
* @copyright Copyright (C) 2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*

View File

@@ -11,5 +11,5 @@
*
*/
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:cmdbAbstractObject/UniquenessRule:no_duplicate' => '%1$s: %2$s уже связан с %3$s: %4$s, дубликаты в этой связи не допускаются.',
'Class:cmdbAbstractObject/UniquenessRule:no_duplicate' => '%1$s: %2$s is already linked to %3$s: %4$s, duplicates are not allowed on this relation.~~',
]);

View File

@@ -976,38 +976,39 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Poslední varování',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Datum vytvoření',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Datum poslední úpravy',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Uživatelské předvolby',
'Class:appUserPreferences/Attribute:userid' => 'Uživatel',
'Class:appUserPreferences/Attribute:preferences' => 'Předvolby',

View File

@@ -975,39 +975,39 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Advarsler',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Oprettelses Dato',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Sidste Ændrings Dato',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Bruger Indstillinger',
'Class:appUserPreferences/Attribute:userid' => 'Bruger',
'Class:appUserPreferences/Attribute:preferences' => 'Inst.',

View File

@@ -972,39 +972,39 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Letzte Warnung',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Erzeugungs-Datum',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Datum der letzten Modifikation',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Benutzer-Voreinstellungen',
'Class:appUserPreferences/Attribute:userid' => 'Benutzer',
'Class:appUserPreferences/Attribute:preferences' => 'Voreinstellungen',

View File

@@ -1075,38 +1075,39 @@ The hyperlink is displayed in the tooltip appearing on the “Lock” symbol of
'Class:SynchroReplica/Attribute:status_last_warning' => 'Warnings',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Creation Date',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Last Modified Date',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.',
'Class:SynchroReplica/Action:unlink' => 'Unlink',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.',
'Class:SynchroReplica/Action:synchro' => 'Synchronize',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.',
'Class:SynchroReplica/Action:delete+' => 'delete replica',
'Class:SynchroReplica/Action:unlink' => 'Unlink',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica',
'Class:SynchroReplica/Action:synchro' => 'Synchro',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica',
'Class:appUserPreferences' => 'User Preferences',
'Class:appUserPreferences/Attribute:userid' => 'User',

View File

@@ -1058,38 +1058,39 @@ The hyperlink is displayed in the tooltip appearing on the “Lock” symbol of
'Class:SynchroReplica/Attribute:status_last_warning' => 'Warnings',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Creation Date',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Last Modified Date',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'User Preferences',
'Class:appUserPreferences/Attribute:userid' => 'User',
'Class:appUserPreferences/Attribute:preferences' => 'Prefs',

View File

@@ -963,39 +963,39 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Advertencias',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Fecha de Creación',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Fecha Última Modificación',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Preferencias de Usuario',
'Class:appUserPreferences/Attribute:userid' => 'Usuario',
'Class:appUserPreferences/Attribute:preferences' => 'Preferencias',

View File

@@ -1021,38 +1021,38 @@ Plusieurs champs peuvent ainsi être modifiés lors d\'une "mise à jour" en app
'Class:SynchroReplica/Attribute:status_last_warning' => 'Avertissements',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Date de création',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Date de dernière modification',
'Class:SynchroReplica/Action:delete+' => 'Supprime le réplica sans détruire l\'objet destination. Si la ligne correspondant à ce replica est toujours présente dans la source celui-ci sera recréé lors du prochain import de la Source de données.',
'Class:SynchroReplica/Action:unlink' => 'Détacher',
'Class:SynchroReplica/Action:unlink+' => 'Détache le réplica de son objet destination, sans toucher à ce dernier. Le réplica sera traité lors de la prochaine synchronisation de la Source de données. Vous pouvez forcer l\'opération via "Synchroniser".',
'Class:SynchroReplica/Action:unlinksynchro' => 'Détacher & Synchroniser',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Détache l\'actuel objet destination et force la resynchronisation immédiate du réplica. Cela peut modifier le champ "Objet destination" ou remettre le même. Cette action est requise si la logique de réconciliation a été changée dans la Source des données, ou si des champs de réconciliation n\'avaient pas verrouillé leur modification et que l\'on souhaite conserver les objets iTop modifiés depuis, tout en retrouvant ou recréant des objets alignés avec la source.',
'Class:SynchroReplica/Action:delete+' => 'Supprimer le réplica',
'Class:SynchroReplica/Action:unlink' => 'Délier',
'Class:SynchroReplica/Action:unlink+' => 'Séparer le réplica de son objet lié',
'Class:SynchroReplica/Action:unlinksynchro' => 'Délier & Synchroniser',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Délier le réplica avec son objet cible et executer la synchronisation sur ce réplica',
'Class:SynchroReplica/Action:synchro' => 'Synchroniser',
'Class:SynchroReplica/Action:synchro+' => 'Force la synchronisation immédiate du réplica. Utile si on a ajouté un champ à mettre à jour dans la Source des données ou si des champs n\'avaient pas verrouillé leur modification et que l\'on souhaite réaligner les objets iTop avec la source.',
'Class:SynchroReplica/Action:allowdelete' => 'Autoriser la suppression de l\'objet lié',
'Class:SynchroReplica/Action:allowdelete+' => 'Autorise la suppression du Réplica à entrainer celle de l\'objet destination, si la politique de suppression de la Source de données le demande.',
'Class:SynchroReplica/Action:denydelete' => 'Interdire la suppression de l\'objet lié',
'Class:SynchroReplica/Action:denydelete+' => 'Interdit que la suppression du Réplica entraine celle de l\'objet destination, même si la politique de suppression de la Source de données le demande.',
'Class:SynchroReplica/Action:synchro+' => 'Exécuter la synchronisation sur ce réplica',
'Class:SynchroReplica/Action:allowdelete' => 'Permettre la suppression de l\'objet lié à ce réplica',
'Class:SynchroReplica/Action:allowdelete+' => 'L\'objet lié à un réplica supprimé est supprimé',
'Class:SynchroReplica/Action:denydelete' => 'Interdire la suppression de l\objet lié à ce réplica',
'Class:SynchroReplica/Action:denydelete+' => 'L\'objet lié à un réplica supprimé n\'est pas supprimé',
'Class:SynchroReplica/Action:unlink_all' => 'Détacher les réplicas',
'Class:SynchroReplica/Action:unlink_all+' => 'Détache les réplicas de leur objet destination, sans toucher à ces derniers. Ces réplicas seront traités lors de la prochaine synchronisation de la Source de données. Vous pouvez forcer l\'opération via "Synchroniser".',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Détacher & Resynchroniser les réplicas',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Détache les réplicas de leur objet destination et force leur resynchronisation immédiate. Cette action est requise si la logique de réconciliation a été changée dans la Source des données, ou si des champs de réconciliation n\'avaient pas verrouillé leur modification et que l\'on souhaite conserver les objets iTop modifiés depuis, tout en retrouvant ou recréant des objets alignés avec la source.',
'Class:SynchroReplica/Action:synchro_all' => 'Synchroniser les réplicas',
'Class:SynchroReplica/Action:synchro_all+' => 'Force la synchronisation immédiate des réplicas. Utile si on a ajouté un champ à mettre à jour dans la Source des données ou si des champs n\'avaient pas verrouillé leur modification et que l\'on souhaite réaligner les objets iTop avec la source.',
'Class:SynchroReplica/Action:allowdelete_all' => 'Autoriser la suppression des objets liés',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Autorise la suppression du Réplica à entrainer celle de l\'objet destination, si la politique de suppression de la Source de données le demande.',
'Class:SynchroReplica/Action:denydelete_all' => 'Interdire la suppression des objets liés',
'Class:SynchroReplica/Action:denydelete_all+' => 'Interdit que la suppression du Réplica entraine celle de l\'objet destination, même si la politique de suppression de la Source de données le demande.',
'Class:SynchroReplica/Action:unlink_all' => 'Délier les réplicas et les objets',
'Class:SynchroReplica/Action:unlink_all+' => 'Séparer les réplicas de leurs objets liés',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Délier & Synchroniser les réplicas et les objets',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Séparer les réplicas le leurs objets cilbles et exécuter la synchronisation sur les réplicas',
'Class:SynchroReplica/Action:synchro_all' => 'Synchroniser les objets Réplica',
'Class:SynchroReplica/Action:synchro_all+' => 'Exécuter la synchronisation avec ces réplicas',
'Class:SynchroReplica/Action:allowdelete_all' => 'Autoriser la suppression des objets liés aux Réplicas',
'Class:SynchroReplica/Action:allowdelete_all+' => 'L\'objet lié à un réplica supprimé est supprimé',
'Class:SynchroReplica/Action:denydelete_all' => 'Interdire la suppression des objets liés aux Réplicas',
'Class:SynchroReplica/Action:denydelete_all+' => 'L\'objet lié à un réplica supprimé n\'est pas supprimé',
'UI:UnlinkAllTabTitle' => 'Détacher les réplicas',
'UI:UnlinkAllPageTitle' => 'Détache les réplicas de leur objet destination',
'UI:UnlinkSynchroAllTabTitle' => 'Détacher & Resynchroniser les réplicas',
'UI:UnlinkSynchroAllPageTitle' => 'Détacher les réplicas de leur objet destination et forcer leur resynchronisation',
'UI:SynchroAllTabTitle' => 'Synchroniser les réplicas',
'UI:SynchroAllPageTitle' => 'Synchroniser maintenant les réplicas',
'UI:AllowDeleteAllTabTitle' => 'Autoriser la suppression',
'UI:UnlinkAllTabTitle' => 'Délier les réplicas des objets',
'UI:UnlinkAllPageTitle' => 'Séparer les réplicas de leurs objets liés',
'UI:UnlinkSynchroAllTabTitle' => 'Délier & synchroniser les réplicas',
'UI:UnlinkSynchroAllPageTitle' => 'Délier & synchroniser les réplicas ',
'UI:SynchroAllTabTitle' => 'Synchroniser les réplica',
'UI:SynchroAllPageTitle' => 'Synchroniser les réplica',
'UI:AllowDeleteAllTabTitle' => 'Autoriser la suppression des objets liés aux réplicas',
'UI:AllowDeleteAllPageTitle' => 'Autoriser la suppression des objets liés aux réplicas',
'UI:DenyDeleteAllTabTitle' => 'Interdire la suppression',
'UI:DenyDeleteAllTabTitle' => 'Interdire la suppression des objets liés aux réplicas',
'UI:DenyDeleteAllPageTitle' => 'Interdire la suppression des objets liés aux réplicas',
'Class:appUserPreferences' => 'Préférences utilisateur',

View File

@@ -970,38 +970,39 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Figyelmeztetések',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Létrehozás dátuma',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Utolsó módosítás dátuma',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Felhasználói beállítások',
'Class:appUserPreferences/Attribute:userid' => 'Felhasználónév',
'Class:appUserPreferences/Attribute:preferences' => 'Beállítások',

View File

@@ -970,38 +970,39 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:SynchroReplica/Attribute:status_last_warning' => 'Avvisi',
'Class:SynchroReplica/Attribute:info_creation_date' => 'Data di creazione',
'Class:SynchroReplica/Attribute:info_last_modified' => 'Data di ultima modifica',
'Class:SynchroReplica/Action:delete+' => 'Delete the replica but not the destination object. If the raw data corresponding to this replica is still part of the source, it will be recreated during the next synchronization import.~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica from destination object. It will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchronize~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Force immediate resynchronization of the replica. This can change the destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro' => 'Synchronize~~',
'Class:SynchroReplica/Action:synchro+' => 'Force immediate synchronization of the replica. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow deletion of destination~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny deletion of destination~~',
'Class:SynchroReplica/Action:denydelete+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Replicas~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink Replicas from their destination object. They will be processed during the next run of the Data Synchro or you can force it with "Synchronize".~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Replicas~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Force immediate resynchronization of the replicas. This can change their destination id. Required after a Data Synchro change on attribute reconciliation flag or if reconciliation attributes were not locked, and you wish to retain the iTop objects modified since then, while recovering or recreating objects aligned with the source.~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Replicas~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Force immediate synchronization of the replicas. Useful after a Data Synchro change on an attribute update flag, or if reconciliation attributes were not locked, and you wish to realign the iTop objects with the source.~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow deletion of destination objects~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Allow the replica deletion to lead to the destination object deletion, if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny deletion of destination objects~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Prevent the Replica deletion to lead to the destination object deletion, even if the Data Synchro deletion policy requires so.~~',
'Class:SynchroReplica/Action:delete+' => 'delete replica~~',
'Class:SynchroReplica/Action:unlink' => 'Unlink~~',
'Class:SynchroReplica/Action:unlink+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro' => 'Unlink & Synchro~~',
'Class:SynchroReplica/Action:unlinksynchro+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro' => 'Synchro~~',
'Class:SynchroReplica/Action:synchro+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete' => 'Allow delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:allowdelete+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete' => 'Deny delete of object linked to this synchro replica~~',
'Class:SynchroReplica/Action:denydelete+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Replicas~~',
'UI:UnlinkAllPageTitle' => 'Unlink Replicas from their destination object~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Replicas~~',
'UI:UnlinkSynchroAllPageTitle' => 'Unlink Replicas from their destination object & Synchronize them again~~',
'UI:SynchroAllTabTitle' => 'Synchronize Replicas~~',
'UI:SynchroAllPageTitle' => 'Synchronize Replicas: leading to a destination object creation, mapping or an error~~',
'UI:AllowDeleteAllTabTitle' => 'Allow deletion of synchronized object~~',
'UI:AllowDeleteAllPageTitle' => 'Allow propagation of Replica deletion to their destination object~~',
'UI:DenyDeleteAllTabTitle' => 'Deny deletion of synchronized object~~',
'UI:DenyDeleteAllPageTitle' => 'Deny propagation of Replica deletion to their destination object~~',
'Class:SynchroReplica/Action:unlink_all' => 'Unlink Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlink_all+' => 'Unlink replica with destination object~~',
'Class:SynchroReplica/Action:unlinksynchro_all' => 'Unlink & Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:unlinksynchro_all+' => 'Unlink replica with destination object and execute synchronization with this replica~~',
'Class:SynchroReplica/Action:synchro_all' => 'Synchronize Synchro Replica objects~~',
'Class:SynchroReplica/Action:synchro_all+' => 'Execute synchronization with this replica~~',
'Class:SynchroReplica/Action:allowdelete_all' => 'Allow delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:allowdelete_all+' => 'Object linked to a deleted replica is deleted~~',
'Class:SynchroReplica/Action:denydelete_all' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:SynchroReplica/Action:denydelete_all+' => 'Object linked to a deleted replica is not deleted~~',
'UI:UnlinkAllTabTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkAllPageTitle' => 'Unlink Synchro Replica objects~~',
'UI:UnlinkSynchroAllTabTitle' => 'Unlink & Synchronize Synchro Replica objects~~',
'UI:UnlinkSynchroAllPageTitle' => ' Unlink & Synchronize Synchro Replica objects~~',
'UI:SynchroAllTabTitle' => 'Synchronize Synchro Replica objects~~',
'UI:SynchroAllPageTitle' => 'Synchronize Synchro Replica objects~~',
'UI:AllowDeleteAllTabTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:AllowDeleteAllPageTitle' => 'Allow delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllTabTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'UI:DenyDeleteAllPageTitle' => 'Deny delete of objects linked to Synchro Replica~~',
'Class:appUserPreferences' => 'Preferenze utente',
'Class:appUserPreferences/Attribute:userid' => 'Utente',
'Class:appUserPreferences/Attribute:preferences' => 'Prefs',

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