mirror of
https://github.com/Combodo/iTop.git
synced 2026-08-11 08:18:18 +02:00
Compare commits
39 Commits
feature/89
...
feature/96
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80fc5324a3 | ||
|
|
1d30795223 | ||
|
|
32de12dae9 | ||
|
|
09224c2db8 | ||
|
|
18c9fcce83 | ||
|
|
7129571047 | ||
|
|
b88d564075 | ||
|
|
fd553b86dd | ||
|
|
d7625d9650 | ||
|
|
893a1d7f71 | ||
|
|
fda1d3dd16 | ||
|
|
61464fc819 | ||
|
|
c281677768 | ||
|
|
e280251623 | ||
|
|
f657308137 | ||
|
|
4596404666 | ||
|
|
64394099f7 | ||
|
|
67e2899a60 | ||
|
|
8d75531d95 | ||
|
|
1e023e5431 | ||
|
|
e2a1c3e79e | ||
|
|
c7570d62c1 | ||
|
|
a30ed63a62 | ||
|
|
dd77124b07 | ||
|
|
9bfe0430f5 | ||
|
|
3fe91ed0b4 | ||
|
|
ccb9633226 | ||
|
|
82b50dc6cd | ||
|
|
d3451f8c30 | ||
|
|
b5c8a98695 | ||
|
|
1403914572 | ||
|
|
b976471a0d | ||
|
|
fa66a09104 | ||
|
|
47981f78e3 | ||
|
|
476ec75a2e | ||
|
|
10c000ddfe | ||
|
|
7e55b9ccfc | ||
|
|
5bb288ffca | ||
|
|
56d7e40f4c |
@@ -110,6 +110,9 @@ 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"
|
||||
```
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Implement this interface to add sass file (SCSS) to the backoffice pages.
|
||||
* Implement this interface to add sass files (SCSS) to the backoffice pages.
|
||||
* example: return "css/setup.scss"
|
||||
*
|
||||
* @api
|
||||
@@ -11,9 +11,9 @@
|
||||
interface iBackofficeSassExtension
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
* @see \iTopWebPage::$a_styles
|
||||
* @return array An array of relative paths (from loaded import paths) to the files to compile and include
|
||||
* @see \iTopWebPage::$a_linked_stylesheets
|
||||
* @api
|
||||
*/
|
||||
public function GetSass(): string;
|
||||
public function GetSassRelPaths(): array;
|
||||
}
|
||||
|
||||
@@ -1535,190 +1535,6 @@ 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
|
||||
|
||||
@@ -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.php?expression='.urlencode($this->m_oFilter->ToOQL(true)).'&format=csv&filename='.urlencode($oBlock->sCsvFile);
|
||||
$oBlock->sDownloadLink = utils::GetAbsoluteUrlAppRoot().'webservices/export-v2.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.php';
|
||||
$oBlock->sAjaxLink = utils::GetAbsoluteUrlAppRoot().'webservices/export-v2.php';
|
||||
|
||||
$oBlock->sCharsetNotice = false;
|
||||
$oBlock->sJsonParams = json_encode($aParamsToPost);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -6,8 +6,9 @@
|
||||
* @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 服务器认证',
|
||||
]);
|
||||
|
||||
@@ -5,10 +5,8 @@
|
||||
*
|
||||
* @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
|
||||
@@ -23,6 +21,7 @@
|
||||
* 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>+
|
||||
@@ -32,9 +31,11 @@
|
||||
// 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.'外部验证身份',
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:UserLDAP' => 'Пользователь LDAP',
|
||||
'Class:UserLDAP+' => 'Пользователь, аутентифицируемый через LDAP',
|
||||
'UserLDAP:server' => 'LDAP specifics~~',
|
||||
'UserLDAP:server' => 'Особенности LDAP',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -22,6 +22,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
|
||||
'Class:UserLDAP/Attribute:ldap_server+' => '~~',
|
||||
'Class:UserLDAP/Attribute:ldap_server' => 'Сервер LDAP',
|
||||
'Class:UserLDAP/Attribute:ldap_server+' => '',
|
||||
]);
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
* @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
|
||||
@@ -22,6 +21,7 @@
|
||||
* 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,13 +31,15 @@
|
||||
// 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 详情',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -45,6 +47,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
|
||||
'Class:UserLDAP/Attribute:ldap_server+' => '~~',
|
||||
'Class:UserLDAP/Attribute:ldap_server' => 'LDAP 服务器',
|
||||
'Class:UserLDAP/Attribute:ldap_server+' => '',
|
||||
]);
|
||||
|
||||
@@ -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' => 'One-time Password~~',
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'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+' => 'Когда пароль был изменен в последний раз',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Пароль должен содержать не менее 12 символов и включать прописные, строчные, числовые и специальные символы.',
|
||||
'UserLocal:password:expiration' => 'Поля требуют наличия доп. расширения',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Установка срока действия пароля "Одноразовый пароль" для своей собственной учётной записи не разрешена',
|
||||
]);
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
* @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
|
||||
@@ -22,6 +21,7 @@
|
||||
* 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,16 +31,19 @@
|
||||
// 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' => '永不过期',
|
||||
@@ -49,8 +52,9 @@ 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' => '不允许用户为自己设置 "一次性密码" 的失效期限',
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'theme:darkmoon' => 'Dark moon~~',
|
||||
'theme:darkmoon' => 'Тёмная луна',
|
||||
]);
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
* 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',
|
||||
]);
|
||||
|
||||
@@ -23,5 +23,5 @@
|
||||
*/
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
|
||||
'theme:fullmoon-high-contrast' => 'Fullmoon (высокая контрастность)',
|
||||
]);
|
||||
|
||||
@@ -23,5 +23,5 @@
|
||||
*/
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
|
||||
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (протанопия и дейтеранопия)',
|
||||
]);
|
||||
|
||||
@@ -23,5 +23,5 @@
|
||||
*/
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'theme:fullmoon-tritanopia' => 'Fullmoon (Tritanopia)~~',
|
||||
'theme:fullmoon-tritanopia' => 'Fullmoon (тританопия)',
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
<?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' => 'Обновлено записей',
|
||||
]);
|
||||
@@ -0,0 +1,62 @@
|
||||
<?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' => '已更新的条目',
|
||||
]);
|
||||
@@ -37,7 +37,6 @@ class DataFeatureRemovalController extends Controller
|
||||
private array $aCountClassesToCleanup = [];
|
||||
private array $aAnalysisDataTable = [];
|
||||
private array $aDeletionExecutionSummary = [];
|
||||
private ?array $aBasePackageModules = null;
|
||||
|
||||
private int $iCount = 0;
|
||||
private int $iColumnCount = 2;
|
||||
@@ -350,28 +349,20 @@ class DataFeatureRemovalController extends Controller
|
||||
private function GetAvailableExtensions(bool $bIncludePackageExtensions = false): array
|
||||
{
|
||||
$aExtensionsData = [];
|
||||
$oExtensionMap = DataFeatureRemoverExtensionService::GetInstance()->GetExtensionMap();
|
||||
$aBasePackageModules = $this->GetBasePackageModules();
|
||||
if ($bIncludePackageExtensions) {
|
||||
$aExtensionsRef = $oExtensionMap->GetAllExtensionsWithPreviouslyInstalled();
|
||||
$aExtensionsRef = DataFeatureRemoverExtensionService::GetInstance()->GetExtensionMap()->GetAllExtensionsWithPreviouslyInstalled();
|
||||
} else {
|
||||
$aExtensionsRef = DataFeatureRemoverExtensionService::GetInstance()->ReadItopExtensions();
|
||||
}
|
||||
|
||||
foreach ($aExtensionsRef as $oExtension) {
|
||||
/** @var \iTopExtension $oExtension */
|
||||
$aMetaData = [$oExtension->sVersion, $oExtension->GetExtensionSourceLabel()];
|
||||
if (SetupUtils::IsIncludedInPackage($oExtensionMap->GetFromExtensionCode($oExtension->sCode), $aBasePackageModules)) {
|
||||
$aMetaData[] = 'Already in package';
|
||||
}
|
||||
|
||||
$aExtensionsData[$oExtension->sCode] = [
|
||||
'version' => $oExtension->sVersion,
|
||||
'label' => $oExtension->sLabel,
|
||||
'code' => $oExtension->sCode,
|
||||
'description' => $oExtension->sDescription,
|
||||
'source' => $oExtension->GetExtensionSourceLabel(),
|
||||
'metadata' => $aMetaData,
|
||||
'installed' => $oExtension->bInstalled,
|
||||
'extra_flags' => [
|
||||
'uninstallable' => $oExtension->CanBeUninstalled(),
|
||||
@@ -386,26 +377,6 @@ class DataFeatureRemovalController extends Controller
|
||||
return $aExtensionsData;
|
||||
}
|
||||
|
||||
private function GetBasePackageModules(): array
|
||||
{
|
||||
if ($this->aBasePackageModules !== null) {
|
||||
return $this->aBasePackageModules;
|
||||
}
|
||||
|
||||
try {
|
||||
$oRuntimeEnvironment = new RunTimeEnvironment(MetaModel::GetEnvironment(), false);
|
||||
$aAvailableModules = $oRuntimeEnvironment->AnalyzeInstallation(MetaModel::GetConfig(), [APPROOT]);
|
||||
$this->aBasePackageModules = SetupUtils::GetBasePackageModules($aAvailableModules, APPROOT.'datamodels');
|
||||
|
||||
echo implode(', <br/>', $this->aBasePackageModules);
|
||||
} catch (Exception $e) {
|
||||
DataFeatureRemovalLog::Warning(__METHOD__, null, ['error' => $e->getMessage()]);
|
||||
$this->aBasePackageModules = [];
|
||||
}
|
||||
|
||||
return $this->aBasePackageModules;
|
||||
}
|
||||
|
||||
private function GetExtensionsDiff(array $aAddedExtensions, array $aRemovedExtensions): array
|
||||
{
|
||||
$aExtensions = [];
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
{% UIColumn Standard {} %}
|
||||
{% for aExtension in aAvailableExtensions[iColumnIndex] %}
|
||||
{% if aExtension['installed'] %}
|
||||
{% UIExtensionDetails Installed { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : aExtension['metadata'], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% UIExtensionDetails Installed { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : [aExtension['version'], aExtension['source']], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% else %}
|
||||
{% UIExtensionDetails NotInstalled { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : aExtension['metadata'], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% UIExtensionDetails NotInstalled { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : [aExtension['version'], aExtension['source']], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% EndUIColumn %}
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
{% UIColumn Standard {} %}
|
||||
{% for aExtension in aAvailableExtensions[iColumnIndex] %}
|
||||
{% if aExtension['installed'] %}
|
||||
{% UIExtensionDetails Installed { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : aExtension['metadata'], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% UIExtensionDetails Installed { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : [aExtension['version'], aExtension['source']], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% else %}
|
||||
{% UIExtensionDetails NotInstalled { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : aExtension['metadata'], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% UIExtensionDetails NotInstalled { sCode : aExtension['code'], sLabel : aExtension['label'], sDescription : aExtension['description'], aMetaData : [aExtension['version'], aExtension['source']], aExtraFlags : aExtension['extra_flags']} %}{% EndUIExtensionDetails %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% EndUIColumn %}
|
||||
|
||||
@@ -16,8 +16,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'DBTools:Class' => 'Класс',
|
||||
'DBTools:Title' => 'Инструменты обслуживания базы данных',
|
||||
'DBTools:ErrorsFound' => 'Найденные ошибки',
|
||||
'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:Indication' => 'Важно: после исправления ошибок в базе данных нужно будет запустить анализ заново, так как появятся новые несоответствия',
|
||||
'DBTools:Disclaimer' => 'ВНИМАНИЕ: СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ ПЕРЕД ЗАПУСКОМ ИСПРАВЛЕНИЙ',
|
||||
'DBTools:Error' => 'Ошибка',
|
||||
'DBTools:Count' => 'Количество',
|
||||
'DBTools:SQLquery' => 'SQL-запрос',
|
||||
@@ -28,23 +28,23 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'DBTools:ShowIds' => 'Подробный вид',
|
||||
'DBTools:ShowReport' => 'Отчёт',
|
||||
'DBTools:IntegrityCheck' => 'Проверка целостности',
|
||||
'DBTools:FetchCheck' => 'Fetch Check (long)~~',
|
||||
'DBTools:SelectAnalysisType' => 'Select analysis type~~',
|
||||
'DBTools:FetchCheck' => 'Проверка выборки (долго)',
|
||||
'DBTools:SelectAnalysisType' => 'Выберите тип анализа',
|
||||
'DBTools:Analyze' => 'Анализировать',
|
||||
'DBTools:Details' => 'Показать подробности',
|
||||
'DBTools:ShowAll' => 'Показать все ошибки',
|
||||
'DBTools:Inconsistencies' => 'Несоответствия базы данных',
|
||||
'DBTools:DetailedErrorTitle' => '%2$s error(s) in class %1$s: %3$s~~',
|
||||
'DBTools:DetailedErrorLimit' => 'List limited to %1$s errors~~',
|
||||
'DBTools:DetailedErrorTitle' => 'Ошибок (%2$s) в классе %1$s: %3$s',
|
||||
'DBTools:DetailedErrorLimit' => 'Список ограничен %1$s ошибками',
|
||||
'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' => '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~~',
|
||||
'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` должно содержать допустимый класс',
|
||||
]);
|
||||
|
||||
// Database Info
|
||||
|
||||
@@ -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' => '数据库正确',
|
||||
'DBTools:SQLquery' => 'SQL 查询',
|
||||
'DBTools:FixitSQLquery' => '用于修复问题的 SQL 查询(说明)',
|
||||
'DBTools:SQLresult' => 'SQL 结果',
|
||||
'DBTools:NoError' => '数据库 OK',
|
||||
'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' => '还原',
|
||||
|
||||
@@ -26,12 +26,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Attachments:NoAttachment' => 'Нет вложений.',
|
||||
'Attachments:PreviewNotAvailable' => 'Предварительный просмотр не доступен для этого типа вложений.',
|
||||
'Attachments:Error:FileTooLarge' => 'Файл слишком велик для загрузки. %1$s',
|
||||
'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~~',
|
||||
'Attachments:Error:UploadedFileEmpty' => 'Полученный файл пуст и не может быть прикреплён.
|
||||
Либо вы загрузили пустой файл,
|
||||
либо обратитесь к администратору '.ITOP_APPLICATION_SHORT.' — возможно, диск сервера '.ITOP_APPLICATION_SHORT.' переполнен.',
|
||||
'Attachments:Render:Icons' => 'Отображать как иконки',
|
||||
'Attachments:Render:Table' => 'Отображать как список',
|
||||
'UI:Attachments:DropYourFileHint' => 'Перетащите файлы в любое место этой области',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -62,7 +62,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Attachments:File:Uploader' => 'Пользователь',
|
||||
'Attachments:File:Size' => 'Размер',
|
||||
'Attachments:File:MimeType' => 'Тип',
|
||||
'Attachments:File:DownloadsCount' => 'Downloads~~',
|
||||
'Attachments:File:DownloadsCount' => 'Скачиваний',
|
||||
]);
|
||||
//
|
||||
// Class: Attachment
|
||||
@@ -82,15 +82,15 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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~~',
|
||||
'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. Используйте специальный триггер',
|
||||
]);
|
||||
|
||||
@@ -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' => 'The target directory <code>%1$s</code> could not be found~~',
|
||||
'bkp-missing-dir' => 'Целевой каталог <code>%1$s</code> не найден',
|
||||
'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' => 'The next backup is <b>not scheduled</b> yet.~~',
|
||||
'bkp-next-backup-unknown' => 'Следующее резервное копирование пока <b>не запланировано</b>.',
|
||||
'bkp-button-backup-now' => 'Запустить сейчас!',
|
||||
'bkp-button-restore-now' => 'Восстановить!',
|
||||
'bkp-confirm-backup' => 'Пожалуйста, подтвердите, что вы хотите выполнить резервное копирование прямо сейчас.',
|
||||
|
||||
@@ -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' => 'Услуга',
|
||||
|
||||
@@ -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' => 'Тикет',
|
||||
|
||||
@@ -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+' => 'Shortcuts to predefined sets of Changes~~',
|
||||
'Menu:SearchChanges+' => '搜索变更工单',
|
||||
'Menu:Change:Shortcuts' => '变更',
|
||||
'Menu:Change:Shortcuts+' => '快速访问预定义的变更数据',
|
||||
'Menu:WaitingAcceptance' => '等待审核的变更',
|
||||
'Menu:WaitingAcceptance+' => '',
|
||||
'Menu:WaitingApproval' => '等待批准的变更',
|
||||
'Menu:WaitingApproval+' => 'Changes in planned status~~',
|
||||
'Menu:Changes' => '所有打开的变更',
|
||||
'Menu:Changes+' => '所有打开的变更',
|
||||
'Menu:WaitingApproval+' => '处于计划状态的变更',
|
||||
'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' => '变更类型',
|
||||
|
||||
@@ -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+' => 'Shortcuts to predefined sets of Changes~~',
|
||||
'Menu:SearchChanges+' => '搜索变更工单',
|
||||
'Menu:Change:Shortcuts' => '变更',
|
||||
'Menu:Change:Shortcuts+' => '快速访问预定义的变更数据',
|
||||
'Menu:WaitingAcceptance' => '等待审核的变更',
|
||||
'Menu:WaitingAcceptance+' => '',
|
||||
'Menu:WaitingApproval' => '等待批准的变更',
|
||||
'Menu:WaitingApproval+' => 'Changes in planned status~~',
|
||||
'Menu:WaitingApproval+' => '处于计划状态的变更',
|
||||
'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小时)',
|
||||
]);
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<end_of_warranty></end_of_warranty>
|
||||
<rack_id>0</rack_id>
|
||||
<enclosure_id>0</enclosure_id>
|
||||
<nb_u></nb_u>
|
||||
<nb_u>2</nb_u>
|
||||
<managementip></managementip>
|
||||
<powerA_id>0</powerA_id>
|
||||
<powerB_id>0</powerB_id>
|
||||
@@ -40,9 +40,9 @@
|
||||
<asset_number></asset_number>
|
||||
<purchase_date></purchase_date>
|
||||
<end_of_warranty></end_of_warranty>
|
||||
<rack_id>0</rack_id>
|
||||
<rack_id></rack_id>
|
||||
<enclosure_id>0</enclosure_id>
|
||||
<nb_u></nb_u>
|
||||
<nb_u>1</nb_u>
|
||||
<managementip></managementip>
|
||||
<powerA_id>0</powerA_id>
|
||||
<powerB_id>0</powerB_id>
|
||||
@@ -59,16 +59,16 @@
|
||||
<business_criticity>low</business_criticity>
|
||||
<move2production></move2production>
|
||||
<serialnumber></serialnumber>
|
||||
<location_id>0</location_id>
|
||||
<location_id>2</location_id>
|
||||
<status>production</status>
|
||||
<brand_id>1</brand_id>
|
||||
<model_id>4</model_id>
|
||||
<asset_number></asset_number>
|
||||
<purchase_date></purchase_date>
|
||||
<end_of_warranty></end_of_warranty>
|
||||
<rack_id>0</rack_id>
|
||||
<rack_id></rack_id>
|
||||
<enclosure_id>0</enclosure_id>
|
||||
<nb_u></nb_u>
|
||||
<nb_u>2</nb_u>
|
||||
<managementip></managementip>
|
||||
<powerA_id>0</powerA_id>
|
||||
<powerB_id>0</powerB_id>
|
||||
@@ -85,16 +85,16 @@
|
||||
<business_criticity>low</business_criticity>
|
||||
<move2production></move2production>
|
||||
<serialnumber>US3215687014</serialnumber>
|
||||
<location_id>0</location_id>
|
||||
<location_id>2</location_id>
|
||||
<status>production</status>
|
||||
<brand_id>1</brand_id>
|
||||
<model_id>4</model_id>
|
||||
<asset_number></asset_number>
|
||||
<purchase_date>2021-07-30</purchase_date>
|
||||
<end_of_warranty>2025-07-29</end_of_warranty>
|
||||
<rack_id>0</rack_id>
|
||||
<rack_id></rack_id>
|
||||
<enclosure_id>0</enclosure_id>
|
||||
<nb_u></nb_u>
|
||||
<nb_u>2</nb_u>
|
||||
<managementip>10.10.24.2</managementip>
|
||||
<powerA_id>0</powerA_id>
|
||||
<powerB_id>0</powerB_id>
|
||||
|
||||
@@ -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+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:ApplicationSolution/Attribute:logo' => 'Logo',
|
||||
'Class:ApplicationSolution/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
|
||||
'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+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:BusinessProcess/Attribute:logo' => 'Logo',
|
||||
'Class:BusinessProcess/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
|
||||
'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+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:MiddlewareInstance/Attribute:logo' => 'Logo',
|
||||
'Class:MiddlewareInstance/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
|
||||
'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+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:WebApplication/Attribute:logo' => 'Logo',
|
||||
'Class:WebApplication/Attribute:logo+' => 'Wordt gebruikt als objectpictogram bij weergave in impactanalyse.',
|
||||
'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+' => 'A Tape (or cartridge) within '.ITOP_APPLICATION_SHORT.' is a removable piece of storage part of a Tape Library~~',
|
||||
'Class:Tape+' => 'Een Tape (of cartridge) binnen '.ITOP_APPLICATION_SHORT.' is een verwijderbaar opslagonderdeel van een tapebibliotheek.',
|
||||
'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+' => 'Used as icon for all Software Instance objects using this Software, when displayed within impact analysis graphs~~',
|
||||
'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: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+' => 'Name must be unique in the OS family~~',
|
||||
'Class:OSVersion/UniquenessRule:name_osfamily' => 'this OS version already exists within the OS family~~',
|
||||
'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',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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+' => 'Name must be unique~~',
|
||||
'Class:OSFamily/UniquenessRule:name' => 'this OS family already exists~~',
|
||||
'Class:OSFamily/UniquenessRule:name+' => 'Naam moet uniek zijn',
|
||||
'Class:OSFamily/UniquenessRule:name' => 'Deze soort besturingssysteem bestaat al',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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' => 'De naam van het merk bestaat al',
|
||||
'Class:Brand/UniquenessRule:name' => 'Dit 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' => 'Picture~~',
|
||||
'Class:Model/Attribute:picture+' => '~~',
|
||||
'Class:Model/Attribute:picture' => 'Afbeelding',
|
||||
'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+' => 'Used as icon for all Network Device of this type, when displayed in console (details, summary card and impact analysis graphs)~~',
|
||||
'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: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+' => 'Name must be unique in the brand~~',
|
||||
'Class:IOSVersion/UniquenessRule:name_brand' => 'this IOS version already exists for this brand~~',
|
||||
'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',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -1550,13 +1550,13 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'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~~',
|
||||
'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',
|
||||
'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' => 'Organization~~',
|
||||
'Class:PhysicalInterface/Attribute:org_id+' => '~~',
|
||||
'Class:PhysicalInterface/Attribute:location_id' => 'Location~~',
|
||||
'Class:PhysicalInterface/Attribute:location_id+' => '~~',
|
||||
'Class:PhysicalInterface/Attribute:org_id' => 'Organisatie',
|
||||
'Class:PhysicalInterface/Attribute:org_id+' => '',
|
||||
'Class:PhysicalInterface/Attribute:location_id' => 'Locatie',
|
||||
'Class:PhysicalInterface/Attribute:location_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -20,9 +20,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Relation:depends on/Description' => 'Элементы, от которых зависит',
|
||||
'Relation:depends on/DownStream' => 'Зависит от...',
|
||||
'Relation:depends on/UpStream' => 'Влияет на...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects and load data~~',
|
||||
'Relation:impacts/FilteredData' => 'Filtered data~~',
|
||||
'Relation:impacts/LoadData' => 'Загрузить данные',
|
||||
'Relation:impacts/NoFilteredData' => 'выберите объекты и загрузите данные',
|
||||
'Relation:impacts/FilteredData' => 'Отфильтрованные данные',
|
||||
]);
|
||||
|
||||
// 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+' => 'Active Tickets which are impacting this functional CI~~',
|
||||
'Class:FunctionalCI/Tab:OpenedTickets+' => 'Активные тикеты, затрагивающие эту функциональную КЕ',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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' => 'Logo~~',
|
||||
'Class:ApplicationSolution/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:ApplicationSolution/Attribute:logo' => 'Логотип',
|
||||
'Class:ApplicationSolution/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
|
||||
'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' => 'Logo~~',
|
||||
'Class:BusinessProcess/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:BusinessProcess/Attribute:logo' => 'Логотип',
|
||||
'Class:BusinessProcess/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
|
||||
'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' => 'Logo~~',
|
||||
'Class:MiddlewareInstance/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:MiddlewareInstance/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:MiddlewareInstance/Attribute:logo' => 'Логотип',
|
||||
'Class:MiddlewareInstance/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
|
||||
'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' => 'Logo~~',
|
||||
'Class:WebApplication/Attribute:logo+' => 'Used as object icon when displayed within impact analysis graphs~~',
|
||||
'Class:WebApplication/Attribute:logo' => 'Логотип',
|
||||
'Class:WebApplication/Attribute:logo+' => 'Используется как иконка объекта на графах анализа влияния',
|
||||
'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+' => 'A Tape (or cartridge) within '.ITOP_APPLICATION_SHORT.' is a removable piece of storage part of a Tape Library~~',
|
||||
'Class:Tape+' => 'Лента (или картридж) в '.ITOP_APPLICATION_SHORT.' — съёмный носитель, являющийся частью ленточной библиотеки',
|
||||
'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' => '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:logo' => 'Логотип',
|
||||
'Class:Software/Attribute:logo+' => 'Используется как иконка для всех экземпляров ПО, использующих это ПО, на графах анализа влияния',
|
||||
'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' => 'OS Family~~',
|
||||
'Class:OSPatch/Attribute:osfamily_id' => 'Семейство ОС',
|
||||
'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' => 'OS Family~~',
|
||||
'Class:OSLicence/Attribute:osfamily_id+' => '~~',
|
||||
'Class:OSLicence/Attribute:osfamily_id' => 'Семейство ОС',
|
||||
'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+' => 'Name must be unique in the OS family~~',
|
||||
'Class:OSVersion/UniquenessRule:name_osfamily' => 'this OS version already exists within the OS family~~',
|
||||
'Class:OSVersion/UniquenessRule:name_osfamily+' => 'Название должно быть уникальным в рамках семейства ОС',
|
||||
'Class:OSVersion/UniquenessRule:name_osfamily' => 'такая версия ОС уже существует в этом семействе ОС',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -1079,8 +1079,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:OSFamily' => 'Семейство ОС',
|
||||
'Class:OSFamily+' => '',
|
||||
'Class:OSFamily/UniquenessRule:name+' => 'Name must be unique~~',
|
||||
'Class:OSFamily/UniquenessRule:name' => 'this OS family already exists~~',
|
||||
'Class:OSFamily/UniquenessRule:name+' => 'Название должно быть уникальным',
|
||||
'Class:OSFamily/UniquenessRule:name' => 'такое семейство ОС уже существует',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -1090,8 +1090,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:Brand' => 'Бренд',
|
||||
'Class:Brand+' => '',
|
||||
'Class:Brand/Attribute:logo' => 'Logo~~',
|
||||
'Class:Brand/Attribute:logo+' => '~~',
|
||||
'Class:Brand/Attribute: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' => 'Picture~~',
|
||||
'Class:Model/Attribute:picture+' => '~~',
|
||||
'Class:Model/Attribute: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' => '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:logo' => 'Логотип',
|
||||
'Class:NetworkDeviceType/Attribute:logo+' => 'Используется как иконка для всех сетевых устройств этого типа в консоли (детали, карточка сводки и графы анализа влияния)',
|
||||
'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+' => 'Name must be unique in the brand~~',
|
||||
'Class:IOSVersion/UniquenessRule:name_brand' => 'this IOS version already exists for this brand~~',
|
||||
'Class:IOSVersion/UniquenessRule:name_brand+' => 'Название должно быть уникальным в рамках бренда',
|
||||
'Class:IOSVersion/UniquenessRule:name_brand' => 'такая версия IOS уже существует для этого бренда',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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' => 'General~~',
|
||||
'ConfigMgmt:moreinfo' => 'CI specifics~~',
|
||||
'Storage:moreinfo' => 'Storage specifics~~',
|
||||
'ConfigMgmt:otherinfo' => 'Description~~',
|
||||
'ConfigMgmt:dates' => 'Dates~~',
|
||||
'Software:moreinfo' => 'Software specifics~~',
|
||||
'Phone:moreinfo' => 'Phone specifics~~',
|
||||
'ConfigMgmt:baseinfo' => 'Общее',
|
||||
'ConfigMgmt:moreinfo' => 'Особенности КЕ',
|
||||
'Storage:moreinfo' => 'Особенности системы хранения',
|
||||
'ConfigMgmt:otherinfo' => 'Описание',
|
||||
'ConfigMgmt:dates' => 'Даты',
|
||||
'Software:moreinfo' => 'Особенности ПО',
|
||||
'Phone:moreinfo' => 'Особенности телефона',
|
||||
'Server:baseinfo' => 'Основное',
|
||||
'Server:Date' => 'Даты',
|
||||
'Server:moreinfo' => 'Спецификация',
|
||||
'Server:otherinfo' => 'Дополнительно',
|
||||
'Server:power' => 'Электропитание',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Использование IP-адресов',
|
||||
'Class:Subnet/Tab:IPUsage+' => 'Which IP within this Subnet is used or not~~',
|
||||
'Class:Subnet/Tab:IPUsage+' => 'Какие IP в этой подсети используются, а какие нет',
|
||||
'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' => 'Organization~~',
|
||||
'Class:PhysicalInterface/Attribute:org_id+' => '~~',
|
||||
'Class:PhysicalInterface/Attribute:location_id' => 'Location~~',
|
||||
'Class:PhysicalInterface/Attribute:location_id+' => '~~',
|
||||
'Class:PhysicalInterface/Attribute:org_id' => 'Организация',
|
||||
'Class:PhysicalInterface/Attribute:org_id+' => '',
|
||||
'Class:PhysicalInterface/Attribute:location_id' => 'Местоположение',
|
||||
'Class:PhysicalInterface/Attribute:location_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -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' => '主电源',
|
||||
'Class:DatacenterDevice/Attribute:powerA_id' => '电源A',
|
||||
'Class:DatacenterDevice/Attribute:powerA_id+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name' => '主电源名称',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name' => '电源A名称',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id' => '备电源',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id' => '电源B',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerB_name' => '备电源名称',
|
||||
'Class:DatacenterDevice/Attribute:powerB_name' => '电源B名称',
|
||||
'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+' => 'Link used when a Document is applicable to a License.~~',
|
||||
'Class:lnkDocumentToLicence+' => '此链接用于当某个文档适用于某个许可证时.',
|
||||
'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+' => 'The date after which the editor ceases to provide patches for this OS version.~~',
|
||||
'Class:OSVersion/Attribute:end_of_support+' => '厂商停止为此 OS 版本提供补丁的截止日期.',
|
||||
'Class:OSVersion/Attribute:ospatches_list' => 'OS 补丁',
|
||||
'Class:OSVersion/Attribute:ospatches_list+' => 'All the OS patches for this OS version~~',
|
||||
'Class:OSVersion/Attribute:ospatches_list+' => '此 OS 版本的所有补丁',
|
||||
'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+' => 'Link used when a Document is applicable to a Patch.~~',
|
||||
'Class:lnkDocumentToPatch+' => '此链接用于当某个文档适用于某个补丁时.',
|
||||
'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+' => 'This link indicates that a software patch has been applied to a software instance.~~',
|
||||
'Class:lnkSoftwareInstanceToSoftwarePatch+' => '此链接表示某个软件补丁已应用于软件实例.',
|
||||
'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+' => 'Link used when a Document is applicable to Software.~~',
|
||||
'Class:lnkDocumentToSoftware+' => '此链接用于当某个文档适用于某个软件时.',
|
||||
'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+' => 'This link indicates when a network interface is part of a VLAN (虚拟局域网).',
|
||||
'Class:lnkPhysicalInterfaceToVLAN+' => '此链接表示物理网卡是否属于某个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+' => 'Defines on which network equipment a device is connected.~~',
|
||||
'Class:lnkConnectableCIToNetworkDevice+' => '定义设备连接到哪些网络设备.',
|
||||
'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+' => 'This link indicates when a Functional CI is part of a Group.~~',
|
||||
'Class:lnkGroupToCI+' => '此链接表示某个功能配置项属于某个配置组.',
|
||||
'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+' => 'Link used when a Document is applicable to a Functional CI.~~',
|
||||
'Class:lnkDocumentToFunctionalCI+' => '此链接用于当某个文档适用于某个功能配置项时.',
|
||||
'Class:lnkDocumentToFunctionalCI/Name' => '%1$s / %2$s',
|
||||
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id' => '功能配置项',
|
||||
'Class:lnkDocumentToFunctionalCI/Attribute:functionalci_id+' => '',
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:ConfigFileEditor' => 'Plain text editor~~',
|
||||
'Menu:ConfigFileEditor' => 'Текстовый редактор',
|
||||
'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' => '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.~~',
|
||||
'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> в файле конфигурации.',
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
<?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+' => 'Список образов контейнеров, использующих это ПО',
|
||||
]);
|
||||
@@ -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+' => '运行此软件的容器镜像列表',
|
||||
]);
|
||||
|
||||
@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'Во время обновления приложение будет доступно только для чтения.',
|
||||
'iTopUpdate:UI:Status' => 'Статус',
|
||||
'iTopUpdate:UI:Action' => 'Обновление',
|
||||
'iTopUpdate:UI:Setup' => ITOP_APPLICATION_SHORT.' Setup~~',
|
||||
'iTopUpdate:UI:Setup' => 'Установка '.ITOP_APPLICATION_SHORT.'',
|
||||
'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' => '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: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:SetupMessage:Ready' => 'Всё готово к началу',
|
||||
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Переход в режим технического обслуживания',
|
||||
'iTopUpdate:UI:SetupMessage:Backup' => 'Резервное копирование базы данных',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<Rack alias="Rack" id="1">
|
||||
<Rack alias="Rack" id="15">
|
||||
<name>Rack1</name>
|
||||
<description></description>
|
||||
<org_id>2</org_id>
|
||||
@@ -14,6 +14,6 @@
|
||||
<asset_number></asset_number>
|
||||
<purchase_date></purchase_date>
|
||||
<end_of_warranty></end_of_warranty>
|
||||
<nb_u></nb_u>
|
||||
<nb_u>12</nb_u>
|
||||
</Rack>
|
||||
</Set>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
* @license https://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
* @license https://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<TagSetFieldDataFor_FAQ__domains id="1">
|
||||
<code>software</code>
|
||||
<label>Software 💾</label>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains id="2">
|
||||
<code>hardware</code>
|
||||
<label>Hardware 💻</label>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains id="3">
|
||||
<code>server</code>
|
||||
<label>Server 🏢</label>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains id="4">
|
||||
<code>mobile</code>
|
||||
<label>Mobile 📱</label>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains id="5">
|
||||
<code>network</code>
|
||||
<label>Network ☁️</label>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
</Set>
|
||||
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.de_de.xml
Normal file
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.de_de.xml
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<FAQ alias="FAQ" id="6">
|
||||
<title>💻 Anfrage für IT-Ausrüstung</title>
|
||||
<summary>So beantragen Sie IT-Ausrüstung</summary>
|
||||
<description><h4><strong>📌 Zweck</strong></h4><p>Dieser Ablauf beschreibt die Schritte zur Beantragung von IT-Ausrüstung wie Laptops, Monitore, Peripheriegeräte oder Softwarelizenzen. Alle Anfragen müssen über die freigegebenen Kanäle eingereicht werden, damit Nachverfolgung, Genehmigung und Bereitstellung sichergestellt sind.</p><hr><h4><strong>👥 Geltungsbereich</strong></h4><p>Gilt für alle Mitarbeitenden, externen Kräfte und Abteilungen, die IT-Ausrüstung für ihre Arbeit benötigen.</p><hr><h4><strong>✅ Schritt 1: Bedarf klären</strong></h4><ul><li>Prüfen Sie, ob die Ausrüstung für Rolle oder Projekt erforderlich ist.</li><li>Prüfen Sie die Verfügbarkeit im IT-Bestand.</li><li>Stellen Sie sicher, dass die Anfrage den IT-Richtlinien entspricht.</li></ul><hr><h4><strong>📝 Schritt 2: Anfrage einreichen</strong></h4><ol><li>Öffnen Sie das IT-Anfrageportal und füllen Sie das Formular vollständig aus.</li><li>Geben Sie Name, Abteilung, Gerätetyp, Menge, Begründung und gewünschtes Lieferdatum an.</li><li>Alternativ senden Sie eine E-Mail an it-requests@[yourorganization].com.</li></ol><hr><h4><strong>🔍 Schritt 3: Genehmigung</strong></h4><p>Die Führungskraft prüft geschäftlichen Bedarf und Budget. Danach validiert das IT-Team Kompatibilität, Verfügbarkeit und Sicherheitsvorgaben. Bei hohen Kosten kann zusätzlich eine Finanzfreigabe erforderlich sein.</p><hr><h4><strong>📦 Schritt 4: Bereitstellung</strong></h4><p>Lagerware wird nach Freigabe zeitnah ausgeliefert. Bei Sonderbestellungen informiert die IT über die Lieferzeit und übernimmt bei Bedarf die Ersteinrichtung.</p><hr><h4><strong>🔄 Rückgabe und Ersatz</strong></h4><p>Defekte oder nicht mehr benötigte Geräte werden über eine Rückgabeanfrage an die IT gemeldet und zurückgeführt.</p></description>
|
||||
<category_id>7</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words>PC, Phone, Laptop, Desktop</key_words>
|
||||
<domains><Set>
|
||||
<Tag>hardware</Tag><Tag>process</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="8">
|
||||
<title>📌 Urlaubsverwaltung</title>
|
||||
<summary></summary>
|
||||
<description><h4><strong>❓ Wie beantrage ich Urlaub?</strong></h4><p>Sie können Urlaub über das interne HR-Portal oder per E-Mail an Ihre Führungskraft und HR beantragen. Geben Sie Name, Zeitraum und Urlaubsart an.</p><hr><h4><strong>⏳ Welche Fristen gelten?</strong></h4><ul><li>Regulärer Urlaub möglichst frühzeitig, idealerweise mindestens 15 Tage vorher.</li><li>Sonderurlaub so schnell wie möglich ankündigen.</li><li>Krankheit oder Unfall am selben Tag melden.</li></ul><hr><h4><strong>📅 Wie viele Urlaubstage habe ich?</strong></h4><p>Der Anspruch richtet sich nach Vertrag und lokaler Gesetzgebung. Ihr aktueller Saldo ist im HR-Portal sichtbar.</p><hr><h4><strong>🔄 Kann ich Urlaub ändern oder stornieren?</strong></h4><p>Ja, je nach Unternehmensrichtlinie und mit Zustimmung der Führungskraft. Änderungen sollten frühzeitig gemeldet werden.</p><hr><h4><strong>🆘 An wen wende ich mich bei Problemen?</strong></h4><p>Bei technischen Problemen kontaktieren Sie den IT-Support, bei Fragen zu Rechten und Saldo das HR-Team.</p></description>
|
||||
<category_id>4</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words>Leave</key_words>
|
||||
<domains><Set>
|
||||
<Tag>process</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="1">
|
||||
<title>🖨️ Fehlerdiagnose bei Druckern</title>
|
||||
<summary>Fragenkatalog zur Analyse von Druckproblemen</summary>
|
||||
<description><h2>❓ Fragen zur Fehlersuche</h2><p><strong>Druckermarke bekannt?</strong> HP, IBM, Epson oder andere.</p><hr><p><strong>Ist der Drucker mit Strom versorgt?</strong> Ja oder Nein.</p><hr><p><strong>Ist der Drucker eingeschaltet?</strong> Ja oder Nein.</p><hr><p><strong>Ist Papier eingelegt?</strong> Ja oder Nein.</p><hr><p><strong>Gibt es Meldungen zum Tintenstand oder andere Warnungen?</strong> Falls ja, welche?</p><hr><p><strong>Wurde bereits ein Neustart versucht?</strong> Ja oder Nein.</p></description>
|
||||
<category_id>3</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words>printer</key_words>
|
||||
<domains><Set>
|
||||
<Tag>printer</Tag><Tag>process</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="4">
|
||||
<title>📶 Fehlerdiagnose für WLAN-Verbindung</title>
|
||||
<summary>Fragenkatalog zur Analyse von WLAN-Problemen</summary>
|
||||
<description><h2>🔍 Grundprüfungen</h2><p>Ist WLAN am Gerät aktiviert, ist das Symbol sichtbar und funktionieren andere Geräte im selben Netzwerk?</p><hr><h2>🌐 Netzwerkspezifische Prüfungen</h2><p>Ist der Router eingeschaltet, sind die LEDs normal, ist die SSID sichtbar und wurde das richtige Passwort verwendet?</p><hr><h2>💻 Gerätespezifische Prüfungen</h2><p>Wurde das Gerät neu gestartet, das WLAN neu verbunden und die Entfernung zum Router geprüft?</p><hr><h2>🛠️ Erweiterte Schritte</h2><p>Treiber aktualisieren, Störquellen prüfen, Routerkanal anpassen und bei Bedarf Router zurücksetzen.</p></description>
|
||||
<category_id>6</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words></key_words>
|
||||
<domains><Set>
|
||||
<Tag>network</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="2">
|
||||
<title>🖥️ Fehlerdiagnose für Windows-Verbindung</title>
|
||||
<summary>Fragenkatalog zur Analyse von Windows-Verbindungsproblemen</summary>
|
||||
<description><h2>🔍 Allgemeine Prüfungen</h2><p>Besteht eine Internetverbindung, ist das WLAN- oder Ethernet-Symbol sichtbar und funktionieren andere Geräte im selben Netzwerk?</p><hr><h2>🌐 Netzwerkspezifische Prüfungen</h2><p>Prüfen Sie Flugmodus, Router-Neustart, korrektes Passwort und ggf. den Einfluss eines VPN.</p><hr><h2>🔗 Windows-spezifische Prüfungen</h2><p>Computer neu starten, Windows-Updates prüfen, Netzwerktreiber aktualisieren und die integrierte Problembehandlung ausführen.</p><hr><h2>🛠️ Erweiterte Schritte</h2><p>Netzwerk zurücksetzen, Sicherheitssoftware prüfen und testweise ein anderes Netzwerk verwenden.</p></description>
|
||||
<category_id>5</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words>windows connection</key_words>
|
||||
<domains><Set>
|
||||
<Tag>software</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="7">
|
||||
<title>🖨️🔄 Drucker-Firmware aktualisieren</title>
|
||||
<summary></summary>
|
||||
<description><h2>📌 Vorbereitung</h2><p>Benötigt werden ein Computer im selben Netzwerk, die passende Firmware-Datei und eine stabile Verbindung. Der Drucker darf während des Updates nicht ausgeschaltet werden.</p><hr><h2>🔍 Modell und Version ermitteln</h2><p>Prüfen Sie das exakte Modell und notieren Sie die aktuell installierte Firmware-Version.</p><hr><h2>📥 Firmware herunterladen</h2><p>Laden Sie die aktuelle Version von der offiziellen Herstellerseite und prüfen Sie die Kompatibilität für Modell und Region.</p><hr><h2>🔄 Update durchführen</h2><p>Das Update kann über Hersteller-Software, Druckermenü oder per USB erfolgen. Folgen Sie den Schritten des Herstellers und unterbrechen Sie den Vorgang nicht.</p><hr><h2>✅ Nachkontrolle</h2><p>Drucker neu starten, Testseite drucken und Funktionen wie Drucken, Scannen und Netzwerk prüfen.</p><hr><h2>🚨 Fehlerbehebung</h2><p>Bei Fehlern Verbindung prüfen, neu starten und bei Bedarf den Herstellersupport kontaktieren.</p></description>
|
||||
<category_id>3</category_id>
|
||||
<category_id_friendlyname>Printer</category_id_friendlyname>
|
||||
<category_name>Printer</category_name>
|
||||
<error_code></error_code>
|
||||
<key_words>printer, firmware</key_words>
|
||||
<domains><Set>
|
||||
<Tag>printer</Tag></Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
<FAQ alias="FAQ" id="5">
|
||||
<title>💙💻 Fehlerdiagnose bei Windows-Bluescreen</title>
|
||||
<summary>Fragenkatalog zur Analyse von Windows-Bluescreen-Problemen</summary>
|
||||
<description><h2>🔍 Erste Prüfungen</h2><p>Tritt der Bluescreen wiederholt auf, bei einem bestimmten Schritt oder zufällig? Notieren Sie den angezeigten Fehlercode.</p><hr><h2>🛠️ Basismaßnahmen</h2><p>Neustart durchführen, Windows aktualisieren, externe Geräte trennen und einen Malware-Scan starten.</p><hr><h2>🖥️ Erweiterte Prüfungen</h2><p>Ereignisanzeige prüfen, Treiber aktualisieren sowie Systemprüfungen wie SFC, DISM, RAM- und Datenträgertests ausführen.</p><hr><h2>🔄 Wiederherstellungsoptionen</h2><p>Abgesicherten Modus testen, Systemwiederherstellung verwenden und falls nötig Windows zurücksetzen oder neu installieren.</p></description>
|
||||
<category_id>5</category_id>
|
||||
<error_code></error_code>
|
||||
<key_words>Blue Screen, Windows</key_words>
|
||||
<domains><Set>
|
||||
</Set>
|
||||
</domains>
|
||||
</FAQ>
|
||||
</Set>
|
||||
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.en_us.xml
Normal file
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.en_us.xml
Normal file
File diff suppressed because one or more lines are too long
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.fr_fr.xml
Normal file
82
datamodels/2.x/itop-faq-light/data/data.sample.faq.fr_fr.xml
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<FAQCategory alias="FAQCategory" id="1">
|
||||
<name>Konfiguration</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="2">
|
||||
<name>Datenbank</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="4">
|
||||
<name>Personalwesen</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="6">
|
||||
<name>Netzwerk</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="7">
|
||||
<name>PC</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="3">
|
||||
<name>Drucker</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="5">
|
||||
<name>Windows</name>
|
||||
</FAQCategory>
|
||||
</Set>
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<FAQCategory alias="FAQCategory" id="1">
|
||||
<name>Configuration</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="2">
|
||||
<name>Database</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="4">
|
||||
<name>Human resources</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="6">
|
||||
<name>Network</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="7">
|
||||
<name>PC</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="3">
|
||||
<name>Printer</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="5">
|
||||
<name>Windows</name>
|
||||
</FAQCategory>
|
||||
</Set>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<FAQCategory alias="FAQCategory" id="1">
|
||||
<name>Configuration</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="2">
|
||||
<name>Base de données</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="4">
|
||||
<name>Ressources humaines</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="6">
|
||||
<name>Réseau</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="7">
|
||||
<name>PC</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="3">
|
||||
<name>Imprimante</name>
|
||||
</FAQCategory>
|
||||
<FAQCategory alias="FAQCategory" id="5">
|
||||
<name>Windows</name>
|
||||
</FAQCategory>
|
||||
</Set>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="2">
|
||||
<code>hardware</code>
|
||||
<label>Hardware 💻</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="4">
|
||||
<code>mobile</code>
|
||||
<label>Mobil 📱</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="5">
|
||||
<code>network</code>
|
||||
<label>Netzwerk ☁️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="6">
|
||||
<code>printer</code>
|
||||
<label>Drucker 🖨️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="7">
|
||||
<code>process</code>
|
||||
<label>Prozess ⚙️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="3">
|
||||
<code>server</code>
|
||||
<label>Server 🏢</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="1">
|
||||
<code>software</code>
|
||||
<label>Software 💾</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
</Set>
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="2">
|
||||
<code>hardware</code>
|
||||
<label>Hardware 💻</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="4">
|
||||
<code>mobile</code>
|
||||
<label>Mobile 📱</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="5">
|
||||
<code>network</code>
|
||||
<label>Network ☁️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="6">
|
||||
<code>printer</code>
|
||||
<label>Printer 🖨️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="7">
|
||||
<code>process</code>
|
||||
<label>Process ⚙️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="3">
|
||||
<code>server</code>
|
||||
<label>Server 🏢</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="1">
|
||||
<code>software</code>
|
||||
<label>Software 💾</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
</Set>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="2">
|
||||
<code>hardware</code>
|
||||
<label>Matériel 💻</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="4">
|
||||
<code>mobile</code>
|
||||
<label>Mobile 📱</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="5">
|
||||
<code>network</code>
|
||||
<label>Réseau ☁️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="6">
|
||||
<code>printer</code>
|
||||
<label>Imprimante 🖨️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="7">
|
||||
<code>process</code>
|
||||
<label>Processus ⚙️</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="3">
|
||||
<code>server</code>
|
||||
<label>Serveur 🏢</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
<TagSetFieldDataFor_FAQ__domains alias="TagSetFieldDataFor_FAQ__domains" id="1">
|
||||
<code>software</code>
|
||||
<label>Logiciel 💾</label>
|
||||
<description></description>
|
||||
</TagSetFieldDataFor_FAQ__domains>
|
||||
</Set>
|
||||
@@ -45,7 +45,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
]);
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:ProblemManagement' => 'Управление проблемами',
|
||||
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
|
||||
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
|
||||
'Menu:Problem:Shortcuts' => 'Ярлыки',
|
||||
'Menu:FAQCategory' => 'Категории FAQ',
|
||||
'Menu:FAQCategory+' => 'Категории FAQ',
|
||||
|
||||
@@ -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' => '领域',
|
||||
]);
|
||||
|
||||
//
|
||||
|
||||
@@ -27,7 +27,9 @@ SetupWebPage::AddModule(
|
||||
//'data.struct.itop-knownerror-mgmt.xml',
|
||||
],
|
||||
'data.sample' => [
|
||||
'data/data.sample.faq-domains.xml',
|
||||
'data/data.sample.faqdomain.en_us.xml',
|
||||
'data/data.sample.faqcategory.en_us.xml',
|
||||
'data/data.sample.faq.en_us.xml',
|
||||
],
|
||||
|
||||
// Documentation
|
||||
|
||||
@@ -14,6 +14,6 @@
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'FilesInformation:Error:MissingFile' => 'Файл %1$s отсутствует',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Файл %1$s повреждён',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'Повреждённые файлы: %1$s ',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Невозможно выполнить запись в файл %1$s',
|
||||
]);
|
||||
|
||||
@@ -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,6 +21,7 @@
|
||||
* 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',
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?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>
|
||||
@@ -1,24 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<DataFlowType alias="DataFlowType" id="1">
|
||||
<name>HTTP</name>
|
||||
<name>REST API</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="2">
|
||||
<name>HTTPS</name>
|
||||
<name>KAFKA</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="3">
|
||||
<name>FTP</name>
|
||||
<name>JSON</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="4">
|
||||
<name>SFTP</name>
|
||||
<name>XML</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="5">
|
||||
<name>AS2</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="6">
|
||||
<name>X.400</name>
|
||||
</DataFlowType>
|
||||
<DataFlowType alias="DataFlowType" id="7">
|
||||
<name>FTPS</name>
|
||||
<name>CSV</name>
|
||||
</DataFlowType>
|
||||
</Set>
|
||||
@@ -97,6 +97,31 @@
|
||||
<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>
|
||||
@@ -266,9 +291,12 @@
|
||||
<item id="dataflowtype_id">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
<item id="execution_frequency">
|
||||
<item id="dataflowprotocol_id">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
<item id="execution_frequency">
|
||||
<rank>70</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
@@ -282,6 +310,9 @@
|
||||
<item id="move2production">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="last_change_date">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
@@ -290,9 +321,12 @@
|
||||
<item id="description">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="groups_list">
|
||||
<item id="documentation_url">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="groups_list">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
@@ -422,6 +456,60 @@
|
||||
</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">
|
||||
@@ -628,6 +716,10 @@
|
||||
<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>
|
||||
|
||||
@@ -45,7 +45,13 @@ 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+' => 'Typology of Flow.',
|
||||
'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:status' => 'Status',
|
||||
'Class:DataFlow/Attribute:status+' => '',
|
||||
'Class:DataFlow/Attribute:status/Value:active' => 'active',
|
||||
@@ -74,18 +80,7 @@ Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:DataFlowType' => 'Data Flow Type',
|
||||
'Class:DataFlowType+' => 'Typology of Data Flow',
|
||||
|
||||
/*
|
||||
'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',
|
||||
*/
|
||||
'Class:DataFlowProtocol' => 'Data Flow Protocol',
|
||||
'Class:DataFlowProtocol+' => 'Typology of Data Flow Protocol',
|
||||
|
||||
]);
|
||||
|
||||
@@ -44,10 +44,16 @@ 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 de flux',
|
||||
'Class:DataFlow/Attribute:dataflowtype_id+' => 'Typologie du flux',
|
||||
'Class:DataFlow/Attribute:status' => 'Etat',
|
||||
'Class:DataFlow/Attribute:status+' => '',
|
||||
'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' => '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',
|
||||
@@ -66,26 +72,15 @@ 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+' => 'Eg: technical specifications, runbooks, etc.',
|
||||
'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.',
|
||||
'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/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: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',
|
||||
*/
|
||||
'Class:DataFlowProtocol' => 'Protocole de flux',
|
||||
'Class:DataFlowProtocol+' => 'Typologie des protocoles de flux',
|
||||
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?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',
|
||||
|
||||
]);
|
||||
@@ -0,0 +1,90 @@
|
||||
<?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+' => 'Типология протоколов потоков данных',
|
||||
|
||||
]);
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
|
||||
'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',
|
||||
'Relation:dataflows/Description' => '配置项之间的数据流',
|
||||
'Relation:dataflows/DownStream' => '出站数据流...',
|
||||
'Relation:dataflows/DownStream+' => '出站数据流图,源自',
|
||||
'Relation:dataflows/UpStream' => '入站数据流...',
|
||||
'Relation:dataflows/UpStream+' => '入站数据流图,指向',
|
||||
|
||||
'Class:FunctionalCI/Attribute:dataflows' => '数据流',
|
||||
'Class:FunctionalCI/Attribute:dataflows+' => '该对象作为源或目标的数据流',
|
||||
@@ -24,7 +24,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'DataFlow:moreinfo' => '数据流详情',
|
||||
|
||||
'Class:DataFlow' => '数据流',
|
||||
'Class:DataFlow+' => 'For application flow for example~~',
|
||||
'Class:DataFlow+' => '例如应用数据流',
|
||||
'Class:DataFlow/Name' => '%1$s',
|
||||
'Class:DataFlow/Attribute:name' => '名称',
|
||||
'Class:DataFlow/Attribute:name+' => '已传输的数据',
|
||||
@@ -45,7 +45,13 @@ 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+' => '数据流的分类',
|
||||
'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' => '启用',
|
||||
@@ -68,24 +74,13 @@ 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' => '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:DataFlow/Error:CheckSource' => '数据流的源头不能是数据流本身。请选择一个不同的源配置项,而不是 %1$s',
|
||||
'Class:DataFlow/Error:CheckDestination' => '数据流的目标不能是数据流本身。请选择一个不同的目标配置项,而不是 %1$s',
|
||||
|
||||
'Class:DataFlowType' => '数据流类型',
|
||||
'Class:DataFlowType+' => '数据流的分类',
|
||||
|
||||
/*
|
||||
'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',
|
||||
*/
|
||||
'Class:DataFlowProtocol' => '数据流协议',
|
||||
'Class:DataFlowProtocol+' => '数据流协议的分类',
|
||||
|
||||
]);
|
||||
|
||||
@@ -31,7 +31,8 @@ SetupWebPage::AddModule(
|
||||
|
||||
],
|
||||
'data.struct' => [
|
||||
'data/data.itop-flow-map.en_us.xml',
|
||||
'data/data.itop-dataflowtype.xml',
|
||||
'data/data.itop-dataflowprotocol.xml',
|
||||
],
|
||||
'data.sample' => [
|
||||
// add your sample data XML files here,
|
||||
|
||||
@@ -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>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:Register:Description' => '<p>Получите доступ к вашей платформе сообщества iTop Hub!<br>Найдите весь необходимый контент и информацию, управляйте своими инстансами через персонализированные инструменты и устанавливайте дополнительные расширения.<br><br>Подключившись к Hub с этой страницы, вы отправите информацию об этом инстансе '.ITOP_APPLICATION_SHORT.' в 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 Hub’s 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' => '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.~~',
|
||||
'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> установлена.',
|
||||
]);
|
||||
|
||||
@@ -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);
|
||||
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV, $aExtraDirs);
|
||||
$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);
|
||||
$oExtensionsMap = iTopExtensionsMap::GetExtensionsMap(ITOP_DEFAULT_ENV, $aExtraDirs);
|
||||
$oExtensionsMap->LoadChoicesFromDatabase(MetaModel::GetConfig());
|
||||
|
||||
foreach ($oExtensionsMap->GetAllExtensions() as $oExtension) {
|
||||
|
||||
@@ -25,6 +25,7 @@ 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
|
||||
{
|
||||
@@ -125,15 +126,21 @@ 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('production', false); // use a temp environment: production-build
|
||||
$oRuntimeEnv = new HubRunTimeEnvironment(ITOP_DEFAULT_ENV, false); // use a temp environment: production-build
|
||||
$oRuntimeEnv->MoveSelectedExtensions(APPROOT.'/data/downloaded-extensions/', $aSelectedExtensionDirs);
|
||||
|
||||
$oConfig = new Config(APPCONF.'production/'.ITOP_CONFIG_FILE);
|
||||
$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);
|
||||
if ($oConfig->Get('demo_mode')) {
|
||||
throw new Exception('Sorry the installation of extensions is not allowed in demo mode');
|
||||
}
|
||||
|
||||
$oRuntimeEnv->CompileFrom('production'); // WARNING symlinks does not seem to be compatible with manual Commit
|
||||
$oRuntimeEnv->CompileFrom(ITOP_DEFAULT_ENV, aAddedExtensions: array_keys($aAddedExtensions)); // WARNING symlinks does not seem to be compatible with manual Commit
|
||||
$oRuntimeEnv->UpdateIncludes($oConfig);
|
||||
|
||||
$oRuntimeEnv->InitDataModel($oConfig, true /* model only */);
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:Incident:Shortcuts+' => 'Ярлыки',
|
||||
'Menu:Incident:MyIncidents' => 'Назначенные мне',
|
||||
'Menu:Incident:MyIncidents+' => 'Инциденты, назначенные мне (в качестве агента)',
|
||||
'Menu:Incident:MySupportIncidents' => 'Reported by me~~',
|
||||
'Menu:Incident:MySupportIncidents+' => 'Non closed incidents where I am the caller~~',
|
||||
'Menu:Incident:MySupportIncidents' => 'Заявленные мной',
|
||||
'Menu:Incident:MySupportIncidents+' => 'Незакрытые инциденты, в которых я являюсь инициатором',
|
||||
'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' => '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: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: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 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_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_escalation_deadline' => 'Срок TTO',
|
||||
'Class:Incident/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
|
||||
'Class:Incident/Attribute:sla_tto_passed' => 'SLA TTO пропущено',
|
||||
|
||||
@@ -35,17 +35,19 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Menu:Incident:Shortcuts+' => '',
|
||||
'Menu:Incident:MyIncidents' => '分配给我的事件',
|
||||
'Menu:Incident:MyIncidents+' => '分配给我的事件',
|
||||
'Menu:Incident:MySupportIncidents' => 'Reported by me~~',
|
||||
'Menu:Incident:MySupportIncidents+' => 'Non closed incidents where I am the caller~~',
|
||||
'Menu:Incident:MySupportIncidents' => '由我报告的事件',
|
||||
'Menu:Incident:MySupportIncidents+' => '由我发起且尚未关闭的的事件',
|
||||
'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' => '打开的事件 (按客户)',
|
||||
'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>',
|
||||
]);
|
||||
|
||||
// Dictionnay conventions
|
||||
@@ -245,5 +247,5 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
|
||||
'Class:Incident/Method:ResolveChildTickets' => '解决子工单',
|
||||
'Class:Incident/Method:ResolveChildTickets+' => '递归解决子工单 (自动解决), 并调整相关字段与父级工单保持一致: 服务, 团队, 办理人, 解决方案',
|
||||
'Tickets:Related:OpenIncidents' => '打开的事件',
|
||||
'Tickets:Related:OpenIncidents' => '待处理的事件',
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<lnkErrorToFunctionalCI alias="lnkErrorToFunctionalCI" id="4">
|
||||
<functionalci_id><![CDATA[SELECT FunctionalCI WHERE name='Server1']]></functionalci_id>
|
||||
<error_id>2</error_id>
|
||||
</lnkErrorToFunctionalCI>
|
||||
<lnkErrorToFunctionalCI alias="lnkErrorToFunctionalCI" id="1">
|
||||
<functionalci_id><![CDATA[SELECT FunctionalCI WHERE name='Server2']]></functionalci_id>
|
||||
<error_id>2</error_id>
|
||||
</lnkErrorToFunctionalCI>
|
||||
<lnkErrorToFunctionalCI alias="lnkErrorToFunctionalCI" id="2">
|
||||
<functionalci_id><![CDATA[SELECT FunctionalCI WHERE name='Server3']]></functionalci_id>
|
||||
<error_id>2</error_id>
|
||||
</lnkErrorToFunctionalCI>
|
||||
<lnkErrorToFunctionalCI alias="lnkErrorToFunctionalCI" id="3">
|
||||
<functionalci_id><![CDATA[SELECT FunctionalCI WHERE name='Server4']]></functionalci_id>
|
||||
<error_id>2</error_id>
|
||||
</lnkErrorToFunctionalCI>
|
||||
</Set>
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<KnownError alias="KnownError" id="1">
|
||||
<name>Verminderte VM-Leistung auf ESXi-8.0U2-Hosts nach dem Update auf vCenter Server 8.0U2b</name>
|
||||
<org_id>3</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- Hohe Latenz (bis zu 500 ms) bei Speicher-Lese-/Schreibvorgängen für VMs auf ESXi-8.0U2-Hosts.
|
||||
- vCenter-Alarme:
|
||||
+ "Storage device latency is high" (Schwellwert überschritten: > 30 ms).
|
||||
+ "Virtual machine disk I/O latency is high".
|
||||
- Auswirkungen auf Anwendungen:
|
||||
+ Verlangsamungen bei Datenbanken (SQL, Oracle).
|
||||
+ Timeouts in kritischen Anwendungen (z. B. ERP, SAP).
|
||||
- Zeitraum des Auftretens: Seit dem Update von vCenter Server auf Version 8.0U2b (ausgerollt am 10. Juli 2026).
|
||||
|
||||
Betroffene Umgebung:
|
||||
- ESXi-Hosts: 5 Server (Cluster PROD-01).
|
||||
- Storage: Dell EMC PowerStore 5000 (über iSCSI verbunden).
|
||||
- vCenter Server: Version 8.0U2b (Build 21513536).</symptom>
|
||||
<root_cause>Kompatibilitätsproblem zwischen:
|
||||
- Dem nativen iSCSI-Treiber in ESXi 8.0U2 (vmw_iscsi) und vCenter Server 8.0U2b.
|
||||
- Einem bekannten Fehler im NMP-(Native Multi-Pathing)-Storage-Scheduler, der nach dem vCenter-Update zu fehlerhafter Multipath-Verwaltung führt.
|
||||
|
||||
VMware-Referenz:
|
||||
- KB 90827 (ähnlich, aber nicht identisch).
|
||||
- ESXi-Logs: Wiederholte Meldungen "NMP: nmp_DeviceRequestFastDeviceProbe: NMP device state in doubt" in /var/log/vmkernel.log.</root_cause>
|
||||
<workaround>Option 1: NMP-Dienst zurücksetzen (temporär)
|
||||
1. Per SSH auf jeden betroffenen ESXi-Host verbinden.
|
||||
2. Folgende Befehle ausführen:
|
||||
esxcli storage nmp device list # Betroffene Geräte auflisten
|
||||
esxcli storage nmp device set --device <NAA_ID> --state in_use # Aktiven Pfad erzwingen
|
||||
3. Die betroffenen VMs neu starten. ⚠️ Effekt: Löst das Problem für 24–48 Stunden, danach tritt die Latenz nach Host-Neustart erneut auf.
|
||||
|
||||
Option 2: Multipathing für betroffene LUNs deaktivieren
|
||||
1. In vCenter zu: Host > Configure > Storage > Storage Devices navigieren.
|
||||
2. Betroffene LUN auswählen > Edit Multipathing Policy > "Fixed" wählen (statt "Most Recently Used"). ⚠️ Risiko: Redundanzverlust bei Ausfall eines Pfads.
|
||||
|
||||
Option 3: Rollback von vCenter auf Version 8.0U2a
|
||||
- vCenter auf Version 8.0U2a zurücksetzen (Build 21495409).
|
||||
- Auswirkung: Verlust von Funktionen aus 8.0U2b (z. B. Sicherheitsverbesserungen).</workaround>
|
||||
<solution>- Maßnahme: VMware ESXi-Patch 8.0U2c anwenden (Patch ESXi80U2c-21567894), der den Fehler im NMP-Scheduler behebt.
|
||||
- Zuständiges Team: Virtualization + Storage Team.
|
||||
- Geplantes Datum: 18. Juli 2026 (geplantes Wartungsfenster).
|
||||
- Vorgehen:
|
||||
1. ESXi-Hosts nacheinander in den Wartungsmodus versetzen.
|
||||
2. Patch über vSphere Lifecycle Manager (vLCM) einspielen.
|
||||
3. Hosts neu starten und die Leistung prüfen.</solution>
|
||||
<error_code>"Storage device latency is high" "Virtual machine disk I/O latency is high"</error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>VMWare</vendor>
|
||||
<model>ESXi</model>
|
||||
<version>8.0U2</version>
|
||||
</KnownError>
|
||||
<KnownError alias="KnownError" id="2">
|
||||
<name>Apache HTTP Server (apache2) stürzt nach Kernel-Update (5.15.0-86-generic) auf Ubuntu-22.04-LTS-Servern zufällig mit 'Segmentation Fault' ab</name>
|
||||
<org_id>2</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- Der Apache2-Dienst stürzt plötzlich ab, ohne eindeutige Logs in /var/log/apache2/error.log.
|
||||
- System-Logs (/var/log/syslog) zeigen:
|
||||
Jul 14 08:45:23 web-server-01 kernel: [12345.678901] apache2[12345]: segfault at 7f8e12345678 ip 00007f8e12345678 sp 00007ffd12345678 error 4 in libapr-1.so.0.7.0[7f8e12345000+20000]
|
||||
|
||||
- Auswirkungen für Benutzer:
|
||||
+ Totalausfall der Website (HTTP 503 Service Unavailable).
|
||||
+ Durchschnittliche Ausfallzeit pro Vorfall: 5–10 Minuten (manueller Neustart erforderlich).
|
||||
|
||||
- Häufigkeit: 2–3 Mal pro Tag seit dem 12. Juli 2026.
|
||||
|
||||
- Betroffene Umgebung:
|
||||
+ Server: 3 Webserver (web-server-01, web-server-02, web-server-03).
|
||||
+ Betriebssystem: Ubuntu 22.04 LTS.
|
||||
+ Kernel-Version: 5.15.0-86-generic (aktualisiert am 12. Juli 2026).
|
||||
+ Apache-Version: 2.4.52.
|
||||
+ Geladene Apache-Module: mod_ssl, mod_rewrite, mod_php8.1, mod_security2.</symptom>
|
||||
<root_cause>- Konflikt zwischen Linux-Kernel 5.15.0-86-generic und mod_security2 (Version 2.9.5):
|
||||
+ Kernel 5.15.0-86 führt eine Änderung im Speichermanagement für Multi-Thread-Prozesse ein.
|
||||
+ Das Modul mod_security2 (für WAF-Sicherheit) ist mit diesem Update nicht kompatibel und verursacht einen Segmentation Fault (ungültiger Speicherzugriff).
|
||||
|
||||
- Nachweise:
|
||||
+ Das Problem verschwindet, wenn mod_security2 deaktiviert wird.
|
||||
+ Das Problem tritt auf Servern mit Kernel 5.15.0-82-generic (Vorversion) nicht auf.
|
||||
|
||||
- Externe Referenzen:
|
||||
+ Gemeldeter Fehler in Apache JIRA (ähnlich).
|
||||
+ Diskussion auf Server Fault (Community).</root_cause>
|
||||
<workaround>- Option 1: mod_security2 vorübergehend deaktivieren
|
||||
1. Apache-Konfigurationsdatei bearbeiten:
|
||||
sudo nano /etc/apache2/mods-enabled/security2.conf
|
||||
2 . Folgende Zeile auskommentieren:
|
||||
# SecRuleEngine On
|
||||
3. Apache neu starten:
|
||||
sudo systemctl restart apache2
|
||||
|
||||
⚠️ Auswirkung: Der Webserver wird anfälliger für Angriffe (z. B. SQL-Injection, XSS).
|
||||
✅ Vorteil: Das Problem wird sofort behoben.
|
||||
|
||||
- Option 2: Auf den vorherigen Kernel zurückgehen (5.15.0-82-generic)
|
||||
1. Server mit dem älteren Kernel neu starten:
|
||||
sudo reboot
|
||||
2. In GRUB Kernel 5.15.0-82-generic auswählen.⚠️ Auswirkung: Sicherheits-Patches aus Kernel 5.15.0-86 fehlen.
|
||||
|
||||
- Option 3: Apache-Threads begrenzen
|
||||
1. Apache-Konfiguration anpassen (/etc/apache2/apache2.conf):
|
||||
StartServers 2
|
||||
MinSpareThreads 5
|
||||
MaxSpareThreads 10
|
||||
ThreadsPerChild 5
|
||||
MaxRequestWorkers 20
|
||||
2. Apache neu starten:
|
||||
sudo systemctl restart apache2
|
||||
⚠️ Auswirkung: Reduzierte Leistung (weniger gleichzeitige Anfragen).</workaround>
|
||||
<solution>- Maßnahme: Upgrade von mod_security2 auf Version 2.9.6 (kompatibel mit Kernel 5.15.0-86).
|
||||
+ Korrigierte Version: libapache2-mod-security2 2.9.6-1ubuntu0.22.04.1 (im Ubuntu-Proposed-Repository verfügbar).
|
||||
- Zuständiges Team: DevOps + Security Team.
|
||||
- Geplantes Datum: 17. Juli 2026 (Wartungsfenster: 02:00–04:00 UTC).
|
||||
- Vorgehen:
|
||||
1. Proposed-Repository hinzufügen:
|
||||
sudo add-apt-repository ppa:ubuntu-security-proposed
|
||||
sudo apt update
|
||||
2. mod_security2 aktualisieren:
|
||||
sudo apt install --only-upgrade libapache2-mod-security2
|
||||
3. Apache neu starten:
|
||||
sudo systemctl restart apache2
|
||||
4. Version prüfen:
|
||||
apache2ctl -M | grep security</solution>
|
||||
<error_code></error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>Linux</vendor>
|
||||
<model>Apache</model>
|
||||
<version>2.4.52</version>
|
||||
</KnownError>
|
||||
</Set>
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<KnownError alias="KnownError" id="1">
|
||||
<name>Degraded VM Performance on ESXi 8.0U2 Hosts After vCenter Server 8.0U2b Update</name>
|
||||
<org_id>3</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- High latency (up to 500 ms) on storage read/write operations for VMs hosted on ESXi 8.0U2 hosts.
|
||||
- vCenter Alarms:
|
||||
+ "Storage device latency is high" (Threshold exceeded: > 30 ms).
|
||||
+ "Virtual machine disk I/O latency is high".
|
||||
- Application Impact:
|
||||
+ Slowdowns in databases (SQL, Oracle).
|
||||
+ Timeouts in critical applications (e.g., ERP, SAP).
|
||||
- Occurrence Period: Since the vCenter Server update to version 8.0U2b (deployed on July 10, 2026).
|
||||
|
||||
Affected Environment:
|
||||
- ESXi Hosts: 5 servers (PROD-01 Cluster).
|
||||
- Storage: Dell EMC PowerStore 5000 (connected via iSCSI).
|
||||
- vCenter Server: Version 8.0U2b (build 21513536).</symptom>
|
||||
<root_cause>Compatibility issue between:
|
||||
- The native iSCSI driver in ESXi 8.0U2 (vmw_iscsi) and vCenter Server 8.0U2b.
|
||||
- A known bug in the NMP (Native Multi-Pathing) storage scheduler causing incorrect multipathing management after the vCenter update.
|
||||
|
||||
VMware Reference:
|
||||
- KB 90827 (similar but not identical).
|
||||
- ESXi Logs: Repeated messages "NMP: nmp_DeviceRequestFastDeviceProbe: NMP device state in doubt" in /var/log/vmkernel.log.</root_cause>
|
||||
<workaround>Option 1: Reset the NMP Service (Temporary)
|
||||
1. SSH into each affected ESXi host.
|
||||
2. Run the following commands:
|
||||
esxcli storage nmp device list # List affected devices
|
||||
esxcli storage nmp device set --device <NAA_ID> --state in_use # Force active path
|
||||
3. Restart the affected VMs. ⚠️ Effect: Resolves the issue for 24–48 hours, but latency reappears after a host reboot.
|
||||
|
||||
Option 2: Disable Multipathing for Affected LUNs
|
||||
1. In vCenter, navigate to: Host > Configure > Storage > Storage Devices.
|
||||
2. Select the affected LUN > Edit Multipathing Policy > Choose "Fixed" (instead of "Most Recently Used"). ⚠️ Risk: Loss of redundancy if one path fails.
|
||||
|
||||
Option 3: Roll Back vCenter to Version 8.0U2a
|
||||
- Rollback vCenter to version 8.0U2a (build 21495409).
|
||||
- Impact: Loss of 8.0U2b features (e.g., security improvements).</workaround>
|
||||
<solution>- Action: Apply the VMware ESXi 8.0U2c patch (patch ESXi80U2c-21567894), which fixes the NMP scheduler bug.
|
||||
- Responsible Team: Virtualization + Storage Team.
|
||||
- Planned Date: July 18, 2026 (scheduled maintenance window).
|
||||
- Procedure:
|
||||
1. Place ESXi hosts in maintenance mode one by one.
|
||||
2. Apply the patch via vSphere Lifecycle Manager (vLCM).
|
||||
3. Reboot hosts and verify performance.</solution>
|
||||
<error_code>"Storage device latency is high" "Virtual machine disk I/O latency is high"</error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>VMWare</vendor>
|
||||
<model>ESXi</model>
|
||||
<version>8.0U2</version>
|
||||
</KnownError>
|
||||
<KnownError alias="KnownError" id="2">
|
||||
<name>Apache HTTP Server (apache2) Crashes Randomly with 'Segmentation Fault' on Ubuntu 22.04 LTS Servers After Kernel Update (5.15.0-86-generic)</name>
|
||||
<org_id>2</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- The Apache2 service crashes suddenly without clear logs in /var/log/apache2/error.log.
|
||||
- System logs (/var/log/syslog) show:
|
||||
Jul 14 08:45:23 web-server-01 kernel: [12345.678901] apache2[12345]: segfault at 7f8e12345678 ip 00007f8e12345678 sp 00007ffd12345678 error 4 in libapr-1.so.0.7.0[7f8e12345000+20000]
|
||||
|
||||
- User Impact:
|
||||
+ Total unavailability of the website (HTTP 503 Service Unavailable).
|
||||
+ Average downtime per incident: 5–10 minutes (manual restart required).
|
||||
|
||||
- Frequency: 2–3 times per day since July 12, 2026.
|
||||
|
||||
- Affected Environment:
|
||||
+ Servers: 3 web servers (web-server-01, web-server-02, web-server-03).
|
||||
+ Operating System: Ubuntu 22.04 LTS.
|
||||
+ Kernel Version: 5.15.0-86-generic (updated on July 12, 2026).
|
||||
+ Apache Version: 2.4.52.
|
||||
+ Loaded Apache Modules: mod_ssl, mod_rewrite, mod_php8.1, mod_security2.</symptom>
|
||||
<root_cause>- Conflict between Linux kernel 5.15.0-86-generic and mod_security2 (version 2.9.5):
|
||||
+ The 5.15.0-86 kernel introduces a change in memory management for multi-threaded processes.
|
||||
+ The mod_security2 module (used for WAF security) is not compatible with this update, causing a segmentation fault (invalid memory access).
|
||||
|
||||
- Evidence:
|
||||
+ The issue disappears when mod_security2 is disabled.
|
||||
+ The issue does not occur on servers running kernel 5.15.0-82-generic (previous version).
|
||||
|
||||
- External References:
|
||||
+ Reported bug on Apache JIRA (similar).
|
||||
+ Discussion on Server Fault (community).</root_cause>
|
||||
<workaround>- Option 1: Temporarily Disable mod_security2
|
||||
1. Edit the Apache configuration file:
|
||||
sudo nano /etc/apache2/mods-enabled/security2.conf
|
||||
2 . Comment out the line:
|
||||
# SecRuleEngine On
|
||||
3. Restart Apache:
|
||||
sudo systemctl restart apache2
|
||||
|
||||
⚠️ Impact: The web server becomes vulnerable to attacks (e.g., SQL injection, XSS).
|
||||
✅ Benefits: Immediately resolves the issue.
|
||||
|
||||
- Option 2: Revert to the Previous Kernel (5.15.0-82-generic)
|
||||
1. Reboot the server with the older kernel:
|
||||
sudo reboot
|
||||
2. In GRUB, select kernel 5.15.0-82-generic.⚠️ Impact: The server misses security patches from kernel 5.15.0-86.
|
||||
|
||||
- Option 3: Limit Apache Threads
|
||||
1. Modify Apache configuration (/etc/apache2/apache2.conf):
|
||||
StartServers 2
|
||||
MinSpareThreads 5
|
||||
MaxSpareThreads 10
|
||||
ThreadsPerChild 5
|
||||
MaxRequestWorkers 20
|
||||
2. Restart Apache:
|
||||
sudo systemctl restart apache2
|
||||
⚠️ Impact: Reduced performance (fewer concurrent requests handled).</workaround>
|
||||
<solution>- Action: Upgrade mod_security2 to version 2.9.6 (compatible with kernel 5.15.0-86).
|
||||
+ Fixed Version: libapache2-mod-security2 2.9.6-1ubuntu0.22.04.1 (available in Ubuntu proposed repository).
|
||||
- Responsible Team: DevOps + Security Team.
|
||||
- Planned Date: July 17, 2026 (maintenance window: 02:00–04:00 UTC).
|
||||
- Procedure:
|
||||
1. Add the proposed repository:
|
||||
sudo add-apt-repository ppa:ubuntu-security-proposed
|
||||
sudo apt update
|
||||
2. Upgrade mod_security2:
|
||||
sudo apt install --only-upgrade libapache2-mod-security2
|
||||
3. Restart Apache:
|
||||
sudo systemctl restart apache2
|
||||
4. Verify the version:
|
||||
apache2ctl -M | grep security</solution>
|
||||
<error_code></error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>Linux</vendor>
|
||||
<model>Apache</model>
|
||||
<version>2.4.52</version>
|
||||
</KnownError>
|
||||
</Set>
|
||||
@@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<KnownError alias="KnownError" id="1">
|
||||
<name>Dégradation des performances des VMs sur les hôtes ESXi 8.0U2 après mise à jour du vCenter Server 8.0U2b</name>
|
||||
<org_id>3</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- Latence élevée (jusqu’à 500 ms) sur les opérations de stockage (lecture/écriture) pour les VMs hébergées sur les hôtes ESXi 8.0U2.
|
||||
- Alarmes vCenter:
|
||||
+ "Storage device latency is high" (Threshold exceeded: > 30 ms).
|
||||
+ "Virtual machine disk I/O latency is high".
|
||||
- Impact sur les applications :
|
||||
+ Ralentissements des bases de données (SQL, Oracle).
|
||||
+ Timeouts sur les applications critiques (ex. : ERP, SAP).
|
||||
- Période d'occurrence : Depuis la mise à jour du vCenter Server vers la version 8.0U2b (déployée le 10/07/2026).
|
||||
|
||||
Environnement affecté :
|
||||
- Hôtes ESXi : 5 serveurs (Cluster PROD-01).
|
||||
- Stockage : Baie Dell EMC PowerStore 5000 (connectée en iSCSI).
|
||||
- vCenter Server : Version 8.0U2b (build 21513536).</symptom>
|
||||
<root_cause>Problème de compatibilité entre :
|
||||
- Le pilote iSCSI natif d’ESXi 8.0U2 (vmw_iscsi) et la version 8.0U2b du vCenter Server.
|
||||
- Un bug connu dans le scheduler de stockage NMP (Native Multi-Pathing) qui provoque une mauvaise gestion des chemins multiples (multipathing) après la mise à jour du vCenter.
|
||||
|
||||
VMware Reference:
|
||||
- KB 90827 (similaire, mais non identique).
|
||||
- Log ESXi : Messages répétés "NMP: nmp_DeviceRequestFastDeviceProbe: NMP device state in doubt" dans /var/log/vmkernel.log.</root_cause>
|
||||
<workaround>Option 1: Réinitialiser le service NMP (temporaire)
|
||||
1. Se connecter en SSH à chaque hôte ESXi affecté.
|
||||
2. Exécuter les commandes :
|
||||
esxcli storage nmp device list # List affected devices
|
||||
esxcli storage nmp device set --device <NAA_ID> --state in_use # Force active path
|
||||
3. Redémarrer les VMs concernées. ⚠️ Effet : Résout le problème pendant 24–48h, mais la latence réapparaît après un redémarrage de l’hôte.
|
||||
|
||||
Option 2: Désactiver le multipathing pour les LUNs concernés
|
||||
1. Dans vCenter, aller dans: Host > Configure > Storage > Storage Devices.
|
||||
2. Sélectionner le LUN concerné > Edit Multipathing Policy > Choisir "Fixed" (au lieu de "Most Recently Used"). ⚠️ Risque : Perte de redondance en cas de panne d’un chemin.
|
||||
|
||||
Option 3: Revenir à la version précédente de vCenter (8.0U2a)
|
||||
- Rollback du vCenter vers la version 8.0U2a (build 21495409).
|
||||
- Impact : Perte des fonctionnalités de 8.0U2b (ex. : améliorations de sécurité).</workaround>
|
||||
<solution>- Action : Appliquer le correctif VMware ESXi 8.0U2c (patch ESXi80U2c-21567894), qui corrige le bug du scheduler NMP.
|
||||
- Responsable : Équipe Virtualisation + Stockage.
|
||||
- Date prévue : 18 juillet 2026 (fenêtre de maintenance planifiée).
|
||||
- Procédure:
|
||||
1. Mettre en maintenance les hôtes ESXi un par un.
|
||||
2. Appliquer le patch via vSphere Lifecycle Manager (vLCM).
|
||||
3. Redémarrer les hôtes et vérifier les performances.</solution>
|
||||
<error_code>"Storage device latency is high" "Virtual machine disk I/O latency is high"</error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>VMWare</vendor>
|
||||
<model>ESXi</model>
|
||||
<version>8.0U2</version>
|
||||
</KnownError>
|
||||
<KnownError alias="KnownError" id="2">
|
||||
<name>Service Apache HTTP Server (apache2) plante aléatoirement avec l'erreur 'Segmentation Fault' sur les serveurs Ubuntu 22.04 LTS après mise à jour du noyau (5.15.0-86-generic)</name>
|
||||
<org_id>2</org_id>
|
||||
<problem_id>0</problem_id>
|
||||
<symptom>- Le service Apache2 s'arrête brutalement sans journalisation claire dans /var/log/apache2/error.log.
|
||||
- Message dans les logs système (/var/log/syslog):
|
||||
Jul 14 08:45:23 web-server-01 kernel: [12345.678901] apache2[12345]: segfault at 7f8e12345678 ip 00007f8e12345678 sp 00007ffd12345678 error 4 in libapr-1.so.0.7.0[7f8e12345000+20000]
|
||||
|
||||
- Impact utilisateur:
|
||||
+ Indisponibilité totale du site web (HTTP 503 Service Unavailable).
|
||||
+ Durée moyenne de l'incident : 5 à 10 minutes (redémarrage manuel nécessaire).
|
||||
|
||||
- Fréquence : 2 à 3 fois par jour depuis le 12 juillet 2026.
|
||||
|
||||
- Environnement affecté :
|
||||
+ Serveurs : 3 serveurs web (web-server-01, web-server-02, web-server-03).
|
||||
+ Système d'exploitation : Ubuntu 22.04 LTS.
|
||||
+ Version du noyau : 5.15.0-86-generic (mis à jour le 12/07/2026).
|
||||
+ Version d'Apache : 2.4.52.
|
||||
+ Modules Apache chargés : mod_ssl, mod_rewrite, mod_php8.1, mod_security2.</symptom>
|
||||
<root_cause>- Conflit entre le noyau Linux 5.15.0-86-generic et le module mod_security2 (version 2.9.5) :
|
||||
+ Le noyau 5.15.0-86 introduit une modification dans la gestion de la mémoire pour les processus multi-threadés.
|
||||
+ Le module mod_security2 (utilisé pour la sécurité WAF) n'est pas compatible avec cette mise à jour, provoquant un segmentation fault (accès mémoire invalide).
|
||||
|
||||
- Preuve :
|
||||
+ Le problème disparaît lorsque mod_security2 est désactivé.
|
||||
+ Le problème n'existe pas sur les serveurs sous le noyau 5.15.0-82-generic (version précédente).
|
||||
|
||||
- Référence externe :
|
||||
+ Bug rapporté sur Apache JIRA (similaire).
|
||||
+ Discussion sur Server Fault (communauté).</root_cause>
|
||||
<workaround>- Option 1: Désactiver temporairement mod_security2
|
||||
1. Éditer le fichier de configuration Apache :
|
||||
sudo nano /etc/apache2/mods-enabled/security2.conf
|
||||
2 . Commenter la ligne :
|
||||
# SecRuleEngine On
|
||||
3. Redémarrer Apache:
|
||||
sudo systemctl restart apache2
|
||||
|
||||
⚠️ Le serveur web devient vulnérable aux attaques (ex. : SQL injection, XSS).
|
||||
✅ Avantages : Résout immédiatement le problème.
|
||||
|
||||
- Option 2: Revenir au noyau précédent (5.15.0-82-generic)
|
||||
1. Redémarrer le serveur avec l'ancien noyau:
|
||||
sudo reboot
|
||||
2. Dans le GRUB, sélectionner le noyau 5.15.0-82-generic.⚠️ Impact : Le serveur ne bénéficie pas des correctifs de sécurité du noyau 5.15.0-86.
|
||||
|
||||
- Option 3: Limiter le nombre de threads pour Apache
|
||||
1. Modifier la configuration Apache (/etc/apache2/apache2.conf) :
|
||||
StartServers 2
|
||||
MinSpareThreads 5
|
||||
MaxSpareThreads 10
|
||||
ThreadsPerChild 5
|
||||
MaxRequestWorkers 20
|
||||
2. Redémarrer Apache :
|
||||
sudo systemctl restart apache2
|
||||
⚠️ Impact : Réduction des performances (moins de requêtes simultanées gérées).</workaround>
|
||||
<solution>- Action: Mettre à jour mod_security2 vers la version 2.9.6 (compatible avec le noyau 5.15.0-86).
|
||||
+ Version corrigée : libapache2-mod-security2 2.9.6-1ubuntu0.22.04.1 (disponible dans les dépôts Ubuntu proposed).
|
||||
- Responsable : Équipe DevOps + Sécurité.
|
||||
- Date prévue : 17 juillet 2026 (fenêtre de maintenance de 02:00 à 04:00).
|
||||
- Procédure :
|
||||
1. Ajouter le dépôt proposed :
|
||||
sudo add-apt-repository ppa:ubuntu-security-proposed
|
||||
sudo apt update
|
||||
2. Mettre à jour mod_security2 :
|
||||
sudo apt install --only-upgrade libapache2-mod-security2
|
||||
3. Redémarrer Apache :
|
||||
sudo systemctl restart apache2
|
||||
4. Vérifier la version:
|
||||
apache2ctl -M | grep security</solution>
|
||||
<error_code></error_code>
|
||||
<domain>Application</domain>
|
||||
<vendor>Linux</vendor>
|
||||
<model>Apache</model>
|
||||
<version>2.4.52</version>
|
||||
</KnownError>
|
||||
</Set>
|
||||
@@ -15,27 +15,27 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:KnownError' => 'Известная ошибка',
|
||||
'Class:KnownError+' => 'Проблема, имеющая задокументированные корневую причину и обходное решение',
|
||||
'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:name+' => 'Ожидается уникальный идентификатор в рамках известных ошибок этой организации',
|
||||
'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:org_id+' => 'Свяжите известную ошибку с поставщиком услуг, отвечающим за её обработку, либо с организацией-заказчиком, если ошибка специфична для неё',
|
||||
'Class:KnownError/Attribute:cust_name' => 'Организация',
|
||||
'Class:KnownError/Attribute:cust_name+' => '',
|
||||
'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_id+' => 'Проблема, которую не удалось решить сразу и которая привела к созданию этой известной ошибки',
|
||||
'Class:KnownError/Attribute:problem_ref' => 'Проблема',
|
||||
'Class:KnownError/Attribute:problem_ref+' => '',
|
||||
'Class:KnownError/Attribute:symptom' => 'Проявление',
|
||||
'Class:KnownError/Attribute:symptom+' => 'What are the observable effects of this error?~~',
|
||||
'Class:KnownError/Attribute:symptom+' => 'Какие наблюдаемые последствия у этой ошибки?',
|
||||
'Class:KnownError/Attribute:root_cause' => 'Корневая причина',
|
||||
'Class:KnownError/Attribute:root_cause+' => 'What is the underlying cause of this error?~~',
|
||||
'Class:KnownError/Attribute:root_cause+' => 'Какова первопричина этой ошибки?',
|
||||
'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:workaround+' => 'Как обойти последствия этой ошибки до нахождения полноценного решения?',
|
||||
'Class:KnownError/Attribute:solution' => 'Решение',
|
||||
'Class:KnownError/Attribute:solution+' => 'What is the permanent solution for this error?~~',
|
||||
'Class:KnownError/Attribute:solution+' => 'В чём заключается окончательное решение этой ошибки?',
|
||||
'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:error_code+' => 'Если с этой известной ошибкой связан конкретный код ошибки, укажите его здесь',
|
||||
'Class:KnownError/Attribute:domain' => 'Домен',
|
||||
'Class:KnownError/Attribute:domain+' => 'Choose the technical domain related to this known error?~~',
|
||||
'Class:KnownError/Attribute:domain+' => 'Выберите технический домен, связанный с этой известной ошибкой',
|
||||
'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+' => 'A free text field to identify the vendor of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:vendor+' => 'Произвольное текстовое поле для указания производителя КЕ, к которым относится эта известная ошибка',
|
||||
'Class:KnownError/Attribute:model' => 'Модель',
|
||||
'Class:KnownError/Attribute:model+' => 'The model of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:model+' => 'Модель КЕ, к которым относится эта известная ошибка',
|
||||
'Class:KnownError/Attribute:version' => 'Версия',
|
||||
'Class:KnownError/Attribute:version+' => 'The version of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:version+' => 'Версия КЕ, к которым относится эта известная ошибка',
|
||||
'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+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
|
||||
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
|
||||
'Menu:Problem:Shortcuts' => 'Ярлыки',
|
||||
'Menu:NewError' => 'Новая известная ошибка',
|
||||
'Menu:NewError+' => 'Создать новую известную ошибку',
|
||||
|
||||
@@ -55,27 +55,27 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:KnownError' => '已知错误',
|
||||
'Class:KnownError+' => '记录一个已知错误',
|
||||
'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:name+' => '该名称将作为此组织内的已知问题的唯一标识符',
|
||||
'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:org_id+' => '将已知问题关联至负责处理该问题的服务提供商. 若问题仅针对特定客户,则也可关联至对应的客户组织',
|
||||
'Class:KnownError/Attribute:cust_name' => '客户名称',
|
||||
'Class:KnownError/Attribute:cust_name+' => '',
|
||||
'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_id+' => '由于问题无法立即解决,于是才导致了这个已知错误的创建',
|
||||
'Class:KnownError/Attribute:problem_ref' => '问题编号',
|
||||
'Class:KnownError/Attribute:problem_ref+' => '',
|
||||
'Class:KnownError/Attribute:symptom' => '现象',
|
||||
'Class:KnownError/Attribute:symptom+' => 'What are the observable effects of this error?~~',
|
||||
'Class:KnownError/Attribute:symptom+' => '该错误的可见的影响是什么?',
|
||||
'Class:KnownError/Attribute:root_cause' => '问题根源',
|
||||
'Class:KnownError/Attribute:root_cause+' => 'What is the underlying cause of this error?~~',
|
||||
'Class:KnownError/Attribute:root_cause+' => '该错误的底层原因是什么?',
|
||||
'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:workaround+' => '如何规避该错误的影响直至找到适当的解决方案?',
|
||||
'Class:KnownError/Attribute:solution' => '解决方案',
|
||||
'Class:KnownError/Attribute:solution+' => 'What is the permanent solution for this error?~~',
|
||||
'Class:KnownError/Attribute:solution+' => '该错误的永久解决方案是什么?',
|
||||
'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:error_code+' => '如果此已知错误关联到特定的错误编码,请在此指定',
|
||||
'Class:KnownError/Attribute:domain' => '类型',
|
||||
'Class:KnownError/Attribute:domain+' => 'Choose the technical domain related to this known error?~~',
|
||||
'Class:KnownError/Attribute:domain+' => '请选择该错误相关的技术领域',
|
||||
'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+' => 'A free text field to identify the vendor of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:vendor+' => '这个已知错误相关的厂商',
|
||||
'Class:KnownError/Attribute:model' => '型号',
|
||||
'Class:KnownError/Attribute:model+' => 'The model of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:model+' => '这个已知错误相关的配置项型号',
|
||||
'Class:KnownError/Attribute:version' => '版本',
|
||||
'Class:KnownError/Attribute:version+' => 'The version of the CI(s) concerned by this known error~~',
|
||||
'Class:KnownError/Attribute:version+' => '这个已知错误相关的配置项版本',
|
||||
'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+' => '这个已知错误相关的所有文档',
|
||||
]);
|
||||
|
||||
//
|
||||
|
||||
@@ -25,6 +25,8 @@ SetupWebPage::AddModule(
|
||||
//'data.struct.itop-knownerror-mgmt.xml',
|
||||
],
|
||||
'data.sample' => [
|
||||
'data/data.sample.knownerror.en_us.xml',
|
||||
'data/data.sample.errortofunctionalci.xml',
|
||||
],
|
||||
|
||||
// Documentation
|
||||
|
||||
@@ -11,23 +11,23 @@
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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~~',
|
||||
'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' => 'Область доступа',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -35,36 +35,36 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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+' => '~~',
|
||||
'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+' => '',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -72,28 +72,28 @@ Erase the field to recalculate default value~~',
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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".~~',
|
||||
'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".',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -101,24 +101,24 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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~~',
|
||||
'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' => 'Нет',
|
||||
]);
|
||||
|
||||
@@ -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+' => 'In general, this is your email address~~',
|
||||
'Class:OAuthClient/Attribute:name+' => '通常, 这里填您的邮箱地址',
|
||||
'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' => 'Tenant~~',
|
||||
'Class:OAuthClientAzure/Attribute: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' => '否',
|
||||
|
||||
@@ -59,11 +59,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
|
||||
// Object form
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Portal:Form:Caselog:Entry:Close:Tooltip' => 'Close this entry~~',
|
||||
'Portal:Form:Caselog:Entry:Close:Tooltip' => 'Закрыть эту запись',
|
||||
'Portal:Form:Close:Warning' => 'Вы действительно хотите закрыть эту форму? Введённые данные могут быть утеряны.',
|
||||
'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~~',
|
||||
'Portal:Error:ObjectCannotBeCreated' => 'Ошибка: объект не может быть создан. Проверьте связанные объекты и вложения перед повторной отправкой формы.',
|
||||
'Portal:Error:ObjectCannotBeUpdated' => 'Ошибка: объект не может быть обновлён. Проверьте связанные объекты и вложения перед повторной отправкой формы.',
|
||||
'Portal:Error:CheckToWriteFailed' => 'Ошибка при проверке поля \'%1$s\': %2$s',
|
||||
]);
|
||||
|
||||
// UserProfile brick
|
||||
|
||||
@@ -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' => '饼图',
|
||||
|
||||
@@ -36,20 +36,24 @@ class IpbDropdown extends HTMLElement {
|
||||
return;
|
||||
}
|
||||
|
||||
button.addEventListener('click', (event) => {
|
||||
event.stopPropagation();
|
||||
const isOpen = menu.classList.contains('show');
|
||||
document.querySelectorAll('ipb-dropdown.show').forEach(m => m.classList.remove('show'));
|
||||
// N°9385 - add a test in order to know if the event addEventListener is already added to the button, if not add it
|
||||
if ($(button).data('has_listener') === undefined) {
|
||||
button.addEventListener('click', (event) => {
|
||||
event.stopPropagation();
|
||||
const isOpen = menu.classList.contains('show');
|
||||
document.querySelectorAll('ipb-dropdown.show').forEach(m => m.classList.remove('show'));
|
||||
|
||||
if (!isOpen) {
|
||||
menu.classList.add('show');
|
||||
if (container === 'body') {
|
||||
this.moveToBody(menu);
|
||||
}
|
||||
this.changePlacement(menu, button);
|
||||
this.changeZIndex(menu, button);
|
||||
}
|
||||
});
|
||||
if (!isOpen) {
|
||||
menu.classList.add('show');
|
||||
if (container === 'body') {
|
||||
this.moveToBody(menu);
|
||||
}
|
||||
this.changePlacement(menu, button);
|
||||
this.changeZIndex(menu, button);
|
||||
}
|
||||
});
|
||||
$(button).data('has_listener', true);
|
||||
}
|
||||
|
||||
let me = this;
|
||||
document.addEventListener('click', (event) => {
|
||||
|
||||
@@ -73,7 +73,7 @@ class Basic extends AbstractConfiguration
|
||||
$aPortalConf = [
|
||||
'properties' => [
|
||||
'id' => $_ENV['PORTAL_ID'],
|
||||
'ui_version' => 'v3',
|
||||
'ui_version' => '2025',
|
||||
'ui_settings' => [
|
||||
'navigation_menu' => 'vertical',
|
||||
],
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{% if aTilesRendering[brick.GetId] is defined %}
|
||||
{{ aTilesRendering[brick.GetId]|raw }}
|
||||
{% else %}
|
||||
{% include '' ~ brick.GetTileTemplatePath with {brick: brick} only %}
|
||||
{% include '' ~ brick.GetTemplatePath('tile') with {brick: brick} only %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
@@ -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' => '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>~~',
|
||||
'Brick:Portal:ListAllRequests:Title' => 'Все запросы',
|
||||
'Brick:Portal:ListAllRequests:Title+' => '<p>Просмотр всех запросов независимо от статуса.</p>',
|
||||
'Brick:Portal:ListAllRequests:Tab' => 'Текущие и закрытые',
|
||||
'Brick:Portal:SearchInAllRequests:Title' => 'Поиск по всем запросам',
|
||||
'Brick:Portal:SearchInAllRequests:Title+' => '<p>Независимо от статуса.</p>',
|
||||
]);
|
||||
|
||||
@@ -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' => '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>~~',
|
||||
'Brick:Portal:ListAllRequests:Title' => '所有需求',
|
||||
'Brick:Portal:ListAllRequests:Title+' => '<p>查看所有需求,无论其状态如何.</p>',
|
||||
'Brick:Portal:ListAllRequests:Tab' => '处理中和已关闭',
|
||||
'Brick:Portal:SearchInAllRequests:Title' => '在所有需求中搜索',
|
||||
'Brick:Portal:SearchInAllRequests:Title+' => '<p>不论其状态如何.</p>',
|
||||
]);
|
||||
|
||||
@@ -13,18 +13,18 @@
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:ProblemManagement' => 'Управление проблемами',
|
||||
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
|
||||
'Menu:ProblemManagement+' => 'Процесс ITIL, который выявляет первопричины инцидентов, документирует известные ошибки и FAQ, чтобы снизить нагрузку на службу поддержки',
|
||||
'Menu:Problem:Overview' => 'Обзор',
|
||||
'Menu:Problem:Overview+' => 'Управление проблемами - Обзор',
|
||||
'Menu:NewProblem' => 'Новая проблема',
|
||||
'Menu:NewProblem+' => 'Create a new problem ticket~~',
|
||||
'Menu:NewProblem+' => 'Создать новый тикет проблемы',
|
||||
'Menu:SearchProblems' => 'Поиск проблем',
|
||||
'Menu:SearchProblems+' => 'Поиск проблем',
|
||||
'Menu:Problem:Shortcuts' => 'Ярлыки',
|
||||
'Menu:Problem:MyProblems' => 'Назначенные мне',
|
||||
'Menu:Problem:MyProblems+' => 'Problems assigned to me which are neither resolved nor closed~~',
|
||||
'Menu:Problem:MyProblems+' => 'Проблемы, назначенные на меня, которые не решены и не закрыты',
|
||||
'Menu:Problem:OpenProblems' => 'Открытые',
|
||||
'Menu:Problem:OpenProblems+' => 'All problem tickets which are not closed~~',
|
||||
'Menu:Problem:OpenProblems+' => 'Все незакрытые тикеты проблем',
|
||||
'UI-ProblemManagementOverview-ProblemByService' => 'Проблемы по услугам',
|
||||
'UI-ProblemManagementOverview-ProblemByService+' => 'Проблемы по услугам',
|
||||
'UI-ProblemManagementOverview-ProblemByPriority' => 'Проблемы по приоритету',
|
||||
|
||||
@@ -49,18 +49,18 @@
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Menu:ProblemManagement' => '问题管理',
|
||||
'Menu:ProblemManagement+' => 'An ITIL process that identifies root causes of incidents, documents Known Errors and FAQs, in order to reduce helpdesk workload~~',
|
||||
'Menu:ProblemManagement+' => '一种 ITIL 流程, 用于定位事故根本原因、记录已知错误与常见问题, 以此减轻服务台的工作量',
|
||||
'Menu:Problem:Overview' => '概况',
|
||||
'Menu:Problem:Overview+' => '概况',
|
||||
'Menu:NewProblem' => '新建问题',
|
||||
'Menu:NewProblem+' => 'Create a new problem ticket~~',
|
||||
'Menu:NewProblem+' => '创建新的问题工单',
|
||||
'Menu:SearchProblems' => '搜索问题',
|
||||
'Menu:SearchProblems+' => '搜索问题',
|
||||
'Menu:Problem:Shortcuts' => '快捷方式',
|
||||
'Menu:Problem:MyProblems' => '我的问题',
|
||||
'Menu:Problem:MyProblems+' => 'Problems assigned to me which are neither resolved nor closed~~',
|
||||
'Menu:Problem:MyProblems' => '分配给我的问题',
|
||||
'Menu:Problem:MyProblems+' => '分配给我且既未解决也未关闭的问题',
|
||||
'Menu:Problem:OpenProblems' => '所有打开的问题',
|
||||
'Menu:Problem:OpenProblems+' => 'All problem tickets which are not closed~~',
|
||||
'Menu:Problem:OpenProblems+' => '所有尚未关闭的问题工单',
|
||||
'UI-ProblemManagementOverview-ProblemByService' => '按服务划分的问题',
|
||||
'UI-ProblemManagementOverview-ProblemByService+' => '按服务划分的问题',
|
||||
'UI-ProblemManagementOverview-ProblemByPriority' => '按优先级划分的问题',
|
||||
|
||||
@@ -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' => 'Les Demandes',
|
||||
'Menu:UserRequest:Shortcuts' => '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é',
|
||||
|
||||
@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'UI-RequestManagementOverview-OpenRequestByType' => 'Открытые запросы по типу',
|
||||
'UI-RequestManagementOverview-OpenRequestByCustomer' => 'Открытые запросы по заказчику',
|
||||
'Class:UserRequest:KnownErrorList' => 'Известные ошибки',
|
||||
'Class:UserRequest:KnownErrorList+' => 'Known Errors related to Functional CI linked to the current ticket~~',
|
||||
'Class:UserRequest:KnownErrorList+' => 'Известные ошибки, связанные с функциональными КЕ текущего тикета',
|
||||
]);
|
||||
|
||||
// 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' => '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: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: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 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_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_escalation_deadline' => 'Срок TTO',
|
||||
'Class:UserRequest/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
|
||||
'Class:UserRequest/Attribute:sla_tto_passed' => 'SLA TTO пропущено',
|
||||
|
||||
@@ -8,35 +8,37 @@
|
||||
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+' => 'Non closed requests where I am the caller~~',
|
||||
'Menu:UserRequest:MySupportRequests+' => '由我发起且未关闭的需求',
|
||||
'Menu:UserRequest:EscalatedRequests' => '已升级的需求',
|
||||
'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~~',
|
||||
'Menu:UserRequest:EscalatedRequests+' => '按状态或热门标识分类的已升级的需求',
|
||||
'Menu:UserRequest:OpenRequests' => '所有待处理的需求',
|
||||
'Menu:UserRequest:OpenRequests+' => '所有尚未关闭的需求',
|
||||
'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
|
||||
@@ -156,9 +158,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 time spent~~',
|
||||
'Class:UserRequest/Attribute:tto_time_spent' => 'TTO 耗时',
|
||||
'Class:UserRequest/Attribute:tto_time_spent+' => '~~',
|
||||
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR time spent~~',
|
||||
'Class:UserRequest/Attribute:ttr_time_spent' => 'TTR 耗时',
|
||||
'Class:UserRequest/Attribute:ttr_time_spent+' => '~~',
|
||||
'Class:UserRequest/Attribute:tto_escalation_deadline' => 'TTO 截止日期',
|
||||
'Class:UserRequest/Attribute:tto_escalation_deadline+' => '',
|
||||
|
||||
@@ -42,7 +42,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'UI-RequestManagementOverview-OpenRequestByType' => 'Открытые запросы по типу',
|
||||
'UI-RequestManagementOverview-OpenRequestByCustomer' => 'Открытые запросы по заказчику',
|
||||
'Class:UserRequest:KnownErrorList' => 'Известные ошибки',
|
||||
'Class:UserRequest:KnownErrorList+' => 'Known Errors related to Functional CI linked to the current ticket~~',
|
||||
'Class:UserRequest:KnownErrorList+' => 'Известные ошибки, связанные с функциональными КЕ текущего тикета',
|
||||
'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' => '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: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: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 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_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_escalation_deadline' => 'Срок TTO',
|
||||
'Class:UserRequest/Attribute:tto_escalation_deadline+' => 'Крайний срок назаначения агента (принятия в работу) по текущему SLA',
|
||||
'Class:UserRequest/Attribute:sla_tto_passed' => 'SLA TTO пропущено',
|
||||
|
||||
@@ -10,37 +10,39 @@ 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+' => 'Non closed requests where I am the caller~~',
|
||||
'Menu:UserRequest:MySupportRequests' => '由我发起的需求',
|
||||
'Menu:UserRequest:MySupportRequests+' => '由我发起且未关闭的需求',
|
||||
'Menu:UserRequest:EscalatedRequests' => '已升级的需求',
|
||||
'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~~',
|
||||
'Menu:UserRequest:EscalatedRequests+' => '按状态或热门标识分类的已升级的需求',
|
||||
'Menu:UserRequest:OpenRequests' => '待处理的需求',
|
||||
'Menu:UserRequest:OpenRequests+' => '尚未关闭的需求',
|
||||
'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' => '打开的事件',
|
||||
'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>',
|
||||
]);
|
||||
|
||||
// Dictionnay conventions
|
||||
@@ -129,7 +131,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+' => 'Request created on the user portal~~',
|
||||
'Class:UserRequest/Attribute:origin/Value:portal+' => '在用户门户中创建的需求工单',
|
||||
'Class:UserRequest/Attribute:approver_id' => '审核人',
|
||||
'Class:UserRequest/Attribute:approver_id+' => '',
|
||||
'Class:UserRequest/Attribute:approver_email' => '邮箱',
|
||||
@@ -276,7 +278,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Portal:ListOpenProblems' => '处理中的问题',
|
||||
'Portal:ShowProblem' => '问题',
|
||||
'Portal:ShowFaqs' => 'FAQ',
|
||||
'Portal:NoOpenProblem' => '没有打开的问题',
|
||||
'Portal:NoOpenProblem' => '没有待处理的问题',
|
||||
'Portal:SelectLanguage' => '更改您的语言',
|
||||
'Portal:LanguageChangedTo_Lang' => '语言更改为',
|
||||
'Portal:ChooseYourFavoriteLanguage' => '请选择您喜欢的语言',
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
</icon>
|
||||
</Service>
|
||||
<Service alias="Service" id="1">
|
||||
<name>Computers and peripherals</name>
|
||||
<name>Ordinateurs et périphériques</name>
|
||||
<org_id>2</org_id>
|
||||
<servicefamily_id>1</servicefamily_id>
|
||||
<description>Ordering of new hardware (Desktop computer, laptop computer, monitor, mouse, keyboard...) and support in case of hardware failure.</description>
|
||||
<description>Commande de nouveau matériel (ordinateur de bureau, ordinateur portable, écran, souris, clavier...) et support en cas de panne matérielle.</description>
|
||||
<status>production</status>
|
||||
<icon>
|
||||
<mimetype>image/svg+xml</mimetype>
|
||||
|
||||
@@ -35,20 +35,20 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:DeliveryModel+' => 'Модели предоставления услуг (Delivery Models)',
|
||||
'Menu:ServiceFamily' => 'Пакеты услуг',
|
||||
'Menu:ServiceFamily+' => 'Пакеты услуг',
|
||||
'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: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',
|
||||
|
||||
'Contract:baseinfo' => 'General information~~',
|
||||
'Contract:moreinfo' => 'Contractual information~~',
|
||||
'Contract:cost' => 'Cost information~~',
|
||||
'Contract:baseinfo' => 'Общая информация',
|
||||
'Contract:moreinfo' => 'Информация о контракте',
|
||||
'Contract:cost' => 'Информация о стоимости',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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+' => 'Required for this service to be visible on User Portal~~',
|
||||
'Class:Service/Attribute:servicefamily_id+' => 'Требуется, чтобы услуга была видна в портале пользователя',
|
||||
'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+' => 'By default only Service in production are visible by Portal users~~',
|
||||
'Class:Service/Attribute:status+' => 'По умолчанию пользователям портала видны только услуги в статусе "Эксплуатация"',
|
||||
'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+' => '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+' => 'Определяет тип тикета (Инцидент или Запрос на обслуживание), который будет создан, когда пользователь портала выберет эту подкатегорию услуги.',
|
||||
'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' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
|
||||
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Не удалось сохранить связь с контрактом заказчика %1$s и услугой %2$s: SLA уже существует',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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' => 'Provider~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Поставщик',
|
||||
'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' => 'Customer id~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id' => 'Заказчик',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '',
|
||||
'Class:lnkContactToContract/Attribute: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' => 'Customer id~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id' => 'Заказчик',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => 'Поставщик',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -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+' => 'Agreement between a client and a provider for the delivery of services with an optional level of commitment (SLA, Coverage Window).~~',
|
||||
'Class:CustomerContract+' => '客户与供应商之间关于服务交付的协议,可选择包含承诺服务级别 (SLA, 窗口时间).',
|
||||
'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+' => 'Agreement between an external provider and an internal organization.~~',
|
||||
'Class:ProviderContract+' => '外部供应商与内部组织之间的协议.',
|
||||
'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+' => '',
|
||||
'Class:ProviderContract/Attribute:coverage+' => '合同覆盖的服务时间, 例如 24x7, 9x5 等.',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -187,7 +187,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:lnkContactToContract' => '链接 联系人/合同',
|
||||
'Class:lnkContactToContract+' => 'Manages key contacts on each Customer or Provider Contract.~~',
|
||||
'Class:lnkContactToContract+' => '管理客户或供应商合同中的关键联系人.',
|
||||
'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+' => 'Required for this service to be visible on User Portal~~',
|
||||
'Class:Service/Attribute:servicefamily_id+' => '在用户门户中可见所必需',
|
||||
'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+' => '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+' => '定义工单类型(事件或服务需求),当门户用户选择此服务子类时将创建的工单.',
|
||||
'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+' => 'Service Level Agreement (SLA) 适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
|
||||
'Class:SLA+' => '服务级别协议 (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+' => '服务水平目标位于服务水平协议(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+' => '',
|
||||
'Class:SLT/Attribute:priority+' => '此 SLT 适用的工单优先级。仅有此优先级的工单需遵守此 SLT 的要求.',
|
||||
'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+' => '',
|
||||
'Class:SLT/Attribute:metric+' => '定义适用于此 SLT 的衡量指标, TTO (响应时间) 或 TTR (解决时限).',
|
||||
'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+' => '',
|
||||
'Class:lnkCustomerContractToService/Attribute:sla_id+' => '适用于此客户合同的服务级别协议. 该 SLA 也适用于与该服务相关的所有子服务.',
|
||||
'Class:lnkCustomerContractToService/Attribute:sla_name' => 'SLA名称',
|
||||
'Class:lnkCustomerContractToService/Attribute:sla_name+' => '',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id' => 'Provider~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id' => '供应商',
|
||||
'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' => 'Customer id~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id' => '客户id',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => '供应商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' => 'Customer id~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id' => '客户id',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => '供应商id',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
</icon>
|
||||
</Service>
|
||||
<Service alias="Service" id="1">
|
||||
<name>Computers and peripherals</name>
|
||||
<name>Ordinateurs et périphériques</name>
|
||||
<org_id>2</org_id>
|
||||
<servicefamily_id>1</servicefamily_id>
|
||||
<description>Ordering of new hardware (Desktop computer, laptop computer, monitor, mouse, keyboard...) and support in case of hardware failure.</description>
|
||||
<description>Commande de nouveau matériel (ordinateur de bureau, ordinateur portable, écran, souris, clavier...) et support en cas de panne matérielle.</description>
|
||||
<status>production</status>
|
||||
<icon>
|
||||
<mimetype>image/svg+xml</mimetype>
|
||||
|
||||
@@ -35,22 +35,22 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Menu:DeliveryModel+' => 'Модели предоставления услуг (Delivery Models)',
|
||||
'Menu:ServiceFamily' => 'Пакеты услуг',
|
||||
'Menu:ServiceFamily+' => 'Пакеты услуг',
|
||||
'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: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:Procedure' => 'Каталог процедур',
|
||||
'Menu:Procedure+' => 'Каталог процедур',
|
||||
'Contract:baseinfo' => 'General information~~',
|
||||
'Contract:moreinfo' => 'Contractual information~~',
|
||||
'Contract:cost' => 'Cost information~~',
|
||||
'Contract:baseinfo' => 'Общая информация',
|
||||
'Contract:moreinfo' => 'Информация о контракте',
|
||||
'Contract:cost' => 'Информация о стоимости',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -59,8 +59,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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_id+' => 'Требуется для обработки тикетов.
|
||||
Модель предоставления услуг определяет команды, на которые можно назначать тикеты.',
|
||||
'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' => 'Services~~',
|
||||
'Class:ProviderContract/Attribute:services_list+' => 'All the services purchased with this contract~~',
|
||||
'Class:ProviderContract/Attribute:services_list' => 'Услуги',
|
||||
'Class:ProviderContract/Attribute:services_list+' => 'Все услуги, приобретённые по этому контракту',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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+' => 'Required for this service to be visible on User Portal~~',
|
||||
'Class:Service/Attribute:servicefamily_id+' => 'Требуется, чтобы услуга была видна в портале пользователя',
|
||||
'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+' => 'By default only Service in production are visible by Portal users~~',
|
||||
'Class:Service/Attribute:status+' => 'По умолчанию пользователям портала видны только услуги в статусе "Эксплуатация"',
|
||||
'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+' => '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+' => 'Определяет тип тикета (Инцидент или Запрос на обслуживание), который будет создан, когда пользователь портала выберет эту подкатегорию услуги.',
|
||||
'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' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
|
||||
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Не удалось сохранить связь с контрактом заказчика %1$s и услугой %2$s: SLA уже существует',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -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' => 'SLAs~~',
|
||||
'Class:SLT/Attribute:slas_list+' => 'All the service level agreements using this SLT~~',
|
||||
'Class:SLT/Attribute:slas_list' => 'SLA',
|
||||
'Class:SLT/Attribute:slas_list+' => 'Все соглашения об уровне обслуживания, использующие этот 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+' => 'Don\'t forget to add teams to this delivery model~~',
|
||||
'Class:DeliveryModel/Attribute:name+' => 'Не забудьте добавить команды в эту модель предоставления услуг',
|
||||
'Class:DeliveryModel/Attribute:org_id' => 'Организация',
|
||||
'Class:DeliveryModel/Attribute:org_id+' => 'Usually the organization that provides the services~~',
|
||||
'Class:DeliveryModel/Attribute:org_id+' => 'Обычно это организация, предоставляющая услуги',
|
||||
'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' => 'Customer id~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id' => 'Заказчик',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '',
|
||||
'Class:lnkContactToContract/Attribute: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' => 'Customer id~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id' => 'Заказчик',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
|
||||
'Class:lnkContractToDocument/Attribute: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' => 'Provider id~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkCustomerContractToService/Attribute: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' => 'Provider id~~',
|
||||
'Class:lnkProviderContractToService/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkProviderContractToService/Attribute:provider_id' => 'Поставщик',
|
||||
'Class:lnkProviderContractToService/Attribute:provider_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -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+' => 'Agreement between a client and a provider for the delivery of services with an optional level of commitment (SLA, Coverage Window).~~',
|
||||
'Class:CustomerContract+' => '客户与供应商之间关于服务交付的协议,可选择包含承诺服务级别 (SLA, 窗口时间).',
|
||||
'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+' => 'Agreement between an external provider and an internal organization.~~',
|
||||
'Class:ProviderContract+' => '外部供应商与内部组织之间的协议.',
|
||||
'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+' => '',
|
||||
'Class:ProviderContract/Attribute:coverage+' => '合同覆盖的服务时间, 例如. 24x7, 9x5, 等.',
|
||||
'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+' => 'All the services purchased with this contract~~',
|
||||
'Class:ProviderContract/Attribute:services_list+' => '此供应商合同包含的所有服务',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -190,7 +190,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:lnkContactToContract' => '链接 联系人/合同',
|
||||
'Class:lnkContactToContract+' => 'Manages key contacts on each customer or provider contract.~~',
|
||||
'Class:lnkContactToContract+' => '管理每个客户或供应商合同的关键联系人.',
|
||||
'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+' => 'Link used when a Document is applicable to a Contract.~~',
|
||||
'Class:lnkContractToDocument+' => '此链接用于当某个文档适用于某个合同.',
|
||||
'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+' => 'Required for this service to be visible on User Portal~~',
|
||||
'Class:Service/Attribute:servicefamily_id+' => '在用户门户中可见此服务所需的必要条件',
|
||||
'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+' => '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+' => '定义工单类型(事件或服务需求),当门户用户选择此服务子类时将创建的工单.',
|
||||
'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+' => 'Service Level Agreement (SLA) 适用于客户订阅的服务,并通过 SLT 进行衡量和考核.',
|
||||
'Class:SLA+' => '服务级别协议(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+' => '',
|
||||
'Class:SLT/Attribute:priority+' => '此 SLT 适用的工单优先级。仅有此优先级的工单需遵守此 SLT 的要求.',
|
||||
'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+' => '',
|
||||
'Class:SLT/Attribute:metric+' => '定义适用于此 SLT 的衡量指标, TTO (响应时间) 或 TTR (解决时限).',
|
||||
'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' => 'Provider id~~',
|
||||
'Class:lnkCustomerContractToService/Attribute:provider_id' => '供应商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' => 'Provider id~~',
|
||||
'Class:lnkProviderContractToService/Attribute:provider_id' => '供应商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+' => 'Don\'t forget to add teams to this delivery model~~',
|
||||
'Class:DeliveryModel/Attribute:name+' => '别忘了给这个交付模式添加团队',
|
||||
'Class:DeliveryModel/Attribute:org_id' => '组织',
|
||||
'Class:DeliveryModel/Attribute:org_id+' => 'Usually the organization that provides the services~~',
|
||||
'Class:DeliveryModel/Attribute:org_id+' => '通常是提供服务的那个组织',
|
||||
'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+' => 'This link specifies the role of a Team (more rarely a Person) within a Delivery Model.~~',
|
||||
'Class:lnkDeliveryModelToContact+' => '此链接指定了团队 (较少是个体) 在交付模式中的角色.',
|
||||
'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' => 'Customer id~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContactToContract/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContactToContract/Attribute:customer_id' => '客户id',
|
||||
'Class:lnkContactToContract/Attribute:customer_id+' => '',
|
||||
'Class:lnkContactToContract/Attribute:provider_id' => '供应商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' => 'Customer id~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => 'Provider id~~',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '~~',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id' => '客户id',
|
||||
'Class:lnkContractToDocument/Attribute:customer_id+' => '',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id' => '供应商id',
|
||||
'Class:lnkContractToDocument/Attribute:provider_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -20,12 +20,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'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+' => '~~',
|
||||
'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+' => '',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -33,10 +33,10 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:FiberChannelInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:FiberChannelInterface/Attribute:org_id+' => '~~',
|
||||
'Class:FiberChannelInterface/Attribute:location_id' => 'Location id~~',
|
||||
'Class:FiberChannelInterface/Attribute:location_id+' => '~~',
|
||||
'Class:FiberChannelInterface/Attribute:org_id' => 'Организация',
|
||||
'Class:FiberChannelInterface/Attribute:org_id+' => '',
|
||||
'Class:FiberChannelInterface/Attribute: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' => '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+' => '~~',
|
||||
'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+' => '',
|
||||
]);
|
||||
|
||||
@@ -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+' => '',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user