mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-08 02:24:12 +01:00
Compare commits
125 Commits
feature/re
...
feature/ne
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1eb82650ce | ||
|
|
0f11fd9919 | ||
|
|
2b828f8a22 | ||
|
|
d2f67dcb3c | ||
|
|
d5706fcbef | ||
|
|
807f2a88bc | ||
|
|
9d3311e623 | ||
|
|
9bf2cb7e1d | ||
|
|
0134ead5dd | ||
|
|
54909520e9 | ||
|
|
d124f8ee58 | ||
|
|
3fdbcbc0fb | ||
|
|
a5296e11e1 | ||
|
|
3b62597092 | ||
|
|
b085147f23 | ||
|
|
38fccf85e3 | ||
|
|
c0a2771d4e | ||
|
|
6bd5a7b634 | ||
|
|
82b7ef86c7 | ||
|
|
24110bd880 | ||
|
|
c11fd6e348 | ||
|
|
dc89c4705e | ||
|
|
863dd67302 | ||
|
|
f9272ac2ed | ||
|
|
a1d5acadf8 | ||
|
|
0b17e1f9b3 | ||
|
|
b2041e3b63 | ||
|
|
73e6a0af8a | ||
|
|
2ff183a78a | ||
|
|
3aba8c5aa3 | ||
|
|
d7451fe2ea | ||
|
|
bb1c4f865a | ||
|
|
3fa658edb5 | ||
|
|
814f91bd48 | ||
|
|
3092e9d5d4 | ||
|
|
f3fddfe54e | ||
|
|
bfa7a209d6 | ||
|
|
390b5c0bc3 | ||
|
|
e9a5d1a65e | ||
|
|
07675778d1 | ||
|
|
ceda1d40f8 | ||
|
|
1bb7ddd488 | ||
|
|
4abf948a03 | ||
|
|
f4a0a2f2ff | ||
|
|
eb60dd3bb1 | ||
|
|
e9b8e088fe | ||
|
|
5fe9b1fe41 | ||
|
|
1d100f1727 | ||
|
|
7e91e01ad8 | ||
|
|
890d1ece8d | ||
|
|
2d4c5b8b2a | ||
|
|
ce263ae97b | ||
|
|
fe4b2a0d93 | ||
|
|
140c0a960f | ||
|
|
e909c41445 | ||
|
|
945d2f32c5 | ||
|
|
28b74bb489 | ||
|
|
8581ec0bf6 | ||
|
|
7be77949ac | ||
|
|
c85e0373b1 | ||
|
|
096dfd7dec | ||
|
|
23a4dd5bb6 | ||
|
|
ab5394ef83 | ||
|
|
bb752debaa | ||
|
|
7ffddbb633 | ||
|
|
5346ccd13d | ||
|
|
2fdb09173a | ||
|
|
6e1c2e9f51 | ||
|
|
ccf0ec626b | ||
|
|
cb61ae8d61 | ||
|
|
6aa8ac7ff1 | ||
|
|
0b6cbc1fef | ||
|
|
805e306712 | ||
|
|
8e16d24d85 | ||
|
|
344854a0d0 | ||
|
|
3c80c93b4f | ||
|
|
efc6e6730b | ||
|
|
34fa1dba4b | ||
|
|
542d33a040 | ||
|
|
3769bc1024 | ||
|
|
e5338f28eb | ||
|
|
5cfe7fa6eb | ||
|
|
27c16a782c | ||
|
|
7c21178e1d | ||
|
|
3a6e148c11 | ||
|
|
4d9e18890a | ||
|
|
50ffaa2b55 | ||
|
|
15c8f5903b | ||
|
|
0bc6f5d56a | ||
|
|
d248524cc8 | ||
|
|
410dc152d7 | ||
|
|
423413e3a0 | ||
|
|
8896c576d7 | ||
|
|
975046da17 | ||
|
|
e4a281c3ff | ||
|
|
90729f84b6 | ||
|
|
c075a5c145 | ||
|
|
cd6d130bcb | ||
|
|
7ca2c56dad | ||
|
|
dd0ac58643 | ||
|
|
df943ec8b5 | ||
|
|
076a6d0495 | ||
|
|
02e59c906b | ||
|
|
49f91961e7 | ||
|
|
441519d71d | ||
|
|
5c75d0ce7c | ||
|
|
2efe80265d | ||
|
|
b58a64e143 | ||
|
|
ff11aec7fe | ||
|
|
f79bb9d51c | ||
|
|
3c365fc103 | ||
|
|
7b193dd737 | ||
|
|
1538596db8 | ||
|
|
9d4fc345bc | ||
|
|
08c9309572 | ||
|
|
d072aa05f1 | ||
|
|
85c1f091e2 | ||
|
|
be6a8abdf4 | ||
|
|
60bcf0c85f | ||
|
|
4a8804b8ac | ||
|
|
b014b9f638 | ||
|
|
1c633c6173 | ||
|
|
cdc95aca7b | ||
|
|
b4460999ef | ||
|
|
a713e1b56e |
14
.github/workflows/action.yml
vendored
14
.github/workflows/action.yml
vendored
@@ -26,13 +26,23 @@ jobs:
|
||||
|
||||
fi
|
||||
|
||||
- name: Add internal tag if member
|
||||
- name: Add internal tag if member of the organization
|
||||
if: env.is_member == 'true'
|
||||
run: |
|
||||
curl -X POST -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
https://api.github.com/repos/Combodo/iTop/issues/${{ github.event.pull_request.number }}/labels \
|
||||
-d '{"labels":["internal"]}'
|
||||
|
||||
- name: Set PR author as assignee if member of the organization
|
||||
if: env.is_member == 'true'
|
||||
run: |
|
||||
curl -L \
|
||||
-X POST \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
|
||||
https://api.github.com/repos/Combodo/iTop/issues/${{ github.event.pull_request.number }}/assignees \
|
||||
-d '{"assignees":["${{ github.event.pull_request.user.login }}"]}'
|
||||
env:
|
||||
is_member: ${{ env.is_member }}
|
||||
|
||||
@@ -40,4 +50,4 @@ jobs:
|
||||
uses: actions/add-to-project@v1.0.2
|
||||
with:
|
||||
project-url: ${{ env.project_url }}
|
||||
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}
|
||||
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,6 +16,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/>
|
||||
use Combodo\iTop\Application\Dashlet\Service\DashletService;
|
||||
use Combodo\iTop\Application\UI\Base\Component\Html\Html;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\Dashboard\DashboardColumn;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\Dashboard\DashboardLayout as DashboardLayoutUIBlock;
|
||||
@@ -30,7 +31,7 @@ use Combodo\iTop\Application\WebPage\WebPage;
|
||||
*/
|
||||
abstract class DashboardLayout
|
||||
{
|
||||
abstract public function Render($oPage, $aDashlets, $bEditMode = false);
|
||||
abstract public function Render($oPage, $aDashlets, $bEditMode = false, array $aExtraParams = []);
|
||||
|
||||
/**
|
||||
* @param int $iCellIdx
|
||||
@@ -43,8 +44,8 @@ abstract class DashboardLayout
|
||||
public static function GetInfo()
|
||||
{
|
||||
return [
|
||||
'label' => '',
|
||||
'icon' => '',
|
||||
'label' => '',
|
||||
'icon' => '',
|
||||
'description' => '',
|
||||
];
|
||||
}
|
||||
@@ -74,6 +75,7 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
}
|
||||
$idx++;
|
||||
}
|
||||
|
||||
return $aDashlets;
|
||||
}
|
||||
|
||||
@@ -94,6 +96,7 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
}
|
||||
$idx++;
|
||||
}
|
||||
|
||||
return $aCells;
|
||||
|
||||
}
|
||||
@@ -106,26 +109,39 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
*/
|
||||
public function Render($oPage, $aCells, $bEditMode = false, $aExtraParams = [])
|
||||
{
|
||||
/** @var DashletService $oDashletService */
|
||||
$oDashletService = MetaModel::GetService('DashletService');
|
||||
// Trim the list of cells to remove the invisible/empty ones at the end of the array
|
||||
$aCells = $this->TrimCellsArray($aCells);
|
||||
|
||||
$oDashboardLayout = new DashboardLayoutUIBlock();
|
||||
//$oPage->AddUiBlock($oDashboardLayout);
|
||||
$oDashboardLayout = new DashboardLayoutUIBlock($aExtraParams['dashboard_div_id']);
|
||||
|
||||
$iCellIdx = 0;
|
||||
$iNbRows = ceil(count($aCells) / $this->iNbCols);
|
||||
|
||||
// GRID LAYOUT: Global positioning
|
||||
$iGridCurrentX = 0;
|
||||
$iGridCurrentY = 0;
|
||||
$iGridColWidth = (int)(12 / $this->iNbCols);
|
||||
|
||||
//Js given by each dashlet to reload
|
||||
$sJSReload = "";
|
||||
|
||||
$oDashboardGrid = new \Combodo\iTop\Application\UI\Base\Layout\Dashboard\DashboardGrid();
|
||||
$oDashboardLayout->SetGrid($oDashboardGrid);
|
||||
for ($iRows = 0; $iRows < $iNbRows; $iRows++) {
|
||||
$oDashboardRow = new DashboardRow();
|
||||
$oDashboardLayout->AddDashboardRow($oDashboardRow);
|
||||
|
||||
// GRID LAYOUT: Store the maximum column Y in this row
|
||||
$iGridMaxColY = -1;
|
||||
|
||||
for ($iCols = 0; $iCols < $this->iNbCols; $iCols++) {
|
||||
$oDashboardColumn = new DashboardColumn($bEditMode);
|
||||
$oDashboardColumn->SetCellIndex($iCellIdx);
|
||||
$oDashboardRow->AddDashboardColumn($oDashboardColumn);
|
||||
|
||||
// GRID LAYOUT: Column positioning
|
||||
$iGridCurrentColX = 0;
|
||||
$iGridCurrentColY = 0;
|
||||
$iGridMaxHeightDashlet = -1;
|
||||
|
||||
if (array_key_exists($iCellIdx, $aCells)) {
|
||||
$aDashlets = $aCells[$iCellIdx];
|
||||
@@ -133,7 +149,41 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
/** @var \Dashlet $oDashlet */
|
||||
foreach ($aDashlets as $oDashlet) {
|
||||
if ($oDashlet::IsVisible()) {
|
||||
$oDashboardColumn->AddUIBlock($oDashlet->DoRender($oPage, $bEditMode, true /* bEnclosingDiv */, $aExtraParams));
|
||||
$sDashletId = $oDashlet->GetID();
|
||||
$sDashletClass = $oDashlet->GetDashletType();
|
||||
$aDashletDenormalizedProperties = $oDashlet->GetModelData();
|
||||
$aDashletsInfo = $oDashletService->GetDashletDefinition($sDashletClass);
|
||||
|
||||
// GRID LAYOUT: Set position relative to grid
|
||||
$iPositionX = $iGridCurrentX + $iGridCurrentColX;
|
||||
$iPositionY = $iGridCurrentY + $iGridCurrentColY;
|
||||
$iWidth = array_key_exists('preferred_width', $aDashletsInfo) ? $aDashletsInfo['preferred_width'] : 1;
|
||||
// GRID LAYOUT: Limit dashlet width to fit column width
|
||||
if ($iWidth > $iGridColWidth) {
|
||||
$iWidth = $iGridColWidth;
|
||||
}
|
||||
$iHeight = array_key_exists('preferred_height', $aDashletsInfo) ? $aDashletsInfo['preferred_height'] : 1;
|
||||
// GRID LAYOUT: Store max height of dashlets in this current column
|
||||
if ($iHeight > $iGridMaxHeightDashlet) {
|
||||
$iGridMaxHeightDashlet = $iHeight;
|
||||
}
|
||||
// GRID LAYOUT: Ensure that dashlet fits in the current row of the column
|
||||
if ($iGridCurrentColX + $iWidth > $iGridColWidth) {
|
||||
$iPositionX = $iGridCurrentX;
|
||||
$iPositionY++;
|
||||
}
|
||||
|
||||
$oDashboardGrid->AddDashlet($oDashlet->DoRender($oPage, $bEditMode, true /* bEnclosingDiv */, $aExtraParams), $sDashletId, $sDashletClass, $aDashletDenormalizedProperties, $iPositionX, $iPositionY, $iWidth, $iHeight);
|
||||
|
||||
// GRID LAYOUT: Update column cursor
|
||||
$iGridCurrentColX += $iWidth;
|
||||
if ($iGridCurrentColX >= $iGridColWidth) {
|
||||
$iGridCurrentColX = 0;
|
||||
$iGridCurrentColY += $iGridMaxHeightDashlet;
|
||||
$iGridMaxHeightDashlet = -1;
|
||||
}
|
||||
|
||||
//$oDashboardColumn->AddUIBlock($oDashlet->DoRender($oPage, $bEditMode, true /* bEnclosingDiv */, $aExtraParams));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -143,10 +193,25 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
$oDashboardColumn->AddUIBlock(new Html(' '));
|
||||
}
|
||||
$iCellIdx++;
|
||||
|
||||
// GRID LAYOUT: Store max y in this current row
|
||||
if ($iGridCurrentColY > $iGridMaxColY) {
|
||||
$iGridMaxColY = $iGridCurrentColY;
|
||||
}
|
||||
|
||||
// GRID LAYOUT: Next column
|
||||
$iGridCurrentX += $iGridColWidth;
|
||||
|
||||
}
|
||||
|
||||
// GRID LAYOUT: Next Row
|
||||
$iGridCurrentY += ($iGridMaxColY + 1);
|
||||
$iGridCurrentX = 0;
|
||||
|
||||
$sJSReload .= $oDashboardRow->GetJSRefreshCallback()." ";
|
||||
}
|
||||
|
||||
// TODO 3.3 We can probably do better with the new dashboard
|
||||
$oPage->add_script("function updateDashboard".$aExtraParams['dashboard_div_id']."(){".$sJSReload."}");
|
||||
|
||||
if ($bEditMode) { // Add one row for extensibility
|
||||
@@ -168,8 +233,8 @@ abstract class DashboardLayoutMultiCol extends DashboardLayout
|
||||
*/
|
||||
public function GetDashletCoordinates($iCellIdx)
|
||||
{
|
||||
$iColNumber = (int) $iCellIdx % $this->iNbCols;
|
||||
$iRowNumber = (int) floor($iCellIdx / $this->iNbCols);
|
||||
$iColNumber = (int)$iCellIdx % $this->iNbCols;
|
||||
$iRowNumber = (int)floor($iCellIdx / $this->iNbCols);
|
||||
|
||||
return [$iColNumber, $iRowNumber];
|
||||
}
|
||||
@@ -182,11 +247,12 @@ class DashboardLayoutOneCol extends DashboardLayoutMultiCol
|
||||
parent::__construct();
|
||||
$this->iNbCols = 1;
|
||||
}
|
||||
|
||||
public static function GetInfo()
|
||||
{
|
||||
return [
|
||||
'label' => 'One Column',
|
||||
'icon' => 'images/layout_1col.png',
|
||||
'label' => 'One Column',
|
||||
'icon' => 'images/layout_1col.png',
|
||||
'description' => '',
|
||||
];
|
||||
}
|
||||
@@ -199,11 +265,12 @@ class DashboardLayoutTwoCols extends DashboardLayoutMultiCol
|
||||
parent::__construct();
|
||||
$this->iNbCols = 2;
|
||||
}
|
||||
|
||||
public static function GetInfo()
|
||||
{
|
||||
return [
|
||||
'label' => 'Two Columns',
|
||||
'icon' => 'images/layout_2col.png',
|
||||
'label' => 'Two Columns',
|
||||
'icon' => 'images/layout_2col.png',
|
||||
'description' => '',
|
||||
];
|
||||
}
|
||||
@@ -216,11 +283,12 @@ class DashboardLayoutThreeCols extends DashboardLayoutMultiCol
|
||||
parent::__construct();
|
||||
$this->iNbCols = 3;
|
||||
}
|
||||
|
||||
public static function GetInfo()
|
||||
{
|
||||
return [
|
||||
'label' => 'Two Columns',
|
||||
'icon' => 'images/layout_3col.png',
|
||||
'label' => 'Two Columns',
|
||||
'icon' => 'images/layout_3col.png',
|
||||
'description' => '',
|
||||
];
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@
|
||||
<class id="AbstractResource" _delta="define">
|
||||
<parent>cmdbAbstractObject</parent>
|
||||
<properties>
|
||||
<comment>/* Resource access control abstraction. Can be herited by abstract resource access control classes. Generally controlled using UR_ACTION_MODIFY access right. */</comment>
|
||||
<comment>/* Resource access control abstraction. Can be inherited by abstract resource access control classes. Generally controlled using UR_ACTION_MODIFY access right. */</comment>
|
||||
<abstract>true</abstract>
|
||||
</properties>
|
||||
<presentation/>
|
||||
@@ -851,9 +851,302 @@ Call $this->AddInitialAttributeFlags($sAttCode, $iFlags) for all the initial att
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
<dashlets>
|
||||
<dashlet id="DashletGroupByTable" _delta="define">
|
||||
<label>UI:DashletGroupByTable:Label</label>
|
||||
<icon>images/dashlets/icons8-transaction-list-48.png</icon>
|
||||
<description>UI:DashletGroupByTable:Description</description>
|
||||
<min_width>3</min_width>
|
||||
<min_height>2</min_height>
|
||||
<preferred_width>6</preferred_width>
|
||||
<preferred_height>3</preferred_height>
|
||||
<can_create_by_oql>true</can_create_by_oql>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletGroupByBars" _delta="define">
|
||||
<label>UI:DashletGroupByBars:Label</label>
|
||||
<icon>images/dashlets/icons8-bar-chart-48.png</icon>
|
||||
<description>UI:DashletGroupByBars:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>2</min_height>
|
||||
<preferred_width>6</preferred_width>
|
||||
<preferred_height>3</preferred_height>
|
||||
<can_create_by_oql>true</can_create_by_oql>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletGroupByPie" _delta="define">
|
||||
<label>UI:DashletGroupByPie:Label</label>
|
||||
<icon>images/dashlets/icons8-pie-chart-48.png</icon>
|
||||
<description>UI:DashletGroupByPie:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>2</min_height>
|
||||
<preferred_width>6</preferred_width>
|
||||
<preferred_height>3</preferred_height>
|
||||
<can_create_by_oql>true</can_create_by_oql>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletBadge" _delta="define">
|
||||
<label>UI:DashletBadge:Label</label>
|
||||
<icon>images/dashlets/icons8-badge-48.png</icon>
|
||||
<description>UI:DashletBadge:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>1</min_height>
|
||||
<preferred_width>3</preferred_width>
|
||||
<preferred_height>1</preferred_height>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletHeaderDynamic" _delta="define">
|
||||
<label>UI:DashletHeaderDynamic:Label</label>
|
||||
<icon>images/dashlets/icons8-header-altered-48.png</icon>
|
||||
<description>UI:DashletHeaderDynamic:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>1</min_height>
|
||||
<preferred_width>12</preferred_width>
|
||||
<preferred_height>2</preferred_height>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletHeaderStatic" _delta="define">
|
||||
<label>UI:DashletHeaderStatic:Label</label>
|
||||
<icon>images/dashlets/icons8-header-48.png</icon>
|
||||
<description>UI:DashletHeaderStatic:Description</description>
|
||||
<min_width>4</min_width>
|
||||
<min_height>1</min_height>
|
||||
<preferred_width>12</preferred_width>
|
||||
<preferred_height>1</preferred_height>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletObjectList" _delta="define">
|
||||
<label>UI:DashletObjectList:Label</label>
|
||||
<icon>images/dashlets/icons8-list-48.png</icon>
|
||||
<description>UI:DashletObjectList:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>1</min_height>
|
||||
<preferred_width>12</preferred_width>
|
||||
<preferred_height>3</preferred_height>
|
||||
<can_create_by_oql>true</can_create_by_oql>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletPlainText" _delta="define">
|
||||
<label>UI:DashletPlainText:Label</label>
|
||||
<icon>images/dashlets/icons8-text-box-48.png</icon>
|
||||
<description>UI:DashletPlainText:Description</description>
|
||||
<min_width>2</min_width>
|
||||
<min_height>1</min_height>
|
||||
<preferred_width>2</preferred_width>
|
||||
<preferred_height>1</preferred_height>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
<dashlet id="DashletUnknown" _delta="define">
|
||||
<label>UI:DashletUnknown:Label</label>
|
||||
<icon>images/dashlet-unknown.png</icon>
|
||||
<description>UI:DashletUnknown:Description</description>
|
||||
<can_be_created>false</can_be_created>
|
||||
<configuration/>
|
||||
</dashlet>
|
||||
</dashlets>
|
||||
<property_types _delta="define">
|
||||
<property_type id="Dashboard" xsi:type="Combodo-AbstractPropertyType"/>
|
||||
<property_type id="DashboardGrid" xsi:type="Combodo-PropertyType">
|
||||
<extends>Dashboard</extends>
|
||||
<definition xsi:type="Combodo-ValueType-PropertyTree">
|
||||
<label>Dashboard</label>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-ValueType-String">
|
||||
<label>UI:DashboardEdit:DashboardTitle</label>
|
||||
</node>
|
||||
<node id="refresh" xsi:type="Combodo-ValueType-Choice"> <!-- Possible de le cacher, etc celui-ci nous met dedans -->
|
||||
<label>UI:DashboardEdit:AutoReload</label>
|
||||
<values>
|
||||
<value id="0">
|
||||
<label>No auto-refresh</label>
|
||||
</value>
|
||||
<value id="30">
|
||||
<label>Every 30 seconds</label>
|
||||
</value>
|
||||
<value id="60">
|
||||
<label>Every 1 minute</label>
|
||||
</value>
|
||||
<value id="300">
|
||||
<label>Every 5 minutes</label>
|
||||
</value>
|
||||
<value id="600">
|
||||
<label>Every 10 minutes</label>
|
||||
</value>
|
||||
<value id="1800">
|
||||
<label>Every 30 minutes</label>
|
||||
</value>
|
||||
<value id="3600">
|
||||
<label>Every 1 hour</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
<node id="pos_dashlets" xsi:type="Combodo-ValueType-Collection">
|
||||
<label>Dashlet List</label>
|
||||
<xml-format xsi:type="Combodo-XMLFormat-CollectionWithId">
|
||||
<tag-name>pos_dashlet</tag-name>
|
||||
</xml-format>
|
||||
<prototype>
|
||||
<node id="position_x" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>X</label>
|
||||
</node>
|
||||
<node id="position_y" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>Y</label>
|
||||
</node>
|
||||
<node id="width" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>W</label>
|
||||
</node>
|
||||
<node id="height" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>H</label>
|
||||
</node>
|
||||
<node id="dashlet" xsi:type="Combodo-ValueType-Polymorphic">
|
||||
<label>Dashlet</label>
|
||||
<allowed-types>
|
||||
<allowed-type>Dashlet</allowed-type>
|
||||
</allowed-types>
|
||||
</node>
|
||||
</prototype>
|
||||
</node>
|
||||
</nodes>
|
||||
</definition>
|
||||
</property_type>
|
||||
<property_type id="Dashlet" xsi:type="Combodo-AbstractPropertyType"/>
|
||||
<property_type id="DashletGroupBy" xsi:type="Combodo-PropertyType">
|
||||
<property_type id="DashletGroupByTable" xsi:type="Combodo-PropertyType">
|
||||
<extends>Dashlet</extends>
|
||||
<definition xsi:type="Combodo-ValueType-PropertyTree">
|
||||
<label>UI:DashletGroupBy:Title</label>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-ValueType-Label">
|
||||
<label>UI:DashletGroupBy:Prop-Title</label>
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-ValueType-OQL">
|
||||
<label>UI:DashletGroupBy:Prop-Query</label>
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-ValueType-ClassAttributeGroupBy">
|
||||
<label>UI:DashletGroupBy:Prop-GroupBy</label>
|
||||
<class>{{query.selected_class}}</class>
|
||||
</node>
|
||||
<node id="style" xsi:type="Combodo-ValueType-Choice"> <!-- Possible de le cacher, etc celui-ci nous met dedans -->
|
||||
<label>UI:DashletGroupBy:Prop-Style</label>
|
||||
<values>
|
||||
<value id="bars">
|
||||
<label>UI:DashletGroupByBars:Label</label>
|
||||
</value>
|
||||
<value id="pie">
|
||||
<label>UI:DashletGroupByPie:Label</label>
|
||||
</value>
|
||||
<value id="table">
|
||||
<label>UI:DashletGroupByTable:Label</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
<node id="aggregation_function" xsi:type="Combodo-ValueType-AggregateFunction">
|
||||
<label>UI:DashletGroupBy:Prop-Function</label>
|
||||
<class>{{query.selected_class}}</class> <!-- pour savoir si il y a des attributs additionnables -->
|
||||
</node>
|
||||
<node id="aggregation_attribute" xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<label>UI:DashletGroupBy:Prop-FunctionAttribute</label>
|
||||
<relevance-condition>{{aggregation_function.value != 'count'}}</relevance-condition>
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>numeric</category>
|
||||
</node>
|
||||
<node id="order_by" xsi:type="Combodo-ValueType-ChoiceFromInput">
|
||||
<label>UI:DashletGroupBy:Prop-OrderField</label>
|
||||
<values>
|
||||
<value id="attribute">
|
||||
<label>{{aggregation_attribute.label}}</label>
|
||||
</value>
|
||||
<value id="function">
|
||||
<label>{{aggregation_function.label}}</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
<node id="limit" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>UI:DashletGroupBy:Prop-Limit</label>
|
||||
<relevance-condition>{{order_by.value = 'function'}}</relevance-condition>
|
||||
</node>
|
||||
<node id="order_direction" xsi:type="Combodo-ValueType-Choice">
|
||||
<label>UI:DashletGroupBy:Prop-OrderDirection</label>
|
||||
<values>
|
||||
<value id="asc">
|
||||
<label>UI:DashletGroupBy:Order:asc</label>
|
||||
</value>
|
||||
<value id="desc">
|
||||
<label>UI:DashletGroupBy:Order:desc</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
</nodes>
|
||||
</definition>
|
||||
</property_type>
|
||||
<property_type id="DashletGroupByBars" xsi:type="Combodo-PropertyType">
|
||||
<extends>Dashlet</extends>
|
||||
<definition xsi:type="Combodo-ValueType-PropertyTree">
|
||||
<label>UI:DashletGroupBy:Title</label>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-ValueType-Label">
|
||||
<label>UI:DashletGroupBy:Prop-Title</label>
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-ValueType-OQL">
|
||||
<label>UI:DashletGroupBy:Prop-Query</label>
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-ValueType-ClassAttributeGroupBy">
|
||||
<label>UI:DashletGroupBy:Prop-GroupBy</label>
|
||||
<class>{{query.selected_class}}</class>
|
||||
</node>
|
||||
<node id="style" xsi:type="Combodo-ValueType-Choice"> <!-- Possible de le cacher, etc celui-ci nous met dedans -->
|
||||
<label>UI:DashletGroupBy:Prop-Style</label>
|
||||
<values>
|
||||
<value id="bars">
|
||||
<label>UI:DashletGroupByBars:Label</label>
|
||||
</value>
|
||||
<value id="pie">
|
||||
<label>UI:DashletGroupByPie:Label</label>
|
||||
</value>
|
||||
<value id="table">
|
||||
<label>UI:DashletGroupByTable:Label</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
<node id="aggregation_function" xsi:type="Combodo-ValueType-AggregateFunction">
|
||||
<label>UI:DashletGroupBy:Prop-Function</label>
|
||||
<class>{{query.selected_class}}</class> <!-- pour savoir si il y a des attributs additionnables -->
|
||||
</node>
|
||||
<node id="aggregation_attribute" xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<label>UI:DashletGroupBy:Prop-FunctionAttribute</label>
|
||||
<relevance-condition>{{aggregation_function.value != 'count'}}</relevance-condition>
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>numeric</category>
|
||||
</node>
|
||||
<node id="order_by" xsi:type="Combodo-ValueType-ChoiceFromInput">
|
||||
<label>UI:DashletGroupBy:Prop-OrderField</label>
|
||||
<values>
|
||||
<value id="attribute">
|
||||
<label>{{aggregation_attribute.label}}</label>
|
||||
</value>
|
||||
<value id="function">
|
||||
<label>{{aggregation_function.label}}</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
<node id="limit" xsi:type="Combodo-ValueType-Integer">
|
||||
<label>UI:DashletGroupBy:Prop-Limit</label>
|
||||
<relevance-condition>{{order_by.value = 'function'}}</relevance-condition>
|
||||
</node>
|
||||
<node id="order_direction" xsi:type="Combodo-ValueType-Choice">
|
||||
<label>UI:DashletGroupBy:Prop-OrderDirection</label>
|
||||
<values>
|
||||
<value id="asc">
|
||||
<label>UI:DashletGroupBy:Order:asc</label>
|
||||
</value>
|
||||
<value id="desc">
|
||||
<label>UI:DashletGroupBy:Order:desc</label>
|
||||
</value>
|
||||
</values>
|
||||
</node>
|
||||
</nodes>
|
||||
</definition>
|
||||
</property_type>
|
||||
<property_type id="DashletGroupByPie" xsi:type="Combodo-PropertyType">
|
||||
<extends>Dashlet</extends>
|
||||
<definition xsi:type="Combodo-ValueType-PropertyTree">
|
||||
<label>UI:DashletGroupBy:Title</label>
|
||||
|
||||
@@ -984,7 +984,7 @@ JS
|
||||
$aFunctions = [$sFctVar => $oFctExpr];
|
||||
}
|
||||
|
||||
if (!empty($sAggregationAttr)) {
|
||||
if (!empty(trim($sAggregationAttr))) {
|
||||
$sClass = $this->m_oFilter->GetClass();
|
||||
$sAggregationAttr = MetaModel::GetLabel($sClass, $sAggregationAttr);
|
||||
}
|
||||
@@ -1608,10 +1608,9 @@ JS
|
||||
$iTotalCount = 0;
|
||||
$aURLs = [];
|
||||
|
||||
foreach ($aRes as $iRow => $aRow) {
|
||||
foreach ($aRes as $aRow) {
|
||||
$sValue = $aRow['grouped_by_1'];
|
||||
$sHtmlValue = $oGroupByExp->MakeValueLabel($this->m_oFilter, $sValue, $sValue);
|
||||
$iTotalCount += $aRow['_itop_count_'];
|
||||
$aValues[] = [
|
||||
'label' => html_entity_decode(strip_tags($sHtmlValue), ENT_QUOTES, 'UTF-8'),
|
||||
'label_html' => $sHtmlValue,
|
||||
|
||||
@@ -243,15 +243,12 @@ class LoginTwigRenderer
|
||||
|
||||
public function GetDefaultVars()
|
||||
{
|
||||
$sVersionShort = Dict::Format('UI:iTopVersion:Short', ITOP_APPLICATION, ITOP_VERSION);
|
||||
$sIconUrl = Utils::GetConfig()->Get('app_icon_url');
|
||||
$sDisplayIcon = Branding::GetLoginLogoAbsoluteUrl();
|
||||
|
||||
$aVars = [
|
||||
'sAppRootUrl' => utils::GetAbsoluteUrlAppRoot(),
|
||||
'aPluginFormData' => $this->GetPluginFormData(),
|
||||
'sItopVersion' => ITOP_VERSION,
|
||||
'sVersionShort' => $sVersionShort,
|
||||
'sIconUrl' => $sIconUrl,
|
||||
'sDisplayIcon' => $sDisplayIcon,
|
||||
];
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
use Combodo\iTop\Application\Helper\WebResourcesHelper;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContentFactory;
|
||||
use Combodo\iTop\Application\WebPage\ErrorPage;
|
||||
use Combodo\iTop\Application\WebPage\iTopWebPage;
|
||||
use Combodo\iTop\Application\WebPage\WebPage;
|
||||
@@ -1218,7 +1219,6 @@ class NewObjectMenuNode extends MenuNode
|
||||
}
|
||||
}
|
||||
|
||||
require_once(APPROOT.'application/dashboard.class.inc.php');
|
||||
/**
|
||||
* This class defines a menu item which content is based on XML dashboard.
|
||||
*/
|
||||
@@ -1279,13 +1279,14 @@ class DashboardMenuNode extends MenuNode
|
||||
if ($oDashboard != null) {
|
||||
WebResourcesHelper::EnableC3JSToWebPage($oPage);
|
||||
|
||||
// TODO 3.3 this works for dashboard menu, what about other places ?
|
||||
$oPageLayout = PageContentFactory::MakeForDashboard();
|
||||
$oPage->SetContentLayout($oPageLayout, $oPage);
|
||||
$sDivId = utils::Sanitize($this->sMenuId, '', 'element_identifier');
|
||||
$oPage->add('<div id="'.$sDivId.'" class="ibo-dashboard" data-role="ibo-dashboard">');
|
||||
$aExtraParams['dashboard_div_id'] = $sDivId;
|
||||
$aExtraParams['from_dashboard_page'] = true;
|
||||
$oDashboard->SetReloadURL($this->GetHyperlink($aExtraParams));
|
||||
$oDashboard->Render($oPage, false, $aExtraParams);
|
||||
$oPage->add('</div>');
|
||||
|
||||
$bEdit = utils::ReadParam('edit', false);
|
||||
if ($bEdit) {
|
||||
@@ -1311,37 +1312,6 @@ class DashboardMenuNode extends MenuNode
|
||||
$oPage->p("Error: failed to load dashboard file: '{$this->sDashboardFile}'");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param WebPage $oPage
|
||||
* @throws CoreException
|
||||
* @throws Exception
|
||||
*/
|
||||
public function RenderEditor(WebPage $oPage)
|
||||
{
|
||||
$oDashboard = $this->GetDashboard();
|
||||
if ($oDashboard != null) {
|
||||
$oDashboard->RenderEditor($oPage);
|
||||
} else {
|
||||
$oPage->p("Error: failed to load dashboard file: '{$this->sDashboardFile}'");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $oDashlet
|
||||
* @throws Exception
|
||||
*/
|
||||
public function AddDashlet($oDashlet)
|
||||
{
|
||||
$oDashboard = $this->GetDashboard();
|
||||
if ($oDashboard != null) {
|
||||
$oDashboard->AddDashlet($oDashlet);
|
||||
$oDashboard->Save();
|
||||
} else {
|
||||
throw new Exception("Error: failed to load dashboard file: '{$this->sDashboardFile}'");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1520,7 +1520,7 @@ class utils
|
||||
$sUploadDashboardTransactId = utils::GetNewTransactionId();
|
||||
$aResult = [
|
||||
new SeparatorPopupMenuItem(),
|
||||
new URLPopupMenuItem('UI:ExportDashboard', Dict::S('UI:ExportDashBoard'), utils::GetAbsoluteUrlAppRoot().'pages/ajax.render.php?operation=export_dashboard&id='.$sDashboardId.'&file='.$sDashboardFileURL),
|
||||
new URLPopupMenuItem('UI:ExportDashboard', Dict::S('UI:ExportDashBoard'), utils::GetAbsoluteUrlAppRoot().'pages/ajax.render.php?route=dashboard.export&id='.$sDashboardId.'&file='.$sDashboardFileURL),
|
||||
new JSPopupMenuItem('UI:ImportDashboard', Dict::S('UI:ImportDashBoard'), "UploadDashboard({dashboard_id: '$sDashboardId', file: '$sDashboardFileJS', title: '$sDlgTitle', text: '$sDlgText', close_btn: '$sCloseBtn', transaction: '$sUploadDashboardTransactId' })"),
|
||||
];
|
||||
if ($oDashboard->GetReloadURL()) {
|
||||
@@ -2988,6 +2988,12 @@ TXT
|
||||
return $sAcronym;
|
||||
}
|
||||
|
||||
public static function IsTrue(mixed $value): bool
|
||||
{
|
||||
$bVal = (is_string($value) ? filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) : (bool) $value);
|
||||
return ($bVal === null ? false : $bVal);
|
||||
}
|
||||
|
||||
//----------------------------------------------
|
||||
// Text manipulation
|
||||
//----------------------------------------------
|
||||
|
||||
@@ -42,6 +42,20 @@ define('ITOP_DEFAULT_ENV', 'production');
|
||||
define('MAINTENANCE_MODE_FILE', APPROOT.'data/.maintenance');
|
||||
define('READONLY_MODE_FILE', APPROOT.'data/.readonly');
|
||||
|
||||
// TODO 3.3 To deprecate
|
||||
/**
|
||||
* Exclude the parent class from the list
|
||||
*
|
||||
* @package iTopORM
|
||||
*/
|
||||
define('ENUM_CHILD_CLASSES_EXCLUDETOP', 1);
|
||||
/**
|
||||
* Include the parent class in the list
|
||||
*
|
||||
* @package iTopORM
|
||||
*/
|
||||
define('ENUM_CHILD_CLASSES_ALL', 2);
|
||||
|
||||
$fItopStarted = microtime(true);
|
||||
$iItopInitialMemory = memory_get_usage(true);
|
||||
|
||||
|
||||
250
composer.lock
generated
250
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash" : "3e627286597661542dd598499c2bcc36",
|
||||
"content-hash": "3e627286597661542dd598499c2bcc36",
|
||||
"packages": [
|
||||
{
|
||||
"name": "apereo/phpcas",
|
||||
@@ -1721,16 +1721,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache",
|
||||
"version": "v6.4.24",
|
||||
"version": "v6.4.12",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/cache.git",
|
||||
"reference": "d038cd3054aeaf1c674022a77048b2ef6376a175"
|
||||
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/d038cd3054aeaf1c674022a77048b2ef6376a175",
|
||||
"reference": "d038cd3054aeaf1c674022a77048b2ef6376a175",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
|
||||
"reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1797,7 +1797,7 @@
|
||||
"psr6"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/cache/tree/v6.4.24"
|
||||
"source": "https://github.com/symfony/cache/tree/v6.4.12"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1808,16 +1808,12 @@
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-07-30T09:32:03+00:00"
|
||||
"time": "2024-09-16T16:01:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache-contracts",
|
||||
@@ -3004,16 +3000,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v6.4.25",
|
||||
"version": "v6.4.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "6bc974c0035b643aa497c58d46d9e25185e4b272"
|
||||
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/6bc974c0035b643aa497c58d46d9e25185e4b272",
|
||||
"reference": "6bc974c0035b643aa497c58d46d9e25185e4b272",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88",
|
||||
"reference": "b03d11e015552a315714c127d8d1e0f9e970ec88",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3061,7 +3057,7 @@
|
||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v6.4.25"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v6.4.29"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3081,7 +3077,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-20T06:48:20+00:00"
|
||||
"time": "2025-11-08T16:40:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
@@ -4533,16 +4529,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
"version": "v3.6.0",
|
||||
"version": "v3.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/service-contracts.git",
|
||||
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
|
||||
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
||||
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
|
||||
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4596,7 +4592,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
|
||||
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4607,12 +4603,16 @@
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-04-25T09:37:31+00:00"
|
||||
"time": "2025-07-15T11:30:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
@@ -4984,107 +4984,107 @@
|
||||
"time": "2025-07-10T08:14:14+00:00"
|
||||
},
|
||||
{
|
||||
"name" : "symfony/validator",
|
||||
"version" : "v6.4.29",
|
||||
"source" : {
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/symfony/validator.git",
|
||||
"reference" : "99df8a769e64e399f510166141ea74f450e8dd1d"
|
||||
},
|
||||
"dist" : {
|
||||
"type" : "zip",
|
||||
"url" : "https://api.github.com/repos/symfony/validator/zipball/99df8a769e64e399f510166141ea74f450e8dd1d",
|
||||
"reference" : "99df8a769e64e399f510166141ea74f450e8dd1d",
|
||||
"shasum" : ""
|
||||
},
|
||||
"require" : {
|
||||
"php" : ">=8.1",
|
||||
"symfony/deprecation-contracts" : "^2.5|^3",
|
||||
"symfony/polyfill-ctype" : "~1.8",
|
||||
"symfony/polyfill-mbstring" : "~1.0",
|
||||
"symfony/polyfill-php83" : "^1.27",
|
||||
"symfony/translation-contracts" : "^2.5|^3"
|
||||
},
|
||||
"conflict" : {
|
||||
"doctrine/annotations" : "<1.13",
|
||||
"doctrine/lexer" : "<1.1",
|
||||
"symfony/dependency-injection" : "<5.4",
|
||||
"symfony/expression-language" : "<5.4",
|
||||
"symfony/http-kernel" : "<5.4",
|
||||
"symfony/intl" : "<5.4",
|
||||
"symfony/property-info" : "<5.4",
|
||||
"symfony/translation" : "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3",
|
||||
"symfony/yaml" : "<5.4"
|
||||
},
|
||||
"require-dev" : {
|
||||
"doctrine/annotations" : "^1.13|^2",
|
||||
"egulias/email-validator" : "^2.1.10|^3|^4",
|
||||
"symfony/cache" : "^5.4|^6.0|^7.0",
|
||||
"symfony/config" : "^5.4|^6.0|^7.0",
|
||||
"symfony/console" : "^5.4|^6.0|^7.0",
|
||||
"symfony/dependency-injection" : "^5.4|^6.0|^7.0",
|
||||
"symfony/expression-language" : "^5.4|^6.0|^7.0",
|
||||
"symfony/finder" : "^5.4|^6.0|^7.0",
|
||||
"symfony/http-client" : "^5.4|^6.0|^7.0",
|
||||
"symfony/http-foundation" : "^5.4|^6.0|^7.0",
|
||||
"symfony/http-kernel" : "^5.4|^6.0|^7.0",
|
||||
"symfony/intl" : "^5.4|^6.0|^7.0",
|
||||
"symfony/mime" : "^5.4|^6.0|^7.0",
|
||||
"symfony/property-access" : "^5.4|^6.0|^7.0",
|
||||
"symfony/property-info" : "^5.4|^6.0|^7.0",
|
||||
"symfony/translation" : "^5.4.35|~6.3.12|^6.4.3|^7.0.3",
|
||||
"symfony/yaml" : "^5.4|^6.0|^7.0"
|
||||
},
|
||||
"type" : "library",
|
||||
"autoload" : {
|
||||
"psr-4" : {
|
||||
"Symfony\\Component\\Validator\\" : ""
|
||||
"name": "symfony/validator",
|
||||
"version": "v6.4.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/validator.git",
|
||||
"reference": "99df8a769e64e399f510166141ea74f450e8dd1d"
|
||||
},
|
||||
"exclude-from-classmap" : [
|
||||
"/Tests/",
|
||||
"/Resources/bin/"
|
||||
]
|
||||
},
|
||||
"notification-url" : "https://packagist.org/downloads/",
|
||||
"license" : [
|
||||
"MIT"
|
||||
],
|
||||
"authors" : [
|
||||
{
|
||||
"name" : "Fabien Potencier",
|
||||
"email" : "fabien@symfony.com"
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/validator/zipball/99df8a769e64e399f510166141ea74f450e8dd1d",
|
||||
"reference": "99df8a769e64e399f510166141ea74f450e8dd1d",
|
||||
"shasum": ""
|
||||
},
|
||||
{
|
||||
"name" : "Symfony Community",
|
||||
"homepage" : "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description" : "Provides tools to validate values",
|
||||
"homepage" : "https://symfony.com",
|
||||
"support" : {
|
||||
"source" : "https://github.com/symfony/validator/tree/v6.4.29"
|
||||
},
|
||||
"funding" : [
|
||||
{
|
||||
"url" : "https://symfony.com/sponsor",
|
||||
"type" : "custom"
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"symfony/deprecation-contracts": "^2.5|^3",
|
||||
"symfony/polyfill-ctype": "~1.8",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"symfony/polyfill-php83": "^1.27",
|
||||
"symfony/translation-contracts": "^2.5|^3"
|
||||
},
|
||||
{
|
||||
"url" : "https://github.com/fabpot",
|
||||
"type" : "github"
|
||||
"conflict": {
|
||||
"doctrine/annotations": "<1.13",
|
||||
"doctrine/lexer": "<1.1",
|
||||
"symfony/dependency-injection": "<5.4",
|
||||
"symfony/expression-language": "<5.4",
|
||||
"symfony/http-kernel": "<5.4",
|
||||
"symfony/intl": "<5.4",
|
||||
"symfony/property-info": "<5.4",
|
||||
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3",
|
||||
"symfony/yaml": "<5.4"
|
||||
},
|
||||
{
|
||||
"url" : "https://github.com/nicolas-grekas",
|
||||
"type" : "github"
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.13|^2",
|
||||
"egulias/email-validator": "^2.1.10|^3|^4",
|
||||
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||
"symfony/config": "^5.4|^6.0|^7.0",
|
||||
"symfony/console": "^5.4|^6.0|^7.0",
|
||||
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||
"symfony/intl": "^5.4|^6.0|^7.0",
|
||||
"symfony/mime": "^5.4|^6.0|^7.0",
|
||||
"symfony/property-access": "^5.4|^6.0|^7.0",
|
||||
"symfony/property-info": "^5.4|^6.0|^7.0",
|
||||
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3",
|
||||
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||
},
|
||||
{
|
||||
"url" : "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type" : "tidelift"
|
||||
}
|
||||
],
|
||||
"time" : "2025-11-06T20:26:06+00:00"
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Validator\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/",
|
||||
"/Resources/bin/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Provides tools to validate values",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/validator/tree/v6.4.29"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-11-06T20:26:06+00:00"
|
||||
},
|
||||
{
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v6.4.26",
|
||||
"source": {
|
||||
@@ -5174,16 +5174,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-exporter",
|
||||
"version": "v6.4.25",
|
||||
"version": "v6.4.26",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-exporter.git",
|
||||
"reference": "4ff50a1b7c75d1d596aca50899d0c8c7e3de8358"
|
||||
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/4ff50a1b7c75d1d596aca50899d0c8c7e3de8358",
|
||||
"reference": "4ff50a1b7c75d1d596aca50899d0c8c7e3de8358",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/466fcac5fa2e871f83d31173f80e9c2684743bfc",
|
||||
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5231,7 +5231,7 @@
|
||||
"serialize"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.25"
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.26"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5251,7 +5251,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-18T13:06:32+00:00"
|
||||
"time": "2025-09-11T09:57:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
@@ -5715,5 +5715,5 @@
|
||||
"platform-overrides": {
|
||||
"php": "8.1.0"
|
||||
},
|
||||
"plugin-api-version": "2.6.0"
|
||||
"plugin-api-version": "2.9.0"
|
||||
}
|
||||
|
||||
@@ -259,13 +259,18 @@ class InlineImage extends DBObject
|
||||
* that refer to an InlineImage (detected via the attribute data-img-id="") so that
|
||||
* the URL is consistent with the current URL of the application.
|
||||
*
|
||||
* @param string $sHtml The HTML fragment to process
|
||||
N°8681 * @param string|null $sHtml The HTML fragment to process
|
||||
*
|
||||
* @return string The modified HTML
|
||||
* @throws \Exception
|
||||
*
|
||||
* @since 3.3.0 N°8681 Add type hint for parameters and return value
|
||||
*/
|
||||
public static function FixUrls($sHtml)
|
||||
public static function FixUrls(string|null $sHtml): string
|
||||
{
|
||||
// N°8681 - Ensure to have a string value
|
||||
$sHtml = $sHtml ?? '';
|
||||
|
||||
$aNeedles = [];
|
||||
$aReplacements = [];
|
||||
// Find img tags with an attribute data-img-id
|
||||
|
||||
@@ -22,6 +22,7 @@ use Combodo\iTop\Application\EventRegister\ApplicationEvents;
|
||||
use Combodo\iTop\Core\MetaModel\FriendlyNameType;
|
||||
use Combodo\iTop\Service\Events\EventData;
|
||||
use Combodo\iTop\Service\Events\EventService;
|
||||
use Combodo\iTop\Service\ServiceLocator\ServiceLocator;
|
||||
|
||||
require_once APPROOT.'core/modulehandler.class.inc.php';
|
||||
require_once APPROOT.'core/querymodifier.class.inc.php';
|
||||
@@ -142,6 +143,8 @@ abstract class MetaModel
|
||||
*/
|
||||
protected static array $m_aReentranceProtection = [];
|
||||
|
||||
private static ServiceLocator $oServiceLocator;
|
||||
|
||||
/**
|
||||
* MetaModel constructor.
|
||||
*/
|
||||
@@ -7026,6 +7029,46 @@ abstract class MetaModel
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* (Re)Init the global service locator with a configuration file
|
||||
*
|
||||
* @param string|null $sRelativeConfigFileName default to the runtime config file when null
|
||||
*
|
||||
* @return void
|
||||
* @api
|
||||
* @since 3.3.0
|
||||
*/
|
||||
public static function InitServiceLocator(string $sRelativeConfigFileName = null): void
|
||||
{
|
||||
if (!isset(self::$oServiceLocator)) {
|
||||
self::$oServiceLocator = new ServiceLocator();
|
||||
}
|
||||
|
||||
// Read the runtime service locator configuration
|
||||
self::$oServiceLocator->Init($sRelativeConfigFileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get configured service using a service locator
|
||||
*
|
||||
* Example: $oModelReflection = \MetaModel::GetService('ModelReflexion');
|
||||
*
|
||||
* @param string $sServiceName Name of the service to get
|
||||
*
|
||||
* @return mixed The service object instance corresponding to the service name
|
||||
* @throws \Combodo\iTop\Service\ServiceLocator\ServiceLocatorException
|
||||
* @api
|
||||
* @since 3.3.0
|
||||
*/
|
||||
public static function GetService(string $sServiceName): mixed
|
||||
{
|
||||
if (!isset(self::$oServiceLocator)) {
|
||||
// Read the runtime service locator configuration
|
||||
self::InitServiceLocator();
|
||||
}
|
||||
return self::$oServiceLocator->get($sServiceName);
|
||||
}
|
||||
}
|
||||
|
||||
// Standard attribute lists
|
||||
|
||||
@@ -24,19 +24,6 @@
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Exclude the parent class from the list
|
||||
*
|
||||
* @package iTopORM
|
||||
*/
|
||||
define('ENUM_CHILD_CLASSES_EXCLUDETOP', 1);
|
||||
/**
|
||||
* Include the parent class in the list
|
||||
*
|
||||
* @package iTopORM
|
||||
*/
|
||||
define('ENUM_CHILD_CLASSES_ALL', 2);
|
||||
|
||||
abstract class ModelReflection
|
||||
{
|
||||
abstract public function GetClassIcon($sClass, $bImgTag = true);
|
||||
@@ -89,9 +76,17 @@ abstract class ModelReflection
|
||||
* @param string $defaultValue
|
||||
*
|
||||
* @return \RunTimeIconSelectionField
|
||||
* @deprecated since 3.3.0 replaced by GetAvailableIcons
|
||||
*/
|
||||
abstract public function GetIconSelectionField($sCode, $sLabel = '', $defaultValue = '');
|
||||
|
||||
/**
|
||||
* Find available icons for the current context
|
||||
*
|
||||
* @return array of ['value', 'label', 'icon'] where 'value' is the relative path on disk, 'label' the name to display and 'icon' is the URL to get the image
|
||||
*/
|
||||
abstract public function GetAvailableIcons(): array;
|
||||
|
||||
abstract public function GetRootClass($sClass);
|
||||
abstract public function EnumChildClasses($sClass, $iOption = ENUM_CHILD_CLASSES_EXCLUDETOP);
|
||||
}
|
||||
@@ -109,6 +104,8 @@ abstract class QueryReflection
|
||||
|
||||
class ModelReflectionRuntime extends ModelReflection
|
||||
{
|
||||
private static array $aAllIcons = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
@@ -255,6 +252,52 @@ class ModelReflectionRuntime extends ModelReflection
|
||||
return new RunTimeIconSelectionField($sCode, $sLabel, $defaultValue);
|
||||
}
|
||||
|
||||
public function GetAvailableIcons(): array
|
||||
{
|
||||
$aFolderList = [
|
||||
APPROOT.'env-'.utils::GetCurrentEnvironment() => utils::GetAbsoluteUrlModulesRoot(),
|
||||
APPROOT.'images/icons' => utils::GetAbsoluteUrlAppRoot().'images/icons',
|
||||
];
|
||||
if (count(self::$aAllIcons) == 0) {
|
||||
foreach ($aFolderList as $sFolderPath => $sUrlPrefix) {
|
||||
$aIcons = self::FindIconsOnDisk($sFolderPath);
|
||||
ksort($aIcons);
|
||||
|
||||
foreach ($aIcons as $sFilePath) {
|
||||
self::$aAllIcons[] = ['value' => $sFilePath, 'label' => basename($sFilePath), 'icon' => $sUrlPrefix.$sFilePath];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return self::$aAllIcons;
|
||||
}
|
||||
|
||||
private static function FindIconsOnDisk(string $sBaseDir, string $sDir = '', array &$aFilesSpecs = []): array
|
||||
{
|
||||
$aResult = [];
|
||||
// Populate automatically the list of icon files
|
||||
if ($hDir = @opendir($sBaseDir.'/'.$sDir)) {
|
||||
while (($sFile = readdir($hDir)) !== false) {
|
||||
$aMatches = [];
|
||||
if (($sFile != '.') && ($sFile != '..') && ($sFile != 'lifecycle') && is_dir($sBaseDir.'/'.$sDir.'/'.$sFile)) {
|
||||
$sDirSubPath = ($sDir == '') ? $sFile : $sDir.'/'.$sFile;
|
||||
$aResult = array_merge($aResult, self::FindIconsOnDisk($sBaseDir, $sDirSubPath, $aFilesSpecs));
|
||||
}
|
||||
$sSize = filesize($sBaseDir.'/'.$sDir.'/'.$sFile);
|
||||
if (isset($aFilesSpecs[$sFile]) && $aFilesSpecs[$sFile] == $sSize) {
|
||||
continue;
|
||||
}
|
||||
if (preg_match('/\.(png|jpg|jpeg|gif|svg)$/i', $sFile, $aMatches)) { // png, jp(e)g, gif and svg are considered valid
|
||||
$aResult[$sFile.'_'.$sDir] = $sDir.'/'.$sFile;
|
||||
$aFilesSpecs[$sFile] = $sSize;
|
||||
}
|
||||
}
|
||||
closedir($hDir);
|
||||
}
|
||||
|
||||
return $aResult;
|
||||
}
|
||||
|
||||
public function GetRootClass($sClass)
|
||||
{
|
||||
return MetaModel::GetRootClass($sClass);
|
||||
|
||||
@@ -98,9 +98,9 @@ class ormPassword
|
||||
$bResult = false;
|
||||
$aInfo = password_get_info($this->m_sHashed);
|
||||
if (is_null($aInfo["algo"]) || $aInfo["algo"] === 0) {
|
||||
//unknown, assume it's a legacy password
|
||||
// - Unknown algorithm, assume it's a legacy password
|
||||
$sHashedPwd = $this->ComputeHash($sClearTextPassword);
|
||||
$bResult = ($this->m_sHashed == $sHashedPwd);
|
||||
$bResult = hash_equals($this->m_sHashed, $sHashedPwd);
|
||||
} else {
|
||||
$bResult = password_verify($sClearTextPassword, $this->m_sHashed);
|
||||
}
|
||||
|
||||
@@ -20,4 +20,213 @@ $ibo-dashlet-within-dashboard--dashlet-header-static--margin-top--is-not-first-d
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO 3.3: This css is for dashboard editor demo purpose and needs to be updated
|
||||
|
||||
ibo-dashboard[data-edit-mode="edit"]{
|
||||
ibo-dashlet .ibo-dashlet{
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ibo-dashlet{
|
||||
// do not apply to this dashlets
|
||||
container-type: inline-size;
|
||||
|
||||
&:not([data-dashlet-type="DashletBadge"]):not([data-dashlet-type="DashletHeaderStatic"]){
|
||||
border: 1px solid #ccd4db;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
padding: 16px;
|
||||
&::before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
background-color: $ibo-color-blue-800;
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
// Make the dashlet body take all the available height to allow scrollbars when needed
|
||||
.ibo-dashlet > .ibo-content-block{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
row-gap: 10px;
|
||||
.ibo-panel--header{
|
||||
align-items: flex-start;
|
||||
}
|
||||
> .ibo-panel--body{
|
||||
flex-grow: 1;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletBadge"] {
|
||||
.ibo-dashlet-badge{
|
||||
max-width: unset;
|
||||
}
|
||||
.ibo-dashlet-badge--body{
|
||||
height: 100%;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@container (width < 175px) {
|
||||
.ibo-dashlet-badge--action-list-label, .ibo-dashlet-badge--action-create-label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ibo-dashboard[data-edit-mode="edit"] ibo-dashlet[data-dashlet-type="DashletHeaderStatic"]{
|
||||
border: 1px solid #ccd4db;
|
||||
background-color: $ibo-color-grey-100;
|
||||
border-radius: 3px;
|
||||
> .ibo-content-block{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
> .ibo-dashlet-header-static{
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletHeaderDynamic"] {
|
||||
> .ibo-content-block > .ibo-content-block{
|
||||
.ibo-panel--body{
|
||||
border: none;
|
||||
padding: 0;
|
||||
&:before{
|
||||
display: none;
|
||||
}
|
||||
.ibo-panel-boy{
|
||||
flex-grow: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletObjectList"] {
|
||||
overflow-y: hidden!important;
|
||||
|
||||
> .ibo-dashlet > .ibo-content-block > .ibo-content-block{
|
||||
display: flex;
|
||||
max-height: 100%;
|
||||
flex-direction: column;
|
||||
|
||||
.dataTables_wrapper{
|
||||
height: 100%;
|
||||
|
||||
.dataTables_scroll{
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.dataTables_scrollHead{
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody{
|
||||
max-height: unset!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-panel--body{
|
||||
margin: 0 -16px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
padding-top: 16px;
|
||||
&:before{
|
||||
display: none;
|
||||
}
|
||||
.ibo-datatable{
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletGroupByTable"] {
|
||||
overflow-y: hidden!important;
|
||||
|
||||
> .ibo-dashlet > .ibo-content-block > .ibo-content-block{
|
||||
display: flex;
|
||||
max-height: 100%;
|
||||
flex-direction: column;
|
||||
|
||||
.dataTables_wrapper{
|
||||
height: 100%;
|
||||
|
||||
.dataTables_scroll{
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.dataTables_scrollHead{
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody{
|
||||
max-height: unset!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-panel--body{
|
||||
margin: 0 -16px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
padding-top: 16px;
|
||||
&:before{
|
||||
display: none;
|
||||
}
|
||||
.ibo-datatable{
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletGroupByPie"] {
|
||||
.ibo-panel--body {
|
||||
border: none;
|
||||
padding: 0;
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ibo-dashlet[data-dashlet-type="DashletGroupByBars"] {
|
||||
.ibo-panel--body {
|
||||
border: none;
|
||||
padding: 0;
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -75,3 +75,27 @@ collection-entry-element {
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.ibo-form-compact{
|
||||
|
||||
.ibo-field{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
|
||||
.ibo-field--label{
|
||||
min-width: 100px;
|
||||
max-width: unset;
|
||||
width: unset;
|
||||
}
|
||||
|
||||
.ibo-input-type-checkbox{
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.ibo-input-type-date{
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,10 @@ $ibo-dashlet-blocker--height: 100% !default;
|
||||
.ibo-dashlet {
|
||||
position: relative;
|
||||
width: calc(#{$ibo-dashlet--width} - #{$ibo-dashlet--elements-spacing-x});
|
||||
margin: calc(#{$ibo-dashlet--elements-spacing-y} / 2) calc(#{$ibo-dashlet--elements-spacing-x} / 2);
|
||||
//margin: calc(#{$ibo-dashlet--elements-spacing-y} / 2) calc(#{$ibo-dashlet--elements-spacing-x} / 2);
|
||||
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
|
||||
&.dashlet-selected {
|
||||
position: relative;
|
||||
@@ -38,4 +41,21 @@ $ibo-dashlet-blocker--height: 100% !default;
|
||||
width: $ibo-dashlet-blocker--width;
|
||||
height: $ibo-dashlet-blocker--height;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.ibo-dashlet--actions {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
display: none;
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
|
||||
background-color: $ibo-color-white-100;
|
||||
@extend %ibo-elevation-100;
|
||||
}
|
||||
|
||||
ibo-dashlet[data-edit-mode="edit"] {
|
||||
z-index: 3;
|
||||
}
|
||||
@@ -54,3 +54,32 @@ $ibo-input-select-icon--menu--icon--margin-right: 10px !default;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ts-control > .ibo-input-select-icon--menu--item{
|
||||
|
||||
display: flex;
|
||||
column-gap: 5px;
|
||||
align-items: center;
|
||||
padding: 5px 0;
|
||||
|
||||
> img{
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
&:hover{
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.ts-dropdown > .ts-dropdown-content > .ibo-input-select-icon--menu--item{
|
||||
|
||||
display: flex;
|
||||
column-gap: 5px;
|
||||
align-items: center;
|
||||
|
||||
> img{
|
||||
width: 32px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,3 +15,4 @@
|
||||
@import "wizard-container/wizard-container";
|
||||
@import "object/all";
|
||||
@import "activity-panel/all";
|
||||
@import "dashlet-panel/all";
|
||||
|
||||
@@ -175,3 +175,78 @@ input:checked + .ibo-dashboard--slider:before {
|
||||
input:checked + .ibo-dashboard--slider:after {
|
||||
content: $ibo-dashboard--slider--before--content;
|
||||
}
|
||||
|
||||
// TODO 3.3 Cleanup variables
|
||||
// TODO 3.3 Move to vendor what's from gridstack
|
||||
|
||||
|
||||
.grid-stack {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ibo-dashboard[data-edit-mode="edit"] .grid-stack{
|
||||
background-size: calc(100% / 12) var(--gs-cell-height);
|
||||
background-color: $ibo-color-white-100;
|
||||
background-image: linear-gradient(to right, $ibo-color-white-200 8px, transparent 8px), linear-gradient(to bottom, $ibo-color-white-200 8px, transparent 8px);
|
||||
--gs-item-margin-top: 8px;
|
||||
--gs-item-margin-bottom: 0;
|
||||
--gs-item-margin-right: 0;
|
||||
--gs-item-margin-left: 8px;
|
||||
}
|
||||
|
||||
ibo-dashboard[data-edit-mode="view"] {
|
||||
.ibo-dashboard--form {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-dashboard--form {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
height: 55px;
|
||||
background-color: $ibo-color-blue-200;
|
||||
margin: -16px -36px 24px -36px;
|
||||
padding: 0 36px;
|
||||
}
|
||||
|
||||
.ibo-dashboard--form--inputs {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
|
||||
@extend %common-font-ral-med-250;
|
||||
|
||||
> [name="dashboard_title"] {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.ibo-dashboard[data-edit-mode="edit"] ibo-dashlet:not([data-edit-mode="edit"]):hover .ibo-dashlet--actions {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ibo-dashboard[data-edit-mode="error"] .grid-stack{
|
||||
background-image: url($approot-relative + '/images/alpha-fatal-error.gif');
|
||||
}
|
||||
|
||||
// Our edit mode dashboard already has its own header, so we hide the standard one
|
||||
#ibo-page-header:has(+ ibo-dashboard[data-edit-mode="edit"]) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ibo-dashboard[data-edit-mode="edit"] .ibo-dashboard--grid:has(ibo-dashboard-grid-slot > ibo-dashlet[data-edit-mode="edit"]) .ibo-dashboard--grid--backdrop {
|
||||
|
||||
position: absolute;
|
||||
height: calc(100% + 24px);
|
||||
// 36px is $ibo-page-container--elements-padding-x, handle variable resolution
|
||||
width: calc(100% + 36px + 36px);
|
||||
margin: -24px -#{36px} 0 -#{36px};
|
||||
background-color: $ibo-color-grey-400;
|
||||
z-index: 2;
|
||||
opacity: 60%;
|
||||
}
|
||||
2
css/backoffice/layout/dashlet-panel/_all.scss
Normal file
2
css/backoffice/layout/dashlet-panel/_all.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
@import "dashlet-entry";
|
||||
@import "dashlet-panel";
|
||||
51
css/backoffice/layout/dashlet-panel/_dashlet-entry.scss
Normal file
51
css/backoffice/layout/dashlet-panel/_dashlet-entry.scss
Normal file
@@ -0,0 +1,51 @@
|
||||
// TODO 3.3 Cleanup variables
|
||||
|
||||
.ibo-dashlet-entry {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 10px;
|
||||
|
||||
|
||||
border: 1px solid $ibo-color-grey-300;
|
||||
border-radius: 5px;
|
||||
padding: 12px;
|
||||
background-color: $ibo-color-grey-100;
|
||||
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
|
||||
&:hover {
|
||||
background-color: $ibo-color-grey-200;
|
||||
border-color: $ibo-color-grey-400;
|
||||
}
|
||||
&:active {
|
||||
background-color: $ibo-color-grey-50;
|
||||
border-color: $ibo-color-grey-500;
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-dashlet-entry--icon {
|
||||
flex-shrink: 0;
|
||||
height: 36px;
|
||||
width: 36px;
|
||||
}
|
||||
|
||||
.ibo-dashlet-entry--content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
overflow-x: hidden;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.ibo-dashlet-entry--title {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: $ibo-color-grey-900;
|
||||
}
|
||||
|
||||
.ibo-dashlet-entry--description {
|
||||
font-size: 12px;
|
||||
color: $ibo-color-grey-700;
|
||||
|
||||
}
|
||||
66
css/backoffice/layout/dashlet-panel/_dashlet-panel.scss
Normal file
66
css/backoffice/layout/dashlet-panel/_dashlet-panel.scss
Normal file
@@ -0,0 +1,66 @@
|
||||
// TODO 3.3 Cleanup variables
|
||||
|
||||
.ibo-dashlet-panel {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 326px;
|
||||
background-color: $ibo-color-white-100;
|
||||
}
|
||||
|
||||
.ibo-dashlet-panel--title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
height: 55px;
|
||||
background-color: $ibo-color-white-200;
|
||||
padding: 0 16px;
|
||||
flex-grow: 0;
|
||||
@extend %common-font-ral-med-300;
|
||||
}
|
||||
|
||||
.ibo-dashlet-panel--entries, .ibo-dashlet-panel--form-container {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: auto;
|
||||
|
||||
padding: 16px;
|
||||
gap: 12px;
|
||||
&.ibo-is-hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-center-container:has(ibo-dashboard[data-edit-mode="view"]) .ibo-dashlet-panel{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ibo-dashlet-panel--form-container turbo-frame {
|
||||
height: 100%;
|
||||
}
|
||||
.ibo-dashlet-panel--form-container .ibo-form {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
> .form {
|
||||
overflow: auto;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-dashlet-panel--form-container--buttons {
|
||||
display: flex;
|
||||
flex-direction: row !important;
|
||||
justify-content: end;
|
||||
align-items: center;
|
||||
|
||||
margin: 0 -16px -16px -16px;
|
||||
padding: 0 16px;
|
||||
min-height: 60px;
|
||||
|
||||
background-color: $ibo-color-grey-50;
|
||||
border-top: solid 1px $ibo-color-grey-400;
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3">
|
||||
<module_parameters>
|
||||
<parameters id="authent-local" _delta="define">
|
||||
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$</password_validation.pattern>
|
||||
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{12,}$</password_validation.pattern>
|
||||
<password_validation.message type="hash"/>
|
||||
</parameters>
|
||||
</module_parameters>
|
||||
|
||||
@@ -29,7 +29,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Heslo nemůže uživatel změnit.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Heslo bylo obnoveno',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Termín, kdy bylo heslo změneno',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Heslo musí obsahovat minimálně 8 znaků a musí obsahovat minimálně jedno velké písmeno, jedno malé písmeno, jedno číslo a speciální znak.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Heslo musí obsahovat minimálně 12 znaků a musí obsahovat minimálně jedno velké písmeno, jedno malé písmeno, jedno číslo a speciální znak.',
|
||||
'UserLocal:password:expiration' => 'Níže uvedená pole vyžadují rozšíření',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Nastavení exspirace "Jednorázového hesla" nelze u vlastního účtu uživatele.',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Letzte Passworterneuerung',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Letztes Änderungsdatum',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Das Passwort entspricht nicht dem in den Konfigurationsregeln hinterlegten RegEx-Ausdruck',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Das Passwort muss mindestens 12 Zeichen lang sein und Großbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.',
|
||||
'UserLocal:password:expiration' => 'Die folgenden Felder benötigen eine '.ITOP_APPLICATION_SHORT.' Erweiterung',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Das setzen des Passwortablaufs auf "Einmalpasswort" ist für den eigenen Benutzer nicht erlaubt.',
|
||||
]);
|
||||
|
||||
@@ -55,7 +55,7 @@ Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
|
||||
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User',
|
||||
]);
|
||||
|
||||
@@ -55,7 +55,7 @@ Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
|
||||
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User',
|
||||
]);
|
||||
|
||||
@@ -25,7 +25,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'El usuario no puede cambiar la contraseña.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Renovación de contraseña',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Cuando fue el último cambio de contraseña',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La contraseña debe ser de al menos 8 caracteres e incluír mayúsculas, minúsculas, números y caracteres especiales.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La contraseña debe ser de al menos 12 caracteres e incluir mayúsculas, minúsculas, números y caracteres especiales.',
|
||||
'UserLocal:password:expiration' => 'El siguiente campo requiere una extensión',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Configurar expiración de contraseña para "ontraseña de un solo uso" no está permitido para su propio Usuario',
|
||||
]);
|
||||
|
||||
@@ -27,7 +27,7 @@ Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Mot de passe changé le',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Dernière date à laquelle le mot de passe a été changé',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 8 caractères, avec minuscule, majuscule, nombre et caractère spécial.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 12 caractères, avec minuscule, majuscule, nombre et caractère spécial.',
|
||||
'UserLocal:password:expiration' => 'Les champs ci-dessous nécessitent une extension',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Impossible de mettre "Usage unique" comme validité du mot de passe pour son propre utilisateur.',
|
||||
]);
|
||||
|
||||
@@ -27,7 +27,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'A felhasználó nem változtathat jelszót.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Jelszó megújítás ideje',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'A jelszó legutóbbi módosításának időpontja',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A jelszónak legalább 8 karakterből kell állnia, és tartalmaznia kell nagybetűket, kisbetűket, numerikus és speciális karaktereket.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'A jelszónak legalább 12 karakterből kell állnia, és tartalmaznia kell nagybetűket, kisbetűket, numerikus és speciális karaktereket.',
|
||||
'UserLocal:password:expiration' => 'Az alábbi mezőkhöz egy bővítmény szükséges',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'A jelszó lejárati idejének beállítása "Egyszeri jelszóra" nem engedélyezett a saját Felhasználó számára.',
|
||||
]);
|
||||
|
||||
@@ -27,7 +27,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'La password non può essere cambiata dall\'utente.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Rinnovo della password',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Quando è stata cambiata l\'ultima volta la password',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La password deve essere di almeno 8 caratteri e includere lettere maiuscole, minuscole, numeri e caratteri speciali.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'La password deve essere di almeno 12 caratteri e includere lettere maiuscole, minuscole, numeri e caratteri speciali.',
|
||||
'UserLocal:password:expiration' => 'I campi sottostanti richiedono un\'estensione',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Impostare la scadenza della password su "Password monouso" non è consentito per il proprio utente',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'De gebruiker kan dit wachtwoord niet veranderen.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Wachtwoord laatst aangepast',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Tijdstip waarop het wachtwoord het laatst aangepast werd.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Het wachtwoord bestaat uit minstens 8 tekens en bestaat uit een mix van minstens 1 hoofdletter, kleine letter, cijfer en speciaal teken.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Het wachtwoord bestaat uit minstens 12 tekens en bestaat uit een mix van minstens 1 hoofdletter, kleine letter, cijfer en speciaal teken.',
|
||||
'UserLocal:password:expiration' => 'De velden hieronder vereisen een extensie.',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Je kan geen eenmalig wachtwoord instellen voor je eigen gebruiker.',
|
||||
]);
|
||||
|
||||
@@ -27,7 +27,7 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Hasło nie może być zmienione przez użytkownika.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Odnowienie hasła',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Kiedy ostatnio zmieniano hasło',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Hasło musi mieć co najmniej 8 znaków i zawierać duże, małe litery, cyfry i znaki specjalne.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Hasło musi mieć co najmniej 12 znaków i zawierać duże, małe litery, cyfry i znaki specjalne.',
|
||||
'UserLocal:password:expiration' => 'Poniższe pola wymagają rozszerzenia',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Ustawienie wygaśnięcia hasła "Hasło jednorazowe" nie jest dozwolone dla własnego użytkownika',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Дата изменения пароля',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'Когда пароль был изменен в последний раз',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Пароль должен содержать не менее 8 символов и включать прописные, строчные, числовые и специальные символы.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Пароль должен содержать не менее 12 символов и включать прописные, строчные, числовые и специальные символы.',
|
||||
'UserLocal:password:expiration' => 'Поля требуют наличия доп. расширения',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
]);
|
||||
|
||||
@@ -27,7 +27,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
]);
|
||||
|
||||
@@ -28,7 +28,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.~~',
|
||||
'UserLocal:password:expiration' => 'The fields below require an extension~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
]);
|
||||
|
||||
@@ -51,7 +51,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '用户不允许修改密码.',
|
||||
'Class:UserLocal/Attribute:password_renewed_date' => '密码更新',
|
||||
'Class:UserLocal/Attribute:password_renewed_date+' => '上次修改密码的时间',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少8个字符, 包含大小写, 数字和特殊字符.',
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少12个字符, 包含大小写, 数字和特殊字符.',
|
||||
'UserLocal:password:expiration' => '下面的区域需要插件扩展',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => '不允许用户为自己设置 "一次性密码" 的失效期限',
|
||||
]);
|
||||
|
||||
@@ -71,6 +71,19 @@
|
||||
<module>itop-virtualization-mgmt</module>
|
||||
</modules>
|
||||
<default>true</default>
|
||||
<sub_options>
|
||||
<options type="array">
|
||||
<choice>
|
||||
<extension_code>itop-container-mgmt</extension_code>
|
||||
<title>Containerization</title>
|
||||
<description><![CDATA[Manage Container Images, Applications and Hosts]]></description>
|
||||
<modules type="array">
|
||||
<module>itop-container-mgmt</module>
|
||||
</modules>
|
||||
<default>false</default>
|
||||
</choice>
|
||||
</options>
|
||||
</sub_options>
|
||||
</choice>
|
||||
</options>
|
||||
</step>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<ContainerImageType alias="ContainerImageType" id="1">
|
||||
<name>Docker Hardened Image</name>
|
||||
</ContainerImageType>
|
||||
<ContainerImageType alias="ContainerImageType" id="2">
|
||||
<name>Docker Official Image</name>
|
||||
</ContainerImageType>
|
||||
<ContainerImageType alias="ContainerImageType" id="3">
|
||||
<name>Verified Publisher</name>
|
||||
</ContainerImageType>
|
||||
</Set>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Set>
|
||||
<ContainerType alias="ContainerType" id="1">
|
||||
<name>AWS - Elastic Container Service</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="2">
|
||||
<name>AWS - Elastic Kubernetes Service</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="3">
|
||||
<name>Azure Kubernetes Service</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="4">
|
||||
<name>Docker Swarm</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="5">
|
||||
<name>Google Kubernetes Engine</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="6">
|
||||
<name>Kubernetes</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="7">
|
||||
<name>Nomad</name>
|
||||
</ContainerType>
|
||||
<ContainerType alias="ContainerType" id="8">
|
||||
<name>OpenShift</name>
|
||||
</ContainerType>
|
||||
</Set>
|
||||
1280
datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml
Normal file
1280
datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2013 XXXXX
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Container classes
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Container:baseinfo' => 'General',
|
||||
'Container:moreinfo' => 'Container specifics',
|
||||
'Container:otherinfo' => 'Dates and description',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Image
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerImage/Name' => '%1$s %2$s',
|
||||
'Class:ContainerImage/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:ContainerImage' => 'Container Image',
|
||||
'Class:ContainerImage+' => 'The image of a software ready to be launched as a container',
|
||||
'Class:ContainerImage/Attribute:name' => 'Name',
|
||||
'Class:ContainerImage/Attribute:name+' => '',
|
||||
'Class:ContainerImage/Attribute:version' => 'Version',
|
||||
'Class:ContainerImage/Attribute:version+' => '',
|
||||
'Class:ContainerImage/Attribute:description' => 'Description',
|
||||
'Class:ContainerImage/Attribute:description+' => '',
|
||||
'Class:ContainerImage/Attribute:publisher' => 'Publisher',
|
||||
'Class:ContainerImage/Attribute:publisher+' => 'Publisher of the image. Eg. php, nginx, ...',
|
||||
'Class:ContainerImage/Attribute:image' => 'Image',
|
||||
'Class:ContainerImage/Attribute:image+' => 'Detailed information to retrieve the image on the appropriate hosting platform',
|
||||
'Class:ContainerImage/Attribute:type_id' => 'Type',
|
||||
'Class:ContainerImage/Attribute:type_id+' => 'Type d\image',
|
||||
'Class:ContainerImage/Attribute:software_id' => 'Software',
|
||||
'Class:ContainerImage/Attribute:software_id+' => '',
|
||||
'Class:ContainerImage/Attribute:containerapplications_list' => 'Containerized Applications',
|
||||
'Class:ContainerImage/Attribute:containerapplications_list+' => 'Applications to which this image contributes',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Application
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerApplication/Name' => '%1$s',
|
||||
'Class:ContainerApplication/ComplementaryName' => '%1$s',
|
||||
'Class:ContainerApplication' => 'Containerized Application',
|
||||
'Class:ContainerApplication+' => 'An application deployed on a Container Platform',
|
||||
'Class:ContainerApplication/Attribute:descriptor' => 'Deployment file',
|
||||
'Class:ContainerApplication/Attribute:descriptor+' => 'File describing how to deploy the application on the container platform (e.g., Docker Compose, Helm Chart, etc.)',
|
||||
'Class:ContainerApplication/Attribute:containervirtualhost_id' => 'Container Host',
|
||||
'Class:ContainerApplication/Attribute:containervirtualhost_id+' => 'Container Platform on which the application is running',
|
||||
'Class:ContainerApplication/Attribute:containertype_id' => 'Container type',
|
||||
'Class:ContainerApplication/Attribute:containertype_id+' => 'Technology used for containerization',
|
||||
'Class:ContainerApplication/Attribute:containerimages_list' => 'Container images',
|
||||
'Class:ContainerApplication/Attribute:containerimages_list+' => 'Software images used to build the containerized application',
|
||||
|
||||
]);
|
||||
|
||||
//
|
||||
// Class: lnkContainerApplicationToImage
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:lnkContainerApplicationToImage' => 'Link Container Application / Image',
|
||||
'Class:lnkContainerApplicationToImage+' => '',
|
||||
'Class:lnkContainerApplicationToImage/Name' => '%1$s / %2$s',
|
||||
'Class:lnkContainerApplicationToImage/Name+' => '',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id' => 'Containerized Application',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id+' => 'Application which uses this image',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id' => 'Container Image',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id+' => 'Software image used to build the containerized application',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Virtual Host
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerVirtualHost/Name' => '%1$s',
|
||||
'Class:ContainerVirtualHost/ComplementaryName' => '',
|
||||
'Class:ContainerVirtualHost' => 'Container Platform',
|
||||
'Class:ContainerVirtualHost+' => 'Platform on which applications run as containers',
|
||||
'Class:ContainerVirtualHost/Attribute:containertype_id' => 'Container Type',
|
||||
'Class:ContainerVirtualHost/Attribute:containertype_id+' => 'Technology used to deliver containerization',
|
||||
'Class:ContainerVirtualHost/Attribute:status' => 'Status',
|
||||
'Class:ContainerVirtualHost/Attribute:status+' => 'Status of the container platform',
|
||||
'Class:ContainerVirtualHost/Attribute:containerapplications_list' => 'Applications',
|
||||
'Class:ContainerVirtualHost/Attribute:containerapplications_list+' => 'Applications running on this container environment',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Host
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerHost/Name' => '%1$s',
|
||||
'Class:ContainerHost/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:ContainerHost' => 'Container Host',
|
||||
'Class:ContainerHost+' => 'Host dedicated to containers. It is the basic element of a Container Platform',
|
||||
'Class:ContainerHost/Attribute:containercluster_id' => 'Container Cluster',
|
||||
'Class:ContainerHost/Attribute:containercluster_id+' => '',
|
||||
'Class:ContainerHost/Attribute:role' => 'Role',
|
||||
'Class:ContainerHost/Attribute:role+' => 'Role of the host within its cluster: Master or Worker. Standalone when not part of a cluster.',
|
||||
'Class:ContainerHost/Attribute:system_id' => 'System',
|
||||
'Class:ContainerHost/Attribute:system_id+' => 'The system can be a Server, a Virtual Machine, a Cloud, ...',
|
||||
'Class:ContainerHost/Attribute:role/Value:master' => 'Master',
|
||||
'Class:ContainerHost/Attribute:role/Value:worker' => 'Worker',
|
||||
'Class:ContainerHost/Attribute:role/Value:standalone' => 'Standalone',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Cluster
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerCluster/Name' => '%1$s',
|
||||
'Class:ContainerCluster/ComplementaryName' => '',
|
||||
'Class:ContainerCluster' => 'Container Cluster',
|
||||
'Class:ContainerCluster+' => 'A Container Platform made of a cluster of Container Hosts',
|
||||
'Class:ContainerCluster/Attribute:redundancy' => 'Configuration of the redundancy',
|
||||
'Class:ContainerCluster/Attribute:redundancy/disabled' => 'The cluster is up if all its hosts are up',
|
||||
'Class:ContainerCluster/Attribute:redundancy/count' => 'The cluster is up if at least %1$s hosts are up',
|
||||
'Class:ContainerCluster/Attribute:redundancy/percent' => 'The cluster is up if at least %1$s %% of the hosts are up',
|
||||
'Class:ContainerCluster/Attribute:containerhosts_list' => 'Container Hosts',
|
||||
'Class:ContainerCluster/Attribute:containerhosts_list+' => 'Hosts part of this cluster',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Type
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerType/Name' => '%1$s',
|
||||
'Class:ContainerType/ComplementaryName' => '',
|
||||
'Class:ContainerType' => 'Container Type',
|
||||
'Class:ContainerType+' => 'Technology used to deliver containerization',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Type
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:ContainerImageType/Name' => '%1$s',
|
||||
'Class:ContainerImageType/ComplementaryName' => '',
|
||||
'Class:ContainerImageType' => 'Container Image Type',
|
||||
'Class:ContainerImageType+' => 'Typology of container images',
|
||||
]);
|
||||
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2013 XXXXX
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Container classes
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Container:baseinfo' => 'Informations générales',
|
||||
'Container:moreinfo' => 'Spécificités de la conteneurisation',
|
||||
'Container:otherinfo' => 'Dates et description',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Image
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerImage/Name' => '%1$s %2$s',
|
||||
'Class:ContainerImage/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:ContainerImage' => 'Image pour Conteneur',
|
||||
'Class:ContainerImage+' => 'L\'image d\'un logiciel, constituant d\'une Application Conteneurisée',
|
||||
'Class:ContainerImage/Attribute:name' => 'Nom',
|
||||
'Class:ContainerImage/Attribute:name+' => '',
|
||||
'Class:ContainerImage/Attribute:version' => 'Version',
|
||||
'Class:ContainerImage/Attribute:version+' => '',
|
||||
'Class:ContainerImage/Attribute:description' => 'Description',
|
||||
'Class:ContainerImage/Attribute:description+' => '',
|
||||
'Class:ContainerImage/Attribute:publisher' => 'Editeur',
|
||||
'Class:ContainerImage/Attribute:publisher+' => 'Fournisseur de l\image',
|
||||
'Class:ContainerImage/Attribute:image' => 'Image',
|
||||
'Class:ContainerImage/Attribute:image+' => 'Détail permettant de récupérer l\'image sur la plateforme d\'hébergement appropriée',
|
||||
'Class:ContainerImage/Attribute:type_id' => 'Type',
|
||||
'Class:ContainerImage/Attribute:type_id+' => 'Type d\image',
|
||||
'Class:ContainerImage/Attribute:software_id' => 'Logiciel',
|
||||
'Class:ContainerImage/Attribute:software_id+' => '',
|
||||
'Class:ContainerImage/Attribute:containerapplications_list' => 'Applications conteneurisées',
|
||||
'Class:ContainerImage/Attribute:containerapplications_list+' => 'Les applications qui utilisent cette image',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Application
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerApplication/Name' => '%1$s',
|
||||
'Class:ContainerApplication/ComplementaryName' => '%1$s',
|
||||
'Class:ContainerApplication' => 'Application Conteneurisée',
|
||||
'Class:ContainerApplication+' => 'Une application déployée sur une Plateforme de Conteneurisation',
|
||||
'Class:ContainerApplication/Attribute:descriptor' => 'Fichier de déploiement',
|
||||
'Class:ContainerApplication/Attribute:descriptor+' => 'Fichier décrivant la manière de déployer l\'application sur la plateforme de conteneurisation (par exemple, Docker Compose, Helm Chart, etc.)',
|
||||
'Class:ContainerApplication/Attribute:containervirtualhost_id' => 'Hôte',
|
||||
'Class:ContainerApplication/Attribute:containervirtualhost_id+' => 'Plateforme de conteneurisation sur laquelle cette application est déployée',
|
||||
'Class:ContainerApplication/Attribute:containertype_id' => 'Type de conteneur',
|
||||
'Class:ContainerApplication/Attribute:containertype_id+' => 'Typologie de plateforme de conteneurisation',
|
||||
'Class:ContainerApplication/Attribute:containerimages_list' => 'Images',
|
||||
'Class:ContainerApplication/Attribute:containerimages_list+' => 'Images des conteneurs constitutifs de cette application',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class: lnkContainerApplicationToImage
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:lnkContainerApplicationToImage' => 'Lien Application / Image pour Conteneur',
|
||||
'Class:lnkContainerApplicationToImage+' => '',
|
||||
'Class:lnkContainerApplicationToImage/Name' => '%1$s / %2$s',
|
||||
'Class:lnkContainerApplicationToImage/Name+' => '',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id' => 'Application conteneurisée',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerapplication_id+' => 'Application qui utilise cette image',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id' => 'Image pour conteneur',
|
||||
'Class:lnkContainerApplicationToImage/Attribute:containerimage_id+' => 'Une image qui contribue à l\'application',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Virtual Host
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerVirtualHost/Name' => '%1$s',
|
||||
'Class:ContainerVirtualHost/ComplementaryName' => '',
|
||||
'Class:ContainerVirtualHost' => 'Plateforme de Conteneurisation',
|
||||
'Class:ContainerVirtualHost+' => 'Plateforme sur laquelle des applications s\'exécutent dans des conteneurs',
|
||||
'Class:ContainerVirtualHost/Attribute:containertype_id' => 'Type de plateforme',
|
||||
'Class:ContainerVirtualHost/Attribute:containertype_id+' => 'Technologie de conteneurisation utilisée',
|
||||
'Class:ContainerVirtualHost/Attribute:status' => 'État',
|
||||
'Class:ContainerVirtualHost/Attribute:status+' => 'État de la plateforme de conteneurisation',
|
||||
'Class:ContainerVirtualHost/Attribute:containerapplications_list' => 'Applications',
|
||||
'Class:ContainerVirtualHost/Attribute:containerapplications_list+' => 'Applications qui sont déployées sur cette plateforme',
|
||||
'ContainerVirtualHost:baseinfo' => 'Informations générales',
|
||||
'ContainerVirtualHost:moreinfo' => 'Spécificités de la conteneurisation',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Host
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerHost/Name' => '%1$s',
|
||||
'Class:ContainerHost/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:ContainerHost' => 'Hôte pour Conteneurs',
|
||||
'Class:ContainerHost+' => 'Logiciel hôte dédié à l\'exécution de conteneurs. C\'est l\'élément de base d\'une Plateforme de Conteneurisation',
|
||||
'Class:ContainerHost/Attribute:containercluster_id' => 'Grappe pour conteneurs',
|
||||
'Class:ContainerHost/Attribute:containercluster_id+' => 'Grappe d\'hôtes pour conteneurs',
|
||||
'Class:ContainerHost/Attribute:role' => 'Rôle',
|
||||
'Class:ContainerHost/Attribute:role+' => 'Rôle de cet hôte au sein de la grappe : Maître ou Esclave. Autonome en l\'absence de grappe',
|
||||
'Class:ContainerHost/Attribute:role/Value:master' => 'Maître',
|
||||
'Class:ContainerHost/Attribute:role/Value:worker' => 'Esclave',
|
||||
'Class:ContainerHost/Attribute:role/Value:standalone' => 'Autonome',
|
||||
'Class:ContainerHost/Attribute:system_id' => 'Système',
|
||||
'Class:ContainerHost/Attribute:system_id+' => 'Le système sur lequel cet hôte tourne. Cela peut être un Serveur, une Machine Virtuelle ou un Nuage',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Cluster
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerCluster/Name' => '%1$s',
|
||||
'Class:ContainerCluster/ComplementaryName' => '',
|
||||
'Class:ContainerCluster' => 'Grappe pour Conteneurs',
|
||||
'Class:ContainerCluster+' => 'Plateforme de Conteneurisation constitué d\'une grappe d\'Hôtes pour Conteneurs',
|
||||
'Class:ContainerCluster/Attribute:redundancy' => 'Configuration de la redondance',
|
||||
'Class:ContainerCluster/Attribute:redundancy/disabled' => 'La grappe est opérationnelle si tous les hôtes qui la composent sont opérationnels',
|
||||
'Class:ContainerCluster/Attribute:redundancy/count' => 'Nombre minimal d\'hôtes pour que la grappe soit opérationnelle : %1$s',
|
||||
'Class:ContainerCluster/Attribute:redundancy/percent' => 'Pourcentage minimal d\'hôtes pour que la grappe soit opérationnelle : %1$s %%',
|
||||
'Class:ContainerCluster/Attribute:containerhosts_list' => 'Hôtes pour conteneurs',
|
||||
'Class:ContainerCluster/Attribute:containerhosts_list+' => 'Hôtes composant cette grappe',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Type
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerType/Name' => '%1$s',
|
||||
'Class:ContainerType/ComplementaryName' => '',
|
||||
'Class:ContainerType' => 'Type de conteneurisation',
|
||||
'Class:ContainerType+' => 'Technologie de conteneurisation',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Container Image Type
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:ContainerImageType/Name' => '%1$s',
|
||||
'Class:ContainerImageType/ComplementaryName' => '',
|
||||
'Class:ContainerImageType' => 'Type d\'image',
|
||||
'Class:ContainerImageType+' => 'Typologie d\'images pour container',
|
||||
]);
|
||||
@@ -0,0 +1,346 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 48 48"
|
||||
width="48px"
|
||||
height="48px"
|
||||
version="1.1"
|
||||
id="svg17"
|
||||
sodipodi:docname="icons8-desktop-container-alt(2).svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs17">
|
||||
<linearGradient
|
||||
id="z~0a6SjB_MRO4U5XcH~qfa"
|
||||
x1="24"
|
||||
x2="24"
|
||||
y1="4.4889998"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.50425665,0,0,0.52649101,23.048596,23.922275)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#21ad64"
|
||||
id="stop1-3" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#088242"
|
||||
id="stop2-6" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="24"
|
||||
y1="4.4889998"
|
||||
x2="24"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="color-1">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#f44f5a"
|
||||
id="stop1-7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e52030"
|
||||
id="stop2-5" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview17"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="-14"
|
||||
inkscape:cy="22"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1360"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg17"
|
||||
showguides="true">
|
||||
<sodipodi:guide
|
||||
position="8.6248555,32.468683"
|
||||
orientation="1,0"
|
||||
id="guide17"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="18.623701,39.409067"
|
||||
orientation="0,-1"
|
||||
id="guide18"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="14.939875,32.189707"
|
||||
orientation="0,-1"
|
||||
id="guide19"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="-48.5,14.5625"
|
||||
orientation="1,0"
|
||||
id="guide20"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="10.092844,11.552042"
|
||||
orientation="0,-1"
|
||||
id="guide21"
|
||||
inkscape:locked="false" />
|
||||
</sodipodi:namedview>
|
||||
<radialGradient
|
||||
id="JbJPDQpzlQgFl0pQhERgYa"
|
||||
cx="232.47"
|
||||
cy="544.051"
|
||||
r="86.245"
|
||||
gradientTransform="matrix(0.7455679,0,0,-0.93789676,-130.40909,581.4208)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset=".323"
|
||||
stop-color="#23d9d6"
|
||||
id="stop1" />
|
||||
<stop
|
||||
offset=".427"
|
||||
stop-color="#23d4d7"
|
||||
id="stop2" />
|
||||
<stop
|
||||
offset=".542"
|
||||
stop-color="#21c7dc"
|
||||
id="stop3" />
|
||||
<stop
|
||||
offset=".664"
|
||||
stop-color="#1fb0e2"
|
||||
id="stop4" />
|
||||
<stop
|
||||
offset=".789"
|
||||
stop-color="#1c91ec"
|
||||
id="stop5" />
|
||||
<stop
|
||||
offset=".917"
|
||||
stop-color="#1969f8"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset=".944"
|
||||
stop-color="#1860fb"
|
||||
id="stop7" />
|
||||
</radialGradient>
|
||||
<path
|
||||
fill="url(#JbJPDQpzlQgFl0pQhERgYa)"
|
||||
d="M 7.7397454,6 H 35.575672 c 0.96121,0 1.739746,0.7785361 1.739746,1.7397454 V 35.575672 c 0,0.96121 -0.778536,1.739746 -1.739746,1.739746 H 7.7397454 C 6.7785361,37.315418 6,36.536882 6,35.575672 V 7.7397454 C 6,6.7785361 6.7785361,6 7.7397454,6 Z"
|
||||
id="path7"
|
||||
style="fill:url(#JbJPDQpzlQgFl0pQhERgYa);stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#184f85"
|
||||
d="M 37.315418,35.575672 V 32.096181 H 6 v 3.479491 c 0,0.96121 0.7785361,1.739746 1.7397454,1.739746 H 35.575672 c 0.96121,0 1.739746,-0.778536 1.739746,-1.739746 z"
|
||||
id="path8"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 8.1746818,36.445545 c -0.7193848,0 -1.3048091,-0.585424 -1.3048091,-1.304809 v -0.869873 c 0,-0.719385 0.5854243,-1.304809 1.3048091,-1.304809 h 0.8698727 c 0.7193847,0 1.3048095,0.585424 1.3048095,1.304809 v 0.869873 c 0,0.719385 -0.5854248,1.304809 -1.3048095,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path9"
|
||||
style="display:inline;stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 8.1746818,36.010609 c -0.4792999,0 -0.8698727,-0.390573 -0.8698727,-0.869873 v -0.869873 c 0,-0.4793 0.3905728,-0.869873 0.8698727,-0.869873 h 0.8698727 c 0.4792999,0 0.8698727,0.390573 0.8698727,0.869873 v 0.869873 c 0,0.4793 -0.3905728,0.869873 -0.8698727,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path10"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 9.0445545,35.575672 H 8.1746818 c -0.2400849,0 -0.4349364,-0.194851 -0.4349364,-0.434936 v -0.869873 c 0,-0.240085 0.1948515,-0.434936 0.4349364,-0.434936 h 0.8698727 c 0.2400849,0 0.4349363,0.194851 0.4349363,0.434936 v 0.869873 c 0,0.240085 -0.1948514,0.434936 -0.4349363,0.434936 z"
|
||||
id="path11"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 12.442916,36.457287 c -0.719385,0 -1.304809,-0.585424 -1.304809,-1.304809 v -0.869873 c 0,-0.719385 0.585424,-1.304809 1.304809,-1.304809 h 0.869873 c 0.719384,0 1.304809,0.585424 1.304809,1.304809 v 0.869873 c 0,0.719385 -0.585425,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path9-5"
|
||||
style="display:inline;stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 12.442916,36.022351 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -0.869873 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 0.869873 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 0.869873 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path10-9"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 13.312789,35.587414 h -0.869873 c -0.240085,0 -0.434936,-0.194851 -0.434936,-0.434936 v -0.869873 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 0.869873 c 0.240085,0 0.434936,0.194851 0.434936,0.434936 v 0.869873 c 0,0.240085 -0.194851,0.434936 -0.434936,0.434936 z"
|
||||
id="path11-2"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 16.812935,36.440821 c -0.719385,0 -1.304809,-0.585424 -1.304809,-1.304809 v -0.869873 c 0,-0.719385 0.585424,-1.304809 1.304809,-1.304809 h 0.869873 c 0.719384,0 1.304809,0.585424 1.304809,1.304809 v 0.869873 c 0,0.719385 -0.585425,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path9-8"
|
||||
style="display:inline;stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 16.812935,36.005885 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -0.869873 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 0.869873 c 0.4793,0 0.869872,0.390573 0.869872,0.869873 v 0.869873 c 0,0.4793 -0.390572,0.869873 -0.869872,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path10-97"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 17.682808,35.570948 h -0.869873 c -0.240085,0 -0.434936,-0.194851 -0.434936,-0.434936 v -0.869873 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 0.869873 c 0.240085,0 0.434936,0.194851 0.434936,0.434936 v 0.869873 c 0,0.240085 -0.194851,0.434936 -0.434936,0.434936 z"
|
||||
id="path11-3"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 21.172333,36.463025 c -0.719385,0 -1.304809,-0.585424 -1.304809,-1.304809 v -0.869873 c 0,-0.719385 0.585424,-1.304809 1.304809,-1.304809 h 0.869872 c 0.719385,0 1.30481,0.585424 1.30481,1.304809 v 0.869873 c 0,0.719385 -0.585425,1.304809 -1.30481,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path9-1"
|
||||
style="display:inline;stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 21.172333,36.028089 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -0.869873 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 0.869872 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 0.869873 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path10-2"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 22.042205,35.593152 h -0.869872 c -0.240085,0 -0.434937,-0.194851 -0.434937,-0.434936 v -0.869873 c 0,-0.240085 0.194852,-0.434936 0.434937,-0.434936 h 0.869872 c 0.240085,0 0.434937,0.194851 0.434937,0.434936 v 0.869873 c 0,0.240085 -0.194852,0.434936 -0.434937,0.434936 z"
|
||||
id="path11-9"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 9.9144272,13.828854 c -0.7193847,0 -1.3048091,-0.585424 -1.3048091,-1.304809 V 9.9144272 c 0,-0.7193847 0.5854244,-1.3048091 1.3048091,-1.3048091 h 2.6096178 c 0.719385,0 1.304809,0.5854244 1.304809,1.3048091 v 2.6096178 c 0,0.719385 -0.585424,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path12"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 9.9144272,13.393918 c -0.4792999,0 -0.8698727,-0.390573 -0.8698727,-0.869873 V 9.9144272 c 0,-0.4792999 0.3905728,-0.8698727 0.8698727,-0.8698727 h 2.6096178 c 0.4793,0 0.869873,0.3905728 0.869873,0.8698727 v 2.6096178 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path13"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 12.524045,12.958982 H 9.9144272 c -0.2400849,0 -0.4349364,-0.194852 -0.4349364,-0.434937 V 9.9144272 c 0,-0.2400849 0.1948515,-0.4349364 0.4349364,-0.4349364 h 2.6096178 c 0.240085,0 0.434937,0.1948515 0.434937,0.4349364 v 2.6096178 c 0,0.240085 -0.194852,0.434937 -0.434937,0.434937 z"
|
||||
id="path14"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 9.925223,21.049076 c -0.719385,0 -1.304809,-0.585424 -1.304809,-1.304809 v -2.609618 c 0,-0.719385 0.585424,-1.304809 1.304809,-1.304809 h 2.609618 c 0.719385,0 1.304809,0.585424 1.304809,1.304809 v 2.609618 c 0,0.719385 -0.585424,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path12-7"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 9.925223,20.61414 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -2.609618 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 2.609618 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 2.609618 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path13-0"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 12.534841,20.179204 H 9.925223 c -0.240085,0 -0.434936,-0.194852 -0.434936,-0.434937 v -2.609618 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 2.609618 c 0.240085,0 0.434937,0.194851 0.434937,0.434936 v 2.609618 c 0,0.240085 -0.194852,0.434937 -0.434937,0.434937 z"
|
||||
id="path14-9"
|
||||
style="stroke-width:0.869873" />
|
||||
<g
|
||||
id="g17">
|
||||
<path
|
||||
d="m 9.9239547,28.13042 c -0.719385,0 -1.304809,-0.585424 -1.304809,-1.304809 v -2.609618 c 0,-0.719384 0.585424,-1.304809 1.304809,-1.304809 h 2.6096183 c 0.719385,0 1.304809,0.585425 1.304809,1.304809 v 2.609618 c 0,0.719385 -0.585424,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path12-6"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 9.9239547,27.695484 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -2.609618 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 2.6096183 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 2.609618 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path13-06"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 12.533573,27.260548 H 9.9239547 c -0.240085,0 -0.434936,-0.194852 -0.434936,-0.434937 v -2.609618 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 2.6096183 c 0.240085,0 0.434937,0.194851 0.434937,0.434936 v 2.609618 c 0,0.240085 -0.194852,0.434937 -0.434937,0.434937 z"
|
||||
id="path14-2"
|
||||
style="stroke-width:0.869873" />
|
||||
</g>
|
||||
<g
|
||||
id="g18"
|
||||
transform="translate(1.8119612,-8.374796)">
|
||||
<path
|
||||
d="M 15.304809,22.219236 C 14.585424,22.219236 14,21.633812 14,20.914427 V 18.304809 C 14,17.585424 14.585424,17 15.304809,17 h 2.609618 c 0.719385,0 1.304809,0.585424 1.304809,1.304809 v 2.609618 c 0,0.719385 -0.585424,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path12-1"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 15.304809,21.7843 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -2.609618 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 2.609618 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 2.609618 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path13-8"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 17.914427,21.349364 h -2.609618 c -0.240085,0 -0.434936,-0.194852 -0.434936,-0.434937 v -2.609618 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 2.609618 c 0.240085,0 0.434937,0.194851 0.434937,0.434936 v 2.609618 c 0,0.240085 -0.194852,0.434937 -0.434937,0.434937 z"
|
||||
id="path14-7"
|
||||
style="stroke-width:0.869873" />
|
||||
</g>
|
||||
<path
|
||||
d="m 17.084265,21.042459 c -0.719384,0 -1.304809,-0.585424 -1.304809,-1.304809 v -2.609618 c 0,-0.719385 0.585425,-1.304809 1.304809,-1.304809 h 2.609618 c 0.719385,0 1.304809,0.585424 1.304809,1.304809 v 2.609618 c 0,0.719385 -0.585424,1.304809 -1.304809,1.304809 z"
|
||||
opacity="0.05"
|
||||
id="path12-2"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
d="m 17.084265,20.607523 c -0.4793,0 -0.869873,-0.390573 -0.869873,-0.869873 v -2.609618 c 0,-0.4793 0.390573,-0.869873 0.869873,-0.869873 h 2.609618 c 0.4793,0 0.869873,0.390573 0.869873,0.869873 v 2.609618 c 0,0.4793 -0.390573,0.869873 -0.869873,0.869873 z"
|
||||
opacity="0.07"
|
||||
id="path13-02"
|
||||
style="stroke-width:0.869873" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 19.693883,20.172587 h -2.609618 c -0.240085,0 -0.434936,-0.194852 -0.434936,-0.434937 v -2.609618 c 0,-0.240085 0.194851,-0.434936 0.434936,-0.434936 h 2.609618 c 0.240085,0 0.434937,0.194851 0.434937,0.434936 v 2.609618 c 0,0.240085 -0.194852,0.434937 -0.434937,0.434937 z"
|
||||
id="path14-3"
|
||||
style="stroke-width:0.869873" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="nonzero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
stroke-linecap="butt"
|
||||
stroke-linejoin="miter"
|
||||
stroke-miterlimit="10"
|
||||
stroke-dasharray="none"
|
||||
stroke-dashoffset="0"
|
||||
font-family="none"
|
||||
font-weight="none"
|
||||
font-size="none"
|
||||
text-anchor="none"
|
||||
style="display:inline;mix-blend-mode:normal"
|
||||
id="g9"
|
||||
transform="matrix(0.09476897,0,0,0.09902703,23.025816,23.874812)">
|
||||
<g
|
||||
transform="scale(5.33333)"
|
||||
id="g8">
|
||||
<path
|
||||
d="m 1,12 h 46 v 25 c 0,0.552 -0.448,1 -1,1 H 2 C 1.448,38 1,37.552 1,37 Z"
|
||||
fill="#b41530"
|
||||
id="path2-3" />
|
||||
<path
|
||||
d="m 44,10 c -0.552,0 -1,0.448 -1,1 v 1 H 5 V 11 C 5,10.448 4.552,10 4,10 H 2 c -0.552,0 -1,0.448 -1,1 v 26 c 0,0.552 0.448,1 1,1 h 44 c 0.552,0 1,-0.448 1,-1 V 12 11 c 0,-0.552 -0.448,-1 -1,-1 z m -31,4 h 2 V 36 H 13 Z M 11,36 H 9 V 14 h 2 z m 6,-22 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 V 36 H 37 Z M 5,14 H 7 V 36 H 5 Z M 43,36 H 41 V 14 h 2 z"
|
||||
fill="url(#color-1)"
|
||||
id="path3-5"
|
||||
style="fill:url(#color-1)" />
|
||||
<path
|
||||
d="m 13.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 13.224,38 13,37.776 13,37.5 v -1 C 13,36.224 13.224,36 13.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path4-6" />
|
||||
<path
|
||||
d="m 30.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 30.224,38 30,37.776 30,37.5 v -1 C 30,36.224 30.224,36 30.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path5" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle5-2" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle6-9" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle7-1" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle8" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLa" x1="33.5" x2="33.5" y1="21.279" y2="14.16" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset=".168" stop-color="#c9cdcf"/><stop offset=".423" stop-color="#dcdee0"/><stop offset=".477" stop-color="#e1e2e4"/><stop offset=".859" stop-color="#e4e4e6"/></linearGradient><path fill="url(#IW_Sf1PHIv01Y0HkR8iXLa)" d="M37,38c-0.132,0-0.266-0.025-0.394-0.081l-4.575-1.961C30.189,35.169,29,33.365,29,31.362V25 c0-0.553,0.447-1,1-1s1,0.447,1,1v6.362c0,1.201,0.714,2.284,1.818,2.758l4.575,1.961c0.508,0.218,0.743,0.806,0.525,1.313 C37.757,37.773,37.388,38,37,38z"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLb" x1="-533.666" x2="-536.399" y1="13.398" y2="8.258" gradientTransform="rotate(180 -249 23.945)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#33bef0"/><stop offset="1" stop-color="#0a85d9"/></linearGradient><circle cx="37" cy="37" r="3" fill="url(#IW_Sf1PHIv01Y0HkR8iXLb)"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLc" x1="14.5" x2="14.5" y1="21.279" y2="14.16" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset=".194" stop-color="#c9cdcf"/><stop offset=".503" stop-color="#e1e2e4"/><stop offset=".859" stop-color="#e4e4e6"/></linearGradient><path fill="url(#IW_Sf1PHIv01Y0HkR8iXLc)" d="M11,38c-0.388,0-0.757-0.227-0.919-0.606c-0.218-0.507,0.018-1.095,0.525-1.313l4.575-1.961 C16.286,33.646,17,32.563,17,31.362V25c0-0.553,0.447-1,1-1s1,0.447,1,1v6.362c0,2.003-1.189,3.807-3.031,4.596l-4.575,1.961 C11.266,37.975,11.132,38,11,38z"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLd" x1="24" x2="24" y1="21.279" y2="14.16" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset=".149" stop-color="#c9cdcf"/><stop offset=".318" stop-color="#d2d5d7"/><stop offset=".494" stop-color="#e1e2e4"/><stop offset=".859" stop-color="#e4e4e6"/></linearGradient><path fill="url(#IW_Sf1PHIv01Y0HkR8iXLd)" d="M24,41c-0.553,0-1-0.447-1-1V24c0-0.553,0.447-1,1-1s1,0.447,1,1v16 C25,40.553,24.553,41,24,41z"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLe" x1="16.832" x2="30.197" y1="42.119" y2="16.983" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2aa4f4"/><stop offset="1" stop-color="#007ad9"/></linearGradient><path fill="url(#IW_Sf1PHIv01Y0HkR8iXLe)" d="M34.183,9.034C31.992,5.422,28.034,3,23.5,3c-6.087,0-11.152,4.353-12.266,10.115 C7.696,13.718,5,16.79,5,20.5c0,4.142,3.358,7.5,7.5,7.5c0.007,0,0.014-0.001,0.021-0.001V28H33.5c5.247,0,9.5-4.253,9.5-9.5 C43,13.484,39.11,9.386,34.183,9.034z"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLf" x1="22.666" x2="25.399" y1="9.398" y2="4.258" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#33bef0"/><stop offset="1" stop-color="#0a85d9"/></linearGradient><circle cx="24" cy="41" r="3" fill="url(#IW_Sf1PHIv01Y0HkR8iXLf)"/><linearGradient id="IW_Sf1PHIv01Y0HkR8iXLg" x1="9.666" x2="12.399" y1="13.398" y2="8.258" gradientTransform="matrix(1 0 0 -1 0 47.89)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#33bef0"/><stop offset="1" stop-color="#0a85d9"/></linearGradient><circle cx="11" cy="37" r="3" fill="url(#IW_Sf1PHIv01Y0HkR8iXLg)"/></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,524 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 240 240"
|
||||
width="240px"
|
||||
height="240px"
|
||||
version="1.1"
|
||||
id="svg48"
|
||||
sodipodi:docname="icons8-farm-container(2).svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview50"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.0187236"
|
||||
inkscape:cx="89.456264"
|
||||
inkscape:cy="163.73358"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1360"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg48"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<defs
|
||||
id="defs27">
|
||||
<linearGradient
|
||||
id="linear0"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="37.685921"
|
||||
y1="19.14217"
|
||||
x2="130.956497"
|
||||
y2="148.210251"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(16.470589%,64.313728%,95.686275%);stop-opacity:1;"
|
||||
id="stop2" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(0%,47.843137%,85.09804%);stop-opacity:1;"
|
||||
id="stop4" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="radial0"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="86"
|
||||
cy="132.583328"
|
||||
fx="86"
|
||||
fy="132.583328"
|
||||
r="10.75"
|
||||
gradientTransform="scale(4.999995)">
|
||||
<stop
|
||||
offset="0.582"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0.2;"
|
||||
id="stop7" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0;"
|
||||
id="stop9" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
id="linear1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="39.416672"
|
||||
x2="121.833328"
|
||||
y2="39.416672"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(11.372549%,34.901962%,70.19608%);stop-opacity:1;"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(9.803922%,35.686275%,73.725492%);stop-opacity:1;"
|
||||
id="stop14" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linear2"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="68.083328"
|
||||
x2="121.833328"
|
||||
y2="68.083328"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(11.372549%,34.901962%,70.19608%);stop-opacity:1;"
|
||||
id="stop17" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(9.803922%,35.686275%,73.725492%);stop-opacity:1;"
|
||||
id="stop19" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linear3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="96.75"
|
||||
x2="121.833328"
|
||||
y2="96.75"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(11.372549%,34.901962%,70.19608%);stop-opacity:1;"
|
||||
id="stop22" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(9.803922%,35.686275%,73.725492%);stop-opacity:1;"
|
||||
id="stop24" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linear0-3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="37.685921"
|
||||
y1="19.14217"
|
||||
x2="130.9565"
|
||||
y2="148.21025"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(69.803923%,16.470589%,95.686275%);stop-opacity:1;"
|
||||
id="stop2-6" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(52.549022%,0%,85.09804%);stop-opacity:1;"
|
||||
id="stop4-7" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="radial0-5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="86"
|
||||
cy="132.58333"
|
||||
fx="86"
|
||||
fy="132.58333"
|
||||
r="10.75"
|
||||
gradientTransform="scale(4.999995)">
|
||||
<stop
|
||||
offset="0.582"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0.2;"
|
||||
id="stop7-3" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0;"
|
||||
id="stop9-5" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
id="linear1-6"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="39.416672"
|
||||
x2="121.83333"
|
||||
y2="39.416672"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(46.27451%,8.627451%,56.078434%);stop-opacity:1;"
|
||||
id="stop12-2" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(44.313726%,5.490196%,62.352943%);stop-opacity:1;"
|
||||
id="stop14-9" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linear2-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="68.083328"
|
||||
x2="121.83333"
|
||||
y2="68.083328"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(46.27451%,8.627451%,56.078434%);stop-opacity:1;"
|
||||
id="stop17-2" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(44.313726%,5.490196%,62.352943%);stop-opacity:1;"
|
||||
id="stop19-7" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linear3-0"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="50.166672"
|
||||
y1="96.75"
|
||||
x2="121.83333"
|
||||
y2="96.75"
|
||||
gradientTransform="scale(1.395349)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:rgb(46.27451%,8.627451%,56.078434%);stop-opacity:1;"
|
||||
id="stop22-9" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(44.313726%,5.490196%,62.352943%);stop-opacity:1;"
|
||||
id="stop24-3" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="radial0-2"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="86"
|
||||
cy="132.58333"
|
||||
fx="86"
|
||||
fy="132.58333"
|
||||
r="10.75"
|
||||
gradientTransform="scale(4.999995)">
|
||||
<stop
|
||||
offset="0.582"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0.2;"
|
||||
id="stop7-37" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:rgb(0%,0%,0%);stop-opacity:0;"
|
||||
id="stop9-59" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear0"
|
||||
id="linearGradient251"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="37.685921"
|
||||
y1="19.14217"
|
||||
x2="130.956497"
|
||||
y2="148.210251" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear1"
|
||||
id="linearGradient253"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="39.416672"
|
||||
x2="121.833328"
|
||||
y2="39.416672" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear2"
|
||||
id="linearGradient255"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="68.083328"
|
||||
x2="121.833328"
|
||||
y2="68.083328" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear3"
|
||||
id="linearGradient257"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="96.75"
|
||||
x2="121.833328"
|
||||
y2="96.75" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear0"
|
||||
id="linearGradient269"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="37.685921"
|
||||
y1="19.14217"
|
||||
x2="130.956497"
|
||||
y2="148.210251" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear1"
|
||||
id="linearGradient271"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="39.416672"
|
||||
x2="121.833328"
|
||||
y2="39.416672" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear2"
|
||||
id="linearGradient273"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="68.083328"
|
||||
x2="121.833328"
|
||||
y2="68.083328" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linear3"
|
||||
id="linearGradient275"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.395349)"
|
||||
x1="50.166672"
|
||||
y1="96.75"
|
||||
x2="121.833328"
|
||||
y2="96.75" />
|
||||
<linearGradient
|
||||
x1="24"
|
||||
y1="4.4889998"
|
||||
x2="24"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="color-1">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#f44f5a"
|
||||
id="stop1-7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e52030"
|
||||
id="stop2-5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="z~0a6SjB_MRO4U5XcH~qfa-3"
|
||||
x1="24"
|
||||
x2="24"
|
||||
y1="4.4889998"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-38,-2)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#21ad64"
|
||||
id="stop1-1" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#088242"
|
||||
id="stop2-9" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g
|
||||
id="surface37962620"
|
||||
transform="matrix(0.70082968,0,0,0.70082968,-9.1125191,8.1014159)">
|
||||
<path
|
||||
style="fill:url(#linearGradient269);fill-rule:nonzero;stroke:none"
|
||||
d="M 180,20 H 60 c -5.523438,0 -10,4.476562 -10,10 v 180 c 0,5.52344 4.476562,10 10,10 h 120 c 5.52344,0 10,-4.47656 10,-10 V 30 c 0,-5.523438 -4.47656,-10 -10,-10 z m 0,0"
|
||||
id="path29" />
|
||||
<path
|
||||
style="fill:url(#radial0);fill-rule:nonzero;stroke:none"
|
||||
d="m 135,185 c 0,8.28516 -6.71484,15 -15,15 -8.28516,0 -15,-6.71484 -15,-15 0,-8.28516 6.71484,-15 15,-15 8.28516,0 15,6.71484 15,15 z m 0,0"
|
||||
id="path31" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 130,185 c 0,5.52344 -4.47656,10 -10,10 -5.52344,0 -10,-4.47656 -10,-10 0,-5.52344 4.47656,-10 10,-10 5.52344,0 10,4.47656 10,10 z m 0,0"
|
||||
id="path33" />
|
||||
<path
|
||||
style="fill:url(#linearGradient271);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,70 h -95 C 71.121094,70 70,68.878906 70,67.5 v -25 C 70,41.121094 71.121094,40 72.5,40 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.378906 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path35" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,55 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path37" />
|
||||
<path
|
||||
style="fill:url(#linearGradient273);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,110 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 C 70,81.121094 71.121094,80 72.5,80 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path39" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,95 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path41" />
|
||||
<path
|
||||
style="fill:url(#linearGradient275);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,150 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 c 0,-1.37891 1.121094,-2.5 2.5,-2.5 h 95 c 1.37891,0 2.5,1.12109 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path43" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,135 c 0,2.76172 -2.23828,5 -5,5 -2.76172,0 -5,-2.23828 -5,-5 0,-2.76172 2.23828,-5 5,-5 2.76172,0 5,2.23828 5,5 z m 0,0"
|
||||
id="path45" />
|
||||
</g>
|
||||
<g
|
||||
id="surface39050914"
|
||||
transform="matrix(0.70448581,0,0,0.70448581,24.194376,16.874754)">
|
||||
<path
|
||||
style="fill:url(#linear0-3);fill-rule:nonzero;stroke:none"
|
||||
d="M 180,20 H 60 c -5.523438,0 -10,4.476562 -10,10 v 180 c 0,5.52344 4.476562,10 10,10 h 120 c 5.52344,0 10,-4.47656 10,-10 V 30 c 0,-5.523438 -4.47656,-10 -10,-10 z m 0,0"
|
||||
id="path29-6" />
|
||||
<path
|
||||
style="fill:url(#radial0-5);fill-rule:nonzero;stroke:none"
|
||||
d="m 135,185 c 0,8.28516 -6.71484,15 -15,15 -8.28516,0 -15,-6.71484 -15,-15 0,-8.28516 6.71484,-15 15,-15 8.28516,0 15,6.71484 15,15 z m 0,0"
|
||||
id="path31-0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 130,185 c 0,5.52344 -4.47656,10 -10,10 -5.52344,0 -10,-4.47656 -10,-10 0,-5.52344 4.47656,-10 10,-10 5.52344,0 10,4.47656 10,10 z m 0,0"
|
||||
id="path33-6" />
|
||||
<path
|
||||
style="fill:url(#linear1-6);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,70 h -95 C 71.121094,70 70,68.878906 70,67.5 v -25 C 70,41.121094 71.121094,40 72.5,40 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.378906 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path35-2" />
|
||||
<path
|
||||
style="fill:#f530ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,55 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path37-6" />
|
||||
<path
|
||||
style="fill:url(#linear2-1);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,110 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 C 70,81.121094 71.121094,80 72.5,80 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path39-1" />
|
||||
<path
|
||||
style="fill:#f530ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,95 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path41-8" />
|
||||
<path
|
||||
style="fill:url(#linear3-0);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,150 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 c 0,-1.37891 1.121094,-2.5 2.5,-2.5 h 95 c 1.37891,0 2.5,1.12109 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path43-7" />
|
||||
<path
|
||||
style="fill:#f530ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,135 c 0,2.76172 -2.23828,5 -5,5 -2.76172,0 -5,-2.23828 -5,-5 0,-2.76172 2.23828,-5 5,-5 2.76172,0 5,2.23828 5,5 z m 0,0"
|
||||
id="path45-9" />
|
||||
</g>
|
||||
<g
|
||||
id="surface37962620-2"
|
||||
transform="matrix(0.70082968,0,0,0.70082968,64.946318,26.356156)">
|
||||
<path
|
||||
style="fill:url(#linearGradient251);fill-rule:nonzero;stroke:none"
|
||||
d="M 180,20 H 60 c -5.523438,0 -10,4.476562 -10,10 v 180 c 0,5.52344 4.476562,10 10,10 h 120 c 5.52344,0 10,-4.47656 10,-10 V 30 c 0,-5.523438 -4.47656,-10 -10,-10 z m 0,0"
|
||||
id="path29-9" />
|
||||
<path
|
||||
style="fill:url(#radial0-2);fill-rule:nonzero;stroke:none"
|
||||
d="m 135,185 c 0,8.28516 -6.71484,15 -15,15 -8.28516,0 -15,-6.71484 -15,-15 0,-8.28516 6.71484,-15 15,-15 8.28516,0 15,6.71484 15,15 z m 0,0"
|
||||
id="path31-3" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 130,185 c 0,5.52344 -4.47656,10 -10,10 -5.52344,0 -10,-4.47656 -10,-10 0,-5.52344 4.47656,-10 10,-10 5.52344,0 10,4.47656 10,10 z m 0,0"
|
||||
id="path33-1" />
|
||||
<path
|
||||
style="fill:url(#linearGradient253);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,70 h -95 C 71.121094,70 70,68.878906 70,67.5 v -25 C 70,41.121094 71.121094,40 72.5,40 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.378906 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path35-9" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,55 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path37-4" />
|
||||
<path
|
||||
style="fill:url(#linearGradient255);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,110 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 C 70,81.121094 71.121094,80 72.5,80 h 95 c 1.37891,0 2.5,1.121094 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path39-7" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,95 c 0,2.761719 -2.23828,5 -5,5 -2.76172,0 -5,-2.238281 -5,-5 0,-2.761719 2.23828,-5 5,-5 2.76172,0 5,2.238281 5,5 z m 0,0"
|
||||
id="path41-84" />
|
||||
<path
|
||||
style="fill:url(#linearGradient257);fill-rule:nonzero;stroke:none"
|
||||
d="m 167.5,150 h -95 c -1.378906,0 -2.5,-1.12109 -2.5,-2.5 v -25 c 0,-1.37891 1.121094,-2.5 2.5,-2.5 h 95 c 1.37891,0 2.5,1.12109 2.5,2.5 v 25 c 0,1.37891 -1.12109,2.5 -2.5,2.5 z m 0,0"
|
||||
id="path43-5" />
|
||||
<path
|
||||
style="fill:#4fe6ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 160,135 c 0,2.76172 -2.23828,5 -5,5 -2.76172,0 -5,-2.23828 -5,-5 0,-2.76172 2.23828,-5 5,-5 2.76172,0 5,2.23828 5,5 z m 0,0"
|
||||
id="path45-0" />
|
||||
</g>
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="nonzero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
stroke-linecap="butt"
|
||||
stroke-linejoin="miter"
|
||||
stroke-miterlimit="10"
|
||||
stroke-dasharray="none"
|
||||
stroke-dashoffset="0"
|
||||
font-family="none"
|
||||
font-weight="none"
|
||||
font-size="none"
|
||||
text-anchor="none"
|
||||
style="display:inline;mix-blend-mode:normal"
|
||||
id="g9"
|
||||
transform="matrix(0.52119415,0,0,0.5446121,102.47174,115.50098)">
|
||||
<g
|
||||
transform="scale(5.33333)"
|
||||
id="g8">
|
||||
<path
|
||||
d="m 1,12 h 46 v 25 c 0,0.552 -0.448,1 -1,1 H 2 C 1.448,38 1,37.552 1,37 Z"
|
||||
fill="#b41530"
|
||||
id="path2-3" />
|
||||
<path
|
||||
d="m 44,10 c -0.552,0 -1,0.448 -1,1 v 1 H 5 V 11 C 5,10.448 4.552,10 4,10 H 2 c -0.552,0 -1,0.448 -1,1 v 26 c 0,0.552 0.448,1 1,1 h 44 c 0.552,0 1,-0.448 1,-1 V 12 11 c 0,-0.552 -0.448,-1 -1,-1 z m -31,4 h 2 V 36 H 13 Z M 11,36 H 9 V 14 h 2 z m 6,-22 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 V 36 H 37 Z M 5,14 H 7 V 36 H 5 Z M 43,36 H 41 V 14 h 2 z"
|
||||
fill="url(#color-1)"
|
||||
id="path3-5"
|
||||
style="fill:url(#color-1)" />
|
||||
<path
|
||||
d="m 13.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 13.224,38 13,37.776 13,37.5 v -1 C 13,36.224 13.224,36 13.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path4-6" />
|
||||
<path
|
||||
d="m 30.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 30.224,38 30,37.776 30,37.5 v -1 C 30,36.224 30.224,36 30.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path5" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle5-2" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle6-9" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle7-1" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle8" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,275 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 48 48"
|
||||
width="240px"
|
||||
height="240px"
|
||||
version="1.1"
|
||||
id="svg1633"
|
||||
sodipodi:docname="icons8-server-container(2).svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
inkscape:export-filename="icons8-hypervisor.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1637">
|
||||
<linearGradient
|
||||
x1="24"
|
||||
y1="4.4889998"
|
||||
x2="24"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="color-1">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#f44f5a"
|
||||
id="stop1-7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e52030"
|
||||
id="stop2-5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="z~0a6SjB_MRO4U5XcH~qfa-3"
|
||||
x1="24"
|
||||
x2="24"
|
||||
y1="4.4889998"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-38,-2)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#21ad64"
|
||||
id="stop1-1" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#088242"
|
||||
id="stop2-9" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview1635"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.8416667"
|
||||
inkscape:cx="124.04692"
|
||||
inkscape:cy="133.72434"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1360"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1633"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<linearGradient
|
||||
id="H5zWGZDzzYRltSZyl6Krha"
|
||||
x1="10.517"
|
||||
x2="36.546"
|
||||
y1="5.342"
|
||||
y2="41.361"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79016159,0,0,0.79016159,4.2796009,2.6739179)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#2aa4f4"
|
||||
id="stop1590" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#007ad9"
|
||||
id="stop1592" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#H5zWGZDzzYRltSZyl6Krha)"
|
||||
d="M 32.725418,5.8345643 H 13.76154 c -0.873128,0 -1.580323,0.7071946 -1.580323,1.5803232 V 35.860705 c 0,0.873128 0.707195,1.580323 1.580323,1.580323 h 18.963878 c 0.873129,0 1.580324,-0.707195 1.580324,-1.580323 V 7.4148875 c 0,-0.8731286 -0.707195,-1.5803232 -1.580324,-1.5803232 z"
|
||||
id="path1595"
|
||||
style="fill:url(#H5zWGZDzzYRltSZyl6Krha);stroke-width:0.790162" />
|
||||
<radialGradient
|
||||
id="H5zWGZDzzYRltSZyl6Krhb"
|
||||
cx="24"
|
||||
cy="37"
|
||||
r="3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79016159,0,0,0.79016159,4.2796009,2.6739179)">
|
||||
<stop
|
||||
offset=".582"
|
||||
stop-opacity=".2"
|
||||
id="stop1597" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-opacity="0"
|
||||
id="stop1599" />
|
||||
</radialGradient>
|
||||
<circle
|
||||
cx="23.243479"
|
||||
cy="31.909897"
|
||||
r="2.3704848"
|
||||
fill="url(#H5zWGZDzzYRltSZyl6Krhb)"
|
||||
id="circle1602"
|
||||
style="fill:url(#H5zWGZDzzYRltSZyl6Krhb);stroke-width:0.790162" />
|
||||
<circle
|
||||
cx="23.243479"
|
||||
cy="31.909897"
|
||||
r="1.5803232"
|
||||
fill="#ffffff"
|
||||
id="circle1604"
|
||||
style="stroke-width:0.790162" />
|
||||
<linearGradient
|
||||
id="H5zWGZDzzYRltSZyl6Krhc"
|
||||
x1="14"
|
||||
x2="34"
|
||||
y1="11"
|
||||
y2="11"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79016159,0,0,0.79016159,4.2796009,2.6739179)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#1d59b3"
|
||||
id="stop1606" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#195bbc"
|
||||
id="stop1608" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#H5zWGZDzzYRltSZyl6Krhc)"
|
||||
d="m 30.750014,13.73618 h -15.01307 c -0.218084,0 -0.395081,-0.176996 -0.395081,-0.395081 V 9.3902915 c 0,-0.2180846 0.176997,-0.3950808 0.395081,-0.3950808 h 15.01307 c 0.218085,0 0.395081,0.1769962 0.395081,0.3950808 v 3.9508075 c 0,0.218085 -0.176996,0.395081 -0.395081,0.395081 z"
|
||||
id="path1611"
|
||||
style="fill:url(#H5zWGZDzzYRltSZyl6Krhc);stroke-width:0.790162" />
|
||||
<circle
|
||||
cx="28.774611"
|
||||
cy="11.365695"
|
||||
r="0.79016161"
|
||||
fill="#50e6ff"
|
||||
id="circle1613"
|
||||
style="stroke-width:0.790162" />
|
||||
<linearGradient
|
||||
id="H5zWGZDzzYRltSZyl6Krhd"
|
||||
x1="14"
|
||||
x2="34"
|
||||
y1="19"
|
||||
y2="19"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79016159,0,0,0.79016159,4.2796009,2.6739179)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#1d59b3"
|
||||
id="stop1615" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#195bbc"
|
||||
id="stop1617" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#H5zWGZDzzYRltSZyl6Krhd)"
|
||||
d="m 30.750014,20.057473 h -15.01307 c -0.218084,0 -0.395081,-0.176997 -0.395081,-0.395081 v -3.950808 c 0,-0.218085 0.176997,-0.395081 0.395081,-0.395081 h 15.01307 c 0.218085,0 0.395081,0.176996 0.395081,0.395081 v 3.950808 c 0,0.218084 -0.176996,0.395081 -0.395081,0.395081 z"
|
||||
id="path1620"
|
||||
style="fill:url(#H5zWGZDzzYRltSZyl6Krhd);stroke-width:0.790162" />
|
||||
<circle
|
||||
cx="28.774611"
|
||||
cy="17.686989"
|
||||
r="0.79016161"
|
||||
fill="#50e6ff"
|
||||
id="circle1622"
|
||||
style="stroke-width:0.790162" />
|
||||
<linearGradient
|
||||
id="H5zWGZDzzYRltSZyl6Krhe"
|
||||
x1="14"
|
||||
x2="34"
|
||||
y1="27"
|
||||
y2="27"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79016159,0,0,0.79016159,4.2796009,2.6739179)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#1d59b3"
|
||||
id="stop1624" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#195bbc"
|
||||
id="stop1626" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#H5zWGZDzzYRltSZyl6Krhe)"
|
||||
d="m 30.750014,26.378765 h -15.01307 c -0.218084,0 -0.395081,-0.176996 -0.395081,-0.39508 v -3.950808 c 0,-0.218085 0.176997,-0.395081 0.395081,-0.395081 h 15.01307 c 0.218085,0 0.395081,0.176996 0.395081,0.395081 v 3.950808 c 0,0.218084 -0.176996,0.39508 -0.395081,0.39508 z"
|
||||
id="path1629"
|
||||
style="fill:url(#H5zWGZDzzYRltSZyl6Krhe);stroke-width:0.790162" />
|
||||
<circle
|
||||
cx="28.774611"
|
||||
cy="24.008282"
|
||||
r="0.79016161"
|
||||
fill="#50e6ff"
|
||||
id="circle1631"
|
||||
style="stroke-width:0.790162" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="nonzero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
stroke-linecap="butt"
|
||||
stroke-linejoin="miter"
|
||||
stroke-miterlimit="10"
|
||||
stroke-dasharray="none"
|
||||
stroke-dashoffset="0"
|
||||
font-family="none"
|
||||
font-weight="none"
|
||||
font-size="none"
|
||||
text-anchor="none"
|
||||
style="display:inline;mix-blend-mode:normal"
|
||||
id="g9"
|
||||
transform="matrix(0.10423883,0,0,0.10892242,19.519126,22.252121)">
|
||||
<g
|
||||
transform="scale(5.33333)"
|
||||
id="g8">
|
||||
<path
|
||||
d="m 1,12 h 46 v 25 c 0,0.552 -0.448,1 -1,1 H 2 C 1.448,38 1,37.552 1,37 Z"
|
||||
fill="#b41530"
|
||||
id="path2-3" />
|
||||
<path
|
||||
d="m 44,10 c -0.552,0 -1,0.448 -1,1 v 1 H 5 V 11 C 5,10.448 4.552,10 4,10 H 2 c -0.552,0 -1,0.448 -1,1 v 26 c 0,0.552 0.448,1 1,1 h 44 c 0.552,0 1,-0.448 1,-1 V 12 11 c 0,-0.552 -0.448,-1 -1,-1 z m -31,4 h 2 V 36 H 13 Z M 11,36 H 9 V 14 h 2 z m 6,-22 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 V 36 H 37 Z M 5,14 H 7 V 36 H 5 Z M 43,36 H 41 V 14 h 2 z"
|
||||
fill="url(#color-1)"
|
||||
id="path3-5"
|
||||
style="fill:url(#color-1)" />
|
||||
<path
|
||||
d="m 13.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 13.224,38 13,37.776 13,37.5 v -1 C 13,36.224 13.224,36 13.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path4-6" />
|
||||
<path
|
||||
d="m 30.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 30.224,38 30,37.776 30,37.5 v -1 C 30,36.224 30.224,36 30.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path5" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle5-2" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle6-9" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle7-1" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle8" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
@@ -0,0 +1,336 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 48 48"
|
||||
width="240px"
|
||||
height="240px"
|
||||
version="1.1"
|
||||
id="svg320"
|
||||
sodipodi:docname="icons8-software-container.svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs324">
|
||||
<linearGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmng"
|
||||
x1="12.496"
|
||||
x2="15.03"
|
||||
y1="26.719999"
|
||||
y2="21.954"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#737b80"
|
||||
id="stop449" />
|
||||
<stop
|
||||
offset=".473"
|
||||
stop-color="#686f74"
|
||||
id="stop451" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#575c61"
|
||||
id="stop453" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmnf"
|
||||
x1="32.495998"
|
||||
x2="35.028999"
|
||||
y1="26.719999"
|
||||
y2="21.954"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#737b80"
|
||||
id="stop440" />
|
||||
<stop
|
||||
offset=".473"
|
||||
stop-color="#686f74"
|
||||
id="stop442" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#575c61"
|
||||
id="stop444" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmne"
|
||||
x1="22.496"
|
||||
x2="25.028999"
|
||||
y1="26.719999"
|
||||
y2="21.954"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#737b80"
|
||||
id="stop431" />
|
||||
<stop
|
||||
offset=".473"
|
||||
stop-color="#686f74"
|
||||
id="stop433" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#575c61"
|
||||
id="stop435" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmnd"
|
||||
cx="14"
|
||||
cy="23.889999"
|
||||
r="4"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset=".696"
|
||||
stop-opacity=".2"
|
||||
id="stop424" />
|
||||
<stop
|
||||
offset=".959"
|
||||
stop-opacity="0"
|
||||
id="stop426" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmnc"
|
||||
cx="24"
|
||||
cy="23.889999"
|
||||
r="4"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset=".696"
|
||||
stop-opacity=".2"
|
||||
id="stop417" />
|
||||
<stop
|
||||
offset=".959"
|
||||
stop-opacity="0"
|
||||
id="stop419" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmnb"
|
||||
cx="34"
|
||||
cy="23.889999"
|
||||
r="4"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset=".696"
|
||||
stop-opacity=".2"
|
||||
id="stop410" />
|
||||
<stop
|
||||
offset=".959"
|
||||
stop-opacity="0"
|
||||
id="stop412" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
id="M0KIpv9F9DO9XPHmZgcmna"
|
||||
x1="10.302"
|
||||
x2="32.533001"
|
||||
y1="49.653"
|
||||
y2="7.8410001"
|
||||
gradientTransform="matrix(0.42119248,0,0,-0.42119248,25.421635,46.097652)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#fcfcfc"
|
||||
id="stop403" />
|
||||
<stop
|
||||
offset=".95"
|
||||
stop-color="#c3c9cd"
|
||||
id="stop405" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="24"
|
||||
y1="4.4889998"
|
||||
x2="24"
|
||||
y2="45.143002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="color-1">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#f44f5a"
|
||||
id="stop1-7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e52030"
|
||||
id="stop2-5" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview322"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.4208334"
|
||||
inkscape:cx="-122.81525"
|
||||
inkscape:cy="44.340175"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1360"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg320"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
x1="23.855"
|
||||
x2="23.983"
|
||||
y1="4.908"
|
||||
y2="17.227"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83754239,0,0,0.83754239,1.9089261,1.7931334)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#7dd8f3"
|
||||
id="stop291" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#45b0d0"
|
||||
id="stop293" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="22.009941"
|
||||
cy="17.622683"
|
||||
r="12.563135"
|
||||
fill="url(#SVGID_1_)"
|
||||
id="circle296"
|
||||
style="fill:url(#SVGID_1_);stroke-width:0.837541" />
|
||||
<linearGradient
|
||||
id="SVGID_2_"
|
||||
x1="18.175"
|
||||
x2="29.825"
|
||||
y1="19.021"
|
||||
y2="19.021"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83754239,0,0,0.83754239,1.9089261,1.7931334)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#3079d6"
|
||||
id="stop298" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#297cd2"
|
||||
id="stop300" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="22.009941"
|
||||
cy="17.706436"
|
||||
r="4.8577456"
|
||||
fill="url(#SVGID_2_)"
|
||||
id="circle303"
|
||||
style="fill:url(#SVGID_2_);stroke-width:0.837541" />
|
||||
<circle
|
||||
cx="22.009941"
|
||||
cy="17.706436"
|
||||
r="1.9263473"
|
||||
fill="#ffffff"
|
||||
id="circle305"
|
||||
style="stroke-width:0.837541" />
|
||||
<path
|
||||
d="m 9.4468073,17.622683 c 0,6.951602 5.6115347,12.563137 12.5631357,12.563137 6.951601,0 12.563135,-5.611535 12.563135,-12.563137 0,-0.251262 0,-0.502525 0,-0.753787 H 9.4468073 c 0,0.251262 0,0.502525 0,0.753787 z"
|
||||
opacity="0.05"
|
||||
id="path307"
|
||||
style="stroke-width:0.837541" />
|
||||
<path
|
||||
d="m 9.4468073,17.622683 c 0,6.951602 5.6115347,12.563137 12.5631357,12.563137 6.951601,0 12.563135,-5.611535 12.563135,-12.563137 0,-0.08376 0,-0.167507 0,-0.335016 H 9.4468073 c 0,0.08376 0,0.167509 0,0.335016 z"
|
||||
opacity="0.07"
|
||||
id="path309"
|
||||
style="stroke-width:0.837541" />
|
||||
<linearGradient
|
||||
id="SVGID_3_"
|
||||
x1="16.786"
|
||||
x2="30.174"
|
||||
y1="-440.286"
|
||||
y2="-472.232"
|
||||
gradientTransform="matrix(0.83754239,0,0,-0.83754239,1.9089261,-354.99993)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#eba84b"
|
||||
id="stop311" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#d97218"
|
||||
id="stop313" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#SVGID_3_)"
|
||||
d="M 36.248163,38.644997 H 7.7717222 c -0.5025255,0 -0.8375424,-0.418771 -0.8375424,-0.837543 V 18.543981 c 0,-0.502525 0.3350169,-0.837544 0.8375424,-0.837544 H 36.248163 c 0.502526,0 0.837542,0.335019 0.837542,0.837544 v 19.263473 c 0,0.418772 -0.418771,0.837543 -0.837542,0.837543 z"
|
||||
id="path316"
|
||||
style="fill:url(#SVGID_3_);stroke-width:0.837541" />
|
||||
<path
|
||||
fill="#633412"
|
||||
d="m 18.659773,21.056608 h 6.700339 c 0.502526,0 0.837542,0.335017 0.837542,0.837542 v 0 c 0,0.502525 -0.335016,0.837542 -0.837542,0.837542 h -6.700339 c -0.502525,0 -0.837541,-0.335017 -0.837541,-0.837542 v 0 c 0,-0.502525 0.335016,-0.837542 0.837541,-0.837542 z"
|
||||
id="path318"
|
||||
style="stroke-width:0.837541" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="nonzero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
stroke-linecap="butt"
|
||||
stroke-linejoin="miter"
|
||||
stroke-miterlimit="10"
|
||||
stroke-dasharray="none"
|
||||
stroke-dashoffset="0"
|
||||
font-family="none"
|
||||
font-weight="none"
|
||||
font-size="none"
|
||||
text-anchor="none"
|
||||
style="display:inline;mix-blend-mode:normal"
|
||||
id="g9"
|
||||
transform="matrix(0.10423883,0,0,0.10892242,19.968987,23.126292)">
|
||||
<g
|
||||
transform="scale(5.33333)"
|
||||
id="g8">
|
||||
<path
|
||||
d="m 1,12 h 46 v 25 c 0,0.552 -0.448,1 -1,1 H 2 C 1.448,38 1,37.552 1,37 Z"
|
||||
fill="#b41530"
|
||||
id="path2-3" />
|
||||
<path
|
||||
d="m 44,10 c -0.552,0 -1,0.448 -1,1 v 1 H 5 V 11 C 5,10.448 4.552,10 4,10 H 2 c -0.552,0 -1,0.448 -1,1 v 26 c 0,0.552 0.448,1 1,1 h 44 c 0.552,0 1,-0.448 1,-1 V 12 11 c 0,-0.552 -0.448,-1 -1,-1 z m -31,4 h 2 V 36 H 13 Z M 11,36 H 9 V 14 h 2 z m 6,-22 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 v 22 h -2 z m 4,0 h 2 V 36 H 37 Z M 5,14 H 7 V 36 H 5 Z M 43,36 H 41 V 14 h 2 z"
|
||||
fill="url(#color-1)"
|
||||
id="path3-5"
|
||||
style="fill:url(#color-1)" />
|
||||
<path
|
||||
d="m 13.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 13.224,38 13,37.776 13,37.5 v -1 C 13,36.224 13.224,36 13.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path4-6" />
|
||||
<path
|
||||
d="m 30.5,36 h 4 c 0.276,0 0.5,0.224 0.5,0.5 v 1 c 0,0.276 -0.224,0.5 -0.5,0.5 h -4 C 30.224,38 30,37.776 30,37.5 v -1 C 30,36.224 30.224,36 30.5,36 Z"
|
||||
fill="#a3102a"
|
||||
id="path5" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle5-2" />
|
||||
<circle
|
||||
cx="45"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle6-9" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="12"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle7-1" />
|
||||
<circle
|
||||
cx="3"
|
||||
cy="36"
|
||||
r="1"
|
||||
fill="#a3102a"
|
||||
id="circle8" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
//
|
||||
// iTop module definition file
|
||||
//
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'itop-container-mgmt/3.3.0',
|
||||
[
|
||||
// Identification
|
||||
//
|
||||
'label' => 'Container management',
|
||||
'category' => 'business',
|
||||
|
||||
// Setup
|
||||
//
|
||||
'dependencies' => [
|
||||
'itop-virtualization-mgmt/3.3.0',
|
||||
],
|
||||
'mandatory' => false,
|
||||
'visible' => true,
|
||||
|
||||
// Components
|
||||
//
|
||||
'datamodel' => [
|
||||
|
||||
],
|
||||
'webservice' => [
|
||||
|
||||
],
|
||||
'data.struct' => [
|
||||
// add your 'structure' definition XML files here,
|
||||
'data/en_us.data.itop-container-type.xml',
|
||||
'data/en_us.data.itop-container-image-type.xml',
|
||||
],
|
||||
'data.sample' => [
|
||||
// add your sample data XML files here,
|
||||
],
|
||||
|
||||
// Documentation
|
||||
//
|
||||
'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
|
||||
'doc.more_information' => '', // hyperlink to more information, if any
|
||||
|
||||
// Default settings
|
||||
//
|
||||
'settings' => [
|
||||
// Module specific settings go here, if any
|
||||
],
|
||||
]
|
||||
);
|
||||
0
datamodels/2.x/itop-virtualization-mgmt/data.sample.farm.xml → datamodels/2.x/itop-virtualization-mgmt/data/data.sample.farm.xml
Executable file → Normal file
0
datamodels/2.x/itop-virtualization-mgmt/data.sample.farm.xml → datamodels/2.x/itop-virtualization-mgmt/data/data.sample.farm.xml
Executable file → Normal file
0
datamodels/2.x/itop-virtualization-mgmt/data.sample.vm.xml → datamodels/2.x/itop-virtualization-mgmt/data/data.sample.vm.xml
Executable file → Normal file
0
datamodels/2.x/itop-virtualization-mgmt/data.sample.vm.xml → datamodels/2.x/itop-virtualization-mgmt/data/data.sample.vm.xml
Executable file → Normal file
@@ -979,6 +979,177 @@
|
||||
</summary>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="Cloud" _delta="define">
|
||||
<parent>VirtualHost</parent>
|
||||
<properties>
|
||||
<category>bizmodel,searchable</category>
|
||||
<abstract>false</abstract>
|
||||
<db_table>cloud</db_table>
|
||||
<naming>
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="provider_id_friendlyname"/>
|
||||
<attribute id="location_id_friendlyname"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<reconciliation>
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
<attribute id="org_id"/>
|
||||
<attribute id="organization_name"/>
|
||||
<attribute id="finalclass"/>
|
||||
</attributes>
|
||||
</reconciliation>
|
||||
<style>
|
||||
<icon>images/icons8-cloud.svg</icon>
|
||||
</style>
|
||||
</properties>
|
||||
<fields>
|
||||
<field id="provider_id" xsi:type="AttributeExternalKey">
|
||||
<sql>provider_id</sql>
|
||||
<filter/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<target_class>Organization</target_class>
|
||||
<on_target_delete>DEL_MANUAL</on_target_delete>
|
||||
<tracking_level>all</tracking_level>
|
||||
</field>
|
||||
<field id="location_id" xsi:type="AttributeExternalKey">
|
||||
<sql>location_id</sql>
|
||||
<filter><![CDATA[SELECT Location WHERE org_id=:this->provider_id]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="provider_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<target_class>Location</target_class>
|
||||
<on_target_delete>DEL_MANUAL</on_target_delete>
|
||||
<tracking_level>all</tracking_level>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
<presentation>
|
||||
<list>
|
||||
<items>
|
||||
<item id="finalclass">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="business_criticity">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="move2production">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<search>
|
||||
<items>
|
||||
<item id="name">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="business_criticity">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="move2production">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
</items>
|
||||
</search>
|
||||
<details>
|
||||
<items>
|
||||
<item id="col:col1">
|
||||
<items>
|
||||
<item id="fieldset:Virtualization:baseinfo">
|
||||
<items>
|
||||
<item id="name">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="business_criticity">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="fieldset:Virtualization:moreinfo">
|
||||
<items>
|
||||
<item id="provider_id">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="location_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="col:col2">
|
||||
<items>
|
||||
<item id="fieldset:Virtualization:otherinfo">
|
||||
<items>
|
||||
<item id="move2production">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
<item id="description">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
</items>
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="virtualmachine_list">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="contacts_list">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
<item id="documents_list">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
<item id="providercontracts_list">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
</items>
|
||||
</details>
|
||||
<default_search>
|
||||
<items>
|
||||
<item id="friendlyname">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="provider_id">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="location_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</default_search>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="Server">
|
||||
<relations>
|
||||
<relation id="impacts">
|
||||
@@ -1016,6 +1187,10 @@
|
||||
<rank>3</rank>
|
||||
<class>VirtualMachine</class>
|
||||
</dashlet>
|
||||
<dashlet id="42" xsi:type="DashletBadge" _delta="define">
|
||||
<rank>4</rank>
|
||||
<class>Cloud</class>
|
||||
</dashlet>
|
||||
</dashlets>
|
||||
</cell>
|
||||
</cells>
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
//
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,31 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +53,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,31 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +53,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -22,8 +22,31 @@
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics',
|
||||
'Virtualization:otherinfo' => 'Dates and description',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.',
|
||||
'Class:Cloud/Attribute:provider_id' => 'Provider',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -31,6 +54,6 @@ Dict::Add('EN US', 'English', 'English', [
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -22,6 +22,37 @@
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('EN GB', 'British English', 'British English', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class: LogicalInterface
|
||||
//
|
||||
|
||||
Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '',
|
||||
]);
|
||||
|
||||
@@ -8,8 +8,31 @@
|
||||
* @author Miguel Turrubiates <miguel_tf@yahoo.com>
|
||||
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -17,6 +40,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,32 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'Informations générales',
|
||||
'Virtualization:moreinfo' => 'Spécificités de la virtualisation',
|
||||
'Virtualization:otherinfo' => 'Dates et description',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Nuage',
|
||||
'Class:Cloud+' => 'Hôte virtuel, opéré par un fournisseur de services Cloud, il peut héberger des Machines Virtuelles, des Hôtes pour Conteneurs, etc.',
|
||||
'Class:Cloud/Attribute:provider_id' => 'Fournisseur',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Organisation fournissant le nuage',
|
||||
'Class:Cloud/Attribute:location_id' => 'Site',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Site du fournisseur, hébergeant le nuage',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Hôtes pour conteneurs',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'Liste des hôtes hébergés dans ce nuage',
|
||||
]);
|
||||
|
||||
//
|
||||
|
||||
@@ -21,8 +21,31 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +53,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
//
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
|
||||
//
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
//
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -13,8 +13,30 @@
|
||||
* @author Denis Flaven <denis.flaven@combodo.com>
|
||||
*
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -22,6 +44,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organisatie',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -11,8 +11,30 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
*
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -20,6 +42,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
//
|
||||
|
||||
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -21,8 +21,30 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
//
|
||||
// Fieldsets for Virtualization classes
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
// Dictionary entries go here
|
||||
'Virtualization:baseinfo' => 'General~~',
|
||||
'Virtualization:moreinfo' => 'Virtualization specifics~~',
|
||||
'Virtualization:otherinfo' => 'Dates and description~~',
|
||||
]);
|
||||
|
||||
//
|
||||
// Class Cloud
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:Cloud/Name' => '%1$s',
|
||||
'Class:Cloud/ComplementaryName' => '%1$s-%2$s',
|
||||
'Class:Cloud' => 'Cloud~~',
|
||||
'Class:Cloud+' => 'A Virtual Host operated by a Cloud provider. It can host Virtual Machines and Container Hosts.~~',
|
||||
'Class:Cloud/Attribute:provider_id+' => 'Who provides the cloud~~',
|
||||
'Class:Cloud/Attribute:location_id' => 'Location~~',
|
||||
'Class:Cloud/Attribute:location_id+' => 'Where is located the cloud~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list' => 'Container Hosts~~',
|
||||
'Class:Cloud/Attribute:containerhosts_list+' => 'List of container hosts hosted in this cloud~~',
|
||||
]);
|
||||
|
||||
//
|
||||
@@ -30,6 +52,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', [
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Org id~~',
|
||||
'Class:LogicalInterface/Attribute:org_id' => 'Organization~~',
|
||||
'Class:LogicalInterface/Attribute:org_id+' => '~~',
|
||||
]);
|
||||
|
||||
@@ -44,14 +44,14 @@ SetupWebPage::AddModule(
|
||||
],
|
||||
'data.sample' => [
|
||||
// add your sample data XML files here,
|
||||
'data.sample.farm.xml',
|
||||
'data.sample.hypervisor.xml',
|
||||
'data.sample.vm.xml',
|
||||
'data.sample.dbserver.xml',
|
||||
'data.sample.dbschema.xml',
|
||||
'data.sample.webserver.xml',
|
||||
'data.sample.webapp.xml',
|
||||
'data.sample.applicationsolutionci.xml',
|
||||
'data/data.sample.farm.xml',
|
||||
'data/data.sample.hypervisor.xml',
|
||||
'data/data.sample.vm.xml',
|
||||
'data/data.sample.dbserver.xml',
|
||||
'data/data.sample.dbschema.xml',
|
||||
'data/data.sample.webserver.xml',
|
||||
'data/data.sample.webapp.xml',
|
||||
'data/data.sample.applicationsolutionci.xml',
|
||||
],
|
||||
|
||||
// Documentation
|
||||
|
||||
@@ -398,7 +398,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'BooleanLabel:yes' => 'ano',
|
||||
'BooleanLabel:no' => 'ne',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:WelcomeMenu:Title' => 'Vítejte v '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Otevřené požadavky: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Mé požadavky',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Otevřené incidenty: %1$d',
|
||||
@@ -556,52 +555,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'UI:SearchValue:CheckAll' => 'Vybrat vše',
|
||||
'UI:SearchValue:UncheckAll' => 'Zrušit výběr',
|
||||
'UI:SelectOne' => '-- zvolte jednu z možností --',
|
||||
'UI:Login:Welcome' => 'Vítejte v '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Nesprávné uživatelské jméno nebo heslo. Zkuste to prosím znovu.',
|
||||
'UI:Login:IdentifyYourself' => 'Před pokračováním se prosím identifikujte.',
|
||||
'UI:Login:UserNamePrompt' => 'Uživatelské jméno',
|
||||
'UI:Login:PasswordPrompt' => 'Heslo',
|
||||
'UI:Login:ForgotPwd' => 'Zapomněli jste své heslo?',
|
||||
'UI:Login:ForgotPwdForm' => 'Zapomenuté heslo',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' vám může zaslat instrukce pro obnovení vašeho hesla.',
|
||||
'UI:Login:ResetPassword' => 'Zaslat nyní!',
|
||||
'UI:Login:ResetPwdFailed' => 'Chyba při odesílání emailu: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' není platné uživatelské jméno',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'obnova hesla u externích účtů není možná.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'obnova hesla u tohoto účtu není povolená.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'účet není spojen s žádnou osobou.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'účet není spojen s osobou s uvedenou emailovou adresou. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'chybí emailová adresa. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-Error-Send' => 'technický problém při odesílání emailu. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-EmailSent' => 'Zkontrolujte prosím svoji emailovou schránku a postupujte podle pokynů. Pokud žádný email neobdržíte, zkontrolujte prosím zadané uživatelské jméno.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Obnovení hesla pro '.ITOP_APPLICATION_SHORT, 'UI:ResetPwd-EmailBody' => '<body><p>Vyžádali jste obovení hesla pro '.ITOP_APPLICATION_SHORT.'.</p><p>Pokračujte kliknutím na následující <a href="%1$s">jednorázový odkaz</a> a zadejte nové heslo.</p>',
|
||||
'UI:ResetPwd-Title' => 'Obnovení hesla',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Omlouváme se, ale heslo již bylo obnoveno nebo jste obdrželi více emailů. Ujistěte se, že používate odkaz z posledního emailu který jste obdrželi.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Vložte nové heslo k účtu \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'Heslo bylo obnoveno.',
|
||||
'UI:ResetPwd-Login' => 'Pro přihlášení klikněte zde...',
|
||||
'UI:Login:About' => '',
|
||||
'UI:Login:ChangeYourPassword' => 'Změnit heslo',
|
||||
'UI:Login:OldPasswordPrompt' => 'Původní heslo',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Znovu nové heslo',
|
||||
'UI:Login:IncorrectOldPassword' => 'Chyba: původní heslo je nesprávné',
|
||||
'UI:LogOffMenu' => 'Odhlásit',
|
||||
'UI:LogOff:ThankYou' => 'Děkujeme za užívání '.ITOP_APPLICATION_SHORT, 'UI:LogOff:ClickHereToLoginAgain' => 'Klikněte zde pro nové přihlášení...',
|
||||
'UI:ChangePwdMenu' => 'Změnit heslo',
|
||||
'UI:Login:PasswordChanged' => 'Heslo nastaveno úspěšně!',
|
||||
'UI:Login:PasswordNotChanged' => 'Chyba: heslo je stejné jako přechozí!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' je pouze ke čtení',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' je pouze ke čtení pro koncové uživatele',
|
||||
'UI:ApplicationEnvironment' => 'Aplikační prostředí: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Nová hesla se neshodují!',
|
||||
'UI:Button:Login' => 'Přihlásit',
|
||||
'UI:Login:Error:AccessRestricted' => 'Přístup je omezen. Kontaktujte administrátora.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Přístup vyhrazen osobám s administrátorskými právy. Kontaktujte administrátora.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Neznámá organizace',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Více kontaktů má stejný email',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Není zadán platný profil',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- zvolte jednu z možností --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignorovat --',
|
||||
'UI:CSVImport:NoData' => 'Žádná data!',
|
||||
|
||||
@@ -398,7 +398,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'BooleanLabel:yes' => 'yes~~',
|
||||
'BooleanLabel:no' => 'no~~',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:WelcomeMenu:Title' => 'Velkommen til '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Åbne anmodninger: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Mine brugerhenvendelser',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Åbne Incidents: %1$d',
|
||||
@@ -556,52 +555,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'UI:SearchValue:CheckAll' => 'Check All~~',
|
||||
'UI:SearchValue:UncheckAll' => 'Uncheck All~~',
|
||||
'UI:SelectOne' => '-- Vælg venligst --',
|
||||
'UI:Login:Welcome' => 'Velkommen til '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Ukorrekt login/adgangskode, venligst prøv igen.',
|
||||
'UI:Login:IdentifyYourself' => 'Identificer dig før du fortsætter',
|
||||
'UI:Login:UserNamePrompt' => 'Bruger Navn',
|
||||
'UI:Login:PasswordPrompt' => 'Adgangskode',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
|
||||
'UI:Login:ResetPassword' => 'Send now!~~',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
|
||||
'UI:ResetPwd-Title' => 'Reset password~~',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...~~',
|
||||
'UI:Login:About' => 'Om',
|
||||
'UI:Login:ChangeYourPassword' => 'Skift Adgangskode',
|
||||
'UI:Login:OldPasswordPrompt' => 'Gammel Adgangskode',
|
||||
'UI:Login:NewPasswordPrompt' => 'Ny Adgangskode',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Gentag ny adgangskode',
|
||||
'UI:Login:IncorrectOldPassword' => 'Fejl: den gamle adgangskode er forkert',
|
||||
'UI:LogOffMenu' => 'Log ud',
|
||||
'UI:LogOff:ThankYou' => 'Tak for at du brugte '.ITOP_APPLICATION_SHORT, 'UI:LogOff:ClickHereToLoginAgain' => 'Klik her for at logge ind igen...',
|
||||
'UI:ChangePwdMenu' => 'Skift Adgangskode...',
|
||||
'UI:Login:PasswordChanged' => 'Adgangskode oprettet med success!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' er skrivebeskyttet',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' er skrivebeskyttet for slutbrugere',
|
||||
'UI:ApplicationEnvironment' => 'Applikations miljø: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Ny adgangskode og gentaget adgangskode passer ikke sammen!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION_SHORT, 'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' adgang er begrænset. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Adgang er begrænset til administratorer. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- Vælg venligst --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignorer dette felt --',
|
||||
'UI:CSVImport:NoData' => 'Tomt data sæt..., venligst angiv nogle data!',
|
||||
|
||||
@@ -397,7 +397,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nein',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
|
||||
'UI:WelcomeMenu:Title' => 'Willkommen bei '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Offene Requests: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'An mich gestellte Benutzeranfragen',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Offene Incidents: %1$d',
|
||||
@@ -555,54 +554,9 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'UI:SearchValue:CheckAll' => 'Alle auswählen',
|
||||
'UI:SearchValue:UncheckAll' => 'Auswahl aufheben',
|
||||
'UI:SelectOne' => 'bitte wählen',
|
||||
'UI:Login:Welcome' => 'Willkommen bei '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Ungültiges Passwort oder Login-Daten. Bitte versuchen Sie es erneut.',
|
||||
'UI:Login:IdentifyYourself' => 'Bitte identifizieren Sie sich, bevor Sie fortfahren.',
|
||||
'UI:Login:UserNamePrompt' => 'Benutzername',
|
||||
'UI:Login:PasswordPrompt' => 'Passwort',
|
||||
'UI:Login:ForgotPwd' => 'Neues Passwort zusenden',
|
||||
'UI:Login:ForgotPwdForm' => 'Neues Passwort zusenden',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kann Ihnen eine Mail mit Anweisungen senden, wie Sie Ihren Account/Passwort zurücksetzen können',
|
||||
'UI:Login:ResetPassword' => 'Jetzt senden!',
|
||||
'UI:Login:ResetPwdFailed' => 'Konnte keine E-Mail versenden: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'oder',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' ist kein gültiger Login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Passwort-Reset bei externem Benutzerkonto nicht möglich',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'das Benutzerkonto erlaubt keinen Passwort-Reset. ',
|
||||
'UI:ResetPwd-Error-NoContact' => 'das Benutzerkonto ist nicht mit einer Person verknüpft. ',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'das Benutzerkonto ist nicht mit einer Person verknüpft, die eine Mailadresse besitzt. Bitte wenden Sie sich an Ihren Administrator. ',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'die E-Mail-Adresse dieses Accounts fehlt. Bitte kontaktieren Sie Ihren Administrator.',
|
||||
'UI:ResetPwd-Error-Send' => 'Beim Versenden der E-Mail trat ein technisches Problem auf. Bitte kontaktieren Sie Ihren Administrator.',
|
||||
'UI:ResetPwd-EmailSent' => 'Bitte schauen Sie in Ihre Mailbox und folgen Sie den Anweisungen.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.'-Passworts',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Sie haben das Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.' Passworts angefordert.</p><p>Bitte folgen Sie diesem Link (funktioniert nur einmalig) : <a href="%1$s">neues Passwort eingeben</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Passwort zurücksetzen',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Entschuldigung, aber entweder das Passwort wurde bereits zurückgesetzt, oder Sie haben mehrere E-Mails für das Zurücksetzen erhalten. Bitte nutzen Sie den link in der letzten Mail, die Sie erhalten haben.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Geben Sie ein neues Passwort für das Konto \'%1$s\' ein.',
|
||||
'UI:ResetPwd-Ready' => 'Das Passwort wurde geändert. ',
|
||||
'UI:ResetPwd-Login' => 'Klicken Sie hier um sich einzuloggen...',
|
||||
'UI:Login:About' => 'iTop Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Ändern Sie Ihr Passwort',
|
||||
'UI:Login:OldPasswordPrompt' => 'Altes Passwort',
|
||||
'UI:Login:NewPasswordPrompt' => 'Neues Passwort',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Wiederholen Sie Ihr neues Passwort',
|
||||
'UI:Login:IncorrectOldPassword' => 'Fehler: das alte Passwort ist ungültig',
|
||||
'UI:LogOffMenu' => 'Abmelden',
|
||||
'UI:LogOff:ThankYou' => 'Vielen Dank dafür, dass Sie '.ITOP_APPLICATION_SHORT.' benutzen!',
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Klicken Sie hier, um sich wieder anzumelden...',
|
||||
'UI:ChangePwdMenu' => 'Passwort ändern...',
|
||||
'UI:Login:PasswordChanged' => 'Passwort erfolgreich gesetzt!',
|
||||
'UI:Login:PasswordNotChanged' => 'Fehler: Das Passwort das gleiche!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' ist nur lesbar',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' ist nur lesbar für Endnutzer',
|
||||
'UI:ApplicationEnvironment' => 'Applikationsumgebung: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Neues Passwort und das wiederholte Passwort stimmen nicht überein!',
|
||||
'UI:Button:Login' => 'in '.ITOP_APPLICATION_SHORT.' anmelden',
|
||||
'UI:Login:Error:AccessRestricted' => 'Der '.ITOP_APPLICATION_SHORT.'-Zugang ist gesperrt. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Zugang nur für Personen mit Administratorrechten. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unbekannte Organisation',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Mehrere Kontakte mit gleicher E-Mail-Adresse',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Kein gültiges Profil ausgewählt',
|
||||
'UI:CSVImport:MappingSelectOne' => 'Bitte wählen',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- Dieses Feld ignorieren --',
|
||||
'UI:CSVImport:NoData' => 'Keine Daten eingegeben ... bitte geben Sie Daten ein!',
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -413,7 +413,6 @@ Dict::Add('EN GB', 'British English', 'British English', [
|
||||
Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'BooleanLabel:yes' => 'yes',
|
||||
'BooleanLabel:no' => 'no',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'UI:WelcomeMenu:Title' => 'Welcome to '.ITOP_APPLICATION_SHORT,
|
||||
'UI:WelcomeMenu:AllOpenRequests' => 'Open requests: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'My requests',
|
||||
@@ -576,57 +575,9 @@ Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'UI:SearchValue:CheckAll' => 'Check All',
|
||||
'UI:SearchValue:UncheckAll' => 'Uncheck All',
|
||||
'UI:SelectOne' => '-- select one --',
|
||||
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
|
||||
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
|
||||
'UI:Login:UserNamePrompt' => 'User Name',
|
||||
'UI:Login:PasswordPrompt' => 'Password',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
|
||||
'UI:Login:ResetPassword' => 'Send now!',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated with a person.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please contact your administrator.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
|
||||
|
||||
'UI:ResetPwd-Title' => 'Reset password',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.',
|
||||
'UI:ResetPwd-Login' => 'Click here to log in...',
|
||||
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Change Your Password',
|
||||
'UI:Login:OldPasswordPrompt' => 'Old password',
|
||||
'UI:Login:NewPasswordPrompt' => 'New password',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
|
||||
'UI:LogOffMenu' => 'Log off',
|
||||
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to log in again...',
|
||||
'UI:ChangePwdMenu' => 'Change Password...',
|
||||
'UI:Login:PasswordChanged' => 'Password successfully set!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION.' is read-only',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION.' is read-only for end-users',
|
||||
'UI:ApplicationEnvironment' => 'Application environment: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access to this page is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organisation',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- select one --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignore this field --',
|
||||
'UI:CSVImport:NoData' => 'Empty data set..., please provide some data!',
|
||||
|
||||
@@ -396,7 +396,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'BooleanLabel:yes' => 'Si',
|
||||
'BooleanLabel:no' => 'No',
|
||||
'UI:Login:Title' => 'Inicio de Sesión',
|
||||
'UI:WelcomeMenu:Title' => 'Bienvenido a '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Requerimientos Abiertos: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Mis Requerimientos',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Incidentes Abiertos: %1$d',
|
||||
@@ -554,51 +553,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'UI:SearchValue:CheckAll' => 'Seleccionar Todo',
|
||||
'UI:SearchValue:UncheckAll' => 'Deseleccionar Todo',
|
||||
'UI:SelectOne' => '-- Seleccione uno --',
|
||||
'UI:Login:Welcome' => 'Bienvenido a '.ITOP_APPLICATION_SHORT, 'UI:Login:IncorrectLoginPassword' => 'Usuario/Contraseña incorrecto, por favor intente otra vez.',
|
||||
'UI:Login:IdentifyYourself' => 'Identifiquese antes de continuar',
|
||||
'UI:Login:UserNamePrompt' => 'Usuario ',
|
||||
'UI:Login:PasswordPrompt' => 'Contraseña',
|
||||
'UI:Login:ForgotPwd' => '¿Olvidó su contraseña?',
|
||||
'UI:Login:ForgotPwdForm' => 'Olvido de Contraseña',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' puede enviarle un correo en el cual encontrará las instrucciones a seguir para restablecer su contraseña.',
|
||||
'UI:Login:ResetPassword' => 'Enviar Ahora',
|
||||
'UI:Login:ResetPwdFailed' => 'Error al enviar correo-e: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'O',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' no es un usuario válido',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Cuentas externas no permiten restablecimiento de contraseña.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'La cuenta no permite restablecimiento de contraseña.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'La cuenta no está asociada a una persona.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'La cuenta no está asociada a una persona con correo electrónico. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'Falta dirección de correo electrónico. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-Error-Send' => 'Falla al envar un correo. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-EmailSent' => 'Por favor verifique su buzón de correo y siga las instrucciones. Si no recibe el mensaje, por favor verifique la cuenta proporcionada.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Restablecer contraseña de '.ITOP_APPLICATION_SHORT, 'UI:ResetPwd-EmailBody' => '<body><p>Ha solicitado restablecer su contraseña en '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor de click en la siguiente liga: <a href="%1$s">proporcione una nueva contraseña</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Restablecer Contraseña',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Lo siento, tal vez su contraseña ya ha sido cambiada, o ha recibido varios correos electrónicos. Por favor asegurese de haber dado click a la liga del último correo recibido.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Contraseña Nueva para \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'La contraseña ha sido cambiada.',
|
||||
'UI:ResetPwd-Login' => 'Click aquí para conectarse ',
|
||||
'UI:Login:About' => 'Acerca de',
|
||||
'UI:Login:ChangeYourPassword' => 'Cambie su Contraseña',
|
||||
'UI:Login:OldPasswordPrompt' => 'Contraseña Actual',
|
||||
'UI:Login:NewPasswordPrompt' => 'Contraseña Nueva',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Confirme Contraseña Nueva',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: la Contraseña Anterior es Incorrecta',
|
||||
'UI:LogOffMenu' => 'Cerrar Sesión',
|
||||
'UI:LogOff:ThankYou' => 'Gracias por usar '.ITOP_APPLICATION_SHORT, 'UI:LogOff:ClickHereToLoginAgain' => 'Click aquí para conectarse nuevamente',
|
||||
'UI:ChangePwdMenu' => 'Cambiar Contraseña',
|
||||
'UI:Login:PasswordChanged' => '¡Contraseña Exitosamente Cambiada!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: ¡La contraseña es la misma!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' está en modo de sólo lectura',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' está en modo de sólo lectura para usuarios',
|
||||
'UI:ApplicationEnvironment' => 'Ambiente: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => '¡La Nueva Contraseña y su Confirmación No Coinciden!',
|
||||
'UI:Button:Login' => 'Entrar',
|
||||
'UI:Login:Error:AccessRestricted' => 'El acceso a '.ITOP_APPLICATION_SHORT.' está restringido. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Acceso restringido a usuarios con privilegio de administrador. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Organización desconocida',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Varios contactos tienen la misma dirección de correo electrónico',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Perfil inválido',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- seleccione uno --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignore este campo --',
|
||||
'UI:CSVImport:NoData' => 'Conjunto de datos vacío..., por favor provea algun dato.',
|
||||
|
||||
@@ -466,6 +466,7 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi
|
||||
'UI:UserPref:DoNotShowAgain' => 'Ne plus afficher ce message',
|
||||
'UI:InputFile:NoFileSelected' => 'Aucun fichier sélectionné',
|
||||
'UI:InputFile:SelectFile' => 'Sélectionner un fichier',
|
||||
'UI:InputFile:SelectImage' => 'Sélectionner une image',
|
||||
'UI:SearchToggle' => 'Recherche',
|
||||
'UI:ClickToCreateNew' => 'Créer un(e) %1$s',
|
||||
'UI:SearchFor_Class' => 'Rechercher des objets de type %1$s',
|
||||
@@ -863,6 +864,7 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi
|
||||
'UI:LinksWidget:Autocomplete+' => 'Tapez les 3 premiers caractères...',
|
||||
'UI:Edit:SearchQuery' => 'Sélectionner une requête prédéfinie',
|
||||
'UI:Edit:TestQuery' => 'Tester la requête',
|
||||
'UI:Edit:QueryBook' => 'Predefined query',
|
||||
'UI:Combo:SelectValue' => '--- choisissez une valeur ---',
|
||||
'UI:Label:SelectedObjects' => 'Objets sélectionnés: ',
|
||||
'UI:Label:AvailableObjects' => 'Objets disponibles: ',
|
||||
|
||||
@@ -400,7 +400,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
'BooleanLabel:yes' => 'Igen',
|
||||
'BooleanLabel:no' => 'Nem',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' bejelentkezés',
|
||||
'UI:WelcomeMenu:Title' => 'Üdvözli az '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Nyitott kérelmek: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Saját kérelmek',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Nyitott incidensek: %1$d',
|
||||
@@ -558,54 +557,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
|
||||
'UI:SearchValue:CheckAll' => 'Összes bejelölése',
|
||||
'UI:SearchValue:UncheckAll' => 'Bejelölés megszüntetése',
|
||||
'UI:SelectOne' => '-- válasszon ki egyet --',
|
||||
'UI:Login:Welcome' => 'Üdvözli az '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Nem megfelelő bejelentkezési név/jelszó, kérjük próbálja újra.',
|
||||
'UI:Login:IdentifyYourself' => 'Folytatás előtt azonosítsa magát',
|
||||
'UI:Login:UserNamePrompt' => 'Felhasználónév',
|
||||
'UI:Login:PasswordPrompt' => 'Jelszó',
|
||||
'UI:Login:ForgotPwd' => 'Elfelejtette a jelszavát?',
|
||||
'UI:Login:ForgotPwdForm' => 'Elfelejtett jelszó',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' küldhet Önnek egy emailt, amelyben utasításokat talál a fiókja visszaállításához.',
|
||||
'UI:Login:ResetPassword' => 'Küldje most!',
|
||||
'UI:Login:ResetPwdFailed' => 'Sikertelen email küldés: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Vagy',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' nem érvényes fiók',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'a külső fiókok jelszava itt nem állítható vissza.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'a fiók nem teszi lehetővé a jelszó visszaállítását.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'a fiók nem személyhez tartozik',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'a fiók nem olyan személyhez tartozik amelynek van email címe. Keresse a rendszergazdát.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'hiányzik az email cím. Keresse a rendszergazdát.',
|
||||
'UI:ResetPwd-Error-Send' => 'email továbbítási hiba. Keresse a rendszergazdát',
|
||||
'UI:ResetPwd-EmailSent' => 'Kérjük, ellenőrizze az email postafiókját, és kövesse az utasításokat. Ha nem kap emailt, kérjük, ellenőrizze a beírt bejelentkezési adatait.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Állítsa vissza az '.ITOP_APPLICATION_SHORT.' jelszavát',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Ön vissza szeretné állítani az '.ITOP_APPLICATION_SHORT.' jelszavát.</p><p>Kattintson erre a linkre <a href="%1$s">új jelszó</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Jelszó visszaállítás',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sajnáljuk, de vagy már visszaállították a jelszót, vagy már több emailt is kapott. Kérjük, mindenképpen használja a legutolsó kapott emailben megadott linket.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Adja meg az új jelszavát a %1$s a fiókjának',
|
||||
'UI:ResetPwd-Ready' => 'A jelszó megváltozott',
|
||||
'UI:ResetPwd-Login' => 'Jelentkezzen be...',
|
||||
'UI:Login:About' => 'Névjegy',
|
||||
'UI:Login:ChangeYourPassword' => 'Jelszó változtatás',
|
||||
'UI:Login:OldPasswordPrompt' => 'Jelenlegi jelszó',
|
||||
'UI:Login:NewPasswordPrompt' => 'Új jelszó',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Jelszó megerősítése',
|
||||
'UI:Login:IncorrectOldPassword' => 'Hiba: a jelenlegi jelszó hibás',
|
||||
'UI:LogOffMenu' => 'Kilépés',
|
||||
'UI:LogOff:ThankYou' => 'Köszönjük, hogy az '.ITOP_APPLICATION_SHORT.'-ot használja!',
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Ismételt bejelentkezéshez kattintson ide',
|
||||
'UI:ChangePwdMenu' => 'Jelszó módosítás...',
|
||||
'UI:Login:PasswordChanged' => 'Jelszó sikeresen beállítva!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' csak olvasás módban',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' csak olvasás módban a végfelhasználók számára',
|
||||
'UI:ApplicationEnvironment' => 'Alkalmazáskörnyezet: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'A jelszavak nem egyeznek!',
|
||||
'UI:Button:Login' => 'Belépés az '.ITOP_APPLICATION_SHORT.' alkalmazásba',
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' hozzáférés korlátozva. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
|
||||
'UI:Login:Error:AccessAdmin' => 'Adminisztrátori hozzáférés korlátozott. Kérem forduljon az '.ITOP_APPLICATION_SHORT.' rendszergazdához!',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Ismeretlen szervezeti egység',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Több kapcsolattartónál ugyanez az emailcím',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Érvénytelen a megadott profil',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- válasszon ki egyet --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- mező figyelmen kívül hagyása --',
|
||||
'UI:CSVImport:NoData' => 'Üres mező..., kérem adjon meg adatot!',
|
||||
|
||||
@@ -400,7 +400,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
'BooleanLabel:yes' => 'はい',
|
||||
'BooleanLabel:no' => 'いいえ',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:WelcomeMenu:Title' => 'ようこそ、'.ITOP_APPLICATION_SHORT.'へ',
|
||||
'UI:WelcomeMenu:AllOpenRequests' => '要求を開く: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => '担当中の要求',
|
||||
@@ -559,54 +558,9 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
|
||||
'UI:SearchValue:CheckAll' => 'Check All~~',
|
||||
'UI:SearchValue:UncheckAll' => 'Uncheck All~~',
|
||||
'UI:SelectOne' => '-- 選んでください --',
|
||||
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'へようこそ',
|
||||
'UI:Login:IncorrectLoginPassword' => 'ログイン/パスワードが正しくありません。再度入力ください。',
|
||||
'UI:Login:IdentifyYourself' => '続けて作業を行う前に認証を受けてください。',
|
||||
'UI:Login:UserNamePrompt' => 'ユーザー名',
|
||||
'UI:Login:PasswordPrompt' => 'パスワード',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
|
||||
'UI:Login:ResetPassword' => 'Send now!~~',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
|
||||
'UI:ResetPwd-Title' => 'Reset password~~',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...~~',
|
||||
'UI:Login:About' => '',
|
||||
'UI:Login:ChangeYourPassword' => 'パスワードを変更してください',
|
||||
'UI:Login:OldPasswordPrompt' => '古いパスワード',
|
||||
'UI:Login:NewPasswordPrompt' => '新しいパスワード',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => '新しいパスワードを再度入力してください。',
|
||||
'UI:Login:IncorrectOldPassword' => 'エラー:既存パスワードが正しくありません。',
|
||||
'UI:LogOffMenu' => 'ログオフ',
|
||||
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.'をご利用いただき、ありがとうございます。',
|
||||
'UI:LogOff:ClickHereToLoginAgain' => '再度ログインするにはここをクリックしてください...',
|
||||
'UI:ChangePwdMenu' => 'パスワードを変更する...',
|
||||
'UI:Login:PasswordChanged' => 'パスワードは変更されました。',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.'は参照専用です。',
|
||||
'UI:AccessRO-Users' => 'エンドユーザの方は'.ITOP_APPLICATION_SHORT.'は参照専用です。',
|
||||
'UI:ApplicationEnvironment' => 'アプリケーション環境: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => '2度入力された新しいパスワードが一致しません!',
|
||||
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'へ入る',
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.'へのアクセスは制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
|
||||
'UI:Login:Error:AccessAdmin' => '管理者権限をもつユーザにアクセスが制限されています。'.ITOP_APPLICATION_SHORT.'管理者に問い合わせしてください。',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- 選択ください --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '--このフィールドを無視する --',
|
||||
'UI:CSVImport:NoData' => '空のデータセット..., データを提供してください。',
|
||||
|
||||
@@ -398,7 +398,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nee',
|
||||
'UI:Login:Title' => 'Aanmelden in '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:Title' => 'Welkom in '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Open aanvragen: %1$d',
|
||||
'UI:WelcomeMenu:Title' => 'Welkom in '.ITOP_APPLICATION_SHORT,
|
||||
'UI:WelcomeMenu:AllOpenRequests' => 'Open aanvragen: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Mijn aanvragen',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Open incidenten: %1$d',
|
||||
'UI:WelcomeMenu:AllConfigItems' => 'Configuratie-items: %1$d',
|
||||
@@ -555,51 +556,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
|
||||
'UI:SearchValue:CheckAll' => 'Vink alles aan',
|
||||
'UI:SearchValue:UncheckAll' => 'Vink alles uit',
|
||||
'UI:SelectOne' => '-- selecteer --',
|
||||
'UI:Login:Welcome' => 'Welkom in '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Ongeldige gebruikersnaam of wachtwoord, probeer opnieuw.',
|
||||
'UI:Login:IdentifyYourself' => 'Identificeer jezelf voordat je verder gaat',
|
||||
'UI:Login:UserNamePrompt' => 'Gebruikersnaam',
|
||||
'UI:Login:PasswordPrompt' => 'Wachtwoord',
|
||||
'UI:Login:ForgotPwd' => 'Wachtwoord vergeten?',
|
||||
'UI:Login:ForgotPwdForm' => 'Wachtwoord vergeten',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kan je een e-mail sturen waarin de instructies voor het resetten van jouw account staan.',
|
||||
'UI:Login:ResetPassword' => 'Stuur nu!',
|
||||
'UI:Login:ResetPwdFailed' => 'E-mail sturen mislukt: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Of',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '"%1$s" is geen geldige login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Het wachtwoord van externe accounts kan niet gereset worden.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'Deze account staat het resetten van het wachtwoord niet toe.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'Deze account is niet gelinkt aan een persoon.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'Deze account is niet gelinkt aan een persoon waarvan een e-mailadres gekend is. Neem contact op met jouw beheerder.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'Er ontbreekt een e-mailadres. Neem contact op met jouw beheerder.',
|
||||
'UI:ResetPwd-Error-Send' => 'Er is een technisch probleem bij het verzenden van de e-mail. Neem contact op met jouw beheerder.',
|
||||
'UI:ResetPwd-EmailSent' => 'Kijk in jouw mailbox (eventueel bij ongewenste mail) en volg de instructies...',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Je hebt een reset van jouw '.ITOP_APPLICATION_SHORT.'-wachtwoord aangevraagd.</p><p>Klik op deze link (eenmalig te gebruiken) om <a href="%1$s">een nieuw wachtwoord in te voeren</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Reset wachtwoord',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry. Jouw wachtwoord is al gereset, of je hebt al meerdere e-mails ontvangen. Zorg ervoor dat je de link in de laatst ontvangen e-mail gebruikt.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Voer het nieuwe wachtwoord voor de account "%1$s" in.',
|
||||
'UI:ResetPwd-Ready' => 'Het wachtwoord is veranderd',
|
||||
'UI:ResetPwd-Login' => 'Klik hier om in te loggen',
|
||||
'UI:Login:About' => ITOP_APPLICATION, 'UI:Login:ChangeYourPassword' => 'Verander jouw wachtwoord',
|
||||
'UI:Login:OldPasswordPrompt' => 'Oud wachtwoord',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nieuw wachtwoord',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Herhaal nieuwe wachtwoord',
|
||||
'UI:Login:IncorrectOldPassword' => 'Fout: het oude wachtwoord is incorrect',
|
||||
'UI:LogOffMenu' => 'Log uit',
|
||||
'UI:LogOff:ThankYou' => 'Bedankt voor het gebruiken van '.ITOP_APPLICATION, 'UI:LogOff:ClickHereToLoginAgain' => 'Klik hier om in te loggen',
|
||||
'UI:ChangePwdMenu' => 'Verander wachtwoord',
|
||||
'UI:Login:PasswordChanged' => 'Wachtwoord met succes aangepast',
|
||||
'UI:Login:PasswordNotChanged' => 'Fout: Wachtwoord is hetzelfde!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION.' is alleen-lezen',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION.' is alleen-lezen voor eindgebruikers',
|
||||
'UI:ApplicationEnvironment' => 'Omgeving van de applicatie: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Het nieuwe wachtwoord en de herhaling van het nieuwe wachtwoord komen niet overeen',
|
||||
'UI:Button:Login' => 'Ga naar '.ITOP_APPLICATION, 'UI:Login:Error:AccessRestricted' => 'Geen toegang tot '.ITOP_APPLICATION_SHORT.'.Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Alleen toegankelijk voor mensen met beheerdersrechten. Neem contact op met een '.ITOP_APPLICATION_SHORT.'-beheerder',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Onbekende organisatie',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Meerdere contacten hebben hetzelfde e-mailadres',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Geen geldig profiel opgegeven',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- Selecteer --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- Negeer dit veld --',
|
||||
'UI:CSVImport:NoData' => 'Lege dataset..., voeg data toe',
|
||||
|
||||
@@ -399,7 +399,6 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
'BooleanLabel:yes' => 'tak',
|
||||
'BooleanLabel:no' => 'nie',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'UI:WelcomeMenu:Title' => 'Witaj w '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Otwarte zgłoszenia: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Moje zgłoszenia',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Otwarte incydenty: %1$d',
|
||||
@@ -570,51 +569,9 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
|
||||
'UI:SearchValue:CheckAll' => 'Zaznacz wszystko',
|
||||
'UI:SearchValue:UncheckAll' => 'Odznacz wszystko',
|
||||
'UI:SelectOne' => '-- wybierz --',
|
||||
'UI:Login:Welcome' => 'Witamy w '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Nieprawidłowy login/hasło, spróbuj ponownie.',
|
||||
'UI:Login:IdentifyYourself' => 'Zidentyfikuj się przed wejściem',
|
||||
'UI:Login:UserNamePrompt' => 'Login',
|
||||
'UI:Login:PasswordPrompt' => 'Hasło',
|
||||
'UI:Login:ForgotPwd' => 'Zapomniałeś hasła?',
|
||||
'UI:Login:ForgotPwdForm' => 'Resetowanie hasła',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' może wysłać Ci wiadomość e-mail, w której znajdziesz instrukcje dotyczące resetowania hasła.',
|
||||
'UI:Login:ResetPassword' => 'Wyślij !',
|
||||
'UI:Login:ResetPwdFailed' => 'Nie udało się wysłać e-maila: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Lub',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\'nie jest prawidłowym loginem',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'konta zewnętrzne nie pozwalają na resetowanie hasła.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'konto nie pozwala na resetowanie hasła.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'konto nie jest powiązane z osobą.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'konto nie jest powiązane z osobą mającą atrybut e-mail. Skontaktuj się z administratorem.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'brak adresu e-mail. Skontaktuj się z administratorem.',
|
||||
'UI:ResetPwd-Error-Send' => 'problem techniczny dotyczący transportu poczty elektronicznej. Skontaktuj się z administratorem.',
|
||||
'UI:ResetPwd-EmailSent' => 'Sprawdź swoją skrzynkę e-mail i postępuj zgodnie z instrukcjami. Jeśli nie otrzymasz wiadomości e-mail, sprawdź wpisany login.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset hasła '.ITOP_APPLICATION_SHORT, 'UI:ResetPwd-EmailBody' => '<body><p>Poprosiłeś o zresetowanie hasła '.ITOP_APPLICATION_SHORT.'.</p><p>Proszę skorzystać z tego linku (jednorazowe użycie), <a href="%1$s">wpisz nowe hasło</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Zresetuj hasło',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Przepraszamy, albo hasło zostało już zresetowane, albo otrzymałeś kilka e-maili. Upewnij się, że używasz linku podanego w ostatniej otrzymanej wiadomości e-mail.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Wprowadź nowe hasło do konta \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'Hasło zostało zmienione.',
|
||||
'UI:ResetPwd-Login' => 'Kliknij tutaj aby się zalogować...',
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Obsługiwane przez Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Zmień swoje hasło',
|
||||
'UI:Login:OldPasswordPrompt' => 'Stare hasło',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nowe hasło',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Powtórz nowe hasło',
|
||||
'UI:Login:IncorrectOldPassword' => 'Błąd: stare hasło jest nieprawidłowe',
|
||||
'UI:LogOffMenu' => 'Wyloguj',
|
||||
'UI:LogOff:ThankYou' => 'Dziękujemy za użycie '.ITOP_APPLICATION, 'UI:LogOff:ClickHereToLoginAgain' => 'Kliknij tutaj, aby zalogować się ponownie...',
|
||||
'UI:ChangePwdMenu' => 'Zmień hasło...',
|
||||
'UI:Login:PasswordChanged' => 'Hasło ustawione pomyślnie!',
|
||||
'UI:Login:PasswordNotChanged' => 'Błąd: Hasło jest takie samo!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION.' jest tylko do odczytu',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION.' jest tylko do odczytu dla użytkowników końcowych',
|
||||
'UI:ApplicationEnvironment' => 'Środowisko aplikacji: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Nowe hasło i powtórzone nowe hasło nie pasują!',
|
||||
'UI:Button:Login' => 'Wejdź do '.ITOP_APPLICATION, 'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' dostęp jest ograniczony. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Dostęp ograniczony do osób z uprawnieniami administratora. Prosimy o kontakt z administratorem '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Nieznana organizacja',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Wiele kontaktów ma ten sam adres e-mail',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Nie podano prawidłowego profilu',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- wybierz jeden --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- zignoruj to pole --',
|
||||
'UI:CSVImport:NoData' => 'Pusty zestaw danych ... proszę podać dane!',
|
||||
|
||||
@@ -399,7 +399,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'BooleanLabel:yes' => 'да',
|
||||
'BooleanLabel:no' => 'нет',
|
||||
'UI:Login:Title' => 'Вход в '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:Title' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT, 'UI:WelcomeMenu:AllOpenRequests' => 'Открытые запросы: %1$d',
|
||||
'UI:WelcomeMenu:Title' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT,
|
||||
'UI:WelcomeMenu:AllOpenRequests' => 'Открытые запросы: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Мои запросы',
|
||||
'UI:WelcomeMenu:OpenIncidents' => 'Открытые инциденты: %1$d',
|
||||
'UI:WelcomeMenu:AllConfigItems' => 'Конфигурационные единицы: %1$d',
|
||||
@@ -556,53 +557,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
|
||||
'UI:SearchValue:CheckAll' => 'Выбрать все',
|
||||
'UI:SearchValue:UncheckAll' => 'Сбросить',
|
||||
'UI:SelectOne' => '-- выбрать --',
|
||||
'UI:Login:Welcome' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Неправильный логин/пароль. Пожалуйста, попробуйте еще раз.',
|
||||
'UI:Login:IdentifyYourself' => 'Пожалуйста, представьтесь',
|
||||
'UI:Login:UserNamePrompt' => 'Имя пользователя',
|
||||
'UI:Login:PasswordPrompt' => 'Пароль',
|
||||
'UI:Login:ForgotPwd' => 'Забыли пароль?',
|
||||
'UI:Login:ForgotPwdForm' => 'Восстановление пароля',
|
||||
'UI:Login:ForgotPwdForm+' => 'Введите свой логин для входа в систему и нажмите "Отправить". '.ITOP_APPLICATION_SHORT.' отправит email с инструкциями по восстановлению пароля на ваш электронный адрес.',
|
||||
'UI:Login:ResetPassword' => 'Отправить',
|
||||
'UI:Login:ResetPwdFailed' => 'Не удалось отправить email: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'или',
|
||||
'UI:ResetPwd-Error-WrongLogin' => 'учетная запись с логином "%1$s" не найдена.',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'восстановление пароля для внешних учётных записей недоступно.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'восстановление пароля для данной учётной записи недоступно. Пожалуйста, обратитесь к администратору.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'данная учетная запись не ассоциирована с персоной. Пожалуйста, обратитесь к администратору.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'аккаунт не ассоциирован с персоной, имеющей атрибут электронной почты. Пожалуйста, обратитесь к администратору.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'отсутствует адрес электронной почты. Пожалуйста, обратитесь к администратору.',
|
||||
'UI:ResetPwd-Error-Send' => 'технические проблемы с отправкой электронной почты. Пожалуйста, обратитесь к администратору.',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
|
||||
'UI:ResetPwd-EmailSubject' => 'Восстановление пароля',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Вы запросили восстановление пароля '.ITOP_APPLICATION_SHORT.'.</p><p>Пожалуйста, воспользуйтесь <a href="%1$s">этой ссылкой</a> для задания нового пароля.</p></body>',
|
||||
'UI:ResetPwd-Title' => 'Восстановление пароля',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Извините, недействительная ссылка. Если вы запрашивали восстановление пароля несколько раз подряд, пожалуйста, убедитесь, что используете ссылку из последнего полученного письма.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Введите новый пароль для учетной записи пользователя \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'Пароль успешно изменён.',
|
||||
'UI:ResetPwd-Login' => 'Войти...',
|
||||
'UI:Login:About' => '',
|
||||
'UI:Login:ChangeYourPassword' => 'Изменение пароля',
|
||||
'UI:Login:OldPasswordPrompt' => 'Старый пароль',
|
||||
'UI:Login:NewPasswordPrompt' => 'Новый пароль',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Повторите новый пароль',
|
||||
'UI:Login:IncorrectOldPassword' => 'Ошибка: старый пароль неверный',
|
||||
'UI:LogOffMenu' => 'Выход',
|
||||
'UI:LogOff:ThankYou' => 'Спасибо за использование '.ITOP_APPLICATION_SHORT, 'UI:LogOff:ClickHereToLoginAgain' => 'Нажмите здесь, чтобы снова войти...',
|
||||
'UI:ChangePwdMenu' => 'Изменить пароль...',
|
||||
'UI:Login:PasswordChanged' => 'Пароль успешно изменён!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => 'Только чтение',
|
||||
'UI:AccessRO-Users' => 'Только чтение для конечных пользователей',
|
||||
'UI:ApplicationEnvironment' => 'Application environment: %1$s~~',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Пароли не совпадают',
|
||||
'UI:Button:Login' => 'Войти',
|
||||
'UI:Login:Error:AccessRestricted' => 'Доступ к '.ITOP_APPLICATION_SHORT.' ограничен. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Доступ ограничен для лиц с административными привилегиями. Пожалуйста, свяжитесь с администратором '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Неизвестная организация',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Несколько контактов имеют один и тот же адрес электронной почты',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Нет допустимого профиля',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- выберите значение --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- игнорировать это поле --',
|
||||
'UI:CSVImport:NoData' => 'Пустой набор данных..., пожалуйста введите что-нибудь!',
|
||||
|
||||
@@ -403,7 +403,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
'BooleanLabel:yes' => 'yes~~',
|
||||
'BooleanLabel:no' => 'no~~',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:WelcomeMenu:Title' => 'Vitajte v '.ITOP_APPLICATION_SHORT,
|
||||
'UI:WelcomeMenu:AllOpenRequests' => 'Otvoriť žiadosť: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'Moje žiadosti',
|
||||
@@ -562,54 +561,9 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
|
||||
'UI:SearchValue:CheckAll' => 'Check All~~',
|
||||
'UI:SearchValue:UncheckAll' => 'Uncheck All~~',
|
||||
'UI:SelectOne' => '-- Vyberte jeden --',
|
||||
'UI:Login:Welcome' => 'Vitajte v '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Nesprávne prihlasovacie meno/heslo, prosím skúste znova.',
|
||||
'UI:Login:IdentifyYourself' => 'Identifikujte sa pred pokračovaním',
|
||||
'UI:Login:UserNamePrompt' => 'Užívateľské meno',
|
||||
'UI:Login:PasswordPrompt' => 'Heslo',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
|
||||
'UI:Login:ResetPassword' => 'Send now!~~',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
|
||||
'UI:ResetPwd-Title' => 'Reset password~~',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...~~',
|
||||
'UI:Login:About' => 'O účte',
|
||||
'UI:Login:ChangeYourPassword' => 'Zmeň heslo',
|
||||
'UI:Login:OldPasswordPrompt' => 'Staré heslo',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Znova zadaj nové heslo',
|
||||
'UI:Login:IncorrectOldPassword' => 'Chyba: staré heslo je nesprávne',
|
||||
'UI:LogOffMenu' => 'Odhlásenie',
|
||||
'UI:LogOff:ThankYou' => 'Ďakujeme za používanie '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Kliknite sem pre nové prihlásenie...',
|
||||
'UI:ChangePwdMenu' => 'Zmeniť heslo...',
|
||||
'UI:Login:PasswordChanged' => 'Heslo úspešne nastavené !',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' je iba na čítanie',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' je iba na čítanie pre uživatelov',
|
||||
'UI:ApplicationEnvironment' => 'Aplikačné prostredie: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Nové heslo a znova zadané nové heslo sa nezhodujú !',
|
||||
'UI:Button:Login' => 'Vstup do '.ITOP_APPLICATION_SHORT,
|
||||
'UI:Login:Error:AccessRestricted' => 'Prístup do '.ITOP_APPLICATION_SHORT.'u je obmedzený. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Prístup je vyhradený len pre ľudí, ktorí majú oprávnenia od administrátora. Kontaktujte prosím '.ITOP_APPLICATION_SHORT.' administrátora.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- vyberte jeden --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignorujte toto pole --',
|
||||
'UI:CSVImport:NoData' => 'Prázdny dátový súbor..., prosím poskytnite nejaké dáta!',
|
||||
|
||||
@@ -400,7 +400,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
'BooleanLabel:yes' => 'evet',
|
||||
'BooleanLabel:no' => 'hayır',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:WelcomeMenu:Title' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz',
|
||||
'UI:WelcomeMenu:AllOpenRequests' => 'Açık istekler: %1$d',
|
||||
'UI:WelcomeMenu:MyCalls' => 'İsteklerim',
|
||||
@@ -559,54 +558,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
|
||||
'UI:SearchValue:CheckAll' => 'Hepsini işaretleyin',
|
||||
'UI:SearchValue:UncheckAll' => 'Hepsinin işaretini kaldırın',
|
||||
'UI:SelectOne' => '-- Birini seçiniz --',
|
||||
'UI:Login:Welcome' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Hatalı kullanıcı/şifre tekrar deneyiniz.',
|
||||
'UI:Login:IdentifyYourself' => 'Devam etmeden önce kendinizi tanıtınız',
|
||||
'UI:Login:UserNamePrompt' => 'Kullanıcı Adı',
|
||||
'UI:Login:PasswordPrompt' => 'Şifre',
|
||||
'UI:Login:ForgotPwd' => 'Şifrenizi mi unuttunuz?',
|
||||
'UI:Login:ForgotPwdForm' => 'Şifrenizi mi unuttunuz?',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.', hesabınızı sıfırlamak için izleyeceğiniz talimatları bulacağınız bir e-posta gönderebilir.',
|
||||
'UI:Login:ResetPassword' => 'Şimdi gönder!',
|
||||
'UI:Login:ResetPwdFailed' => 'Bir e-posta gönderilemedi: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' geçerli bir giriş değil',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Harici hesapların şifre sıfırlama izni yoktur.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'Hesabın şifre sıfırlama izni yoktur.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'Hesap bir kişiyle ilişkili değildir.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'Hesap, bir e-posta özelliğine sahip bir kişiyle ilişkili değildir. Lütfen yöneticinize başvurun.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'Bir e-posta adresi eksik. Lütfen yöneticinize başvurun.',
|
||||
'UI:ResetPwd-Error-Send' => 'E-posta ulaştırma teknik sorunu. Lütfen yöneticinize başvurun.',
|
||||
'UI:ResetPwd-EmailSent' => 'Lütfen e-posta kutunuzu kontrol edin ve talimatları izleyin...',
|
||||
'UI:ResetPwd-EmailSubject' => ITOP_APPLICATION_SHORT.'şifrenizi sıfırlayın',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>'.ITOP_APPLICATION_SHORT.' şifrenizin sıfırlanması talebinde bulundunuz.</p><p> Yeni şifre oluşturmak için lütfen aşağıdaki tek kullanımlık bağlantıyı <a href=\\"%1$s\\">takip ediniz.</a></p>',
|
||||
'UI:ResetPwd-Title' => 'Şifre sıfırla',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Üzgünüz, ya parola zaten sıfırlandı ya da birkaç e-posta aldınız. Lütfen aldığınız en son e-postada verilen bağlantıyı kullandığınızdan emin olun',
|
||||
'UI:ResetPwd-Error-EnterPassword' => '\'%1$s\' hesabı için yeni bir şifre girin.',
|
||||
'UI:ResetPwd-Ready' => 'Şifre değiştirildi.',
|
||||
'UI:ResetPwd-Login' => 'Giriş yapmak için buraya tıklayın...',
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo~~',
|
||||
'UI:Login:ChangeYourPassword' => 'Şifre Değiştir',
|
||||
'UI:Login:OldPasswordPrompt' => 'Mevcut şifre',
|
||||
'UI:Login:NewPasswordPrompt' => 'Yeni şifre',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Yeni şifre tekrar',
|
||||
'UI:Login:IncorrectOldPassword' => 'Hata: mevcut şifre hatalı',
|
||||
'UI:LogOffMenu' => 'Çıkış',
|
||||
'UI:LogOff:ThankYou' => ITOP_APPLICATION_SHORT.' Kullanıdığınız için teşekkürler',
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Tekrar bağlanmak için tıklayınız...',
|
||||
'UI:ChangePwdMenu' => 'Şifre değiştir...',
|
||||
'UI:Login:PasswordChanged' => 'Şifre başarıyla ayarlandı!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' salt okunurdur',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' sadece son kullanıcılar için okunurdur',
|
||||
'UI:ApplicationEnvironment' => 'Uygulama Ortamı: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Yeni şifre eşlenmedi !',
|
||||
'UI:Button:Login' => ITOP_APPLICATION_SHORT.'\'a Giriş',
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' erişim sınırlandırıldı. Sistem yöneticisi ile irtibata geçiniz',
|
||||
'UI:Login:Error:AccessAdmin' => 'Erişim sistem yönetci hesaplaları ile mümkün. Sistem yöneticisi ile irtibata geçiniz.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- Birini seçiniz --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- alanı ihmal et --',
|
||||
'UI:CSVImport:NoData' => 'Boş veri seti..., veri giriniz!',
|
||||
|
||||
58
dictionaries/ui/pages/login/cs.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/cs.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license https://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', [
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
|
||||
'UI:Login:Welcome' => 'Vítejte v '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Nesprávné uživatelské jméno nebo heslo. Zkuste to prosím znovu.',
|
||||
'UI:Login:IdentifyYourself' => 'Před pokračováním se prosím identifikujte.',
|
||||
'UI:Login:UserNamePrompt' => 'Uživatelské jméno',
|
||||
'UI:Login:PasswordPrompt' => 'Heslo',
|
||||
'UI:Login:ForgotPwd' => 'Zapomněli jste své heslo?',
|
||||
'UI:Login:ForgotPwdForm' => 'Zapomenuté heslo',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' vám může zaslat instrukce pro obnovení vašeho hesla.',
|
||||
'UI:Login:ResetPassword' => 'Zaslat nyní!',
|
||||
'UI:Login:ResetPwdFailed' => 'Chyba při odesílání emailu: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' není platné uživatelské jméno',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'obnova hesla u externích účtů není možná.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'obnova hesla u tohoto účtu není povolená.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'účet není spojen s žádnou osobou.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'účet není spojen s osobou s uvedenou emailovou adresou. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'chybí emailová adresa. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-Error-Send' => 'technický problém při odesílání emailu. Kontaktujte administrátora.',
|
||||
'UI:ResetPwd-EmailSent' => 'Zkontrolujte prosím svoji emailovou schránku a postupujte podle pokynů. Pokud žádný email neobdržíte, zkontrolujte prosím zadané uživatelské jméno.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Obnovení hesla pro '.ITOP_APPLICATION_SHORT,
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Vyžádali jste obovení hesla pro '.ITOP_APPLICATION_SHORT.'.</p><p>Pokračujte kliknutím na následující <a href="%1$s">jednorázový odkaz</a> a zadejte nové heslo.</p>',
|
||||
'UI:ResetPwd-Title' => 'Obnovení hesla',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Omlouváme se, ale heslo již bylo obnoveno nebo jste obdrželi více emailů. Ujistěte se, že používate odkaz z posledního emailu který jste obdrželi.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Vložte nové heslo k účtu \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'Heslo bylo obnoveno.',
|
||||
'UI:ResetPwd-Login' => 'Pro přihlášení klikněte zde...',
|
||||
|
||||
'UI:Login:About' => '',
|
||||
'UI:Login:ChangeYourPassword' => 'Změnit heslo',
|
||||
'UI:Login:OldPasswordPrompt' => 'Původní heslo',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nové heslo',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Znovu nové heslo',
|
||||
'UI:Login:IncorrectOldPassword' => 'Chyba: původní heslo je nesprávné',
|
||||
'UI:LogOffMenu' => 'Odhlásit',
|
||||
'UI:LogOff:ThankYou' => 'Děkujeme za užívání '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Klikněte zde pro nové přihlášení...',
|
||||
'UI:ChangePwdMenu' => 'Změnit heslo',
|
||||
'UI:Login:PasswordChanged' => 'Heslo nastaveno úspěšně!',
|
||||
'UI:Login:PasswordNotChanged' => 'Chyba: heslo je stejné jako přechozí!',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Nová hesla se neshodují!',
|
||||
'UI:Button:Login' => 'Přihlásit',
|
||||
'UI:Login:Error:AccessRestricted' => 'Přístup je omezen. Kontaktujte administrátora.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Přístup vyhrazen osobám s administrátorskými právy. Kontaktujte administrátora.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Neznámá organizace',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Více kontaktů má stejný email',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Není zadán platný profil',
|
||||
]);
|
||||
58
dictionaries/ui/pages/login/da.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/da.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license https://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', [
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
|
||||
'UI:Login:Welcome' => 'Velkommen til '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Ukorrekt login/adgangskode, venligst prøv igen.',
|
||||
'UI:Login:IdentifyYourself' => 'Identificer dig før du fortsætter',
|
||||
'UI:Login:UserNamePrompt' => 'Bruger Navn',
|
||||
'UI:Login:PasswordPrompt' => 'Adgangskode',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?~~',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password~~',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.~~',
|
||||
'UI:Login:ResetPassword' => 'Send now!~~',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s~~',
|
||||
'UI:Login:SeparatorOr' => 'Or~~',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login~~',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.~~',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.~~',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.~~',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.~~',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password~~',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.~~',
|
||||
'UI:ResetPwd-Title' => 'Reset password~~',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.~~',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.~~',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.~~',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...~~',
|
||||
|
||||
'UI:Login:About' => 'Om',
|
||||
'UI:Login:ChangeYourPassword' => 'Skift Adgangskode',
|
||||
'UI:Login:OldPasswordPrompt' => 'Gammel Adgangskode',
|
||||
'UI:Login:NewPasswordPrompt' => 'Ny Adgangskode',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Gentag ny adgangskode',
|
||||
'UI:Login:IncorrectOldPassword' => 'Fejl: den gamle adgangskode er forkert',
|
||||
'UI:LogOffMenu' => 'Log ud',
|
||||
'UI:LogOff:ThankYou' => 'Tak for at du brugte '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Klik her for at logge ind igen...',
|
||||
'UI:ChangePwdMenu' => 'Skift Adgangskode...',
|
||||
'UI:Login:PasswordChanged' => 'Adgangskode oprettet med success!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!~~',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Ny adgangskode og gentaget adgangskode passer ikke sammen!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION_SHORT,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' adgang er begrænset. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Adgang er begrænset til administratorer. Venligst, kontakt en '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization~~',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail~~',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided~~',
|
||||
]);
|
||||
58
dictionaries/ui/pages/login/de.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/de.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license https://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', [
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
|
||||
'UI:Login:Welcome' => 'Willkommen bei '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Ungültiges Passwort oder Login-Daten. Bitte versuchen Sie es erneut.',
|
||||
'UI:Login:IdentifyYourself' => 'Bitte identifizieren Sie sich, bevor Sie fortfahren.',
|
||||
'UI:Login:UserNamePrompt' => 'Benutzername',
|
||||
'UI:Login:PasswordPrompt' => 'Passwort',
|
||||
'UI:Login:ForgotPwd' => 'Neues Passwort zusenden',
|
||||
'UI:Login:ForgotPwdForm' => 'Neues Passwort zusenden',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' kann Ihnen eine Mail mit Anweisungen senden, wie Sie Ihren Account/Passwort zurücksetzen können',
|
||||
'UI:Login:ResetPassword' => 'Jetzt senden!',
|
||||
'UI:Login:ResetPwdFailed' => 'Konnte keine E-Mail versenden: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'oder',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' ist kein gültiger Login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Passwort-Reset bei externem Benutzerkonto nicht möglich',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'das Benutzerkonto erlaubt keinen Passwort-Reset. ',
|
||||
'UI:ResetPwd-Error-NoContact' => 'das Benutzerkonto ist nicht mit einer Person verknüpft. ',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'das Benutzerkonto ist nicht mit einer Person verknüpft, die eine Mailadresse besitzt. Bitte wenden Sie sich an Ihren Administrator. ',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'die E-Mail-Adresse dieses Accounts fehlt. Bitte kontaktieren Sie Ihren Administrator.',
|
||||
'UI:ResetPwd-Error-Send' => 'Beim Versenden der E-Mail trat ein technisches Problem auf. Bitte kontaktieren Sie Ihren Administrator.',
|
||||
'UI:ResetPwd-EmailSent' => 'Bitte schauen Sie in Ihre Mailbox und folgen Sie den Anweisungen.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.'-Passworts',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Sie haben das Zurücksetzen Ihres '.ITOP_APPLICATION_SHORT.' Passworts angefordert.</p><p>Bitte folgen Sie diesem Link (funktioniert nur einmalig) : <a href="%1$s">neues Passwort eingeben</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Passwort zurücksetzen',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Entschuldigung, aber entweder das Passwort wurde bereits zurückgesetzt, oder Sie haben mehrere E-Mails für das Zurücksetzen erhalten. Bitte nutzen Sie den link in der letzten Mail, die Sie erhalten haben.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Geben Sie ein neues Passwort für das Konto \'%1$s\' ein.',
|
||||
'UI:ResetPwd-Ready' => 'Das Passwort wurde geändert. ',
|
||||
'UI:ResetPwd-Login' => 'Klicken Sie hier um sich einzuloggen...',
|
||||
|
||||
'UI:Login:About' => 'iTop Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Ändern Sie Ihr Passwort',
|
||||
'UI:Login:OldPasswordPrompt' => 'Altes Passwort',
|
||||
'UI:Login:NewPasswordPrompt' => 'Neues Passwort',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Wiederholen Sie Ihr neues Passwort',
|
||||
'UI:Login:IncorrectOldPassword' => 'Fehler: das alte Passwort ist ungültig',
|
||||
'UI:LogOffMenu' => 'Abmelden',
|
||||
'UI:LogOff:ThankYou' => 'Vielen Dank dafür, dass Sie '.ITOP_APPLICATION_SHORT.' benutzen!',
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Klicken Sie hier, um sich wieder anzumelden...',
|
||||
'UI:ChangePwdMenu' => 'Passwort ändern...',
|
||||
'UI:Login:PasswordChanged' => 'Passwort erfolgreich gesetzt!',
|
||||
'UI:Login:PasswordNotChanged' => 'Fehler: Das Passwort das gleiche!',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Neues Passwort und das wiederholte Passwort stimmen nicht überein!',
|
||||
'UI:Button:Login' => 'in '.ITOP_APPLICATION_SHORT.' anmelden',
|
||||
'UI:Login:Error:AccessRestricted' => 'Der '.ITOP_APPLICATION_SHORT.'-Zugang ist gesperrt. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Zugang nur für Personen mit Administratorrechten. Bitte kontaktieren Sie Ihren '.ITOP_APPLICATION_SHORT.'-Administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unbekannte Organisation',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Mehrere Kontakte mit gleicher E-Mail-Adresse',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Kein gültiges Profil ausgewählt',
|
||||
]);
|
||||
58
dictionaries/ui/pages/login/en.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/en.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', [
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
|
||||
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
|
||||
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
|
||||
'UI:Login:UserNamePrompt' => 'User Name',
|
||||
'UI:Login:PasswordPrompt' => 'Password',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
|
||||
'UI:Login:ResetPassword' => 'Send now!',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated to a person.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please Contact your administrator.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Reset password',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...',
|
||||
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Change Your Password',
|
||||
'UI:Login:OldPasswordPrompt' => 'Old password',
|
||||
'UI:Login:NewPasswordPrompt' => 'New password',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
|
||||
'UI:LogOffMenu' => 'Log off',
|
||||
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to login again...',
|
||||
'UI:ChangePwdMenu' => 'Change Password...',
|
||||
'UI:Login:PasswordChanged' => 'Password successfully set!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access to this page is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
|
||||
]);
|
||||
58
dictionaries/ui/pages/login/en_gb.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/en_gb.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('EN GB', 'British English', 'British English', [
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo',
|
||||
'UI:Login:Welcome' => 'Welcome to '.ITOP_APPLICATION_SHORT.'!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
|
||||
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
|
||||
'UI:Login:UserNamePrompt' => 'User Name',
|
||||
'UI:Login:PasswordPrompt' => 'Password',
|
||||
'UI:Login:ForgotPwd' => 'Forgot your password?',
|
||||
'UI:Login:ForgotPwdForm' => 'Forgot your password',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' can send you an email in which you will find instructions to follow to reset your account.',
|
||||
'UI:Login:ResetPassword' => 'Send now!',
|
||||
'UI:Login:ResetPwdFailed' => 'Failed to send an email: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'Or',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' is not a valid login',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'external accounts do not allow password reset.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'the account does not allow password reset.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'the account is not associated with a person.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'the account is not associated to a person having an email attribute. Please contact your administrator.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'missing an email address. Please Contact your administrator.',
|
||||
'UI:ResetPwd-Error-Send' => 'email transport technical issue. Please Contact your administrator.',
|
||||
'UI:ResetPwd-EmailSent' => 'Please check your email box and follow the instructions. If you receive no email, please check the login you typed.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Reset your '.ITOP_APPLICATION_SHORT.' password',
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>You have requested to reset your '.ITOP_APPLICATION_SHORT.' password.</p><p>Please follow this link (single usage) to <a href="%1$s">enter a new password</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Reset password',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Sorry, either the password has already been reset, or you have received several emails. Please make sure that you use the link provided in the very last email received.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Enter a new password for the account \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.',
|
||||
'UI:ResetPwd-Login' => 'Click here to log in...',
|
||||
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Change Your Password',
|
||||
'UI:Login:OldPasswordPrompt' => 'Old password',
|
||||
'UI:Login:NewPasswordPrompt' => 'New password',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
|
||||
'UI:LogOffMenu' => 'Log off',
|
||||
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to log in again...',
|
||||
'UI:ChangePwdMenu' => 'Change Password...',
|
||||
'UI:Login:PasswordChanged' => 'Password successfully set!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: Password is the same!',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access to this page is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organisation',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
|
||||
]);
|
||||
58
dictionaries/ui/pages/login/es_cr.dictionary.itop.login.php
Normal file
58
dictionaries/ui/pages/login/es_cr.dictionary.itop.login.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2026 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
|
||||
'UI:Login:Title' => 'Inicio de Sesión',
|
||||
'UI:Login:Logo:AltText' => ITOP_APPLICATION_SHORT.' logo~~',
|
||||
'UI:Login:Welcome' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
|
||||
'UI:Login:IncorrectLoginPassword' => 'Usuario/Contraseña incorrecto, por favor intente otra vez.',
|
||||
'UI:Login:IdentifyYourself' => 'Identifiquese antes de continuar',
|
||||
'UI:Login:UserNamePrompt' => 'Usuario ',
|
||||
'UI:Login:PasswordPrompt' => 'Contraseña',
|
||||
'UI:Login:ForgotPwd' => '¿Olvidó su contraseña?',
|
||||
'UI:Login:ForgotPwdForm' => 'Olvido de Contraseña',
|
||||
'UI:Login:ForgotPwdForm+' => ITOP_APPLICATION_SHORT.' puede enviarle un correo en el cual encontrará las instrucciones a seguir para restablecer su contraseña.',
|
||||
'UI:Login:ResetPassword' => 'Enviar Ahora',
|
||||
'UI:Login:ResetPwdFailed' => 'Error al enviar correo-e: %1$s',
|
||||
'UI:Login:SeparatorOr' => 'O',
|
||||
|
||||
'UI:ResetPwd-Error-WrongLogin' => '\'%1$s\' no es un usuario válido',
|
||||
'UI:ResetPwd-Error-NotPossible' => 'Cuentas externas no permiten restablecimiento de contraseña.',
|
||||
'UI:ResetPwd-Error-FixedPwd' => 'La cuenta no permite restablecimiento de contraseña.',
|
||||
'UI:ResetPwd-Error-NoContact' => 'La cuenta no está asociada a una persona.',
|
||||
'UI:ResetPwd-Error-NoEmailAtt' => 'La cuenta no está asociada a una persona con correo electrónico. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-Error-NoEmail' => 'Falta dirección de correo electrónico. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-Error-Send' => 'Falla al envar un correo. Por favor contacte al administrador.',
|
||||
'UI:ResetPwd-EmailSent' => 'Por favor verifique su buzón de correo y siga las instrucciones. Si no recibe el mensaje, por favor verifique la cuenta proporcionada.',
|
||||
'UI:ResetPwd-EmailSubject' => 'Restablecer contraseña de '.ITOP_APPLICATION_SHORT,
|
||||
'UI:ResetPwd-EmailBody' => '<body><p>Ha solicitado restablecer su contraseña en '.ITOP_APPLICATION_SHORT.'.</p><p>Por favor de click en la siguiente liga: <a href="%1$s">proporcione una nueva contraseña</a></p>.',
|
||||
'UI:ResetPwd-Title' => 'Restablecer Contraseña',
|
||||
'UI:ResetPwd-Error-InvalidToken' => 'Lo siento, tal vez su contraseña ya ha sido cambiada, o ha recibido varios correos electrónicos. Por favor asegurese de haber dado click a la liga del último correo recibido.',
|
||||
'UI:ResetPwd-Error-EnterPassword' => 'Contraseña Nueva para \'%1$s\'.',
|
||||
'UI:ResetPwd-Ready' => 'La contraseña ha sido cambiada.',
|
||||
'UI:ResetPwd-Login' => 'Click aquí para conectarse ',
|
||||
|
||||
'UI:Login:About' => 'Acerca de',
|
||||
'UI:Login:ChangeYourPassword' => 'Cambie su Contraseña',
|
||||
'UI:Login:OldPasswordPrompt' => 'Contraseña Actual',
|
||||
'UI:Login:NewPasswordPrompt' => 'Contraseña Nueva',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Confirme Contraseña Nueva',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: la Contraseña Anterior es Incorrecta',
|
||||
'UI:LogOffMenu' => 'Cerrar Sesión',
|
||||
'UI:LogOff:ThankYou' => 'Gracias por usar '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click aquí para conectarse nuevamente',
|
||||
'UI:ChangePwdMenu' => 'Cambiar Contraseña',
|
||||
'UI:Login:PasswordChanged' => '¡Contraseña Exitosamente Cambiada!',
|
||||
'UI:Login:PasswordNotChanged' => 'Error: ¡La contraseña es la misma!',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => '¡La Nueva Contraseña y su Confirmación No Coinciden!',
|
||||
'UI:Button:Login' => 'Entrar',
|
||||
'UI:Login:Error:AccessRestricted' => 'El acceso a '.ITOP_APPLICATION_SHORT.' está restringido. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Acceso restringido a usuarios con privilegio de administrador. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Organización desconocida',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Varios contactos tienen la misma dirección de correo electrónico',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Perfil inválido',
|
||||
]);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user