Retiring TripleO-UI

Depends-On: https://review.opendev.org/#/c/661332
Change-Id: Id342707ec1f32cdb2914fdcec4f1531e551ebd98
This commit is contained in:
Jason E. Rist 2019-05-23 14:31:07 -06:00 committed by Alex Schultz
parent d1baef537f
commit b6367383e4
544 changed files with 5 additions and 62709 deletions

View File

@ -1,20 +0,0 @@
{
"presets": ["env", "stage-0", "react"],
"plugins": [
[
"react-intl",
{
"messagesDir": "./i18n/extracted-messages/",
"enforceDescriptions": false
}
],
[
"react-intl",
{
"messagesDir": "./i18n/extracted-messages/",
"enforceDescriptions": false,
"moduleSourceName": "./redux-form-validators"
}
]
]
}

View File

@ -1,10 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
[*.js]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

View File

@ -1,43 +0,0 @@
{
"rules": {
"arrow-body-style": [2, "as-needed"],
"default-case": 0,
"linebreak-style": [2, "unix"],
"no-cond-assign": [2, "except-parens"],
"no-console": 2,
"no-else-return": 0,
"no-param-reassign": 0,
"no-unneeded-ternary": 1,
"no-unused-vars": [1, { "vars": "local", "args": "none" }],
"radix": 0,
"prettier/prettier": ["error", { "singleQuote": true }],
"react/jsx-boolean-value": [1, "never"],
"react/jsx-no-duplicate-props": 1,
"react/jsx-no-undef": 1,
"react/sort-prop-types": 1,
"react/jsx-sort-props": 0,
"react/jsx-uses-react": 1,
"react/jsx-uses-vars": 1,
"react/no-danger": 1,
"react/no-did-mount-set-state": 1,
"react/no-did-update-set-state": 1,
"react/no-multi-comp": 0,
"react/no-unknown-property": 1,
"react/prop-types": 1,
"react/react-in-jsx-scope": 1,
"react/self-closing-comp": 1,
"react/sort-comp": 1,
"space-infix-ops": 0,
"strict": 0
},
"env": {
"es6": true,
"browser": true,
"jasmine": true,
"node": true,
"jest": true
},
"extends": ["prettier", "prettier/react"],
"plugins": ["prettier", "react"],
"parser": "babel-eslint"
}

19
.gitignore vendored
View File

@ -1,19 +0,0 @@
node_modules
node_modules.tar.gz
dist
tests_results.xml
tripleo-ui-*.tgz
tripleo-ui-*.tar.gz
.DS_Store
.idea
app.conf
messages.pot
i18n/extracted-messages*
npm-debug.log
docs/_build
src/js/components/i18n/messages.js
# Files created by releasenotes build
releasenotes/build
.tox
tripleo_ui.egg-info/

View File

@ -1,3 +0,0 @@
!node_modules.tar.gz
tripleo-ui-*.tgz
tripleo-ui-*.tar.gz

View File

@ -1,24 +0,0 @@
- project:
templates:
- nodejs8-jobs
- nodejs8-publish-to-npm
- release-notes-jobs-python3
check:
jobs:
- tripleo-ci-centos-7-undercloud-containers:
files:
- ^src/.*$
- ^webpack.*$
- ^package.json$
- ^npm-shrinkwrap.json$
- ^.babelrc$
gate:
queue: tripleo-ui
jobs:
- tripleo-ci-centos-7-undercloud-containers:
files:
- ^src/.*$
- ^webpack.*$
- ^package.json$
- ^npm-shrinkwrap.json$
- ^.babelrc$

202
LICENSE
View File

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

5
README.md Normal file
View File

@ -0,0 +1,5 @@
This project is no longer maintained.
The contents of this repository are still available in the Git source code management system. To see the contents of this repository before it reached its end of life, please check out the previous commit with "git checkout HEAD^1".
For any further questions, please email openstack-discuss@lists.openstack.org or join #openstack-dev on Freenode.

View File

@ -1,50 +0,0 @@
========================
Team and repository tags
========================
.. image:: https://governance.openstack.org/tc/badges/tripleo-ui.svg
:target: http://governance.openstack.org/reference/tags/index.html
.. Change things from this point on
Release notes for the project can be found at:
https://docs.openstack.org/releasenotes/tripleo-ui
==========
TripleO UI
==========
Installation
------------
See `installation <docs/installation.rst>`_
Overview
--------
See `overview <docs/overview.rst>`_
Testing
-------
See `testing <docs/testing.rst>`_
Translation
-----------
See `translation <docs/translation.rst>`_
Packaging
---------
See `packaging <docs/packaging.rst>`_
Contributing
------------
See `contributing <docs/contributing.rst>`
License
-------
Apache 2.0, see LICENSE for details.

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# Copyright 2017 Red Hat Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -e
eslint --max-warnings 0 src
./bin/verify-languages.js
./bin/verify-license-headers.sh

View File

@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Copyright 2017 Red Hat Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -e
npm run build
jest

View File

@ -1,61 +0,0 @@
#!/usr/bin/env node
/**
* Copyright 2017 Red Hat Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
const fs = require('fs');
const babel = require('babel-core');
const _ = require('lodash');
const constants = './src/js/constants/i18n.js';
function getConstants() {
const transformed = babel.transformFileSync(constants).code;
const languageNames = eval(transformed).LANGUAGE_NAMES;
delete languageNames['en'];
return Object.keys(languageNames);
}
function getLocaleFiles() {
return fs.readdirSync('i18n/locales').map(function(el) {
return el.split('.')[0];
});
}
function showError(constants, locales) {
let diff, name;
if (constants.length > locales.length) {
diff = _.difference(constants, locales);
name = 'Locales';
} else {
diff = _.difference(locales, constants);
name = 'Constants';
}
console.log(name, 'is missing', diff.join(', '));
}
function main() {
const constants = getConstants();
const localeFiles = getLocaleFiles();
if (constants.length !== localeFiles.length) {
showError(constants, localeFiles);
process.exit(1);
}
}
main();

View File

@ -1,29 +0,0 @@
#!/usr/bin/env bash
# Copyright 2017 Red Hat Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# Ensure that all of our source files contain the Apache 2.0 license header
files=$(git grep --files-without-match -e 'Red Hat' '*.js' '*.less')
if [ -z "$files" ]
then
exit 0
else
echo "The following files are missing a license header:"
echo ""
echo "$files"
exit 1
fi

View File

@ -1,28 +0,0 @@
/**
* Copyright 2017 Red Hat Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
// This is a custom Jest transformer turning style imports into empty objects.
// http://facebook.github.io/jest/docs/tutorial-webpack.html
module.exports = {
process() {
return 'module.exports = {};';
},
getCacheKey(fileData, filename) {
// The output is always the same.
return 'cssTransform';
},
};

View File

@ -1,26 +0,0 @@
/**
* Copyright 2017 Red Hat Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
const path = require('path');
// This is a custom Jest transformer turning file imports into filenames.
// http://facebook.github.io/jest/docs/tutorial-webpack.html
module.exports = {
process(src, filename) {
return 'module.exports = ' + JSON.stringify(path.basename(filename)) + ';';
}
};

View File

@ -1,30 +0,0 @@
window.tripleOUiConfig = {
// Service URLs (defaults to UI host)
//
// A valid Keystone service URL is required. The other endpoints
// will then be obtained automatically from the Keystone catalog.
//
// 'keystone': 'https://192.168.24.2/keystone/v3',
//
// 'heat': 'https://192.168.24.2/heat/v1/%(project_id)s',
// 'ironic': 'https://192.168.24.2/ironic',
// 'ironic-inspector': 'https://192.168.24.2/ironic-inspector',
// 'mistral': 'https://192.168.24.2/mistral/v2',
// 'nova': 'https://192.168.24.2/nova/v2.1',
// 'swift': 'https://192.168.24.2/swift/v1/AUTH_%(project_id)s',
// 'zaqar-websocket': 'wss://192.168.24.2/zaqar',
// Default websocket queue name
// 'zaqar_default_queue': 'tripleo',
// Languages
//
// By default, all available languages are enabled. Use this setting to
// disable certain languages.
//
// 'excludedLanguages': ['de', 'ja'],
// Logging
// 'loggers': ['console', 'zaqar']
// 'logger-zaqar-queue': 'tripleo-ui-logging'
};

View File

@ -1,20 +0,0 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = tripleo-ui
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -1,31 +0,0 @@
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
extensions = ['openstackdocstheme']
source_suffix = '.rst'
master_doc = 'index'
project = u'tripleo-ui'
copyright = u'2017, OpenStack Foundation'
pygments_style = 'sphinx'
htmlhelp_basename = '%sdoc' % project
html_theme = 'openstackdocs'
repository_name = 'openstack/tripleo-ui'
bug_project = 'tripleo'
bug_tag = 'ui'

View File

@ -1,18 +0,0 @@
Contributing
============
Use `OpenStack Gerrit`_ for patches and reviews.
1. ``git clone https://github.com/openstack/tripleo-ui.git``
2. Install git-review: ``sudo dnf install git-review``
3. Setup Gerrit: ``git review -s``
4. Develop on a feature branch locally (If code will close a bug, consider
branch name of 'bug/123456')
5. Commit your changes and follow `best practices on OpenStack Wiki`_
while writing commit message
6. Run ``git review`` to push your patch up for review
7. `Review and merge patches`_ on OpenStack Gerrit
.. _OpenStack Gerrit: https://docs.openstack.org/infra/manual/developers.html
.. _best practices on OpenStack Wiki: https://wiki.openstack.org/wiki/GitCommitMessages
.. _Review and merge patches: https://review.openstack.org/#/q/project:openstack/tripleo-ui

View File

@ -1,26 +0,0 @@
.. tripleo-ui documentation master file, created by
sphinx-quickstart on Tue Jan 24 10:31:02 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Tripleo UI's developer documentation!
================================================
.. toctree::
:maxdepth: 2
:caption: Contents:
installation
overview
testing
translation
logging
packaging
production
contributing
* `Source code`_
* `Bugs`_
.. _Source code: https://github.com/openstack/tripleo-ui
.. _Bugs: https://bugs.launchpad.net/tripleo/+bugs?field.tag=ui

View File

@ -1,135 +0,0 @@
Installation
============
Development environment setup
-----------------------------
Ideally, you should have one powerful machine ("virt host") on which you will
install TripleO (the backend). For the development work on the TripleO UI, we
recommend installing and configuring the UI directly on your workstation ("local
machine") and then pointing it to the machine hosting the TripleO installation.
Install TripleO
---------------
Do these steps on the virt host.
Follow the `official docs`_ to install and configure TripleO (follow the step up to
and including the Undercloud installation).
.. _official docs: https://docs.openstack.org/tripleo-docs/latest/
Once the undercloud is installed, you will need to create a tunnel on your virt
host, to make the services running on undercloud available to the UI. The tunnel
has the following format:
::
ssh -N root@<undercloud_ip> \
-L 0.0.0.0:<service_port>:<service_ip>:<service_port>
# Repeat the last line for each service.
If you installed the UI with SSL the ``service_ip`` is the value of
``undercloud_public_ip`` in undercloud.conf. The ports needed are: 13385,
13000, 13004, 13808, 9000, 13989 and 443.
If you installed the UI **without** SSL, the ``service_ip`` is the value of
``network_gateway`` in undercloud.conf. The ports needed are: 6385, 5000, 8004,
8080, 9000, 8989 and 3000.
Example (with SSL enabled):
::
ssh -N root@192.168.122.205 \
-L 0.0.0.0:13385:192.0.2.2:13385 \
-L 0.0.0.0:13000:192.0.2.2:13000 \
-L 0.0.0.0:13004:192.0.2.2:13004 \
-L 0.0.0.0:13808:192.0.2.2:13808 \
-L 0.0.0.0:9000:192.0.2.2:9000 \
-L 0.0.0.0:13989:192.0.2.2:13989 \
-L 0.0.0.0:443:192.0.2.2:443
Example (without SSL):
::
ssh -N root@192.168.122.205 \
-L 0.0.0.0:6385:192.0.2.1:6385 \
-L 0.0.0.0:5000:192.0.2.1:5000 \
-L 0.0.0.0:8004:192.0.2.1:8004 \
-L 0.0.0.0:8080:192.0.2.1:8080 \
-L 0.0.0.0:9000:192.0.2.1:9000 \
-L 0.0.0.0:8989:192.0.2.1:8989 \
-L 0.0.0.0:3000:192.0.2.1:3000
Install Validations
-------------------
To install Validations as part of your undercloud, make sure
``enable_validations`` is set to ``true`` in ``undercloud.conf``, prior to
running ``openstack undercloud install``.
Install TripleO UI
------------------
Do these steps on the local machine.
Install nodejs and npm:
::
sudo dnf install nodejs
To compile and install native addons from npm you may also need to install build
tools:
::
sudo dnf install gcc-c++ make
Clone the TripleO UI repo, change into the newly clone directory, install the
dependencies and start the development server:
::
git clone https://github.com/openstack/tripleo-ui.git
cd tripleo-ui
npm install
npm start
Optionally start Karma to run tests after every change:
::
npm run test:watch
Create the ``dist/`` directory, and copy ``config/tripleo_ui_config.js.sample``
to ``dist/tripleo_ui_config.js``. Uncomment the lines pertaining to OpenStack
services (``keystone``, ``tripleo``, etc), and add the urls where these services
can be accessed (in this case, the IP address of the virt host). You can set
values for the other services as well to override the values coming from the
keystone serviceCatalog.
::
mkdir dist
cp config/tripleo_ui_config.js.sample dist/tripleo_ui_config.js
To access the UI, navigate to ``http://localhost:3000/``
Troubleshooting installation
----------------------------
In case of problems with the nodejs installation, refer to this `guide`_.
.. _guide: https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
In case of errors during ``npm install``, remove ``node_modules`` directory and
clean npm cache, then run ``npm install`` again:
::
rm -rf node_modules
npm cache clean
npm install

View File

@ -1,63 +0,0 @@
Logging
=======
This document describes how logging works in tripleo-ui.
Collection
----------
Logs are collected by using the logging service. The logging service has an API
similar to the ``console`` API in modern browsers. This means that we can use
the standard "info", "warn", "error" semantics.
Import the logging service like this:
.. code-block:: js
import logger from './src/js/services/logging/LoggingService';
And then use the logger object directly:
.. code-block:: js
logger.error('Something bad happened.')
Logs are collected to two different places: the browser console and a Zaqar
queue on the undercloud. This is done via logging adapters in
``src/js/services/logging/adapters``. Adapters share a common API and allow us
to send logging data to multiple destinations, and to enable and disable them
based on our needs.
We collect standard logging data via logging statements introduced to our code
by application developers. In addition to that, we collect data via the
redux-logger mechanism. This records application state changes, and the
application state itself.
Configuration
-------------
Logging can be configured in the ``tripleo_ui_config.js`` file. You can enable
or disable certain loggers in the ``loggers`` array, and you can change the name
of the Zaqar queue where your messages will be sent. By default, the name of
the queue is different from the normal TripleO queue to avoid any conflicts.
Storage
-------
Once messages arrive in the configured Zaqar queue, they wait to be persisted in
Swift. Once an hour, a cron-triggered Mistral workflow drains the queue,
formats the messages into log lines, and persists them in a Swift object. This
object lives in a container called ``tripleo-ui-logs``.
The Mistral workflow also checks if the log file has reached or exceeded 10MB in
size, and if so, it will rotate the log.
Retrieval
---------
Logs can be retrieved from Swift by using the Debug part of the interface. It
can be accessed from the navbar in the upper right corner. You request the
logs, and Mistral will gather them for you, put them in a tar archive, and make
them available at a temporary Swift url for you to download.
Logs are also included in sosreports.

View File

@ -1,44 +0,0 @@
Overview
========
There are four major tools that we use to develop the TripleO UI:
* React
* Redux
* Babel
* Webpack
React
-----
React is the presentation layer.
https://github.com/facebook/react
Redux
-----
Redux is the data layer. It's responsible for managing the state of the
application. If you want to change a piece of data in the application, you need
to go through Redux. Most of the Redux code is contained in Action and Reducer
files.
https://github.com/reactjs/redux
Babel
-----
Babel is a translation layer that allows us to write code using recent
Javascript features without having to worry about browser compatibility. We can
write code in es6, and Babel will compile this to standard Javascript.
https://github.com/babel/babel
Webpack
-------
Webpack is our build tool. Webpack uses Babel to actually produce a minified
Javascript file that can be used in production. Webpack gives us a development
server which watches for file changes, and automatically recompiles our code.
https://github.com/webpack/webpack

View File

@ -1,75 +0,0 @@
TripleO UI packaging
====================
TL;DR
-----
* We need people from the RDO team to approve all changes
* New packages are built on every upstream merge commit
* Use npm shrinkwrap when updating dependencies in ``package.json``
Upstream
--------
For upstream releases, we only provide a source tarball. This is released via
the ``project-config`` machinery just like other TripleO projects. The tarball is
produced by running ``npm pack`` in the root of the project, and excludes the
``node_modules`` directory. The tarballs are available `here`_.
RDO
---
The upstream TripleO CI relies on packages provided by the `RDO project`_.
Therefore, it's important to keep the RDO packages up-to-date, and to prevent
the builds from failing.
The product of RDO packaging is a set of two RPMs:
* `openstack-tripleo-ui-deps`_
* `openstack-tripleo-ui`_
And of course, the second one depends on the first one. The `-deps` package
contains the contents of the `node_modules` directory.
An RPM is created from a `.spec` file. These files can be access via the above
GitHub links. Any changes to the files are subject to review by the RDO team.
This can be a lengthy process because software licenses need to be reviewed.
RDO builds packages in two different streams: trunk and stable. Study the
following graphic to understand how code flows through the pipeline:
.. image:: https://www.rdoproject.org/images/documentation/rdo-full-workflow-high-level-no-buildlogs.png
:alt: RDO diagram
What to do when dependencies change
-----------------------------------
This applies both to adding *new* dependencies, and upgrading *existing* ones.
#. Make the required changes in ``package.json``
#. ``$ rm -rf node_modules``
#. ``$ npm cache clean``
#. ``$ npm install``
#. ``$ npm shrinkwrap``
#. Commit those changes along with your dependency changes in
``tripleo-ui``. In the commit message, add a link to the dependency
(GitHub or similar), and indicate the project's license.
#. When you submit the patch, the native npm jobs will pass but the
undercloud gate job will fail because the dependency isn't yet in
the `openstack-tripleo-ui-deps`_ package. This is expected. Have
the patch be normally reviewed.
#. Once it's about ready to merge, ask RDO to review the licensing.
#. Update the `openstack-tripleo-ui-deps`_ package. Currently, this
is done by submitting a pull request on GitHub. There are plans in
place to move the workflow for this repository to the gerrit
system.
#. (Once per release) Update the `openstack-tripleo-ui`_ spec so that
it points to the new version of `openstack-tripleo-ui-deps`_. This
is done by submitting a patch via `gerrit`_.
#. Recheck the patch. All jobs now pass.
.. _here: http://tarballs.openstack.org/tripleo-ui/
.. _openstack-tripleo-ui-deps: https://github.com/rdo-common/openstack-tripleo-ui-deps
.. _openstack-tripleo-ui: https://github.com/rdo-packages/tripleo-ui-distgit/tree/rpm-master
.. _RDO project: https://www.rdoproject.org
.. _gerrit: https://review.rdoproject.org

View File

@ -1,12 +0,0 @@
Production
==========
Building for production
-----------------------
::
$ npm run build
This will produce a minified and mangled file in ``dist/tripleo_ui.js``. It
also enables React production mode.

View File

@ -1,48 +0,0 @@
Testing
=======
Single test run
---------------
- ``npm test`` (alternatively run ``karma start --single-run``)
- ``npm run lint`` to run `prettier`_
.. _prettier: https://github.com/prettier/prettier
Tests during development
------------------------
Start Karma to run tests after every change ``npm run test:watch``.
Testing a production build locally
----------------------------------
::
$ <kill your webpack-dev-server process>
$ npm run build
$ cd dist
$ python -m SimpleHTTPServer 1111
$ <go to http://localhost:1111 in the browser>
Debugging tests
---------------
1. option
- use ``console.log`` in the test and see the output in karma server output
2. option
- install karma-chrome-launcher npm module
``npm install karma-chrome-launcher --save-dev``
- replace/add 'Chrome' to browsers in ``karma.conf.js``
- now Karma will launch Chrome to run the tests
- use ``debugger;`` statement in test code to add breakpoints
- in Karma Chrome window click 'debug' button and debug in chrome developer
tools as usual
- optionally you can use `karma-jasmine-html-reporter`_ for better test output
- make sure you don't push those changes to ``karma.conf.js`` and
``package.json`` as part of your patch
.. _karma-jasmine-html-reporter: https://www.npmjs.com/package/karma-jasmine-html-reporter

View File

@ -1,45 +0,0 @@
Translation
===========
Tripleo UI uses the react-intl package for translation.
Adding translatable strings
----------------------------
Strings are prepared for translation using react-intl's ``defineMessages``
API. Check out ``./src/js/components/deployment_plan/`` for examples.
Extracting messages from components
-----------------------------------
Messages are extracted during the build process (``npm run build``) and stored
in the ``./i18n/extracted-messages/`` folder. These files can be converted into
a single ``.pot`` file with this command:
::
npm run json2pot
The resulting file (``./i18n/messages.pot``) can be uploaded to
`Zanata`_ to create/update the translation. (Note: translations for the
TripleO UI are synced from the `OpenStack Zanata`_ instance.)
.. _Zanata: http://zanata.org
.. _OpenStack Zanata: https://translate.openstack.org/project/view/tripleo-ui
Using translated ``.po`` files
------------------------------
The translated language file (``messages.po``) then needs to be converted into
one JSON file per language (Japanese in this example):
::
npm run po2json -- ./i18n/ja.po -o ./i18n/locales/ja.json
Adding a new language
---------------------
When a new language is added, we need to update the ``src/constants/i18n.js``
file with the name and abbreviation of the language.

View File

@ -1,484 +0,0 @@
{
"de": {
"AuthenticatedContent.loadingDeployments": "Lade Bereitstellung...",
"AvailableRoleDetailDialog.close": "Schliessen",
"AvailableRoleDetailDialog.descriptionLabel": "Beschreibung:",
"AvailableRoleDetailDialog.dialogTitle": "",
"AvailableRoleDetailDialog.disable": "",
"AvailableRoleDetailDialog.enable": "",
"AvailableRoleDetailDialog.networksLabel": "",
"AvailableRoleDetailDialog.servicesLabel": "",
"AvailableRoleDetailDialog.tagsLabel": "",
"ConfigureContainerImagesStep.editConfigurationLink": "Konfiguration bearbeiten",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "",
"ConfigureNetworkStep.editConfigurationLink": "Konfiguration bearbeiten",
"ConfigurePlanStep.editConfigurationLink": "Konfiguration bearbeiten",
"ContainerImagePrepareParameterForm.updatingConfiguration": "Aktualisiere Konfiguration...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "",
"ContainerImagePrepareParameterFormActions.back": "",
"ContainerImagePrepareParameterFormActions.close": "Schliessen",
"ContainerImagePrepareParameterFormActions.save": "\u00c4nderungen speichern",
"ContainerImagesActions.configureImagesFailed": "",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "",
"ContainerImagesConfigurationSummary.namespaceLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.generatingConfiguration": "",
"ContainerImagesPrepareForm.namePrefixDescription": "",
"ContainerImagesPrepareForm.namePrefixLabel": "",
"ContainerImagesPrepareForm.nameSuffixDescription": "",
"ContainerImagesPrepareForm.nameSuffixLabel": "",
"ContainerImagesPrepareForm.namespaceDescription": "",
"ContainerImagesPrepareForm.namespaceInvalid": "",
"ContainerImagesPrepareForm.namespaceLabel": "",
"ContainerImagesPrepareForm.pushDestinationDescription": "",
"ContainerImagesPrepareForm.pushDestinationLabel": "",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "",
"ContainerImagesPrepareForm.tagDescription": "",
"ContainerImagesPrepareForm.tagFromLabelDescription": "",
"ContainerImagesPrepareForm.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.tagLabel": "",
"ContainerImagesPrepareFormActions.next": "",
"ContainerImagesPrepareFormActions.reset": "",
"ContainerImagesPrepareFormActions.save": "\u00c4nderungen speichern",
"ContainerImagesWizard.cancel": "Abbrechen",
"ContainerImagesWizard.configureImages": "",
"ContainerImagesWizard.loadingData": "",
"ContainerImagesWizard.review": "",
"ContainerImagesWizard.title": "",
"ContentView.list": "Listenansicht",
"ContentView.table": "Tabellenansicht",
"CurrentPlan.backToAllPlans": "Alle Pl\u00e4ne",
"CurrentPlan.configureContainerImagesStepHeader": "",
"CurrentPlan.configureContainerImagesStepTooltip": "",
"CurrentPlan.configureNetworkStepHeader": "Netzwerk konfigurieren",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "Mit diesem Schritt k\u00f6nnen Sie spezielle Einstellungen f\u00fcr das Netzwerk, Speicher und andere zertifizierte Plugins des Overcloud bearbeiten. Verwenden Sie diesen Schritt, um die Konfiguration Ihrer Netzwerkisolation und Ihre Backend-Speichereinstellungen festzulegen.",
"CurrentPlan.configureRolesStepHeader": "Rollen konfigurieren und Knoten zuweisen",
"CurrentPlan.configureRolesStepTooltip": "Im Auswahldialog jeder Rolle k\u00f6nnen Sie der Rolle verf\u00fcgbare Knoten zuweisen oder die Zuweisung von Knoten, die der Rolle bereits zugewiesen sind, aufheben. Sie k\u00f6nnen in diesem Schritt auch rollenspezifische Einstellungen anpassen. Klicken Sie auf das Symbol in der oberen rechten Ecke jeder Rolle, um diese rollenspezifischen Einstellungen anzuzeigen.",
"CurrentPlan.deployStepHeader": "Bereitstellen",
"CurrentPlan.deploymentConfigurationStepHeader": "Bereitstellungskonfiguration anpassen",
"CurrentPlan.deploymentStepTooltip": "Dieser Schritt startet die Bereitstellung der Overcloud. Sobald die Bereitstellung beginnt, k\u00f6nnen Sie den Fortschritt verfolgen und einen Bericht \u00fcber jeden abgeschlossenen, ausgef\u00fchrten oder fehlgeschlagenen Schritt anzeigen.",
"CurrentPlan.hardwareStepHeader": "Hardware vorbereiten",
"CurrentPlan.hardwareStepTooltip": "Die Registrierung von Hardware beinhaltet das Definieren der Energieverwaltungsdetails jedes Knotens, so dass die Anwendung sie w\u00e4hrend der Introspektion und Bereitstellung steuern kann. Introspektion identifiziert die Hardware, die jeder Knoten verwendet, und erstellt ein Profil f\u00fcr jeden Knoten.",
"CurrentPlan.loadingDeploymentStatus": "Lade Bereitstellungsstatus",
"DataTable.filter": "Filter",
"DataTable.itemsVisibleInTable": "Zeige {showing} von {total} Eigenschaften",
"DebugScreen.cancel": "Abbrechen",
"DebugScreen.debugPageTitle": "Debugging information",
"DebugScreen.downloadButton": "Download logs",
"DebugScreen.downloadButtonInProgress": "Downloading logs...",
"DebugScreen.downloadLogs": "Download logs",
"DebugScreen.downloadLogsMessage": "Ihre angefragte Datei ist fertig. Bitte klicken Sie den Button unten zum Download. M\u00f6glicherweise m\u00fcssen Sie mit enem Rechts-Klick w\u00e4hlen \"Speichern unter...\".",
"DebugScreen.downloadingLogsLoader": "Downloading logs...",
"DebugScreen.error": "Beim Vorbereiten des Log-Download ist ein Fehler aufgetreten.",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "Version",
"DeleteDeploymentButton.cancel": "Abbrechen",
"DeleteDeploymentButton.deleteConfirmationQuestion": "SInd Sie sicher, dass Sie die Bereitstellung l\u00f6schen m\u00f6chten?",
"DeleteDeploymentButton.deleteDeployment": "Bereitstellung l\u00f6schen",
"DeleteDeploymentButton.requestingDeletion": "Anfrage zur L\u00f6schung der Bereitstellung",
"DeletePlan.cancel": "Abbrechen",
"DeletePlan.deletePlan": "Plan l\u00f6schen",
"DeletePlan.deletePlanConfirmation": "Sind Sie sicher, dass Sie den Plan {planName} l\u00f6schen m\u00f6chten?",
"DeletePlan.deletePlanName": "L\u00f6schen {planName}",
"Deploy.deleteInProgress": "L\u00f6schen im Gange",
"DeployStep.requestingDeploy": "Eine Bereitstellung wird angefragt...",
"DeployStep.validateAndDeploy": "Validiere und stelle bereit",
"DeploymentConfiguration.deploymentConfiguration": "Bereitstellungskonfiguration",
"DeploymentConfiguration.overallSettings": "Alle Einstellungen",
"DeploymentConfiguration.parameters": "Parameter",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Lade aktuelle Bereitstellungskonfiguration...",
"DeploymentConfirmation.deployButton": "Bereitstellen",
"DeploymentConfirmation.deploymentConfirmation": "Sind Sie sicher, dass sie diesen Plan einrichten m\u00f6chten?",
"DeploymentConfirmation.deploymentConfirmationHeader": "Plan {planName} bereitstellen",
"DeploymentConfirmation.requestingDeploymentLoader": "Eine Bereitstellung wird angefragt...",
"DeploymentConfirmation.summary": "Summe:",
"DeploymentConfirmation.validationsNotificationMessage": "Es wird empfohlen zu warten, bis die Validierung abgeschlossen ist und alle Fehler behoben sind, bevor mit der Bereitstellung fortgefahren wird.",
"DeploymentConfirmation.validationsNotificationTitle": "Die Validierungen vor der Bereitstellung wurden automatisch gestartet.",
"DeploymentDetail.close": "Schliessen",
"DeploymentDetail.loadingDeploymentStatus": "Lade Bereitstellungsstatus",
"DeploymentDetail.modalTitle": "Bereitstellung Plan {planName}",
"DeploymentFailure.deleteDeployment": "Bereitstellung l\u00f6schen",
"DeploymentFailure.fetchingStack": "Lade Bereitstellungsinformation...",
"DeploymentFailure.moreDetails": "Mehr Details",
"DeploymentFailure.requestingDeletion": "Anfrage zur L\u00f6schung der Bereitstellung",
"DeploymentFailures.failuresTableDescription": "Die Konfigurationsphase f\u00fcr die Bereitstellung ist fehlgeschlagen. Im Folgenden finden Sie eine Liste der Fehler, die von ansible run bereitgestellt werden:",
"DeploymentFailures.loadingDeploymentFailures": "Lade Fehler",
"DeploymentFailures.noDeploymentFailures": "Keine Bereitstellungsfehler anzuzeigen",
"DeploymentFailures.nodeTableColumnLabel": "Knoten",
"DeploymentFailures.outputsTableColumnLabel": "Ausgaben",
"DeploymentFailures.taskTableColumnLabel": "Aufgabe",
"DeploymentFailures.title": "Deployment-Konfigurationsfehler",
"DeploymentFailures.viewDetails": "Detailansicht",
"DeploymentProgress.configuringPlan": "Konfiguriere {planName} Bereitstellung",
"DeploymentProgress.deployingPlan": "Bereitstellen von {planName} -Plan ({completeResourcesCount} von Ressourcen {resourcesCount})",
"DeploymentProgress.initializingDeployment": "Initialisiere {planName} Plan Bereitstellung",
"DeploymentProgress.viewInformation": "Detailinformationen anzeigen",
"DeploymentStatus.createComplete": "Bereitstellung erfolgreich",
"DeploymentStatus.createFailed": "Bereitstellung fehlgeschlagen",
"DeploymentStatus.createInProgress": "Bereitstellung im Gange",
"DeploymentStatus.deleteFailed": "L\u00f6schen der Bereitstellung fehlgeschlagen",
"DeploymentStatus.deployed": "Bereitstellung erfolgreich",
"DeploymentStatus.deploying": "Deployment von {planName} Plan wird gerade ausgef\u00fchrt",
"DeploymentStatus.deploymentFailed": "Deployment von {planName} Plan fehlgeschlagen",
"DeploymentStatus.undeployFailed": "Bereitstellung fehlgeschlagen",
"DeploymentStatus.undeployed": "Deployment nicht gestartet",
"DeploymentStatus.undeploying": "Das L\u00f6schen der {planName} -Planbereitstellung wird gerade ausgef\u00fchrt",
"DeploymentStatus.unknown": "Plan {planName} Bereitstellungsstatus konnte nicht geladen werden",
"DeploymentStatus.updateComplete": "Aktualisierung erfolgreich",
"DeploymentStatus.updateFailed": "Aktualisierung fehlgeschlagen",
"DeploymentStatus.updateInProgress": "Aktualisierung im Gange",
"DeploymentStatusShort.deployed": "Bereitstellung erfolgreich",
"DeploymentStatusShort.deploying": "Bereitstellung im Gange",
"DeploymentStatusShort.deploymentFailed": "Bereitstellung fehlgeschlagen",
"DeploymentStatusShort.undeployFailed": "Bereitstellung fehlgeschlagen",
"DeploymentStatusShort.undeployed": "Nicht bereitgestellt",
"DeploymentStatusShort.undeploying": "Deployment l\u00f6schen wird ausgef\u00fchrt",
"DeploymentStatusShort.unknown": "Bereitstellungsstatus konnte nicht geladen werden",
"DeploymentSuccess.resources": "Resourcen",
"DriverFields.ipOrFqdnValidatorMessage": "Bitte geben Sie eine g\u00fcltige IPv4-Adresse oder einen g\u00fcltigen FQDN ein.",
"DriverFields.portValidationMessage": "Bitte geben Sie eine g\u00fcltige Portnummer ein (0 - 65535)",
"EditPlan.cancel": "Abbrechen",
"EditPlan.editPlan": "",
"EditPlan.updatingDeploymentPlan": "Aktualisiere Plan...",
"EditPlan.uploadAndUpdate": "Dateien hochladen und Plan aktualisieren",
"EditPlanFieldsTab.directoryInputDescription": "",
"EditPlanFieldsTab.planFiles": "Plandateien",
"EditPlanFieldsTab.planName": "Planname",
"EditPlanForm.cancel": "Abbrechen",
"EditPlanFormTabs.files": "Dateien",
"EditPlanFormTabs.updatePlan": "Plan aktualisieren",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "Lade Bereitstellungskonfiguration...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "Bereitstellungskonfiguration konnte nicht aktualisiert werden",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "Die Umgebungskonfiguration wurden erfolgreich aktualisiert.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Umgebungskonfiguration aktualisiert",
"EnvironmentConfigurationForm.cancel": "Abbrechen",
"EnvironmentConfigurationForm.missingConfiguration": "Fehlende Konfiguration",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "Die ausgew\u00e4hlten Optionen h\u00e4ngen von anderen Optionen ab, die nicht aktiviert sind",
"EnvironmentConfigurationForm.requiredEnvironments": "Diese Option ben\u00f6tigt zur Aktivierung {requiredEnvironments}.",
"EnvironmentConfigurationForm.saveAndClose": "Sichern und Schliessen",
"EnvironmentConfigurationForm.saveChanges": "\u00c4nderungen speichern",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "Aktualisiere Umgebungskonfiguration",
"ExportPlan.close": "Schliessen",
"ExportPlan.download": "Herunterladen",
"ExportPlan.downloadMessage": "Ihr angefragter Plan ist fertig zum Export. Bitte klicken Sie den Button unten zum Download. M\u00f6glicherweise m\u00fcssen Sie mit enem Rechts-Klick w\u00e4hlen \"Speichern unter...\".",
"ExportPlan.error": "Beim exportieren des Plans ist ein Fehler aufgetreten",
"ExportPlan.exportPlanName": "Export {planName}",
"ExportPlan.exportingPlanLoader": "Exportiere Plan",
"FileList.planFiles": "Plandateien",
"HardwareStep.registerNodes": "Knoten registrieren",
"HorizontalDirectoryInput.filesReady": "",
"HorizontalDirectoryInput.noFilesValidationError": "",
"HorizontalDirectoryInput.readingFiles": "",
"HorizontalDirectoryInput.unreadableFilesValidationError": "",
"I18nDropdown.language": "Sprache",
"ListPlans.importPlan": "Plan importieren",
"LoggerActions.downloadLogsFailedNotificationTitle": "Download logs fehlgeschlagen",
"Login.description": "Dieses Werkzeug f\u00fchrt Sie durch die Konfiguration und Bereitstellung einer OpenStack-Umgebung.",
"Login.login": "Einloggen",
"Login.password": "Passwort",
"Login.passwordRequired": "Passwort erforderlich",
"Login.username": "Benutzername",
"Login.usernameRequired": "Benutzername ist erforderlich.",
"Login.welcome": "Willkommen!",
"NavBar.debug": "Debug",
"NavBar.plansTab": "Pl\u00e4ne",
"NavBar.toggleNavigation": "Navigation umschalten",
"Navbar.nodesTab": "Knoten",
"NetworkConfiguration.close": "Schliessen",
"NetworkConfiguration.loadingData": "Lade Daten...",
"NetworkConfiguration.networkConfiguration": "Netzwerkkonfiguration",
"NetworkConfiguration.networkIsolationWarningLink": "Aktiviere Netzwerkisolation",
"NetworkConfiguration.networkIsolationWarningText": "{enableNetworkIsolationLink} zur Anwendung an diesen Netzwerken.",
"NetworkConfiguration.networkIsolationWarningTitle": "Einige Netzwerke sind nicht verf\u00fcgbar.",
"NetworksActions.fetchNetworksFailed": "Netzwerke konnten nicht geladen werden",
"NewPlan.importPlan": "Plan importieren",
"NewPlan.uploadAndCreate": "Dateien hochladen und Plan erstellen",
"NewPlanForm.cancel": "Abbrechen",
"NewPlanForm.creatingDeploymentPlan": "",
"NoPlans.importPlan": "Plan importieren",
"NoPlans.noPlansAvailable": "Neuer Bereitstellungsplan verf\u00fcgbar",
"NoPlans.noPlansAvailableMessage": "Es sind keine Bereitstellungspl\u00e4ne verf\u00fcgbar. Erstellen Sie einen neuen.",
"NodeColumns.cpuArch": "CPU Arch.",
"NodeColumns.cpus": "CPU (Kerne)",
"NodeColumns.introspectionStatus": "Introspektion Status",
"NodeColumns.localGB": "Festplatte (GB)",
"NodeColumns.macs": "MAC-Adressen",
"NodeColumns.memoryMb": "Speicher (MB)",
"NodeColumns.name": "Name",
"NodeColumns.powerState": "Powerstatus",
"NodeColumns.profile": "Profil",
"NodeColumns.provisionState": "Bereitstellungsstatus",
"NodeDrive.model": "Modell:",
"NodeDrive.notAvailable": "n/v",
"NodeDrive.rootDisk": "Root Ger\u00e4t",
"NodeDrive.serial": "Seriell:",
"NodeDrive.size": "Gr\u00f6sse:",
"NodeDrive.type": "Typ:",
"NodeDrive.vendor": "Lieferant:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN Vendor Extension:",
"NodeDrive.wwnWithExtension": "WWN with Extension:",
"NodeDrives.close": "Schliessen",
"NodeDrives.title": "Knotentreiber - {nodeId}",
"NodeExtendedInfo.macAddresses": "MAC-Adressen:",
"NodeIntrospectionState.introspectionStateLabel": "Introspektion:",
"NodeListItem.Profile": "Profile:",
"NodeListItem.actions.manageDrives": "Treiber verwalten",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, ein {Core} mehrere {Cores}}",
"NodeListItem.gbDisk": "GB Festplatte",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "Wartung",
"NodePowerState.powerOff": "Aus",
"NodePowerState.powerOn": "An",
"NodePowerState.poweringOff": "Strom aus",
"NodePowerState.poweringOn": "Strom an",
"NodePowerState.rebooting": "Neu Starten",
"NodePowerState.unknownPowerState": "Unbekannt",
"NodeProvisionState.deploymentPlanLabel": "",
"NodeProvisionState.provisionStateLabel": "Bereitstellungsstatus:",
"Nodes.loadingNodes": "Lade Knoten...",
"Nodes.nodes": "Knoten",
"Nodes.refreshResults": "Ergebnisse aktualisieren",
"Nodes.registerNodes": "Knoten registrieren",
"Nodes.registeringNodes": "Registriere Knoten...",
"NodesActions.introspectionFailedNotificationTitle": "Knotenintrospektiion fehlgeschlagen",
"NodesActions.introspectionNotificationMessage": "Ausgew\u00e4hlte Knoten wurden erfolgreich introspektiert.",
"NodesActions.introspectionNotificationTitle": "Knotenintrospektion komplett",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "Knoten-Introspektion fehlgeschlagen",
"NodesAssignmentForm.cancel": "Abbrechen",
"NodesAssignmentForm.nodeCountsErrorMessage": "Bitte korrigieren Sie die Knotenanzahl",
"NodesAssignmentForm.nodeCountsErrorTitle": "Die Anzahl der ausgew\u00e4hlten Knoten \u00fcbersteigt die Anzahl der verf\u00fcgbaren Knoten.",
"NodesAssignmentForm.saveChanges": "\u00c4nderungen speichern",
"NodesListForm.operationInProgressValidationMessage": "In einigen der ausgew\u00e4hlten Knoten l\u00e4uft eine Operation",
"NodesListForm.selectNodesValidationMessage": "Bitte zuerst Knoten ausw\u00e4hlen",
"NodesTable.loadingNodes": "Lade Knoten...",
"NodesTable.noNodes": "Es sind keine Knoten verf\u00fcgbar.",
"NodesTableView.deleteNodes": "Knoten l\u00f6schen",
"NodesTableView.deleteNodesModalMessage": "Sind Sie sicher, dass Sie die ausgew\u00e4hlten Knoten l\u00f6schen wollen?",
"NodesTableView.deleteNodesModalTitle": "Knoten l\u00f6schen",
"NodesTableView.introspectNodes": "Introspektive Knoten",
"NodesTableView.provideNodes": "Knoten zur Verf\u00fcgung stellen",
"NodesTableView.tagNodes": "Knotenschlagwort",
"NodesTables.cpuArch": "CPU Arch.",
"NodesTables.cpuCores": "CPU (Kerne)",
"NodesTables.diskGb": "Festplatte (GB)",
"NodesTables.macAddresses": "MAC-Adresse(n)",
"NodesTables.maintenance": "Wartung",
"NodesTables.memoryMb": "Speicher (MB)",
"NodesTables.name": "Name",
"NodesTables.powerState": "Powerstatus",
"NodesTables.profile": "Profil",
"NodesTables.provisionState": "Bereitstellungsstatus",
"NodesToolbar.filterStringPlaceholder": "Filter hinzuf\u00fcgen",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} von {totalCount, number} {totalCount, plural, ein {Node} mehrere {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, ein {Node} mehrere {Nodes}}",
"NodesToolbarActions.deleteNodes": "Knoten l\u00f6schen",
"NodesToolbarActions.deleteNodesModalMessage": "Sind Sie sicher, dass Sie die ausgew\u00e4hlten Knoten l\u00f6schen wollen?",
"NodesToolbarActions.deleteNodesModalTitle": "Knoten l\u00f6schen",
"NodesToolbarActions.disabledButtonsWarning": "Sie m\u00fcssen zuerst den Knoten ausw\u00e4hlen, oder es ist schon auf einigen Knoten eine Operation in Verarbeitung.",
"NodesToolbarActions.introspectNodes": "Introspektive Knoten",
"NodesToolbarActions.manageNodes": "Knoten verwalten",
"NodesToolbarActions.provideNodes": "Knoten zur Verf\u00fcgung stellen",
"NodesToolbarActions.tagNodes": "Knotenschlagwort",
"NodesToolbarForm.sortDir": "Sortierreihenfolge",
"OvercloudInfo.loadingOvercloudInformation": "Lade Bereitstellungsinformation...",
"OvercloudInfo.overcloudInformationHeader": "Deployment Information",
"OvercloudInfo.overcloudIpAddress": "Deployment IP-Adresse:",
"OvercloudInfo.password": "Passwort:",
"OvercloudInfo.username": "Benutzername:",
"PXEAndDRACDriverFields.address": "DRAC Host",
"PXEAndDRACDriverFields.password": "DRAC Passwort",
"PXEAndDRACDriverFields.port": "DRAC Port",
"PXEAndDRACDriverFields.user": "DRAC Benutzername",
"PXEAndIPMIToolDriverFields.address": "IPMI IP-Adress oder FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI Passwort",
"PXEAndIPMIToolDriverFields.port": "IPMI Port",
"PXEAndIPMIToolDriverFields.user": "IPMI Benutzername",
"ParameterInputList.noParameters": "In dieser Sektion sind gerade keine Parameter zu konfigurieren",
"Parameters.general": "Allgemein",
"ParametersActions.parametersUpdatedNotficationMessage": "Die Bereitstellungsparameter wurden erfolgreich aktualisiert.",
"ParametersActions.parametersUpdatedNotficationTitle": "Parameter aktualisiert",
"ParametersActions.updateParametersFailed": "Parameter konnten nicht aktualisiert werden",
"ParametersForm.cancel": "Abbrechen",
"ParametersForm.enterValidJson": "Bitte geben Sie g\u00fcltiges JSON ein.",
"ParametersForm.invalidParameters": "Einige Parameterinhalte sind ung\u00fcltig:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "Sichern und Schliessen",
"ParametersForm.saveChanges": "\u00c4nderungen speichern",
"ParametersForm.updatingParameters": "Aktualisiere Paramter",
"PlanActions.delete": "L\u00f6schen",
"PlanActions.edit": "Editieren",
"PlanActions.export": "Export",
"PlanCard.deletingPlan": "{planName} l\u00f6schen...",
"PlanCard.loadingPlan": "",
"PlanCard.loadingStatus": "Lade Bereitstellungsstatus...",
"PlanCard.updatingPlan": "Aktualisiere {planName}...",
"PlanFieldsTab.directoryInputDescription": "",
"PlanFieldsTab.gitUrlInputDescription": "",
"PlanFieldsTab.tarballInputDescription": "",
"PlanFormTabs.addPlanName": "F\u00fcgen Sie einen Plannamen hinzu",
"PlanFormTabs.files": "Dateien",
"PlanFormTabs.gitUrl": "",
"PlanFormTabs.gitUrlValidationError": "",
"PlanFormTabs.newPlan": "Neuer Plan",
"PlanFormTabs.planFiles": "Plandateien",
"PlanFormTabs.planName": "Planname",
"PlanFormTabs.planNameValidationError": "",
"PlanFormTabs.planTarball": "",
"PlanUploadTypeRadios.gitUrl": "",
"PlanUploadTypeRadios.localDirectory": "",
"PlanUploadTypeRadios.tarArchive": "Tar Archive (.tar.gz or .tgz)",
"PlanUploadTypeRadios.uploadType": "Typen hochladen",
"PlanUploadTypeRadios.useDefaultTemplates": "",
"PlansActions.exportFailedNotificationTitle": "Export fehlgeschlagen",
"PlansActions.planCreatedNotificationMessage": "Der Plan {planName} wurde erfolgreich erstellt.",
"PlansActions.planCreatedNotificationTitle": "Plan wurde erstellt",
"PlansActions.planCreationFailedNotificationMessage": "",
"PlansActions.planDeletedNotificationMessage": "Der Plan {planName} wurde erfolgreich gel\u00f6scht.",
"PlansActions.planDeletedNotificationTitle": "Plan gel\u00f6scht",
"PlansActions.planUpdateFailedNotificationMessage": "Aktualisierung des Plans fehlgeschlagen",
"PlansActions.planUpdatedNotificationMessage": "Der Plan {planName} wurde erfolgreich aktualisiert.",
"PlansActions.planUpdatedNotificationTitle": "Plan aktualisiert",
"PlansList.importPlan": "Plan importieren",
"PlansList.plans": "Pl\u00e4ne",
"PushDestinationInput.pushDestinationOptionCustom": "",
"PushDestinationInput.pushDestinationOptionFalse": "",
"PushDestinationInput.pushDestinationOptionTrue": "",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "Bereitstellungsstatus wiederherstellen",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "Bereitstellungsstatus wiederherstellen",
"RedeployPlanButton.cancel": "Abbrechen",
"RedeployPlanButton.redeployConfirmationQuestion": "",
"RedeployPlanButton.redeployPlan": "",
"RedeployPlanButton.requestingRedeploy": "",
"RegisterNodeForm.General": "Allgemein",
"RegisterNodeForm.architecture": "Architektur",
"RegisterNodeForm.cpuCount": "CPU Anzahl",
"RegisterNodeForm.diskGb": "Festplatte (GB)",
"RegisterNodeForm.driver": "Treiber",
"RegisterNodeForm.enterValidMacAddress": "Bitte geben Sie Liste von g\u00fcltigen MAC-Adressen ein.",
"RegisterNodeForm.hardware": "Hardware",
"RegisterNodeForm.macAddressesDescription": "Wenn Sie mehrere MAC-Adressen angeben, trennen Sie sie bitte durch Komma (z.B. aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Verwaltung",
"RegisterNodeForm.memoryMb": "Speicher (MB)",
"RegisterNodeForm.name": "Name",
"RegisterNodeForm.networking": "Netzwerk",
"RegisterNodeForm.nicMacAddresses": "NIC MAC-Adressen",
"RegisterNodeForm.nodeDetail": "Knotendetails",
"RegisterNodeForm.nodeNameMaxLength": "Knotenname kann bis zu 255 Zeichen lang sein.",
"RegisterNodeForm.nodeNameRegexp": "Namen sind nur konsistent in nichtreservierten RFC3986 Zeichen: alphanumerisch, Bindestrich (-), Punkt (.), Understrich (_) und Tilde (~) .",
"RegisterNodesActions.registrationNotificationMessage": "Die Knoten wurden erfolgreich registriert.",
"RegisterNodesActions.registrationNotificationTitle": "Knotenregistrierung komplett",
"RegisterNodesDialog.addANodeManually": "Neue Knoten manuell hinzuf\u00fcgen oder von einer Datei hochladen.",
"RegisterNodesDialog.addNew": "Neu hinzuf\u00fcgen",
"RegisterNodesDialog.cancel": "Abbrechen",
"RegisterNodesDialog.csvUnsupported": "CSV Upload Unsupported",
"RegisterNodesDialog.invalidJson": "Ung\u00fcltiges JSON",
"RegisterNodesDialog.noNodesToRegister": "\"Keine Knoten zu registrieren\"",
"RegisterNodesDialog.or": "oder",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "Bitte stellen Sie eine CSV-Datei oder ein instackenv.json zur Verf\u00fcgung.",
"RegisterNodesDialog.registerNodes": "Knoten registrieren",
"RegisterNodesDialog.registeringNodes": "Registriere Knoten...",
"RegisterNodesDialog.selectedFileUnsupported": "Das ausgew\u00e4hlte Dateiformat wird noch nicht unterst\u00fctzt.",
"RegisterNodesDialog.undefinedNode": "Nichtdefinierter Knoten",
"RegisterNodesDialog.unsupportedFileFormat": "Nicht unterst\u00fctztes Dateiformat",
"RegisterNodesDialog.uploadFromFile": "Von Datei hochladen",
"RoleCard.assignNodes": "Knoten zuweisen",
"RoleCard.availableNodesCount": "von {count, number}",
"RoleCard.nodesAssigned": "Zugewiesene Knoten",
"RoleDetail.cancel": "Abbrechen",
"RoleDetail.loadingParameters": "Lade Parameter...",
"RoleDetail.networkConfiguration": "Netzwerkkonfiguration",
"RoleDetail.parameters": "Parameter",
"RoleDetail.role": "Rolle {roleName}",
"RoleDetail.saveChanges": "\u00c4nderungen speichern",
"RoleDetail.services": "Dienste",
"RoleDetail.updatingParameters": "Aktualisiere Paramter...",
"RoleServices.noParameters": "In dieser Sektion sind gerade keine Parameter zu konfigurieren",
"RoleServices.selectService": "Bitte w\u00e4hlen Sie einen Dienst zur Konfiguration aus.",
"Roles.loadingDeploymentRoles": "Lade Bereitstellungsrollen...",
"RolesActions.availableRolesNotLoaded": "Verf\u00fcgbare Rollen konnten nicht geladen werden",
"RolesStep.loadingNodes": "Lade Knoten...",
"RolesStep.loadingParameters": "Lade Parameter...",
"RolesStep.manageRoles": "Rollen verwalten",
"RolesStep.nodesAvailableToAssign": "{allNodesCount, number} Knoten insgesamt ({totalAssignedNodesCount, number} Rollen zugewiesen, {nodesCount, number} zur Zuordnung verf\u00fcgbar, {nodesRequireActionCount, number} erfordern Aktion)",
"SelectAll.deselectAllText": "Alle abw\u00e4hlen",
"SelectAll.selectAllText": "Alle Ausw\u00e4hlen",
"SelectRolesDialog.loadingAvailableRoles": "Lade verf\u00fcgbare Rollen",
"SelectRolesDialog.selectRoles": "Rollen ausw\u00e4hlen",
"SelectRolesForm.cancel": "Abbrechen",
"SelectRolesForm.primaryRoleValidationError": "Bitte w\u00e4hlen Sie eine Rolle, die mit \"primary\" und \"controller\" getaggt ist",
"SelectRolesForm.saveChanges": "\u00c4nderungen speichern",
"SelectRolesForm.updatingRoles": "Aktualisiere Rollen...",
"StackResources.resourcesTableDescription": "Deploymentphase fehlgeschlagen, es folgt eine Liste von Heat-Stack Ressourcen:",
"StackResources.title": "Deployment Ressourcen",
"StackResourcesTable.loadingResources": "Lade Resourcen....",
"StackResourcesTable.name": "Name",
"StackResourcesTable.noResourcesAvailable": "Es sind keine Resourcen verf\u00fcgbar.",
"StackResourcesTable.status": "Status",
"StackResourcesTable.updatedTime": "Zeit aktualisieren",
"StatusDropdown.debug": "Debug",
"TagNodesForm.cancel": "Abbrechen",
"TagNodesForm.confirm": "Knotenschlagwort",
"TagNodesForm.customProfileDescription": "Kleinbuchstaben oder alphanumerische Zeichen mit Bindestrich. z.B. \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "Sie haben Zeichen eingegeben, die f\u00fcr diesen Wert nicht zul\u00e4ssig sind",
"TagNodesForm.customProfileLabel": "Profil anpassen",
"TagNodesForm.customProfileOption": "Pers\u00f6nliche EInstellungen anpassen",
"TagNodesForm.noProfileOption": "Kein Profil (Untag)",
"TagNodesForm.selectProfileLabel": "Profil ausw\u00e4hlen",
"TagNodesModal.title": "Schlagworte an Knoten ins Profil eintragen",
"Toolbar.activeFilters": "Aktive FIlter:",
"Toolbar.clearAllActiveFilters": "Alle Filter l\u00f6schen",
"UndeployProgress.initializingDeployment": "Initialisiere {planName} Plan Bereistellung L\u00f6schung",
"UndeployProgress.initializingUndeploy": "Initialisiere {planName} Plan Bereistellung L\u00f6schung",
"UndeployProgress.resources": "Resourcen",
"UndeployProgress.undeployingPlan": "L\u00f6sche {planName} Bereitstellungsplan",
"UndeployProgress.viewInformation": "Detailinformationen anzeigen",
"UserAuthenticator.authenticating": "Authentifizierung...",
"UserDropdown.logout": "Ausloggen",
"ValidationDetail.close": "Schliessen",
"ValidationDetail.description": "Beschreibung:",
"ValidationDetail.groups": "Gruppen",
"ValidationDetail.output": "Ausgabe",
"ValidationDetail.status": "Status:",
"ValidationDetail.validationDetail": "Details der Validierung",
"ValidationsList.loadingValidations": "Lade Validierung...",
"ValidationsList.noValidations": "Keine Validierung",
"ValidationsList.noValidationsMessage": "Zur Zeit gibt es keine Validierungen.",
"ValidationsList.refresh": "Aktualisieren",
"ValidationsList.validations": "Validierungen",
"ValidationsToggle.error": "Validierungsfehler",
"ValidationsToggle.failed": "Fehlgeschlagene Validierungen",
"ValidationsToggle.loadingValidations": "Lade Validierung...",
"ValidationsToggle.new": "Neue Validierungen",
"ValidationsToggle.paused": "Pausierte Validierungen",
"ValidationsToggle.running": "Laufende Validierungen",
"ValidationsToggle.success": "Erfolgreiche Validierungen",
"ValidationsToggle.warning": "Validierungen mit Warnungen",
"ValidationsToolbar.filterStringPlaceholder": "Filter hinzuf\u00fcgen",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} von {totalCount, number} {totalCount, plural, ein {Validation} mehrere {Validations}}",
"ValidationsToolbar.group": "Gruppe",
"ValidationsToolbar.name": "Name",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, ein {Validation} mehrere {Validations}}",
"nodeExtendedinfo.architecture": "Architektur",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "Treiber:",
"nodeExtendedinfo.interfaceIpAddress": "IP-Adresse",
"nodeExtendedinfo.interfaceMacAddress": "MAC-Adresse",
"nodeExtendedinfo.interfaces": "Schnittstellen:",
"nodeExtendedinfo.kernel": "Kernel:",
"nodeExtendedinfo.product": "Produkt:",
"nodeExtendedinfo.productName": "Name",
"nodeExtendedinfo.productVendor": "Lieferant",
"nodeExtendedinfo.productVersion": "Version",
"nodeExtendedinfo.registered": "Registriert:",
"nodeExtendedinfo.rootDisk": "Root Festplatte",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "Gr\u00f6sster Wert ist {count, number}.",
"reduxForm.validations.minValue": "Kleinster Wert ist {count, number}.",
"reduxForm.validations.number": "Wert muss eine Nummer sein."
}
}

View File

@ -1,484 +0,0 @@
{
"en-GB": {
"AuthenticatedContent.loadingDeployments": "Loading Deployments...",
"AvailableRoleDetailDialog.close": "Close",
"AvailableRoleDetailDialog.descriptionLabel": "Description:",
"AvailableRoleDetailDialog.dialogTitle": "Detailed Role Information",
"AvailableRoleDetailDialog.disable": "Disable",
"AvailableRoleDetailDialog.enable": "Enable",
"AvailableRoleDetailDialog.networksLabel": "Networks:",
"AvailableRoleDetailDialog.servicesLabel": "Services:",
"AvailableRoleDetailDialog.tagsLabel": "Tags:",
"ConfigureContainerImagesStep.editConfigurationLink": "Edit Configuration",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "Loading images configuration...",
"ConfigureNetworkStep.editConfigurationLink": "Edit Configuration",
"ConfigurePlanStep.editConfigurationLink": "Edit Configuration",
"ContainerImagePrepareParameterForm.updatingConfiguration": "Updating configuration...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "Invalid Yaml Syntax:",
"ContainerImagePrepareParameterFormActions.back": "Back",
"ContainerImagePrepareParameterFormActions.close": "Close",
"ContainerImagePrepareParameterFormActions.save": "Save Changes",
"ContainerImagesActions.configureImagesFailed": "Generating container images configuration failed",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "Container images are not configured yet",
"ContainerImagesConfigurationSummary.namespaceLabel": "Image Template",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "Push Destination",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "Undercloud image registry",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "Tag from Label",
"ContainerImagesPrepareForm.generatingConfiguration": "Generating container images configuration...",
"ContainerImagesPrepareForm.namePrefixDescription": "Container image name prefix",
"ContainerImagesPrepareForm.namePrefixLabel": "Name Prefix",
"ContainerImagesPrepareForm.nameSuffixDescription": "Container image name suffix",
"ContainerImagesPrepareForm.nameSuffixLabel": "Name Suffix",
"ContainerImagesPrepareForm.namespaceDescription": "Namespace of the remote registry from which the container images will be pulled during deployment.",
"ContainerImagesPrepareForm.namespaceInvalid": "Provide a valid registry address and images namespace",
"ContainerImagesPrepareForm.namespaceLabel": "Registry Namespace",
"ContainerImagesPrepareForm.pushDestinationDescription": "By specifying a Push Destination, the required images will be copied from provided namespace to this registry. As part of the undercloud install, an image registry is configured on port 8787. This can be used to increase reliability of image pulls, and minimise overall network transfers. Alternatively it is possible to explicitly specify the registry to push the images to.",
"ContainerImagesPrepareForm.pushDestinationLabel": "Push Destination",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "Undercloud image registry",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "Please enter a valid IPv4 address and port",
"ContainerImagesPrepareForm.tagDescription": "Tag representing the latest image version.",
"ContainerImagesPrepareForm.tagFromLabelDescription": "Provide a label to discover the versioned tag for images. Some build pipelines have a versioned tag which can only be discovered via a combination of labels. For this case, a template format can be specified instead, e.g. {labelExample}. If you want these parameters to have the actual tag instead of the discovered tag, this entry can be omitted.",
"ContainerImagesPrepareForm.tagFromLabelLabel": "Tag from Label",
"ContainerImagesPrepareForm.tagLabel": "Tag",
"ContainerImagesPrepareFormActions.next": "Next",
"ContainerImagesPrepareFormActions.reset": "Reset to Defaults",
"ContainerImagesPrepareFormActions.save": "Save Changes",
"ContainerImagesWizard.cancel": "Cancel",
"ContainerImagesWizard.configureImages": "Configure Images",
"ContainerImagesWizard.loadingData": "Loading configuration...",
"ContainerImagesWizard.review": "Review Configuration",
"ContainerImagesWizard.title": "Prepare Container Images",
"ContentView.list": "List view",
"ContentView.table": "Table view",
"CurrentPlan.backToAllPlans": "All Plans",
"CurrentPlan.configureContainerImagesStepHeader": "Prepare Container Images",
"CurrentPlan.configureContainerImagesStepTooltip": "Container images need to be pulled from an image registry which is reliably available to overcloud nodes. The three common options to serve images are to use the default registry, the registry available on the undercloud, or an independently managed registry. Use this step to configure where to pull images from, which local repository to push images to and how to discover the last versioned tag for each image.",
"CurrentPlan.configureNetworkStepHeader": "Configure Network",
"CurrentPlan.configureNetworkStepTooltip": "This step lets user manage deployment networks, assign them to deployment roles, and configure network interfaces.",
"CurrentPlan.configurePlanStepTooltip": "This step allows you to edit specific settings for the overcloud's network, storage, and other certified plugins. Use this step to define your network isolation configuration and your backend storage settings.",
"CurrentPlan.configureRolesStepHeader": "Configure Roles and Assign Nodes",
"CurrentPlan.configureRolesStepTooltip": "On each role's selection dialogue, you can assign available nodes into the role or un-assign nodes already assigned to the role. You can also customise role-specific settings in this step. Click the icon in the top-right corner of each role to see these role-specific settings.",
"CurrentPlan.deployStepHeader": "Deploy",
"CurrentPlan.deploymentConfigurationStepHeader": "Specify Deployment Configuration",
"CurrentPlan.deploymentStepTooltip": "This step starts the deployment of the overcloud. Once the deployment begins, you can track the progress and see a report of each completed, running, or failed step.",
"CurrentPlan.hardwareStepHeader": "Prepare Hardware",
"CurrentPlan.hardwareStepTooltip": "Registration of hardware involves defining the power management details of each node so that the application can control them during introspection and provisioning. Introspection identifies the hardware each node uses and builds a profile of each node.",
"CurrentPlan.loadingDeploymentStatus": "Loading Deployment Status",
"DataTable.filter": "Filter",
"DataTable.itemsVisibleInTable": "Showing {showing} of {total} items",
"DebugScreen.cancel": "Cancel",
"DebugScreen.debugPageTitle": "Debugging information",
"DebugScreen.downloadButton": "Download logs",
"DebugScreen.downloadButtonInProgress": "Downloading logs...",
"DebugScreen.downloadLogs": "Download logs",
"DebugScreen.downloadLogsMessage": "The file you requested is ready. Please click the button below to download the export. You might need to right-click the button and choose \"Save link as...\".",
"DebugScreen.downloadingLogsLoader": "Downloading logs...",
"DebugScreen.error": "An error has occurred while preparing the log download.",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "Version",
"DeleteDeploymentButton.cancel": "Cancel",
"DeleteDeploymentButton.deleteConfirmationQuestion": "Are you sure you want to delete the deployment?",
"DeleteDeploymentButton.deleteDeployment": "Delete Deployment",
"DeleteDeploymentButton.requestingDeletion": "Requesting Deletion of Deployment",
"DeletePlan.cancel": "Cancel",
"DeletePlan.deletePlan": "Delete Plan",
"DeletePlan.deletePlanConfirmation": "Are you sure you want to delete plan {planName}?",
"DeletePlan.deletePlanName": "Delete {planName}",
"Deploy.deleteInProgress": "Deletion in progress",
"DeployStep.requestingDeploy": "Requesting a deploy...",
"DeployStep.validateAndDeploy": "Validate and Deploy",
"DeploymentConfiguration.deploymentConfiguration": "Deployment Configuration",
"DeploymentConfiguration.overallSettings": "Overall Settings",
"DeploymentConfiguration.parameters": "Parameters",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Loading current Deployment Configuration...",
"DeploymentConfirmation.deployButton": "Deploy",
"DeploymentConfirmation.deploymentConfirmation": "Are you sure you want to deploy this plan?",
"DeploymentConfirmation.deploymentConfirmationHeader": "Deploy Plan {planName}",
"DeploymentConfirmation.requestingDeploymentLoader": "Requesting a deployment...",
"DeploymentConfirmation.summary": "Summary:",
"DeploymentConfirmation.validationsNotificationMessage": "It is recommended to wait until these validations finish running and any errors have been resolved before continuing with the deployment.",
"DeploymentConfirmation.validationsNotificationTitle": "The pre-deployment validations have been started automatically.",
"DeploymentDetail.close": "Close",
"DeploymentDetail.loadingDeploymentStatus": "Loading Deployment Status",
"DeploymentDetail.modalTitle": "Plan {planName} deployment",
"DeploymentFailure.deleteDeployment": "Delete Deployment",
"DeploymentFailure.fetchingStack": "Loading deployment information...",
"DeploymentFailure.moreDetails": "More details",
"DeploymentFailure.requestingDeletion": "Requesting Deletion of Deployment",
"DeploymentFailures.failuresTableDescription": "Deployment configuration phase failed, following is a list of failures provided from Ansible run:",
"DeploymentFailures.loadingDeploymentFailures": "Loading failures",
"DeploymentFailures.noDeploymentFailures": "No deployment failures to display",
"DeploymentFailures.nodeTableColumnLabel": "Node",
"DeploymentFailures.outputsTableColumnLabel": "Outputs",
"DeploymentFailures.taskTableColumnLabel": "Task",
"DeploymentFailures.title": "Deployment Configuration Failures",
"DeploymentFailures.viewDetails": "View details",
"DeploymentProgress.configuringPlan": "Configuring {planName} deployment",
"DeploymentProgress.deployingPlan": "Deploying {planName} plan ({completeResourcesCount} of {resourcesCount} resources)",
"DeploymentProgress.initializingDeployment": "Initialising {planName} plan deployment",
"DeploymentProgress.viewInformation": "View detailed information",
"DeploymentStatus.createComplete": "Deployment succeeded",
"DeploymentStatus.createFailed": "Deployment failed",
"DeploymentStatus.createInProgress": "Deployment in progress",
"DeploymentStatus.deleteFailed": "Deployment deletion failed",
"DeploymentStatus.deployed": "Deployment succeeded",
"DeploymentStatus.deploying": "Deployment of {planName} plan is currently in progress",
"DeploymentStatus.deploymentFailed": "Deployment of {planName} plan failed",
"DeploymentStatus.undeployFailed": "Un-deploy failed",
"DeploymentStatus.undeployed": "Deployment not started",
"DeploymentStatus.undeploying": "Deletion of {planName} plan deployment is currently in progress",
"DeploymentStatus.unknown": "Plan {planName} deployment status could not be loaded",
"DeploymentStatus.updateComplete": "Update succeeded",
"DeploymentStatus.updateFailed": "Update failed",
"DeploymentStatus.updateInProgress": "Update in progress",
"DeploymentStatusShort.deployed": "Deployment succeeded",
"DeploymentStatusShort.deploying": "Deployment in progress",
"DeploymentStatusShort.deploymentFailed": "Deployment failed",
"DeploymentStatusShort.undeployFailed": "Un-deploy failed",
"DeploymentStatusShort.undeployed": "Not deployed",
"DeploymentStatusShort.undeploying": "Deployment deletion in progress",
"DeploymentStatusShort.unknown": "Deployment status could not be loaded",
"DeploymentSuccess.resources": "Resources",
"DriverFields.ipOrFqdnValidatorMessage": "Please enter a valid IPv4 Address or a valid FQDN.",
"DriverFields.portValidationMessage": "Please enter valid Port number (0 - 65535)",
"EditPlan.cancel": "Cancel",
"EditPlan.editPlan": "Edit {planName} plan",
"EditPlan.updatingDeploymentPlan": "Updating plan...",
"EditPlan.uploadAndUpdate": "Upload Files and Update Plan",
"EditPlanFieldsTab.directoryInputDescription": "Provide a directory with files you want to update, the directory structure must map the plan directory structure.",
"EditPlanFieldsTab.planFiles": "Plan Files",
"EditPlanFieldsTab.planName": "Plan Name",
"EditPlanForm.cancel": "Cancel",
"EditPlanFormTabs.files": "Files",
"EditPlanFormTabs.updatePlan": "Update Plan",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "Loading Deployment Configuration...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "Deployment configuration could not be updated",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "The Environment Configuration has been successfully updated.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Environment Configuration updated",
"EnvironmentConfigurationForm.cancel": "Cancel",
"EnvironmentConfigurationForm.missingConfiguration": "Missing configuration",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "Selected options depend on other options which are not enabled",
"EnvironmentConfigurationForm.requiredEnvironments": "This option requires {requiredEnvironments} to be enabled.",
"EnvironmentConfigurationForm.saveAndClose": "Save And Close",
"EnvironmentConfigurationForm.saveChanges": "Save Changes",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "Updating Environment configuration",
"ExportPlan.close": "Close",
"ExportPlan.download": "Download",
"ExportPlan.downloadMessage": "The plan export you requested is ready. Please click the button below to download the export. You might need to right-click the button and choose \"Save link as...\".",
"ExportPlan.error": "An error occurred while exporting the plan",
"ExportPlan.exportPlanName": "Export {planName}",
"ExportPlan.exportingPlanLoader": "Exporting plan...",
"FileList.planFiles": "Plan Files",
"HardwareStep.registerNodes": "Register Nodes",
"HorizontalDirectoryInput.filesReady": "{filesCount} Files",
"HorizontalDirectoryInput.noFilesValidationError": "Provide a directory of deployment plan files",
"HorizontalDirectoryInput.readingFiles": "Reading files... {progress}%",
"HorizontalDirectoryInput.unreadableFilesValidationError": "Some files could not be read: {files}",
"I18nDropdown.language": "Language",
"ListPlans.importPlan": "Import Plan",
"LoggerActions.downloadLogsFailedNotificationTitle": "Download logs failed",
"Login.description": "This tool will walk you through the process of configuring and deploying an OpenStack environment.",
"Login.login": "Log In",
"Login.password": "Password",
"Login.passwordRequired": "Password is required.",
"Login.username": "Username",
"Login.usernameRequired": "Username is required.",
"Login.welcome": "Welcome!",
"NavBar.debug": "Debug",
"NavBar.plansTab": "Plans",
"NavBar.toggleNavigation": "Toggle navigation",
"Navbar.nodesTab": "Nodes",
"NetworkConfiguration.close": "Close",
"NetworkConfiguration.loadingData": "Loading data...",
"NetworkConfiguration.networkConfiguration": "Network Configuration",
"NetworkConfiguration.networkIsolationWarningLink": "Enable network isolation",
"NetworkConfiguration.networkIsolationWarningText": "{enableNetworkIsolationLink} to make use of these networks.",
"NetworkConfiguration.networkIsolationWarningTitle": "Some networks are unavailable.",
"NetworksActions.fetchNetworksFailed": "Networks could not be loaded",
"NewPlan.importPlan": "Import Plan",
"NewPlan.uploadAndCreate": "Upload Files and Create Plan",
"NewPlanForm.cancel": "Cancel",
"NewPlanForm.creatingDeploymentPlan": "Creating deployment plan...",
"NoPlans.importPlan": "Import Plan",
"NoPlans.noPlansAvailable": "No Deployment Plans Available",
"NoPlans.noPlansAvailableMessage": "There are no Deployment Plans available. Please create one first.",
"NodeColumns.cpuArch": "CPU Arch.",
"NodeColumns.cpus": "CPU (cores)",
"NodeColumns.introspectionStatus": "Introspection Status",
"NodeColumns.localGB": "Disk (GB)",
"NodeColumns.macs": "MAC Addresses",
"NodeColumns.memoryMb": "Memory (MB)",
"NodeColumns.name": "Name",
"NodeColumns.powerState": "Power State",
"NodeColumns.profile": "Profile",
"NodeColumns.provisionState": "Provision State",
"NodeDrive.model": "Model:",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "Root Device",
"NodeDrive.serial": "Serial:",
"NodeDrive.size": "Size:",
"NodeDrive.type": "Type:",
"NodeDrive.vendor": "Vendor:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN Vendor Extension:",
"NodeDrive.wwnWithExtension": "WWN with Extension:",
"NodeDrives.close": "Close",
"NodeDrives.title": "Node Drives - {nodeId}",
"NodeExtendedInfo.macAddresses": "MAC Addresses:",
"NodeIntrospectionState.introspectionStateLabel": "Introspection:",
"NodeListItem.Profile": "Profile:",
"NodeListItem.actions.manageDrives": "Manage Drives",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB Disk",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "Maintenance",
"NodePowerState.powerOff": "Off",
"NodePowerState.powerOn": "On",
"NodePowerState.poweringOff": "Powering Off",
"NodePowerState.poweringOn": "Powering On",
"NodePowerState.rebooting": "Rebooting",
"NodePowerState.unknownPowerState": "Unknown",
"NodeProvisionState.deploymentPlanLabel": "Deployment Plan:",
"NodeProvisionState.provisionStateLabel": "Provision State:",
"Nodes.loadingNodes": "Loading Nodes...",
"Nodes.nodes": "Nodes",
"Nodes.refreshResults": "Refresh Results",
"Nodes.registerNodes": "Register Nodes",
"Nodes.registeringNodes": "Registering Nodes...",
"NodesActions.introspectionFailedNotificationTitle": "Nodes Introspection Failed",
"NodesActions.introspectionNotificationMessage": "Selected nodes were successfully introspected.",
"NodesActions.introspectionNotificationTitle": "Nodes Introspection Complete",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "Node Introspection Failed",
"NodesAssignmentForm.cancel": "Cancel",
"NodesAssignmentForm.nodeCountsErrorMessage": "Please adjust the node counts.",
"NodesAssignmentForm.nodeCountsErrorTitle": "The number of nodes selected exceeds the number that are available.",
"NodesAssignmentForm.saveChanges": "Save Changes",
"NodesListForm.operationInProgressValidationMessage": "There is an operation in progress on some of the selected Nodes",
"NodesListForm.selectNodesValidationMessage": "Please select Nodes first",
"NodesTable.loadingNodes": "Loading Nodes...",
"NodesTable.noNodes": "There are no Nodes available.",
"NodesTableView.deleteNodes": "Delete Nodes",
"NodesTableView.deleteNodesModalMessage": "Are you sure you want to delete the selected nodes?",
"NodesTableView.deleteNodesModalTitle": "Delete Nodes",
"NodesTableView.introspectNodes": "Introspect Nodes",
"NodesTableView.provideNodes": "Provide Nodes",
"NodesTableView.tagNodes": "Tag Nodes",
"NodesTables.cpuArch": "CPU Arch.",
"NodesTables.cpuCores": "CPU (cores)",
"NodesTables.diskGb": "Disk (GB)",
"NodesTables.macAddresses": "MAC Address(es)",
"NodesTables.maintenance": "Maintenance",
"NodesTables.memoryMb": "Memory (MB)",
"NodesTables.name": "Name",
"NodesTables.powerState": "Power State",
"NodesTables.profile": "Profile",
"NodesTables.provisionState": "Provision State",
"NodesToolbar.filterStringPlaceholder": "Add filter",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "Delete Nodes",
"NodesToolbarActions.deleteNodesModalMessage": "Are you sure you want to delete the selected nodes?",
"NodesToolbarActions.deleteNodesModalTitle": "Delete Nodes",
"NodesToolbarActions.disabledButtonsWarning": "You need to select Nodes first, or there is an operation already in progress on some of the selected Nodes.",
"NodesToolbarActions.introspectNodes": "Introspect Nodes",
"NodesToolbarActions.manageNodes": "Manage Nodes",
"NodesToolbarActions.provideNodes": "Provide Nodes",
"NodesToolbarActions.tagNodes": "Tag Nodes",
"NodesToolbarForm.sortDir": "Sort direction",
"OvercloudInfo.loadingOvercloudInformation": "Loading deployment information...",
"OvercloudInfo.overcloudInformationHeader": "Deployment Information",
"OvercloudInfo.overcloudIpAddress": "Deployment IP address:",
"OvercloudInfo.password": "Password:",
"OvercloudInfo.username": "Username:",
"PXEAndDRACDriverFields.address": "DRAC Host",
"PXEAndDRACDriverFields.password": "DRAC Password",
"PXEAndDRACDriverFields.port": "DRAC Port",
"PXEAndDRACDriverFields.user": "DRAC Username",
"PXEAndIPMIToolDriverFields.address": "IPMI IP Address or FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI Password",
"PXEAndIPMIToolDriverFields.port": "IPMI Port",
"PXEAndIPMIToolDriverFields.user": "IPMI Username",
"ParameterInputList.noParameters": "There are currently no parameters to configure in this section.",
"Parameters.general": "General",
"ParametersActions.parametersUpdatedNotficationMessage": "The Deployment parameters have been successfully updated.",
"ParametersActions.parametersUpdatedNotficationTitle": "Parameters updated",
"ParametersActions.updateParametersFailed": "Parameters could not be updated",
"ParametersForm.cancel": "Cancel",
"ParametersForm.enterValidJson": "Please enter a valid JSON.",
"ParametersForm.invalidParameters": "Some parameter values are invalid:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "Save And Close",
"ParametersForm.saveChanges": "Save Changes",
"ParametersForm.updatingParameters": "Updating parameters",
"PlanActions.delete": "Delete",
"PlanActions.edit": "Edit",
"PlanActions.export": "Export",
"PlanCard.deletingPlan": "Deleting {planName}...",
"PlanCard.loadingPlan": "Loading {planName} details...",
"PlanCard.loadingStatus": "Loading deployment status...",
"PlanCard.updatingPlan": "Updating {planName}...",
"PlanFieldsTab.directoryInputDescription": "Provide a directory of Heat templates which defines a deployment plan.",
"PlanFieldsTab.gitUrlInputDescription": "Provide a Git repository URL containing Heat templates which define a deployment plan.",
"PlanFieldsTab.tarballInputDescription": "Provided tarball must not contain root directory, when creating the tarball use following command: {command}",
"PlanFormTabs.addPlanName": "Add a Plan Name",
"PlanFormTabs.files": "Files",
"PlanFormTabs.gitUrl": "Git Repository URL",
"PlanFormTabs.gitUrlValidationError": "Please provide a valid Git repository URL.",
"PlanFormTabs.newPlan": "New Plan",
"PlanFormTabs.planFiles": "Plan Files",
"PlanFormTabs.planName": "Plan Name",
"PlanFormTabs.planNameValidationError": "Please use only lowercase alphanumeric characters and hyphens (-).",
"PlanFormTabs.planTarball": "Plan Tarball",
"PlanUploadTypeRadios.gitUrl": "Git Repository URL",
"PlanUploadTypeRadios.localDirectory": "Local Directory",
"PlanUploadTypeRadios.tarArchive": "Tar Archive (.tar.gz or .tgz)",
"PlanUploadTypeRadios.uploadType": "Upload Type",
"PlanUploadTypeRadios.useDefaultTemplates": "Use Default Templates",
"PlansActions.exportFailedNotificationTitle": "Export Failed",
"PlansActions.planCreatedNotificationMessage": "The plan {planName} was successfully created.",
"PlansActions.planCreatedNotificationTitle": "Plan was created",
"PlansActions.planCreationFailedNotificationMessage": "Plan creation failed",
"PlansActions.planDeletedNotificationMessage": "The plan {planName} was successfully deleted.",
"PlansActions.planDeletedNotificationTitle": "Plan Deleted",
"PlansActions.planUpdateFailedNotificationMessage": "Plan update failed",
"PlansActions.planUpdatedNotificationMessage": "The plan {planName} was successfully updated.",
"PlansActions.planUpdatedNotificationTitle": "Plan Updated",
"PlansList.importPlan": "Import Plan",
"PlansList.plans": "Plans",
"PushDestinationInput.pushDestinationOptionCustom": "Specify custom registry",
"PushDestinationInput.pushDestinationOptionFalse": "Don't push images",
"PushDestinationInput.pushDestinationOptionTrue": "Push to Undercloud registry",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "Recover deployment status",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "Recovering deployment status",
"RedeployPlanButton.cancel": "Cancel",
"RedeployPlanButton.redeployConfirmationQuestion": "Are you sure you want to redeploy?",
"RedeployPlanButton.redeployPlan": "Redeploy plan",
"RedeployPlanButton.requestingRedeploy": "Requesting redeploy",
"RegisterNodeForm.General": "General",
"RegisterNodeForm.architecture": "Architecture",
"RegisterNodeForm.cpuCount": "CPU count",
"RegisterNodeForm.diskGb": "Disk (GB)",
"RegisterNodeForm.driver": "Driver",
"RegisterNodeForm.enterValidMacAddress": "Please enter a list of valid MAC Addresses.",
"RegisterNodeForm.hardware": "Hardware",
"RegisterNodeForm.macAddressesDescription": "If you are specifying multiple MAC Addresses, please enter a comma separated list. (e.g. aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Management",
"RegisterNodeForm.memoryMb": "Memory (MB)",
"RegisterNodeForm.name": "Name",
"RegisterNodeForm.networking": "Networking",
"RegisterNodeForm.nicMacAddresses": "NIC MAC Addresses",
"RegisterNodeForm.nodeDetail": "Node Detail",
"RegisterNodeForm.nodeNameMaxLength": "Node name can have up to 255 characters.",
"RegisterNodeForm.nodeNameRegexp": "Name may only consist of RFC3986 unreserved characters: alphanumeric, hyphen (-), period (.), underscore (_) and tilde (~) characters.",
"RegisterNodesActions.registrationNotificationMessage": "The nodes were successfully registered.",
"RegisterNodesActions.registrationNotificationTitle": "Nodes Registration Complete",
"RegisterNodesDialog.addANodeManually": "Add a node manually or upload nodes from a file.",
"RegisterNodesDialog.addNew": "Add New",
"RegisterNodesDialog.cancel": "Cancel",
"RegisterNodesDialog.csvUnsupported": "CSV Upload Unsupported",
"RegisterNodesDialog.invalidJson": "Invalid JSON",
"RegisterNodesDialog.noNodesToRegister": "\"No Nodes To Register\"",
"RegisterNodesDialog.or": "or",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "Please provide a CSV file or instackenv.json.",
"RegisterNodesDialog.registerNodes": "Register Nodes",
"RegisterNodesDialog.registeringNodes": "Registering Nodes...",
"RegisterNodesDialog.selectedFileUnsupported": "The selected file format is not supported yet.",
"RegisterNodesDialog.undefinedNode": "Undefined Node",
"RegisterNodesDialog.unsupportedFileFormat": "Unsupported File Format",
"RegisterNodesDialog.uploadFromFile": "Upload From File",
"RoleCard.assignNodes": "Assign Nodes",
"RoleCard.availableNodesCount": "of {count, number}",
"RoleCard.nodesAssigned": "Nodes assigned",
"RoleDetail.cancel": "Cancel",
"RoleDetail.loadingParameters": "Loading parameters...",
"RoleDetail.networkConfiguration": "Network Configuration",
"RoleDetail.parameters": "Parameters",
"RoleDetail.role": "{roleName} Role",
"RoleDetail.saveChanges": "Save Changes",
"RoleDetail.services": "Services",
"RoleDetail.updatingParameters": "Updating parameters...",
"RoleServices.noParameters": "There are currently no parameters to configure in this section.",
"RoleServices.selectService": "Please select service to configure.",
"Roles.loadingDeploymentRoles": "Loading Deployment Roles...",
"RolesActions.availableRolesNotLoaded": "Available Roles could not be loaded",
"RolesStep.loadingNodes": "Loading Nodes...",
"RolesStep.loadingParameters": "Loading Parameters...",
"RolesStep.manageRoles": "Manage Roles",
"RolesStep.nodesAvailableToAssign": "{allNodesCount, number} Nodes Total ({totalAssignedNodesCount, number} assigned to roles, {nodesCount, number} available for assignment, {nodesRequireActionCount, number} require action)",
"SelectAll.deselectAllText": "Deselect All",
"SelectAll.selectAllText": "Select All",
"SelectRolesDialog.loadingAvailableRoles": "Loading available Roles",
"SelectRolesDialog.selectRoles": "Select Roles",
"SelectRolesForm.cancel": "Cancel",
"SelectRolesForm.primaryRoleValidationError": "Please select one role tagged as \"primary\" and \"controller\"",
"SelectRolesForm.saveChanges": "Save Changes",
"SelectRolesForm.updatingRoles": "Updating Roles...",
"StackResources.resourcesTableDescription": "Deployment phase failed, following is a list of Heat stack resources:",
"StackResources.title": "Deployment Resources",
"StackResourcesTable.loadingResources": "Loading Resources...",
"StackResourcesTable.name": "Name",
"StackResourcesTable.noResourcesAvailable": "There are no Resources available.",
"StackResourcesTable.status": "Status",
"StackResourcesTable.updatedTime": "Updated Time",
"StatusDropdown.debug": "Debug",
"TagNodesForm.cancel": "Cancel",
"TagNodesForm.confirm": "Tag Nodes",
"TagNodesForm.customProfileDescription": "Lowercase alphanumeric characters with hyphen as a separator. e.g. \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "You entered characters that are not allowed for this value",
"TagNodesForm.customProfileLabel": "Custom Profile",
"TagNodesForm.customProfileOption": "Specify Custom Profile",
"TagNodesForm.noProfileOption": "No Profile (Untag)",
"TagNodesForm.selectProfileLabel": "Select Profile",
"TagNodesModal.title": "Tag Nodes into Profiles",
"Toolbar.activeFilters": "Active Filters:",
"Toolbar.clearAllActiveFilters": "Clear All Filters",
"UndeployProgress.initializingDeployment": "Initialising {planName} plan deployment deletion",
"UndeployProgress.initializingUndeploy": "Initialising {planName} plan deployment deletion",
"UndeployProgress.resources": "Resources",
"UndeployProgress.undeployingPlan": "Deleting {planName} plan deployment",
"UndeployProgress.viewInformation": "View detailed information",
"UserAuthenticator.authenticating": "Authenticating...",
"UserDropdown.logout": "Log Out",
"ValidationDetail.close": "Close",
"ValidationDetail.description": "Description:",
"ValidationDetail.groups": "Groups:",
"ValidationDetail.output": "Output:",
"ValidationDetail.status": "Status:",
"ValidationDetail.validationDetail": "Validation Detail",
"ValidationsList.loadingValidations": "Loading Validations...",
"ValidationsList.noValidations": "No Validations",
"ValidationsList.noValidationsMessage": "There are no validations at this time.",
"ValidationsList.refresh": "Refresh",
"ValidationsList.validations": "Validations",
"ValidationsToggle.error": "Validation Errors",
"ValidationsToggle.failed": "Failed Validations",
"ValidationsToggle.loadingValidations": "Loading Validations...",
"ValidationsToggle.new": "New Validations",
"ValidationsToggle.paused": "Paused Validations",
"ValidationsToggle.running": "Running Validations",
"ValidationsToggle.success": "Successful Validations",
"ValidationsToggle.warning": "Validations with Warning",
"ValidationsToolbar.filterStringPlaceholder": "Add filter",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "Group",
"ValidationsToolbar.name": "Name",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "Architecture:",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "Driver:",
"nodeExtendedinfo.interfaceIpAddress": "IP Address",
"nodeExtendedinfo.interfaceMacAddress": "MAC Address",
"nodeExtendedinfo.interfaces": "Interfaces:",
"nodeExtendedinfo.kernel": "Kernel:",
"nodeExtendedinfo.product": "Product:",
"nodeExtendedinfo.productName": "Name",
"nodeExtendedinfo.productVendor": "Vendor",
"nodeExtendedinfo.productVersion": "Version",
"nodeExtendedinfo.registered": "Registered:",
"nodeExtendedinfo.rootDisk": "Root Disk:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "Maximum value is {count, number}.",
"reduxForm.validations.minValue": "Minimum value is {count, number}.",
"reduxForm.validations.number": "Value needs to be a number."
}
}

View File

@ -1,484 +0,0 @@
{
"es": {
"AuthenticatedContent.loadingDeployments": "Cargando despliegues...",
"AvailableRoleDetailDialog.close": "Cerrar",
"AvailableRoleDetailDialog.descriptionLabel": "Descripci\u00f3n:",
"AvailableRoleDetailDialog.dialogTitle": "Ver informaci\u00f3n detallada del rol",
"AvailableRoleDetailDialog.disable": "Deshabilitar",
"AvailableRoleDetailDialog.enable": "Activar",
"AvailableRoleDetailDialog.networksLabel": "Redes:",
"AvailableRoleDetailDialog.servicesLabel": "Servicios:",
"AvailableRoleDetailDialog.tagsLabel": "Etiquetas:",
"ConfigureContainerImagesStep.editConfigurationLink": "Editar configuraci\u00f3n",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "Cargando la configuraci\u00f3n de las im\u00e1genes...",
"ConfigureNetworkStep.editConfigurationLink": "Editar configuraci\u00f3n",
"ConfigurePlanStep.editConfigurationLink": "Editar configuraci\u00f3n",
"ContainerImagePrepareParameterForm.updatingConfiguration": "Actualizando configuraci\u00f3n...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "Sintaxis YAML inv\u00e1lida:",
"ContainerImagePrepareParameterFormActions.back": "Anterior",
"ContainerImagePrepareParameterFormActions.close": "Cerrar",
"ContainerImagePrepareParameterFormActions.save": "Guardar cambios",
"ContainerImagesActions.configureImagesFailed": "Ha fallado generar la configuraci\u00f3n de las im\u00e1genes...",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "Las im\u00e1genes de los contenedores no est\u00e1n configuradas todav\u00eda",
"ContainerImagesConfigurationSummary.namespaceLabel": "Plantilla de la imagen",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "Direcci\u00f3n de destino para la subida ",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "Registro de im\u00e1genes de la Undercloud",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "Etiquetar",
"ContainerImagesPrepareForm.generatingConfiguration": "Generando la configuraci\u00f3n de las im\u00e1genes...",
"ContainerImagesPrepareForm.namePrefixDescription": "Prefijo del nombre de la imagen del contenedor",
"ContainerImagesPrepareForm.namePrefixLabel": "Nombre del prefijo",
"ContainerImagesPrepareForm.nameSuffixDescription": "Sufijo del nombre de la imagen del contenedor",
"ContainerImagesPrepareForm.nameSuffixLabel": "Nombre del sufijo",
"ContainerImagesPrepareForm.namespaceDescription": "Namespace del registro remoto desde donde se obtendr\u00e1n las im\u00e1genes durante el despliegue.",
"ContainerImagesPrepareForm.namespaceInvalid": "Introduzca una direcci\u00f3n v\u00e1lida y el namespace de las im\u00e1genes",
"ContainerImagesPrepareForm.namespaceLabel": "Registro del namespace",
"ContainerImagesPrepareForm.pushDestinationDescription": "Al especificar un destino para las im\u00e1genes, estas ser\u00e1n copiadas del namespace especificado a este destino. Como parte de la instalaci\u00f3n de la undercloud, un registro local es configurado en el puerto 8787. Este puede ser utilizado ara incrementar la fiabilidad de la descarga de las im\u00e1genes y minimizar la carga de la red.",
"ContainerImagesPrepareForm.pushDestinationLabel": "Direcci\u00f3n de destino para la subida ",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "Registro de im\u00e1genes de la Undercloud",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "Por favor introduzca una direcci\u00f3n IPv4 y un puerto.",
"ContainerImagesPrepareForm.tagDescription": "Etiquetas representando la \u00faltima versi\u00f3n de la imagen.",
"ContainerImagesPrepareForm.tagFromLabelDescription": "Provea una etiqueta para descubrir la version de la etiqueta de las im\u00e1genes. Algunas pipelines tienen etiquetas versionadas que pueden ser descubiertas con una combinaci\u00f3n de etiquetas.",
"ContainerImagesPrepareForm.tagFromLabelLabel": "Etiquetar",
"ContainerImagesPrepareForm.tagLabel": "Etiqueta",
"ContainerImagesPrepareFormActions.next": "Siguiente",
"ContainerImagesPrepareFormActions.reset": "Restablecer valores por defecto",
"ContainerImagesPrepareFormActions.save": "Guardar cambios",
"ContainerImagesWizard.cancel": "Cancelar",
"ContainerImagesWizard.configureImages": "Configurar im\u00e1genes",
"ContainerImagesWizard.loadingData": "Cargando configuraci\u00f3n...",
"ContainerImagesWizard.review": "Verificar configuraci\u00f3n",
"ContainerImagesWizard.title": "Preparar las im\u00e1genes de los contenedores.",
"ContentView.list": "Vista en modo lista",
"ContentView.table": "Vista como tabla",
"CurrentPlan.backToAllPlans": "Todos los planes",
"CurrentPlan.configureContainerImagesStepHeader": "Preparar las im\u00e1genes de los contenedores.",
"CurrentPlan.configureContainerImagesStepTooltip": "Las im\u00e1genes de los contenedores deben ser descargadas desde un registro de im\u00e1genes disponible a los nodos de la overcloud. Las tres opciones comunes para ofrecer im\u00e1genes son, utilizar el registro por defecto, utilizar el registro de la undercloud o un registro independiente. Utilice este paso para configurar desde donde descargar im\u00e1genes, el repositorio local para subirlas y como encontrar el \u00faltimo tag para cada imagen.",
"CurrentPlan.configureNetworkStepHeader": "Configura la red",
"CurrentPlan.configureNetworkStepTooltip": "Este paso permite administrar el despliegue de redes, asignar redes a roles y configurar interfaces de red.",
"CurrentPlan.configurePlanStepTooltip": "Este paso permite editar par\u00e1metros espec\u00edficos para la configuraci\u00f3n de la red, almacenamiento y otros componentes certificados. Utilice este paso para definir la configuraci\u00f3n del aislamiento de la red y los par\u00e1metros de configuraci\u00f3n del backend para el almacenamiento.",
"CurrentPlan.configureRolesStepHeader": "Configurar roles y asignar nodos",
"CurrentPlan.configureRolesStepTooltip": "En el cuadro de di\u00e1logo de selecci\u00f3n de cada rol, puede asignar los nodos disponibles o anular la asignaci\u00f3n de aquellos nodos ya asignados. Tambi\u00e9n puede personalizar la configuraci\u00f3n espec\u00edfica del rol en este paso. Haga clic en el \u00edcono de la esquina superior derecha de cada rol para ver estas opciones de configuraci\u00f3n espec\u00edficas.",
"CurrentPlan.deployStepHeader": "Desplegar",
"CurrentPlan.deploymentConfigurationStepHeader": "Especifique la configuraci\u00f3n del despliegue",
"CurrentPlan.deploymentStepTooltip": "Este paso inicia el despliegue de la Overcloud. Una vez comenzado el despliegue, se puede monitorizar el progreso y ver reportes de cada paso.",
"CurrentPlan.hardwareStepHeader": "Prepare el hardware",
"CurrentPlan.hardwareStepTooltip": "El registro del hardware implica definir los detalles de administraci\u00f3n de energ\u00eda de cada nodo para que la aplicaci\u00f3n pueda controlarlos durante la introspecci\u00f3n y el aprovisionamiento. La introspecci\u00f3n identifica y construye un perfil de hardware utilizado en cada nodo.",
"CurrentPlan.loadingDeploymentStatus": "Cargando el estado del despliegue",
"DataTable.filter": "Filtrar",
"DataTable.itemsVisibleInTable": "Mostrando {showing} de {total} elementos",
"DebugScreen.cancel": "Cancelar",
"DebugScreen.debugPageTitle": "Informaci\u00f3n de depuraci\u00f3n",
"DebugScreen.downloadButton": "Descargar logs",
"DebugScreen.downloadButtonInProgress": "Descargando logs...",
"DebugScreen.downloadLogs": "Descargar logs",
"DebugScreen.downloadLogsMessage": "El archivo solicitado est\u00e1 listo. Por favor haga click sobre el bot\u00f3n para descargarlo. Es posible que necesite hacer click-derecho y seleccionar \"Guardar enlace como...\".",
"DebugScreen.downloadingLogsLoader": "Descargando logs...",
"DebugScreen.error": "Ha ocurrido un error al preparar la descarga de los logs.",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "Versi\u00f3n",
"DeleteDeploymentButton.cancel": "Cancelar",
"DeleteDeploymentButton.deleteConfirmationQuestion": "\u00bfSeguro que desea eliminar el despliegue?",
"DeleteDeploymentButton.deleteDeployment": "Eliminar despliegue",
"DeleteDeploymentButton.requestingDeletion": "Solicitando la eliminaci\u00f3n del despliegue",
"DeletePlan.cancel": "Cancelar",
"DeletePlan.deletePlan": "Eliminar plan",
"DeletePlan.deletePlanConfirmation": "\u00bfSeguro que desea eliminar el plan {planName}?",
"DeletePlan.deletePlanName": "Eliminar {planName}",
"Deploy.deleteInProgress": "Suprimir en curso",
"DeployStep.requestingDeploy": "Solicitando un despliegue...",
"DeployStep.validateAndDeploy": "Validar y desplegar",
"DeploymentConfiguration.deploymentConfiguration": "Configuraci\u00f3n del despliegue",
"DeploymentConfiguration.overallSettings": "Par\u00e1metros globales",
"DeploymentConfiguration.parameters": "Par\u00e1metros",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Cargando la configuraci\u00f3n actual del despliegue...",
"DeploymentConfirmation.deployButton": "Desplegar",
"DeploymentConfirmation.deploymentConfirmation": "\u00bfSeguro que desea desplegar este plan?",
"DeploymentConfirmation.deploymentConfirmationHeader": "Desplegar plan {planName}",
"DeploymentConfirmation.requestingDeploymentLoader": "Solicitando un despliegue...",
"DeploymentConfirmation.summary": "Resumen:",
"DeploymentConfirmation.validationsNotificationMessage": "Se recomienda esperar hasta que las validaciones hayan terminado de ejecutarse y los errores se hayan corregido para continuar con el despliegue.",
"DeploymentConfirmation.validationsNotificationTitle": "Las validaciones pre-despliegue se han iniciado autom\u00e1ticamente.",
"DeploymentDetail.close": "Cerrar",
"DeploymentDetail.loadingDeploymentStatus": "Cargando el estado del despliegue",
"DeploymentDetail.modalTitle": "Despliegue del plan {planName}",
"DeploymentFailure.deleteDeployment": "Eliminar despliegue",
"DeploymentFailure.fetchingStack": "Cargando la informaci\u00f3n del despliegue...",
"DeploymentFailure.moreDetails": "M\u00e1s detalles",
"DeploymentFailure.requestingDeletion": "Solicitando la eliminaci\u00f3n del despliegue",
"DeploymentFailures.failuresTableDescription": "La fase de configuraci\u00f3n del despliegue ha fallado, la siguiente lista muestra los fallos reportados de la ejecuci\u00f3n de Ansible:",
"DeploymentFailures.loadingDeploymentFailures": "Cargando fallos...",
"DeploymentFailures.noDeploymentFailures": "No hay fallos de despliegue que mostrar",
"DeploymentFailures.nodeTableColumnLabel": "Nodo",
"DeploymentFailures.outputsTableColumnLabel": "Resultados",
"DeploymentFailures.taskTableColumnLabel": "Tarea",
"DeploymentFailures.title": "Fallos de la configuraci\u00f3n del despliegue",
"DeploymentFailures.viewDetails": "Ver detalles",
"DeploymentProgress.configuringPlan": "Configurando el despliegue {planName}",
"DeploymentProgress.deployingPlan": "Desplegando el plan {planName} ({completeResourcesCount} de {resourcesCount} recursos)",
"DeploymentProgress.initializingDeployment": "Inicializando el plan de despliegue {planName}",
"DeploymentProgress.viewInformation": "Ver informaci\u00f3n detallada",
"DeploymentStatus.createComplete": "Despliegue finalizado correctamente",
"DeploymentStatus.createFailed": "Despliegue fallido",
"DeploymentStatus.createInProgress": "Despliegue en curso",
"DeploymentStatus.deleteFailed": "Eliminaci\u00f3n de despliegue fallida",
"DeploymentStatus.deployed": "Despliegue finalizado correctamente",
"DeploymentStatus.deploying": "El despliegue {planName} se encuentra en progreso",
"DeploymentStatus.deploymentFailed": "El despliegue {planName} ha fallado",
"DeploymentStatus.undeployFailed": "Ha fallado el eliminar el despliegue",
"DeploymentStatus.undeployed": "El despliegue no ha comenzado",
"DeploymentStatus.undeploying": "La eliminaci\u00f3n del despliegue {planName} se encuentra en progreso",
"DeploymentStatus.unknown": "El estado del despliegue {planName} no se ha podido cargar",
"DeploymentStatus.updateComplete": "Actualizaci\u00f3n finalizada satisfactoriamente",
"DeploymentStatus.updateFailed": "La actualizaci\u00f3n ha fallado",
"DeploymentStatus.updateInProgress": "Actualizaci\u00f3n en curso",
"DeploymentStatusShort.deployed": "Despliegue finalizado correctamente",
"DeploymentStatusShort.deploying": "Despliegue en curso",
"DeploymentStatusShort.deploymentFailed": "Despliegue fallido",
"DeploymentStatusShort.undeployFailed": "Ha fallado el eliminar el despliegue",
"DeploymentStatusShort.undeployed": "No desplegado",
"DeploymentStatusShort.undeploying": "Eliminaci\u00f3n del despliegue en progreso",
"DeploymentStatusShort.unknown": "El estado del despliegue no se ha podido cargar",
"DeploymentSuccess.resources": "Recursos",
"DriverFields.ipOrFqdnValidatorMessage": "Por favor introduzca una direcci\u00f3n IPv4 o un FQDN v\u00e1lido.",
"DriverFields.portValidationMessage": "Introduzca un n\u00famero de puerto v\u00e1lido (0 - 65535)",
"EditPlan.cancel": "Cancelar",
"EditPlan.editPlan": "Edita el plan de despliegue {planName}",
"EditPlan.updatingDeploymentPlan": "Actualizando plan...",
"EditPlan.uploadAndUpdate": "Subir archivos y actualizar plan",
"EditPlanFieldsTab.directoryInputDescription": "Introduzca un directorio con los ficheros que va a actualizar, la estructura del directorio debe ser consistente con la estructura del directorio del plan de despliegue.",
"EditPlanFieldsTab.planFiles": "Archivos del plan",
"EditPlanFieldsTab.planName": "Nombre del plan",
"EditPlanForm.cancel": "Cancelar",
"EditPlanFormTabs.files": "Archivos",
"EditPlanFormTabs.updatePlan": "Actualizar plan",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "Cargando la configuraci\u00f3n del despliegue...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "La configuraci\u00f3n del despliegue no ha podido ser actualizada",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "La configuraci\u00f3n del entorno ha sido actualizada correctamente.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Configuraci\u00f3n del entorno actualizada",
"EnvironmentConfigurationForm.cancel": "Cancelar",
"EnvironmentConfigurationForm.missingConfiguration": "Configuraci\u00f3n no encontrada",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "Las opciones seleccionadas dependen de otras opciones no habilitadas",
"EnvironmentConfigurationForm.requiredEnvironments": "Esta opci\u00f3n requiere {requiredEnvironments} para ser activada.",
"EnvironmentConfigurationForm.saveAndClose": "Guardar y cerrar",
"EnvironmentConfigurationForm.saveChanges": "Guardar cambios",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "Actualizando la configuraci\u00f3n del entorno",
"ExportPlan.close": "Cerrar",
"ExportPlan.download": "Descargar",
"ExportPlan.downloadMessage": "La exportaci\u00f3n del plan solicitado est\u00e1 lista. Por favor haga click en el bot\u00f3n debajo para descargar la exportaci\u00f3n. Puede que necesite hacer click-derecho en el bot\u00f3n y seleccionar \"Guardar enlace como...\".",
"ExportPlan.error": "Ha ocurrido un error al exportar el plan",
"ExportPlan.exportPlanName": "Exportar {planName}",
"ExportPlan.exportingPlanLoader": "Exportando plan...",
"FileList.planFiles": "Archivos del plan",
"HardwareStep.registerNodes": "Registrar nodos",
"HorizontalDirectoryInput.filesReady": "{filesCount} ficheros",
"HorizontalDirectoryInput.noFilesValidationError": "Introduzca un directorio con los ficheros del plan de despliegue",
"HorizontalDirectoryInput.readingFiles": "Leyendo ficheros... {progress}%",
"HorizontalDirectoryInput.unreadableFilesValidationError": "Algunos ficheros no han podido ser le\u00eddos: {files}",
"I18nDropdown.language": "Idioma",
"ListPlans.importPlan": "Importar plan",
"LoggerActions.downloadLogsFailedNotificationTitle": "La descarga de los logs ha fallado",
"Login.description": "Esta herramienta le ayudar\u00e1 en el proceso del configurar y desplegar un entorno con OpenStack.",
"Login.login": "Iniciar sesi\u00f3n",
"Login.password": "Contrase\u00f1a",
"Login.passwordRequired": "La contrase\u00f1a es obligatoria.",
"Login.username": "Usuario",
"Login.usernameRequired": "El nombre de usuario es obligatorio.",
"Login.welcome": "Bienvenido!",
"NavBar.debug": "Depurar",
"NavBar.plansTab": "Planes",
"NavBar.toggleNavigation": "Alternar navegaci\u00f3n ",
"Navbar.nodesTab": "Nodos",
"NetworkConfiguration.close": "Cerrar",
"NetworkConfiguration.loadingData": "Cargando datos...",
"NetworkConfiguration.networkConfiguration": "Configuraci\u00f3n de red",
"NetworkConfiguration.networkIsolationWarningLink": "Activar aislamiento de red",
"NetworkConfiguration.networkIsolationWarningText": "{enableNetworkIsolationLink} para hacer uso de esas redes.",
"NetworkConfiguration.networkIsolationWarningTitle": "Algunas redes no est\u00e1n disponibles.",
"NetworksActions.fetchNetworksFailed": "No se han podido cargar las redes",
"NewPlan.importPlan": "Importar plan",
"NewPlan.uploadAndCreate": "Subir archivos y crear plan",
"NewPlanForm.cancel": "Cancelar",
"NewPlanForm.creatingDeploymentPlan": "Creando el plan de despliegue...",
"NoPlans.importPlan": "Importar plan",
"NoPlans.noPlansAvailable": "No hay planes de despliegue disponibles",
"NoPlans.noPlansAvailableMessage": "No hay planes de despliegue disponibles. Por favor cree uno primero.",
"NodeColumns.cpuArch": "Arquitectura del procesador",
"NodeColumns.cpus": "CPU (n\u00facleos)",
"NodeColumns.introspectionStatus": "Estado de la introspecci\u00f3n",
"NodeColumns.localGB": "Disco (GB)",
"NodeColumns.macs": "Direcci\u00f3n MAC",
"NodeColumns.memoryMb": "Memoria (MB)",
"NodeColumns.name": "Nombre",
"NodeColumns.powerState": "Estado de energ\u00eda",
"NodeColumns.profile": "Perfil",
"NodeColumns.provisionState": "Estado del aprovisionamiento",
"NodeDrive.model": "Modelo:",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "Dispositivo ra\u00edz",
"NodeDrive.serial": "Serial:",
"NodeDrive.size": "Tama\u00f1o:",
"NodeDrive.type": "Tipo:",
"NodeDrive.vendor": "Vendedor:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "Extensi\u00f3n del vendedor WWN:",
"NodeDrive.wwnWithExtension": "WWN con extensi\u00f3n:",
"NodeDrives.close": "Cerrar",
"NodeDrives.title": "Discos del nodo - {nodeId}",
"NodeExtendedInfo.macAddresses": "Direcciones MAC:",
"NodeIntrospectionState.introspectionStateLabel": "Introspecci\u00f3n:",
"NodeListItem.Profile": "Perfil:",
"NodeListItem.actions.manageDrives": "Gestionar discos",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB disco",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "Mantenimiento",
"NodePowerState.powerOff": "Apagado",
"NodePowerState.powerOn": "Encendido",
"NodePowerState.poweringOff": "Apagando",
"NodePowerState.poweringOn": "Encendiendo",
"NodePowerState.rebooting": "Reiniciando",
"NodePowerState.unknownPowerState": "Desconocido",
"NodeProvisionState.deploymentPlanLabel": "Plan de despliegue:",
"NodeProvisionState.provisionStateLabel": "Estado de provisi\u00f3n:",
"Nodes.loadingNodes": "Cargando nodos...",
"Nodes.nodes": "Nodos",
"Nodes.refreshResults": "Actualizar resultados",
"Nodes.registerNodes": "Registrar nodos",
"Nodes.registeringNodes": "Registrando nodos...",
"NodesActions.introspectionFailedNotificationTitle": "Introspecci\u00f3n de los nodos fallida",
"NodesActions.introspectionNotificationMessage": "Los nodos seleccionados han sido introspeccionados correctamente.",
"NodesActions.introspectionNotificationTitle": "Introspecci\u00f3n de los nodos finalizada",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "La introspecci\u00f3n del nodo ha fallado",
"NodesAssignmentForm.cancel": "Cancelar",
"NodesAssignmentForm.nodeCountsErrorMessage": "Por favor ajuste el n\u00famero de nodos.",
"NodesAssignmentForm.nodeCountsErrorTitle": "El n\u00famero de nodos seleccionados excede el n\u00famero m\u00e1ximo disponible.",
"NodesAssignmentForm.saveChanges": "Guardar cambios",
"NodesListForm.operationInProgressValidationMessage": "Existen operaciones en progreso en los nodos seleccionados",
"NodesListForm.selectNodesValidationMessage": "Por favor seleccione los nodos primero",
"NodesTable.loadingNodes": "Cargando nodos...",
"NodesTable.noNodes": "No existen nodos disponibles.",
"NodesTableView.deleteNodes": "Eliminar nodos",
"NodesTableView.deleteNodesModalMessage": "\u00bfSeguro que desea suprimir el nodo seleccionado?",
"NodesTableView.deleteNodesModalTitle": "Eliminar nodos",
"NodesTableView.introspectNodes": "Introspecci\u00f3n de nodos",
"NodesTableView.provideNodes": "Provea los nodos",
"NodesTableView.tagNodes": "Etiquetar nodos",
"NodesTables.cpuArch": "Arquitectura del procesador",
"NodesTables.cpuCores": "CPU (n\u00facleos)",
"NodesTables.diskGb": "Disco (GB)",
"NodesTables.macAddresses": "Direcci\u00f3n(es) MAC",
"NodesTables.maintenance": "Mantenimiento",
"NodesTables.memoryMb": "Memoria (MB)",
"NodesTables.name": "Nombre",
"NodesTables.powerState": "Estado de energ\u00eda",
"NodesTables.profile": "Perfil",
"NodesTables.provisionState": "Estado del aprovisionamiento",
"NodesToolbar.filterStringPlaceholder": "Agregar filtro",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} de {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "Eliminar nodos",
"NodesToolbarActions.deleteNodesModalMessage": "\u00bfSeguro que desea suprimir el nodo seleccionado?",
"NodesToolbarActions.deleteNodesModalTitle": "Eliminar nodos",
"NodesToolbarActions.disabledButtonsWarning": "Debe seleccionar primero los nodos, o existe alguna operaci\u00f3n en curso en alguno de los nodos seleccionados.",
"NodesToolbarActions.introspectNodes": "Introspecci\u00f3n de nodos",
"NodesToolbarActions.manageNodes": "Administrar nodos",
"NodesToolbarActions.provideNodes": "Provea los nodos",
"NodesToolbarActions.tagNodes": "Etiquetar nodos",
"NodesToolbarForm.sortDir": "DIrecci\u00f3n de ordenaci\u00f3n",
"OvercloudInfo.loadingOvercloudInformation": "Cargando la informaci\u00f3n del despliegue...",
"OvercloudInfo.overcloudInformationHeader": "Informaci\u00f3n del despliegue",
"OvercloudInfo.overcloudIpAddress": "Direcci\u00f3n IP del despliegue:",
"OvercloudInfo.password": "Contrase\u00f1a:",
"OvercloudInfo.username": "Usuario:",
"PXEAndDRACDriverFields.address": "Host DRAC",
"PXEAndDRACDriverFields.password": "Contrase\u00f1a DRAC",
"PXEAndDRACDriverFields.port": "Puerto DRAC",
"PXEAndDRACDriverFields.user": "Usuario DRAC",
"PXEAndIPMIToolDriverFields.address": "Direcci\u00f3n IPMI IP o FQDN",
"PXEAndIPMIToolDriverFields.password": "Contrase\u00f1a IPMI",
"PXEAndIPMIToolDriverFields.port": "Puerto IPMI",
"PXEAndIPMIToolDriverFields.user": "Usuario IPMI",
"ParameterInputList.noParameters": "Actualmente no existen par\u00e1metros para configurar en esta secci\u00f3n.",
"Parameters.general": "General",
"ParametersActions.parametersUpdatedNotficationMessage": "Los par\u00e1metros del despliegue han sido actualizados correctamente.",
"ParametersActions.parametersUpdatedNotficationTitle": "Par\u00e1metros actualizados",
"ParametersActions.updateParametersFailed": "Los par\u00e1metros no se han podido actualizar",
"ParametersForm.cancel": "Cancelar",
"ParametersForm.enterValidJson": "Por favor introduzca un JSON v\u00e1lido.",
"ParametersForm.invalidParameters": "Algunos valores de los par\u00e1metros configurados son inv\u00e1lidos:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "Guardar y cerrar",
"ParametersForm.saveChanges": "Guardar cambios",
"ParametersForm.updatingParameters": "Actualizando par\u00e1metros...",
"PlanActions.delete": "Eliminar",
"PlanActions.edit": "Editar",
"PlanActions.export": "Exportar",
"PlanCard.deletingPlan": "Eliminando {planName}...",
"PlanCard.loadingPlan": "Cargando los detalles del plan {planName}...",
"PlanCard.loadingStatus": "Cargando el estado del despliegue",
"PlanCard.updatingPlan": "Actualizando {planName}...",
"PlanFieldsTab.directoryInputDescription": "Por favor introduzca el directorio de las plantillas de Heat que definan el plan de despliegue.",
"PlanFieldsTab.gitUrlInputDescription": "Por favor introduzca una URL v\u00e1lida para el repositorio de Git, que contenga las plantillas de Heat y que definan el plan de despliegue.",
"PlanFieldsTab.tarballInputDescription": "El paquete no debe contener el directorio ra\u00edz, al crear el paquete utilice el siguiente comando: {command}",
"PlanFormTabs.addPlanName": "Agregar un nombre para el plan",
"PlanFormTabs.files": "Archivos",
"PlanFormTabs.gitUrl": "URL del repositorio de Git",
"PlanFormTabs.gitUrlValidationError": "Por favor introduzca una URL v\u00e1lida para el repositorio de Git.",
"PlanFormTabs.newPlan": "Nuevo plan",
"PlanFormTabs.planFiles": "Archivos del plan",
"PlanFormTabs.planName": "Nombre del plan",
"PlanFormTabs.planNameValidationError": "Por favor utilice s\u00f3lo caracteres alfanum\u00e9ricos en min\u00fasculas y guiones (-).",
"PlanFormTabs.planTarball": "Paquete comprimido del plan",
"PlanUploadTypeRadios.gitUrl": "URL del repositorio de Git",
"PlanUploadTypeRadios.localDirectory": "Directorio local",
"PlanUploadTypeRadios.tarArchive": "Archivo comprimido (.tar.gz o .tgz)",
"PlanUploadTypeRadios.uploadType": "Tipo de archivo a subir",
"PlanUploadTypeRadios.useDefaultTemplates": "Utilizar plantillas por defecto",
"PlansActions.exportFailedNotificationTitle": "Ha fallado la exportaci\u00f3n",
"PlansActions.planCreatedNotificationMessage": "El plan {planName} ha sido creado correctamente.",
"PlansActions.planCreatedNotificationTitle": "El plan ha sido creado",
"PlansActions.planCreationFailedNotificationMessage": "La creaci\u00f3n del plan ha fallado",
"PlansActions.planDeletedNotificationMessage": "El plan {planName} ha sido eliminado correctamente.",
"PlansActions.planDeletedNotificationTitle": "Plan suprimido",
"PlansActions.planUpdateFailedNotificationMessage": "La actualizaci\u00f3n del plan ha fallado",
"PlansActions.planUpdatedNotificationMessage": "El plan {planName} ha sido actualizado correctamente.",
"PlansActions.planUpdatedNotificationTitle": "Plan actualizado",
"PlansList.importPlan": "Importar plan",
"PlansList.plans": "Planes",
"PushDestinationInput.pushDestinationOptionCustom": "Especifique un registro personalizado",
"PushDestinationInput.pushDestinationOptionFalse": "No suba im\u00e1genes",
"PushDestinationInput.pushDestinationOptionTrue": "Subir al registro de la Undercloud.",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "Cargar el estado del despliegue",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "Cargando el estado del despliegue",
"RedeployPlanButton.cancel": "Cancelar",
"RedeployPlanButton.redeployConfirmationQuestion": "\u00bfSeguro que desea re desplegar?",
"RedeployPlanButton.redeployPlan": "Redesplegar plan",
"RedeployPlanButton.requestingRedeploy": "Solicitando redespliegue",
"RegisterNodeForm.General": "General",
"RegisterNodeForm.architecture": "Arquitectura",
"RegisterNodeForm.cpuCount": "N\u00famero de procesadores",
"RegisterNodeForm.diskGb": "Disco (GB)",
"RegisterNodeForm.driver": "Controlador",
"RegisterNodeForm.enterValidMacAddress": "Introduzca una lista de direcciones MAC v\u00e1lidas.",
"RegisterNodeForm.hardware": "Hardware",
"RegisterNodeForm.macAddressesDescription": "Si especifica m\u00faltiples direcciones MAC, utilice una lista separada por comas (por ejemplo: aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Administraci\u00f3n",
"RegisterNodeForm.memoryMb": "Memoria (MB)",
"RegisterNodeForm.name": "Nombre",
"RegisterNodeForm.networking": "Redes",
"RegisterNodeForm.nicMacAddresses": "Direcci\u00f3n NIC MAC",
"RegisterNodeForm.nodeDetail": "Detalle del nodo",
"RegisterNodeForm.nodeNameMaxLength": "El nombre del nodo debe tener hasta 255 caracteres.",
"RegisterNodeForm.nodeNameRegexp": "El nombre debe contener s\u00f3lo los siguientes caracteres sin reservar en el RFC3986: Alfanum\u00e9ricos, gui\u00f3n, punto, gui\u00f3n bajo y tildes.",
"RegisterNodesActions.registrationNotificationMessage": "Los nodos han sido registrados correctamente.",
"RegisterNodesActions.registrationNotificationTitle": "Registro de los nodos finalizado",
"RegisterNodesDialog.addANodeManually": "Agregar un nodo manualmente o subir desde un archivo.",
"RegisterNodesDialog.addNew": "Agregar nuevo",
"RegisterNodesDialog.cancel": "Cancelar",
"RegisterNodesDialog.csvUnsupported": "Subida de CSV no soportada",
"RegisterNodesDialog.invalidJson": "JSON inv\u00e1lido",
"RegisterNodesDialog.noNodesToRegister": "\"No existen nodos para registrar\"",
"RegisterNodesDialog.or": "o",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "Proporcione un archivo CSV o instackenv.json.",
"RegisterNodesDialog.registerNodes": "Registrar nodos",
"RegisterNodesDialog.registeringNodes": "Registrando nodos...",
"RegisterNodesDialog.selectedFileUnsupported": "El formato de archivo seleccionado no est\u00e1 soportado.",
"RegisterNodesDialog.undefinedNode": "Nodo no definido",
"RegisterNodesDialog.unsupportedFileFormat": "Formato de archivo no soportado",
"RegisterNodesDialog.uploadFromFile": "Subir desde archivo",
"RoleCard.assignNodes": "Asignar nodos",
"RoleCard.availableNodesCount": "de {count, number}",
"RoleCard.nodesAssigned": "Nodos asignados",
"RoleDetail.cancel": "Cancelar",
"RoleDetail.loadingParameters": "Cargando par\u00e1metros...",
"RoleDetail.networkConfiguration": "Configuraci\u00f3n de red",
"RoleDetail.parameters": "Par\u00e1metros",
"RoleDetail.role": "Rol {roleName}",
"RoleDetail.saveChanges": "Guardar cambios",
"RoleDetail.services": "Servicios",
"RoleDetail.updatingParameters": "Actualizando par\u00e1metros...",
"RoleServices.noParameters": "Actualmente no existen par\u00e1metros para configurar en esta secci\u00f3n.",
"RoleServices.selectService": "Por favor seleccione el servicio a configurar.",
"Roles.loadingDeploymentRoles": "Cargando los roles del despliegue...",
"RolesActions.availableRolesNotLoaded": "No se han podido cargar los roles disponibles",
"RolesStep.loadingNodes": "Cargando nodos...",
"RolesStep.loadingParameters": "Cargando par\u00e1metros...",
"RolesStep.manageRoles": "Administrar roles",
"RolesStep.nodesAvailableToAssign": "{allNodesCount, number} nodos totales ({totalAssignedNodesCount, number} asignados a los roles, {nodesCount, number} disponibles para asignaci\u00f3n, {nodesRequireActionCount, number} requieren acciones)",
"SelectAll.deselectAllText": "Deseleccionar todos",
"SelectAll.selectAllText": "Seleccionar todos",
"SelectRolesDialog.loadingAvailableRoles": "Cargando roles disponibles",
"SelectRolesDialog.selectRoles": "Seleccione roles",
"SelectRolesForm.cancel": "Cancelar",
"SelectRolesForm.primaryRoleValidationError": "Por favor seleccione un rol etiquetado como \"primario\" y \"controlador\"",
"SelectRolesForm.saveChanges": "Guardar cambios",
"SelectRolesForm.updatingRoles": "Actualizando roles...",
"StackResources.resourcesTableDescription": "La fase de despliegue ha fallado, la siguiente lista muestra los recursos del stack de Heat:",
"StackResources.title": "Recursos del despliegue",
"StackResourcesTable.loadingResources": "Cargando recursos...",
"StackResourcesTable.name": "Nombre",
"StackResourcesTable.noResourcesAvailable": "No hay recursos disponibles.",
"StackResourcesTable.status": "Estado",
"StackResourcesTable.updatedTime": "Fecha de actualizaci\u00f3n",
"StatusDropdown.debug": "Depurar",
"TagNodesForm.cancel": "Cancelar",
"TagNodesForm.confirm": "Etiquetar nodos",
"TagNodesForm.customProfileDescription": "Caracteres alfanum\u00e9ricos en min\u00faculas y gui\u00f3n como separador. Ej. \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "Ha ingresado caracteres que no est\u00e1n permitidos para este valor",
"TagNodesForm.customProfileLabel": "Perfil personalizado",
"TagNodesForm.customProfileOption": "Especifique un perfil personalizado",
"TagNodesForm.noProfileOption": "Sin perfil (eliminar etiqueta)",
"TagNodesForm.selectProfileLabel": "Seleccione el perfil",
"TagNodesModal.title": "Etiqueta nodos en perfiles",
"Toolbar.activeFilters": "Filtros activos:",
"Toolbar.clearAllActiveFilters": "Limpiar todos los filtros",
"UndeployProgress.initializingDeployment": "Inicializando la eliminaci\u00f3n del plan de despliegue {planName}",
"UndeployProgress.initializingUndeploy": "Inicializando la eliminaci\u00f3n del plan de despliegue {planName}",
"UndeployProgress.resources": "Recursos",
"UndeployProgress.undeployingPlan": "Eliminando el plan de despliegue {planName}",
"UndeployProgress.viewInformation": "Ver informaci\u00f3n detallada",
"UserAuthenticator.authenticating": "Autenticando...",
"UserDropdown.logout": "Cerrar sesi\u00f3n",
"ValidationDetail.close": "Cerrar",
"ValidationDetail.description": "Descripci\u00f3n:",
"ValidationDetail.groups": "Grupos:",
"ValidationDetail.output": "Salida:",
"ValidationDetail.status": "Estado:",
"ValidationDetail.validationDetail": "Detalle de la validaci\u00f3n",
"ValidationsList.loadingValidations": "Cargando validaciones...",
"ValidationsList.noValidations": "Sin validaciones",
"ValidationsList.noValidationsMessage": "No hay validaciones actualmente.",
"ValidationsList.refresh": "Actualizar",
"ValidationsList.validations": "Validaciones",
"ValidationsToggle.error": "Errores de validaci\u00f3n",
"ValidationsToggle.failed": "Validaciones fallidas",
"ValidationsToggle.loadingValidations": "Cargando validaciones...",
"ValidationsToggle.new": "Nuevas validaciones",
"ValidationsToggle.paused": "Validaciones pausadas",
"ValidationsToggle.running": "Ejecutando validaciones",
"ValidationsToggle.success": "Validaciones satisfactorias",
"ValidationsToggle.warning": "Validaciones con advertencias",
"ValidationsToolbar.filterStringPlaceholder": "Agregar filtro",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} de {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "Grupo",
"ValidationsToolbar.name": "Nombre",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "Arquitectura:",
"nodeExtendedinfo.bios": "BIOS:",
"nodeExtendedinfo.driver": "Controlador:",
"nodeExtendedinfo.interfaceIpAddress": "Direcci\u00f3n IP",
"nodeExtendedinfo.interfaceMacAddress": "Direcci\u00f3n MAC",
"nodeExtendedinfo.interfaces": "Interfaces:",
"nodeExtendedinfo.kernel": "Kernel:",
"nodeExtendedinfo.product": "Producto:",
"nodeExtendedinfo.productName": "Nombre",
"nodeExtendedinfo.productVendor": "Vendedor",
"nodeExtendedinfo.productVersion": "Versi\u00f3n",
"nodeExtendedinfo.registered": "Registrado:",
"nodeExtendedinfo.rootDisk": "Disco ra\u00edz:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "El valor m\u00e1ximo es {count, number}.",
"reduxForm.validations.minValue": "El valor m\u00ednimo es {count, number}.",
"reduxForm.validations.number": "El valor debe ser un n\u00famero."
}
}

View File

@ -1,371 +0,0 @@
{
"fr": {
"AuthenticatedContent.loadingDeployments": "Chargement des d\u00e9ploiements...",
"ConfigurePlanStep.editConfigurationLink": "Editer la configuration",
"ContentView.list": "Lister les vues",
"ContentView.table": "",
"CurrentPlan.backToAllPlans": "Ajouter des plans",
"CurrentPlan.configurePlanStepTooltip": "",
"CurrentPlan.configureRolesStepHeader": "Configurer les r\u00f4les et assigner les noeuds",
"CurrentPlan.configureRolesStepTooltip": "",
"CurrentPlan.deployStepHeader": "D\u00e9ployer",
"CurrentPlan.deploymentConfigurationStepHeader": "Sp\u00e9cifier une configuration de d\u00e9ploiement",
"CurrentPlan.deploymentStepTooltip": "",
"CurrentPlan.hardwareStepHeader": "Pr\u00e9paration du mat\u00e9riel",
"CurrentPlan.hardwareStepTooltip": "",
"DataTable.filter": "Filtrer",
"DataTable.itemsVisibleInTable": "",
"DebugScreen.cancel": "Annuler",
"DebugScreen.debugPageTitle": "",
"DebugScreen.downloadButton": "T\u00e9l\u00e9charger les logs",
"DebugScreen.downloadButtonInProgress": "T\u00e9l\u00e9chargement des logs...",
"DebugScreen.downloadLogs": "T\u00e9l\u00e9charger les logs",
"DebugScreen.downloadLogsMessage": "",
"DebugScreen.downloadingLogsLoader": "T\u00e9l\u00e9chargement des logs...",
"DebugScreen.error": "Une erreur s'est produite lors de la pr\u00e9paration du t\u00e9l\u00e9chargement des logs.",
"DebugScreen.gitSha": "",
"DebugScreen.version": "Version",
"DeletePlan.cancel": "Annuler",
"DeletePlan.deletePlan": "Supprimer le plan",
"DeletePlan.deletePlanConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer le plan {planName}?",
"DeletePlan.deletePlanName": "Supprimer {planName}",
"DeleteStackButton.deleteConfirmationQuestion": "",
"DeleteStackButton.deleteDeployment": "Supprimer le d\u00e9ploiement",
"Deploy.deleteInProgress": "Suppression en cours",
"DeployStep.requestingDeploy": "Demander un d\u00e9ploiement ...",
"DeployStep.validateAndDeploy": "Valider et d\u00e9ployer",
"DeploymentConfiguration.deploymentConfiguration": "Configuration du d\u00e9ploiement",
"DeploymentConfiguration.overallSettings": "Param\u00e8tres g\u00e9n\u00e9raux",
"DeploymentConfiguration.parameters": "Param\u00e8tres",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Chargement de la configuration actuelle du d\u00e9ploiement...",
"DeploymentConfirmation.deployButton": "D\u00e9ployer",
"DeploymentConfirmation.deploymentConfirmation": "\u00cates-vous s\u00fbr de vouloir d\u00e9ployer ce plan ?",
"DeploymentConfirmation.deploymentConfirmationHeader": "D\u00e9ployer le plan {planName}",
"DeploymentConfirmation.requestingDeploymentLoader": "Demander un d\u00e9ploiement ...",
"DeploymentConfirmation.summary": "R\u00e9sum\u00e9:",
"DeploymentConfirmation.validationsWarningMessage": "Il est fortement recommand\u00e9 de corriger tout les probl\u00e8mes de validation avant de continuer.",
"DeploymentConfirmation.validationsWarningTitle": "Toutes les validations pr\u00e9-d\u00e9ploiement non pas \u00e9t\u00e9 pass\u00e9es",
"DeploymentDetail.close": "Fermer",
"DeploymentDetail.loadingStacksLoader": "Chargement des stacks...",
"DeploymentDetail.modalTitle": "D\u00e9ploiement du plan {planName}",
"DeploymentFailure.deleteDeployment": "Supprimer le d\u00e9ploiement",
"DeploymentFailure.moreDetails": "Plus de d\u00e9tails",
"DeploymentFailure.requestingDeletion": "",
"DeploymentFailure.resources": "Ressources",
"DeploymentProgress.cancelDeployment": "Annuler le d\u00e9ploiement",
"DeploymentProgress.deploymentInProgress": "Le d\u00e9ploiement est en cours de progression.",
"DeploymentProgress.requestingDeletion": "",
"DeploymentProgress.viewInformation": "Afficher les informations d\u00e9taill\u00e9es",
"DeploymentStatus.createComplete": "D\u00e9ploiement r\u00e9ussi",
"DeploymentStatus.createFailed": "\u00c9chec du d\u00e9ploiement",
"DeploymentStatus.createInProgress": "D\u00e9ploiement en cours",
"DeploymentStatus.deleteFailed": "Suppression du d\u00e9ploiement \u00e9chou\u00e9",
"DeploymentStatus.updateComplete": "Mise \u00e0 jour r\u00e9ussie",
"DeploymentStatus.updateFailed": "Echec de la mise \u00e0 jour",
"DeploymentStatus.updateInProgress": "Mise \u00e0 jour en cours",
"DeploymentSuccess.deleteDeployment": "Supprimer le d\u00e9ploiement",
"DeploymentSuccess.requestingDeletion": "",
"DeploymentSuccess.resources": "Ressources",
"DriverFields.ipOrFqdnValidatorMessage": "Merci de renseigner une adresse IPv4 valide ou un FQDN valide.",
"DriverFields.portValidationMessage": "Merci de renseigner un num\u00e9ro de port valide (0 - 65535)",
"EditPlan.cancel": "Annuler",
"EditPlan.updatePlanNameFiles": "Mettre \u00e0 jour les fichiers de {planName}",
"EditPlan.updatingPlanLoader": "mise \u00e0 jour du plan...",
"EditPlan.uploadAndUpdate": "Charger les fichiers et mettre \u00e0 jour le plan",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "La configuration de l'environnement \u00e0 \u00e9t\u00e9 mise \u00e0 jour avec succ\u00e8s.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Configuration de l\u2019environnement mise \u00e0 jour",
"EnvironmentConfigurationForm.cancel": "Annuler",
"EnvironmentConfigurationForm.missingConfiguration": "",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "",
"EnvironmentConfigurationForm.requiredEnvironments": "",
"EnvironmentConfigurationForm.saveAndClose": "Sauvegarder et quitter",
"EnvironmentConfigurationForm.saveChanges": "Enregistrer les changements",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "",
"ExportPlan.close": "Fermer",
"ExportPlan.download": "",
"ExportPlan.downloadMessage": "",
"ExportPlan.error": "Une erreur s'est produite lors de l'export du plan",
"ExportPlan.exportPlanName": "Export {planName}",
"ExportPlan.exportingPlanLoader": "Exportation du plan...",
"FileList.planFiles": "",
"HardwareStep.registerNodes": "Enregistrer les n\u0153uds",
"I18nDropdown.language": "Langue",
"ListPlans.importPlan": "",
"LoggerActions.downloadLogsFailedNotificationTitle": "",
"Login.description": "Cet outil vous guidera dans la proc\u00e9dure de configuration et de d\u00e9ploiement d'un environnement OpenStack.",
"Login.login": "Connexion",
"Login.password": "Mot de passe",
"Login.passwordRequired": "Le mot de passe est obligatoire.",
"Login.username": "Nom d'utilisateur",
"Login.usernameRequired": "Le nom d'utilisateur est obligatoire.",
"Login.welcome": "Bienvenue!",
"NavBar.debug": "Debug",
"NavBar.logoutLink": "D\u00e9connexion",
"NavBar.plansTab": "Plans",
"NavBar.toggleNavigation": "Changer la navigation",
"Navbar.nodesTab": "N\u0153uds",
"NewPlan.cancel": "Annuler",
"NewPlan.creatingPlanLoader": "Cr\u00e9ation du plan...",
"NewPlan.importPlan": "",
"NewPlan.uploadAndCreate": "Charger les fichiers et cr\u00e9er le plan",
"NoPlans.importPlan": "",
"NoPlans.noPlansAvailable": "",
"NoPlans.noPlansAvailableMessage": "",
"NodeColumns.cpuArch": "CPU Arch.",
"NodeColumns.cpus": "CPU (coeurs)",
"NodeColumns.introspectionStatus": "Statut de l'introspection",
"NodeColumns.localGB": "Disque (GB)",
"NodeColumns.macs": "Adresses MAC",
"NodeColumns.memoryMb": "M\u00e9moire (Mo)",
"NodeColumns.name": "Nom",
"NodeColumns.powerState": "Etat de l'alimentation",
"NodeColumns.profile": "Profil",
"NodeColumns.provisionState": "\u00c9tat de d\u00e9ploiement",
"NodeDrive.model": "Mod\u00e8le:",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "P\u00e9riph\u00e9rique racine",
"NodeDrive.serial": "",
"NodeDrive.size": "Taille:",
"NodeDrive.type": "Type:",
"NodeDrive.vendor": "Vendeur:",
"NodeDrive.wwn": "",
"NodeDrive.wwnVendorExtension": "",
"NodeDrive.wwnWithExtension": "",
"NodeDrives.close": "Fermer",
"NodeDrives.title": "Disque du n\u0153ud - {nodeId}",
"NodeExtendedInfo.macAddresses": "Adresses MAC:",
"NodeIntrospectionState.introspectionStateLabel": "Introspection:",
"NodeListItem.Profile": "Profil:",
"NodeListItem.actions.manageDrives": "G\u00e9rer les disques",
"NodeListItem.cpuCores": "",
"NodeListItem.gbDisk": "GB disque",
"NodeListItem.mbRam": "Mo RAM",
"NodeMaintenanceState.maintenanceWarning": "Maintenance",
"NodePowerState.powerOff": "Allum\u00e9",
"NodePowerState.powerOn": "Eteint",
"NodePowerState.poweringOff": "Mise hors tension en cours",
"NodePowerState.poweringOn": "Mise sous tension en cours",
"NodePowerState.rebooting": "Red\u00e9marrage en cours",
"NodePowerState.unknownPowerState": "Inconnu",
"NodeProvisionState.provisionStateLabel": "\u00c9tat de d\u00e9ploiement:",
"Nodes.loadingNodes": "Chargement des n\u0153uds...",
"Nodes.nodes": "N\u0153uds",
"Nodes.registerNodes": "Enregistrer les n\u0153uds",
"Nodes.registeringNodes": "Enregistrement des n\u0153uds...",
"NodesActions.introspectionFailedNotificationTitle": "\u00c9chec de l'introspection des n\u0153uds",
"NodesActions.introspectionNotificationMessage": "Les n\u0153uds s\u00e9lectionn\u00e9 ont \u00e9t\u00e9 inspect\u00e9 avec succ\u00e8s.",
"NodesActions.introspectionNotificationTitle": "Introspection des n\u0153uds termin\u00e9",
"NodesAssignment.manageRolesLink": "",
"NodesAssignmentForm.cancel": "Annuler",
"NodesAssignmentForm.saveChanges": "Enregistrer les changements",
"NodesListForm.operationInProgressValidationMessage": "Il y a une op\u00e9ration en cours sur certains des n\u0153uds s\u00e9lectionn\u00e9s",
"NodesListForm.selectNodesValidationMessage": "Merci de s\u00e9lectionner des n\u0153uds d'abord",
"NodesTable.loadingNodes": "Chargement des n\u0153uds...",
"NodesTable.noNodes": "Il n'y a aucune n\u0153ud disponible.",
"NodesTableView.deleteNodes": "Supprimer les n\u0153uds",
"NodesTableView.deleteNodesModalMessage": "\u00cates-vous s\u00fbr de vouloir supprimer les n\u0153uds s\u00e9lectionn\u00e9s?",
"NodesTableView.deleteNodesModalTitle": "Supprimer les n\u0153uds",
"NodesTableView.introspectNodes": "Introspecter les n\u0153uds",
"NodesTableView.provideNodes": "Renseigner des noeuds",
"NodesTableView.tagNodes": "",
"NodesTables.cpuArch": "CPU Arch.",
"NodesTables.cpuCores": "CPU (coeurs)",
"NodesTables.diskGb": "Disque (GB)",
"NodesTables.macAddresses": "Adresse(s) MAC",
"NodesTables.maintenance": "Maintenance",
"NodesTables.memoryMb": "M\u00e9moire (Mo)",
"NodesTables.name": "Nom",
"NodesTables.powerState": "Etat de l'alimentation",
"NodesTables.profile": "Profil",
"NodesTables.provisionState": "\u00c9tat de d\u00e9ploiement",
"NodesToolbar.filterStringPlaceholder": "Ajouter un filtre",
"NodesToolbar.filteredToolbarResults": "",
"NodesToolbar.nonFilteredToolbarResults": "",
"NodesToolbarActions.deleteNodes": "Supprimer les n\u0153uds",
"NodesToolbarActions.deleteNodesModalMessage": "\u00cates-vous s\u00fbr de vouloir supprimer les n\u0153uds s\u00e9lectionn\u00e9s?",
"NodesToolbarActions.deleteNodesModalTitle": "Supprimer les n\u0153uds",
"NodesToolbarActions.disabledButtonsWarning": "Vous devez d'abord s\u00e9lectionner des n\u0153uds, ou une op\u00e9ration est d\u00e9j\u00e0 en cours sur certains des n\u0153uds s\u00e9lectionn\u00e9s.",
"NodesToolbarActions.introspectNodes": "Introspecter les n\u0153uds",
"NodesToolbarActions.manageNodes": "G\u00e9rer les n\u0153uds",
"NodesToolbarActions.provideNodes": "Renseigner des noeuds",
"NodesToolbarActions.tagNodes": "",
"NodesToolbarForm.sortDir": "",
"OvercloudInfo.loadingOvercloudInformation": "Chargement des informations de l'overcloud",
"OvercloudInfo.overcloudInformationHeader": "Informations sur l'overcloud:",
"OvercloudInfo.overcloudIpAddress": "Adresse IP de l'overcloud:",
"OvercloudInfo.password": "Mot de passe:",
"OvercloudInfo.username": "Nom d'utilisateur:",
"PXEAndDRACDriverFields.address": "nom d'h\u00f4te DRAC",
"PXEAndDRACDriverFields.password": "Mot de passe DRAC",
"PXEAndDRACDriverFields.port": "Port DRAC",
"PXEAndDRACDriverFields.user": "Nom d'utilisateur DRAC",
"PXEAndIPMIToolDriverFields.address": "Adresse IP IPMI ou FQDN",
"PXEAndIPMIToolDriverFields.password": "Mot de passe IPMI",
"PXEAndIPMIToolDriverFields.port": "Port IPMI",
"PXEAndIPMIToolDriverFields.user": "Nom d'utilisateur IPMI",
"ParameterInputList.noParameters": "Il n'y a actuellement aucun param\u00e8tre \u00e0 configurer dans cette section.",
"Parameters.general": "G\u00e9n\u00e9ral",
"ParametersActions.parametersUpdatedNotficationMessage": "Les param\u00e8tres de d\u00e9ploiement ont \u00e9t\u00e9 mis \u00e0 jour avec succ\u00e8s.",
"ParametersActions.parametersUpdatedNotficationTitle": "Param\u00e8tres mis \u00e0 jour",
"ParametersActions.updateParametersFailed": "",
"ParametersForm.cancel": "Annuler",
"ParametersForm.enterValidJson": "",
"ParametersForm.invalidParameters": "",
"ParametersForm.invalidParametersList": "",
"ParametersForm.saveAndClose": "Sauvegarder et quitter",
"ParametersForm.saveChanges": "Enregistrer les changements",
"ParametersForm.updatingParameters": "",
"PlanActions.delete": "Supprimer",
"PlanActions.edit": "Editer",
"PlanActions.export": "Exporter",
"PlanCard.deletingPlan": "Suppression de {planName}...",
"PlanCard.notDeployed": "Non d\u00e9ploy\u00e9",
"PlanCard.updatingPlan": "",
"PlanEditFormTabs.badExtension": "",
"PlanEditFormTabs.files": "Fichiers",
"PlanEditFormTabs.planName": "",
"PlanEditFormTabs.updatePlan": "Mettre \u00e0 jour le plan",
"PlanEditFormTabs.uploadFiles": "Charger des fichiers",
"PlanEditFormTabs.uploadType": "Type de chargement",
"PlanFormTabs.addPlanName": "Ajouter un nom de plan",
"PlanFormTabs.badExtension": "",
"PlanFormTabs.files": "Fichiers",
"PlanFormTabs.newPlan": "Nouveau plan",
"PlanFormTabs.planFiles": "",
"PlanFormTabs.planName": "",
"PlanFormTabs.planNameValidationError": "Merci d'utiliser uniquement des caract\u00e8res alphanum\u00e9riques et des tirets (-).",
"PlanFormTabs.uploadType": "Type de chargement",
"PlanUploadTypeRadios.localFolder": "R\u00e9pertoire local",
"PlanUploadTypeRadios.tarArchive": "",
"PlansActions.deploymentFailedNotificationTitle": "D\u00e9ploiement \u00e9chou\u00e9",
"PlansActions.exportFailedNotificationTitle": "Echec de l'export",
"PlansActions.planCreatedNotificationMessage": "",
"PlansActions.planCreatedNotificationTitle": "Le plan a \u00e9t\u00e9 cr\u00e9\u00e9",
"PlansActions.planDeletedNotificationMessage": "",
"PlansActions.planDeletedNotificationTitle": "Plan supprim\u00e9",
"PlansActions.planUpdateFailedNotificationMessage": "",
"PlansActions.planUpdatedNotificationMessage": "",
"PlansActions.planUpdatedNotificationTitle": "Plan mis \u00e0 jour",
"PlansList.importPlan": "",
"PlansList.plans": "Plans",
"RegisterNodeForm.General": "G\u00e9n\u00e9ral",
"RegisterNodeForm.architecture": "Architecture",
"RegisterNodeForm.cpuCount": "Nombre de CPU",
"RegisterNodeForm.diskGb": "Disque (GB)",
"RegisterNodeForm.driver": "Pilote",
"RegisterNodeForm.enterValidMacAddress": "",
"RegisterNodeForm.hardware": "Mat\u00e9riel",
"RegisterNodeForm.macAddressesDescription": "Si vous renseigner plusieurs adresses MAC, merci de les s\u00e9parer par une virgule. (ex: aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Gestion",
"RegisterNodeForm.memoryMb": "M\u00e9moire (Mo)",
"RegisterNodeForm.name": "Nom",
"RegisterNodeForm.networking": "R\u00e9seau",
"RegisterNodeForm.nicMacAddresses": "Adresses MAC de la NIC",
"RegisterNodeForm.nodeDetail": "D\u00e9tails du n\u0153ud",
"RegisterNodeForm.nodeNameMaxLength": "Le nom du n\u0153ud peut contenir jusqu'\u00e0 255 caract\u00e8res.",
"RegisterNodeForm.nodeNameRegexp": "",
"RegisterNodesActions.registrationNotificationMessage": "Les n\u0153uds ont \u00e9t\u00e9 enregistr\u00e9s avec succ\u00e8s.",
"RegisterNodesActions.registrationNotificationTitle": "Enregistrement des n\u0153uds termin\u00e9s",
"RegisterNodesDialog.addANodeManually": "Ajouter un n\u0153ud manuellement ou charger des n\u0153uds depuis un fichier.",
"RegisterNodesDialog.addNew": "Ajouter un nouveau",
"RegisterNodesDialog.cancel": "Annuler",
"RegisterNodesDialog.csvUnsupported": "Chargement par CSV non support\u00e9",
"RegisterNodesDialog.invalidJson": "JSON non valide",
"RegisterNodesDialog.noNodesToRegister": "\"Aucun n\u0153ud \u00e0 enregistrer\" ",
"RegisterNodesDialog.or": " ou ",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "Merci de fournir un fichier CSV ou instackenv.json",
"RegisterNodesDialog.registerNodes": "Enregistrer les n\u0153uds",
"RegisterNodesDialog.registeringNodes": "Enregistrement des n\u0153uds...",
"RegisterNodesDialog.selectedFileUnsupported": "Le format du fichier s\u00e9lectionner n'est pas encore support\u00e9.",
"RegisterNodesDialog.undefinedNode": "N\u0153ud non d\u00e9fini",
"RegisterNodesDialog.unsupportedFileFormat": "Format de fichier non support\u00e9",
"RegisterNodesDialog.uploadFromFile": "Chargement depuis un fichier",
"RoleCard.assignNodes": "Assigner des n\u0153uds",
"RoleCard.availableNodesCount": "de {count, number}",
"RoleCard.nodesAssigned": "N\u0153uds assign\u00e9s",
"RoleDetail.cancel": "Annuler",
"RoleDetail.loadingParameters": "Chargement des param\u00e8tres...",
"RoleDetail.networkConfiguration": "Configuration du r\u00e9seau ",
"RoleDetail.parameters": "Param\u00e8tres",
"RoleDetail.role": "{roleName} Role",
"RoleDetail.saveChanges": "Enregistrer les changements",
"RoleDetail.services": "Services",
"RoleDetail.updatingParameters": "",
"RoleServices.noParameters": "Il n'y a actuellement aucun param\u00e8tre \u00e0 configurer dans cette section.",
"RoleServices.selectService": "Merci de s\u00e9lectionner un service \u00e0 configurer",
"Roles.loadingDeploymentRoles": "Chargement des roles de d\u00e9ploiement...",
"RolesActions.availableRolesNotLoaded": "",
"RolesStep.loadingNodes": "Chargement des n\u0153uds...",
"RolesStep.loadingParameters": "Chargement des param\u00e8tres...",
"RolesStep.nodesAvailableToAssign": "",
"SelectAll.deselectAllText": "Tout d\u00e9s\u00e9lectionner",
"SelectAll.selectAllText": "Tout s\u00e9lectionner",
"SelectRolesDialog.loadingAvailableRoles": "",
"SelectRolesDialog.selectRoles": "",
"SelectRolesForm.cancel": "Annuler",
"SelectRolesForm.primaryRoleValidationError": "",
"SelectRolesForm.saveChanges": "Enregistrer les changements",
"SelectRolesForm.updatingRoles": "",
"StackResourcesTable.loadingResources": "Chargement des ressources...",
"StackResourcesTable.name": "Nom",
"StackResourcesTable.noResourcesAvailable": "Il n'y a aucune ressource disponible.",
"StackResourcesTable.status": "Statut",
"StackResourcesTable.updatedTime": "Heure mise \u00e0 jour",
"StatusDropdown.debug": "Debug",
"TagNodesForm.cancel": "Annuler",
"TagNodesForm.confirm": "",
"TagNodesForm.customProfileDescription": "",
"TagNodesForm.customProfileErrorMessage": "",
"TagNodesForm.customProfileLabel": "Profil personnalis\u00e9",
"TagNodesForm.customProfileOption": "Sp\u00e9cifier un profil personnalis\u00e9",
"TagNodesForm.noProfileOption": "",
"TagNodesForm.selectProfileLabel": "S\u00e9lectionner un profil",
"TagNodesModal.title": "",
"Toolbar.activeFilters": "Filtres actifs:",
"Toolbar.clearAllActiveFilters": "Supprimer tous les filtres",
"UserAuthenticator.authenticating": "Authentification...",
"ValidationDetail.close": "Fermer",
"ValidationDetail.description": "Description :",
"ValidationDetail.groups": "Groupes:",
"ValidationDetail.output": "Sortie:",
"ValidationDetail.status": "Statut:",
"ValidationDetail.validationDetail": "D\u00e9tails de la validation",
"ValidationsList.loadingValidations": "Chargement des validations...",
"ValidationsList.noValidations": "",
"ValidationsList.noValidationsMessage": "Il n'y a pas de validation actuellement.",
"ValidationsList.refresh": "Actualiser",
"ValidationsList.validations": "Validations",
"ValidationsToggle.error": "",
"ValidationsToggle.failed": "",
"ValidationsToggle.loadingValidations": "Chargement des validations...",
"ValidationsToggle.new": "",
"ValidationsToggle.paused": "",
"ValidationsToggle.running": "",
"ValidationsToggle.success": "",
"ValidationsToggle.warning": "",
"ValidationsToolbar.filterStringPlaceholder": "Ajouter un filtre",
"ValidationsToolbar.filteredToolbarResults": "",
"ValidationsToolbar.group": "Groupe",
"ValidationsToolbar.name": "Nom",
"ValidationsToolbar.nonFilteredToolbarResults": "",
"nodeExtendedinfo.architecture": "Architecture:",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "Pilote:",
"nodeExtendedinfo.interfaceIpAddress": "Adresse IP",
"nodeExtendedinfo.interfaceMacAddress": "Adresse MAC",
"nodeExtendedinfo.interfaces": "Interfaces:",
"nodeExtendedinfo.kernel": "Noyau:",
"nodeExtendedinfo.product": "Produits:",
"nodeExtendedinfo.productName": "Nom",
"nodeExtendedinfo.productVendor": "Vendeur",
"nodeExtendedinfo.productVersion": "Version",
"nodeExtendedinfo.registered": "Enregistr\u00e9:",
"nodeExtendedinfo.rootDisk": "Disque racine:",
"nodeExtendedinfo.uuid": "UUID",
"reduxForm.validations.maxValue": "",
"reduxForm.validations.minValue": "",
"reduxForm.validations.number": "La valeur doit \u00eatre un nombre."
}
}

View File

@ -1,484 +0,0 @@
{
"id": {
"AuthenticatedContent.loadingDeployments": "Loading Deployments...",
"AvailableRoleDetailDialog.close": "Close",
"AvailableRoleDetailDialog.descriptionLabel": "Deskripsi:",
"AvailableRoleDetailDialog.dialogTitle": "",
"AvailableRoleDetailDialog.disable": "",
"AvailableRoleDetailDialog.enable": "",
"AvailableRoleDetailDialog.networksLabel": "",
"AvailableRoleDetailDialog.servicesLabel": "",
"AvailableRoleDetailDialog.tagsLabel": "",
"ConfigureContainerImagesStep.editConfigurationLink": "Edit Konfigurasi",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "",
"ConfigureNetworkStep.editConfigurationLink": "Edit Konfigurasi",
"ConfigurePlanStep.editConfigurationLink": "Edit Konfigurasi",
"ContainerImagePrepareParameterForm.updatingConfiguration": "Memperbarui configuration...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "",
"ContainerImagePrepareParameterFormActions.back": "",
"ContainerImagePrepareParameterFormActions.close": "Close",
"ContainerImagePrepareParameterFormActions.save": "Save Changes",
"ContainerImagesActions.configureImagesFailed": "",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "",
"ContainerImagesConfigurationSummary.namespaceLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.generatingConfiguration": "",
"ContainerImagesPrepareForm.namePrefixDescription": "",
"ContainerImagesPrepareForm.namePrefixLabel": "",
"ContainerImagesPrepareForm.nameSuffixDescription": "",
"ContainerImagesPrepareForm.nameSuffixLabel": "",
"ContainerImagesPrepareForm.namespaceDescription": "",
"ContainerImagesPrepareForm.namespaceInvalid": "",
"ContainerImagesPrepareForm.namespaceLabel": "",
"ContainerImagesPrepareForm.pushDestinationDescription": "",
"ContainerImagesPrepareForm.pushDestinationLabel": "",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "",
"ContainerImagesPrepareForm.tagDescription": "",
"ContainerImagesPrepareForm.tagFromLabelDescription": "",
"ContainerImagesPrepareForm.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.tagLabel": "",
"ContainerImagesPrepareFormActions.next": "",
"ContainerImagesPrepareFormActions.reset": "",
"ContainerImagesPrepareFormActions.save": "Save Changes",
"ContainerImagesWizard.cancel": "Cancel",
"ContainerImagesWizard.configureImages": "",
"ContainerImagesWizard.loadingData": "",
"ContainerImagesWizard.review": "",
"ContainerImagesWizard.title": "",
"ContentView.list": "Tampilan daftar",
"ContentView.table": "Tampilan tabel",
"CurrentPlan.backToAllPlans": "All Plans",
"CurrentPlan.configureContainerImagesStepHeader": "",
"CurrentPlan.configureContainerImagesStepTooltip": "",
"CurrentPlan.configureNetworkStepHeader": "Konfigurasikan Jaringan",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "Langkah ini memungkinkan Anda untuk mengedit pengaturan khusus untuk jaringan, penyimpanan, dan plugin bersertifikasi overcloud lainnya. Gunakan langkah ini untuk menentukan konfigurasi isolasi jaringan Anda dan pengaturan penyimpanan backend Anda.",
"CurrentPlan.configureRolesStepHeader": "Configure Roles dan Assign Nodes",
"CurrentPlan.configureRolesStepTooltip": "Pada dialog pemilihan setiap peran, Anda dapat menetapkan node yang tersedia ke dalam peran atau node yang belum ditetapkan yang telah ditetapkan untuk peran tersebut. Anda juga dapat menyesuaikan pengaturan khusus peran dalam langkah ini. Klik ikon di sudut kanan atas setiap peran untuk melihat pengaturan khusus peran ini.",
"CurrentPlan.deployStepHeader": "Pengerahan",
"CurrentPlan.deploymentConfigurationStepHeader": "Specify Deployment Configuration",
"CurrentPlan.deploymentStepTooltip": "Langkah ini memulai pengerahan overcloud. Setelah penerapan dimulai, Anda dapat melacak kemajuan dan melihat laporan dari setiap langkah yang selesai, berjalan, atau gagal.",
"CurrentPlan.hardwareStepHeader": "Prepare Hardware",
"CurrentPlan.hardwareStepTooltip": "Pendaftaran perangkat keras melibatkan penentuan rincian manajemen daya setiap node sehingga aplikasi dapat mengontrolnya selama introspeksi dan provisioning. Introspeksi mengidentifikasi perangkat keras yang digunakan setiap node dan membangun profil dari setiap node.",
"CurrentPlan.loadingDeploymentStatus": "Memuat Status Penerapan",
"DataTable.filter": "Filter",
"DataTable.itemsVisibleInTable": "Showing {showing} of {total} items",
"DebugScreen.cancel": "Cancel",
"DebugScreen.debugPageTitle": "Informasi Debugging",
"DebugScreen.downloadButton": "Download log",
"DebugScreen.downloadButtonInProgress": "Downloading log ...",
"DebugScreen.downloadLogs": "Download log",
"DebugScreen.downloadLogsMessage": "File yang anda minta sudah siap. Silahkan klik tombol di bawah ini untuk mendownload export. Anda mungkin perlu klik kanan tombol dan pilih \"Save link as ...\".",
"DebugScreen.downloadingLogsLoader": "Downloading log ...",
"DebugScreen.error": "Terjadi kesalahan saat menyiapkan log download.",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "Version",
"DeleteDeploymentButton.cancel": "Cancel",
"DeleteDeploymentButton.deleteConfirmationQuestion": "Yakin ingin menghapus penggelaran (deployment) ?",
"DeleteDeploymentButton.deleteDeployment": "Hapus Deployment",
"DeleteDeploymentButton.requestingDeletion": "Requesting Deletion of Deployment",
"DeletePlan.cancel": "Cancel",
"DeletePlan.deletePlan": "Hapus Plan",
"DeletePlan.deletePlanConfirmation": "Apakah Anda yakin ingin menghapus rencana {planName}?",
"DeletePlan.deletePlanName": "Hapus {planName}",
"Deploy.deleteInProgress": "Penghapusan berlangsung",
"DeployStep.requestingDeploy": "Requesting a deploy...",
"DeployStep.validateAndDeploy": "Validate dan Deploy",
"DeploymentConfiguration.deploymentConfiguration": "Konfigurasi Pengerahan",
"DeploymentConfiguration.overallSettings": "Overall Settings",
"DeploymentConfiguration.parameters": "Parameters",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Loading current Deployment Configuration...",
"DeploymentConfirmation.deployButton": "Pengerahan",
"DeploymentConfirmation.deploymentConfirmation": "Apakah Anda yakin ingin menyebarkan rencana ini?",
"DeploymentConfirmation.deploymentConfirmationHeader": "Rencana Pengerahan {planName}",
"DeploymentConfirmation.requestingDeploymentLoader": "Requesting a deployment...",
"DeploymentConfirmation.summary": "Summary:",
"DeploymentConfirmation.validationsNotificationMessage": "Disarankan untuk menunggu hingga validasi ini selesai berjalan dan kesalahan apa pun telah diselesaikan sebelum melanjutkan penerapan.",
"DeploymentConfirmation.validationsNotificationTitle": "Validasi pre-deployment telah dimulai secara otomatis.",
"DeploymentDetail.close": "Close",
"DeploymentDetail.loadingDeploymentStatus": "Memuat Status Penerapan",
"DeploymentDetail.modalTitle": "Plan {planName} deployment",
"DeploymentFailure.deleteDeployment": "Hapus Deployment",
"DeploymentFailure.fetchingStack": "Memuat informasi penerapan ...",
"DeploymentFailure.moreDetails": "More details (keterangan lebih lanjut)",
"DeploymentFailure.requestingDeletion": "Requesting Deletion of Deployment",
"DeploymentFailures.failuresTableDescription": "Fase konfigurasi penerapan gagal, berikut adalah daftar kegagalan yang disediakan dari menjalankan yang dapat dilakukan:",
"DeploymentFailures.loadingDeploymentFailures": "Memuat kegagalan",
"DeploymentFailures.noDeploymentFailures": "Tidak ada kegagalan penerapan untuk ditampilkan",
"DeploymentFailures.nodeTableColumnLabel": "Node",
"DeploymentFailures.outputsTableColumnLabel": "Outputs",
"DeploymentFailures.taskTableColumnLabel": "Task",
"DeploymentFailures.title": "Kegagalan Konfigurasi Penerapan",
"DeploymentFailures.viewDetails": "Melihat rincian",
"DeploymentProgress.configuringPlan": "Mengonfigurasi penerapan {planName}",
"DeploymentProgress.deployingPlan": "Menerapkan {planName} plan ({completeResourcesCount} dari {resourcesCount} sumber daya)",
"DeploymentProgress.initializingDeployment": "Memulai penerapan {planName} plan",
"DeploymentProgress.viewInformation": "View (lihat) informasi rinci",
"DeploymentStatus.createComplete": "Pengerahan berhasil",
"DeploymentStatus.createFailed": "Pengerahan gagal",
"DeploymentStatus.createInProgress": "Pengerahan berlangsung",
"DeploymentStatus.deleteFailed": "Penghapusan pengerahan gagal",
"DeploymentStatus.deployed": "Pengerahan berhasil",
"DeploymentStatus.deploying": "Penerapan {planName} plan saat ini sedang berlangsung",
"DeploymentStatus.deploymentFailed": "Penerapan {planName} plan gagal",
"DeploymentStatus.undeployFailed": "Undeploy gagal",
"DeploymentStatus.undeployed": "Penerapan tidak dimulai",
"DeploymentStatus.undeploying": "Penghapusan pengerahan rencana {planName} sedang berlangsung",
"DeploymentStatus.unknown": "Status penerapan {planName} plan tidak dapat dimuat",
"DeploymentStatus.updateComplete": "Update berhasil",
"DeploymentStatus.updateFailed": "Update gagal",
"DeploymentStatus.updateInProgress": "Update sedang berlangsung",
"DeploymentStatusShort.deployed": "Pengerahan berhasil",
"DeploymentStatusShort.deploying": "Pengerahan berlangsung",
"DeploymentStatusShort.deploymentFailed": "Pengerahan gagal",
"DeploymentStatusShort.undeployFailed": "Undeploy gagal",
"DeploymentStatusShort.undeployed": "Not deployed",
"DeploymentStatusShort.undeploying": "Penghapusan penerapan sedang berlangsung",
"DeploymentStatusShort.unknown": "Status penerapan tidak dapat dimuat",
"DeploymentSuccess.resources": "Resources",
"DriverFields.ipOrFqdnValidatorMessage": "Please enter (masukkan) alamat IPv4 yang valid atau FQDN valid.",
"DriverFields.portValidationMessage": "Masukkan nomor Port yang benar (0 - 65535)",
"EditPlan.cancel": "Cancel",
"EditPlan.editPlan": "Edit rencana {planName}",
"EditPlan.updatingDeploymentPlan": "Updating plan...",
"EditPlan.uploadAndUpdate": "Upload Files dan Update Plan",
"EditPlanFieldsTab.directoryInputDescription": "Berikan direktori dengan file yang ingin Anda perbarui, struktur direktori harus memetakan struktur direktori rencana.",
"EditPlanFieldsTab.planFiles": "Plan Files",
"EditPlanFieldsTab.planName": "Plan Name",
"EditPlanForm.cancel": "Cancel",
"EditPlanFormTabs.files": "Files",
"EditPlanFormTabs.updatePlan": "Update Plan",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "Loading Deployment Configuration...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "Konfigurasi deployment tidak dapat diperbarui",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "The Environment Configuration (konfigurasi lingkungan) telah berhasil diperbarui.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Konfigurasi Lingkungan diperbarui",
"EnvironmentConfigurationForm.cancel": "Cancel",
"EnvironmentConfigurationForm.missingConfiguration": "Konfigurasi hilang",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "Pilihan yang dipilih bergantung pada pilihan lain yang tidak diaktifkan",
"EnvironmentConfigurationForm.requiredEnvironments": "Pilihan ini mewajibkan {requiredEnvironments} untuk diaktifkan.",
"EnvironmentConfigurationForm.saveAndClose": "Save dan Close",
"EnvironmentConfigurationForm.saveChanges": "Save Changes",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "Memperbarui konfigurasi Environment",
"ExportPlan.close": "Close",
"ExportPlan.download": "Download",
"ExportPlan.downloadMessage": "The plan export (ekspor rencana) yang Anda minta sudah siap. Silakan klik tombol di bawah untuk mendownload ekspor. Anda mungkin perlu klik kanan tombol dan pilih \"Save link as ...\".",
"ExportPlan.error": "Terjadi kesalahan saat mengekspor rencana",
"ExportPlan.exportPlanName": "Export {planName}",
"ExportPlan.exportingPlanLoader": "Exporting plan...",
"FileList.planFiles": "Plan Files",
"HardwareStep.registerNodes": "Register Nodes",
"HorizontalDirectoryInput.filesReady": "{filesCount} Files",
"HorizontalDirectoryInput.noFilesValidationError": "Berikan direktori file rencana penerapan",
"HorizontalDirectoryInput.readingFiles": "Membaca file ... {progress}%",
"HorizontalDirectoryInput.unreadableFilesValidationError": "Beberapa file tidak bisa dibaca: {files}",
"I18nDropdown.language": "Language",
"ListPlans.importPlan": "Import Plan",
"LoggerActions.downloadLogsFailedNotificationTitle": "Download log gagal",
"Login.description": "This tool (alat ini) akan memandu Anda melalui proses konfigurasi dan menggunakan lingkungan OpenStack.",
"Login.login": "Log In",
"Login.password": "Password",
"Login.passwordRequired": "Password dibutuhkan.",
"Login.username": "Username",
"Login.usernameRequired": "Username dibutuhkan",
"Login.welcome": "Welcome!",
"NavBar.debug": "Debug",
"NavBar.plansTab": "Plans",
"NavBar.toggleNavigation": "Toggle navigation",
"Navbar.nodesTab": "Nodes",
"NetworkConfiguration.close": "Close",
"NetworkConfiguration.loadingData": "Memuat data ...",
"NetworkConfiguration.networkConfiguration": "Network Configuration",
"NetworkConfiguration.networkIsolationWarningLink": "Aktifkan isolasi jaringan",
"NetworkConfiguration.networkIsolationWarningText": "{enableNetworkIsolationLink} untuk memanfaatkan jaringan ini.",
"NetworkConfiguration.networkIsolationWarningTitle": "Beberapa jaringan tidak tersedia.",
"NetworksActions.fetchNetworksFailed": "Jaringan tidak dapat dimuat",
"NewPlan.importPlan": "Import Plan",
"NewPlan.uploadAndCreate": "Upload Files dan Create Plan",
"NewPlanForm.cancel": "Cancel",
"NewPlanForm.creatingDeploymentPlan": "Membuat rencana penerapan ...",
"NoPlans.importPlan": "Import Plan",
"NoPlans.noPlansAvailable": "No Deployment Plans Available",
"NoPlans.noPlansAvailableMessage": "There are no (tidak ada) Deployment Plans tersedia. Silahkan buat Deployment Plan dulu.",
"NodeColumns.cpuArch": "CPU Arch.",
"NodeColumns.cpus": "CPU (cores)",
"NodeColumns.introspectionStatus": "Introspection Status",
"NodeColumns.localGB": "Disk (GB)",
"NodeColumns.macs": "Mac Addresses",
"NodeColumns.memoryMb": "Memory (MB)",
"NodeColumns.name": "Name",
"NodeColumns.powerState": "Power State",
"NodeColumns.profile": "Profile",
"NodeColumns.provisionState": "Provision State",
"NodeDrive.model": "Model:",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "Root Device",
"NodeDrive.serial": "Serial:",
"NodeDrive.size": "Size:",
"NodeDrive.type": "Type:",
"NodeDrive.vendor": "Vendor:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN Vendor Extension:",
"NodeDrive.wwnWithExtension": "WWN dengan Extension:",
"NodeDrives.close": "Close",
"NodeDrives.title": "Node Drives - {nodeId}",
"NodeExtendedInfo.macAddresses": "Mac Addresses:",
"NodeIntrospectionState.introspectionStateLabel": "Introspection:",
"NodeListItem.Profile": "Profile:",
"NodeListItem.actions.manageDrives": "Manage Drives",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB Disk",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "Maintenance",
"NodePowerState.powerOff": "Off",
"NodePowerState.powerOn": "On",
"NodePowerState.poweringOff": "Powering Off",
"NodePowerState.poweringOn": "Powering On",
"NodePowerState.rebooting": "Rebooting",
"NodePowerState.unknownPowerState": "Tidak diketahui",
"NodeProvisionState.deploymentPlanLabel": "Rencana Penerapan:",
"NodeProvisionState.provisionStateLabel": "Provision State:",
"Nodes.loadingNodes": "Loading Nodes...",
"Nodes.nodes": "Nodes",
"Nodes.refreshResults": "Refresh Results",
"Nodes.registerNodes": "Register Nodes",
"Nodes.registeringNodes": "Registering Nodes...",
"NodesActions.introspectionFailedNotificationTitle": "Nodes Introspection Failed",
"NodesActions.introspectionNotificationMessage": "Selected nodes (node yang dipilih) introspektif berhasil.",
"NodesActions.introspectionNotificationTitle": "Nodes Introspection Complete",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "Introspeksi Node Gagal",
"NodesAssignmentForm.cancel": "Cancel",
"NodesAssignmentForm.nodeCountsErrorMessage": "Harap sesuaikan jumlah simpul (node).",
"NodesAssignmentForm.nodeCountsErrorTitle": "Jumlah simpul (node) yang dipilih melebihi jumlah yang tersedia.",
"NodesAssignmentForm.saveChanges": "Save Changes",
"NodesListForm.operationInProgressValidationMessage": "Ada operasi yang sedang berlangsung pada beberapa Node yang dipilih",
"NodesListForm.selectNodesValidationMessage": "Silahkan pilih Nodes dulu",
"NodesTable.loadingNodes": "Loading Nodes...",
"NodesTable.noNodes": "There are no (tidak ada) Nodes trsedia.",
"NodesTableView.deleteNodes": "Hapus Nodes",
"NodesTableView.deleteNodesModalMessage": "Apakah Anda yakin ingin menghapus node yang dipilih?",
"NodesTableView.deleteNodesModalTitle": "Hapus Nodes",
"NodesTableView.introspectNodes": "Introspect Nodes",
"NodesTableView.provideNodes": "Provide Nodes",
"NodesTableView.tagNodes": "Tag Nodes",
"NodesTables.cpuArch": "CPU Arch.",
"NodesTables.cpuCores": "CPU (cores)",
"NodesTables.diskGb": "Disk (GB)",
"NodesTables.macAddresses": "MAC Address(es)",
"NodesTables.maintenance": "Maintenance",
"NodesTables.memoryMb": "Memory (MB)",
"NodesTables.name": "Name",
"NodesTables.powerState": "Power State",
"NodesTables.profile": "Profile",
"NodesTables.provisionState": "Provision State",
"NodesToolbar.filterStringPlaceholder": "Tambahkan filter",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "Hapus Nodes",
"NodesToolbarActions.deleteNodesModalMessage": "Apakah Anda yakin ingin menghapus node yang dipilih?",
"NodesToolbarActions.deleteNodesModalTitle": "Hapus Nodes",
"NodesToolbarActions.disabledButtonsWarning": "Anda harus memilih Node terlebih dahulu, atau ada operasi yang sedang berlangsung pada beberapa Node yang dipilih.",
"NodesToolbarActions.introspectNodes": "Introspect Nodes",
"NodesToolbarActions.manageNodes": "Manage Nodes",
"NodesToolbarActions.provideNodes": "Provide Nodes",
"NodesToolbarActions.tagNodes": "Tag Nodes",
"NodesToolbarForm.sortDir": "Urutkan petunjuk",
"OvercloudInfo.loadingOvercloudInformation": "Memuat informasi penerapan ...",
"OvercloudInfo.overcloudInformationHeader": "Informasi penerapan",
"OvercloudInfo.overcloudIpAddress": "Alamat IP penerapan:",
"OvercloudInfo.password": "Password:",
"OvercloudInfo.username": "Username:",
"PXEAndDRACDriverFields.address": "DRAC Host",
"PXEAndDRACDriverFields.password": "DRAC Password",
"PXEAndDRACDriverFields.port": "DRAC Port",
"PXEAndDRACDriverFields.user": "DRAC Username",
"PXEAndIPMIToolDriverFields.address": "IPMI IP Address or FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI Password",
"PXEAndIPMIToolDriverFields.port": "IPMI Port",
"PXEAndIPMIToolDriverFields.user": "IPMI Username",
"ParameterInputList.noParameters": "There are currently (saat ini) tidak ada parameter untuk mengkonfigurasi di bagian ini.",
"Parameters.general": "General",
"ParametersActions.parametersUpdatedNotficationMessage": "The Deployment parameters (parameter pengerahan) telah berhasil diperbarui.",
"ParametersActions.parametersUpdatedNotficationTitle": "Parameters updated",
"ParametersActions.updateParametersFailed": "Parameter tidak dapat diperbarui",
"ParametersForm.cancel": "Cancel",
"ParametersForm.enterValidJson": "Harap masukkan JSON yang valid.",
"ParametersForm.invalidParameters": "Beberapa nilai parameter tidak valid:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "Save dan Close",
"ParametersForm.saveChanges": "Save Changes",
"ParametersForm.updatingParameters": "Memperbarui parameters",
"PlanActions.delete": "Hapus",
"PlanActions.edit": "Edit",
"PlanActions.export": "Export",
"PlanCard.deletingPlan": "Hapus {planName}...",
"PlanCard.loadingPlan": "Memuat detail {planName} ...",
"PlanCard.loadingStatus": "Memuat status penerapan ...",
"PlanCard.updatingPlan": "Updating {planName}...",
"PlanFieldsTab.directoryInputDescription": "Berikan direktori template Heat yang menentukan rencana penerapan.",
"PlanFieldsTab.gitUrlInputDescription": "Berikan URL repositori Git yang berisi template Heat yang menentukan rencana penerapan.",
"PlanFieldsTab.tarballInputDescription": "Asalkan tarball tidak boleh berisi direktori root, saat membuat tarball menggunakan perintah berikut: {command}",
"PlanFormTabs.addPlanName": "Add a Plan Name",
"PlanFormTabs.files": "Files",
"PlanFormTabs.gitUrl": "URL Repositori Git",
"PlanFormTabs.gitUrlValidationError": "Harap berikan URL repositori Git yang valid.",
"PlanFormTabs.newPlan": "New Plan",
"PlanFormTabs.planFiles": "Plan Files",
"PlanFormTabs.planName": "Plan Name",
"PlanFormTabs.planNameValidationError": "Harap gunakan hanya karakter alfanumerik huruf kecil dan tanda hubung (-).",
"PlanFormTabs.planTarball": "Plan Tarball",
"PlanUploadTypeRadios.gitUrl": "URL Repositori Git",
"PlanUploadTypeRadios.localDirectory": "Direktori Lokal",
"PlanUploadTypeRadios.tarArchive": "Arsip Tar (.tar.gz or .tgz)",
"PlanUploadTypeRadios.uploadType": "Upload Type",
"PlanUploadTypeRadios.useDefaultTemplates": "Gunakan Template Default",
"PlansActions.exportFailedNotificationTitle": "Export Gagal",
"PlansActions.planCreatedNotificationMessage": "The plan (rencana) {planName} berhasil dibuat.",
"PlansActions.planCreatedNotificationTitle": "Plan (rencana) dibuat",
"PlansActions.planCreationFailedNotificationMessage": "Pembuatan rencana gagal",
"PlansActions.planDeletedNotificationMessage": "The plan (rencana) {planName} berhasil dihapus.",
"PlansActions.planDeletedNotificationTitle": "Plan Deleted",
"PlansActions.planUpdateFailedNotificationMessage": "Update rencana gagal",
"PlansActions.planUpdatedNotificationMessage": "The plan (rencana) {planName} telah berhasil diperbarui.",
"PlansActions.planUpdatedNotificationTitle": "Plan Updated",
"PlansList.importPlan": "Import Plan",
"PlansList.plans": "Plans",
"PushDestinationInput.pushDestinationOptionCustom": "",
"PushDestinationInput.pushDestinationOptionFalse": "",
"PushDestinationInput.pushDestinationOptionTrue": "",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "Pulihkan status penerapan",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "Memulihkan status penerapan",
"RedeployPlanButton.cancel": "Cancel",
"RedeployPlanButton.redeployConfirmationQuestion": "",
"RedeployPlanButton.redeployPlan": "",
"RedeployPlanButton.requestingRedeploy": "",
"RegisterNodeForm.General": "General",
"RegisterNodeForm.architecture": "Architecture",
"RegisterNodeForm.cpuCount": "CPU count",
"RegisterNodeForm.diskGb": "Disk (GB)",
"RegisterNodeForm.driver": "Driver",
"RegisterNodeForm.enterValidMacAddress": "Harap masukkan daftar MAC Address yang valid.",
"RegisterNodeForm.hardware": "Hardware",
"RegisterNodeForm.macAddressesDescription": "Jika Anda menentukan beberapa alamat MAC, masukkan daftar yang dipisahkan dengan koma. (misalnya. aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Management",
"RegisterNodeForm.memoryMb": "Memory (MB)",
"RegisterNodeForm.name": "Name",
"RegisterNodeForm.networking": "Networking",
"RegisterNodeForm.nicMacAddresses": "NIC MAC Addresses",
"RegisterNodeForm.nodeDetail": "Node Detail",
"RegisterNodeForm.nodeNameMaxLength": "Node name (nama node) dapat memiliki hingga 255 karakter.",
"RegisterNodeForm.nodeNameRegexp": "Nama hanya boleh terdiri dari karakter tanpa pustaka RFC3986: karakter alfanumerik, tanda hubung (-), titik (.), garis bawah (_) dan tilde (~).",
"RegisterNodesActions.registrationNotificationMessage": "The nodes (node) berhasil terdaftar.",
"RegisterNodesActions.registrationNotificationTitle": "Nodes Registration Complete",
"RegisterNodesDialog.addANodeManually": "Tambahkan node secara manual atau upload node dari sebuah file.",
"RegisterNodesDialog.addNew": "Add New",
"RegisterNodesDialog.cancel": "Cancel",
"RegisterNodesDialog.csvUnsupported": "CSV Upload Unsupported",
"RegisterNodesDialog.invalidJson": "Invalid JSON",
"RegisterNodesDialog.noNodesToRegister": "\"No Nodes To Register\"",
"RegisterNodesDialog.or": "or",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "Please provide (harap menyediakan) file CSV atau instackenv.json.",
"RegisterNodesDialog.registerNodes": "Register Nodes",
"RegisterNodesDialog.registeringNodes": "Registering Nodes...",
"RegisterNodesDialog.selectedFileUnsupported": "The selected file format (format file) yang dipilih belum didukung.",
"RegisterNodesDialog.undefinedNode": "Undefined Node",
"RegisterNodesDialog.unsupportedFileFormat": "Unsupported File Format",
"RegisterNodesDialog.uploadFromFile": "Upload From File",
"RoleCard.assignNodes": "Assign Nodes",
"RoleCard.availableNodesCount": "of {count, number}",
"RoleCard.nodesAssigned": "Nodes assigned",
"RoleDetail.cancel": "Cancel",
"RoleDetail.loadingParameters": "Loading parameters...",
"RoleDetail.networkConfiguration": "Network Configuration",
"RoleDetail.parameters": "Parameters",
"RoleDetail.role": "{roleName} Role",
"RoleDetail.saveChanges": "Save Changes",
"RoleDetail.services": "Services",
"RoleDetail.updatingParameters": "Memperbarui parameters...",
"RoleServices.noParameters": "There are currently (saat ini) tidak ada parameter untuk mengkonfigurasi di bagian ini.",
"RoleServices.selectService": "Please (silakan) pilih layanan untuk mengkonfigurasi.",
"Roles.loadingDeploymentRoles": "Loading Deployment Roles...",
"RolesActions.availableRolesNotLoaded": "Role yang tersedia tidak dapat dimuat",
"RolesStep.loadingNodes": "Loading Nodes...",
"RolesStep.loadingParameters": "Loading Parameters...",
"RolesStep.manageRoles": "Mengelola Roles",
"RolesStep.nodesAvailableToAssign": "{allNodesCount, number} Nodes Total ({totalAssignedNodesCount, number} ditugaskan untuk roles, {nodesCount, number} tersedia untuk tugas,{nodesRequireActionCount, number} membutuhkan tindakan)",
"SelectAll.deselectAllText": "Deselect All",
"SelectAll.selectAllText": "Select All",
"SelectRolesDialog.loadingAvailableRoles": "Memuat Role yang tersedia",
"SelectRolesDialog.selectRoles": "Memilih Roles",
"SelectRolesForm.cancel": "Cancel",
"SelectRolesForm.primaryRoleValidationError": "Pilih satu peran dengan tag sebagai \"primary\" dan \"controller\"",
"SelectRolesForm.saveChanges": "Save Changes",
"SelectRolesForm.updatingRoles": "Memperbarui Roles...",
"StackResources.resourcesTableDescription": "Fase penerapan gagal, berikut adalah daftar sumber daya Heat stack:",
"StackResources.title": "Sumber Daya Penerapan",
"StackResourcesTable.loadingResources": "Loading Resources...",
"StackResourcesTable.name": "Name",
"StackResourcesTable.noResourcesAvailable": "There are no (tidal ada) Resources tersedia.",
"StackResourcesTable.status": "Status",
"StackResourcesTable.updatedTime": "Updated Time",
"StatusDropdown.debug": "Debug",
"TagNodesForm.cancel": "Cancel",
"TagNodesForm.confirm": "Tag Nodes",
"TagNodesForm.customProfileDescription": "Huruf kecil huruf alfanumerik dengan tanda hubung sebagai pemisah. Misalnya. \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "Anda memasukkan karakter yang tidak diizinkan untuk nilai ini",
"TagNodesForm.customProfileLabel": "Custom Profile",
"TagNodesForm.customProfileOption": "Specify Custom Profile",
"TagNodesForm.noProfileOption": "No Profile (Untag)",
"TagNodesForm.selectProfileLabel": "Select Profile",
"TagNodesModal.title": "Tag Nodes into Profiles",
"Toolbar.activeFilters": "Filter Aktif:",
"Toolbar.clearAllActiveFilters": "Hapus Semua Filter",
"UndeployProgress.initializingDeployment": "Melakukan inisialisasi penghapusan penerapan rencana {planName}",
"UndeployProgress.initializingUndeploy": "Melakukan inisialisasi penghapusan penerapan rencana {planName}",
"UndeployProgress.resources": "Resources",
"UndeployProgress.undeployingPlan": "Menghapus pengerahan rencana {planName}",
"UndeployProgress.viewInformation": "View (lihat) informasi rinci",
"UserAuthenticator.authenticating": "Authenticating...",
"UserDropdown.logout": "Log Out",
"ValidationDetail.close": "Close",
"ValidationDetail.description": "Deskripsi:",
"ValidationDetail.groups": "Groups:",
"ValidationDetail.output": "Output:",
"ValidationDetail.status": "Status:",
"ValidationDetail.validationDetail": "Validation Detail",
"ValidationsList.loadingValidations": "Loading Validations...",
"ValidationsList.noValidations": "No Validations",
"ValidationsList.noValidationsMessage": "There are no (tidak ada) validasi saat ini.",
"ValidationsList.refresh": "Refresh",
"ValidationsList.validations": "Validations",
"ValidationsToggle.error": "Kesalahan Validasi",
"ValidationsToggle.failed": "Validasi gagal",
"ValidationsToggle.loadingValidations": "Loading Validations...",
"ValidationsToggle.new": "Validasi baru",
"ValidationsToggle.paused": "Dijeda validasi",
"ValidationsToggle.running": "Menjalankan Validasi",
"ValidationsToggle.success": "Validasi yang berhasil",
"ValidationsToggle.warning": "Validasi dengan Peringatan",
"ValidationsToolbar.filterStringPlaceholder": "Tambahkan filter",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} dari {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "Group",
"ValidationsToolbar.name": "Name",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "Architecture:",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "Driver:",
"nodeExtendedinfo.interfaceIpAddress": "IP Address",
"nodeExtendedinfo.interfaceMacAddress": "MAC Address",
"nodeExtendedinfo.interfaces": "Interfaces:",
"nodeExtendedinfo.kernel": "Kernel:",
"nodeExtendedinfo.product": "Product:",
"nodeExtendedinfo.productName": "Name",
"nodeExtendedinfo.productVendor": "Vendor",
"nodeExtendedinfo.productVersion": "Version",
"nodeExtendedinfo.registered": "Registered:",
"nodeExtendedinfo.rootDisk": "Root Disk:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "Nilai maksimal {count, number}.",
"reduxForm.validations.minValue": "Nilai minimum {count, number}.",
"reduxForm.validations.number": "Value (nilai) harus nomor."
}
}

View File

@ -1,484 +0,0 @@
{
"ja": {
"AuthenticatedContent.loadingDeployments": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"AvailableRoleDetailDialog.close": "\u9589\u3058\u308b",
"AvailableRoleDetailDialog.descriptionLabel": "\u8aac\u660e",
"AvailableRoleDetailDialog.dialogTitle": "",
"AvailableRoleDetailDialog.disable": "",
"AvailableRoleDetailDialog.enable": "",
"AvailableRoleDetailDialog.networksLabel": "",
"AvailableRoleDetailDialog.servicesLabel": "",
"AvailableRoleDetailDialog.tagsLabel": "",
"ConfigureContainerImagesStep.editConfigurationLink": "\u8a2d\u5b9a\u306e\u7de8\u96c6",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "",
"ConfigureNetworkStep.editConfigurationLink": "\u8a2d\u5b9a\u306e\u7de8\u96c6",
"ConfigurePlanStep.editConfigurationLink": "\u8a2d\u5b9a\u306e\u7de8\u96c6",
"ContainerImagePrepareParameterForm.updatingConfiguration": "\u8a2d\u5b9a\u306e\u66f4\u65b0\u4e2d...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "",
"ContainerImagePrepareParameterFormActions.back": "",
"ContainerImagePrepareParameterFormActions.close": "\u9589\u3058\u308b",
"ContainerImagePrepareParameterFormActions.save": "\u5909\u66f4\u306e\u4fdd\u5b58",
"ContainerImagesActions.configureImagesFailed": "",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "",
"ContainerImagesConfigurationSummary.namespaceLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.generatingConfiguration": "",
"ContainerImagesPrepareForm.namePrefixDescription": "",
"ContainerImagesPrepareForm.namePrefixLabel": "",
"ContainerImagesPrepareForm.nameSuffixDescription": "",
"ContainerImagesPrepareForm.nameSuffixLabel": "",
"ContainerImagesPrepareForm.namespaceDescription": "",
"ContainerImagesPrepareForm.namespaceInvalid": "",
"ContainerImagesPrepareForm.namespaceLabel": "",
"ContainerImagesPrepareForm.pushDestinationDescription": "",
"ContainerImagesPrepareForm.pushDestinationLabel": "",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "",
"ContainerImagesPrepareForm.tagDescription": "",
"ContainerImagesPrepareForm.tagFromLabelDescription": "",
"ContainerImagesPrepareForm.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.tagLabel": "",
"ContainerImagesPrepareFormActions.next": "",
"ContainerImagesPrepareFormActions.reset": "",
"ContainerImagesPrepareFormActions.save": "\u5909\u66f4\u306e\u4fdd\u5b58",
"ContainerImagesWizard.cancel": "\u53d6\u308a\u6d88\u3057",
"ContainerImagesWizard.configureImages": "",
"ContainerImagesWizard.loadingData": "",
"ContainerImagesWizard.review": "",
"ContainerImagesWizard.title": "",
"ContentView.list": "\u30ea\u30b9\u30c8\u8868\u793a",
"ContentView.table": "\u30c6\u30fc\u30d6\u30eb\u8868\u793a",
"CurrentPlan.backToAllPlans": "\u3059\u3079\u3066\u306e\u30d7\u30e9\u30f3",
"CurrentPlan.configureContainerImagesStepHeader": "",
"CurrentPlan.configureContainerImagesStepTooltip": "",
"CurrentPlan.configureNetworkStepHeader": "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a2d\u5b9a",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "\u3053\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u306f\u3001\u30aa\u30fc\u30d0\u30fc\u30af\u30e9\u30a6\u30c9\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u3001\u304a\u3088\u3073\u305d\u306e\u4ed6\u306e\u8a8d\u5b9a\u6e08\u307f\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u7279\u5b9a\u306e\u8a2d\u5b9a\u3092\u7de8\u96c6\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5206\u96e2\u306e\u69cb\u6210\u3084\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u8a2d\u5b9a\u3092\u5b9a\u7fa9\u3059\u308b\u306e\u306b\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"CurrentPlan.configureRolesStepHeader": "\u30ed\u30fc\u30eb\u306e\u8a2d\u5b9a\u3068\u30ce\u30fc\u30c9\u306e\u5272\u308a\u5f53\u3066",
"CurrentPlan.configureRolesStepTooltip": "\u5404\u30ed\u30fc\u30eb\u306e\u9078\u629e\u30c0\u30a4\u30a2\u30ed\u30b0\u3067\u306f\u3001\u5229\u7528\u53ef\u80fd\u306a\u30ce\u30fc\u30c9\u3092\u30ed\u30fc\u30eb\u306b\u5272\u308a\u5f53\u3066\u305f\u308a\u3001\u3059\u3067\u306b\u30ed\u30fc\u30eb\u306b\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e\u30ce\u30fc\u30c9\u306e\u5272\u308a\u5f53\u3066\u3092\u89e3\u9664\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u3053\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u306f\u3001\u30ed\u30fc\u30eb\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u30ed\u30fc\u30eb\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001\u5404\u30ed\u30fc\u30eb\u306e\u53f3\u4e0a\u306e\u30a2\u30a4\u30b3\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"CurrentPlan.deployStepHeader": "\u30c7\u30d7\u30ed\u30a4",
"CurrentPlan.deploymentConfigurationStepHeader": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u8a2d\u5b9a\u306e\u6307\u5b9a",
"CurrentPlan.deploymentStepTooltip": "\u3053\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u306f\u3001\u30aa\u30fc\u30d0\u30fc\u30af\u30e9\u30a6\u30c9\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u958b\u59cb\u5f8c\u306b\u306f\u3001\u9032\u6357\u72b6\u6cc1\u3092\u8ffd\u8de1\u3057\u3066\u3001\u5b8c\u4e86\u6e08\u307f\u3001\u5b9f\u884c\u4e2d\u3001\u5931\u6557\u3057\u305f\u5404\u30b9\u30c6\u30c3\u30d7\u306e\u30ec\u30dd\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002",
"CurrentPlan.hardwareStepHeader": "\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u306e\u6e96\u5099",
"CurrentPlan.hardwareStepTooltip": "\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u306e\u767b\u9332\u3067\u306f\u3001\u5404\u30ce\u30fc\u30c9\u306e\u96fb\u6e90\u7ba1\u7406\u306e\u8a73\u7d30\u3092\u5b9a\u7fa9\u3057\u3066\u3001\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u304a\u3088\u3073\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u4e2d\u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u305d\u308c\u3089\u3092\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u306f\u3001\u5404\u30ce\u30fc\u30c9\u304c\u4f7f\u7528\u3059\u308b\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u7279\u5b9a\u3057\u3001\u5404\u30ce\u30fc\u30c9\u306e\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002",
"CurrentPlan.loadingDeploymentStatus": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"DataTable.filter": "\u30d5\u30a3\u30eb\u30bf\u30fc",
"DataTable.itemsVisibleInTable": "{total} \u4ef6\u4e2d {showing} \u4ef6\u3092\u8868\u793a",
"DebugScreen.cancel": "\u53d6\u308a\u6d88\u3057",
"DebugScreen.debugPageTitle": "\u30c7\u30d0\u30c3\u30b0\u60c5\u5831",
"DebugScreen.downloadButton": "\u30ed\u30b0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9",
"DebugScreen.downloadButtonInProgress": "\u30ed\u30b0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d...",
"DebugScreen.downloadLogs": "\u30ed\u30b0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9",
"DebugScreen.downloadLogsMessage": "\u8981\u6c42\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u6e96\u5099\u304c\u6574\u3044\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u53f3\u30af\u30ea\u30c3\u30af\u3067\u300c\u540d\u524d\u3092\u4ed8\u3051\u3066\u30ea\u30f3\u30af\u3092\u4fdd\u5b58\u300d(Save Link As...) \u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002",
"DebugScreen.downloadingLogsLoader": "\u30ed\u30b0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d...",
"DebugScreen.error": "\u30ed\u30b0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u6e96\u5099\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002",
"DebugScreen.gitSha": "Git \u306e SHA",
"DebugScreen.version": "\u30d0\u30fc\u30b8\u30e7\u30f3",
"DeleteDeploymentButton.cancel": "\u53d6\u308a\u6d88\u3057",
"DeleteDeploymentButton.deleteConfirmationQuestion": "\u9078\u629e\u3057\u305f\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?",
"DeleteDeploymentButton.deleteDeployment": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664",
"DeleteDeploymentButton.requestingDeletion": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664\u3092\u8981\u6c42\u4e2d",
"DeletePlan.cancel": "\u53d6\u308a\u6d88\u3057",
"DeletePlan.deletePlan": "\u30d7\u30e9\u30f3\u306e\u524a\u9664",
"DeletePlan.deletePlanConfirmation": "\u30d7\u30e9\u30f3 {planName} \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?",
"DeletePlan.deletePlanName": "{planName} \u306e\u524a\u9664",
"Deploy.deleteInProgress": "\u524a\u9664\u4e2d",
"DeployStep.requestingDeploy": "\u30c7\u30d7\u30ed\u30a4\u3092\u8981\u6c42\u4e2d...",
"DeployStep.validateAndDeploy": "\u691c\u8a3c\u3068\u30c7\u30d7\u30ed\u30a4",
"DeploymentConfiguration.deploymentConfiguration": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u8a2d\u5b9a",
"DeploymentConfiguration.overallSettings": "\u5168\u822c\u8a2d\u5b9a",
"DeploymentConfiguration.parameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "\u73fe\u5728\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"DeploymentConfirmation.deployButton": "\u30c7\u30d7\u30ed\u30a4",
"DeploymentConfirmation.deploymentConfirmation": "\u3053\u306e\u30d7\u30e9\u30f3\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?",
"DeploymentConfirmation.deploymentConfirmationHeader": "\u30d7\u30e9\u30f3 {planName} \u306e\u30c7\u30d7\u30ed\u30a4",
"DeploymentConfirmation.requestingDeploymentLoader": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u8981\u6c42\u4e2d...",
"DeploymentConfirmation.summary": "\u6982\u8981:",
"DeploymentConfirmation.validationsNotificationMessage": "\u3053\u308c\u3089\u306e\u691c\u8a3c\u304c\u7d42\u4e86\u3057\u3066\u30a8\u30e9\u30fc\u304c\u89e3\u6c7a\u3055\u308c\u308b\u306e\u3092\u5f85\u3063\u3066\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u7d9a\u884c\u3059\u308b\u3053\u3068\u3092\u63a8\u5968\u3057\u307e\u3059\u3002",
"DeploymentConfirmation.validationsNotificationTitle": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u524d\u306e\u691c\u8a3c\u304c\u81ea\u52d5\u7684\u306b\u958b\u59cb\u3057\u307e\u3057\u305f\u3002",
"DeploymentDetail.close": "\u9589\u3058\u308b",
"DeploymentDetail.loadingDeploymentStatus": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"DeploymentDetail.modalTitle": "\u30d7\u30e9\u30f3 {planName} \u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8",
"DeploymentFailure.deleteDeployment": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664",
"DeploymentFailure.fetchingStack": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u60c5\u5831\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"DeploymentFailure.moreDetails": "\u8a73\u7d30",
"DeploymentFailure.requestingDeletion": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664\u3092\u8981\u6c42\u4e2d",
"DeploymentFailures.failuresTableDescription": "",
"DeploymentFailures.loadingDeploymentFailures": "\u30a8\u30e9\u30fc\u3092\u8aad\u307f\u8fbc\u307f\u4e2d",
"DeploymentFailures.noDeploymentFailures": "\u8868\u793a\u3059\u308b\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30a8\u30e9\u30fc\u306f\u3042\u308a\u307e\u305b\u3093",
"DeploymentFailures.nodeTableColumnLabel": "\u30ce\u30fc\u30c9",
"DeploymentFailures.outputsTableColumnLabel": "\u51fa\u529b",
"DeploymentFailures.taskTableColumnLabel": "\u30bf\u30b9\u30af",
"DeploymentFailures.title": "",
"DeploymentFailures.viewDetails": "\u8a73\u7d30\u306e\u8868\u793a",
"DeploymentProgress.configuringPlan": "{planName} \u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u8a2d\u5b9a\u4e2d",
"DeploymentProgress.deployingPlan": "",
"DeploymentProgress.initializingDeployment": "{planName} \u30d7\u30e9\u30f3\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u521d\u671f\u5316\u4e2d",
"DeploymentProgress.viewInformation": "\u8a73\u7d30\u60c5\u5831\u306e\u8868\u793a",
"DeploymentStatus.createComplete": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"DeploymentStatus.createFailed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatus.createInProgress": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u4e2d",
"DeploymentStatus.deleteFailed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatus.deployed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"DeploymentStatus.deploying": "",
"DeploymentStatus.deploymentFailed": "",
"DeploymentStatus.undeployFailed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u89e3\u9664\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatus.undeployed": "",
"DeploymentStatus.undeploying": "",
"DeploymentStatus.unknown": "\u30d7\u30e9\u30f3 {planName} \u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f",
"DeploymentStatus.updateComplete": "\u66f4\u65b0\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"DeploymentStatus.updateFailed": "\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatus.updateInProgress": "\u66f4\u65b0\u4e2d",
"DeploymentStatusShort.deployed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"DeploymentStatusShort.deploying": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u4e2d",
"DeploymentStatusShort.deploymentFailed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatusShort.undeployFailed": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u89e3\u9664\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"DeploymentStatusShort.undeployed": "\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u3066\u3044\u307e\u305b\u3093",
"DeploymentStatusShort.undeploying": "",
"DeploymentStatusShort.unknown": "",
"DeploymentSuccess.resources": "\u30ea\u30bd\u30fc\u30b9",
"DriverFields.ipOrFqdnValidatorMessage": "\u6709\u52b9\u306a IPv4 \u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f FQDN \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"DriverFields.portValidationMessage": "\u6709\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7 (0 - 65535) \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"EditPlan.cancel": "\u53d6\u308a\u6d88\u3057",
"EditPlan.editPlan": "{planName} \u30d7\u30e9\u30f3\u306e\u7de8\u96c6",
"EditPlan.updatingDeploymentPlan": "\u30d7\u30e9\u30f3\u3092\u66f4\u65b0\u4e2d...",
"EditPlan.uploadAndUpdate": "\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u30d7\u30e9\u30f3\u3092\u66f4\u65b0",
"EditPlanFieldsTab.directoryInputDescription": "\u66f4\u65b0\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306e\u69cb\u9020\u306f\u3001\u30d7\u30e9\u30f3\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u30de\u30c3\u30d7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002",
"EditPlanFieldsTab.planFiles": "\u30d7\u30e9\u30f3\u30d5\u30a1\u30a4\u30eb",
"EditPlanFieldsTab.planName": "\u30d7\u30e9\u30f3\u540d",
"EditPlanForm.cancel": "\u53d6\u308a\u6d88\u3057",
"EditPlanFormTabs.files": "\u30d5\u30a1\u30a4\u30eb",
"EditPlanFormTabs.updatePlan": "\u30d7\u30e9\u30f3\u306e\u66f4\u65b0",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u8a2d\u5b9a\u3092\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "\u74b0\u5883\u8a2d\u5b9a\u304c\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "\u74b0\u5883\u8a2d\u5b9a\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f",
"EnvironmentConfigurationForm.cancel": "\u53d6\u308a\u6d88\u3057",
"EnvironmentConfigurationForm.missingConfiguration": "\u8a2d\u5b9a\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "\u9078\u629e\u3057\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3001\u6709\u52b9\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u4ed6\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u4f9d\u5b58\u3057\u3066\u3044\u307e\u3059\u3002",
"EnvironmentConfigurationForm.requiredEnvironments": "\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u3001{requiredEnvironments} \u3092\u6709\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002",
"EnvironmentConfigurationForm.saveAndClose": "\u4fdd\u5b58\u3057\u3066\u9589\u3058\u308b",
"EnvironmentConfigurationForm.saveChanges": "\u5909\u66f4\u306e\u4fdd\u5b58",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "\u74b0\u5883\u8a2d\u5b9a\u306e\u66f4\u65b0\u4e2d",
"ExportPlan.close": "\u9589\u3058\u308b",
"ExportPlan.download": "\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9",
"ExportPlan.downloadMessage": "\u8981\u6c42\u3057\u305f\u30d7\u30e9\u30f3\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u306e\u6e96\u5099\u304c\u6574\u3044\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u53f3\u30af\u30ea\u30c3\u30af\u3067\u300c\u540d\u524d\u3092\u4ed8\u3051\u3066\u30ea\u30f3\u30af\u3092\u4fdd\u5b58\u300d(Save Link As...) \u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002",
"ExportPlan.error": "\u30d7\u30e9\u30f3\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",
"ExportPlan.exportPlanName": "\u30a8\u30af\u30b9\u30dd\u30fc\u30c8 {planName}",
"ExportPlan.exportingPlanLoader": "\u30d7\u30e9\u30f3\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d...",
"FileList.planFiles": "\u30d7\u30e9\u30f3\u30d5\u30a1\u30a4\u30eb",
"HardwareStep.registerNodes": "\u30ce\u30fc\u30c9\u306e\u767b\u9332",
"HorizontalDirectoryInput.filesReady": "{filesCount} \u30d5\u30a1\u30a4\u30eb",
"HorizontalDirectoryInput.noFilesValidationError": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002",
"HorizontalDirectoryInput.readingFiles": "\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d... {progress}%",
"HorizontalDirectoryInput.unreadableFilesValidationError": "\u4e00\u90e8\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f: {files}",
"I18nDropdown.language": "\u8a00\u8a9e",
"ListPlans.importPlan": "\u30d7\u30e9\u30f3\u306e\u30a4\u30f3\u30dd\u30fc\u30c8",
"LoggerActions.downloadLogsFailedNotificationTitle": "\u30ed\u30b0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002",
"Login.description": "\u672c\u30c4\u30fc\u30eb\u306f\u3001OpenStack \u74b0\u5883\u306e\u8a2d\u5b9a\u3068\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u3054\u5229\u7528\u3044\u305f\u3060\u3051\u307e\u3059\u3002",
"Login.login": "\u30ed\u30b0\u30a4\u30f3",
"Login.password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
"Login.passwordRequired": "\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u3067\u3059\u3002",
"Login.username": "\u30e6\u30fc\u30b6\u30fc\u540d",
"Login.usernameRequired": "\u30e6\u30fc\u30b6\u30fc\u540d\u306f\u5fc5\u9808\u3067\u3059\u3002",
"Login.welcome": "\u3088\u3046\u3053\u305d",
"NavBar.debug": "\u30c7\u30d0\u30c3\u30b0",
"NavBar.plansTab": "\u30d7\u30e9\u30f3",
"NavBar.toggleNavigation": "\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306e\u5207\u308a\u66ff\u3048",
"Navbar.nodesTab": "\u30ce\u30fc\u30c9",
"NetworkConfiguration.close": "\u9589\u3058\u308b",
"NetworkConfiguration.loadingData": "\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"NetworkConfiguration.networkConfiguration": "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a",
"NetworkConfiguration.networkIsolationWarningLink": "",
"NetworkConfiguration.networkIsolationWarningText": "\u305d\u308c\u3089\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001{enableNetworkIsolationLink}\u3002",
"NetworkConfiguration.networkIsolationWarningTitle": "\u4e00\u90e8\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002",
"NetworksActions.fetchNetworksFailed": "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093",
"NewPlan.importPlan": "\u30d7\u30e9\u30f3\u306e\u30a4\u30f3\u30dd\u30fc\u30c8",
"NewPlan.uploadAndCreate": "\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u30d7\u30e9\u30f3\u3092\u4f5c\u6210",
"NewPlanForm.cancel": "\u53d6\u308a\u6d88\u3057",
"NewPlanForm.creatingDeploymentPlan": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u3092\u4f5c\u6210\u4e2d...",
"NoPlans.importPlan": "\u30d7\u30e9\u30f3\u306e\u30a4\u30f3\u30dd\u30fc\u30c8",
"NoPlans.noPlansAvailable": "\u5229\u7528\u3067\u304d\u308b\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u304c\u3042\u308a\u307e\u305b\u3093",
"NoPlans.noPlansAvailableMessage": "\u5229\u7528\u3067\u304d\u308b\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u6700\u521d\u306b\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"NodeColumns.cpuArch": "CPU \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc",
"NodeColumns.cpus": "CPU (\u30b3\u30a2\u6570)",
"NodeColumns.introspectionStatus": "\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u306e\u30b9\u30c6\u30fc\u30bf\u30b9",
"NodeColumns.localGB": "\u30c7\u30a3\u30b9\u30af (GB)",
"NodeColumns.macs": "MAC \u30a2\u30c9\u30ec\u30b9",
"NodeColumns.memoryMb": "\u30e1\u30e2\u30ea\u30fc (MB)",
"NodeColumns.name": "\u540d\u524d",
"NodeColumns.powerState": "\u96fb\u6e90\u306e\u72b6\u614b",
"NodeColumns.profile": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",
"NodeColumns.provisionState": "\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u306e\u72b6\u614b",
"NodeDrive.model": "\u30e2\u30c7\u30eb:",
"NodeDrive.notAvailable": "\u306a\u3057",
"NodeDrive.rootDisk": "\u30eb\u30fc\u30c8\u30c7\u30d0\u30a4\u30b9",
"NodeDrive.serial": "\u30b7\u30ea\u30a2\u30eb:",
"NodeDrive.size": "\u30b5\u30a4\u30ba:",
"NodeDrive.type": "\u7a2e\u5225:",
"NodeDrive.vendor": "\u30d9\u30f3\u30c0\u30fc:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN \u30d9\u30f3\u30c0\u30fc\u62e1\u5f35",
"NodeDrive.wwnWithExtension": "\u30d9\u30f3\u30c0\u30fc\u62e1\u5f35\u306e\u4ed8\u3044\u305f WWN",
"NodeDrives.close": "\u9589\u3058\u308b",
"NodeDrives.title": "\u30ce\u30fc\u30c9\u30c9\u30e9\u30a4\u30d6 - {nodeId}",
"NodeExtendedInfo.macAddresses": "MAC \u30a2\u30c9\u30ec\u30b9:",
"NodeIntrospectionState.introspectionStateLabel": "\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3",
"NodeListItem.Profile": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb:",
"NodeListItem.actions.manageDrives": "\u30c9\u30e9\u30a4\u30d6\u306e\u7ba1\u7406",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB \u30c7\u30a3\u30b9\u30af",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9",
"NodePowerState.powerOff": "\u30aa\u30d5",
"NodePowerState.powerOn": "\u30aa\u30f3",
"NodePowerState.poweringOff": "\u96fb\u6e90\u505c\u6b62\u4e2d",
"NodePowerState.poweringOn": "\u96fb\u6e90\u6295\u5165\u4e2d",
"NodePowerState.rebooting": "\u30ea\u30d6\u30fc\u30c8\u4e2d",
"NodePowerState.unknownPowerState": "\u4e0d\u660e",
"NodeProvisionState.deploymentPlanLabel": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3:",
"NodeProvisionState.provisionStateLabel": "\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u306e\u72b6\u614b:",
"Nodes.loadingNodes": "\u30ce\u30fc\u30c9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"Nodes.nodes": "\u30ce\u30fc\u30c9",
"Nodes.refreshResults": "\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5",
"Nodes.registerNodes": "\u30ce\u30fc\u30c9\u306e\u767b\u9332",
"Nodes.registeringNodes": "\u30ce\u30fc\u30c9\u3092\u767b\u9332\u4e2d...",
"NodesActions.introspectionFailedNotificationTitle": "\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"NodesActions.introspectionNotificationMessage": "\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002",
"NodesActions.introspectionNotificationTitle": "\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"NodesAssignmentForm.cancel": "\u53d6\u308a\u6d88\u3057",
"NodesAssignmentForm.nodeCountsErrorMessage": "\u30ce\u30fc\u30c9\u6570\u3092\u8abf\u7bc0\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"NodesAssignmentForm.nodeCountsErrorTitle": "\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u306e\u6570\u306f\u5229\u7528\u53ef\u80fd\u306a\u30ce\u30fc\u30c9\u306e\u6570\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002",
"NodesAssignmentForm.saveChanges": "\u5909\u66f4\u306e\u4fdd\u5b58",
"NodesListForm.operationInProgressValidationMessage": "\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u306e\u4e00\u90e8\u3067\u306f\u3001\u64cd\u4f5c\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002",
"NodesListForm.selectNodesValidationMessage": "\u6700\u521d\u306b\u30ce\u30fc\u30c9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044",
"NodesTable.loadingNodes": "\u30ce\u30fc\u30c9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"NodesTable.noNodes": "\u5229\u7528\u3067\u304d\u308b\u30ce\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093\u3002",
"NodesTableView.deleteNodes": "\u30ce\u30fc\u30c9\u306e\u524a\u9664",
"NodesTableView.deleteNodesModalMessage": "\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?",
"NodesTableView.deleteNodesModalTitle": "\u30ce\u30fc\u30c9\u306e\u524a\u9664",
"NodesTableView.introspectNodes": "\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3",
"NodesTableView.provideNodes": "\u30ce\u30fc\u30c9\u306e\u6307\u5b9a",
"NodesTableView.tagNodes": "\u30ce\u30fc\u30c9\u306e\u30bf\u30b0\u4ed8\u3051",
"NodesTables.cpuArch": "CPU \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc",
"NodesTables.cpuCores": "CPU (\u30b3\u30a2\u6570)",
"NodesTables.diskGb": "\u30c7\u30a3\u30b9\u30af (GB)",
"NodesTables.macAddresses": "MAC \u30a2\u30c9\u30ec\u30b9",
"NodesTables.maintenance": "\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9",
"NodesTables.memoryMb": "\u30e1\u30e2\u30ea\u30fc (MB)",
"NodesTables.name": "\u540d\u524d",
"NodesTables.powerState": "\u96fb\u6e90\u306e\u72b6\u614b",
"NodesTables.profile": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",
"NodesTables.provisionState": "\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u306e\u72b6\u614b",
"NodesToolbar.filterStringPlaceholder": "\u30d5\u30a3\u30eb\u30bf\u30fc\u306e\u8ffd\u52a0",
"NodesToolbar.filteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}} \u4e2d {filteredCount, number}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "\u30ce\u30fc\u30c9\u306e\u524a\u9664",
"NodesToolbarActions.deleteNodesModalMessage": "\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?",
"NodesToolbarActions.deleteNodesModalTitle": "\u30ce\u30fc\u30c9\u306e\u524a\u9664",
"NodesToolbarActions.disabledButtonsWarning": "\u30ce\u30fc\u30c9\u3092\u6700\u521d\u306b\u9078\u629e\u3059\u308b\u304b\u3001\u9078\u629e\u3057\u305f\u30ce\u30fc\u30c9\u306e\u3044\u305a\u308c\u304b\u3067\u3001\u64cd\u4f5c\u304c\u9032\u884c\u4e2d\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002",
"NodesToolbarActions.introspectNodes": "\u30ce\u30fc\u30c9\u306e\u30a4\u30f3\u30c8\u30ed\u30b9\u30da\u30af\u30b7\u30e7\u30f3",
"NodesToolbarActions.manageNodes": "\u30ce\u30fc\u30c9\u306e\u7ba1\u7406",
"NodesToolbarActions.provideNodes": "\u30ce\u30fc\u30c9\u306e\u6307\u5b9a",
"NodesToolbarActions.tagNodes": "\u30ce\u30fc\u30c9\u306e\u30bf\u30b0\u4ed8\u3051",
"NodesToolbarForm.sortDir": "\u30bd\u30fc\u30c8\u65b9\u5411",
"OvercloudInfo.loadingOvercloudInformation": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u60c5\u5831\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"OvercloudInfo.overcloudInformationHeader": "",
"OvercloudInfo.overcloudIpAddress": "",
"OvercloudInfo.password": "\u30d1\u30b9\u30ef\u30fc\u30c9:",
"OvercloudInfo.username": "\u30e6\u30fc\u30b6\u30fc\u540d:",
"PXEAndDRACDriverFields.address": "DRAC \u306e\u30db\u30b9\u30c8",
"PXEAndDRACDriverFields.password": "DRAC \u306e\u30d1\u30b9\u30ef\u30fc\u30c9",
"PXEAndDRACDriverFields.port": "DRAC \u30dd\u30fc\u30c8",
"PXEAndDRACDriverFields.user": "DRAC \u306e\u30e6\u30fc\u30b6\u30fc\u540d",
"PXEAndIPMIToolDriverFields.address": "IPMI \u306e IP \u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI \u306e\u30d1\u30b9\u30ef\u30fc\u30c9",
"PXEAndIPMIToolDriverFields.port": "IPMI \u30dd\u30fc\u30c8",
"PXEAndIPMIToolDriverFields.user": "IPMI \u306e\u30e6\u30fc\u30b6\u30fc\u540d",
"ParameterInputList.noParameters": "\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u306f\u73fe\u5728\u8a2d\u5b9a\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002",
"Parameters.general": "\u4e00\u822c",
"ParametersActions.parametersUpdatedNotficationMessage": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002",
"ParametersActions.parametersUpdatedNotficationTitle": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f",
"ParametersActions.updateParametersFailed": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002",
"ParametersForm.cancel": "\u53d6\u308a\u6d88\u3057",
"ParametersForm.enterValidJson": "\u6709\u52b9\u306a JSON \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"ParametersForm.invalidParameters": "\u3044\u304f\u3064\u304b\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u5024\u304c\u7121\u52b9\u3067\u3059:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "\u4fdd\u5b58\u3057\u3066\u9589\u3058\u308b",
"ParametersForm.saveChanges": "\u5909\u66f4\u306e\u4fdd\u5b58",
"ParametersForm.updatingParameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u66f4\u65b0\u4e2d",
"PlanActions.delete": "\u524a\u9664",
"PlanActions.edit": "\u7de8\u96c6",
"PlanActions.export": "\u30a8\u30af\u30b9\u30dd\u30fc\u30c8",
"PlanCard.deletingPlan": "{planName} \u3092\u524a\u9664\u4e2d...",
"PlanCard.loadingPlan": "{planName} \u306e\u8a73\u7d30\u60c5\u5831\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"PlanCard.loadingStatus": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"PlanCard.updatingPlan": "{planName} \u3092\u66f4\u65b0\u4e2d...",
"PlanFieldsTab.directoryInputDescription": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u3092\u5b9a\u7fa9\u3059\u308b Heat \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"PlanFieldsTab.gitUrlInputDescription": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30d7\u30e9\u30f3\u3092\u5b9a\u7fa9\u3059\u308b Heat \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u308b Git \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u306e URL \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"PlanFieldsTab.tarballInputDescription": "\u6307\u5b9a\u3059\u308b tarball \u306b\u306f root \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306f\u542b\u307e\u308c\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002tarball \u306e\u4f5c\u6210\u6642\u306b\u306f\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059: {command}",
"PlanFormTabs.addPlanName": "\u30d7\u30e9\u30f3\u540d\u306e\u8ffd\u52a0",
"PlanFormTabs.files": "\u30d5\u30a1\u30a4\u30eb",
"PlanFormTabs.gitUrl": "Git \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u306e URL",
"PlanFormTabs.gitUrlValidationError": "\u6709\u52b9\u306a Git \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u306e URL \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"PlanFormTabs.newPlan": "\u30d7\u30e9\u30f3",
"PlanFormTabs.planFiles": "\u30d7\u30e9\u30f3\u30d5\u30a1\u30a4\u30eb",
"PlanFormTabs.planName": "\u30d7\u30e9\u30f3\u540d",
"PlanFormTabs.planNameValidationError": "\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u306e\u5c0f\u6587\u5b57\u3001\u6570\u5b57\u3001\u30cf\u30a4\u30d5\u30f3 (-) \u306e\u307f\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"PlanFormTabs.planTarball": "\u30d7\u30e9\u30f3\u306e tarball",
"PlanUploadTypeRadios.gitUrl": "Git \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u306e URL",
"PlanUploadTypeRadios.localDirectory": "\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc",
"PlanUploadTypeRadios.tarArchive": "Tar \u30a2\u30fc\u30ab\u30a4\u30d6 (.tar.gz or .tgz)",
"PlanUploadTypeRadios.uploadType": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306e\u7a2e\u5225",
"PlanUploadTypeRadios.useDefaultTemplates": "\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3059\u308b",
"PlansActions.exportFailedNotificationTitle": "\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u304c\u5931\u6557\u3057\u307e\u3057\u305f",
"PlansActions.planCreatedNotificationMessage": "\u30d7\u30e9\u30f3 {planName} \u304c\u6b63\u5e38\u306b\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002",
"PlansActions.planCreatedNotificationTitle": "\u30d7\u30e9\u30f3\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f",
"PlansActions.planCreationFailedNotificationMessage": "\u30d7\u30e9\u30f3\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"PlansActions.planDeletedNotificationMessage": "\u30d7\u30e9\u30f3 {planName} \u304c\u6b63\u5e38\u306b\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002",
"PlansActions.planDeletedNotificationTitle": "\u30d7\u30e9\u30f3\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f",
"PlansActions.planUpdateFailedNotificationMessage": "\u30d7\u30e9\u30f3\u306e\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"PlansActions.planUpdatedNotificationMessage": "{planName} \u306e\u30d7\u30e9\u30f3\u304c\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002",
"PlansActions.planUpdatedNotificationTitle": "\u30d7\u30e9\u30f3\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f",
"PlansList.importPlan": "\u30d7\u30e9\u30f3\u306e\u30a4\u30f3\u30dd\u30fc\u30c8",
"PlansList.plans": "\u30d7\u30e9\u30f3",
"PushDestinationInput.pushDestinationOptionCustom": "",
"PushDestinationInput.pushDestinationOptionFalse": "",
"PushDestinationInput.pushDestinationOptionTrue": "",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u5fa9\u65e7",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u5fa9\u65e7\u4e2d",
"RedeployPlanButton.cancel": "\u53d6\u308a\u6d88\u3057",
"RedeployPlanButton.redeployConfirmationQuestion": "",
"RedeployPlanButton.redeployPlan": "",
"RedeployPlanButton.requestingRedeploy": "",
"RegisterNodeForm.General": "\u4e00\u822c",
"RegisterNodeForm.architecture": "\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc",
"RegisterNodeForm.cpuCount": "CPU \u6570",
"RegisterNodeForm.diskGb": "\u30c7\u30a3\u30b9\u30af (GB)",
"RegisterNodeForm.driver": "\u30c9\u30e9\u30a4\u30d0\u30fc",
"RegisterNodeForm.enterValidMacAddress": "\u6709\u52b9\u306a MAC \u30c9\u30ec\u30b9\u306e\u4e00\u89a7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"RegisterNodeForm.hardware": "\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2",
"RegisterNodeForm.macAddressesDescription": "\u8907\u6570\u306e MAC \u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\u3059\u308b\u5834\u5408\u306b\u306f\u3001\u30b3\u30f3\u30de\u533a\u5207\u308a\u30ea\u30b9\u30c8\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 (\u4f8b: aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "\u7ba1\u7406",
"RegisterNodeForm.memoryMb": "\u30e1\u30e2\u30ea\u30fc (MB)",
"RegisterNodeForm.name": "\u540d\u524d",
"RegisterNodeForm.networking": "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af",
"RegisterNodeForm.nicMacAddresses": "NIC \u306e MAC \u30a2\u30c9\u30ec\u30b9",
"RegisterNodeForm.nodeDetail": "\u30ce\u30fc\u30c9\u306e\u8a73\u7d30",
"RegisterNodeForm.nodeNameMaxLength": "\u30ce\u30fc\u30c9\u540d\u306e\u6700\u5927\u9577\u306f 255 \u6587\u5b57\u3067\u3059\u3002",
"RegisterNodeForm.nodeNameRegexp": "\u30ce\u30fc\u30c9\u540d\u306b\u4f7f\u7528\u3067\u304d\u308b\u306e\u306f\u3001RFC3986 \u306e\u975e\u4e88\u7d04\u6587\u5b57\u306e\u307f\u3067\u3059\u3002\u82f1\u6570\u5b57\u3001\u30cf\u30a4\u30d5\u30f3 (-)\u3001\u30d4\u30ea\u30aa\u30c9 (.)\u3001\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2 (_)\u3001\u30c1\u30eb\u30c0 (~) \u3067\u69cb\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"RegisterNodesActions.registrationNotificationMessage": "\u30ce\u30fc\u30c9\u304c\u6b63\u5e38\u306b\u767b\u9332\u3055\u308c\u307e\u3057\u305f\u3002",
"RegisterNodesActions.registrationNotificationTitle": "\u30ce\u30fc\u30c9\u306e\u767b\u9332\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f",
"RegisterNodesDialog.addANodeManually": "\u30ce\u30fc\u30c9\u3092\u624b\u52d5\u3067\u8ffd\u52a0\u3059\u308b\u304b\u3001\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"RegisterNodesDialog.addNew": "\u65b0\u898f\u8ffd\u52a0",
"RegisterNodesDialog.cancel": "\u53d6\u308a\u6d88\u3057",
"RegisterNodesDialog.csvUnsupported": "CSV \u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093",
"RegisterNodesDialog.invalidJson": "\u7121\u52b9\u306a JSON",
"RegisterNodesDialog.noNodesToRegister": "\u767b\u9332\u3067\u304d\u308b\u30ce\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093",
"RegisterNodesDialog.or": "\u307e\u305f\u306f",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "CSV \u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f instackenv.json \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"RegisterNodesDialog.registerNodes": "\u30ce\u30fc\u30c9\u306e\u767b\u9332",
"RegisterNodesDialog.registeringNodes": "\u30ce\u30fc\u30c9\u3092\u767b\u9332\u4e2d...",
"RegisterNodesDialog.selectedFileUnsupported": "\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306f\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002",
"RegisterNodesDialog.undefinedNode": "\u672a\u5b9a\u7fa9\u306e\u30ce\u30fc\u30c9",
"RegisterNodesDialog.unsupportedFileFormat": "\u672a\u30b5\u30dd\u30fc\u30c8\u306e\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f",
"RegisterNodesDialog.uploadFromFile": "\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9",
"RoleCard.assignNodes": "\u30ce\u30fc\u30c9\u306e\u5272\u308a\u5f53\u3066",
"RoleCard.availableNodesCount": "{count, number}",
"RoleCard.nodesAssigned": "\u5272\u308a\u5f53\u3066\u6e08\u307f\u30ce\u30fc\u30c9\u6570",
"RoleDetail.cancel": "\u53d6\u308a\u6d88\u3057",
"RoleDetail.loadingParameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"RoleDetail.networkConfiguration": "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a",
"RoleDetail.parameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc",
"RoleDetail.role": "{roleName}\u30ed\u30fc\u30eb",
"RoleDetail.saveChanges": "\u5909\u66f4\u306e\u4fdd\u5b58",
"RoleDetail.services": "\u30b5\u30fc\u30d3\u30b9",
"RoleDetail.updatingParameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u66f4\u65b0\u4e2d...",
"RoleServices.noParameters": "\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u306f\u73fe\u5728\u8a2d\u5b9a\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002",
"RoleServices.selectService": "\u8a2d\u5b9a\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"Roles.loadingDeploymentRoles": "\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"RolesActions.availableRolesNotLoaded": "\u5229\u7528\u53ef\u80fd\u306a\u30ed\u30fc\u30eb\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002",
"RolesStep.loadingNodes": "\u30ce\u30fc\u30c9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"RolesStep.loadingParameters": "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"RolesStep.manageRoles": "\u30ed\u30fc\u30eb\u306e\u7ba1\u7406",
"RolesStep.nodesAvailableToAssign": "\u5408\u8a08 {allNodesCount, number} \u30ce\u30fc\u30c9 (\u30ed\u30fc\u30eb\u306b\u5272\u308a\u5f53\u3066\u6e08\u307f: {totalAssignedNodesCount, number}\u3001\u5272\u308a\u5f53\u3066\u53ef\u80fd: {nodesCount, number}\u3001\u8981\u30a2\u30af\u30b7\u30e7\u30f3: {nodesRequireActionCount, number})",
"SelectAll.deselectAllText": "\u3059\u3079\u3066\u9078\u629e\u89e3\u9664",
"SelectAll.selectAllText": "\u3059\u3079\u3066\u9078\u629e",
"SelectRolesDialog.loadingAvailableRoles": "\u5229\u7528\u53ef\u80fd\u306a\u30ed\u30fc\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d",
"SelectRolesDialog.selectRoles": "\u30ed\u30fc\u30eb\u306e\u9078\u629e",
"SelectRolesForm.cancel": "\u53d6\u308a\u6d88\u3057",
"SelectRolesForm.primaryRoleValidationError": "\"primary\" \u304a\u3088\u3073 \"controller\" \u3068\u3057\u3066\u30bf\u30b0\u3055\u308c\u305f\u30ed\u30fc\u30eb\u3092 1 \u3064\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"SelectRolesForm.saveChanges": "\u5909\u66f4\u306e\u4fdd\u5b58",
"SelectRolesForm.updatingRoles": "\u30ed\u30fc\u30eb\u306e\u66f4\u65b0\u4e2d...",
"StackResources.resourcesTableDescription": "",
"StackResources.title": "",
"StackResourcesTable.loadingResources": "\u30ea\u30bd\u30fc\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"StackResourcesTable.name": "\u540d\u524d",
"StackResourcesTable.noResourcesAvailable": "\u5229\u7528\u3067\u304d\u308b\u30ea\u30bd\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002",
"StackResourcesTable.status": "\u30b9\u30c6\u30fc\u30bf\u30b9",
"StackResourcesTable.updatedTime": "\u66f4\u65b0\u65e5\u6642",
"StatusDropdown.debug": "\u30c7\u30d0\u30c3\u30b0",
"TagNodesForm.cancel": "\u53d6\u308a\u6d88\u3057",
"TagNodesForm.confirm": "\u30ce\u30fc\u30c9\u306e\u30bf\u30b0\u4ed8\u3051",
"TagNodesForm.customProfileDescription": "\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u306e\u5c0f\u6587\u5b57\u3068\u6570\u5b57\u3067\u3001\u533a\u5207\u308a\u8a18\u53f7\u306b\u30cf\u30a4\u30d5\u30f3\u3092\u4f7f\u7528 (\u4f8b: block-storage)",
"TagNodesForm.customProfileErrorMessage": "\u5165\u529b\u3057\u305f\u6587\u5b57\u306f\u3001\u3053\u306e\u5024\u306b\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002",
"TagNodesForm.customProfileLabel": "\u30ab\u30b9\u30bf\u30e0\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",
"TagNodesForm.customProfileOption": "\u30ab\u30b9\u30bf\u30e0\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3059\u308b",
"TagNodesForm.noProfileOption": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306a\u3057 (\u30bf\u30b0\u524a\u9664)",
"TagNodesForm.selectProfileLabel": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u9078\u629e",
"TagNodesModal.title": "\u30ce\u30fc\u30c9\u3092\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u30bf\u30b0\u4ed8\u3051",
"Toolbar.activeFilters": "\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30d5\u30a3\u30eb\u30bf\u30fc",
"Toolbar.clearAllActiveFilters": "\u5168\u30d5\u30a3\u30eb\u30bf\u30fc\u306e\u30af\u30ea\u30a2",
"UndeployProgress.initializingDeployment": "{planName} \u30d7\u30e9\u30f3\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664\u3092\u521d\u671f\u5316\u4e2d",
"UndeployProgress.initializingUndeploy": "{planName} \u30d7\u30e9\u30f3\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u524a\u9664\u3092\u521d\u671f\u5316\u4e2d",
"UndeployProgress.resources": "\u30ea\u30bd\u30fc\u30b9",
"UndeployProgress.undeployingPlan": "",
"UndeployProgress.viewInformation": "\u8a73\u7d30\u60c5\u5831\u306e\u8868\u793a",
"UserAuthenticator.authenticating": "\u8a8d\u8a3c\u4e2d...",
"UserDropdown.logout": "\u30ed\u30b0\u30a2\u30a6\u30c8",
"ValidationDetail.close": "\u9589\u3058\u308b",
"ValidationDetail.description": "\u8aac\u660e",
"ValidationDetail.groups": "\u30b0\u30eb\u30fc\u30d7",
"ValidationDetail.output": "\u51fa\u529b:",
"ValidationDetail.status": "\u30b9\u30c6\u30fc\u30bf\u30b9:",
"ValidationDetail.validationDetail": "\u691c\u8a3c\u7d50\u679c\u306e\u8a73\u7d30",
"ValidationsList.loadingValidations": "\u691c\u8a3c\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"ValidationsList.noValidations": "\u691c\u8a3c\u306a\u3057",
"ValidationsList.noValidationsMessage": "\u4eca\u56de\u306f\u691c\u8a3c\u306f\u3042\u308a\u307e\u305b\u3093\u3002",
"ValidationsList.refresh": "\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5",
"ValidationsList.validations": "\u691c\u8a3c",
"ValidationsToggle.error": "\u691c\u8a3c\u30a8\u30e9\u30fc",
"ValidationsToggle.failed": "\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"ValidationsToggle.loadingValidations": "\u691c\u8a3c\u3092\u8aad\u307f\u8fbc\u307f\u4e2d...",
"ValidationsToggle.new": "\u65b0\u898f\u691c\u8a3c",
"ValidationsToggle.paused": "\u691c\u8a3c\u3092\u4e00\u6642\u505c\u6b62\u3057\u307e\u3057\u305f",
"ValidationsToggle.running": "\u691c\u8a3c\u306e\u5b9f\u884c\u4e2d",
"ValidationsToggle.success": "\u691c\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"ValidationsToggle.warning": "\u8b66\u544a\u4ed8\u304d\u306e\u691c\u8a3c",
"ValidationsToolbar.filterStringPlaceholder": "\u30d5\u30a3\u30eb\u30bf\u30fc\u306e\u8ffd\u52a0",
"ValidationsToolbar.filteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}} \u4e2d {filteredCount, number}",
"ValidationsToolbar.group": "\u30b0\u30eb\u30fc\u30d7",
"ValidationsToolbar.name": "\u540d\u524d",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc:",
"nodeExtendedinfo.bios": "BIOS:",
"nodeExtendedinfo.driver": "\u30c9\u30e9\u30a4\u30d0\u30fc:",
"nodeExtendedinfo.interfaceIpAddress": "IP \u30a2\u30c9\u30ec\u30b9",
"nodeExtendedinfo.interfaceMacAddress": "MAC \u30a2\u30c9\u30ec\u30b9",
"nodeExtendedinfo.interfaces": "\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9:",
"nodeExtendedinfo.kernel": "\u30ab\u30fc\u30cd\u30eb:",
"nodeExtendedinfo.product": "\u88fd\u54c1:",
"nodeExtendedinfo.productName": "\u540d\u524d",
"nodeExtendedinfo.productVendor": "\u30d9\u30f3\u30c0\u30fc",
"nodeExtendedinfo.productVersion": "\u30d0\u30fc\u30b8\u30e7\u30f3",
"nodeExtendedinfo.registered": "\u767b\u9332\u65e5\u6642:",
"nodeExtendedinfo.rootDisk": "\u30eb\u30fc\u30c8\u30c7\u30a3\u30b9\u30af:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "\u6700\u5927\u5024\u306f {count, number} \u3067\u3059\u3002",
"reduxForm.validations.minValue": "\u6700\u5c0f\u5024\u306f {count, number} \u3067\u3059\u3002",
"reduxForm.validations.number": "\u5024\u306f\u6570\u5b57\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"
}
}

View File

@ -1,442 +0,0 @@
{
"ko-KR": {
"AuthenticatedContent.loadingDeployments": "\ubc30\ud3ec\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"AvailableRoleDetailDialog.close": "\ub2eb\uae30",
"AvailableRoleDetailDialog.descriptionLabel": "\uc124\uba85:",
"AvailableRoleDetailDialog.dialogTitle": "",
"AvailableRoleDetailDialog.disable": "",
"AvailableRoleDetailDialog.enable": "",
"AvailableRoleDetailDialog.networksLabel": "",
"AvailableRoleDetailDialog.servicesLabel": "",
"AvailableRoleDetailDialog.tagsLabel": "",
"ConfigureNetworkStep.editConfigurationLink": "\uad6c\uc131 \uc218\uc815",
"ConfigurePlanStep.editConfigurationLink": "\uad6c\uc131 \uc218\uc815",
"ContentView.list": "\ub9ac\uc2a4\ud2b8 \ubcf4\uae30",
"ContentView.table": "\ud14c\uc774\ube14 \ubdf0",
"CurrentPlan.backToAllPlans": "\ubaa8\ub4e0 \uacc4\ud68d",
"CurrentPlan.configureNetworkStepHeader": "",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "",
"CurrentPlan.configureRolesStepHeader": "\uc5ed\ud560 \uad6c\uc131 \ubc0f \ub178\ub4dc \ud560\ub2f9",
"CurrentPlan.configureRolesStepTooltip": "",
"CurrentPlan.deployStepHeader": "\ubc30\ud3ec",
"CurrentPlan.deploymentConfigurationStepHeader": "\ubc30\ud3ec \uad6c\uc131 \uc9c0\uc815",
"CurrentPlan.deploymentStepTooltip": "",
"CurrentPlan.hardwareStepHeader": "\ud558\ub4dc\uc6e8\uc5b4 \uc900\ube44",
"CurrentPlan.hardwareStepTooltip": "",
"CurrentPlan.loadingDeploymentStatus": "",
"DataTable.filter": "\ud544\ud130",
"DataTable.itemsVisibleInTable": "{total} \ud56d\ubaa9 \uc911 {showing} \ud45c\uc2dc\uc911",
"DebugScreen.cancel": "\ucde8\uc18c",
"DebugScreen.debugPageTitle": "\ub514\ubc84\uae45 \uc815\ubcf4 ",
"DebugScreen.downloadButton": "\ub85c\uadf8 \ub2e4\uc6b4\ub85c\ub4dc",
"DebugScreen.downloadButtonInProgress": "\ub85c\uadf8\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \uc911...",
"DebugScreen.downloadLogs": "\ub85c\uadf8 \ub2e4\uc6b4\ub85c\ub4dc",
"DebugScreen.downloadLogsMessage": "\uc694\uccad\ud55c \ud30c\uc77c\uc774 \uc900\ube44\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc544\ub798 \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \ub0b4\ubcf4\ub0b4\uae30\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc2ed\uc2dc\uc624. \ub9c8\uc6b0\uc2a4 \uc624\ub978\ucabd \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uace0 \"Save link as...\"\ub97c \uc120\ud0dd\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.",
"DebugScreen.downloadingLogsLoader": "\ub85c\uadf8\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \uc911...",
"DebugScreen.error": "\ub85c\uadf8 \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc900\ube44\ud558\ub294 \uc911\uc5d0 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "\ubc84\uc804",
"DeleteDeploymentButton.cancel": "\ucde8\uc18c",
"DeleteDeploymentButton.deleteConfirmationQuestion": "\uc815\ub9d0\ub85c \ud574\ub2f9 \ubc30\ud3ec\ub97c \uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?",
"DeleteDeploymentButton.deleteDeployment": "\ubc30\ud3ec \uc0ad\uc81c",
"DeleteDeploymentButton.requestingDeletion": "\ubc30\ud3ec \uc0ad\uc81c \uc694\uccad\uc911",
"DeletePlan.cancel": "\ucde8\uc18c",
"DeletePlan.deletePlan": "Plan \uc0ad\uc81c",
"DeletePlan.deletePlanConfirmation": "Plan {planName} \uc744 \uc815\ub9d0\ub85c \uc0ad\uc81c\ud558\uae30\ub97c \uc6d0\ud569\ub2c8\uae4c?",
"DeletePlan.deletePlanName": "{planName} \uc0ad\uc81c",
"Deploy.deleteInProgress": "\uc0ad\uc81c \uc9c4\ud589 \uc911",
"DeployStep.requestingDeploy": "\ubc30\ud3ec \uc694\uccad \uc911...",
"DeployStep.validateAndDeploy": "Validate \uc640 \ubc30\ud3ec",
"DeploymentConfiguration.deploymentConfiguration": "\ubc30\ud3ec \uad6c\uc131",
"DeploymentConfiguration.overallSettings": "\uc804\uccb4 \uc124\uc815",
"DeploymentConfiguration.parameters": "\ub9e4\uac1c \ubcc0\uc218",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "\ud604\uc7ac \ubc30\ud3ec \uad6c\uc131\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"DeploymentConfirmation.deployButton": "\ubc30\ud3ec",
"DeploymentConfirmation.deploymentConfirmation": "\uc815\ub9d0\ub85c \uc774 plan \uc744 \ubc30\ud3ec\ud558\uae30\ub97c \uc6d0\ud569\ub2c8\uae4c?",
"DeploymentConfirmation.deploymentConfirmationHeader": "Plan {planName} \ubc30\ud3ec",
"DeploymentConfirmation.requestingDeploymentLoader": "\ubc30\ud3ec \uc694\uccad \uc911...",
"DeploymentConfirmation.summary": "\uc694\uc57d:",
"DeploymentConfirmation.validationsNotificationMessage": "",
"DeploymentConfirmation.validationsNotificationTitle": "",
"DeploymentDetail.close": "\ub2eb\uae30",
"DeploymentDetail.loadingDeploymentStatus": "",
"DeploymentDetail.modalTitle": "Plan {planName} \ubc30\ud3ec",
"DeploymentFailure.deleteDeployment": "\ubc30\ud3ec \uc0ad\uc81c",
"DeploymentFailure.fetchingStack": "\ubc30\ud3ec \uc815\ubcf4\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"DeploymentFailure.moreDetails": "\uc138\ubd80 \uc0ac\ud56d",
"DeploymentFailure.requestingDeletion": "\ubc30\ud3ec \uc0ad\uc81c \uc694\uccad\uc911",
"DeploymentFailures.failuresTableDescription": "",
"DeploymentFailures.loadingDeploymentFailures": "",
"DeploymentFailures.noDeploymentFailures": "",
"DeploymentFailures.nodeTableColumnLabel": "",
"DeploymentFailures.outputsTableColumnLabel": "",
"DeploymentFailures.taskTableColumnLabel": "",
"DeploymentFailures.title": "",
"DeploymentFailures.viewDetails": "",
"DeploymentProgress.configuringPlan": "",
"DeploymentProgress.deployingPlan": "",
"DeploymentProgress.initializingDeployment": "",
"DeploymentProgress.viewInformation": "\uc790\uc138\ud55c \uc815\ubcf4 \ubcf4\uae30",
"DeploymentStatus.createComplete": "\ubc30\ud3ec \uc131\uacf5",
"DeploymentStatus.createFailed": "\ubc30\ud3ec \uc2e4\ud328",
"DeploymentStatus.createInProgress": "\ubc30\ud3ec \uc9c4\ud589 \uc911",
"DeploymentStatus.deleteFailed": "\ubc30\ud3ec \uc0ad\uc81c \uc2e4\ud328",
"DeploymentStatus.deployed": "\ubc30\ud3ec \uc131\uacf5",
"DeploymentStatus.deploying": "",
"DeploymentStatus.deploymentFailed": "",
"DeploymentStatus.undeployFailed": "",
"DeploymentStatus.undeployed": "",
"DeploymentStatus.undeploying": "",
"DeploymentStatus.unknown": "",
"DeploymentStatus.updateComplete": "\uc5c5\ub370\uc774\ud2b8 \uc131\uacf5",
"DeploymentStatus.updateFailed": "\uc5c5\ub370\uc774\ud2b8 \uc2e4\ud328",
"DeploymentStatus.updateInProgress": "\uc5c5\ub370\uc774\ud2b8 \uc9c4\ud589\uc911",
"DeploymentStatusShort.deployed": "\ubc30\ud3ec \uc131\uacf5",
"DeploymentStatusShort.deploying": "\ubc30\ud3ec \uc9c4\ud589 \uc911",
"DeploymentStatusShort.deploymentFailed": "\ubc30\ud3ec \uc2e4\ud328",
"DeploymentStatusShort.undeployFailed": "",
"DeploymentStatusShort.undeployed": "\ubc30\ud3ec\ub418\uc9c0 \uc54a\uc74c",
"DeploymentStatusShort.undeploying": "",
"DeploymentStatusShort.unknown": "",
"DeploymentSuccess.resources": "\ub9ac\uc18c\uc2a4",
"DriverFields.ipOrFqdnValidatorMessage": "\uc720\ud6a8\ud55c IPv4 \uc8fc\uc18c \ub610\ub294 \uc720\ud6a8\ud55c FQDN\uc744 \uc785\ub825\ud574 \uc8fc\uc138\uc694.",
"DriverFields.portValidationMessage": "\uc720\ud6a8\ud55c \ud3ec\ud2b8 \ubc88\ud638\ub97c \uc785\ub825\ud558\uc138\uc694(0 - 655535)",
"EditPlan.cancel": "\ucde8\uc18c",
"EditPlan.editPlan": "",
"EditPlan.updatingDeploymentPlan": "Plan \uc5c5\ub370\uc774\ud2b8 \uc911...",
"EditPlan.uploadAndUpdate": "\ud30c\uc77c \uc5c5\ub85c\ub4dc \ud6c4 Plan \uc5c5\ub370\uc774\ud2b8",
"EditPlanFieldsTab.directoryInputDescription": "",
"EditPlanFieldsTab.planFiles": "Plan \ud30c\uc77c",
"EditPlanFieldsTab.planName": "Plan \uc774\ub984",
"EditPlanForm.cancel": "\ucde8\uc18c",
"EditPlanFormTabs.files": "\ud30c\uc77c",
"EditPlanFormTabs.updatePlan": "Plan \uc5c5\ub370\uc774\ud2b8",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "\ubc30\ud3ec \uad6c\uc131\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "\ubc30\ud3ec \uad6c\uc131\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "\ud658\uacbd \uad6c\uc131\uc774 \uc131\uacf5\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uc5c8\uc2b5\ub2c8\ub2e4.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "\ud658\uacbd \uad6c\uc131\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uc600\uc2b5\ub2c8\ub2e4",
"EnvironmentConfigurationForm.cancel": "\ucde8\uc18c",
"EnvironmentConfigurationForm.missingConfiguration": "\uad6c\uc131 \ub204\ub77d",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "\uc120\ud0dd\ud558\uc2e0 \uc635\uc158\uc740 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \ub2e4\ub978 \uc635\uc158\ub4e4\uc5d0 \uc758\uc874\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.",
"EnvironmentConfigurationForm.requiredEnvironments": "\uc774 \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 {requiredEnvironments}\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ud574\uc57c\ud569\ub2c8\ub2e4.",
"EnvironmentConfigurationForm.saveAndClose": "\uc800\uc7a5 \ubc0f \ub2eb\uae30",
"EnvironmentConfigurationForm.saveChanges": "\ubcc0\uacbd\uc0ac\ud56d \uc800\uc7a5",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "\ud658\uacbd \uad6c\uc131\uc744 \uc5c5\ub370\uc774\ud2b8 \uc911",
"ExportPlan.close": "\ub2eb\uae30",
"ExportPlan.download": "\ub2e4\uc6b4\ub85c\ub4dc",
"ExportPlan.downloadMessage": "\uc694\uccad\ud55c Plan \ub0b4\ubcf4\ub0b4\uae30\uac00 \uc900\ube44\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc544\ub798 \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \ub0b4\ubcf4\ub0b4\uae30 \uacb0\uacfc\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4. \uc624\ub978\ucabd \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \"\ub2e4\ub978 \uc774\ub984\uc73c\ub85c \uc800\uc7a5...\" \uc744 \uc120\ud0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.",
"ExportPlan.error": "Plan\uc744 \ub0b4\ubcf4\ub0b4\uae30 \ud558\ub294 \ub3c4\uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc600\uc2b5\ub2c8\ub2e4",
"ExportPlan.exportPlanName": "{planName} \ub0b4\ubcf4\ub0b4\uae30",
"ExportPlan.exportingPlanLoader": "Plan \ub0b4\ubcf4\ub0b4\uae30 \uc911...",
"FileList.planFiles": "Plan \ud30c\uc77c",
"HardwareStep.registerNodes": "\ub178\ub4dc \ub4f1\ub85d",
"HorizontalDirectoryInput.filesReady": "",
"HorizontalDirectoryInput.noFilesValidationError": "",
"HorizontalDirectoryInput.readingFiles": "",
"HorizontalDirectoryInput.unreadableFilesValidationError": "",
"I18nDropdown.language": "\uc5b8\uc5b4",
"ListPlans.importPlan": "\uacc4\ud68d \uac00\uc838\uc624\uae30",
"LoggerActions.downloadLogsFailedNotificationTitle": "\ub85c\uadf8\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294\ub370 \uc2e4\ud328\ub428",
"Login.description": "\uc774 \ud234\uc740 OpenStack \ud658\uacbd\uc744 \uad6c\uc131\ud558\uace0 \ubc30\ud3ec\ud558\ub294 \uacfc\uc815\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.",
"Login.login": "\ub85c\uadf8\uc778",
"Login.password": "\ube44\ubc00\ubc88\ud638",
"Login.passwordRequired": "\ube44\ubc00\ubc88\ud638\ub294 \ud544\uc218\uc785\ub2c8\ub2e4.",
"Login.username": "\uc0ac\uc6a9\uc790\uba85",
"Login.usernameRequired": "\uc0ac\uc6a9\uc790 \uba85\uc740 \ud544\uc218\uc785\ub2c8\ub2e4.",
"Login.welcome": "\ud658\uc601\ud569\ub2c8\ub2e4!",
"NavBar.debug": "\ub514\ubc84\uadf8",
"NavBar.plansTab": "Plans",
"NavBar.toggleNavigation": "\ub0b4\ube44\uac8c\uc774\uc158 \ud1a0\uae00",
"Navbar.nodesTab": "\ub178\ub4dc",
"NetworkConfiguration.close": "\ub2eb\uae30",
"NetworkConfiguration.loadingData": "",
"NetworkConfiguration.networkConfiguration": "\ub124\ud2b8\uc6cc\ud06c \uad6c\uc131",
"NetworkConfiguration.networkIsolationWarningLink": "",
"NetworkConfiguration.networkIsolationWarningText": "",
"NetworkConfiguration.networkIsolationWarningTitle": "",
"NetworksActions.fetchNetworksFailed": "",
"NewPlan.importPlan": "\uacc4\ud68d \uac00\uc838\uc624\uae30",
"NewPlan.uploadAndCreate": "\ud30c\uc77c \uc5c5\ub85c\ub4dc \ud6c4 Plan \uc0dd\uc131",
"NewPlanForm.cancel": "\ucde8\uc18c",
"NewPlanForm.creatingDeploymentPlan": "",
"NoPlans.importPlan": "\uacc4\ud68d \uac00\uc838\uc624\uae30",
"NoPlans.noPlansAvailable": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubc30\ud3ec Plan \uc774 \uc5c6\uc2b5\ub2c8\ub2e4",
"NoPlans.noPlansAvailableMessage": "\ubc30\ud3ec Plan \uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \ud558\ub098 \ub9cc\ub4dc\uc2ed\uc2dc\uc624.",
"NodeColumns.cpuArch": "CPU \uc544\ud0a4\ud14d\ucc98.",
"NodeColumns.cpus": "CPU (\ucf54\uc5b4)",
"NodeColumns.introspectionStatus": "\uc778\ud2b8\ub85c\uc2a4\ud399\uc158(Introspection) \uc0c1\ud0dc",
"NodeColumns.localGB": "\ub514\uc2a4\ud06c (GB)",
"NodeColumns.macs": "Mac \uc8fc\uc18c",
"NodeColumns.memoryMb": "\uba54\ubaa8\ub9ac (MB)",
"NodeColumns.name": "\uc774\ub984",
"NodeColumns.powerState": "\uc804\uc6d0 \uc0c1\ud0dc",
"NodeColumns.profile": "\ud504\ub85c\ud544",
"NodeColumns.provisionState": "\ud504\ub85c\ube44\uc800\ub2dd \uc0c1\ud0dc",
"NodeDrive.model": "\ubaa8\ub378:",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "\ub8e8\ud2b8 \ub514\ubc14\uc774\uc2a4",
"NodeDrive.serial": "\uc2dc\ub9ac\uc5bc:",
"NodeDrive.size": "\ud06c\uae30:",
"NodeDrive.type": "\uc720\ud615:",
"NodeDrive.vendor": "\ubca4\ub354:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN \ubca4\ub354 \ud655\uc7a5:",
"NodeDrive.wwnWithExtension": "\ud655\uc7a5\uae30\ub2a5\uc758 WWN:",
"NodeDrives.close": "\ub2eb\uae30",
"NodeDrives.title": "\ub178\ub4dc \ub4dc\ub77c\uc774\ubc84 - {nodeId}",
"NodeExtendedInfo.macAddresses": "Mac \uc8fc\uc18c:",
"NodeIntrospectionState.introspectionStateLabel": "\uc778\ud2b8\ub85c\uc2a4\ud399\uc158(Introspection):",
"NodeListItem.Profile": "\ud504\ub85c\ud544:",
"NodeListItem.actions.manageDrives": "\ub4dc\ub77c\uc774\ubc84 \uad00\ub9ac",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB \ub514\uc2a4\ud06c",
"NodeListItem.mbRam": "MB \ub7a8",
"NodeMaintenanceState.maintenanceWarning": "\uc720\uc9c0\ubcf4\uc218",
"NodePowerState.powerOff": "\ub054",
"NodePowerState.powerOn": "\ud0b4",
"NodePowerState.poweringOff": "Powering Off",
"NodePowerState.poweringOn": "Powering On",
"NodePowerState.rebooting": "Rebooting",
"NodePowerState.unknownPowerState": "\uc54c \uc218 \uc5c6\uc74c",
"NodeProvisionState.deploymentPlanLabel": "",
"NodeProvisionState.provisionStateLabel": "\ud504\ub85c\ube44\uc804 \uc0c1\ud0dc:",
"Nodes.loadingNodes": "\ub178\ub4dc\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"Nodes.nodes": "\ub178\ub4dc",
"Nodes.refreshResults": "\uac31\uc2e0 \uacb0\uacfc",
"Nodes.registerNodes": "\ub178\ub4dc \ub4f1\ub85d",
"Nodes.registeringNodes": "\ub178\ub4dc \ub4f1\ub85d\uc911...",
"NodesActions.introspectionFailedNotificationTitle": "\ub178\ub4dc Introspection \uc2e4\ud328",
"NodesActions.introspectionNotificationMessage": "\uc120\ud0dd\ud55c \ub178\ub4dc\ub97c \uc131\uacf5\uc801\uc73c\ub85c introspect\ud558\uc600\uc2b5\ub2c8\ub2e4.",
"NodesActions.introspectionNotificationTitle": "\ub178\ub4dc Introspection \uc644\ub8cc",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "\ub178\ub4dc Introspection \uc2e4\ud328",
"NodesAssignmentForm.cancel": "\ucde8\uc18c",
"NodesAssignmentForm.nodeCountsErrorMessage": "",
"NodesAssignmentForm.nodeCountsErrorTitle": "",
"NodesAssignmentForm.saveChanges": "\ubcc0\uacbd\uc0ac\ud56d \uc800\uc7a5",
"NodesListForm.operationInProgressValidationMessage": "\uc120\ud0dd\ud55c \ub178\ub4dc \uc911 \uc77c\ubd80\uc5d0\uc11c \uc9c4\ud589\uc911\uc778 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4",
"NodesListForm.selectNodesValidationMessage": "\uba3c\uc800 \ub178\ub4dc\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624.",
"NodesTable.loadingNodes": "\ub178\ub4dc\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"NodesTable.noNodes": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ub178\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
"NodesTableView.deleteNodes": "\ub178\ub4dc \uc0ad\uc81c",
"NodesTableView.deleteNodesModalMessage": "\uc815\ub9d0\ub85c \uc120\ud0dd\ub41c \ub178\ub4dc\ub97c \uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?",
"NodesTableView.deleteNodesModalTitle": "\ub178\ub4dc \uc0ad\uc81c",
"NodesTableView.introspectNodes": "Introspect \ub178\ub4dc",
"NodesTableView.provideNodes": "\ub178\ub4dc \uc81c\uacf5",
"NodesTableView.tagNodes": "\ub178\ub4dc \ud0dc\uadf8",
"NodesTables.cpuArch": "CPU \uc544\ud0a4\ud14d\ucc98.",
"NodesTables.cpuCores": "CPU (\ucf54\uc5b4)",
"NodesTables.diskGb": "\ub514\uc2a4\ud06c (GB)",
"NodesTables.macAddresses": "MAC \uc8fc\uc18c",
"NodesTables.maintenance": "\uc720\uc9c0\ubcf4\uc218",
"NodesTables.memoryMb": "\uba54\ubaa8\ub9ac (MB)",
"NodesTables.name": "\uc774\ub984",
"NodesTables.powerState": "\uc804\uc6d0 \uc0c1\ud0dc",
"NodesTables.profile": "\ud504\ub85c\ud544",
"NodesTables.provisionState": "\ud504\ub85c\ube44\uc800\ub2dd \uc0c1\ud0dc",
"NodesToolbar.filterStringPlaceholder": "\ud544\ud130 \ucd94\uac00",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "\ub178\ub4dc \uc0ad\uc81c",
"NodesToolbarActions.deleteNodesModalMessage": "\uc815\ub9d0\ub85c \uc120\ud0dd\ub41c \ub178\ub4dc\ub97c \uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?",
"NodesToolbarActions.deleteNodesModalTitle": "\ub178\ub4dc \uc0ad\uc81c",
"NodesToolbarActions.disabledButtonsWarning": "\uba3c\uc800 Nodes \uc120\ud0dd\uc744 \ud544\uc694\ub85c \ud558\uac70\ub098 \ub610\ub294 \uc120\ud0dd\ub41c Nodes \uc911 \uc77c\ubd80\uc5d0\uc11c \uc774\ubbf8 \uc9c4\ud589 \uc911\uc778 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4.",
"NodesToolbarActions.introspectNodes": "Introspect \ub178\ub4dc",
"NodesToolbarActions.manageNodes": "\ub178\ub4dc \uad00\ub9ac",
"NodesToolbarActions.provideNodes": "\ub178\ub4dc \uc81c\uacf5",
"NodesToolbarActions.tagNodes": "\ub178\ub4dc \ud0dc\uadf8",
"NodesToolbarForm.sortDir": "\uc815\ub82c \ubc29\ud5a5",
"OvercloudInfo.loadingOvercloudInformation": "\ubc30\ud3ec \uc815\ubcf4\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"OvercloudInfo.overcloudInformationHeader": "\ubc30\ud3ec \uc815\ubcf4",
"OvercloudInfo.overcloudIpAddress": "\ubc30\ud3ec IP \uc8fc\uc18c:",
"OvercloudInfo.password": "\ube44\ubc00\ubc88\ud638:",
"OvercloudInfo.username": "\uc0ac\uc6a9\uc790\uba85:",
"PXEAndDRACDriverFields.address": "DRAC \ud638\uc2a4\ud2b8",
"PXEAndDRACDriverFields.password": "DRAC \uc554\ud638",
"PXEAndDRACDriverFields.port": "DRAC \ud3ec\ud2b8",
"PXEAndDRACDriverFields.user": "DRAC \uc0ac\uc6a9\uc790 \uc774\ub984",
"PXEAndIPMIToolDriverFields.address": "FQDN\uc5d0 \ub300\ud55c IPMI IP \uc8fc\uc18c",
"PXEAndIPMIToolDriverFields.password": "IPMI \ube44\ubc00\ubc88\ud638",
"PXEAndIPMIToolDriverFields.port": "IPMI \ud3ec\ud2b8",
"PXEAndIPMIToolDriverFields.user": "IPMI \uc0ac\uc6a9\uc790 \uc774\ub984",
"ParameterInputList.noParameters": "\uc774 \uc139\uc158\uc5d0\uc11c \uad6c\uc131\ud560 \ub9e4\uac1c\ubcc0\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
"Parameters.general": "\uc77c\ubc18",
"ParametersActions.parametersUpdatedNotficationMessage": "\ubc30\ud3ec \ub9e4\uac1c \ubcc0\uc218\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uc5c8\uc2b5\ub2c8\ub2e4.",
"ParametersActions.parametersUpdatedNotficationTitle": "\ub9e4\uac1c \ubcc0\uc218 \uc5c5\ub370\uc774\ud2b8 \uc644\ub8cc",
"ParametersActions.updateParametersFailed": "\ub9e4\uac1c \ubcc0\uc218\ub97c \uc5c5\ub370\uc774\ud2b8 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.",
"ParametersForm.cancel": "\ucde8\uc18c",
"ParametersForm.enterValidJson": "\uc720\ud6a8\ud55c JSON\uc744 \uc785\ub825\ud569\ub2c8\ub2e4.",
"ParametersForm.invalidParameters": "\uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uba87\uba87\uc758 \ub9e4\uac1c\ubcc0\uc218 \uac12:",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "\uc800\uc7a5 \ubc0f \ub2eb\uae30",
"ParametersForm.saveChanges": "\ubcc0\uacbd\uc0ac\ud56d \uc800\uc7a5",
"ParametersForm.updatingParameters": "\uad6c\uc131\uc744 \uc5c5\ub370\uc774\ud2b8 \uc911...",
"PlanActions.delete": "\uc0ad\uc81c",
"PlanActions.edit": "\ud3b8\uc9d1",
"PlanActions.export": "\ub0b4\ubcf4\ub0b4\uae30",
"PlanCard.deletingPlan": "{planName} \uc0ad\uc81c\uc911...",
"PlanCard.loadingPlan": "",
"PlanCard.loadingStatus": "",
"PlanCard.updatingPlan": "{planName} \uc5c5\ub370\uc774\ud2b8 \uc911...",
"PlanFieldsTab.directoryInputDescription": "",
"PlanFieldsTab.gitUrlInputDescription": "",
"PlanFieldsTab.tarballInputDescription": "",
"PlanFormTabs.addPlanName": "Plan \uc774\ub984\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4",
"PlanFormTabs.files": "\ud30c\uc77c",
"PlanFormTabs.gitUrl": "",
"PlanFormTabs.gitUrlValidationError": "",
"PlanFormTabs.newPlan": "\uc0c8 Plan",
"PlanFormTabs.planFiles": "Plan \ud30c\uc77c",
"PlanFormTabs.planName": "Plan \uc774\ub984",
"PlanFormTabs.planNameValidationError": "",
"PlanFormTabs.planTarball": "",
"PlanUploadTypeRadios.gitUrl": "",
"PlanUploadTypeRadios.localDirectory": "",
"PlanUploadTypeRadios.tarArchive": "Tar \uc555\ucd95 (tar.gz \ub610\ub294 .tgz)",
"PlanUploadTypeRadios.uploadType": "\uc5c5\ub85c\ub4dc \ud0c0\uc785",
"PlanUploadTypeRadios.useDefaultTemplates": "",
"PlansActions.exportFailedNotificationTitle": "\ub0b4\ubcf4\ub0b4\uae30 \uc2e4\ud328",
"PlansActions.planCreatedNotificationMessage": "Plan {planName} \ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc0dd\uc131\ud558\uc600\uc2b5\ub2c8\ub2e4.",
"PlansActions.planCreatedNotificationTitle": "Plan\uc774 \uc0dd\uc131\ub428",
"PlansActions.planCreationFailedNotificationMessage": "",
"PlansActions.planDeletedNotificationMessage": "Plan {planName} \ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc0ad\uc81c\ud558\uc600\uc2b5\ub2c8\ub2e4.",
"PlansActions.planDeletedNotificationTitle": "Plan \uc0ad\uc81c\ub428",
"PlansActions.planUpdateFailedNotificationMessage": "Plan \uc5c5\ub370\uc774\ud2b8 \uc2e4\ud328\ub428",
"PlansActions.planUpdatedNotificationMessage": "Plan {planName} \ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ud558\uc600\uc2b5\ub2c8\ub2e4.",
"PlansActions.planUpdatedNotificationTitle": "Plan \uc5c5\ub370\uc774\ud2b8\ub428",
"PlansList.importPlan": "\uacc4\ud68d \uac00\uc838\uc624\uae30",
"PlansList.plans": "Plans",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "",
"RedeployPlanButton.cancel": "\ucde8\uc18c",
"RedeployPlanButton.redeployConfirmationQuestion": "",
"RedeployPlanButton.redeployPlan": "",
"RedeployPlanButton.requestingRedeploy": "",
"RegisterNodeForm.General": "\uc77c\ubc18",
"RegisterNodeForm.architecture": "\uc544\ud0a4\ud14d\ucc98",
"RegisterNodeForm.cpuCount": "CPU \uac1c\uc218",
"RegisterNodeForm.diskGb": "\ub514\uc2a4\ud06c (GB)",
"RegisterNodeForm.driver": "\ub4dc\ub77c\uc774\ubc84",
"RegisterNodeForm.enterValidMacAddress": "\uc720\ud6a8\ud55c MAC \uc8fc\uc18c\uc758 \ub9ac\uc2a4\ud2b8\ub97c \uc785\ub825\ud569\ub2c8\ub2e4.",
"RegisterNodeForm.hardware": "\ud558\ub4dc\uc6e8\uc5b4",
"RegisterNodeForm.macAddressesDescription": "\uc5ec\ub7ec MAC \uc8fc\uc18c\ub97c \uc9c0\uc815\ud558\ub294 \uacbd\uc6b0 \uc27c\ud45c\ub85c \uad6c\ubd84 \ub41c \ubaa9\ub85d\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624. (e.g. aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "\uad00\ub9ac",
"RegisterNodeForm.memoryMb": "\uba54\ubaa8\ub9ac (MB)",
"RegisterNodeForm.name": "\uc774\ub984",
"RegisterNodeForm.networking": "\ub124\ud2b8\uc6cc\ud0b9",
"RegisterNodeForm.nicMacAddresses": "NIC MAC \uc8fc\uc18c",
"RegisterNodeForm.nodeDetail": "\ub178\ub4dc \uc138\ubd80\uc0ac\ud56d",
"RegisterNodeForm.nodeNameMaxLength": "\ub178\ub4dc \uc774\ub984\uc740 \ucd5c\ub300 255\uc790\uae4c\uc9c0 \uac00\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.",
"RegisterNodeForm.nodeNameRegexp": "\uc601\uc22b\uc790, \ud558\uc774\ud508 (-), \ub9c8\uce68\ud45c (.), \ubc11\uc904 (_) \ubc0f \ubb3c\uacb0\ud45c (~) \ubb38\uc790\uc640 \uac19\uc740 \uc774\ub984\uc73c\ub85c RFC3986\uc5d0 \uc608\uc57d\ub418\uc9c0 \uc54a\uc740 \ubb38\uc790\ub85c\ub9cc \uad6c\uc131 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.",
"RegisterNodesActions.registrationNotificationMessage": "\ub178\ub4dc\ub97c \uc131\uacf5\uc801\uc73c\ub85c \ub4f1\ub85d\ud558\uc600\uc2b5\ub2c8\ub2e4.",
"RegisterNodesActions.registrationNotificationTitle": "\ub178\ub4dc \ub4f1\ub85d \uc644\ub8cc",
"RegisterNodesDialog.addANodeManually": "\ub178\ub4dc\ub97c \uc218\ub3d9\uc73c\ub85c \ucd94\uac00\ud558\uac70\ub098 \ud30c\uc77c\uc744 \ud1b5\ud574 \ub178\ub4dc\ub97c \uc5c5\ub85c\ub4dc\ud569\ub2c8\ub2e4",
"RegisterNodesDialog.addNew": "\uc0c8\ub85c \ucd94\uac00",
"RegisterNodesDialog.cancel": "\ucde8\uc18c",
"RegisterNodesDialog.csvUnsupported": "CSV \uc5c5\ub85c\ub4dc\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4",
"RegisterNodesDialog.invalidJson": "\uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 JSON",
"RegisterNodesDialog.noNodesToRegister": "\"\ub4f1\ub85d\ud560 \ub178\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4\"",
"RegisterNodesDialog.or": "or",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "CSV \ud30c\uc77c \ub610\ub294 instackenv.json\uc744 \uc81c\uacf5\ud574 \uc8fc\uc138\uc694.",
"RegisterNodesDialog.registerNodes": "\ub178\ub4dc \ub4f1\ub85d",
"RegisterNodesDialog.registeringNodes": "\ub178\ub4dc \ub4f1\ub85d\uc911...",
"RegisterNodesDialog.selectedFileUnsupported": "\uc120\ud0dd\ud55c \ud30c\uc77c \ud3ec\ub9f7\uc740 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.",
"RegisterNodesDialog.undefinedNode": "\uc815\uc758\ub418\uc9c0 \uc54a\uc740 \ub178\ub4dc",
"RegisterNodesDialog.unsupportedFileFormat": "\uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ud30c\uc77c \ud3ec\ub9f7",
"RegisterNodesDialog.uploadFromFile": "\ud30c\uc77c \uc5c5\ub85c\ub4dc",
"RoleCard.assignNodes": "\ub178\ub4dc \ud560\ub2f9",
"RoleCard.availableNodesCount": "of {count, number}",
"RoleCard.nodesAssigned": "\ub178\ub4dc\uac00 \ud560\ub2f9\ub428",
"RoleDetail.cancel": "\ucde8\uc18c",
"RoleDetail.loadingParameters": "\ub9e4\uac1c\ubcc0\uc218\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"RoleDetail.networkConfiguration": "\ub124\ud2b8\uc6cc\ud06c \uad6c\uc131",
"RoleDetail.parameters": "\ub9e4\uac1c \ubcc0\uc218",
"RoleDetail.role": "{roleName} \uc5ed\ud560",
"RoleDetail.saveChanges": "\ubcc0\uacbd\uc0ac\ud56d \uc800\uc7a5",
"RoleDetail.services": "\uc11c\ube44\uc2a4",
"RoleDetail.updatingParameters": "\ud30c\ub77c\ubbf8\ud130\ub97c \uc5c5\ub370\uc774\ud2b8 \uc911...",
"RoleServices.noParameters": "\uc774 \uc139\uc158\uc5d0\uc11c \uad6c\uc131\ud560 \ub9e4\uac1c\ubcc0\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
"RoleServices.selectService": "\uad6c\uc131\ud560 \uc11c\ube44\uc2a4\ub97c \uc120\ud0dd\ud558\uc138\uc694.",
"Roles.loadingDeploymentRoles": "\ubc30\ud3ec \uc5ed\ud560\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"RolesActions.availableRolesNotLoaded": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc5ed\ud560\uc744 \ubd88\ub7ec\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4",
"RolesStep.loadingNodes": "\ub178\ub4dc\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"RolesStep.loadingParameters": "\ub9e4\uac1c\ubcc0\uc218\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...",
"RolesStep.manageRoles": "\uc5ed\ud560 \uad00\ub9ac",
"RolesStep.nodesAvailableToAssign": "\ucd1d \ub178\ub4dc \uc218 {allNodesCount, number}\n(\uc5ed\ud560\uc5d0 \ud560\ub2f9: {totalAssignedNodesCount, number},\n\ud560\ub2f9\uc5d0 \uc0ac\uc6a9 \uac00\ub2a5: {nodesCount, number},\n\ub3d9\uc791 \ud544\uc694: {nodesRequireActionCount, number})",
"SelectAll.deselectAllText": "\ubaa8\ub450 \uc120\ud0dd \ucde8\uc18c",
"SelectAll.selectAllText": "\uc804\uc81c \uc120\ud0dd",
"SelectRolesDialog.loadingAvailableRoles": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc5ed\ud560\uc744 \ubd88\ub7ec\uc624\ub294 \uc911",
"SelectRolesDialog.selectRoles": "\uc5ed\ud560 \uc120\ud0dd",
"SelectRolesForm.cancel": "\ucde8\uc18c",
"SelectRolesForm.primaryRoleValidationError": "\"primary\"\uc640 \"controller\"\ub85c \ud0dc\uadf8\ub41c \ud558\ub098\uc758 \uc5ed\ud560\uc744 \uc120\ud0dd\ud574 \uc8fc\uc2ed\uc2dc\uc624.",
"SelectRolesForm.saveChanges": "\ubcc0\uacbd\uc0ac\ud56d \uc800\uc7a5",
"SelectRolesForm.updatingRoles": "\uc5ed\ud560\uc744 \uc5c5\ub370\uc774\ud2b8 \uc911...",
"StackResources.resourcesTableDescription": "",
"StackResources.title": "",
"StackResourcesTable.loadingResources": "\uc790\uc6d0\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"StackResourcesTable.name": "\uc774\ub984",
"StackResourcesTable.noResourcesAvailable": "\uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub9ac\uc18c\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
"StackResourcesTable.status": "\uc0c1\ud0dc",
"StackResourcesTable.updatedTime": "\uc5c5\ub370\uc774\ud2b8\ub41c \uc2dc\uac04",
"StatusDropdown.debug": "\ub514\ubc84\uadf8",
"TagNodesForm.cancel": "\ucde8\uc18c",
"TagNodesForm.confirm": "\ub178\ub4dc \ud0dc\uadf8",
"TagNodesForm.customProfileDescription": "\ub300\uc2dc\ub97c \uad6c\ubd84\uc790\ub85c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc54c\ud30c\ubcb3 \uc18c\ubb38\uc790\uc640 \uc22b\uc790. \uc608: \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "\uc774 \uac12\uc5d0 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\ub294 \ubb38\uc790\ub97c \uc785\ub825\ud558\uc168\uc2b5\ub2c8\ub2e4.",
"TagNodesForm.customProfileLabel": "\uc0ac\uc6a9\uc790 \uc815\uc758 \ud504\ub85c\ud544",
"TagNodesForm.customProfileOption": "\uc0ac\uc6a9\uc790 \uc815\uc758 \ud504\ub85c\ud544 \uc9c0\uc815",
"TagNodesForm.noProfileOption": "\ud504\ub85c\ud544 \uc5c6\uc74c (Untag)",
"TagNodesForm.selectProfileLabel": "\ud504\ub85c\ud544 \uc120\ud0dd",
"TagNodesModal.title": "\ub178\ub4dc\ub97c \ud504\ub85c\ud544\uc5d0 \ud0dc\uadf8",
"Toolbar.activeFilters": "\ud65c\uc131\ud654 \ub420 filter",
"Toolbar.clearAllActiveFilters": "\ubaa8\ub4e0 filter \uc81c\uac70",
"UndeployProgress.initializingDeployment": "",
"UndeployProgress.initializingUndeploy": "",
"UndeployProgress.resources": "\ub9ac\uc18c\uc2a4",
"UndeployProgress.undeployingPlan": "",
"UndeployProgress.viewInformation": "\uc790\uc138\ud55c \uc815\ubcf4 \ubcf4\uae30",
"UserAuthenticator.authenticating": "\uc778\uc99d\uc911...",
"UserDropdown.logout": "\ub85c\uadf8\uc544\uc6c3",
"ValidationDetail.close": "\ub2eb\uae30",
"ValidationDetail.description": "\uc124\uba85:",
"ValidationDetail.groups": "\uadf8\ub8f9:",
"ValidationDetail.output": "\ucd9c\ub825:",
"ValidationDetail.status": "\uc0c1\ud0dc:",
"ValidationDetail.validationDetail": "Validation \uc138\ubd80 \uc0ac\ud56d",
"ValidationsList.loadingValidations": "Validation\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"ValidationsList.noValidations": "Validation\uc774 \uc5c6\uc2b5\ub2c8\ub2e4",
"ValidationsList.noValidationsMessage": "\uc9c0\uae08 validation \uc911\uc778 \uac83\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.",
"ValidationsList.refresh": "\uac31\uc2e0",
"ValidationsList.validations": "Validations",
"ValidationsToggle.error": "Validation \uc624\ub958",
"ValidationsToggle.failed": "Validation \uc2e4\ud328",
"ValidationsToggle.loadingValidations": "Validation\uc744 \ubd88\ub7ec\uc624\ub294 \uc911...",
"ValidationsToggle.new": "\uc0c8\ub85c\uc6b4 Validation",
"ValidationsToggle.paused": "\uc911\uc9c0\ub41c Validation",
"ValidationsToggle.running": "\uc2e4\ud589 \uc911\uc778 Validation",
"ValidationsToggle.success": "Validation \uc131\uacf5",
"ValidationsToggle.warning": "Validation\uacfc \ud568\uaed8 \uacbd\uace0 \ubc1c\uc0dd",
"ValidationsToolbar.filterStringPlaceholder": "\ud544\ud130 \ucd94\uac00",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "\uadf8\ub8f9",
"ValidationsToolbar.name": "\uc774\ub984",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "\uad6c\uc870:",
"nodeExtendedinfo.bios": "Bios(\ubc14\uc774\uc624\uc2a4)",
"nodeExtendedinfo.driver": "\ub4dc\ub77c\uc774\ubc84:",
"nodeExtendedinfo.interfaceIpAddress": "IP \uc8fc\uc18c",
"nodeExtendedinfo.interfaceMacAddress": "MAC \uc8fc\uc18c",
"nodeExtendedinfo.interfaces": "\uc778\ud130\ud398\uc774\uc2a4:",
"nodeExtendedinfo.kernel": "\ucee4\ub110:",
"nodeExtendedinfo.product": "\uc81c\ud488:",
"nodeExtendedinfo.productName": "\uc774\ub984",
"nodeExtendedinfo.productVendor": "\ubca4\ub354",
"nodeExtendedinfo.productVersion": "\ubc84\uc804",
"nodeExtendedinfo.registered": "\uac00\uc785\ub428:",
"nodeExtendedinfo.rootDisk": "\ub8e8\ud2b8 \ub514\uc2a4\ud06c:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "\ucd5c\ub313\uac12\uc740 {count, number} \uc785\ub2c8\ub2e4. ",
"reduxForm.validations.minValue": "\ucd5c\uc19f\uac12\uc740 {count, number} \uc785\ub2c8\ub2e4.",
"reduxForm.validations.number": "\uac12\uc740 \uc22b\uc790\uc5ec\uc57c \ud569\ub2c8\ub2e4."
}
}

View File

@ -1,392 +0,0 @@
{
"tr-TR": {
"AuthenticatedContent.loadingDeployments": "Uygulamalar Y\u00fckleniyor...",
"ConfigureNetworkStep.editConfigurationLink": "Yap\u0131land\u0131rmay\u0131 D\u00fczenle",
"ConfigurePlanStep.editConfigurationLink": "Yap\u0131land\u0131rmay\u0131 D\u00fczenle",
"ContentView.list": "Liste g\u00f6r\u00fcn\u00fcm\u00fc",
"ContentView.table": "Tablo g\u00f6r\u00fcn\u00fcm\u00fc",
"CurrentPlan.backToAllPlans": "T\u00fcm Planlar",
"CurrentPlan.configureNetworkStepHeader": "",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "",
"CurrentPlan.configureRolesStepHeader": "Rolleri Yap\u0131land\u0131r ve D\u00fc\u011f\u00fcmleri Ata",
"CurrentPlan.configureRolesStepTooltip": "",
"CurrentPlan.deployStepHeader": "Yerle\u015ftir",
"CurrentPlan.deploymentConfigurationStepHeader": "Uygulama Yap\u0131land\u0131rmas\u0131 Belirtin",
"CurrentPlan.deploymentStepTooltip": "",
"CurrentPlan.hardwareStepHeader": "Donan\u0131m Haz\u0131rla",
"CurrentPlan.hardwareStepTooltip": "",
"CurrentPlan.loadingDeploymentStatus": "",
"DataTable.filter": "S\u00fczge\u00e7",
"DataTable.itemsVisibleInTable": "{total} \u00f6ge i\u00e7inden {showing} g\u00f6steriliyor",
"DebugScreen.cancel": "\u0130ptal",
"DebugScreen.debugPageTitle": "Hata ay\u0131klama bilgisi",
"DebugScreen.downloadButton": "Sistem g\u00fcnl\u00fc\u011f\u00fcn\u00fc indir",
"DebugScreen.downloadButtonInProgress": "Sistem g\u00fcnl\u00fc\u011f\u00fc indiriliyor...",
"DebugScreen.downloadLogs": "Sistem g\u00fcnl\u00fc\u011f\u00fcn\u00fc indir",
"DebugScreen.downloadLogsMessage": "\u0130stedi\u011finiz dosya haz\u0131r. L\u00fctfen d\u0131\u015fa aktar\u0131m\u0131 indirmek i\u00e7in a\u015fa\u011f\u0131daki d\u00fc\u011fmeye t\u0131klay\u0131n. D\u00fc\u011fmeye sa\u011f t\u0131klayarak \"Ba\u011flant\u0131y\u0131 farkl\u0131 kaydet...\" demeniz gerekebilir.",
"DebugScreen.downloadingLogsLoader": "Sistem g\u00fcnl\u00fc\u011f\u00fc indiriliyor...",
"DebugScreen.error": "Sistem g\u00fcnl\u00fc\u011f\u00fc indirmede bir hata olu\u015ftu.",
"DebugScreen.gitSha": "",
"DebugScreen.version": "S\u00fcr\u00fcm",
"DeletePlan.cancel": "\u0130ptal",
"DeletePlan.deletePlan": "Plan\u0131 Sil",
"DeletePlan.deletePlanConfirmation": "{planName} plan\u0131n\u0131 silmek istedi\u011finize emin misiniz?",
"DeletePlan.deletePlanName": "{planName}'i Sil",
"DeleteStackButton.deleteConfirmationQuestion": "",
"DeleteStackButton.deleteDeployment": "Uygulamay\u0131 Sil",
"Deploy.deleteInProgress": "Silme s\u00fcr\u00fcyor",
"DeployStep.requestingDeploy": "Uygulama yerle\u015ftirme isteniyor...",
"DeployStep.validateAndDeploy": "Do\u011frula ve Uygula",
"DeploymentConfiguration.deploymentConfiguration": "Uygulama Yap\u0131land\u0131rmas\u0131",
"DeploymentConfiguration.overallSettings": "Genel Ayarlar",
"DeploymentConfiguration.parameters": "Parametreler",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "Mevcut Uygulama Yap\u0131land\u0131rmas\u0131 y\u00fckleniyor...",
"DeploymentConfirmation.deployButton": "Yerle\u015ftir",
"DeploymentConfirmation.deploymentConfirmation": "Bu plan\u0131 uygulamak istedi\u011finize emin misiniz?",
"DeploymentConfirmation.deploymentConfirmationHeader": "{planName} Plan\u0131n\u0131 Uygula",
"DeploymentConfirmation.requestingDeploymentLoader": "Uygulama yerle\u015ftirme isteniyor...",
"DeploymentConfirmation.summary": "\u00d6zet:",
"DeploymentConfirmation.validationsNotificationMessage": "",
"DeploymentConfirmation.validationsNotificationTitle": "",
"DeploymentDetail.close": "Kapat",
"DeploymentDetail.loadingDeploymentStatus": "",
"DeploymentDetail.modalTitle": "Plan {planName} uygulamas\u0131",
"DeploymentFailure.deleteDeployment": "Uygulamay\u0131 Sil",
"DeploymentFailure.moreDetails": "Daha fazla ayr\u0131nt\u0131",
"DeploymentFailure.requestingDeletion": "Uygulaman\u0131n Silinmesi \u0130steniyor",
"DeploymentProgress.cancelDeployment": "Uygulamay\u0131 \u0130ptal Et",
"DeploymentProgress.configuringPlan": "",
"DeploymentProgress.deployingPlan": "",
"DeploymentProgress.initializingDeployment": "",
"DeploymentProgress.requestingDeletion": "Uygulaman\u0131n Silinmesi \u0130steniyor",
"DeploymentProgress.viewInformation": "Ayr\u0131nt\u0131l\u0131 bilgiyi g\u00f6r\u00fcnt\u00fcle",
"DeploymentStatus.createComplete": "Yerle\u015ftirme ba\u015far\u0131l\u0131",
"DeploymentStatus.createFailed": "Uygulama ba\u015far\u0131s\u0131z",
"DeploymentStatus.createInProgress": "Uygulama s\u00fcr\u00fcyor",
"DeploymentStatus.deleteFailed": "Uygulama silme ba\u015far\u0131s\u0131z",
"DeploymentStatus.deployed": "Yerle\u015ftirme ba\u015far\u0131l\u0131",
"DeploymentStatus.deploying": "",
"DeploymentStatus.deploymentFailed": "",
"DeploymentStatus.undeployFailed": "",
"DeploymentStatus.undeployed": "",
"DeploymentStatus.undeploying": "",
"DeploymentStatus.unknown": "",
"DeploymentStatus.updateComplete": "G\u00fcncelleme ba\u015far\u0131l\u0131",
"DeploymentStatus.updateFailed": "G\u00fcncelleme ba\u015far\u0131s\u0131z",
"DeploymentStatus.updateInProgress": "G\u00fcncelleme s\u00fcr\u00fcyor",
"DeploymentSuccess.requestingDeletion": "Uygulaman\u0131n Silinmesi \u0130steniyor",
"DeploymentSuccess.resources": "Kaynaklar",
"DriverFields.ipOrFqdnValidatorMessage": "L\u00fctfen ge\u00e7erli bir IPv4 adresi veya ge\u00e7erli FQDN girin.",
"DriverFields.portValidationMessage": "L\u00fctfen ge\u00e7erli Ba\u011flant\u0131 noktas\u0131 numaras\u0131 girin (0 - 65535)",
"EditPlan.cancel": "\u0130ptal",
"EditPlan.updatePlanNameFiles": "{planName} Dosyalar\u0131n\u0131 G\u00fcncelle",
"EditPlan.updatingPlanLoader": "Plan g\u00fcncelleniyor...",
"EditPlan.uploadAndUpdate": "Dosyalar\u0131 ve G\u00fcncelleme Plan\u0131n\u0131 Y\u00fckle",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "Ortam Yap\u0131land\u0131rmas\u0131 ba\u015far\u0131yla g\u00fcncellendi.",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "Ortam Yap\u0131land\u0131rmas\u0131 g\u00fcncellendi",
"EnvironmentConfigurationForm.cancel": "\u0130ptal",
"EnvironmentConfigurationForm.missingConfiguration": "",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "",
"EnvironmentConfigurationForm.requiredEnvironments": "Bu se\u00e7enek {requiredEnvironments}'\u0131n etkin olmas\u0131n\u0131 gerektirir.",
"EnvironmentConfigurationForm.saveAndClose": "Kaydet ve Kapat",
"EnvironmentConfigurationForm.saveChanges": "De\u011fi\u015fiklikleri Kaydet",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "",
"ExportPlan.close": "Kapat",
"ExportPlan.download": "",
"ExportPlan.downloadMessage": "\u0130stedi\u011finiz plan d\u0131\u015fa aktar\u0131m\u0131 haz\u0131r. L\u00fctfen d\u0131\u015fa aktar\u0131m\u0131 indirmek i\u00e7in a\u015fa\u011f\u0131daki d\u00fc\u011fmeye t\u0131klay\u0131n. D\u00fc\u011fmeye sa\u011f t\u0131klayarak \"Ba\u011flant\u0131y\u0131 farkl\u0131 kaydet...\" demeniz gerekebilir.",
"ExportPlan.error": "Plan d\u0131\u015fa aktar\u0131l\u0131rken bir hata olu\u015ftu",
"ExportPlan.exportPlanName": "D\u0131\u015fa Aktar {planName}",
"ExportPlan.exportingPlanLoader": "Plan d\u0131\u015fa aktar\u0131l\u0131yor...",
"FileList.planFiles": "Plan Dosyalar\u0131",
"HardwareStep.registerNodes": "D\u00fc\u011f\u00fcmleri Kaydet",
"I18nDropdown.language": "Dil",
"ListPlans.importPlan": "Plan\u0131 \u0130\u00e7e Aktar",
"LoggerActions.downloadLogsFailedNotificationTitle": "Sistem g\u00fcnl\u00fc\u011f\u00fc indirme ba\u015far\u0131s\u0131z",
"Login.description": "Bu ara\u00e7 sizi bir OpenStack ortam\u0131 yap\u0131land\u0131rma ve uygulama s\u00fcrecinden ge\u00e7irecek.",
"Login.login": "Giri\u015f Yap",
"Login.password": "Parola",
"Login.passwordRequired": "Parola gerekli.",
"Login.username": "Kullan\u0131c\u0131 ad\u0131",
"Login.usernameRequired": "Kullan\u0131c\u0131 ad\u0131 gerekli.",
"Login.welcome": "Ho\u015fgeldiniz!",
"NavBar.debug": "Hata Ay\u0131klama",
"NavBar.plansTab": "Planlar",
"NavBar.toggleNavigation": "Gezintiyi A\u00e7/Kapa",
"Navbar.nodesTab": "D\u00fc\u011f\u00fcmler",
"NetworkConfiguration.close": "Kapat",
"NetworkConfiguration.loadingData": "",
"NetworkConfiguration.networkConfiguration": "A\u011f Yap\u0131land\u0131rmas\u0131",
"NetworkConfiguration.networkIsolationWarningLink": "",
"NetworkConfiguration.networkIsolationWarningText": "",
"NetworkConfiguration.networkIsolationWarningTitle": "",
"NewPlan.cancel": "\u0130ptal",
"NewPlan.creatingPlanLoader": "Plan olu\u015fturuluyor...",
"NewPlan.importPlan": "Plan\u0131 \u0130\u00e7e Aktar",
"NewPlan.uploadAndCreate": "Dosyalar\u0131 G\u00fcncelle ve Plan Olu\u015ftur",
"NoPlans.importPlan": "Plan\u0131 \u0130\u00e7e Aktar",
"NoPlans.noPlansAvailable": "Kullan\u0131labilir Uygulama Plan\u0131 Yok",
"NoPlans.noPlansAvailableMessage": "Kullan\u0131labilir Uygulama Planlar\u0131 yok. L\u00fctfen \u00f6nce bir tane olu\u015fturun.",
"NodeColumns.cpuArch": "CPU Mimarisi",
"NodeColumns.cpus": "CPU (\u00e7ekirdek)",
"NodeColumns.introspectionStatus": "\u0130\u00e7 G\u00f6zlem Durumu",
"NodeColumns.localGB": "Disk (GB)",
"NodeColumns.macs": "Mac Adresleri",
"NodeColumns.memoryMb": "Haf\u0131za (MB)",
"NodeColumns.name": "\u0130sim",
"NodeColumns.powerState": "G\u00fc\u00e7 Durumu",
"NodeColumns.profile": "Profil",
"NodeColumns.provisionState": "Haz\u0131rl\u0131k Durumu",
"NodeDrive.model": "Model:",
"NodeDrive.notAvailable": "yok",
"NodeDrive.rootDisk": "K\u00f6k Ayg\u0131t",
"NodeDrive.serial": "Seri:",
"NodeDrive.size": "Boyut:",
"NodeDrive.type": "T\u00fcr:",
"NodeDrive.vendor": "\u00dcretici:",
"NodeDrive.wwn": "WWN:",
"NodeDrive.wwnVendorExtension": "WWN \u00dcretici Uzant\u0131s\u0131:",
"NodeDrive.wwnWithExtension": "Uzant\u0131yla WWN:",
"NodeDrives.close": "Kapat",
"NodeDrives.title": "D\u00fc\u011f\u00fcm S\u00fcr\u00fcc\u00fcleri - {nodeId}",
"NodeExtendedInfo.macAddresses": "Mac Adresleri:",
"NodeIntrospectionState.introspectionStateLabel": "\u0130\u00e7 g\u00f6zlem:",
"NodeListItem.Profile": "Profil:",
"NodeListItem.actions.manageDrives": "S\u00fcr\u00fcc\u00fcleri Y\u00f6net",
"NodeListItem.cpuCores": "CPU {cpuCores, plural, one {Core} other {Cores}}",
"NodeListItem.gbDisk": "GB Disk",
"NodeListItem.mbRam": "MB RAM",
"NodeMaintenanceState.maintenanceWarning": "Bak\u0131m",
"NodePowerState.powerOff": "Kapal\u0131",
"NodePowerState.powerOn": "A\u00e7\u0131k",
"NodePowerState.poweringOff": "G\u00fc\u00e7 Kapat\u0131l\u0131yor",
"NodePowerState.poweringOn": "G\u00fc\u00e7 A\u00e7\u0131l\u0131yor",
"NodePowerState.rebooting": "Yeniden ba\u015flat\u0131l\u0131yor",
"NodePowerState.unknownPowerState": "Bilinmiyor",
"NodeProvisionState.provisionStateLabel": "Haz\u0131rl\u0131k Durumu:",
"Nodes.loadingNodes": "D\u00fc\u011f\u00fcmler Y\u00fckleniyor...",
"Nodes.nodes": "D\u00fc\u011f\u00fcmler",
"Nodes.refreshResults": "Tazeleme Sonu\u00e7lar\u0131",
"Nodes.registerNodes": "D\u00fc\u011f\u00fcmleri Kaydet",
"Nodes.registeringNodes": "D\u00fc\u011f\u00fcmler Kaydediliyor...",
"NodesActions.introspectionFailedNotificationTitle": "D\u00fc\u011f\u00fcm G\u00f6zlemi Ba\u015far\u0131s\u0131z",
"NodesActions.introspectionNotificationMessage": "Se\u00e7ili d\u00fc\u011f\u00fcmler ba\u015far\u0131yla g\u00f6zlemlendi.",
"NodesActions.introspectionNotificationTitle": "D\u00fc\u011f\u00fcm G\u00f6zlemi Tamamland\u0131",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "",
"NodesAssignmentForm.cancel": "\u0130ptal",
"NodesAssignmentForm.nodeCountsErrorMessage": "",
"NodesAssignmentForm.nodeCountsErrorTitle": "",
"NodesAssignmentForm.saveChanges": "De\u011fi\u015fiklikleri Kaydet",
"NodesListForm.operationInProgressValidationMessage": "Se\u00e7ili D\u00fc\u011f\u00fcmlerden birinde s\u00fcren bir i\u015flem var",
"NodesListForm.selectNodesValidationMessage": "L\u00fctfen \u00f6nce D\u00fc\u011f\u00fcmleri se\u00e7in",
"NodesTable.loadingNodes": "D\u00fc\u011f\u00fcmler Y\u00fckleniyor...",
"NodesTable.noNodes": "Kullan\u0131labilir D\u00fc\u011f\u00fcm yok.",
"NodesTableView.deleteNodes": "D\u00fc\u011f\u00fcmleri Sil",
"NodesTableView.deleteNodesModalMessage": "Se\u00e7ili d\u00fc\u011f\u00fcmleri silmek istedi\u011finize emin misiniz?",
"NodesTableView.deleteNodesModalTitle": "D\u00fc\u011f\u00fcmleri Sil",
"NodesTableView.introspectNodes": "D\u00fc\u011f\u00fcmleri G\u00f6zle",
"NodesTableView.provideNodes": "D\u00fc\u011f\u00fcmleri Sa\u011flay\u0131n",
"NodesTableView.tagNodes": "D\u00fc\u011f\u00fcmleri Etiketle",
"NodesTables.cpuArch": "CPU Mimarisi",
"NodesTables.cpuCores": "CPU (\u00e7ekirdek)",
"NodesTables.diskGb": "Disk (GB)",
"NodesTables.macAddresses": "MAC Adres(ler)i",
"NodesTables.maintenance": "Bak\u0131m",
"NodesTables.memoryMb": "Haf\u0131za (MB)",
"NodesTables.name": "\u0130sim",
"NodesTables.powerState": "G\u00fc\u00e7 Durumu",
"NodesTables.profile": "Profil",
"NodesTables.provisionState": "Haz\u0131rl\u0131k Durumu",
"NodesToolbar.filterStringPlaceholder": "S\u00fczge\u00e7 ekle",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} / {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "D\u00fc\u011f\u00fcmleri Sil",
"NodesToolbarActions.deleteNodesModalMessage": "Se\u00e7ili d\u00fc\u011f\u00fcmleri silmek istedi\u011finize emin misiniz?",
"NodesToolbarActions.deleteNodesModalTitle": "D\u00fc\u011f\u00fcmleri Sil",
"NodesToolbarActions.disabledButtonsWarning": "\u00d6nce D\u00fc\u011f\u00fcmleri se\u00e7meniz gerekiyor, ya da se\u00e7ili D\u00fc\u011f\u00fcmlerin baz\u0131lar\u0131nda s\u00fcren bir i\u015flem var.",
"NodesToolbarActions.introspectNodes": "D\u00fc\u011f\u00fcmleri G\u00f6zle",
"NodesToolbarActions.manageNodes": "D\u00fc\u011f\u00fcmleri Y\u00f6net",
"NodesToolbarActions.provideNodes": "D\u00fc\u011f\u00fcmleri Sa\u011flay\u0131n",
"NodesToolbarActions.tagNodes": "D\u00fc\u011f\u00fcmleri Etiketle",
"NodesToolbarForm.sortDir": "S\u0131ralama y\u00f6n\u00fc",
"OvercloudInfo.loadingOvercloudInformation": "",
"OvercloudInfo.overcloudInformationHeader": "",
"OvercloudInfo.overcloudIpAddress": "",
"OvercloudInfo.password": "Parola:",
"OvercloudInfo.username": "Kullan\u0131c\u0131 ad\u0131:",
"PXEAndDRACDriverFields.address": "DRAC Sunucusu",
"PXEAndDRACDriverFields.password": "DRAC Parolas\u0131",
"PXEAndDRACDriverFields.port": "DRAC Ba\u011flant\u0131 Noktas\u0131",
"PXEAndDRACDriverFields.user": "DRAC Kullan\u0131c\u0131 ad\u0131",
"PXEAndIPMIToolDriverFields.address": "IPMI IP Adresi veya FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI Parolas\u0131",
"PXEAndIPMIToolDriverFields.port": "IPMI Ba\u011flant\u0131 Noktas\u0131",
"PXEAndIPMIToolDriverFields.user": "IPMI Kullan\u0131c\u0131 ad\u0131",
"ParameterInputList.noParameters": "\u015eu an bu k\u0131s\u0131mda yap\u0131land\u0131r\u0131lacak parametre yok.",
"Parameters.general": "Genel",
"ParametersActions.parametersUpdatedNotficationMessage": "Uygulama parametreleri ba\u015far\u0131yla g\u00fcncellendi.",
"ParametersActions.parametersUpdatedNotficationTitle": "Parametreler g\u00fcncellendi",
"ParametersActions.updateParametersFailed": "",
"ParametersForm.cancel": "\u0130ptal",
"ParametersForm.enterValidJson": "",
"ParametersForm.invalidParameters": "",
"ParametersForm.invalidParametersList": "",
"ParametersForm.saveAndClose": "Kaydet ve Kapat",
"ParametersForm.saveChanges": "De\u011fi\u015fiklikleri Kaydet",
"ParametersForm.updatingParameters": "",
"PlanActions.delete": "Sil",
"PlanActions.edit": "D\u00fczenle",
"PlanActions.export": "D\u0131\u015fa Aktar",
"PlanCard.deletingPlan": "{planName} siliniyor...",
"PlanCard.notDeployed": "Kurulmam\u0131\u015f",
"PlanCard.updatingPlan": "G\u00fcncelleniyor {planName}...",
"PlanEditFormTabs.badExtension": "",
"PlanEditFormTabs.files": "Dosyalar",
"PlanEditFormTabs.planName": "Plan \u0130smi",
"PlanEditFormTabs.updatePlan": "Plan\u0131 G\u00fcncelle",
"PlanEditFormTabs.uploadFiles": "Dosyalar\u0131 G\u00fcncelle",
"PlanEditFormTabs.uploadType": "Y\u00fckleme T\u00fcr\u00fc",
"PlanFormTabs.addPlanName": "Plan \u0130smi Ekle",
"PlanFormTabs.badExtension": "",
"PlanFormTabs.files": "Dosyalar",
"PlanFormTabs.newPlan": "Yeni Plan",
"PlanFormTabs.planFiles": "Plan Dosyalar\u0131",
"PlanFormTabs.planName": "Plan \u0130smi",
"PlanFormTabs.planNameValidationError": "L\u00fctfen yaln\u0131zca alfan\u00fcmerik karakterler ve tireler kullan\u0131n (-).",
"PlanFormTabs.uploadType": "Y\u00fckleme T\u00fcr\u00fc",
"PlanUploadTypeRadios.localFolder": "Yerel Dizin",
"PlanUploadTypeRadios.tarArchive": "",
"PlansActions.exportFailedNotificationTitle": "D\u0131\u015fa Aktar\u0131m Ba\u015far\u0131s\u0131z",
"PlansActions.planCreatedNotificationMessage": "Plan {planName} ba\u015far\u0131yla olu\u015fturuldu.",
"PlansActions.planCreatedNotificationTitle": "Plan olu\u015fturuldu",
"PlansActions.planDeletedNotificationMessage": "Plan {planName} ba\u015far\u0131yla silindi.",
"PlansActions.planDeletedNotificationTitle": "Plan Silindi",
"PlansActions.planUpdateFailedNotificationMessage": "Plan g\u00fcncellemesi ba\u015far\u0131s\u0131z",
"PlansActions.planUpdatedNotificationMessage": "Plan {planName} ba\u015far\u0131yla g\u00fcncellendi.",
"PlansActions.planUpdatedNotificationTitle": "Plan G\u00fcncellendi",
"PlansList.importPlan": "Plan\u0131 \u0130\u00e7e Aktar",
"PlansList.plans": "Planlar",
"RegisterNodeForm.General": "Genel",
"RegisterNodeForm.architecture": "Mimari",
"RegisterNodeForm.cpuCount": "CPU say\u0131s\u0131",
"RegisterNodeForm.diskGb": "Disk (GB)",
"RegisterNodeForm.driver": "S\u00fcr\u00fcc\u00fc",
"RegisterNodeForm.enterValidMacAddress": "",
"RegisterNodeForm.hardware": "Donan\u0131m",
"RegisterNodeForm.macAddressesDescription": "Birden fazla MAC Adresi belirtiyorsan\u0131z, l\u00fctfen virg\u00fclle ayr\u0131lm\u0131\u015f bir liste girin. (\u00f6rn. aa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra)",
"RegisterNodeForm.management": "Y\u00f6netim",
"RegisterNodeForm.memoryMb": "Haf\u0131za (MB)",
"RegisterNodeForm.name": "\u0130sim",
"RegisterNodeForm.networking": "A\u011f",
"RegisterNodeForm.nicMacAddresses": "NIC MAC Adresi",
"RegisterNodeForm.nodeDetail": "D\u00fc\u011f\u00fcm Ayr\u0131nt\u0131lar\u0131",
"RegisterNodeForm.nodeNameMaxLength": "D\u00fc\u011f\u00fcm ismi 255 karaktere kadar olabilir.",
"RegisterNodeForm.nodeNameRegexp": "\u0130sim yaln\u0131zca RFC3986 ayr\u0131lmam\u0131\u015f karakterlerinden olu\u015fabilir: alfan\u00fcmerik, tire (-), nokta (.), alt\u00e7izgi (_) ve yakla\u015f\u0131k (~) karakterleri.",
"RegisterNodesActions.registrationNotificationMessage": "D\u00fc\u011f\u00fcmler ba\u015far\u0131yla kaydedildi.",
"RegisterNodesActions.registrationNotificationTitle": "D\u00fc\u011f\u00fcm Kayd\u0131 Tamamland\u0131",
"RegisterNodesDialog.addANodeManually": "Elle bir d\u00fc\u011f\u00fcm ekle ya da d\u00fc\u011f\u00fcmleri dosyadan y\u00fckle.",
"RegisterNodesDialog.addNew": "Yeni Ekle",
"RegisterNodesDialog.cancel": "\u0130ptal",
"RegisterNodesDialog.csvUnsupported": "CSV Y\u00fckleme Desteklenmiyor",
"RegisterNodesDialog.invalidJson": "Ge\u00e7ersiz JSON",
"RegisterNodesDialog.noNodesToRegister": "\"Kaydedilecek D\u00fc\u011f\u00fcm Yok\"",
"RegisterNodesDialog.or": "veya",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "L\u00fctfen bir CSV dosyas\u0131 veya instackenv.json sa\u011flay\u0131n.",
"RegisterNodesDialog.registerNodes": "D\u00fc\u011f\u00fcmleri Kaydet",
"RegisterNodesDialog.registeringNodes": "D\u00fc\u011f\u00fcmler Kaydediliyor...",
"RegisterNodesDialog.selectedFileUnsupported": "Se\u00e7ili dosya bi\u00e7imi hen\u00fcz desteklenmiyor.",
"RegisterNodesDialog.undefinedNode": "Tan\u0131mlanmam\u0131\u015f D\u00fc\u011f\u00fcm",
"RegisterNodesDialog.unsupportedFileFormat": "Desteklenmeyen Dosya Bi\u00e7imi",
"RegisterNodesDialog.uploadFromFile": "Dosyadan Y\u00fckle",
"RoleCard.assignNodes": "D\u00fc\u011f\u00fcmleri Ata",
"RoleCard.availableNodesCount": "{count, number} tanede",
"RoleCard.nodesAssigned": "D\u00fc\u011f\u00fcmler atand\u0131",
"RoleDetail.cancel": "\u0130ptal",
"RoleDetail.loadingParameters": "Parametreler y\u00fckleniyor...",
"RoleDetail.networkConfiguration": "A\u011f Yap\u0131land\u0131rmas\u0131",
"RoleDetail.parameters": "Parametreler",
"RoleDetail.role": "{roleName} Rol\u00fc",
"RoleDetail.saveChanges": "De\u011fi\u015fiklikleri Kaydet",
"RoleDetail.services": "Servisler",
"RoleDetail.updatingParameters": "",
"RoleServices.noParameters": "\u015eu an bu k\u0131s\u0131mda yap\u0131land\u0131r\u0131lacak parametre yok.",
"RoleServices.selectService": "L\u00fctfen yap\u0131land\u0131r\u0131lacak servisi se\u00e7in.",
"Roles.loadingDeploymentRoles": "Uygulama Rolleri Y\u00fckleniyor...",
"RolesActions.availableRolesNotLoaded": "",
"RolesActions.fetchNetworksFailed": "",
"RolesStep.loadingNodes": "D\u00fc\u011f\u00fcmler Y\u00fckleniyor...",
"RolesStep.loadingParameters": "Parametreler Y\u00fckleniyor...",
"RolesStep.manageRoles": "",
"RolesStep.nodesAvailableToAssign": "",
"SelectAll.deselectAllText": "Hi\u00e7birini Se\u00e7me",
"SelectAll.selectAllText": "T\u00fcm\u00fcn\u00fc Se\u00e7",
"SelectRolesDialog.loadingAvailableRoles": "",
"SelectRolesDialog.selectRoles": "",
"SelectRolesForm.cancel": "\u0130ptal",
"SelectRolesForm.primaryRoleValidationError": "",
"SelectRolesForm.saveChanges": "De\u011fi\u015fiklikleri Kaydet",
"SelectRolesForm.updatingRoles": "",
"StackResourcesTable.loadingResources": "Kaynaklar Y\u00fckleniyor...",
"StackResourcesTable.name": "\u0130sim",
"StackResourcesTable.noResourcesAvailable": "Kullan\u0131labilir Kaynak yok.",
"StackResourcesTable.status": "Durum",
"StackResourcesTable.updatedTime": "G\u00fcncelleme Zaman\u0131",
"StatusDropdown.debug": "Hata Ay\u0131klama",
"TagNodesForm.cancel": "\u0130ptal",
"TagNodesForm.confirm": "D\u00fc\u011f\u00fcmleri Etiketle",
"TagNodesForm.customProfileDescription": "",
"TagNodesForm.customProfileErrorMessage": "",
"TagNodesForm.customProfileLabel": "\u00d6zel Profil",
"TagNodesForm.customProfileOption": "\u00d6zel Profil Belirtin",
"TagNodesForm.noProfileOption": "Profil Yok (Etiketi Kald\u0131r)",
"TagNodesForm.selectProfileLabel": "Profil Se\u00e7in",
"TagNodesModal.title": "D\u00fc\u011f\u00fcmleri Profillere Etiketle",
"Toolbar.activeFilters": "Etkin S\u00fczge\u00e7ler:",
"Toolbar.clearAllActiveFilters": "T\u00fcm S\u00fczge\u00e7leri Temizle",
"UserAuthenticator.authenticating": "Kimlik do\u011frulamas\u0131 yap\u0131l\u0131yor...",
"UserDropdown.logout": "",
"ValidationDetail.close": "Kapat",
"ValidationDetail.description": "Tan\u0131m:",
"ValidationDetail.groups": "Gruplar:",
"ValidationDetail.output": "\u00c7\u0131kt\u0131:",
"ValidationDetail.status": "Durum:",
"ValidationDetail.validationDetail": "Do\u011frulama Ayr\u0131nt\u0131s\u0131",
"ValidationsList.loadingValidations": "Do\u011frulamalar Y\u00fckleniyor...",
"ValidationsList.noValidations": "Do\u011frulama Yok",
"ValidationsList.noValidationsMessage": "\u015eu an do\u011frulama yok.",
"ValidationsList.refresh": "Tazele",
"ValidationsList.validations": "Do\u011frulamalar",
"ValidationsToggle.error": "",
"ValidationsToggle.failed": "",
"ValidationsToggle.loadingValidations": "Do\u011frulamalar Y\u00fckleniyor...",
"ValidationsToggle.new": "",
"ValidationsToggle.paused": "",
"ValidationsToggle.running": "",
"ValidationsToggle.success": "",
"ValidationsToggle.warning": "",
"ValidationsToolbar.filterStringPlaceholder": "S\u00fczge\u00e7 ekle",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} / {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "Grup",
"ValidationsToolbar.name": "\u0130sim",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "Mimari:",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "S\u00fcr\u00fcc\u00fc:",
"nodeExtendedinfo.interfaceIpAddress": "IP Adresi",
"nodeExtendedinfo.interfaceMacAddress": "MAC Adresi",
"nodeExtendedinfo.interfaces": "Aray\u00fczler:",
"nodeExtendedinfo.kernel": "\u00c7ekirdek:",
"nodeExtendedinfo.product": "\u00dcr\u00fcn:",
"nodeExtendedinfo.productName": "\u0130sim",
"nodeExtendedinfo.productVendor": "\u00dcretici",
"nodeExtendedinfo.productVersion": "S\u00fcr\u00fcm",
"nodeExtendedinfo.registered": "Kay\u0131tl\u0131:",
"nodeExtendedinfo.rootDisk": "K\u00f6k Disk:",
"nodeExtendedinfo.uuid": "UUID:",
"reduxForm.validations.maxValue": "",
"reduxForm.validations.minValue": "",
"reduxForm.validations.number": "De\u011ferin bir say\u0131 olmas\u0131 gerekiyor."
}
}

View File

@ -1,484 +0,0 @@
{
"zh-CN": {
"AuthenticatedContent.loadingDeployments": "\u6b63\u5728\u52a0\u8f7d\u90e8\u7f72 ...",
"AvailableRoleDetailDialog.close": "\u5173\u95ed",
"AvailableRoleDetailDialog.descriptionLabel": "\u63cf\u8ff0\uff1a",
"AvailableRoleDetailDialog.dialogTitle": "",
"AvailableRoleDetailDialog.disable": "",
"AvailableRoleDetailDialog.enable": "",
"AvailableRoleDetailDialog.networksLabel": "",
"AvailableRoleDetailDialog.servicesLabel": "",
"AvailableRoleDetailDialog.tagsLabel": "",
"ConfigureContainerImagesStep.editConfigurationLink": "\u7f16\u8f91\u914d\u7f6e",
"ConfigureContainerImagesStep.loadingImagesConfiguration": "",
"ConfigureNetworkStep.editConfigurationLink": "\u7f16\u8f91\u914d\u7f6e",
"ConfigurePlanStep.editConfigurationLink": "\u7f16\u8f91\u914d\u7f6e",
"ContainerImagePrepareParameterForm.updatingConfiguration": "\u66f4\u65b0\u914d\u7f6e...",
"ContainerImagePrepareParameterForm.yamlSyntaxError": "",
"ContainerImagePrepareParameterFormActions.back": "",
"ContainerImagePrepareParameterFormActions.close": "\u5173\u95ed",
"ContainerImagePrepareParameterFormActions.save": "\u4fdd\u5b58\u53d8\u66f4",
"ContainerImagesActions.configureImagesFailed": "",
"ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet": "",
"ContainerImagesConfigurationSummary.namespaceLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationLabel": "",
"ContainerImagesConfigurationSummary.pushDestinationUndercloud": "",
"ContainerImagesConfigurationSummary.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.generatingConfiguration": "",
"ContainerImagesPrepareForm.namePrefixDescription": "",
"ContainerImagesPrepareForm.namePrefixLabel": "",
"ContainerImagesPrepareForm.nameSuffixDescription": "",
"ContainerImagesPrepareForm.nameSuffixLabel": "",
"ContainerImagesPrepareForm.namespaceDescription": "",
"ContainerImagesPrepareForm.namespaceInvalid": "",
"ContainerImagesPrepareForm.namespaceLabel": "",
"ContainerImagesPrepareForm.pushDestinationDescription": "",
"ContainerImagesPrepareForm.pushDestinationLabel": "",
"ContainerImagesPrepareForm.pushDestinationUndercloud": "",
"ContainerImagesPrepareForm.pushDestinationValidationMessage": "",
"ContainerImagesPrepareForm.tagDescription": "",
"ContainerImagesPrepareForm.tagFromLabelDescription": "",
"ContainerImagesPrepareForm.tagFromLabelLabel": "",
"ContainerImagesPrepareForm.tagLabel": "",
"ContainerImagesPrepareFormActions.next": "",
"ContainerImagesPrepareFormActions.reset": "",
"ContainerImagesPrepareFormActions.save": "\u4fdd\u5b58\u53d8\u66f4",
"ContainerImagesWizard.cancel": "\u53d6\u6d88",
"ContainerImagesWizard.configureImages": "",
"ContainerImagesWizard.loadingData": "",
"ContainerImagesWizard.review": "",
"ContainerImagesWizard.title": "",
"ContentView.list": "\u5217\u8868\u89c6\u56fe",
"ContentView.table": "\u8868\u89c6\u56fe",
"CurrentPlan.backToAllPlans": "\u6240\u6709\u8ba1\u5212",
"CurrentPlan.configureContainerImagesStepHeader": "",
"CurrentPlan.configureContainerImagesStepTooltip": "",
"CurrentPlan.configureNetworkStepHeader": "\u914d\u7f6e\u7f51\u7edc",
"CurrentPlan.configureNetworkStepTooltip": "",
"CurrentPlan.configurePlanStepTooltip": "\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e00\u6b65\u6765\u7f16\u8f91 overcloud \u7684\u7f51\u7edc\u3001\u5b58\u50a8\u548c\u5176\u5b83\u8ba4\u8bc1\u63d2\u4ef6\u7684\u7279\u5b9a\u8bbe\u7f6e\u3002\u4f7f\u7528\u8fd9\u4e00\u6b65\u5b9a\u4e49\u60a8\u7684\u7f51\u7edc\u9694\u79bb\u914d\u7f6e\u548c\u540e\u7aef\u5b58\u50a8\u8bbe\u7f6e\u3002",
"CurrentPlan.configureRolesStepHeader": "\u914d\u7f6e\u89d2\u8272\u548c\u5206\u914d\u8282\u70b9",
"CurrentPlan.configureRolesStepTooltip": "\u5728\u6bcf\u4e2a\u8282\u70b9\u7684\u9009\u62e9\u5bf9\u8bdd\u6846\u4e2d\uff0c\u60a8\u53ef\u4ee5\u628a\u6709\u6548\u8282\u70b9\u6807\u8bb0\u4e3a\u7279\u5b9a\u89d2\u8272\uff0c\u6216\u4e3a\u5df2\u5206\u914d\u89d2\u8272\u7684\u8282\u70b9\u53d6\u6d88\u76f8\u5173\u8282\u70b9\u6807\u8bb0\u3002\u60a8\u4e5f\u53ef\u4ee5\u5728\u8fd9\u4e00\u6b65\u4e2d\u81ea\u5b9a\u4e49\u4e0e\u8282\u70b9\u76f8\u5173\u7684\u8bbe\u7f6e\u3002\u70b9\u6bcf\u4e2a\u89d2\u8272\u53f3\u4e0a\u9762\u7684\u56fe\u6807\u53ef\u4ee5\u67e5\u770b\u4e0e\u8fd9\u4e2a\u89d2\u8272\u76f8\u5173\u7684\u8bbe\u7f6e\u3002",
"CurrentPlan.deployStepHeader": "\u90e8\u7f72",
"CurrentPlan.deploymentConfigurationStepHeader": "\u6307\u5b9a\u90e8\u7f72\u914d\u7f6e",
"CurrentPlan.deploymentStepTooltip": "\u8fd9\u4e00\u6b65\u6267\u884c overcloud \u7684\u90e8\u7f72\u64cd\u4f5c\u3002\u5f53\u90e8\u7f72\u5f00\u59cb\u540e\uff0c\u53ef\u4ee5\u8ddf\u8e2a\u76f8\u5173\u7684\u8fdb\u7a0b\uff0c\u5e76\u63d0\u4f9b\u6bcf\u4e2a\u5df2\u5b8c\u6210\u3001\u6b63\u5728\u8fd0\u884c\uff0c\u6216\u5df2\u5931\u8d25\u6b65\u9aa4\u7684\u62a5\u544a\u3002",
"CurrentPlan.hardwareStepHeader": "\u51c6\u5907\u786c\u4ef6",
"CurrentPlan.hardwareStepTooltip": "\u8fd9\u6ce8\u518c\u7684\u8fc7\u7a0b\u5305\u62ec\u5b9a\u4e49\u6bcf\u4e2a\u8282\u70b9\u7684\u7535\u6e90\u7ba1\u7406\u8be6\u60c5\uff0c\u8fd9\u6837\u5e94\u7528\u7a0b\u5e8f\u5c31\u53ef\u4ee5\u5728\u5185\u7701\u548c\u7f6e\u5907\u9636\u6bb5\u5bf9\u5b83\u4eec\u8fdb\u884c\u63a7\u5236\u3002\u5185\u7701\u64cd\u4f5c\u4f1a\u8bc6\u522b\u6bcf\u4e2a\u8282\u70b9\u6240\u4f7f\u7528\u7684\u786c\u4ef6\uff0c\u5e76\u4e3a\u6bcf\u4e2a\u786c\u4ef6\u521b\u5efa\u4e00\u4e2a\u6863\u6848\u3002",
"CurrentPlan.loadingDeploymentStatus": "\u52a0\u8f7d\u90e8\u7f72\u72b6\u6001",
"DataTable.filter": "\u8fc7\u6ee4",
"DataTable.itemsVisibleInTable": "\u663e\u793a {showing} \u4e2a\u9879\uff0c\u5171 {total} \u4e2a\u9879",
"DebugScreen.cancel": "\u53d6\u6d88",
"DebugScreen.debugPageTitle": "\u8c03\u8bd5\u4fe1\u606f",
"DebugScreen.downloadButton": "\u4e0b\u8f7d\u65e5\u5fd7",
"DebugScreen.downloadButtonInProgress": "\u6b63\u5728\u4e0b\u8f7d\u65e5\u5fd7",
"DebugScreen.downloadLogs": "\u4e0b\u8f7d\u65e5\u5fd7",
"DebugScreen.downloadLogsMessage": "\u60a8\u8bf7\u6c42\u7684\u8ba1\u5212\u5df2\u7ecf\u5c31\u7eea\u3002\u8bf7\u70b9\u51fb\u4e0b\u9762\u7684\u6309\u94ae\u4e0b\u8f7d\u8be5\u5bfc\u51fa\u3002\u4f60\u9700\u8981\u70b9\u51fb\u53f3\u952e\uff0c\u5e76\u9009\u62e9\u201c\u4fdd\u5b58\u94fe\u63a5\u4e3a...\u201d\u3002",
"DebugScreen.downloadingLogsLoader": "\u6b63\u5728\u4e0b\u8f7d\u65e5\u5fd7",
"DebugScreen.error": "\u5728\u51c6\u5907\u65e5\u5fd7\u4e0b\u8f7d\u65f6\u51fa\u73b0\u4e00\u4e2a\u9519\u8bef\u3002",
"DebugScreen.gitSha": "Git Sha",
"DebugScreen.version": "\u7248\u672c",
"DeleteDeploymentButton.cancel": "\u53d6\u6d88",
"DeleteDeploymentButton.deleteConfirmationQuestion": "\u60a8\u786e\u5b9a\u8981\u5220\u9664\u8fd9\u4e2a\u90e8\u7f72\u5417\uff1f",
"DeleteDeploymentButton.deleteDeployment": "\u5220\u9664\u90e8\u7f72",
"DeleteDeploymentButton.requestingDeletion": "\u8bf7\u6c42\u5220\u9664\u90e8\u7f72",
"DeletePlan.cancel": "\u53d6\u6d88",
"DeletePlan.deletePlan": "\u5220\u9664\u8ba1\u5212",
"DeletePlan.deletePlanConfirmation": "\u60a8\u786e\u5b9a\u8981\u5220\u9664\u8ba1\u5212 {planName} \u5417\uff1f",
"DeletePlan.deletePlanName": "\u5220\u9664 {planName}",
"Deploy.deleteInProgress": "\u5220\u9664\u8fdb\u884c\u4e2d",
"DeployStep.requestingDeploy": "\u6b63\u5728\u8bf7\u6c42\u4e00\u4e2a\u90e8\u7f72 ...",
"DeployStep.validateAndDeploy": "\u9a8c\u8bc1\u5e76\u90e8\u7f72",
"DeploymentConfiguration.deploymentConfiguration": "\u90e8\u7f72\u914d\u7f6e",
"DeploymentConfiguration.overallSettings": "\u6574\u4f53\u8bbe\u7f6e",
"DeploymentConfiguration.parameters": "\u53c2\u6570",
"DeploymentConfigurationSummary.loadingCurrentConfiguration": "\u6b63\u5728\u52a0\u8f7d\u5f53\u524d\u7684\u90e8\u7f72\u914d\u7f6e ...",
"DeploymentConfirmation.deployButton": "\u90e8\u7f72",
"DeploymentConfirmation.deploymentConfirmation": "\u60a8\u786e\u5b9a\u8981\u90e8\u7f72\u8fd9\u4e2a\u8ba1\u5212\u5417\uff1f",
"DeploymentConfirmation.deploymentConfirmationHeader": "\u90e8\u7f72\u8ba1\u5212 {planName}",
"DeploymentConfirmation.requestingDeploymentLoader": "\u6b63\u5728\u8bf7\u6c42\u4e00\u4e2a\u90e8\u7f72 ...",
"DeploymentConfirmation.summary": "\u6982\u8981\uff1a",
"DeploymentConfirmation.validationsNotificationMessage": "\u63a8\u8350\u5728\u8fd9\u4e9b\u9a8c\u8bc1\u5df2\u8fd0\u884c\u5b8c\u6210\u5e76\u89e3\u51b3\u4e86\u6240\u6709\u9519\u8bef\u540e\uff0c\u518d\u7ee7\u7eed\u8fdb\u884c\u90e8\u7f72\u3002",
"DeploymentConfirmation.validationsNotificationTitle": "\u9884\u90e8\u7f72\u9a8c\u8bc1\u5df2\u81ea\u52a8\u5f00\u59cb\u3002",
"DeploymentDetail.close": "\u5173\u95ed",
"DeploymentDetail.loadingDeploymentStatus": "\u52a0\u8f7d\u90e8\u7f72\u72b6\u6001",
"DeploymentDetail.modalTitle": "\u8ba1\u5212 {planName} \u90e8\u7f72",
"DeploymentFailure.deleteDeployment": "\u5220\u9664\u90e8\u7f72",
"DeploymentFailure.fetchingStack": "\u6b63\u5728\u52a0\u8f7d\u90e8\u7f72\u4fe1\u606f...",
"DeploymentFailure.moreDetails": "\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f",
"DeploymentFailure.requestingDeletion": "\u8bf7\u6c42\u5220\u9664\u90e8\u7f72",
"DeploymentFailures.failuresTableDescription": "",
"DeploymentFailures.loadingDeploymentFailures": "\u52a0\u8f7d\u5931\u8d25",
"DeploymentFailures.noDeploymentFailures": "\u6ca1\u6709\u8981\u663e\u793a\u7684\u90e8\u7f72\u5931\u8d25\u4fe1\u606f",
"DeploymentFailures.nodeTableColumnLabel": "\u8282\u70b9",
"DeploymentFailures.outputsTableColumnLabel": "\u8f93\u51fa",
"DeploymentFailures.taskTableColumnLabel": "\u4efb\u52a1",
"DeploymentFailures.title": "",
"DeploymentFailures.viewDetails": "\u67e5\u770b\u8be6\u60c5",
"DeploymentProgress.configuringPlan": "\u914d\u7f6e {planName} \u90e8\u7f72",
"DeploymentProgress.deployingPlan": "",
"DeploymentProgress.initializingDeployment": "\u542f\u52a8 {planName} \u8ba1\u5212\u90e8\u7f72",
"DeploymentProgress.viewInformation": "\u67e5\u770b\u9a8c\u8bc1\u8be6\u60c5",
"DeploymentStatus.createComplete": "\u90e8\u7f72\u6210\u529f",
"DeploymentStatus.createFailed": "\u90e8\u7f72\u5931\u8d25",
"DeploymentStatus.createInProgress": "\u90e8\u7f72\u8fdb\u884c\u4e2d",
"DeploymentStatus.deleteFailed": "\u90e8\u7f72\u5220\u9664\u5931\u8d25",
"DeploymentStatus.deployed": "\u90e8\u7f72\u6210\u529f",
"DeploymentStatus.deploying": "",
"DeploymentStatus.deploymentFailed": "",
"DeploymentStatus.undeployFailed": "\u53d6\u6d88\u90e8\u7f72\u5931\u8d25",
"DeploymentStatus.undeployed": "",
"DeploymentStatus.undeploying": "",
"DeploymentStatus.unknown": "\u8ba1\u5212 {planName} \u7684\u90e8\u7f72\u72b6\u6001\u65e0\u6cd5\u88ab\u52a0\u8f7d",
"DeploymentStatus.updateComplete": "\u66f4\u65b0\u6210\u529f",
"DeploymentStatus.updateFailed": "\u66f4\u65b0\u5931\u8d25",
"DeploymentStatus.updateInProgress": "\u66f4\u65b0\u8fdb\u884c\u4e2d",
"DeploymentStatusShort.deployed": "\u90e8\u7f72\u6210\u529f",
"DeploymentStatusShort.deploying": "\u90e8\u7f72\u8fdb\u884c\u4e2d",
"DeploymentStatusShort.deploymentFailed": "\u90e8\u7f72\u5931\u8d25",
"DeploymentStatusShort.undeployFailed": "\u53d6\u6d88\u90e8\u7f72\u5931\u8d25",
"DeploymentStatusShort.undeployed": "\u672a\u90e8\u7f72",
"DeploymentStatusShort.undeploying": "",
"DeploymentStatusShort.unknown": "",
"DeploymentSuccess.resources": "\u8d44\u6e90",
"DriverFields.ipOrFqdnValidatorMessage": "\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 IPv4 \u5730\u5740\u6216\u4e00\u4e2a\u6709\u6548\u7684 FQDN\u3002",
"DriverFields.portValidationMessage": "\u8bf7\u8f93\u5165\u6709\u6548\u7aef\u53e3\u6570\u5b57(0 - 65535)",
"EditPlan.cancel": "\u53d6\u6d88",
"EditPlan.editPlan": "\u7f16\u8f91 {planName} \u8ba1\u5212",
"EditPlan.updatingDeploymentPlan": "\u6b63\u5728\u66f4\u65b0\u8ba1\u5212 ...",
"EditPlan.uploadAndUpdate": "\u4e0a\u4f20\u6587\u4ef6\u5e76\u66f4\u65b0\u8ba1\u5212",
"EditPlanFieldsTab.directoryInputDescription": "\u63d0\u4f9b\u60a8\u9700\u8981\u66f4\u65b0\u7684\u6587\u4ef6\u76ee\u5f55\uff0c\u8fd9\u4e2a\u76ee\u5f55\u7ed3\u6784\u9700\u8981\u548c\u8ba1\u5212\u7684\u76ee\u5f55\u7ed3\u6784\u76f8\u5339\u914d\u3002",
"EditPlanFieldsTab.planFiles": "\u8ba1\u5212\u6587\u4ef6",
"EditPlanFieldsTab.planName": "\u8ba1\u5212\u540d",
"EditPlanForm.cancel": "\u53d6\u6d88",
"EditPlanFormTabs.files": "\u6587\u4ef6",
"EditPlanFormTabs.updatePlan": "\u66f4\u65b0\u8ba1\u5212",
"EnvironmentConfiguration.loadingEnvironmentConfiguration": "\u6b63\u5728\u52a0\u8f7d\u90e8\u7f72\u914d\u7f6e ...",
"EnvironmentConfigurationActions.configurationNotUpdatedError": "\u90e8\u7f72\u914d\u7f6e\u65e0\u6cd5\u66f4\u65b0",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationMessage": "\u73af\u5883\u914d\u7f6e\u5df2\u88ab\u6210\u529f\u66f4\u65b0\u3002",
"EnvironmentConfigurationActions.envConfigUpdatedNotificationTitle": "\u73af\u5883\u914d\u7f6e\u88ab\u66f4\u65b0",
"EnvironmentConfigurationForm.cancel": "\u53d6\u6d88",
"EnvironmentConfigurationForm.missingConfiguration": "\u7f3a\u5c11\u914d\u7f6e",
"EnvironmentConfigurationForm.requiredEnvironmentGlobalError": "\u9009\u62e9\u7684\u9009\u9879\u4f9d\u8d56\u4e8e\u5176\u5b83\u8fd8\u6ca1\u6709\u542f\u7528\u7684\u9009\u9879",
"EnvironmentConfigurationForm.requiredEnvironments": "\u8fd9\u4e2a\u9009\u9879\u9700\u8981 {requiredEnvironments} \u88ab\u542f\u7528\u3002",
"EnvironmentConfigurationForm.saveAndClose": "\u4fdd\u5b58\u5e76\u5173\u95ed",
"EnvironmentConfigurationForm.saveChanges": "\u4fdd\u5b58\u53d8\u66f4",
"EnvironmentConfigurationForm.updatingEnvironmentConfiguration": "\u66f4\u65b0\u73af\u5883\u914d\u7f6e",
"ExportPlan.close": "\u5173\u95ed",
"ExportPlan.download": "\u4e0b\u8f7d",
"ExportPlan.downloadMessage": "\u4f60\u8bf7\u6c42\u7684\u5bfc\u51fa\u8ba1\u5212\u5df2\u7ecf\u5c31\u7eea\u3002\u8bf7\u70b9\u51fb\u4e0b\u9762\u7684\u6309\u94ae\u4e0b\u8f7d\u8be5\u5bfc\u51fa\u3002\u4f60\u9700\u8981\u70b9\u51fb\u53f3\u952e\uff0c\u5e76\u9009\u62e9\u201c\u4fdd\u5b58\u94fe\u63a5\u4e3a...\u201d\u3002",
"ExportPlan.error": "\u5bfc\u51fa\u8ba1\u5212\u65f6\u53d1\u751f\u9519\u8bef",
"ExportPlan.exportPlanName": "\u5bfc\u51fa{planName}",
"ExportPlan.exportingPlanLoader": "\u5bfc\u51fa\u8ba1\u5212......",
"FileList.planFiles": "\u8ba1\u5212\u6587\u4ef6",
"HardwareStep.registerNodes": "\u6ce8\u518c\u8282\u70b9",
"HorizontalDirectoryInput.filesReady": "{filesCount} \u6587\u4ef6",
"HorizontalDirectoryInput.noFilesValidationError": "\u63d0\u4f9b\u90e8\u7f72\u8ba1\u5212\u6587\u4ef6\u7684\u76ee\u5f55",
"HorizontalDirectoryInput.readingFiles": "\u8bfb\u6587\u4ef6... {progress}%",
"HorizontalDirectoryInput.unreadableFilesValidationError": "\u4e00\u4e9b\u6587\u4ef6\u4e0d\u80fd\u88ab\u8bfb\u53d6: {files}",
"I18nDropdown.language": "\u8bed\u8a00",
"ListPlans.importPlan": "\u5bfc\u5165\u8ba1\u5212",
"LoggerActions.downloadLogsFailedNotificationTitle": "\u4e0b\u8f7d\u65e5\u5fd7\u5931\u8d25",
"Login.description": "\u8fd9\u4e2a\u5de5\u5177\u4f1a\u534f\u52a9\u60a8\u6267\u884c\u914d\u7f6e\u548c\u90e8\u7f72\u4e00\u4e2a OpenStack \u73af\u5883\u7684\u6240\u6709\u6b65\u9aa4\u3002",
"Login.login": "\u767b\u5f55",
"Login.password": "\u5bc6\u7801",
"Login.passwordRequired": "\u9700\u8981\u5bc6\u7801\u3002",
"Login.username": "\u7528\u6237\u540d",
"Login.usernameRequired": "\u9700\u8981\u7528\u6237\u540d\u3002",
"Login.welcome": "\u6b22\u8fce\uff01",
"NavBar.debug": "\u8c03\u8bd5",
"NavBar.plansTab": "\u8ba1\u5212",
"NavBar.toggleNavigation": "\u5207\u6362\u5bfc\u822a",
"Navbar.nodesTab": "\u8282\u70b9",
"NetworkConfiguration.close": "\u5173\u95ed",
"NetworkConfiguration.loadingData": "\u52a0\u8f7d\u6570\u636e...",
"NetworkConfiguration.networkConfiguration": "\u7f51\u7edc\u914d\u7f6e",
"NetworkConfiguration.networkIsolationWarningLink": "",
"NetworkConfiguration.networkIsolationWarningText": "{enableNetworkIsolationLink} \u6765\u4f7f\u7528\u8fd9\u4e9b\u7f51\u7edc\u3002",
"NetworkConfiguration.networkIsolationWarningTitle": "\u4e00\u4e9b\u7f51\u7edc\u4e0d\u53ef\u7528\u3002",
"NetworksActions.fetchNetworksFailed": "\u7f51\u7edc\u65e0\u6cd5\u88ab\u52a0\u8f7d",
"NewPlan.importPlan": "\u5bfc\u5165\u8ba1\u5212",
"NewPlan.uploadAndCreate": "\u4e0a\u4f20\u6587\u4ef6\u5e76\u521b\u5efa\u8ba1\u5212",
"NewPlanForm.cancel": "\u53d6\u6d88",
"NewPlanForm.creatingDeploymentPlan": "\u521b\u5efa\u90e8\u7f72\u8ba1\u5212...",
"NoPlans.importPlan": "\u5bfc\u5165\u8ba1\u5212",
"NoPlans.noPlansAvailable": "\u6ca1\u6709\u53ef\u7528\u7684\u90e8\u7f72\u8ba1\u5212",
"NoPlans.noPlansAvailableMessage": "\u6ca1\u6709\u53ef\u7528\u7684\u90e8\u7f72\u8ba1\u5212\u3002\u8bf7\u5148\u521b\u5efa\u4e00\u4e2a\u3002",
"NodeColumns.cpuArch": "CPU \u67b6\u6784",
"NodeColumns.cpus": "CPU (\u5185\u6838)",
"NodeColumns.introspectionStatus": "\u5185\u7701\u72b6\u6001",
"NodeColumns.localGB": "\u78c1\u76d8 (GB)",
"NodeColumns.macs": "MAC\u5730\u5740",
"NodeColumns.memoryMb": "\u5185\u5b58\uff08MB\uff09",
"NodeColumns.name": "\u540d\u79f0",
"NodeColumns.powerState": "\u7535\u6e90\u72b6\u6001",
"NodeColumns.profile": "\u914d\u7f6e\u96c6",
"NodeColumns.provisionState": "\u7f6e\u5907\u72b6\u6001",
"NodeDrive.model": "\u6a21\u578b\uff1a",
"NodeDrive.notAvailable": "n/a",
"NodeDrive.rootDisk": "\u6839\u8bbe\u5907",
"NodeDrive.serial": "\u4e32\u5f62\uff1a",
"NodeDrive.size": "\u5c3a\u5bf8\uff1a",
"NodeDrive.type": "\u7c7b\u578b\uff1a",
"NodeDrive.vendor": "\u5382\u5546\uff1a",
"NodeDrive.wwn": "WWN\uff1a",
"NodeDrive.wwnVendorExtension": "WWN\u5382\u5546\u6269\u5c55\uff1a",
"NodeDrive.wwnWithExtension": "\u5e26\u6269\u5c55\u7684WWN\uff1a",
"NodeDrives.close": "\u5173\u95ed",
"NodeDrives.title": "\u8282\u70b9\u9a71\u52a8 - {nodeId}",
"NodeExtendedInfo.macAddresses": "MAC\u5730\u5740\uff1a",
"NodeIntrospectionState.introspectionStateLabel": "\u5185\u7701\uff1a",
"NodeListItem.Profile": "Profile:",
"NodeListItem.actions.manageDrives": "\u7ba1\u7406\u9a71\u52a8",
"NodeListItem.cpuCores": "CPU{cpuCores, \u590d\u6570, \u4e00\u4e2a {Core} \u5176\u4ed6 {Cores}}",
"NodeListItem.gbDisk": "GB\u78c1\u76d8",
"NodeListItem.mbRam": "MB\u5185\u5b58",
"NodeMaintenanceState.maintenanceWarning": "\u7ef4\u62a4",
"NodePowerState.powerOff": "\u5173\u95ed",
"NodePowerState.powerOn": "\u5f00\u542f",
"NodePowerState.poweringOff": "\u5173\u673a",
"NodePowerState.poweringOn": "\u5f00\u673a",
"NodePowerState.rebooting": "\u91cd\u542f\u4e2d",
"NodePowerState.unknownPowerState": "\u672a\u77e5",
"NodeProvisionState.deploymentPlanLabel": "\u90e8\u7f72\u8ba1\u5212\uff1a",
"NodeProvisionState.provisionStateLabel": "\u7f6e\u5907\u72b6\u6001\uff1a",
"Nodes.loadingNodes": "\u6b63\u5728\u52a0\u8f7d\u8282\u70b9 ...",
"Nodes.nodes": "\u8282\u70b9",
"Nodes.refreshResults": "\u5237\u65b0\u7ed3\u679c",
"Nodes.registerNodes": "\u6ce8\u518c\u8282\u70b9",
"Nodes.registeringNodes": "\u6b63\u5728\u6ce8\u518c\u8282\u70b9...",
"NodesActions.introspectionFailedNotificationTitle": "\u8282\u70b9\u5185\u7701\u5931\u8d25",
"NodesActions.introspectionNotificationMessage": "\u6240\u9009\u8282\u70b9\u5df2\u88ab\u6210\u529f\u5185\u7701",
"NodesActions.introspectionNotificationTitle": "\u8282\u70b9\u5185\u7701\u5b8c\u6210",
"NodesActions.nodeIntrospectionFailedNotificationTitle": "\u8282\u70b9\u5185\u7701\u5931\u8d25",
"NodesAssignmentForm.cancel": "\u53d6\u6d88",
"NodesAssignmentForm.nodeCountsErrorMessage": "\u8bf7\u8c03\u6574\u8282\u70b9\u6570\u91cf\u3002",
"NodesAssignmentForm.nodeCountsErrorTitle": "\u9009\u62e9\u7684\u8282\u70b9\u6570\u91cf\u8d85\u8fc7\u4e86\u53ef\u7528\u8282\u70b9\u6570\u91cf\u3002",
"NodesAssignmentForm.saveChanges": "\u4fdd\u5b58\u53d8\u66f4",
"NodesListForm.operationInProgressValidationMessage": "\u67d0\u4e9b\u9009\u4e2d\u7684\u8282\u70b9\u4e0a\u6709\u4e00\u4e2a\u64cd\u4f5c\u6b63\u5728\u8fdb\u884c\u4e2d\u3002",
"NodesListForm.selectNodesValidationMessage": "\u9996\u5148\u8bf7\u9009\u62e9\u8282\u70b9",
"NodesTable.loadingNodes": "\u6b63\u5728\u52a0\u8f7d\u8282\u70b9 ...",
"NodesTable.noNodes": "\u6ca1\u6709\u53ef\u7528\u8282\u70b9\u3002",
"NodesTableView.deleteNodes": "\u5220\u9664\u8282\u70b9",
"NodesTableView.deleteNodesModalMessage": "\u60a8\u786e\u5b9a\u8981\u5220\u9664\u6240\u9009\u8282\u70b9\u5417\uff1f",
"NodesTableView.deleteNodesModalTitle": "\u5220\u9664\u8282\u70b9",
"NodesTableView.introspectNodes": "\u5185\u7701\u8282\u70b9",
"NodesTableView.provideNodes": "\u63d0\u4f9b\u8282\u70b9",
"NodesTableView.tagNodes": "\u6807\u8bb0\u8282\u70b9",
"NodesTables.cpuArch": "CPU \u67b6\u6784",
"NodesTables.cpuCores": "CPU (\u5185\u6838)",
"NodesTables.diskGb": "\u78c1\u76d8 (GB)",
"NodesTables.macAddresses": "MAC \u5730\u5740",
"NodesTables.maintenance": "\u7ef4\u62a4",
"NodesTables.memoryMb": "\u5185\u5b58\uff08MB\uff09",
"NodesTables.name": "\u540d\u79f0",
"NodesTables.powerState": "\u7535\u6e90\u72b6\u6001",
"NodesTables.profile": "\u914d\u7f6e\u96c6",
"NodesTables.provisionState": "\u7f6e\u5907\u72b6\u6001",
"NodesToolbar.filterStringPlaceholder": "\u589e\u52a0\u8fc7\u6ee4",
"NodesToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Node} other {Nodes}}",
"NodesToolbarActions.deleteNodes": "\u5220\u9664\u8282\u70b9",
"NodesToolbarActions.deleteNodesModalMessage": "\u60a8\u786e\u5b9a\u8981\u5220\u9664\u6240\u9009\u8282\u70b9\u5417\uff1f",
"NodesToolbarActions.deleteNodesModalTitle": "\u5220\u9664\u8282\u70b9",
"NodesToolbarActions.disabledButtonsWarning": "\u9996\u5148\u4f60\u9700\u8981\u9009\u62e9\u8282\u70b9\uff0c\u6216\u8005\u5728\u67d0\u4e9b\u9009\u4e2d\u7684\u8282\u70b9\u4e2d\u6709\u4e00\u4e2a\u64cd\u4f5c\u6b63\u5728\u8fdb\u884c\u3002",
"NodesToolbarActions.introspectNodes": "\u5185\u7701\u8282\u70b9",
"NodesToolbarActions.manageNodes": "\u7ba1\u7406\u8282\u70b9",
"NodesToolbarActions.provideNodes": "\u63d0\u4f9b\u8282\u70b9",
"NodesToolbarActions.tagNodes": "\u6807\u8bb0\u8282\u70b9",
"NodesToolbarForm.sortDir": "\u6392\u5e8f\u65b9\u5411",
"OvercloudInfo.loadingOvercloudInformation": "\u6b63\u5728\u52a0\u8f7d\u90e8\u7f72\u4fe1\u606f...",
"OvercloudInfo.overcloudInformationHeader": "\u90e8\u7f72\u4fe1\u606f",
"OvercloudInfo.overcloudIpAddress": "\u90e8\u7f72 IP \u5730\u5740\uff1a",
"OvercloudInfo.password": "\u5bc6\u7801\uff1a",
"OvercloudInfo.username": "\u7528\u6237\u540d\uff1a",
"PXEAndDRACDriverFields.address": "DRAC \u4e3b\u673a",
"PXEAndDRACDriverFields.password": "DRAC \u5bc6\u7801",
"PXEAndDRACDriverFields.port": "DRAC\u7aef\u53e3",
"PXEAndDRACDriverFields.user": "DRAC \u7528\u6237\u540d",
"PXEAndIPMIToolDriverFields.address": "IPMI IP \u5730\u5740\u6216 FQDN",
"PXEAndIPMIToolDriverFields.password": "IPMI \u5bc6\u7801",
"PXEAndIPMIToolDriverFields.port": "IPMI\u7aef\u53e3",
"PXEAndIPMIToolDriverFields.user": "IPMI \u7528\u6237\u540d",
"ParameterInputList.noParameters": "\u5f53\u524d\u5728\u6b64\u90e8\u5206\u6ca1\u6709\u8981\u914d\u7f6e\u7684\u53c2\u6570\u3002",
"Parameters.general": "\u5e38\u89c4",
"ParametersActions.parametersUpdatedNotficationMessage": "\u90e8\u7f72\u53c2\u6570\u5df2\u88ab\u6210\u529f\u66f4\u65b0\u3002",
"ParametersActions.parametersUpdatedNotficationTitle": "\u53c2\u6570\u5df2\u66f4\u65b0",
"ParametersActions.updateParametersFailed": "\u53c2\u6570\u65e0\u6cd5\u66f4\u65b0",
"ParametersForm.cancel": "\u53d6\u6d88",
"ParametersForm.enterValidJson": "\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 JSON\u3002",
"ParametersForm.invalidParameters": "\u4e00\u4e9b\u53c2\u6570\u503c\u65e0\u6548\uff1a",
"ParametersForm.invalidParametersList": "{parameters}",
"ParametersForm.saveAndClose": "\u4fdd\u5b58\u5e76\u5173\u95ed",
"ParametersForm.saveChanges": "\u4fdd\u5b58\u53d8\u66f4",
"ParametersForm.updatingParameters": "\u66f4\u65b0\u53c2\u6570",
"PlanActions.delete": "\u5220\u9664",
"PlanActions.edit": "\u7f16\u8f91",
"PlanActions.export": "\u5bfc\u51fa",
"PlanCard.deletingPlan": "\u6b63\u5728\u5220\u9664 {planName}...",
"PlanCard.loadingPlan": "\u52a0\u8f7d {planName} \u8be6\u60c5...",
"PlanCard.loadingStatus": "\u52a0\u8f7d\u90e8\u7f72\u72b6\u6001...",
"PlanCard.updatingPlan": "\u6b63\u5728\u66f4\u65b0 {planName}...",
"PlanFieldsTab.directoryInputDescription": "\u63d0\u4f9b\u5b9a\u4e49\u4e86\u4e00\u4e2a\u90e8\u7f72\u8ba1\u5212\u7684 Heat \u6a21\u677f\u7684\u76ee\u5f55\u3002",
"PlanFieldsTab.gitUrlInputDescription": "\u63d0\u4f9b\u5305\u62ec\u4e86\u7528\u6765\u5b9a\u4e49\u4e00\u4e2a\u90e8\u7f72\u8ba1\u5212\u7684 Heat \u6a21\u677f\u7684 Git repository URL\u3002",
"PlanFieldsTab.tarballInputDescription": "\u63d0\u4f9b\u7684 tarball \u4e0d\u80fd\u5305\u62ec\u6839\u76ee\u5f55\uff0c\u5f53\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa: {command}",
"PlanFormTabs.addPlanName": "\u6dfb\u52a0\u4e00\u4e2a\u8ba1\u5212\u540d",
"PlanFormTabs.files": "\u6587\u4ef6",
"PlanFormTabs.gitUrl": "Git Repository \u7684 URL",
"PlanFormTabs.gitUrlValidationError": "\u8bf7\u63d0\u4f9b\u4e00\u4e2a\u6709\u6548\u7684 Git repository URL\u3002",
"PlanFormTabs.newPlan": "\u65b0\u8ba1\u5212",
"PlanFormTabs.planFiles": "\u8ba1\u5212\u6587\u4ef6",
"PlanFormTabs.planName": "\u8ba1\u5212\u540d",
"PlanFormTabs.planNameValidationError": "\u8bf7\u53ea\u4f7f\u7528\u5c0f\u5199\u7684\u5b57\u6bcd\u548c\u6570\u5b57\u4ee5\u53ca\u77ed\u6a2a\u7ebf (-)\u3002",
"PlanFormTabs.planTarball": "\u8ba1\u5212\u7684 Tarball \u6587\u4ef6",
"PlanUploadTypeRadios.gitUrl": "Git Repository \u7684 URL",
"PlanUploadTypeRadios.localDirectory": "\u672c\u5730\u76ee\u5f55",
"PlanUploadTypeRadios.tarArchive": "Tar \u5f52\u6863 (.tar.gz or .tgz)",
"PlanUploadTypeRadios.uploadType": "\u4e0a\u4f20\u7c7b\u578b",
"PlanUploadTypeRadios.useDefaultTemplates": "\u4f7f\u7528\u9ed8\u8ba4\u6a21\u677f",
"PlansActions.exportFailedNotificationTitle": "\u5bfc\u51fa\u5931\u8d25",
"PlansActions.planCreatedNotificationMessage": "\u8ba1\u5212 {planName} \u5df2\u88ab\u6210\u529f\u521b\u5efa\u3002",
"PlansActions.planCreatedNotificationTitle": "\u8ba1\u5212\u88ab\u521b\u5efa",
"PlansActions.planCreationFailedNotificationMessage": "\u8ba1\u5212\u521b\u5efa\u5931\u8d25",
"PlansActions.planDeletedNotificationMessage": "\u8ba1\u5212 {planName} \u5df2\u88ab\u6210\u529f\u5220\u9664\u3002",
"PlansActions.planDeletedNotificationTitle": "\u8ba1\u5212\u88ab\u5220\u9664",
"PlansActions.planUpdateFailedNotificationMessage": "\u8ba1\u5212\u66f4\u65b0\u5931\u8d25",
"PlansActions.planUpdatedNotificationMessage": "\u8ba1\u5212 {planName} \u5df2\u88ab\u6210\u529f\u66f4\u65b0\u3002",
"PlansActions.planUpdatedNotificationTitle": "\u8ba1\u5212\u5df2\u66f4\u65b0",
"PlansList.importPlan": "\u5bfc\u5165\u8ba1\u5212",
"PlansList.plans": "\u8ba1\u5212",
"PushDestinationInput.pushDestinationOptionCustom": "",
"PushDestinationInput.pushDestinationOptionFalse": "",
"PushDestinationInput.pushDestinationOptionTrue": "",
"RecoverDeploymentStatusButton.recoverDeploymentStatus": "\u6062\u590d\u90e8\u7f72\u72b6\u6001",
"RecoverDeploymentStatusButton.recoveringDeploymentStatus": "\u6b63\u5728\u6062\u590d\u90e8\u7f72\u72b6\u6001",
"RedeployPlanButton.cancel": "\u53d6\u6d88",
"RedeployPlanButton.redeployConfirmationQuestion": "",
"RedeployPlanButton.redeployPlan": "",
"RedeployPlanButton.requestingRedeploy": "",
"RegisterNodeForm.General": "\u5e38\u89c4",
"RegisterNodeForm.architecture": "\u67b6\u6784",
"RegisterNodeForm.cpuCount": "CPU \u6570\u91cf",
"RegisterNodeForm.diskGb": "\u78c1\u76d8 (GB)",
"RegisterNodeForm.driver": "\u9a71\u52a8",
"RegisterNodeForm.enterValidMacAddress": "\u8bf7\u8f93\u5165\u4e00\u7ec4\u6709\u6548\u7684 MAC \u5730\u5740\u3002",
"RegisterNodeForm.hardware": "\u786c\u4ef6",
"RegisterNodeForm.macAddressesDescription": "\u5982\u679c\u4f60\u6307\u5b9a\u591a\u4e2aMAC\u5730\u5740\uff0c\u8bf7\u8f93\u5165\u9017\u53f7\u5206\u5272\u7684\u5217\u8868\u3002\uff08\u4f8b\u5982\uff1aaa:bb:cc:dd:ee:ff,12:34:56:78:90:xx,do:re:mi:fa:so:ra\uff09",
"RegisterNodeForm.management": "\u7ba1\u7406",
"RegisterNodeForm.memoryMb": "\u5185\u5b58\uff08MB\uff09",
"RegisterNodeForm.name": "\u540d\u79f0",
"RegisterNodeForm.networking": "\u8054\u7f51",
"RegisterNodeForm.nicMacAddresses": "NIC MAC \u5730\u5740",
"RegisterNodeForm.nodeDetail": "\u8282\u70b9\u8be6\u60c5",
"RegisterNodeForm.nodeNameMaxLength": "\u8282\u70b9\u540d\u6700\u591a\u53ef\u4ee5\u5305\u62ec 255 \u4e2a\u5b57\u7b26\u3002",
"RegisterNodeForm.nodeNameRegexp": "\u540d\u5b57\u53ea\u80fd\u5305\u62ec RFC3986 \u672a\u4fdd\u7559\u7684\u5b57\u7b26\uff1a\u5b57\u6bcd\u6570\u5b57\u3001\u8fde\u5b57\u7b26\uff08-\uff09\u3001\u53e5\u70b9\uff08.\uff09\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u548c\u6ce2\u6d6a\u53f7\uff08~\uff09\u5b57\u7b26\u3002",
"RegisterNodesActions.registrationNotificationMessage": "\u8282\u70b9\u5df2\u88ab\u6210\u529f\u6ce8\u518c\u3002",
"RegisterNodesActions.registrationNotificationTitle": "\u8282\u70b9\u6ce8\u518c\u5b8c\u6210",
"RegisterNodesDialog.addANodeManually": "\u624b\u5de5\u6dfb\u52a0\u4e00\u4e2a\u8282\u70b9\u6216\u4ece\u4e00\u4e2a\u6587\u4ef6\u4e0a\u4f20\u8282\u70b9",
"RegisterNodesDialog.addNew": "\u589e\u52a0\u65b0\u7684",
"RegisterNodesDialog.cancel": "\u53d6\u6d88",
"RegisterNodesDialog.csvUnsupported": "\u4e0d\u652f\u6301\u4e0a\u4f20 CSV",
"RegisterNodesDialog.invalidJson": "\u65e0\u6548\u7684 JSON",
"RegisterNodesDialog.noNodesToRegister": "\"\u6ca1\u6709\u8981\u6ce8\u518c\u7684\u8282\u70b9\"",
"RegisterNodesDialog.or": "\u6216",
"RegisterNodesDialog.provideCsvOrInstackenvJson": "\u8bf7\u63d0\u4f9b\u4e00\u4e2a CSV \u6587\u4ef6\u6216 instackenv.json\u3002",
"RegisterNodesDialog.registerNodes": "\u6ce8\u518c\u8282\u70b9",
"RegisterNodesDialog.registeringNodes": "\u6b63\u5728\u6ce8\u518c\u8282\u70b9...",
"RegisterNodesDialog.selectedFileUnsupported": "\u6240\u9009\u6587\u4ef6\u683c\u5f0f\u8fd8\u4e0d\u88ab\u652f\u6301\u3002",
"RegisterNodesDialog.undefinedNode": "\u672a\u5b9a\u4e49\u7684\u8282\u70b9",
"RegisterNodesDialog.unsupportedFileFormat": "\u4e0d\u652f\u6301\u7684\u6587\u4ef6\u683c\u5f0f",
"RegisterNodesDialog.uploadFromFile": "\u4ece\u6587\u4ef6\u4e0a\u4f20",
"RoleCard.assignNodes": "\u5206\u914d\u8282\u70b9",
"RoleCard.availableNodesCount": "of {count, number}",
"RoleCard.nodesAssigned": "\u5df2\u5206\u914d\u8282\u70b9",
"RoleDetail.cancel": "\u53d6\u6d88",
"RoleDetail.loadingParameters": "\u6b63\u5728\u52a0\u8f7d\u53c2\u6570 ...",
"RoleDetail.networkConfiguration": "\u7f51\u7edc\u914d\u7f6e",
"RoleDetail.parameters": "\u53c2\u6570",
"RoleDetail.role": "{roleName} \u89d2\u8272",
"RoleDetail.saveChanges": "\u4fdd\u5b58\u53d8\u66f4",
"RoleDetail.services": "\u670d\u52a1",
"RoleDetail.updatingParameters": "\u66f4\u65b0\u53c2\u6570...",
"RoleServices.noParameters": "\u5f53\u524d\u5728\u6b64\u90e8\u5206\u6ca1\u6709\u8981\u914d\u7f6e\u7684\u53c2\u6570\u3002",
"RoleServices.selectService": "\u8bf7\u9009\u62e9\u8981\u914d\u7f6e\u7684\u670d\u52a1\u3002",
"Roles.loadingDeploymentRoles": "\u6b63\u5728\u52a0\u8f7d\u90e8\u7f72\u89d2\u8272 ...",
"RolesActions.availableRolesNotLoaded": "\u53ef\u7528\u7684\u89d2\u8272\u4e0d\u80fd\u88ab\u52a0\u8f7d",
"RolesStep.loadingNodes": "\u6b63\u5728\u52a0\u8f7d\u8282\u70b9 ...",
"RolesStep.loadingParameters": "\u6b63\u5728\u52a0\u8f7d\u53c2\u6570 ...",
"RolesStep.manageRoles": "\u7ba1\u7406\u89d2\u8272",
"RolesStep.nodesAvailableToAssign": "\u5171 {allNodesCount, number} \u4e2a\u8282\u70b9({totalAssignedNodesCount, number} \u4e2a\u8282\u70b9\u5df2\u5206\u914d\u7ed9\u89d2\u8272\uff0c{nodesCount, number} \u4e2a\u8282\u70b9\u53ef\u4ee5\u88ab\u5206\u914d\uff0c{nodesRequireActionCount, number} \u4e2a\u8282\u70b9\u9700\u8981\u8fdb\u884c\u64cd\u4f5c)",
"SelectAll.deselectAllText": "\u53d6\u6d88\u5168\u9009",
"SelectAll.selectAllText": "\u5168\u9009",
"SelectRolesDialog.loadingAvailableRoles": "\u6b63\u5728\u52a0\u8f7d\u53ef\u7528\u7684\u89d2\u8272 ...",
"SelectRolesDialog.selectRoles": "\u9009\u62e9\u89d2\u8272",
"SelectRolesForm.cancel": "\u53d6\u6d88",
"SelectRolesForm.primaryRoleValidationError": "\u8bf7\u9009\u62e9\u4e00\u4e2a\u6807\u8bb0\u4e3a \"primary\" \u548c \"controller\" \u7684\u89d2\u8272",
"SelectRolesForm.saveChanges": "\u4fdd\u5b58\u53d8\u66f4",
"SelectRolesForm.updatingRoles": "\u66f4\u65b0\u89d2\u8272...",
"StackResources.resourcesTableDescription": "",
"StackResources.title": "",
"StackResourcesTable.loadingResources": "\u6b63\u5728\u52a0\u8f7d\u8d44\u6e90 ...",
"StackResourcesTable.name": "\u540d\u79f0",
"StackResourcesTable.noResourcesAvailable": "\u6ca1\u6709\u53ef\u7528\u7684\u8d44\u6e90\u3002",
"StackResourcesTable.status": "\u72b6\u6001",
"StackResourcesTable.updatedTime": "\u66f4\u65b0\u7684\u65f6\u95f4",
"StatusDropdown.debug": "\u8c03\u8bd5",
"TagNodesForm.cancel": "\u53d6\u6d88",
"TagNodesForm.confirm": "\u6807\u8bb0\u8282\u70b9",
"TagNodesForm.customProfileDescription": "\u5c0f\u5199\u5e76\u4f7f\u7528\u8fde\u5b57\u7b26\u5206\u9694\u3002\u4f8b\u5982 \"block-storage\"",
"TagNodesForm.customProfileErrorMessage": "\u60a8\u8f93\u5165\u4e86\u8fd9\u4e2a\u503c\u4e0d\u652f\u6301\u7684\u5b57\u7b26",
"TagNodesForm.customProfileLabel": "\u81ea\u5b9a\u4e49\u6863\u6848",
"TagNodesForm.customProfileOption": "\u6307\u5b9a\u81ea\u5b9a\u4e49\u6863\u6848",
"TagNodesForm.noProfileOption": "\u65e0\u6863\u6848\uff08Untag\uff09",
"TagNodesForm.selectProfileLabel": "\u9009\u62e9\u6863\u6848",
"TagNodesModal.title": "\u628a\u8282\u70b9\u6807\u8bb0\u4e3a\u6863\u6848",
"Toolbar.activeFilters": "\u6d3b\u52a8\u72b6\u6001\u8fc7\u6ee4\uff1a",
"Toolbar.clearAllActiveFilters": "\u6e05\u695a\u6240\u6709\u8fc7\u6ee4",
"UndeployProgress.initializingDeployment": "\u542f\u52a8 {planName} \u8ba1\u5212\u90e8\u7f72\u5220\u9664",
"UndeployProgress.initializingUndeploy": "\u542f\u52a8 {planName} \u8ba1\u5212\u90e8\u7f72\u5220\u9664",
"UndeployProgress.resources": "\u8d44\u6e90",
"UndeployProgress.undeployingPlan": "",
"UndeployProgress.viewInformation": "\u67e5\u770b\u9a8c\u8bc1\u8be6\u60c5",
"UserAuthenticator.authenticating": "\u6b63\u5728\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1 ...",
"UserDropdown.logout": "\u767b\u51fa",
"ValidationDetail.close": "\u5173\u95ed",
"ValidationDetail.description": "\u63cf\u8ff0\uff1a",
"ValidationDetail.groups": "\u7ec4\uff1a",
"ValidationDetail.output": "\u8f93\u51fa\uff1a",
"ValidationDetail.status": "\u72b6\u6001\uff1a",
"ValidationDetail.validationDetail": "\u9a8c\u8bc1\u8be6\u60c5",
"ValidationsList.loadingValidations": "\u6b63\u5728\u52a0\u8f7d\u9a8c\u8bc1 ...",
"ValidationsList.noValidations": "\u6ca1\u6709\u9a8c\u8bc1",
"ValidationsList.noValidationsMessage": "\u6b64\u65f6\u6ca1\u6709\u9a8c\u8bc1\u3002",
"ValidationsList.refresh": "\u5237\u65b0",
"ValidationsList.validations": "\u9a8c\u8bc1",
"ValidationsToggle.error": "\u9a8c\u8bc1\u9519\u8bef",
"ValidationsToggle.failed": "\u9a8c\u8bc1\u5931\u8d25",
"ValidationsToggle.loadingValidations": "\u6b63\u5728\u52a0\u8f7d\u9a8c\u8bc1 ...",
"ValidationsToggle.new": "\u65b0\u9a8c\u8bc1",
"ValidationsToggle.paused": "\u6682\u505c\u7684\u9a8c\u8bc1",
"ValidationsToggle.running": "\u8fd0\u884c\u4e2d\u7684\u9a8c\u8bc1",
"ValidationsToggle.success": "\u6210\u529f\u9a8c\u8bc1",
"ValidationsToggle.warning": "\u5e26\u6709\u8b66\u544a\u7684\u9a8c\u8bc1",
"ValidationsToolbar.filterStringPlaceholder": "\u589e\u52a0\u8fc7\u6ee4",
"ValidationsToolbar.filteredToolbarResults": "{filteredCount, number} of {totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"ValidationsToolbar.group": "\u7ec4",
"ValidationsToolbar.name": "\u540d\u79f0",
"ValidationsToolbar.nonFilteredToolbarResults": "{totalCount, number} {totalCount, plural, one {Validation} other {Validations}}",
"nodeExtendedinfo.architecture": "\u67b6\u6784\uff1a",
"nodeExtendedinfo.bios": "Bios:",
"nodeExtendedinfo.driver": "\u9a71\u52a8\uff1a",
"nodeExtendedinfo.interfaceIpAddress": "IP\u5730\u5740",
"nodeExtendedinfo.interfaceMacAddress": "MAC\u5730\u5740",
"nodeExtendedinfo.interfaces": "\u63a5\u53e3\uff1a",
"nodeExtendedinfo.kernel": "Kernel:",
"nodeExtendedinfo.product": "\u4ea7\u54c1\uff1a",
"nodeExtendedinfo.productName": "\u540d\u79f0",
"nodeExtendedinfo.productVendor": "\u5382\u5546",
"nodeExtendedinfo.productVersion": "\u7248\u672c",
"nodeExtendedinfo.registered": "\u5df2\u6ce8\u518c\uff1a",
"nodeExtendedinfo.rootDisk": "\u6839\u78c1\u76d8\uff1a",
"nodeExtendedinfo.uuid": "UUID\uff1a",
"reduxForm.validations.maxValue": "\u6700\u5927\u503c\u662f {count, number}.",
"reduxForm.validations.minValue": "\u6700\u5c0f\u503c\u662f {count, number}",
"reduxForm.validations.number": "\u503c\u9700\u8981\u662f\u4e00\u4e2a\u6570\u5b57\u3002"
}
}

View File

@ -1,109 +0,0 @@
# This file is used by the jenkins job
# read: 'How it works' section at the bottom
### config template ###
# test_env: # top-level namespace used by khaleesi
# env_name: # test config
# Distro-Version: # test configuration for the distro-version
# | setup: # how the testbed VM needs to be setup
# | ' repos: # add the following repos
# | ' - filename: repo-name.repo
# | ' contents: |
# | ' [section]
# | ' contents
# | ' of
# | ' Repo
#
# | ' install: # install the following rpm and
# | ' - rpm-abc # ensure latest is installed
# | ' - rpm-foo
# | ' - rpm-bar
#
# | ' remove: # delete the following rpms
# | ' - rpm-foo
# | ' - rpm-bar
# | ' - rpm-baz
# | ' pip: # use virtualenv --system-site-packages to
# | ' overrides: # override system packages
# | ' - pip-pkg-foo
# | ' - pip-pkg-foo
#
# | run: > # how tests should be run
# | run_command; another_command;
# | ./run_tests.sh -N -P # all but last statement should terminated by ;
#
# | archive: # what files to archive
# | - nosetest.xml
#
# NOTE: there must be a env_name: called virt: which will be used to run tests
# in virtualenv when running tests in env_name fails
product:
name: rhos
repo_type: poodle
version: 7
full_version: 7.0
config:
enable_epel: y
rpmrepo:
RedHat: http://rhos-release.virt.bos.redhat.com/repos/rhos-release/
tripleo_ui_rpm_deps: [
'gcc',
'git',
'gcc-c++',
'make',
'nodejs',
'curl'
]
# 'npm'
tripleo_ui_virt_config:
setup:
install: "{{tripleo_ui_rpm_deps}}"
run: >
set -o pipefail;
mkdir node_install;
export npm_config_prefix=`pwd`/node_install;
curl -L https://www.npmjs.com/install.sh | sh;
$npm_config_prefix/bin/npm install;
$npm_config_prefix/bin/npm test;
$npm_config_prefix/bin/npm run lint;
archive:
- ../logs/venv-testrun.log
- tests_results.xml
- tox.ini
- requirements.txt
- all-rpms.txt
### actual test_config: starts here: used by khaleesi ###
### NOTE: test_config.virt must be defined ###
test_config:
virt:
Fedora-20: "{{tripleo_ui_virt_config}}"
RedHat-7: "{{tripleo_ui_virt_config}}"
Centos-7: "{{tripleo_ui_virt_config}}"
# How this works!
# ==============
# This file is used by khaleesi[1] playbook unit_test.yml[2].
# - The jenkins job checks out khaleesi, settings and this repo and
# runs unit_test.yml playbook.
# - The playbook reads this config file and
# - adds repos in test_dependencies.rpm.repos
# - installs all packages in test_dependencies.rpm.install
# - removes all packages in test_dependencies.rpm.remove
# - it then runs the test by executing the command specfied in
# test_env.run NOTE all commands should terminate with a ';'
# - if tests fail, the same is run in venv with pip packages.
#
# PIP overrides
# -------------
# When there is no corresponding rpm for a pip package, you can override that
# particular package using the pip.override section. When you do so, make sure
# the packaging team is notified about the new requirement.
#
# [1] https://github.com/redhat-openstack/khaleesi
# [2] https://github.com/redhat-openstack/khaleesi/blob/master/playbooks/unit_test.yml

17371
npm-shrinkwrap.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,119 +0,0 @@
{
"name": "tripleo-ui",
"version": "10.3.0",
"description": "TripleO UI - TripleO-based OpenStack deployment UI",
"main": "index.js",
"dependencies": {
"axios": "^0.17.1",
"babel-core": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"classnames": "~2.2.5",
"es6-error": "~4.0.2",
"formatjs": "^0.1.1",
"formsy-react": "^1.1.2",
"immutable": "^3.8.2",
"invariant": "~2.2.1",
"js-yaml": "^3.7.0",
"keymirror": "~0.1.1",
"lodash": "^4.17.5",
"normalizr": "^3.2.4",
"patternfly": "^3.52.1",
"patternfly-react": "^2.11.1",
"prop-types": "^15.6.0",
"react": "^16.4.1",
"react-ace": "^6.2.0",
"react-bootstrap": "^0.32.0",
"react-cookie": "^1.0.4",
"react-dom": "^16.4.1",
"react-immutable-proptypes": "^2.1.0",
"react-intl": "^2.4.0",
"react-motion": "^0.5.2",
"react-overlays": "^0.8.3",
"react-portal": "^4.1.2",
"react-redux": "^5.0.6",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-transition-group": "^2.2.1",
"redux": "^3.7.2",
"redux-form": "^7.4.2",
"redux-form-validators": "^2.3.2",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.2.0",
"reqwest": "~2.0.1",
"reselect": "^3.0.1",
"shortid": "^2.2.4",
"uuid": "^3.1.0",
"when": "~3.7.3",
"xhr2": "~0.1.2"
},
"devDependencies": {
"babel-eslint": "^8.2.1",
"babel-jest": "^22.1.0",
"babel-loader": "7.1.2",
"babel-plugin-react-intl": "^2.2.0",
"css-loader": "^0.28.8",
"es6-promise": "^4.2.2",
"eslint": "^4.15.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-prettier": "^2.5.0",
"eslint-plugin-react": "^7.5.1",
"file-loader": "^1.1.6",
"html-webpack-plugin": "3.0.4",
"jest": "^22.1.1",
"json-loader": "^0.5.4",
"less": "~2.7.1",
"less-loader": "^4.0.5",
"prettier": "1.10.2",
"react-intl-po": "^2.1.2",
"react-test-renderer": "^16.4.1",
"redux-mock-store": "1.3.0",
"semver": "^5.5.0",
"style-loader": "^0.19.1",
"url-loader": "^0.6.2",
"webpack": "4.18.0",
"webpack-cli": "3.1.0",
"webpack-dev-server": "3.1.8",
"webpack-merge": "^4.1.0"
},
"scripts": {
"lint": "./bin/run_lint.sh",
"prettier": "prettier --write --single-quote 'src/**/*.js'",
"build": "webpack --env=prod --bail --progress",
"build:dev": "webpack --env=dev --bail --progress",
"start": "webpack-dev-server --env=dev --progress",
"test": "./bin/run_tests.sh",
"test:quick": "jest",
"test:watch": "jest --watchAll",
"json2pot": "rip json2pot ./i18n/extracted-messages/**/*.json -o ./i18n/messages.pot",
"po2json": "rip po2json -m ./i18n/extracted-messages/**/*.json",
"docs": "cd docs && make html && cd -"
},
"jest": {
"testURL": "http://localhost",
"testMatch": [
"**/__tests__/**/*.tests.js"
],
"transform": {
"^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"
]
},
"repository": {
"type": "git",
"url": "https://github.com/openstack/tripleo-ui"
},
"keywords": [
"tripleo",
"tripleo-ui",
"openstack"
],
"author": "Openstack <openstack-dev@lists.openstack.org>",
"license": "Apache-2.0"
}

View File

@ -1,34 +0,0 @@
---
prelude: >
3.0.0 is the final release for Ocata.
It's the first release where release notes are added.
features:
- Internationalization (i18n) support for the TripleO-UI.
- Improved deployment configuration by providing a way to configure
parameters for enabled Environments.
fixes:
- Fixes `bug 1642216 <https://bugs.launchpad.net/tripleo/+bug/1642216>`__
Changes to role configurations are viewed in real time
- Fixes `bug 1643328 <https://bugs.launchpad.net/tripleo/+bug/1643328>`__
The GUI shows that introspection finished
- Fixes `bug 1643339 <https://bugs.launchpad.net/tripleo/+bug/1643339>`__
Error when importing nodes from a bad json file
- Fixes `bug 1644587 <https://bugs.launchpad.net/tripleo/+bug/1644587>`__
to disallow illegal characters in plan names
- Fixes `bug 1644756 <https://bugs.launchpad.net/tripleo/+bug/1644756>`__
Automatic flavor matching when tagging nodes for object-storage and custom roles
- Fixes `bug 1644801 <https://bugs.launchpad.net/tripleo/+bug/1644801>`__
- Fixes node assignment in the UI
- Fixes `bug 1649098 <https://bugs.launchpad.net/tripleo/+bug/1649098>`__
Fix nodes tables always refresh twice
- Fixes `bug 1649997 <https://bugs.launchpad.net/tripleo/+bug/1649997>`__
When tripleo_ui_config.js is used, %(tenant_id)s macro is expanded
- Fixes `bug 1654051 <https://bugs.launchpad.net/tripleo/+bug/1654051>`__
webpack doesnt ignore build errors
- Fixes `bug 1655603 <https://bugs.launchpad.net/tripleo/+bug/1655603>`__
post-deployment validations are not triggered at every login
- Fixes `bug 1657416 <https://bugs.launchpad.net/tripleo/+bug/1657416>`__
CI building tripleo-ui correctly
other:
- Lots of documentation. `bug 1651106
<https://bugs.launchpad.net/tripleo/+bug/1651106>`__

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1655026 <https://bugs.launchpad.net/tripleo/+bug/1655026>`__
Replace karma-based tests with jest/enzyme; remove phantomjs dependency

View File

@ -1,3 +0,0 @@
features:
- |
Enable users to export deployment plans.

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1731972 <https://launchpad.net/bugs/1731972>`__
Add tripleo-ui version and git sha to debug modal

View File

@ -1,9 +0,0 @@
---
features:
- |
Adds tooltips for each of the deployment steps on the deployment plan
page.
fixes:
- |
Fixes `bug 1648888 <https://bugs.launchpad.net/tripleo/+bug/1648888>`__
adds tooltips to the Deployment Plan page

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1682452 <https://launchpad.net/bugs/1682452>`__
Automatically enable all available languages

View File

@ -1,5 +0,0 @@
fixes:
- |
Fixes `bug 1637131 <https://bugs.launchpad.net/tripleo/+bug/1637131>`__
Available Nodes are now based on registeredNodes as Deployed
and Maintenance Nodes are not considered available for deployment

View File

@ -1,10 +0,0 @@
---
features:
- |
Added integration of config-download deployment as a default deployment way
using TripleO-UI. Config Download feature splits deployment into 2 parts, at
first, Heat creates all the deployment data necessary via SoftwareDeployment
resources to perform the Overcloud installation and configuration. In second
part, using downloaded data from Heat, Ansible playbooks and tasks are
generated and are then used by the Undercloud to complete the configuration
of the Overcloud.

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1680547 <https://launchpad.net/bugs/1680547>`__
Fix a bug where you had to log into the application on every page reload

View File

@ -1,9 +0,0 @@
features:
- |
Introduced Prepare Container Images as Step 5 in deployment plan
page and included container images configuration summary
- |
Add wizard to configure container images, user can provide basic container
images information, configuration gets automatically generated, user can
review and tweak details of the configuration in convenient editor-like
interface

View File

@ -1,6 +0,0 @@
features:
- |
Added 'Delete' and 'Redeploy' deployment actions. These actions
are available in appropriate phases of deployment lifecycle and
allow user to undeploy deployment or redeploy it with updated
configuration

View File

@ -1,15 +0,0 @@
---
features:
- |
Nodes counts assigned to Roles are calculated based on actual
'Nodes count' parameters in the plan rather than nodes tagged
to Roles
- |
Deployment Plan page now displays global number of Nodes
available to distribute among Roles as well as number of assigned
Nodes and number of Nodes available to assign for each specific
Role at given time
fixes:
- |
Fixes `bug 1648002 <https://launchpad.net/bugs/1648002>`__ by calculating
assigned Nodes based on Plan parameter values

View File

@ -1,7 +0,0 @@
---
fixes:
- |
"Fixes `bug 1674789 <https://launchpad.net/bugs/1674789>`__
This change adds a 'Save and Close' button to the configuration modal dialog
and allows users to decide whether or not they'd like the dialog to close
once changes are saved."

View File

@ -1,5 +0,0 @@
---
features:
- |
Implements `websocket-logging <https://blueprints.launchpad.net/openstack/?searchtext=websocket-logging>`__
Adds an interface where users can request logs from the server

View File

@ -1,6 +0,0 @@
---
features:
- |
Improvements in Deployment configuration -> Overal Settings, Improved
performance, form now shows general error in case when some sub section
contains error

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1640538 <https://launchpad.net/bugs/1640538>`__
Fixes race condition when displaying the overcloud credentials

View File

@ -1,5 +0,0 @@
fixes:
- |
Fixes `bug 1671100 <https://launchpad.net/bugs/1671100>`__
Fixes a bug in the nodes table toolbar which made the introspect and
provide buttons unclickable

View File

@ -1,6 +0,0 @@
---
fixes:
- |
Fixes `bug 1688630 <https://launchpad.net/bugs/1688630>`__
Increase granularity of deployment progress bar to provide more accurate
feedback

View File

@ -1,4 +0,0 @@
fixes:
- |
Fixes `bug 1662976 <https://launchpad.net/bugs/1662976>`__
Add i18n strings to data tables

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1667064 <https://bugs.launchpad.net/tripleo/+bug/1667064>`__
Add a language picker to the login page

View File

@ -1,8 +0,0 @@
---
fixes:
- |
Fixes `bug 1668978 <https://bugs.launchpad.net/tripleo/+bug/1668978>`__
Make the process for adding support for a new language (i18n) simpler by
reducing the number of steps necessary. This change modifies the format of
the ``language`` setting in the main configuration file from a list to an
object.

View File

@ -1,4 +0,0 @@
fixes:
- |
Fixes `bug 1664892 <https://launchpad.net/bugs/1664892>`__
Jinja2 partials are included in plan creation

View File

@ -1,3 +0,0 @@
---
other:
- Indonesian added to the languages list.

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1671479 <https://launchpad.net/bugs/1671479>`__
Upgrade the UI to use keystone v3

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1639262 <https://launchpad.net/bugs/1639262>`__
Add manage nodes button to nodes list page

View File

@ -1,7 +0,0 @@
---
features:
- Adds validations status area to navigation bar
- Validations sidebar is toggleable from navigation bar
- Modals, Modal panels and validations sidebar transitions are properly
animated
- Responsive layout transitions are animated

View File

@ -1,9 +0,0 @@
---
features:
- |
Added a network topology view accessible under the Network Configuration
step in Deployment plan overview page. The Network topology diagram
represents Deployment roles, networks and draws connections based on
roles-networks assignment. The Diagram also shows high level information
about each network. When you hover over a network, all its connections are
highlighted for easy identification of assigned Roles.

View File

@ -1,7 +0,0 @@
---
fixes:
- |
Fixes `bug 1680926 <https://launchpad.net/bugs/1680926>`__
Node profile matches Node to flavor which is then matched to Role.
Therefore the Node profile value is displayed as a Flavor tag, rather
than Role name because these don't necessarily have to match.

View File

@ -1,6 +0,0 @@
---
fixes:
- |
Fixes `bug 1750821 <https://launchpad.net/bugs/1750821>`__
Available node counts in Role cards are properly calculated based on
node - flavor - role tagging

View File

@ -1,5 +0,0 @@
---
features:
- |
Information about Drives is now available for each Node. List of Drives is
accessible through Node action menu in Nodes list view.

View File

@ -1,5 +0,0 @@
---
features:
- |
Nodes List view now fetches and displays introspection data in expanded
Node view

View File

@ -1,6 +0,0 @@
---
features:
- |
Nodes listing page now includes information about node Introspection
status. Fetching nodes performance has been improved. New option to
filter nodes by introspection status has been added.

View File

@ -1,5 +0,0 @@
---
features:
- |
Nodes in list view can be expanded to grant access to additional information
about the node.

View File

@ -1,8 +0,0 @@
---
features:
- |
Nodes listing has been reworked, it now provides 2 separate views which
can be changed via toolbar content view switcher. Default nodes listing
is using ListView component instead of table. New nodes listing provides
information about node in more user friendly way. Actions on selected nodes
are triggered using action buttons in Nodes toolbar.

View File

@ -1,6 +0,0 @@
fixes:
- |
Fixes `bug 1689507 <https://launchpad.net/bugs/1689507>`__
IPMI port is now possible to specify when registering Nodes.
Fixes `bug 1688543 <https://launchpad.net/bugs/1688543>`__
Node UUID is not generated by UI when registering nodes any more.

View File

@ -1,10 +0,0 @@
---
features:
- |
SelectAllCheckBox and SelectAllButton components have been added. Those
can be used to include SelectAll feature in item listings.
Nodes list view now includes 'Select All' button
fixes:
- |
Fixes `bug 1634718 <https://bugs.launchpad.net/tripleo/+bug/1634718>`__
adds Select All button to Nodes list view

View File

@ -1,6 +0,0 @@
---
features:
- |
Added new Toolbar functionality which enables extensive items filtering
and sorting. Functionality is represented by Nodes Toolbar available in
Nodes listing page

View File

@ -1,7 +0,0 @@
---
features:
- |
Nodes Registration form has been streamlined. After the nodes registration
form is submitted, nodes are confirmed valid and registration begins. At
this point registration form is closed and remaining registration process is
tracked in Nodes listing view.

View File

@ -1,6 +0,0 @@
---
fixes:
- |
When there is no active Deployment plan, Nodes tagging dialog displays
notification which lets user quickly activate the plan to be able to list
select profiles which correspond to plan Roles

View File

@ -1,5 +0,0 @@
---
fixes:
- |
Fixes `bug 1750821 <https://launchpad.net/bugs/1750821>`__
Use Nova profiles in node tagging form instead of role profiles

View File

@ -1,4 +0,0 @@
fixes:
- |
Fixes `bug 1664975 <https://launchpad.net/bugs/1664975>`__
Properly parse numbers as numbers rather than strings in Parameters forms

View File

@ -1,8 +0,0 @@
---
features:
- |
Improved performance in 'Deployment configuration' -> 'Parameters' section,
a general error is shown when sub-section contains validation error
fixes:
- Fixes `bug 1745408 <https://bugs.launchpad.net/tripleo/+bug/1745408>`__
Parameters form does not load for environments with large amount of parameters

View File

@ -1,4 +0,0 @@
fixes:
- |
Fixes `bug 1701277 <https://launchpad.net/bugs/1701277>`__
Display plan description on plan cards

View File

@ -1,5 +0,0 @@
fixes:
- |
Fixes `bug 1707055 <https://launchpad.net/bugs/1707055>`__
Fixes incorrectly generated exported plan URL for specific application
configurations

View File

@ -1,6 +0,0 @@
---
features:
- |
'Plans' are now top level navigation item instead of deployment plan. No
deployment plan needs to be active by default. Activating deployment plan
is done by visiting plan via url.

View File

@ -1,9 +0,0 @@
---
features:
- |
Nodes Assignment Modal has been removed and replaced by 2 separate steps.
Assigning Node to a Role is now done by tagging node to a certain Flavor
in Nodes view. This Flavor then needs to be set in Role configuration.
Based on this, count of available Nodes are provided in Deployment Plan
page and it is possible to set counts of Nodes intended to be deployed
with Roles.

View File

@ -1,7 +0,0 @@
---
fixes:
- |
Fixes `Bug 1753474 <https://bugs.launchpad.net/tripleo/+bug/1753474>`__
Running Mistral workflows is now more robust. In case when UI does not receive
a message about a workflow being finished, it will start periodically checking
the workflow execution to proactively get the result

View File

@ -1,13 +0,0 @@
---
features:
- |
Improved performance in 'Role detail' dialog, a general error is shown when
sub-section contains validation error
- |
Save and Close button has been added to 'Role detail' dialog
- |
'Role detail' dialog now persists changes when switching between individual
tabs
fixes:
- Fixes `bug 1745408 <https://bugs.launchpad.net/tripleo/+bug/1745408>`__
Parameters form does not load for large amount of parameters

View File

@ -1,10 +0,0 @@
features:
- |
Available Roles in Roles selection dialog are now displayed in scrollable
modal panel view, which allows to submit the form more easily.
- |
Role cards are now equal size, to make the cards more organized. Description
is truncated when needed.
- |
Clicking Role name opens Role details dialog which contains title, complete
description, tags, role networks and services

View File

@ -1,6 +0,0 @@
---
features:
- |
Custom deployment roles selection. Roles section of Deployment plan page now
includes 'Manage Roles'. Clicking the link provides a list of all available
roles and lets user select roles intended for deployment.

View File

@ -1,4 +0,0 @@
---
features:
- |
Updating parameters now validates parameters using Heat

View File

@ -1,5 +0,0 @@
---
security:
- |
Use up to date uuid library for generating UUIDs instead of deprecated
node-uuid

View File

@ -1,5 +0,0 @@
---
features:
- |
Implements `websocket-logging <https://blueprints.launchpad.net/openstack/?searchtext=websocket-logging>`__
Implement Zaqar logger adapter

View File

@ -1,261 +0,0 @@
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
import openstackdocstheme
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'openstackdocstheme',
'reno.sphinxext',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'tripleo-ui Release Notes'
copyright = u'2017, OpenStack TripleO-UI Developers'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = ''
# The full version, including alpha/beta/rc tags.
release = ''
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = [openstackdocstheme.get_html_theme_path()]
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'tripleo-uiReleaseNotesdoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'tripleo-uiReleaseNotes.tex', u'tripleo-ui Release Notes Documentation',
u'2017, Puppet OpenStack Developers', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'tripleo-uireleasenotes', u'tripleo-ui Release Notes Documentation',
[u'2017, Puppet OpenStack Developers'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'tripleo-uiReleaseNotes', u'tripleo-ui Release Notes Documentation',
u'2017, Puppet OpenStack Developers', 'tripleo-uiReleaseNotes', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False

View File

@ -1,13 +0,0 @@
=========================
tripleo-ui Release Notes
=========================
.. toctree::
:maxdepth: 1
unreleased
stein
rocky
queens
pike
ocata

View File

@ -1,6 +0,0 @@
===================================
Ocata Series Release Notes
===================================
.. release-notes::
:branch: origin/stable/ocata

View File

@ -1,6 +0,0 @@
===================================
Pike Series Release Notes
===================================
.. release-notes::
:branch: stable/pike

View File

@ -1,6 +0,0 @@
===================================
Queens Series Release Notes
===================================
.. release-notes::
:branch: stable/queens

View File

@ -1,6 +0,0 @@
===================================
Rocky Series Release Notes
===================================
.. release-notes::
:branch: stable/rocky

View File

@ -1,6 +0,0 @@
===================================
Stein Series Release Notes
===================================
.. release-notes::
:branch: stable/stein

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