From 93db30e4e116b6aa36e1b127ef5f406072fa935b Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 3 Apr 2013 14:22:15 -0700 Subject: [PATCH 001/283] UI, instance nics tab: Implement 'add network' action -Change detail widget to support 'add' action on per-nic/item detail groups -Implement add network/NIC action on instances NIC tab --- ui/scripts/instances.js | 56 +++++++++++++++++++++++++++++ ui/scripts/ui/widgets/detailView.js | 24 +++++++++++++ 2 files changed, 80 insertions(+) diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 1e3ce45ce22..ddb562251e8 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -1227,6 +1227,62 @@ nics: { title: 'label.nics', multiple: true, + actions: { + add: { + label: 'Add network to VM', + messages: { + confirm: function(args) { + return 'Please confirm that you would like to add a new VM NIC for this network.'; + }, + notification: function(args) { + return 'Add network to VM'; + } + }, + createForm: { + title: 'Add network to VM', + desc: 'Please specify the network that you would like to add this VM to. A new NIC will be added for this network.', + fields: { + networkid: { + label: 'label.network', + select: function(args) { + $.ajax({ + url: createURL('listNetworks'), + data: { + listAll: true, + zoneid: args.context.instances[0].zoneid + }, + success: function(json) { + args.response.success({ + data: $.map(json.listnetworksresponse.network, function(network) { + return { + id: network.id, + description: network.name + }; + }) + }); + } + }); + } + } + } + }, + action: function(args) { + $.ajax({ + url: createURL('addNicToVirtualMachine'), + data: { + virtualmachineid: args.context.instances[0].id, + networkid: args.data.networkid + }, + success: function(json) { + args.response.success({ + _custom: { jobId: json.addnictovirtualmachineresponse.jobid } + }); + } + }); + }, + notification: { poll: pollAsyncJobResult } + } + }, fields: [ { name: { label: 'label.name', header: true }, diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index 4b520f934ba..cd1135cd4b3 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -771,6 +771,7 @@ var hiddenFields; var context = detailViewArgs ? detailViewArgs.context : cloudStack.context; var isMultiple = tabData.multiple || tabData.isMultiple; + var actions = tabData.actions; if (isMultiple) { context[tabData.id] = data; @@ -1074,6 +1075,29 @@ } }); + // Add item action + if (tabData.multiple && tabData.actions && tabData.actions.add) { + $tabContent.append( + $('
').addClass('button add').append( + $('').addClass('icon').html(' '), + $('').html(_l(tabData.actions.add.label)) + ).click(function() { + uiActions.standard( + $detailView, + { actions: tabData.actions, actionName: 'add' }, { + noRefresh: true, + complete: function(args) { + loadTabContent( + $detailView.find('div.detail-group:visible'), + $detailView.data('view-args') + ); + } + } + ) + }) + ); + } + return true; } From 9bd6692be023fa5697d19495a3b1fdd777cb4abd Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 3 Apr 2013 14:35:58 -0700 Subject: [PATCH 002/283] VM NICs tab: Style 'add network' action --- ui/css/cloudstack3.css | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 9b77b9f3a4f..015206b3358 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -1773,6 +1773,11 @@ div.list-view td.state.off span { background-position: 100% -431px; } +.detail-view .detail-group .button.add { + float: left; + margin: 6px 0 17px 13px; +} + /*List-view: subselect dropdown*/ .list-view .subselect { width: 116px; @@ -2733,7 +2738,8 @@ div.toolbar div.button.add, div.toolbar div.button.refresh, div.toolbar div.button.add, div.toolbar div.button.main-action, -.toolbar div.button.header-action { +.toolbar div.button.header-action, +.detail-group .button.add { /*+placement:shift 0px 5px;*/ position: relative; left: 0px; @@ -2765,7 +2771,8 @@ div.toolbar div.button.main-action, div.toolbar div.button.add:hover, div.toolbar div.button.refresh:hover, div.toolbar div.button.main-action:hover, -.toolbar div.button.header-action:hover { +.toolbar div.button.header-action:hover, +.detail-group .button.add:hover { background-position: 0 -132px; border-left: 1px solid #585D60; } @@ -2795,7 +2802,8 @@ div.toolbar div.button.refresh span { background-repeat: no-repeat; } -div.toolbar div.button.add span { +div.toolbar div.button.add span, +.detail-group .button.add span.icon { padding: 0px 0 0px 18px; background: url(../images/icons.png) no-repeat -626px -209px; /*+placement:shift 0px 0px;*/ From ece8b8c423a46c5be84171520ffd130ec25d9249 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 3 Apr 2013 14:52:16 -0700 Subject: [PATCH 003/283] NICs, add action: Fix for when detail view isn't present anymore --- ui/scripts/ui/widgets/detailView.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index cd1135cd4b3..7b202ef5d0d 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -1087,10 +1087,12 @@ { actions: tabData.actions, actionName: 'add' }, { noRefresh: true, complete: function(args) { - loadTabContent( - $detailView.find('div.detail-group:visible'), - $detailView.data('view-args') - ); + if ($detailView.is(':visible')) { + loadTabContent( + $detailView.find('div.detail-group:visible'), + $detailView.data('view-args') + ); + } } } ) From 1a80f9e1f41bc92ef881e78282980b8d298c2259 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 3 Apr 2013 14:52:38 -0700 Subject: [PATCH 004/283] Detail view, multi-groups: Put 'add' button on top --- ui/css/cloudstack3.css | 7 ++++++- ui/scripts/ui/widgets/detailView.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 015206b3358..a0b86025136 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -1774,8 +1774,13 @@ div.list-view td.state.off span { } .detail-view .detail-group .button.add { + clear: both; + margin: 0px 21px 13px 0 !important; +} + +.detail-view .details.group-multiple { float: left; - margin: 6px 0 17px 13px; + width: 100%; } /*List-view: subselect dropdown*/ diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index 7b202ef5d0d..427010af0a8 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -1077,7 +1077,7 @@ // Add item action if (tabData.multiple && tabData.actions && tabData.actions.add) { - $tabContent.append( + $tabContent.prepend( $('
').addClass('button add').append( $('').addClass('icon').html(' '), $('').html(_l(tabData.actions.add.label)) From 4f5d3118482389c5557af7c431b937739c2a184b Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 3 Apr 2013 17:55:39 -0700 Subject: [PATCH 005/283] WIP - Implement/style NIC actions --- ui/css/cloudstack3.css | 25 +++++++++++++++++++++++++ ui/scripts/instances.js | 19 +++++++++++++++++++ ui/scripts/ui/widgets/detailView.js | 17 ++++++++++++++++- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index a0b86025136..68050608cd7 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -2009,6 +2009,31 @@ div.detail-group.actions td { vertical-align: middle; } +.details.group-multiple div.detail-group.actions { + float: right; + max-width: 75%; + height: 23px; + position: relative; + margin: -15px 0 -5px; +} + +.details.group-multiple div.detail-group.actions .detail-actions { + display: block; + height: 35px; + padding: 0; +} + +.details.group-multiple div.detail-group.actions .detail-actions td { +} + +.details.group-multiple div.detail-group.actions .detail-actions .action { + float: right; + /*+placement:shift 2px 7px;*/ + position: relative; + left: 2px; + top: 7px; +} + .detail-group table td.detail-actions { width: 59%; height: 26px; diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index ddb562251e8..d4cc57f57b9 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -1281,6 +1281,25 @@ }); }, notification: { poll: pollAsyncJobResult } + }, + + // Remove NIC/Network from VM + remove: { + label: 'label.action.delete.network', + messages: { + confirm: function(args) { + return 'message.action.delete.network'; + }, + notification: function(args) { + return 'label.action.delete.network'; + } + }, + action: function(args) { + args.response.success(); + }, + notification: { + poll: function(args) { args.complete(); } + } } }, fields: [ diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index 427010af0a8..ddb62f02fde 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -698,7 +698,10 @@ $.each(actions, function(key, value) { if ($.inArray(key, allowedActions) == -1 || - (key == 'edit' && options.compact)) return true; + (options.ignoreAddAction && key == 'add') || + (key == 'edit' && options.compact)) { + return true; + } var $action = $('
') .addClass('action').addClass(key) @@ -1073,6 +1076,18 @@ }) ); } + + // Add action bar + if (tabData.actions) { + var $actions = makeActionButtons(tabData.actions, { + actionFilter: tabData.actions.actionFilter, + data: item, + context: $detailView.data('view-args').context, + ignoreAddAction: true + }); + + $fieldContent.find('th').append($actions); + } }); // Add item action From 564a850f1b6aa227b02c732d8f095569858ec3c0 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Mon, 8 Apr 2013 16:37:27 -0700 Subject: [PATCH 006/283] WIP --- ui/scripts/instances.js | 2 +- ui/scripts/ui/widgets/detailView.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index d4cc57f57b9..3c9696da599 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -1284,7 +1284,7 @@ }, // Remove NIC/Network from VM - remove: { + destroy: { label: 'label.action.delete.network', messages: { confirm: function(args) { diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index ddb62f02fde..54f4166cae0 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -57,7 +57,10 @@ * Default behavior for actions -- just show a confirmation popup and add notification */ standard: function($detailView, args, additional) { - var action = args.actions[args.actionName]; + var tab = args.tabs[args.activeTab]; + var isMultiple = tab.multiple; + + var action = isMultiple ? tab.actions[args.actionName] : args.actions[args.actionName]; var preAction = action.preAction; var notification = action.notification ? action.notification : {}; @@ -1078,7 +1081,7 @@ } // Add action bar - if (tabData.actions) { + if (tabData.multiple && tabData.actions) { var $actions = makeActionButtons(tabData.actions, { actionFilter: tabData.actions.actionFilter, data: item, From 876e93b441f5042fb872fd7e01c1e793988e0915 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 9 Apr 2013 14:15:29 -0700 Subject: [PATCH 007/283] VM multiple NICs: Fix broken UI due to API call changes --- ui/scripts/network.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/scripts/network.js b/ui/scripts/network.js index cc1aad34927..6f6a073812f 100755 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -1186,7 +1186,7 @@ virtualmachineid: args.context.instances[0].id }, success: function(json) { - var ips = json.listnics.nic ? json.listnics.nic[0].secondaryip : []; + var ips = json.listnicsresponse.nic ? json.listnicsresponse.nic[0].secondaryip : []; args.response.success({ data: $(ips).map(function(index, ip) { @@ -1252,7 +1252,7 @@ virtualmachineid: args.context.instances[0].id }, success: function(json) { - var ips = json.listnics.nic[0].secondaryip + var ips = json.listnicsresponse.nic[0].secondaryip args.response.success({ data: $.grep($(ips).map(function(index, ip) { From e0692b39d9409fb2913b26533790f495d17beaf4 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 9 Apr 2013 14:16:01 -0700 Subject: [PATCH 008/283] List view UI: Fix 'no data to show' message not appearing in some cases --- ui/scripts/ui/widgets/listView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js index 4b88647e6f1..1c74056c75b 100644 --- a/ui/scripts/ui/widgets/listView.js +++ b/ui/scripts/ui/widgets/listView.js @@ -863,7 +863,7 @@ var uiCustom = listViewArgs.uiCustom; var subselect = uiCustom ? listViewArgs.listView.subselect : null; - if (!data || ($.isArray(data) && !data.length)) { + if (!data || !data.length) { if (!$tbody.find('tr').size()) { return [ $('').addClass('empty').append( From 9d5c375678fd7477361b8f6aaab914ba682e4cf8 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 9 Apr 2013 14:52:06 -0700 Subject: [PATCH 009/283] Instance wizard: clean up JS formatting --- ui/scripts/instanceWizard.js | 924 +++++++++++++++++------------------ 1 file changed, 462 insertions(+), 462 deletions(-) diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js index e1aeafde67c..277719c0acb 100644 --- a/ui/scripts/instanceWizard.js +++ b/ui/scripts/instanceWizard.js @@ -68,475 +68,475 @@ // Data providers for each wizard step steps: [ - - // Step 1: Setup - function(args) { - if(args.initArgs.pluginForm != null && args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier chart - //populate only one zone to the dropdown, the zone which the VPC is under. - zoneObjs = [{ - id: args.context.vpc[0].zoneid, - name: args.context.vpc[0].zonename, - networktype: 'Advanced' - }]; - args.response.success({ data: {zones: zoneObjs}}); - } - else { //from Instance page - $.ajax({ - url: createURL("listZones&available=true"), - dataType: "json", - async: false, - success: function(json) { - zoneObjs = json.listzonesresponse.zone; - args.response.success({ data: {zones: zoneObjs}}); - } - }); - } - }, + + // Step 1: Setup + function(args) { + if(args.initArgs.pluginForm != null && args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier chart + //populate only one zone to the dropdown, the zone which the VPC is under. + zoneObjs = [{ + id: args.context.vpc[0].zoneid, + name: args.context.vpc[0].zonename, + networktype: 'Advanced' + }]; + args.response.success({ data: {zones: zoneObjs}}); + } + else { //from Instance page + $.ajax({ + url: createURL("listZones&available=true"), + dataType: "json", + async: false, + success: function(json) { + zoneObjs = json.listzonesresponse.zone; + args.response.success({ data: {zones: zoneObjs}}); + } + }); + } + }, - // Step 2: Select template - function(args) { - $(zoneObjs).each(function(){ - if(this.id == args.currentData.zoneid) { - selectedZoneObj = this; - return false; //break the $.each() loop - } - }); - if(selectedZoneObj == null) { - alert("error: can't find matched zone object"); - return; - } - - $.ajax({ - url: createURL("listHypervisors&zoneid="+args.currentData.zoneid), - dataType: "json", - async: false, - success: function(json) { - hypervisorObjs = json.listhypervisorsresponse.hypervisor; - } - }); - - //***** get templates/ISOs (begin) ***** - var selectedTemplate = args.currentData['select-template']; - if (selectedTemplate == 'select-template') { - var hypervisorArray = []; - $(hypervisorObjs).each(function(index, item) { - hypervisorArray.push(item.name); - }); - - $.ajax({ - url: createURL("listTemplates&templatefilter=featured&zoneid="+args.currentData.zoneid), - dataType: "json", - async: false, - success: function(json) { - if(json.listtemplatesresponse.template == null) { - featuredTemplateObjs = null; - } - else { - featuredTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { - if($.inArray(item.hypervisor, hypervisorArray) > -1) - return true; - }); - } + // Step 2: Select template + function(args) { + $(zoneObjs).each(function(){ + if(this.id == args.currentData.zoneid) { + selectedZoneObj = this; + return false; //break the $.each() loop } }); + if(selectedZoneObj == null) { + alert("error: can't find matched zone object"); + return; + } + $.ajax({ - url: createURL("listTemplates&templatefilter=community&zoneid="+args.currentData.zoneid), + url: createURL("listHypervisors&zoneid="+args.currentData.zoneid), dataType: "json", async: false, success: function(json) { - if(json.listtemplatesresponse.template == null) { - communityTemplateObjs = null; - } - else { - communityTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { - if($.inArray(item.hypervisor, hypervisorArray) > -1) - return true; - }); - } + hypervisorObjs = json.listhypervisorsresponse.hypervisor; } }); - $.ajax({ - url: createURL("listTemplates&templatefilter=selfexecutable&zoneid="+args.currentData.zoneid), - dataType: "json", - async: false, - success: function(json) { - if(json.listtemplatesresponse.template == null) { - myTemplateObjs = null; - } - else { - myTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { - if($.inArray(item.hypervisor, hypervisorArray) > -1) - return true; - }); - } - } - }); - } else if (selectedTemplate == 'select-iso') { - $.ajax({ - url: createURL("listIsos&isofilter=featured&zoneid=" + args.currentData.zoneid + "&bootable=true"), - dataType: "json", - async: false, - success: function(json) { - if(json.listisosresponse.iso == null) { - featuredIsoObjs = null; - } - else { - featuredIsoObjs = json.listisosresponse.iso; - } - } - }); - $.ajax({ - url: createURL("listIsos&isofilter=community&zoneid=" + args.currentData.zoneid + "&bootable=true"), - dataType: "json", - async: false, - success: function(json) { - if(json.listisosresponse.iso == null) { - communityIsoObjs = null; - } - else { - communityIsoObjs = json.listisosresponse.iso; - } - } - }); - $.ajax({ - url: createURL("listIsos&isofilter=selfexecutable&zoneid=" + args.currentData.zoneid + "&bootable=true"), - dataType: "json", - async: false, - success: function(json) { - if(json.listisosresponse.iso == null) { - myIsoObjs = null; - } - else { - myIsoObjs = json.listisosresponse.iso; - } - } - }); - } - //***** get templates/ISOs (end) ***** + //***** get templates/ISOs (begin) ***** + var selectedTemplate = args.currentData['select-template']; + if (selectedTemplate == 'select-template') { + var hypervisorArray = []; + $(hypervisorObjs).each(function(index, item) { + hypervisorArray.push(item.name); + }); - var templatesObj = {}; - if (selectedTemplate == 'select-template') { - templatesObj = { - featuredtemplates: featuredTemplateObjs, - communitytemplates: communityTemplateObjs, - mytemplates: myTemplateObjs - } - } else if (selectedTemplate == 'select-iso') { - templatesObj = { - featuredisos: featuredIsoObjs, - communityisos: communityIsoObjs, - myisos: myIsoObjs - } - } - args.response.success({ - hypervisor: { - idField: 'name', - nameField: 'name' - }, - data: { - templates: templatesObj, - hypervisors: hypervisorObjs - } - }); - }, - - // Step 3: Service offering - function(args) { - if(args.currentData["select-template"] == "select-template") { - if(featuredTemplateObjs != null && featuredTemplateObjs.length > 0) { - for(var i=0; i < featuredTemplateObjs.length; i++) { - if(featuredTemplateObjs[i].id == args.currentData.templateid) { - selectedTemplateObj = featuredTemplateObjs[i]; - break; + $.ajax({ + url: createURL("listTemplates&templatefilter=featured&zoneid="+args.currentData.zoneid), + dataType: "json", + async: false, + success: function(json) { + if(json.listtemplatesresponse.template == null) { + featuredTemplateObjs = null; + } + else { + featuredTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { + if($.inArray(item.hypervisor, hypervisorArray) > -1) + return true; + }); + } } + }); + $.ajax({ + url: createURL("listTemplates&templatefilter=community&zoneid="+args.currentData.zoneid), + dataType: "json", + async: false, + success: function(json) { + if(json.listtemplatesresponse.template == null) { + communityTemplateObjs = null; + } + else { + communityTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { + if($.inArray(item.hypervisor, hypervisorArray) > -1) + return true; + }); + } + } + }); + $.ajax({ + url: createURL("listTemplates&templatefilter=selfexecutable&zoneid="+args.currentData.zoneid), + dataType: "json", + async: false, + success: function(json) { + if(json.listtemplatesresponse.template == null) { + myTemplateObjs = null; + } + else { + myTemplateObjs = $.grep(json.listtemplatesresponse.template, function(item, index) { + if($.inArray(item.hypervisor, hypervisorArray) > -1) + return true; + }); + } + } + }); + } else if (selectedTemplate == 'select-iso') { + $.ajax({ + url: createURL("listIsos&isofilter=featured&zoneid=" + args.currentData.zoneid + "&bootable=true"), + dataType: "json", + async: false, + success: function(json) { + if(json.listisosresponse.iso == null) { + featuredIsoObjs = null; + } + else { + featuredIsoObjs = json.listisosresponse.iso; + } + } + }); + $.ajax({ + url: createURL("listIsos&isofilter=community&zoneid=" + args.currentData.zoneid + "&bootable=true"), + dataType: "json", + async: false, + success: function(json) { + if(json.listisosresponse.iso == null) { + communityIsoObjs = null; + } + else { + communityIsoObjs = json.listisosresponse.iso; + } + } + }); + $.ajax({ + url: createURL("listIsos&isofilter=selfexecutable&zoneid=" + args.currentData.zoneid + "&bootable=true"), + dataType: "json", + async: false, + success: function(json) { + if(json.listisosresponse.iso == null) { + myIsoObjs = null; + } + else { + myIsoObjs = json.listisosresponse.iso; + } + } + }); + } + //***** get templates/ISOs (end) ***** + + + var templatesObj = {}; + if (selectedTemplate == 'select-template') { + templatesObj = { + featuredtemplates: featuredTemplateObjs, + communitytemplates: communityTemplateObjs, + mytemplates: myTemplateObjs + } + } else if (selectedTemplate == 'select-iso') { + templatesObj = { + featuredisos: featuredIsoObjs, + communityisos: communityIsoObjs, + myisos: myIsoObjs } } - if(selectedTemplateObj == null) { - if(communityTemplateObjs != null && communityTemplateObjs.length > 0) { - for(var i=0; i < communityTemplateObjs.length; i++) { - if(communityTemplateObjs[i].id == args.currentData.templateid) { - selectedTemplateObj = communityTemplateObjs[i]; + args.response.success({ + hypervisor: { + idField: 'name', + nameField: 'name' + }, + data: { + templates: templatesObj, + hypervisors: hypervisorObjs + } + }); + }, + + // Step 3: Service offering + function(args) { + if(args.currentData["select-template"] == "select-template") { + if(featuredTemplateObjs != null && featuredTemplateObjs.length > 0) { + for(var i=0; i < featuredTemplateObjs.length; i++) { + if(featuredTemplateObjs[i].id == args.currentData.templateid) { + selectedTemplateObj = featuredTemplateObjs[i]; break; } } } - } - if(selectedTemplateObj == null) { - if(myTemplateObjs != null && myTemplateObjs.length > 0) { - for(var i=0; i < myTemplateObjs.length; i++) { - if(myTemplateObjs[i].id == args.currentData.templateid) { - selectedTemplateObj = myTemplateObjs[i]; - break; - } - } - } - } - if(selectedTemplateObj == null) - alert("unable to find matched template object"); - else - selectedHypervisor = selectedTemplateObj.hypervisor; - } - else { //(args.currentData["select-template"] == "select-iso" - selectedHypervisor = args.currentData.hypervisorid; - } - - $.ajax({ - url: createURL("listServiceOfferings&issystem=false"), - dataType: "json", - async: true, - success: function(json) { - serviceOfferingObjs = json.listserviceofferingsresponse.serviceoffering; - args.response.success({ - data: {serviceOfferings: serviceOfferingObjs} - }); - } - }); - }, - - // Step 4: Data disk offering - function(args) { - var isRequred = (args.currentData["select-template"] == "select-iso"? true: false); - $.ajax({ - url: createURL("listDiskOfferings"), - dataType: "json", - async: true, - success: function(json) { - diskOfferingObjs = json.listdiskofferingsresponse.diskoffering; - args.response.success({ - required: isRequred, - customFlag: 'iscustomized', // Field determines if custom slider is shown - data: {diskOfferings: diskOfferingObjs} - }); - } - }); - }, - - // Step 5: Network - function(args) { - if(diskOfferingObjs != null && diskOfferingObjs.length > 0) { - for(var i=0; i < diskOfferingObjs.length; i++) { - if(diskOfferingObjs[i].id == args.currentData.diskofferingid) { - selectedDiskOfferingObj = diskOfferingObjs[i]; - break; - } - } - } - - if (selectedZoneObj.networktype == "Advanced") { //Advanced zone. Show network list. - var $networkStep = $(".step.network:visible .nothing-to-select"); - var $networkStepContainer = $('.step.network:visible'); - - if(args.initArgs.pluginForm != null && args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier chart - step5ContainerType = 'nothing-to-select'; - $networkStep.find("#from_instance_page_1").hide(); - $networkStep.find("#from_instance_page_2").hide(); - $networkStep.find("#from_vpc_tier").text("tier " + args.context.networks[0].name); - $networkStep.find("#from_vpc_tier").show(); - } else { //from Instance page - if(selectedZoneObj.securitygroupsenabled != true) { // Advanced SG-disabled zone - step5ContainerType = 'select-network'; - $networkStep.find("#from_instance_page_1").show(); - $networkStep.find("#from_instance_page_2").show(); - $networkStep.find("#from_vpc_tier").text(""); - $networkStep.find("#from_vpc_tier").hide(); - $networkStepContainer.removeClass('next-use-security-groups'); - } else { // Advanced SG-enabled zone - step5ContainerType = 'select-advanced-sg'; - } - - if ($networkStepContainer.hasClass('next-use-security-groups')) { - $networkStepContainer.removeClass('repeat next-use-security-groups loaded'); - step5ContainerType = 'select-security-group'; - } - } - } - else { //Basic zone. Show securigy group list or nothing(when no SecurityGroup service in guest network) - var includingSecurityGroupService = false; - $.ajax({ - url: createURL("listNetworks&trafficType=Guest&zoneId=" + selectedZoneObj.id), - dataType: "json", - async: false, - success: function(json) { - //basic zone should have only one guest network returned in this API call - var items = json.listnetworksresponse.network; - if(items != null && items.length > 0) { - var networkObj = items[0]; //basic zone has only one guest network - var serviceObjArray = networkObj.service; - for(var k = 0; k < serviceObjArray.length; k++) { - if(serviceObjArray[k].name == "SecurityGroup") { - includingSecurityGroupService = true; + if(selectedTemplateObj == null) { + if(communityTemplateObjs != null && communityTemplateObjs.length > 0) { + for(var i=0; i < communityTemplateObjs.length; i++) { + if(communityTemplateObjs[i].id == args.currentData.templateid) { + selectedTemplateObj = communityTemplateObjs[i]; break; } } } } - }); - - if(includingSecurityGroupService == false || selectedHypervisor == "VMware") { - step5ContainerType = 'nothing-to-select'; - } - else { - step5ContainerType = 'select-security-group'; - } - } - - //step5ContainerType = 'nothing-to-select'; //for testing only, comment it out before checking in - if(step5ContainerType == 'select-network' || step5ContainerType == 'select-advanced-sg') { - var defaultNetworkArray = [], optionalNetworkArray = []; - var networkData = { - zoneId: args.currentData.zoneid, - canusefordeploy: true - }; - - if(selectedZoneObj.networktype == 'Advanced' && selectedZoneObj.securitygroupsenabled == true) { - $.extend(networkData, { - type: 'Shared' - }); - } - - if (!(cloudStack.context.projects && cloudStack.context.projects[0])) { - networkData.domainid = g_domainid; - networkData.account = g_account; - } - - var vpcObjs; - - //listVPCs without account/domainid/listAll parameter will return only VPCs belonging to the current login. That's what should happen in Instances page's VM Wizard. - //i.e. If the current login is root-admin, do not show VPCs belonging to regular-user/domain-admin in Instances page's VM Wizard. - $.ajax({ - url: createURL('listVPCs'), - async: false, - success: function(json) { - vpcObjs = json.listvpcsresponse.vpc ? json.listvpcsresponse.vpc : []; - } - }); - - var networkObjsToPopulate = []; - $.ajax({ - url: createURL('listNetworks'), - data: networkData, - async: false, - success: function(json) { - networkObjs = json.listnetworksresponse.network ? json.listnetworksresponse.network : []; - if(networkObjs.length > 0) { - for(var i = 0; i < networkObjs.length; i++) { - var networkObj = networkObjs[i]; - var includingSecurityGroup = false; - var serviceObjArray = networkObj.service; - for(var k = 0; k < serviceObjArray.length; k++) { - if(serviceObjArray[k].name == "SecurityGroup") { - networkObjs[i].type = networkObjs[i].type + ' (sg)'; - includingSecurityGroup = true; - break; - } - } - - if (networkObj.vpcid) { - networkObj._singleSelect = true; + if(selectedTemplateObj == null) { + if(myTemplateObjs != null && myTemplateObjs.length > 0) { + for(var i=0; i < myTemplateObjs.length; i++) { + if(myTemplateObjs[i].id == args.currentData.templateid) { + selectedTemplateObj = myTemplateObjs[i]; + break; } - - //for Advanced SG-enabled zone, list only SG network offerings - if(selectedZoneObj.networktype == 'Advanced' && selectedZoneObj.securitygroupsenabled == true) { - if(includingSecurityGroup == false) - continue; //skip to next network offering - } - networkObjsToPopulate.push(networkObj); - } - } - } - }); - - $.ajax({ - url: createURL("listNetworkOfferings"), - dataType: "json", - data: { - forvpc: false, - zoneid: args.currentData.zoneid, - guestiptype: 'Isolated', - supportedServices: 'SourceNat', - specifyvlan: false, - state: 'Enabled' - }, - async: false, - success: function(json) { - networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering; - } - }); - //get network offerings (end) *** - - $networkStepContainer.removeClass('repeat next-use-security-groups'); - - if (step5ContainerType == 'select-advanced-sg') { - $networkStepContainer.addClass('repeat next-use-security-groups'); - - // Add guest network is disabled - $networkStepContainer.find('.select-network').addClass('no-add-network'); - } else { - $networkStepContainer.find('.select-network').removeClass('no-add-network'); - } - - args.response.success({ - type: 'select-network', - data: { - networkObjs: networkObjsToPopulate, - securityGroups: [], - networkOfferings: networkOfferingObjs, - vpcs: vpcObjs - } - }); - } - - else if(step5ContainerType == 'select-security-group') { - var securityGroupArray = []; - var data = { - domainid: g_domainid, - account: g_account - }; - - $.ajax({ - url: createURL("listSecurityGroups"), - dataType: "json", - async: false, - data: cloudStack.context.projects ? {} : data, - success: function(json) { - var items = json.listsecuritygroupsresponse.securitygroup; - if (items != null && items.length > 0) { - for (var i = 0; i < items.length; i++) { - securityGroupArray.push(items[i]); } } } - }); - args.response.success({ - type: 'select-security-group', - data: { - networkObjs: [], - securityGroups: securityGroupArray, - networkOfferings: [], - vpcs: [] + if(selectedTemplateObj == null) + alert("unable to find matched template object"); + else + selectedHypervisor = selectedTemplateObj.hypervisor; + } + else { //(args.currentData["select-template"] == "select-iso" + selectedHypervisor = args.currentData.hypervisorid; + } + + $.ajax({ + url: createURL("listServiceOfferings&issystem=false"), + dataType: "json", + async: true, + success: function(json) { + serviceOfferingObjs = json.listserviceofferingsresponse.serviceoffering; + args.response.success({ + data: {serviceOfferings: serviceOfferingObjs} + }); } }); - } + }, - else if(step5ContainerType == 'nothing-to-select') { - args.response.success({ - type: 'nothing-to-select', - data: { - networkObjs: [], - securityGroups: [], - networkOfferings: [], - vpcs: [] + // Step 4: Data disk offering + function(args) { + var isRequred = (args.currentData["select-template"] == "select-iso"? true: false); + $.ajax({ + url: createURL("listDiskOfferings"), + dataType: "json", + async: true, + success: function(json) { + diskOfferingObjs = json.listdiskofferingsresponse.diskoffering; + args.response.success({ + required: isRequred, + customFlag: 'iscustomized', // Field determines if custom slider is shown + data: {diskOfferings: diskOfferingObjs} + }); } }); + }, + + // Step 6: Network + function(args) { + if(diskOfferingObjs != null && diskOfferingObjs.length > 0) { + for(var i=0; i < diskOfferingObjs.length; i++) { + if(diskOfferingObjs[i].id == args.currentData.diskofferingid) { + selectedDiskOfferingObj = diskOfferingObjs[i]; + break; + } + } + } + + if (selectedZoneObj.networktype == "Advanced") { //Advanced zone. Show network list. + var $networkStep = $(".step.network:visible .nothing-to-select"); + var $networkStepContainer = $('.step.network:visible'); + + if(args.initArgs.pluginForm != null && args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier chart + step5ContainerType = 'nothing-to-select'; + $networkStep.find("#from_instance_page_1").hide(); + $networkStep.find("#from_instance_page_2").hide(); + $networkStep.find("#from_vpc_tier").text("tier " + args.context.networks[0].name); + $networkStep.find("#from_vpc_tier").show(); + } else { //from Instance page + if(selectedZoneObj.securitygroupsenabled != true) { // Advanced SG-disabled zone + step5ContainerType = 'select-network'; + $networkStep.find("#from_instance_page_1").show(); + $networkStep.find("#from_instance_page_2").show(); + $networkStep.find("#from_vpc_tier").text(""); + $networkStep.find("#from_vpc_tier").hide(); + $networkStepContainer.removeClass('next-use-security-groups'); + } else { // Advanced SG-enabled zone + step5ContainerType = 'select-advanced-sg'; + } + + if ($networkStepContainer.hasClass('next-use-security-groups')) { + $networkStepContainer.removeClass('repeat next-use-security-groups loaded'); + step5ContainerType = 'select-security-group'; + } + } + } + else { //Basic zone. Show securigy group list or nothing(when no SecurityGroup service in guest network) + var includingSecurityGroupService = false; + $.ajax({ + url: createURL("listNetworks&trafficType=Guest&zoneId=" + selectedZoneObj.id), + dataType: "json", + async: false, + success: function(json) { + //basic zone should have only one guest network returned in this API call + var items = json.listnetworksresponse.network; + if(items != null && items.length > 0) { + var networkObj = items[0]; //basic zone has only one guest network + var serviceObjArray = networkObj.service; + for(var k = 0; k < serviceObjArray.length; k++) { + if(serviceObjArray[k].name == "SecurityGroup") { + includingSecurityGroupService = true; + break; + } + } + } + } + }); + + if(includingSecurityGroupService == false || selectedHypervisor == "VMware") { + step5ContainerType = 'nothing-to-select'; + } + else { + step5ContainerType = 'select-security-group'; + } + } + + //step5ContainerType = 'nothing-to-select'; //for testing only, comment it out before checking in + if(step5ContainerType == 'select-network' || step5ContainerType == 'select-advanced-sg') { + var defaultNetworkArray = [], optionalNetworkArray = []; + var networkData = { + zoneId: args.currentData.zoneid, + canusefordeploy: true + }; + + if(selectedZoneObj.networktype == 'Advanced' && selectedZoneObj.securitygroupsenabled == true) { + $.extend(networkData, { + type: 'Shared' + }); + } + + if (!(cloudStack.context.projects && cloudStack.context.projects[0])) { + networkData.domainid = g_domainid; + networkData.account = g_account; + } + + var vpcObjs; + + //listVPCs without account/domainid/listAll parameter will return only VPCs belonging to the current login. That's what should happen in Instances page's VM Wizard. + //i.e. If the current login is root-admin, do not show VPCs belonging to regular-user/domain-admin in Instances page's VM Wizard. + $.ajax({ + url: createURL('listVPCs'), + async: false, + success: function(json) { + vpcObjs = json.listvpcsresponse.vpc ? json.listvpcsresponse.vpc : []; + } + }); + + var networkObjsToPopulate = []; + $.ajax({ + url: createURL('listNetworks'), + data: networkData, + async: false, + success: function(json) { + networkObjs = json.listnetworksresponse.network ? json.listnetworksresponse.network : []; + if(networkObjs.length > 0) { + for(var i = 0; i < networkObjs.length; i++) { + var networkObj = networkObjs[i]; + var includingSecurityGroup = false; + var serviceObjArray = networkObj.service; + for(var k = 0; k < serviceObjArray.length; k++) { + if(serviceObjArray[k].name == "SecurityGroup") { + networkObjs[i].type = networkObjs[i].type + ' (sg)'; + includingSecurityGroup = true; + break; + } + } + + if (networkObj.vpcid) { + networkObj._singleSelect = true; + } + + //for Advanced SG-enabled zone, list only SG network offerings + if(selectedZoneObj.networktype == 'Advanced' && selectedZoneObj.securitygroupsenabled == true) { + if(includingSecurityGroup == false) + continue; //skip to next network offering + } + networkObjsToPopulate.push(networkObj); + } + } + } + }); + + $.ajax({ + url: createURL("listNetworkOfferings"), + dataType: "json", + data: { + forvpc: false, + zoneid: args.currentData.zoneid, + guestiptype: 'Isolated', + supportedServices: 'SourceNat', + specifyvlan: false, + state: 'Enabled' + }, + async: false, + success: function(json) { + networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering; + } + }); + //get network offerings (end) *** + + $networkStepContainer.removeClass('repeat next-use-security-groups'); + + if (step5ContainerType == 'select-advanced-sg') { + $networkStepContainer.addClass('repeat next-use-security-groups'); + + // Add guest network is disabled + $networkStepContainer.find('.select-network').addClass('no-add-network'); + } else { + $networkStepContainer.find('.select-network').removeClass('no-add-network'); + } + + args.response.success({ + type: 'select-network', + data: { + networkObjs: networkObjsToPopulate, + securityGroups: [], + networkOfferings: networkOfferingObjs, + vpcs: vpcObjs + } + }); + } + + else if(step5ContainerType == 'select-security-group') { + var securityGroupArray = []; + var data = { + domainid: g_domainid, + account: g_account + }; + + $.ajax({ + url: createURL("listSecurityGroups"), + dataType: "json", + async: false, + data: cloudStack.context.projects ? {} : data, + success: function(json) { + var items = json.listsecuritygroupsresponse.securitygroup; + if (items != null && items.length > 0) { + for (var i = 0; i < items.length; i++) { + securityGroupArray.push(items[i]); + } + } + } + }); + args.response.success({ + type: 'select-security-group', + data: { + networkObjs: [], + securityGroups: securityGroupArray, + networkOfferings: [], + vpcs: [] + } + }); + } + + else if(step5ContainerType == 'nothing-to-select') { + args.response.success({ + type: 'nothing-to-select', + data: { + networkObjs: [], + securityGroups: [], + networkOfferings: [], + vpcs: [] + } + }); + } + + }, + + // Step 6: Review + function(args) { + return false; } - - }, - - // Step 6: Review - function(args) { - return false; - } ], action: function(args) { // Create a new VM!!!! @@ -638,12 +638,12 @@ if(checkedSecurityGroupIdArray.length > 0) array1.push("&securitygroupids=" + checkedSecurityGroupIdArray.join(",")); - + if(selectedZoneObj.networktype == "Advanced" && selectedZoneObj.securitygroupsenabled == true) { // Advanced SG-enabled zone var array2 = []; var myNetworks = $('.multi-wizard:visible form').data('my-networks'); //widget limitation: If using an advanced security group zone, get the guest networks like this var defaultNetworkId = $('.multi-wizard:visible form').find('input[name=defaultNetwork]:checked').val(); - + var checkedNetworkIdArray; if(typeof(myNetworks) == "object" && myNetworks.length != null) { //myNetworks is an array of string, e.g. ["203", "202"], checkedNetworkIdArray = myNetworks; @@ -703,30 +703,30 @@ var vmid = json.deployvirtualmachineresponse.id; args.response.success( {_custom: - {jobId: jid, - getUpdatedItem: function(json) { - var item = json.queryasyncjobresultresponse.jobresult.virtualmachine; - if (item.password != null) - alert("Password of new VM " + item.displayname + " is " + item.password); - return item; - }, - getActionFilter: function() { - return cloudStack.actionFilter.vmActionFilter; - }, - getUpdatedItemWhenAsyncJobFails: function() { - var item; - $.ajax({ - url: createURL("listVirtualMachines&id="+vmid), - dataType: "json", - async: false, - success: function(json) { - item = json.listvirtualmachinesresponse.virtualmachine[0]; - } - }); - return item; - } - } - } + {jobId: jid, + getUpdatedItem: function(json) { + var item = json.queryasyncjobresultresponse.jobresult.virtualmachine; + if (item.password != null) + alert("Password of new VM " + item.displayname + " is " + item.password); + return item; + }, + getActionFilter: function() { + return cloudStack.actionFilter.vmActionFilter; + }, + getUpdatedItemWhenAsyncJobFails: function() { + var item; + $.ajax({ + url: createURL("listVirtualMachines&id="+vmid), + dataType: "json", + async: false, + success: function(json) { + item = json.listvirtualmachinesresponse.virtualmachine[0]; + } + }); + return item; + } + } + } ); }, error: function(XMLHttpResponse) { From e907a08fba6a4000e2f5b98192ff69066092c273 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 9 Apr 2013 15:58:29 -0700 Subject: [PATCH 010/283] Affinity UI: Add step to instance wizard --- .../classes/resources/messages.properties | 6 ++++ ui/css/cloudstack3.css | 28 ++++++++++++++++--- ui/dictionary.jsp | 6 ++++ ui/index.jsp | 13 +++++++-- ui/scripts/instanceWizard.js | 12 ++++++++ ui/scripts/ui-custom/instanceWizard.js | 19 +++++++++++++ 6 files changed, 78 insertions(+), 6 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index d62cbaeb99b..abd1e300ddc 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -17,6 +17,12 @@ #new labels (begin) ********************************************************************************************** +label.affinity=Affinity +label.anti.affinity=Anti-affinity +label.affinity.groups=Affinity Groups +label.anti.affinity.groups=Anti-affinity Groups +label.affinity.group=Affinity Group +label.anti.affinity.group=Anti-affinity Group message.redirecting.region=Redirecting to region... label.use.vm.ip=Use VM IP: label.cpu.limits=CPU limits diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 7ebda9b8f36..1890476149e 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -5222,6 +5222,10 @@ label.error { position: relative; } +.multi-wizard.instance-wizard .progress ul li { + width: 109px; +} + .multi-wizard .progress ul li.first { /*+border-radius:5px 0 0 5px;*/ -moz-border-radius: 5px 0 0 5px; @@ -5263,6 +5267,10 @@ label.error { text-align: center; } +.multi-wizard.instance-wizard .progress ul li span { + left: 36px; +} + .multi-wizard .progress ul li span.multiline { width: 71px; top: 12px; @@ -5279,6 +5287,10 @@ label.error { z-index: 1000; } +.multi-wizard.instance-wizard .progress ul li span.arrow { + left: 27px; +} + .multi-wizard .progress ul li.active span.arrow { background-position: -1px -396px; } @@ -5299,6 +5311,15 @@ label.error { background: transparent; } +.multi-wizard.instance-wizard .progress ul li span.number { + left: 16px; +} + +.multi-wizard.instance-wizard .progress ul li span.multiline { + width: 79px; + left: 23px; +} + .multi-wizard .progress ul li.active span { /*+text-shadow:0px -1px 1px #004AFF;*/ -moz-text-shadow: 0px -1px 1px #004AFF; @@ -11761,12 +11782,11 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it .updateResourceLimits:hover .icon { background-position: -100px -614px; } - + .addVlanRange .icon { background-position: -168px -31px; } - .addVlanRange:hover .icon { background-position: -168px -613px; } @@ -11796,8 +11816,8 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: -168px -31px; } -.reset .icon , -.scaleUp .icon{ +.reset .icon, +.scaleUp .icon { background-position: -168px -31px; } diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp index 11e98cf5024..ffe0e891980 100644 --- a/ui/dictionary.jsp +++ b/ui/dictionary.jsp @@ -25,6 +25,12 @@ under the License. <% long now = System.currentTimeMillis(); %> + + diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 1c4c38c75fd..b230cf72583 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -437,7 +437,6 @@ poll: pollAsyncJobResult } }, - snapshot: { messages: { notification: function(args) { @@ -500,7 +499,6 @@ pool: pollAsyncJobResult } }, - destroy: { label: 'label.action.destroy.instance', compactLabel: 'label.destroy', @@ -566,7 +564,6 @@ } } }, - reset: { label: 'Reset VM', messages:{ @@ -597,8 +594,81 @@ } } - }, + }, + changeAffinity: { + label: 'Change affinity', + + action: { + custom: cloudStack.uiCustom.affinity({ + tierSelect: function(args) { + if ('vpc' in args.context) { //from VPC section + args.$tierSelect.show(); //show tier dropdown + + $.ajax({ //populate tier dropdown + url: createURL("listNetworks"), + async: false, + data: { + vpcid: args.context.vpc[0].id, + //listAll: true, //do not pass listAll to listNetworks under VPC + domainid: args.context.vpc[0].domainid, + account: args.context.vpc[0].account, + supportedservices: 'StaticNat' + }, + success: function(json) { + var networks = json.listnetworksresponse.network; + var items = [{ id: -1, description: 'Please select a tier' }]; + $(networks).each(function(){ + items.push({id: this.id, description: this.displaytext}); + }); + args.response.success({ data: items }); + } + }); + } + else { //from Guest Network section + args.$tierSelect.hide(); + } + + args.$tierSelect.change(function() { + args.$tierSelect.closest('.list-view').listView('refresh'); + }); + args.$tierSelect.closest('.list-view').listView('refresh'); + }, + + listView: { + listView: { + id: 'affinityGroups', + fields: { + name: { label: 'label.name' }, + type: { label: 'label.type' } + }, + dataProvider: function(args) { + args.response.success({ + data: [ + { name: 'Affinity Group 1', type: 'Affinity' }, + { name: 'Affinity Group 2', type: 'Anti-affinity' }, + { name: 'Anti-affinity Group', type: 'Anti-affinity' } + ] + }); + } + } + }, + action: function(args) { + args.response.success(); + } + }) + }, + messages: { + notification: function(args) { + return 'label.action.enable.static.NAT'; + } + }, + notification: { + poll: function(args) { + args.complete(); + } + } + }, edit: { label: 'label.edit', @@ -608,7 +678,7 @@ group: args.data.group, ostypeid: args.data.guestosid }; - + if(args.data.displayname != args.context.instances[0].displayname) { $.extend(data, { displayName: args.data.displayname @@ -1404,6 +1474,7 @@ allowedActions.push("reset"); allowedActions.push("snapshot"); allowedActions.push("scaleUp"); + allowedActions.push("changeAffinity"); if(isAdmin()) allowedActions.push("migrateToAnotherStorage"); diff --git a/ui/scripts/ui-custom/affinity.js b/ui/scripts/ui-custom/affinity.js new file mode 100644 index 00000000000..1a1eb552cba --- /dev/null +++ b/ui/scripts/ui-custom/affinity.js @@ -0,0 +1,171 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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. +(function(cloudStack, $) { + cloudStack.uiCustom.affinity = function(args) { + var listView = args.listView; + var action = args.action; + var tierSelect = args.tierSelect; + + return function(args) { + var context = args.context; + var $instanceRow = args.$instanceRow; + + var vmList = function(args) { + // Create a listing of instances, based on limited information + // from main instances list view + var $listView; + var instances = $.extend(true, {}, args.listView, { + context: context, + uiCustom: true + }); + + instances.listView.actions = { + select: { + label: _l('label.select.instance'), + type: 'checkbox', + action: { + uiCustom: function(args) { + var $item = args.$item; + var $input = $item.find('td.actions input:visible'); + + if ($input.attr('type') == 'checkbox') { + if ($input.is(':checked')) + $item.addClass('multi-edit-selected'); + else + $item.removeClass('multi-edit-selected'); + } else { + $item.siblings().removeClass('multi-edit-selected'); + $item.addClass('multi-edit-selected'); + } + } + } + } + }; + + $listView = $('
').listView(instances); + + // Change action label + $listView.find('th.actions').html(_l('label.select')); + + return $listView; + }; + + var $dataList = vmList({ + listView: listView + }).dialog({ + dialogClass: 'multi-edit-add-list panel', + width: 825, + title: _l('label.select.vm.for.static.nat'), + buttons: [ + { + text: _l('label.apply'), + 'class': 'ok', + click: function() { + if ($dataList.find('.tier-select select').val() == -1) { + cloudStack.dialog.notice({ message: ('Please select a tier')}); + return false; + } + + if (!$dataList.find( + 'input[type=radio]:checked, input[type=checkbox]:checked' + ).size()) { + cloudStack.dialog.notice({ message: _l('message.select.instance')}); + + return false; + } + + var complete = args.complete; + var start = args.start; + + start(); + $dataList.fadeOut(function() { + action({ + tierID: $dataList.find('.tier-select select').val(), + _subselect: $dataList.find('tr.multi-edit-selected .subselect select').val(), + context: $.extend(true, {}, context, { + instances: [ + $dataList.find('tr.multi-edit-selected').data('json-obj') + ] + }), + response: { + success: function(args) { + complete({ + $item: $instanceRow + }); + }, + error: function(args) { + cloudStack.dialog.notice({ message: args }); + } + } + }); + $dataList.remove(); + }); + + $('div.overlay').fadeOut(function() { + $('div.overlay').remove(); + }); + } + }, + { + text: _l('label.cancel'), + 'class': 'cancel', + click: function() { + $dataList.fadeOut(function() { + $dataList.remove(); + }); + $('div.overlay').fadeOut(function() { + $('div.overlay').remove(); + }); + } + } + ] + }).parent('.ui-dialog').overlay(); + + // Add tier select dialog + if (tierSelect) { + var $toolbar = $dataList.find('.toolbar'); + var $tierSelect = $('
').addClass('filters tier-select').prependTo($toolbar); + var $tierSelectLabel = $('
- +
From 7cef52122796414e18e5d23b1bcdb2caed93361f Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 24 Apr 2013 16:46:17 -0700 Subject: [PATCH 047/283] Add icon for 'change affinity' action --- ui/css/cloudstack3.css | 19 +++++++++++-------- ui/images/sprites.png | Bin 188552 -> 189677 bytes 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 5f916a67016..15190d446d9 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -11690,7 +11690,6 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: 0px -707px; } - .attach .icon, .attachISO .icon, .attachDisk .icon { @@ -11874,16 +11873,13 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it } .removeVlanRange .icon { - background-position: 1px -92px; } -.removeVlanRange:hover .icon{ - +.removeVlanRange:hover .icon { background-position: 1px -92px; } - .resize .icon, .updateResourceCount .icon { background-position: -167px -66px; @@ -11913,9 +11909,8 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: -168px -31px; } -.scaleUp .icon{ - background-position: -167px -66px; - +.scaleUp .icon { + background-position: -167px -66px; } .restoreVM:hover .icon, @@ -12047,6 +12042,14 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: -228px -646px; } +.changeAffinity .icon { + background-position: -264px -2px; +} + +.changeAffinity:hover .icon { + background-position: -263px -583px; +} + .label-hovered { cursor: pointer; color: #0000FF !important; diff --git a/ui/images/sprites.png b/ui/images/sprites.png index 03b01b32fa118795756d73db565d603096e3c7c3..ac7a276e091569406018ae03186bb4894c9c61c1 100644 GIT binary patch literal 189677 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

r!WTTO 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�+J@JVoTuOO?!NCj>ypGDLu_O?XEow(d)_d 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 z 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 From f1bdae006ad9d9345a9f1707437b051b27c55492 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 24 Apr 2013 16:53:22 -0700 Subject: [PATCH 048/283] Add icons for 'add account,' 'release from account' --- ui/css/cloudstack3.css | 16 ++++++++++++++++ ui/images/sprites.png | Bin 189677 -> 192407 bytes 2 files changed, 16 insertions(+) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 15190d446d9..340b089c4e6 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -12050,6 +12050,22 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: -263px -583px; } +.releaseFromAccount .icon { + background-position: -230px -123px; +} + +.releaseFromAccount:hover .icon { + background-position: -229px -704px; +} + +.addAccount .icon { + background-position: -231px -96px; +} + +.addAccount:hover .icon { + background-position: -230px -677px; +} + .label-hovered { cursor: pointer; color: #0000FF !important; diff --git a/ui/images/sprites.png b/ui/images/sprites.png index ac7a276e091569406018ae03186bb4894c9c61c1..132588d10049a3d4058d35ba137015ac988fa27d 100644 GIT binary patch literal 192407 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 z zrK-BV@f!CbhUi!AnTDr67J_8MV&X7IN@5H@x`@B8uppOzI1bJ}>iHjR>8q=sp$O8_ zzEe*h-3-X5(~+0|{_v}NG~?ruk!CVxeO;ZO#l0@LQdNn7iL+5RE{xmMEI?navFiGZPLZgS!Tf$g-Uk9&$=x z&}rov0y1DotT94})&a_G)~=-jko1xqB_M^~}!fRq`_` z0}Vn_lAAfVN%neTkY&mz%eglzTKhlc_KI~frR-gBmD*N(l*@Tk1EW?~Hj6E_F!pf) z|13(hHN3**rift-9lsq@;B$xb)$;2;7PVwUE9HfP`^g_tSEHR?ZbB_)2e;RtrRzRl zYpu?#s+7e5eM7}$r#{F&@Uc7vtYEXklrE8m+it4Lk!WA-0C#+YoT@!%E9-}kj-;?0 zmXPsb@|L&$b6*5rKyB)ItiYpa-`LEk;@g|;X4I%LXd7JP`2cj?Phw^vtkf1~Kjbx( z{3eNe$n~A)WEfmZOiUyoPRvN?_T0O40|A#{IK;5DqNJs?q2k<07X}|1CchSWtSf}> zRA={j??vNQL?`w`s3@+TPuNB-*`UqyZYweN?+5oLDu=Ds&h8HtHX@pMJh5yjeY z-y z1jOFlda>|JxUSDc=mKhiIU>N+wcXbZHq5=jqHTsY!Gz}oU(Vf#oP21?Tv0?Ixvy3;KSGNt8u!_g+wei@@ zL=K8D$M2fSW{Ckh_Mqxx8*<>*{WClqLGnpfwit(;ci)$`!l#YFUIsy69c*iqz^G7> zxk*0@))YE2BGx|huknR=K9;S<#Xz3Tu;Rp&UDl{{y^p^^s~=jtAs#I(BrxC&2p!A_oS++ISa7{n43cs_<}h?%+j}d?5Ma0+F9$| zhb_UepzB6l>iLl!N*g zZ_n2n7kA-=;{z)WvsY5}eNQbrVJW~*&d2ur{Jwkt@$UQAXtg9^2+^jWsx$m9kriN8@!ogmkPyeIZNK> zi!2B8hRgw_z&r=PEla?i`SR0oK2sK-Pp3Rg3Sab=k2G2y z3o?S>V5dBs&AxR<9A;|&CO}qc<}d1D_YwT);p*Xrlaup$CHSd#)kUX|ZJ!e9H(OmD zjA>k-Fb>ZGj0TDb$MD}?`(&>LwN=$$IHn3uHG~XO_&ed`2ICQ?SFyW~wm28`ircy6 zlYs)n7T$HRPb-_Eo0OP%?@tP4XMmEs`cgw3YvyfOhS>HMq?}AmH(r_+(o%y2>qMSq z#lL{kf6mVf?cbNi5RO}zTDSA_3!xYv_U<1&y5VqTg8pVFRBX>rN=cRcgT-E*UD{|6 z7ZVM_pdO;)Mn!0(Q9J+%9-yF6kT)LFth00qO1z5fEt*kOl$i?!GtQ@9(R00KlVP{ za^H66;u&2Q*zftwW|T>!PF3i%GG1;HE5@|pD3GK;f^~Uz6kl$(Kl&P)a{fMy&3%z( zlPa>!s=G^{^oDfawROvO^vK41oS&aR*m?z_&HDw6o=!(&x_?l3Yy)U>L)}GlmQL;s zS>~$WXuqORzGkqM-WMm}=2G&maw+Ns!rM`}Bt*U9UuzSn5W~nY46b_sgLY%<82UHh=E*niV;@ zd7n8iFTR6FNJ=pd;8!Qazkomd3O}=s^tbot{%FbKMp*rWs=ddl6wk# zmjeV(^_Mz2JNdhxWhIgXZ*=g)xxysfEMS zNH)IfhB3||9FJQqG=)y4V@2AIGG-bd4I{snmAxHK=G+S09xd#=gtnwXmq`L5;<})4 z?yGqs`1mmvifJvfOL>7q3kOs{IT39^7d|Zpby+hNx7bwweyAgEbHpg{*$Jkg_(JaSd}Ccq0Zj9ZpMJg0xbBIK6Lm34l6A~Z8X3M6j_!% z^n&l>rsk2I1BTvFi+HQiYtrW4Qmvk~RPT6MIHOLCQGH&XQ|JP1;2qgW<>_3dfLeNg z0$0VDrM(zS=o|3|qj7f0Pv{aYrItZG-Y;N2mXWtfDf<1i=vL~?&(HGvL!_zQwSLz- zi<(ra!&69G*zqM=#lHWviUP-Ouzw0X$xTxM)D7O_z)za0Tkf<;oY7HH*v6D ze0=7i-IwTgBq(}$FkFymb0uBB@Dcb)($>%FzzQy5M5p>rtwF z^`xZ|=vC{)aM}*oq$E~5aJ+r{HtUXrUiBo8u2YwkO;?$jg;KZI+Nw!!UY525GER)P zWLUq{X;J+M;crw}XAN3b%&q#B;cIyloJnugit_R@8&D`>F=K`%h;sW_sGk`hFRRjA17lIJ=n=e z+{fGddJpTgHRc^M{&-3oHb)JGv{?s1e(%yuzu8gpr3BCh=HwSvg@_sq@rx8YBd1q= zNAwGusby7e=i*(X>Gi}ZKGCv1ex%!<;Mw*`(cq}(@~S>;cxa;7b!lWwtGMy#jA{!m zzx>!F`BdC`tEHO8`%hOXSj$p{o^P5HK0&}J$L_Zj8LO_Q^%}c7>N%-yIKTIT>ndpq z-)jj3`2f)$WPB^6kR-Ixr&$Mw`b^ZVnPGDwyB-S;0y+|$TjP{>?;4D86($x@94RpU z=3o`k(bK59+mDA1)M>s@1U$yYph2~|+h~w0#5CdWC$SSwhs%>TR~3~dM{Uu0uXgre z>iNx*J1u_>&@R1K$BO$4mY%4}%~Y7}$4$E*eZ`ifdqd*a))?wXjEOFuStZjI78ax_ zOXLj-9xfjI^hvqnjsdV-IF)x>#!+H0Vsl!SK?E znS8|X@T5P*e$>5|pMM)->iRE3Z)g19=005<-QY)W?~*VtFv=!y{i_~>D778@6JgVII2sgmzsF(^O13lTRDQ;C zUW$No2s&?F$V4&>t{-}JmnCV8IXbm<$X&jA-A%bUk+o$#$?6!CWuBCk+up0Ko{anw z9o;S)|E!X|fN3hi`G{Dm^bN6J#tUvD8jif7)e@{ff18ZqCR!{`>UHzss1^OHRElm$f9yE!L!U)B7l1-W@GyB_a=e%(+#uR)<+FOHt!GblOZUnZm<&Z-R`kR> z2{*TU`+6|xGRI?KCA9t{=7oPFl}3=we{)v#ikht_TsuWXIXFs(miCkbQSi`T$zop8 zA2oPDTCuoa9vFj-x2HZV-x4+K%WR}7KakL2ljAOo}?-cG{kpE?4p@sV3#rQ}ZTb@6nZ z_!7qui6ARr`qA&PU+7HD{De(D1!%)KlU3U=a`!%Tg6DptY??H{J1c+5=2h(4#JnZ)F?5ChSc%XC?VBe z*WwYjvD+WSoOIrgf6Ogo8IGO~1kncG>wPqHi*@W7yWxY`o)Y`EU#-1v-l05pQOX!6 zCHH=1+}OdjaL|#UQE$J*Ti)!&PDz-3anYTy&B=+)r+Rs!Bp-UpC%Qj{$0;i zk1=vvi$x`L7{Sk?t|pj?zafdUL@qAf;C|`MFdPhajSWsRe^;s&A0?xC7#fEIm4B#i z+f&D(%_l69%N0&1Mw|ZosUBCA?bWlkhwH$7Tlk_acak1sDnge=^!h{Wx^zRQu6#f#2=3fMweN`&Q;+*g@d3 z+e@UN{8rVQAgD-O<(onq9aNHPj%NxdcbG;NSvXi#KWI0Kei`VP?tILu-ssfUR#zlt zDF%~FjJ;99ujbk!jaq~5xXAd@zIrJa*vUyW<$vYrCPDmgNB?qL@YqJ#h%RSD^iyM*+RCRA#{B`e#1I$*zm$qed)c{u>EgU}hcqdgMWHac7jItZ_QW?kBp^(0 zlMze&%ec5ii$S#FJ#a}Efg!6T#B|(b`d0VwYTOLh30PZ6y#=fhm|&*ApWsrr7_H$h~G~ zqAgV#h=8iDXwU-EJn2&HW= z#PhwTU;bxGoy%-lSRxng;um}*@W<-5<4K76vk!3HOIKK-d3~SFBh>n)9i+^4K;x-+ zn8&{j;2E6IgBzkcj}-WP&7#0q9kRd4aIxbAx0Y-ydN6Ld)k1v#_*nm z;^L!+KP;T?vls_G<>3EX+-r`3fPJxrS2|YmhQRp+xV5}D+wI8etaB2Mth{C-X;!j8 zIs%NO`F|V6PD*O#m-~f|mFd{=Kb(ovI$-YP`WgV+5`N*;sHYq`fyYlwF?rdZYs2!| zpb`C#!>hhBG2$?vygcHExgjlhyv%E#G19Wka`JN40L3Yi(`NMin@1JPe|}0%`Li9sUT~hy1y;ypPW7-y{ocptlrg9U2^eb;Y{- zBtLJ+C8bzS=FL0Dxw%$rFK=yGrJvM7hQB`mh6Z4ASe3>-1ve9SB{%PgvWjkT9y5oY zpQ86A4$x@6%@3$TYSISnL}WaFlGJrKgd;5l%o)!_$3Go978f<$f%r$(_b%|*_VC+W zK;EQHN4t&P!Dl(BBa})rF)nVWy5Z+T&L`PV*kEHNER&i_BfhqL7YBR3M(qc-GGKJ` zrpt~JOTG1{!CHCrmtJp-cFodWc`6!lpgCkYSvAck9yvtmghL`lN7>m6=Qj^VmnhIF z-u??OCKc+;D9bAgYS$O05&MpjmY4H_osvsTA>TqkJw}Wdzec-H7w97wIM(%-seeFm z*pH^bVZZq4`c1r$T{rNU?)ZRyJ#bQ61M`i((j&gLfpi1S{OKY)N}ErdW*sa`kfioyoN3ryGv8Qh~Gcg%(%HOTCKP%<2wx{c2fx6}ke79Lm;qKSW*l-oxmA z!h9Zxf`zNUxbxK=vL(#E3;gB4kScv_eY$!Hy2^dn=1`ruvdTwmxE>l)pzoK(%rLf^ zoyckEzNV!rkkR8ry~T?`aS`gsx0%7r{3P4Yw>6!zpSRXBV3^Flep<>$ti=#ctnTk8 z9ST44)Yt#^SC8HF6Kdu3qPzIfS^{g$bkXJdXz?~>VYE%893?{iWu)>ft3O&4!+pn> z7R^)hw#tMQ0xs_t-Z!TT7O!7<;=FabJm3tI1yv zKjZGYA8$>Q4%RU|%1$zf?9Gs6yn8Gy9G;MsjzUenpKEC)LbEj6DkGv1xgZE7RcT{~ zLwfKRV_YG0z_E@R(@o8L??-$Yu-#nCxHfysV1e4HPD{qA9)q%zj*?K4*zdM4(*abH zM9uR!P=Fd3Feuw7o9WM5k*1$q!isHEVnTS z^~he#^Rebo2xK$md2Emm5MZ!$zqBhAQDcY^=HS>(YoAZaH6#BA7XX?UrW>Cb{E!^T zgoK3i(Sm8y_3@0?+>qr=oz&W|bOZLtb;OT>`Iw5(xn;R}+m4+LUbJ6n@zsn0j~RZ`7tV{iU(Lv`&S!~)G{)nNG^?!hqhuM&)7Odh zPbK5YFuvj4e`^1}01CC3(KBgd*MkcH@K+#83^!n`P@_C6WZd$ogfc*kiEn88xEVlu zSjX$#ovZbjOvyL^^b@r1VF7J6NqT9Yyg?iG9VauE_VC4+&if@#$cyi9<5&LxO*G4p z&%28zCPtZm*>qj$y2~PTZ$HX;4bn@X^Iz(+J0zL$BJ`7swt5U54nNK^CAnpchrB=!njzPfn^u&n$aAv%(FNd6G3Et=B+52%Egi;AwCwpyH*wBw$&`XCdzJAr+vMWT6 zBQi2ulk%aRMQ|lO3YByBHkMCL-YZZX^4F`pnCaIHr`&d*uXQi(m%f|rW%des4l+El z_V%xAirIMj%*%bak~%mYsHEDZN_j6AVwwU7sgnSiOGcT(huFTRKFUblw9aeu<8rEV z+mtKb%xslsr&#EMFEA&aE`B(^mPSt>;ER17sNQ3?u{u%ZDLwR^lkp-_w*;j=?5Nbg zHSOiP5W<_n*=6q>(B001Pl5pcgOt47Jg)*o+RGdcN?v@DQ>>P`=69b1K%Zov+hS}S z?l1oC-03_NczyIDy*YpLvpex&xx>^a-ip8D59zC^+orl+lv0W-TUjoPQMBy$G86?QTFHUL|L zVWLZloNnwBaBekR3M&$SJib1jPv^0Ed;V^d=feW#CtoBzcHoAA29K7iY6>bZuYCUL z$X;NXxLiSBLW*#m=)_LVMa`k`)#H`IWC16aOhj@3eTB$X3G1N>onn3vDwhF{Z@oHM zFW-7bK=BGh@h+}Cuf25{zqcEa#Ks&FVSjLuh0UVPvoV3w6a3 zw_)pp)zNt?Xry}TTKT!^uhd&e>)3O*>~2p3Sy_D9NZ>*ZkNXl=oR{Y?H<#YTsNv7s z(FxTAkYW-c%@j>>P!!lSx3HC5o36O1*RR&G{ z6lmj~w=jG{!D0}QL&5ZrM1#BC+k_0j*y+W92(pS=opz z3MZLoSY-Y!hR<5{OT&?(Evt2XU1hnzeDxS1HK;5{ihwh4aEM&brGKDlJUnWi#h%-% znZAZ|8XuhFk+L<8(7+t5*2E&Hh20Kdn3DI!i4`0pFwTo@s?rz+irt#wct=t;4PYa47sBwr8OVYZNCX_ zUznu!FJI%Ca@xb0qJ6o~mO>R3NuCTLEAN#qx~kH`&L72%>~JS?D?HjJV)chfP1N5zm#2xF}2J4qHEb% zZEW;A5tYzRvt$5%=+6-1ddKY;U1epVSHzgfh~M<05p=Ka6sWGx+pyucA=!HrZ@=cn z2RixquPuSoH(JxUU~;6$eiIJOJt-e0k`WSB5^>xBywL)U;Vw&_PHub> z{;}=jeg%~!RdHg5q3^f52(y(UeGxy(@MWHf4_DNF2*9s5AN+P|!y~dhYt!VVwy@B% zkwg+OeVTgW=T`v2ZZ6_25yK^1oirm-D$2Jpa|#O`UzD;Y89vhhq_1<=MiF8O5OH|P zNBL&w{IW5&SY5HoekAW9kZCpXC9BipaTOFv#D}>6DFegplHivkl`k!bwfCf4KK##FDrr;jN+bLxsX=M`SAOjPcl;ofB|2>aC(krHq8OePCYh+5vmyuKSU9rNj)kuvd_3&W6VJ~fLayQvW%GD*c})ieIM#Dm4eZom<>}` z$jhA(t(lw-;M3dFUG}HYOg}?R{Wf_NOmU8f6o&3|d4!wW*_D=C*V(zj#8{BqXd6K< zB(+2@C$iC4teL8FY5oW%oYX~oANVCqBxvGxgD4mSxVSQjE**XiU;%Q@tzCVvF=MrQ z@eyx`K?b|uPL5E7V86!)p#hw;AfxzUp@z3ZF7CuX%N&G;DEq}#evxv?NfxjXvWDSU zSL66HjW+X0pzR#5JqWz>=g%Lyzz45h1zvMr1(z{a)i28s{m8%sa`g%Oy{z`7A5)$<4o#8A;=?&_8P z1|yoXil^Q7Oe4TNig_}r65qmN<>!HTz8qN%2d7W_LP=Rg3lG7Gj*INZn;aW$t%7>VP3@z z&qp{}-axz<;#;2Kdz9MQ)@kW!@Sq$K>O2MOhe|0Whq?y1p>Y9WMjCO3WRYE9ULz*N z=FT6PC{XM)NpbzV>??C+dsJZ4QOU0vi*RlODSd zV=X{73{B$Y?}g8})vsUQz1?mFCVQoRdEM*v7O83x0gv+(jIkggwt@R*!gv1Yd!Mef zpX;D0xGzkHy|}m#l1}7%2C`uR?2bS~4J5#jIsp@B_RYlk!5@JMfMM&ld~~;ZC!76= zsLB>WjQ11)ea2K`r|&c57o(bq3kV&3L($6>RqyLG%FqN0Ka;&Pze9I)*XYZk3 zE>TLPmiJV__BfXqTst6L0{49BB}jAcxOtAhsir8C!S1%B^%EQ8I=T0-2vzp%tHpBP ze)Z;W{yPwT;2(Ej=_Rbc>lBcIa_+aL8ElM3<_8OSIugE(@p(}v)Ir$(H zl53_GXUZlu@@81UtEuwX%}4ie*i{1}^<9o2eStPoi_Yw~6&j-*ulKZ(i1weyJX*#KIt1z-!;v@qP7(GxGaQQLG~^h9bj_G z|04pg9XOfg6fs9HxlG(C#C-H~86ysFPVCpuv|bPMby3<3jbhzOdw#3uH)Ilu?p<`u zt|42&*K3Buj?*ZLvnYr)4d~%YFgjZN)jr}5efSIYvBT6A!`Yj2-kx`*_GR!T7T~F< zgkfJS1Na^@%Hf!i9J*$04WlD=na7XnItXTx+0=;nShNcJ==a-qelDx#Kylrz9rMzW#lfwijL>^=0Zjtwnm@pt!N2jD9ZYv!K+hD=1u|p}1q4(t5 zdrEw{^?Udqi*R;4GG|j~@M_3_8x~WM*ydT+-ZW!W7i-`h_0W%5W-uH{u+pl$LSE-8 zFrEAg^t}+{S{o1*#)veuKW%7A2I9Sj-E@UT3dYXD?_HBG9)jli(crkaT-t|08SjMr6Q?V9I1QO*K5Z;qdrqC9^8^rqsj3SfCCRt=qsmsBj23 zn%}96Nqx0s62!H%olu{&LJUmS? z)Tr{*wt5OEe*4OR9+hs&`~CloNLd*u&1fmPVX5g={-8qB0}7j_dgzC|yl7yzcpc^- zTvmpY09f$VI=YrNvE3>(S8!}T`%Vu0xTp8Q&yTXH5H{vBktdIM0U}FAg<<`{rw5ii z=k1#lRoaNiOrsI*k%7vy;fA~-R8|%_qYU%P0NvB#q9W@gTG%H;sN(<1I`0(B%gFMX zu@o%*&RQ{Wns?6{@^N99iDKkx=m^+o;cPf-;1C2zD=7va|FXUZzby-+H&1W^{!Ptp z{?HK!U2ga@V#N=ko=mKFeT6anT*e-Tf|Xm|K~?JFlL<^kj+QF%0-uIVBv|e33z4+r zma`mZf#zh6=!UEwSqY0Icx*u$;Px%7KBAA`Zc`EO#bTsQ8*gtNxop|;B_+dSxUtsO z`tCl=WuWIgzXo~%-iz|vpp?RxthA_4Fc@z`3^R0px2$?Vywj%t3=P62q^wbkG%C<8 zcY4XSHgC(f4G1cSAbKl7BEJ*znYe@nPa~$alm$kYj1TXJYMw|a`juLP#+ zrC4g=I-9ML^7B@3i+2`lRyPfYYS+8v2Cf-u+{d-Es~1S&Xwn#yw#Ubb>cS*`xpXhu zB>GFtXbFoZusav5)##Ot+$0+OTljegvXgJ`KR(l4I!~#2$&U!^N6KJe@vDv=)OnlXD7(m#lGX zpvnRsUJwgo6ee7Nxc#-2$;E!?#N@TBbDG_2E_^UdD(iEc6KeGQ)dtDd_?V~KlxYD9 zAcBK5f`RWKpAhMU`N2mAe9YSvH@EqmRrPe;<}45pIFN}jx&f}jKL9e^FKDthu6T_c zn~x?WqhZ%^dws6j3DYyFSYgcb)F?Yy?9dGMEH&U<;zzf3D#`ItI|HYDL4Z# z02E;H!WV<5s{F;993PvWLn0os4Wke(eXsxaZT;4CeQ!L-Ck%6Ld%G;$?&pW*T0R`l zDxJOBUAF^3Wb#Iq=CoPC?WReWtC}MId%)-+v?d>LoiKo3LTQrZIht7+bf3*iNlWXG zGJYF*sZBQ~JHD98y+uRgMfa(q{p}>Xy|(kf`H3_IkHyo&~2r+ONXllfEjaHIEpvYvvZ&qa!0lKl-|ay)|YclMfU?_D3;Q z(GN`$m_-WXWFqHwU08q(8@O5a0?-B+xT-6DLF7Z7T5t%OoJUN9Isz=)0`>`W0>d;=cb;L&|*)t->HF0yd%l^7h&oeJE zhIMjsj4o5*rwK7X5sPWOxPAOuXs=>BLdWfDysgA#kuUUjCYv2%4Dqi?8&kCqHg zw7I>$Wj29+{ghrUZ0u7S->Sy`Jgr>0t^{T?q0u4X2m*9+B-CwtI5B-xUl$;&5zKi*%vj z%Q3DBt4ZT4qgbs20q8o9#+!U^Nv+&wKD2=~oS5s1G=6Tds4lajK;l^!s3>z+`^cQz zF@BE}YKG1F1q+%?VL`iqy+kaf7%Q7a9yV|8#Ou_i71Qw@cfr_kbK>Fl$5@@(&5iQD z2FIHe4-3!wd1Tl3Prg7{zMUJi3qweR3@$u=c{S+QNo_; zRQygFO{a(Z3k%6Oab=nq$IC{pqK9?fO`RyR`r5KDJe>j;?JRqSfVZ#%beu0^l*~T@ zo&>P`_i_{>h+!jVwZhaJv(4A-tZjYW6MWa+a!nUo&KP>;i9At8TcPvXMeJD-Zy^UDjm+rFwDlw&Ei+oU(Rc%hux@{Lo;{yi)nor+ z3As5r{SAnZCu2j!kA1nM22rT&x-9FKh-Sg_sr?YJFACEuIA|b8t8G6BxbG7aQv#+5 z{(7`xIxegCY~)l%Vre{2u4W!9_46B6j{j|UX$)q1MJ#nYAxnJh!7#-bpLZQYqENe3 zyGirqUrid({T@y=BI>y54@PlpI$ozsciLJ=LKlc{NiQ3-uf}VL_>gw+Q57W`mDko= zR$1P6LBue`hkuFNS@=q-%RXlKESF&N#mWDc_dLKufQe=*ge8kHm)kNx0Oeo}G{kdx zZHIw8rx9#_G*}H=XzQ$P0b69#L7Q}%)g*nyTsU)G08b*gPM}$k zk}xu5y55`Hd~xUFprxPR$w_f%FnPpYdu;iZbyVcR0@*^RFm4({f|1ke&}pL4>61R| zi|T)oEbZB8;ChbLJ$%?^T<){%`h$@S0@UA$N{e&JinXkD0oCHGQxsTve?~C@r^`Yg z@7syYTkKMfnnI@K<2qDv$@k8ulW01|eyPf1m7sT~E}nY$FJ<{cGw^<1kga+Myo; zykJjc_^XE)}!jw-&sv>5aNK|OQeiG%YD4HHT2(L zzksdEvFW&cE{HqlBm9@N#{ZFAh4L_=)=3RDTFH_bPN$_?kK z*KbND3PwPq>X;cR9HHYf&N4>1+pn;#BRo6A)teF-*+AT)*eK%{{wWMS#i7H`W~@NF z`StL@uMP_$3h8s|F5~jn%_GVPMPNN}S@GTPyJUDrf!)6k3~R}3JV)j}%d-Z2USAkq zJuQ{{A06}133iJ)y_3<^X4JA;z9p;OjN7BpH-sl2Yt^ zfR7;|k5=s_)!r_4`Ougm@m$B73&!v(U2=j*B(?egEU29^_+Svo7sIIu1K=qOiaHwU zJRSoWkekD{>S(=lu>@34-#CZg24Cm36mlL2M@&n$&YgGT#ZW;CgMf*?tmvJ{0g0); z*^+vb%?VhgU5cjHkqAlb%k_Hx_cVX_LPejc?+AsJ_Y2QLJL_h%9WxK)hOvo$x>AV! z%9_^$QSTru!hok84-$Jpv+wYODC+n6u(uetJvQNUkUJGv#Rjk@F$UX3z%;0- zcyEW2sC)#ydh%|?J1c~o3RdXy@Y%uEQsdI-vwvP2o{0<#+fV+valbPB}JL4?>z8*<>lU&xtxA@TD0Ppielv$AAs-bMdO zqB{}*p?nc|M@>;99>m8wPwSnwsmvl7UVQm}OPe%awe^OKfS-PLZ~<>O~F>+2>DN+eFwnoSt?Aa>{ix2yndV zEZf^#%vEAN*PA?|dJG&i)XT@`1~59)*{aPwuoXnFpzV&H>`a;O;6g|6*@H)qEYudB z56A&H6{L}*ls5a3qyQ^Cq3_b*!2 zQwLF9$vGE5o|RH0unD%X%AA;7-&X-mBMBG+Kf{ZQ2sGlKf6gt;B_qYhzAk>f96JA0 zvziF^_^7+2M7_|KFFD+Z6BPWYDr$gb+BXHrRAKKc)O+9glH;1}4+I#L{jmgnR2Snd zNd=_0eLhoM!@BL}T$&nt*f+7nh35BV%VdJ4(lHFdl=`GO{_^kx&<~cDbw@o?<2hPx zq$M|dN}3GjTS;#^3(AIuc$FffC>z}zbd9Pfng?7VD|~KnaDje=VW1=F z{Enb1{qv)3Nh_<(u13xVmE3lE9PX`FEEx%b%hq)@sr0MW)9{YWWF7HGA6Kk&lrW0mE!@7~^C7u3YJ zcTBN-U97R)%{|ZE3aS7au%=oZZ!%a82RMNXyhCAur}Mk2HP*rYY1O9;UxeKkb2!T5 zo7vs#tyh4L0fzk{BH?a42pI^pN6_13%T$t|6KzPlx}K7D`Zs?nc%QNQ{!1;CnRZ28 z%=PMqwf*by;t%SUE$zAi>K4_G?c;@IU9TeafqR`~lD5y>Ac|=ESI3iIL1=*~Pf8t@ z4xBQI2n3yi_q47ucDQ}T=NnqiT1ESv@G~<#Q^=B=kdhB6`7vM*dTw>b_pi5ojY~~c z$A{cIoagxy5M=LTM|Pt$Koy75sS&i%RQ26|4IL1_4^})~b{DFVa>5AFK7*J7q zukD#xACn$9$jxy`o@ZZX-Mj+H<{P5V|M}u25EmOy?W*Z*8g0{yw7z*BTR z_JV;*Z+vuL!p%u~l3NB_z8}>veg~fEi2vunHiieSA8?55aaKXl?A-QqV6) zxBQ8PK?eev&$x4Z)_hQD?zZH=xrRy|UnZGP@-O|s?{=4ED-H~yl-aruGS<&U#MMup6D?3n*7hVR|uzDtl(QZPYllhiGsU>^aDJF&!E4H zi$MAM_3KwAxJ`DB0;t_qIAgoHQ;YU=L#PCgP7e+aEcEsD^SBDH5`hrLb+|TSVdms? zB&!kQjVgQ&ns3Q@${|P43r@=GRVXex+Hs?p1@u9ky$?s!X3^B|oPHeseR6V=2=-g6 zpb~Vd0QBm0h(x+9cxq~jQ#yovWOUw^9sm8GL{x>@u<mcIIuQF(c+o1g`$t7eXWmUNlEVykmuamU(OxUyxh+P6cib9z!R}L2c(nSOAbYpn5kj$TJyt|z z$uo&dQ7fM+!gdiKeol(9^r*MsitYSp^E{w);nXJkO|mTT71Gl$xF+@<*)dFhy1Cik zyn&R>=#z4+D*jgYrV=6n3x6a?p^PLQ;+vovMrZE zK4rCN#6Dtk-2@ao7q4TM5+BJW9C+H>@8NM>+_XWxac&7?dHjKLs^=ch8Mr|-K_MaB z{K;=_zFzBz3Nw%8zGQFglE-)OjH@TvtN?TcWap(SD=UFAn^RQ8Q>b40=VD`Hqc@_i zNsicW0*rw5L{tI?S#9&kw)qwgVdr_UL2F+}s!+QXyhC2Q&Y^ZQ%ned2)@gL_iR0+a zt7qv3Z*`U~8IZ!t#>P7|G$bW4OYfT=rx910MKZ~yn0f&#gd2SUXpRAfrCMn1s^`4YkSL9%yY$9oTWvL& zwOV&oFuOf=llgug(3TDi=?x&SB|0qyzRDb>Xo+Gpq4fKW*aPO3JR%+(A|jxaUf4+j z{arrQA}xNNCr>QyAus-_{@gw$?MvXsi;j-Q1%QL>?6tUqohh1Uz~D>Xir+3yTmiEK5W( z9Bj{CgI$5WT69+iExV{&fJe|7pb=fOIu~Th)L8(T_Dyy>O= zptkvvhdew-5j8b@p!lQA4tT9z=dgOBnDL?zb4UCA6XR#`j6jt+Oz>B1$!O5o4gsXw zV>;gtlowYSeUW`PCosIQ8wXecCHe1{`^tAoi_NqeTy}+_Ewl8)>wOT@u(7M3zFz&6 z8})gC&(P4YL9cvV1d|H(&;7GT7eI*4Z#M~l$_MjXKJ^A8fCsvq<;XzV*z-}|JZYq#2AFQ{J2X8TFbS7~;6mehf<;k0R+@^u zkQ_{$miR<}p(DiRN14aM_s@5ivobS+PCIk0 z%goHoC*V&#{bBN7GEhY5t<^| zwBOtJ=G6Imza>}+v9!Fj#4R#~r6({=1@7Og7_YJkDhy>6pCSvrxZy{5<~R9tZ7TvU zIZYf|%ENzWapfR)?haDXG*kmR*tr5QOKAO)?&DE^KA*m#`sj;B`MVzHs&1khP5H)$ zaWklJ?i+hw^?`}i;OCS4tU|3yW|g^*8R&C%8G1o~+g9$~zxDCW&u0;)Y`UB?Z^yX& z+R_jGi<(tSOlOvR^ZXHT2cjDaR*otor{HpqHxZ3!tspc{RQ~<(9Z05|WWV|r63PRR z)k-SpisLe`t(iqV<~Vlt(|>}LkM(9Y`p2m5!pt&~{Qr7fdp@5DNSBkjIWrPRH&FfD zycoH4IcV1CPU9ZKb7xv4Ay^0FpHnAsOi0iEhaUKkT?Cv3`1yD5?*Ho-D8HFoq2@8} z#yzH^>oi^)921|w8Dyv5o&Fh`v_m5&o^XYKCpS`tD=*}HyXJHeyQO~1wM3)X`(Qra zfi3Nyb2!5TTfPvATL1L)$r!;fMH{#+#tf;oZNGvxuu5)=&22Zl-P&MI*|CwggmIsr zX2-QcS!i&A7VJ3{XgJK{n=q%b(AW+oTFW2*WskERgD^7((roa~IX^6%pbOJNLWnOL z#{k{-Hj)zx-f2I>3}{0GO;^aPnFidXOw25|AYfy`gJ>XF>Q4ff;l|_Zzs`4%Px;lF zU}^H54ZPV!=gjnn!dhTX0mXgEH(bt}tiyrCA>fS{$Mgn0-u{(NWOZOFPTT;pHi*YO_&2eL&L^) zOqi$)DuQ;z!gPcUCbKK0UnP>1u((ex=jR0q*E<F#!PbL4TqeLuh7{m1=}$Kg2d^UCXbUiG}} zAB;e7vD=e>?#gRGm?B`-+@JIB*-*&VycXNd9=mwf1NCy6=BfAbImXE2?M?U*r(M+G zqsR=1Cxj3@Ia}!{NI6<_O9`}CYrWg1n4FrzL#v1*R2MP3u>K!$8$OUZO&Bz1>>o8h zKc5gz<88;eGz1`MgkRBq5GWwu$isqZZv;6C#Uy(MgjiGbLps@m8~fgRZE)({6Q3Bu zMN>el=hQ7;xI1%Aq|HX0pGp>@$`N&B#R7+2(_%8Cm$w1TipcW}p0UdDfYFe3 zdNZkYKNAB3bj{*zqHO17iH<#e)TuOrpzz+O|G>>mxPhMKOTg*XjU%X+iCP*n5?@TB$a?UX4$$!C7>WCh&^dF7y@ebp{(@J|VoIuS0vix16r z9RP9e!SqHc`~FNB+DS5J@)vbbGcd;{(6#Ai%GlKvmGC-3yRAdzu4`x6Uob46k+#1h z&|=SC~qa_HJ>*E7)LX^KPZa@fO0x>Cyq~Au`@>}yTT-xomKI#Q&cVFPP zw}ppoAa<^=J(yTp7VlJG(P6`R*Y!HYFM9JFI_8J0JL?16C_%@Kuy>>ZUMv;zaJb{O087>`B?CyZ&`NiDFwBoP?_uKFa){w==om1zN|GT3)sNKMF~K< zP+C>h$;qkzB=t$w;b6WBt=vB~+;(_4aOLe2e5av)W7lo*A*8aYQOS`{h1gFFp`oQatHvW06^`e zpHa(gE3g8yXMk{jh&j4?QZZhjl1HBjm-)MyKlfw*W*&1v9)Jjq{-7-XD-L+TjJPhg zzJb0@i~Q>Bt%iFO>m#J)F1k9W=urY8JYhe#EHHOr1mwBVjsN+UP0RGDqGKjvo%Dg( zFBjAJS&$z)knC&xY_j}4+c(UJSG4Rkz<<)U9OcJ{k=B@5GS&{LjV*%WrS)i_1N}%tG2jiRvuxGUzX&_qj$W{izoQ;|dVDleL_= zSFRD&rq>_HhL4XHP<>4;TEoUc`plH?x=Fuzo2br0&76(@{`r!Y$CI}0 z7o}cNIby;!o7Ab!RkUd7tq_mj4kb}|nNZcQt-P7ZNY%V=(Fbjy{Kk+`#v+R-*nsPLZF}?{-&$(!29Cz-z8jVQ>Jn z{K~-_n3o@lVcR<yd>{pWH)Aj`6S} z*ZWJ6<|+t}zBL9$eP@yGZ6Ci1Pz^Q@wqo9nbevl*?@x^UJwY*KjCc?|7Q5j(dW1=+ zv|XGPlf#UCdnz&!?@5&xVWi~E8R(og?K5iMq56Rj!V{pDafIj0?-ea#he$svbf&>& z3rV1ntKAAT3NS#I3^4uAZEbBifAKpr0!SUSdG0w~Zg}@F$l36Dd}_w%?gn_Z88^kM zZ75({vr#l{ftznib&(L{ z>dsKF&qjD?y&lY*Q&2GuyX}<)(vfbH%&-F9707QPcV-~}RyQdwxX6z(U6oE!pZ(+_ z;z4PSc^U0%r?`gUb#mRc7z5C8n~!knetjoxzG20vlo^S1)<7xN(gIQpqPhYid@1#(zD5`pA`owh`stG_D*cwc_)GM|xwnIXhG~a1 zn_$imLX3AHHcgQ4E;98MlB2AQ1p_O@Fj`wpMMjF-IYhdy+ylzDYDKu&SMv++Xyyp)#Ed(VyTrKZ1+CL%?TqCX`_ojz1K%a6BT*udDws1rR<%?Uyx|V3 z19~-&arf`Y@H*ZViT;@9O(Ge(v(m@zQ`h;#ds}x}=}o4!Hri}QWh>#zkrXsS^X&B+ z6Ro_n%3q;6SMweP>%)VM(eIZar7i?22P$uA4z^JNUXr>8bp1$Tv6s{DD!xOKY|onO zUl<>&?!{z0rPHPwr8umBiIzfI)dR6w8O5B0y&51(n}w6(?@mr)PTRPwq8s5MDo%K` zuc)Yyt=8JAvU&&d4X|}_!Cin>fYZ2eW00wT)-@AKQBnp;^}J^cTwVYP*1(QGftmrC zV3%-4?YYjZ2el7R#kvP;MGrlsI!*ECu-HwzhJ1DoOM&4IBU$UJY3Ge2#rxm+E>_l- z2%kNCE+s2O#IjNks_shG=6@j01^SR-dcbzAz8-vkvk{IiF}WGMLneaJ9=Jgo_*enH+pgT`U2EiMJtjIA zH5hrFJTy&aj;L;Fc?f@NS_6_8;0bMu3|B? zn4|M%12r~wI&FxxCy5kM3^3d2pFv5bzOBC@Y0pA$M^Qye_rD}r%S|>WL56P35~7=! zfUW-i(D%`UZgV$?+s!cQstuPE%BSubW-m)fKXk!IHL3DF=Y;*-7rkwaXJu0cO`5U4 z6jKeb8uH9_>Q%nW1eWQeV+zgHn-fX23c?d)a78U$(ub3beZOvSTWhF{ikQ$f_YA-2 zWw(^i3QT0iKxSp8ZQyU7n$J!S%&F7H>Uo%@<5#)TA9={vhd?9XNAkCBYy(w)Evv0d z)fCk9^%WJJ&%FbTp?1snT>$=!V_=w^oRSGNW)7k?d1!P62^a#R>Ksrh+j>bd{G>z0 zJ6_ZiR{u-@(l70&w_caEUd@jT>KkLyMJ%+_5(4}u76`!r!}bMSUah2_xs)Sm3Tb0w z$^D|K$PX9J*MC@mfa>hx%3#=(&3dKq7Z%DAuFv=28Pk}e^}r1YxmjqOIXPu2x$RE> zWu-@T&(%lf+(eGvfZ;1Ott841(1ox^EXs^}6eP}3^g~;Y<_q%mG8w{qN}I=ioOrKK>E!|XbdNLMDw;-~QchbNgf^MtzL-9F zP|Z-I3tFo0PZ_qhVM^Be&|@)(m>Zq_V4+2lWHGj~(wDUT!e`}i{Ye}B-AXn%D}MG` zE^ZKp@yHU{7zCD$dMOR8;{SybOy?l{{=jB*#|HeMJg3*i9$sVoE||YG|IVHfAB%cX zhJU1#XWJgnm=VT~-@j!x4Ailt8DQdDa(@DIeJ8|I5a?x%}4-xp^=&QH* zMyB%O1vuAikCz*Czg6Mbq%zNc-=`|0g=8?bGUNVv8Sai%VoDYS<956Em@d^lhqNo{ z?axlL>kltAS`6w+MgslmAxQsIzm2`mUW-%z=|#$PWKmbS^hX4{K68t_uLJ1!+9km+xbVZ6o@~H z>yFEdmP4Y+WR~7&+gFayT|VdFkSQvPGR8!l-zNq57*o7vrTS7dFt<33e4;vr+74ul zyOVc6BMYV>M*hu>+B-T|^(!Copu(sEkp~k-VdDqI`iQF#hK)I+BmZVjwK4HqnwsxjBNCneN5rqZ62Z!$b{V?a@$t|+6a}1bg`O^nJ=qkT~KM26Y>&L5)lyfMG? z;^xj?jdbH2y{D>`E?YVaZf_dF;A*`xr^kML+5%|QLrFu@~?TsDfjE2?f0y?scc z<=F~c=<~4X*FeTm^xW*R37O|0(wbT*q5?pNky&;5$(sHWK-G_iwhDh*4;0+1lKQ@= z+`$j1FW|hq)$9fkc9$MSP5bP}LR(y!4X4zp z+y7)6kY28g(!B4;@74-oD&dmW))j*D@mJ{TqR#mZ*nTQzNdZTSzX*2tXc8(1owM}VhvJljFk{qMgS#&>{wrsVHx}sLnMqa)d zrdWiJ7q>}2bnkvXqst?Vl+O9FMc(eV0$+iC>50JkcJ?S`^2{-4dV4RhC=r1h$&UoAZkjsE{I>)Dh>tDok_1kTU%SD19AdYP-yCJ=WUOZ>sp`Sr4;Fj z5^!4nQHl8>XOhOt&JCT^`P$+v85-7!w(a!i2ey#Q9v-YAX6%;g5l641CB9EYL;8yn zM|d1A3Rec5VfBph`aN6k!08DlpqEaMYwx8xTBihl1~| zSE8PfSA2VX`w)On`(c0x*JF3^r3(@Kfc$$b-RZW;zU3~nZK~7&dJ&`}%5B8l!;#S; zef08^cU$Q)C_&jVa#z(@RJ9c5A+#v>e6|m*%VSrWFXthy9s^Sks7S=K9 z5b+qKy+ZJd9OfVTWN1seLlgSQ^W$L=<|8==C-Cfb22?@OR^}1r4FmG{7xR+Fvgh6W z5E!+0EYX|36anw&#hLy|WmnS++klCYBlEKx2WTF#eY4>C3Rc2D83|Da)8Ue%(4kA9 z4l3|`-Cks3A|Guq3^ppj)!XmbAT9I+ObRtpkE}Qw-4~fKyv!9SSZ+q*1#9oU=j1mKWbHqtdTOu5h{LPh%SLD}cD>dagnxV=DM(Zgd-U+cn}fujaE%_G?v_mv=Mxa~GVDcQ(x3ggAYov}Xz4xMOb zZM~*Oz_0wzXWJ0(cT;o|c$GRUa~M{$L6|9>RhGhfx4E1lt(PM|jUF&*gwDx^1#S4# zX3Dnb`lts$RwKX@q3c)yYNi9u#CR6mXLki=FufNUOVb=nIWlCRN;aGsSF9k~#$!P{ zTN|Wn%!=B&d>AQU!9yr@#DG>Qc71tVuRd~MK9j%V%Z5YrF*@uug!O4qHAi2&wv`@x$77-*+oVde!PX7TjKp$j3r>odZT9ITp@fkBQ_t0HdS zR~@{vm?QlsXlCDEa7t7NraVm@0WXbzJio0i(W$EE#Jz`@-ajhAT^xL`LP^JC#BZ(D z3@_X|vEJbB-VjLKJE}n>o1TG;CjbD%dMpKe#X89O>gszw#II4kH{tf?;Ck7vap~() z8;9=o@#`e<7RS#vx-vEvO6&|IB;96Mkz?%q*RQTDTQyPNAyq~@aSD0U*a7*^F--~}C1GP1sY z@{>gFK(&GL;^ILX&&{8RmsaU?&MjEL2py1}w}<0p$%1-R#JK;!M5H~>RP39_2-)Ag z(h_-^!2$PR6#yh=T%9OM2chVB$VBBPCc}$aU;i+NJ{=(0PzlZ##jMQC5Ar}5a+e`D z7i-3~l1-l+MnZ-gNW<3udE6M~h+?2JY!ZzPcphe@!1lk4@cl->?}f1VtTFNHwOmwQ z9yA)T(&~+xJ>)^WVE_P9ad&@&madpL$SozKB183n!>ES!^@_znfWuIfs~m zv40a_8Pyr+tYS-G$nl5&Sqht%;XqQwd^$-=vj06K|As^N z|GwRv^_d}-?zZQc+T+rtl(;fQQCB{_Dh{}2&i@=HCw^85r}o$8 z_JaVl1s*DHG+51ODR>`2ECHZdY&NtPNF&IIeX5hq^5W+oDGilfbt6CjW1I|I_JfGfIH2V+tB?^JU@bOwL@rEf!nnO_ z6cvYiV^WoXL-9^3oDMi?K%%d+?~0r);Ex;UDknk!mh^*<-*?n@(_SdsIyY%9@m%`j zklk>8ZA*BoCVHv+AGcg$)2Ab&Ha`XhfP@x?u0}Iy{qHnIYooq8Hp=pXD6~-_yt&1upS~THir0w=I7?Pt;gjDM@M_%bp*RQ zce%(OGsefMNCqh%=sC!Q%uuyRESPB12FI4i`k~YON4NWi$q--;WbfV_egAS=W_<{UiMLIM>KWoGHU^2k#6;5^y`LtmkLO%6gz2#*pu$Imd{` zy(E$yPnnEl4jSLMf_1^^;m+js)&TyM$M+|;zfIVi;vsNRrFwXtk zC0A`}GW6@4`wqvc{mYxk*5BPuLY~V^;_yJ`f9VE2$B33Fu%Tx!f1=taLn(75%E&d5 z$DK7qEfSt9)^Li(@V78QzFMcEB6CV%<__&)HW-5ROfab{T!lPlOK=9>c6~3h1!e{0 z3NFxs4LAy4*cSaPyT3iNil$JLHXI+-$tzIMOYn%OCj!fBtGx)`tKSZOLnUSC+7k*h zu3r6}Iw5TR0!*t8#%AU`f$jJLpZN&UrA`_KYJWef$)Wz$5^ih=PQ{gT4nA( zHh-@h0{?l9QYSH|q-zm(_i6ij=7;Y58UBVWW5;>De{hGQ$E22LLQ;dz`t0*w0YTA~ zY+a~UJe#R2(R|MAC&;z|G@I=NB3m(Y9=d^pPJ93bVG9<%RF2run76*j#I{R!Tw z^M7PIwRFnQiswItsn0krniAcd2agzleD+MR16paaYi)uH2H;5+uf?HU4@vVU$ zTB?eDPiQ&anTp@F!HzzHC2xxpWo8#VRDb)G-@ZIMr*_|L)qnHwX^9UqT8coK{zE~7 z>!;Tbz==3}IQE9yd?!dh1#-HkMT%l1Zokdt?8j*`OxlLEQ9%|RyEoAT-j1|czT4;+ zFUXqSybmx~HclVB+c`!trypHSi~KnvI_$+Rt;u0Q;U_!A25 za*DT8PTO78T@{X)fbsrj+ZO?pM!n{8>yx@(p4-4)y_sPvaHE9n5vd49->Qcfp(fPR zMT5Ds8j&Kic=H_HHX``Vakre3D_?)v*K4}1dzvyuVEN+LIiVXf`$_A#-dIpl*t-gK zink=~&_lzbfE%A^us;7pl?_#c-S(B)!)qyKKd0+WYg|Q}!om4%-kg0ipRHgbLBuGv z?39yYsdtabBrPfb2?3lyni zn}4K3&9k>%n*OTIpFEd)o1f76qo=T_%zWUYi{o*9ri^*I2*&){Hcn*P`YmCMZbCPh z-|gCN7I0H2W=e=d7;@P8FJxz==BJ}qNzu$4**%Uw7kujwW5t7)3a~Af^rN3#^u`*C zCvCu0wqNQ#!w{7E|Bp=$$Le{xt_cd%oO!*hvl_!6c3g0sm2IN!@sIe3;J!**AqzAZ z0M70)WXFknk)RXti%9llbbWauFt>*qxkV?k>P+G6W)Z_~&j6nI5DV`$i=p_{H2Ej+(0QUr6DBy^>C$O{idAnNmRLrhrMlK}OFcV^f*(d= zGZeQS`|C1d#kVZvNc^p;(&hgyXwQDl@o=&%Qy9nt5G&$&3Ae6Fu6)o4*;5uaToKpH zZ1iISQG2&rrE)G}uZIc}>)eW{4h~cd93}B&45nKoIw)8zE^=a0M^V?)f?DV73sS{j zCFNd2%8^dgQ0)aZL4`Gtgl`EXNxUmWmLf-UjVEB|d7z;bVEdiqiIZt#g~zC}*#|!Q z>TSSy-6de>;rVOfG%O7J1c)VIRpW-$Nyu7@${uO3t z45()oZ}FnKt=9R{KVf~|gx78{GoKyoVW|Q5kt|U+;q2SQ{zqx?MO65E*W(Y)lY zad63qTrmhLK)JZeS+_8z>eonQs`DoLsVeDyypQMm{zgu~=C=9{TEIR>Y{^t6be>bP z3@R3sa^y7gnuivWJ# z0ibTxr&nP1j0nI7`1qtBJy+(~Sbh!Pl4euV8R;8-MeS>a=lt=z4gO(8>AZ^v%-3PA z_}`hANII}X4O)p>`7t&nd5rc2oV83b%#%}o&+^|OVWUQP$kTORSX?G=fK!GUIuE1>a+m|91g;dHugf~A>JTyNB z;JUUw=exV=kSuX!=FH}e<^1gza}D)lU)ecs3^DvTOnk#FKWjza7Lh%8_FTxueE#=} zifLT@&(|=`<=B4PuYq(lWaF)-K4_YW2jmFQM;#BgNnR~IHizN1v&&#WeMF4ejCg41 zEa3;LXsX2>^3_4b>#cI+fbw5Z-=VAhT$HbJS$T18cksY_-k!ns4=aJA{G*2=gvh~C zXk5Hs9Op@8Trwbr1)x-^$I2?=ByMY3%`xAZz|a5C$gbiagrQ2Wj?|5k{xnu4RK*FF znfvohZr?o=ew6XHqM=%PK=nH*>ifHWRzKf+zQ~=_)7iFIx3hp!xo;hGqZwaQo4jA6qE}ly5#0;$atAx%*a^GYre3u=yKR!Uy5nnV8d3Kqonec{L zsrOXWishu*K-|OD-8l7X*vRYd?X}_Oe(dWzC*WUG#qC(orAaD>gfbDiK~@LsX{rFYzt=6b(V_d(dhnUm{QWy+TH0p z1mRFWoCK;ULTGjymy79McZT-pU3)W+-)$Yg-QR&2&{G0O7ALqu;2)v%`4MWn+=8%h zMag%a0bIZFjzS}J=~d+!WPF#y=b`OL{A11j#6^Bd5m$A%p+&SzgJw%mdngnx>IGat z+`B@PR9Vdpp<%Y%>qeR#XN_NM8A}f?mw*0#J`2%1-o~*x31&hK%VK;6xAZL2yN(Hm zGz~#ZikICMOA@He9Nk8+09$j<2!lvGa~`eG5}iOPx4XUSf}o=Ijl=Ih==JTZ+6|u;G8tsLzc<^5RO1D8P(LSNKm|YWZ=R}uUY#P1P|L_O}(MEP2 zWg-~<@HM2X5Pn(bPX2Q`9M!kzOk+@gu$)e_xIB@J*a#o?P<-V25=OeG*cC3PwM)dG zCz_z%Eh?jez8%G!Zq%ApIBtdzi8t^zj-V0C%n{BiPyl@U3oN&-oCw=!^}dQSzL65y za7emFu$3Gg*JP-K@Yht5v?e6`#JY08#fu{l&k2~|w>vRbJIPxE62a*f{j^m!(~QEymd}1@vJ)|n;Z>WRnGPl z!-t3qXWNxy&*71;LXgZ>-j;`#>c0#omqfZ7OZd?bF+#E!k1^=aI8IaC^%&D6z=KJp z5Y%WI%OR(UMYUf<{AC}_R6~#wy4R>Q49IkDIZ>&s#YH%K|H-CFu=Q72Yfz7%Q{eTE zQip7w)BUoO#NyYR2_O>l?++u!Bf%FyxZ+qCNwl||9g#k{SIi{P+n+QW^J?Lfmb|;& zK7^q59&ePJx%&fDN_{^X|I5vdRm}%IB0e_79_-l*aet#0k=iAGEpmkz~op zsjd!&WqSH>q>C-4ZouE}zs1R%Pqi`^4pWa+e!0B@S+jyA;Nz255o^9-A5JIPSeg)x zZpuo$JQR0Y2$)XcqQ{jE^7*^2P-| zfbov`f%IfqNRp&Ikk*5fv#|L|^3(Yu)fu=ct3kcJwT<&65-lF)NiMEjT8iiNXqDek#F`*y_9w@qm+?*ZcPlXR6IWjK`{__!Wyto~k#tMP zafh`kbe$B(+tW`YwcY}ARE@@gEW3;FF#NN+XD2N=+H*MZjn9Ww$;9NgQoG(PfdP>x ztNi)@GDK7lDtzW}NJiL={tj#@x)qakZ@!=nuO6qOlRMAvz@|lJVX(FyZis`@qXSAufG5GqFzIl3QS} zapLB%m~i|qC%u;>Qq(D#O;|hX6EN*O(a4=3@YNg^2fp{)2QK!CW_ z(vQZ5o$VKFB9dt6rP8Bgwf@0KsI^@Kma&mDReKOpF0 z7Sy_oP?V$M-=AM@mYT-+@8Z14M3vzw~IUKvl!)p-L z(V;iTpUQm^rG-$h5tbiw9EE9`B)G)&H$m=-g`cq;}uf1vr?`K3b z#J0uhrt@YHek&+zIYshhz9L;cQva|&Zn+-+5s35k(}qWmolVNj+Acp^d>hjB{8{KZ z+>0Fi-%~xhkXHk|Ia^&`NK-G|=2ZaXJ;TS39hK4|-~Mw6Q#!tlZqOt*#Z2N%m-qu4 zte|-E&wdkl`QPUOHplV*9OS2ruSx!MBL9Eytefy}e*azGgy^LcdmJ=wR5e2T-$zlb zW6F`5k8UZ_0w&-aGc||6dnX*8HcyWY77Wm&c@xEjns+`%C+6?K65#Ms#PZ*W!H6_- z=rlPl8E)@;3iKN8fOq>l)7BcZ7?D5|?oLF2dIT5l?vAxFHl-$#DsyhYds7V&UnacI zk&)d%T%Ixoin!#d53A|pKGt(G}m zTvM{_+IRc0T$9$NSgzlwn`xHt?SO#3p|O%Hn1o{5Zhg)FvFVf++s{JM(9_d%2&g>c zzXak%kj=(2oZq$hr0jY%dtnszIynhnQ061KTfSNXks%L_PzhF}aKkI2#eoT@f#*!5 zpXKYd75z=_8A5i;k>FH2Ai=ywXqcAmC#TM4bC2uqp}bQu8Ur*P(Rt zDII+^+?q35=WP;AKnTby_3>`$7*qtTvg{qOj$CZ(tJ-LjOFrjAZy;WKg~tFZq4+%X za6I|Q{U3Lq<6072uP7@mP{@Yek3YHXzRd*xRf4{_hhd@()Pqd(#2tk?y?? zW#s1|V?NN{qTT(l$Yg@U$G63;Q(tLOOmfD;`s3f62h%LK|LKq41s_MT_@j`tXR!Lu zzwc17?Ub?@CGLbwhaKuKTu)j_ba}790S69rO|Xm#)sL#8l*}l?!T)Z7%p5Z)V0qc7 z72a|j)p$0*8q>1s47pR#^}JE@6IXF?;GDBd;=%+-0%y)o3`iH8PDD9%wX|Hv@0Q`M z@ycSClMHpsUif#jBMSf2E} zX;l20DtC4n2(w`Dg1j>2idcK@h7lk!uo#fpHn1XjLgDk#_QHg4(mH2s-UPeu#xDAB z=uogs+FgzSH~=4!9NS5>4c0)fk6Yl&kAmAN=B?DI@9cnVtc$D5tS&;W`b;1rdSGDS zo0irybfiNuG5UDgN}eek4t%Dz(ysR@Z_JnakZVdUVXLxrh+;*I9-J1 zyrwz@_asGrdi$LqLOe-v$QxWKy9FTH#PjRp>x!DcMu|UFfQ9l`O5;B~&&bHAsjDM; z5d<&^%qGd$*f2jlJZzqM-qT7l%e?yaC#O0-bJ+;!xa(**Bla{ope4(Co{;ml578|B z8z9&4TQCnuk6)15L;hraRpELeY7&c@)x<)%#(ya2Dn&9eNr*YP8K3^CWiZRu~ zJLXVs^aVH2Uc~NJ{l&PV+|p%on~&Z6WFf@C7M$CXgMudLW=bE=t)uYsTVEx1AlJ61 zb*U3&c*NOP^U~^T@V)hTrXwwxR3Pw&`tY4AQNU6=Z(~ ze4GjI>q#5@WVau6nTv8Z&?~J$UM=WjP z8e@z`kle8JcsLWt$o(OTq->uN_u$kdh6#1AW7i~`ve+?wN0BV$dEUu!_Dd|Eeum@( z|I<#K7}2#5qSmpgDH%CAjA-yNv4?xe3N0oRCnt^1zp9cB8^`rZvR%!Hp`oG3FJE3! z$2cEU_8ECiX=#^gDm*NaO^D&PJ(SJh1Q2l88X*pww5K3k4W?K5+e(G@1s@3Aa|Aq{ zwUgRJ7drFp4ZG`>Mb7W%%=d)@j6po)PiaB7C)%@Y+1xbvcP5?@0zc`XQ<)rS0*ud8 z-kUPwVqo|HA@c&9rFP&aMqV%$&dfbY(CF}*if&U#TcCdaHA{di5RV;8uAZ|iDJ{iY zfC6s3lT-=XJ!B|&eAk87VO=?JhU~2eo{1=RAM*jJD}(}WPV=x6DhcM!^jq?^fs448 zeaIBIL4^%bDVpCnR}0!0yw+Z>EaA@>q>|&+&VJGq(x4h6I?%w? zZQ4*QhQhIppWTHSwS|@iy~6sR+wmHEn}yO2>J+NA5p{kj7%wbmK8&1Pj<3RI$#Py~ zKI;QZfI?v$&9Y;cJU~eC2B4|O%O!?_3H*#heE~9@s;a7v{xS^YY;Mbw=_2Yy!9Yv-xGCkY^%N`p}3WbNgDXp(O^^;NZ>)^RCSGVn$#a3>H@LrP`7{5Gdu>sloHA(xDMHn>*UV}WVsjoelH$-7w zP_q5Y>cumaUM%dXRxUP81a_7Ku$I*usS*qG&k&K^ll+q>eG*HLM2L0rTL7NGL<+3Q-sy=D4%qpqbT17t%OnL>a_GGiJ;@<@(*5i+@XK|w)# z6xH%qD_dfNT0i+5)TUD>Dqih8wM{I68-_uS9$ZzzHW>j9c`?Qih=l3TeZU2ptW`}=*qR(dWDFj&3;45tn>|!FkA_yj= zxL+Tk&?ZhpUFtdoXQv_PGNndP=Z&c(g(H=coI`YLilt`5P(;$Q(-sz7!Q!7xAb&`K zC{uamt1CNQ9zWKT=KF47M}wI_t?Hx|9=?`4;MzW}#nfdXeeVHpB?%vyQ10C%;j&KB6Q0w|<#adE41>q4jY_j)#{ zUDkPO7Wq;jGis!zeVt*1+wXuZ`jruV9l|tadWQ!I5_L3{qT?2v!)$eY3S8{30;0 zovhQZ>)Bh|6k}Jim{PkfZ+~5_?^srHFSP@!X6NH`3J2DDRj7TnZFm?RyZ~sQg8bVB z>DU(}IywUqE>jdw&UaPZXDvI(s$JgllE^IyELtAyTxo9(c$c!`RQj7Gm1A}G->V%E@QD4zqQv?uv( zh$#1T57BtWkF?1{*$KdLB}Bb$jZu#P5JL>QSr;?N@|=#-ZU;8{lkXq7cAy2TXkX_! z8zAjm*;H3ye7?J&nMzE&5Xpk?NASCU)+|=TAuKgWIqf{yGu2Egg7<4#L-#wz#XCDA z|I1atUk3pdHevGxCXsyueT4h#-3v&!S+(_?iJuD~n7X&$0R16=x)YPP}oY{+1pvGh)-Y|xG{ z_DF3u*N#rNC=T#qRgUgjC@glz$NIQ`Z61518Utc=hQ3l=zzjdpoCG{+bof;uCc}0a zB2b@4=6NHlw4F?r|_w>h`4 zh;TtkNjI6aKZ}e%OHaI_F}?F&5o;Dj!fJM&U1DFqOc&v`h|>2u zi(XV9RnBqMYk&*Y{4eY)IagOP8ZIO6HF^S)HYrP!-n)dY97QB#=>puWF%c=+7j$8& zwg#lUFNA4INvT56XSfCDI{*CEdrBXnOh8g?41kM+s0(aCPe_!aKx1H;`Tl7m0)Mv4 zrcse}b&Pe2uzZ`}30$4UETQZjqH%F`y%a1{1hTw^aZg2KT!fWg{gkATK8L#TSl}^j zofZ3YSlZPm(n4O5eyMu!6@_=Qe9d}C^=NNxo8MBL90ACEhE0Wd`2kiIKn?haLzqA3 zn!i*v>!A3_%CJy|LINanLP$%5` z%#lnZU32z9q^p1eNQLMoL|GkvHyUR-$NmDtg&|gW#uc11w0gn7nYMVthwhE*@|c<- zhkeXz{fA3}hjCIzjdaJc4WG;V5rv>c=&)u&RZ>^?C7`G@wX`=HIV#@=rGG*-VrKbU zT_z@Nw}{(`;Jde-V~M6#lNtJFzT;~9w>xfUoTcWF$Fvi*q;nBy8x%LPWxdpzad+J2 zFBJRI9w}CJ;wQHCmyfZ7;TIUGWG}caFcUj9LiZp+zX?%M(5OFYKI8p#Q9q_OQ&EWx zL!Wi~wm(alI`1Ov&$fyZL%07L2M9Y5gOt934+@a2V|Clyq^u)jOw7C-=RuumD*CJP_pr4R?3l6pHc1l!CCSr$N5?X9UOU@sIFgj z-75fXC|e*4qjNLG0&F&x&{DeuB&yG+=Nz_r)jq3+$Dc3sRdS4&5gsGw*M*-teO`pV zqE?Aj%2!huTbT(zzWZFQ3*<7_EkR8>(9J*E>(mDF>!9o1p;ToE?I{{6#BunUd_Y4t zeu<3sjt&=nfG{jVRR-2+;_A4HkR+}AUKGIefsxW~ul zQs2ygx?Pj|o}B}OzrolYaek{aH-|U_1l%_a7%U+EhB7(PXI6trmU$|vf4fxJ=yl_0 z(}s@${Y_FouQC`D5(1ArXbs+udU8brWfkInFlgg~~||+99$zhG-1ji_2_psQ438iy}IXPH8c-wWN7oKC1ZN zP8`pv9g@o;5eB8p3h}%BdlyPq*ebdNW@gz_DBy5qj+y&SYekFcu8AT|tNFgTj|nqT zDm+gWDbgMVMT?(OENA+zXT_+5T7sW%t%Rr-=(TO0#-i=uSGAP}$q2WYi}|a90{Ba$ zurbeL4|SzR@~{N2*v?w0?afRS1Wy&(Ji6``#xouqFJkd)OR>4Dmk%C1LOE}`5>=VSlJyGLH9^=^VWs1n-?iV|eT z=UB^57ayq&rxYB7AJJ~ZT?$V zNyxFrk*B5y)-sPPubdLOJdb7k;8u1Z&5dZGW<+LY=5(5U<1P%hYmY|q)ieJyibtV+ zL-)n%TZg43q26H*^W~o#W2UN}H+Z(ap@jnqhG~CZJM8?s>!y_PT+9-+{He*pazYWx zPq-&_SS%`Z%fH#mNGbt08*biJz{3C8v{zJ| z^oW4BJ&p^((w&Q^=Zi~9=wJN!shs}=;OIBf{VsTw#lEr>rmFyHh|W~9liC}45eS4I zP@B_w3{3k&{)CIWI}C9%;%`)Cztl(?#r&t7pGFUbn0hOhd z%FD6;L)%}5RrP&g!|2*27!z z`ujiEd!Dc7oNrv4z1JFZ%sIyxbIg0(d_!E=_)(_txZp|7vQ-RMB>Oz`R1y<8YPHgXu2} znF>INj-~c^KU@K*ruY)}x+M6uKBC5R6!HCeKeM7ZUq^G*WIKf&gN27oDQYzEmG98R zw2W&ROiF~?E?kY*P*_@6T>LrgB0nb=O;h|E&3Ax>YbKl|H{KL8)t~sW592=?OVpRd zv0)B>BoGCIcyN~I=jUgg28GZ2TW&y$Vl!J?W?JiaADePhL*&v<>#yCX5N7#@E@994H+0FUVmxtchja#8Wptm* zsq7mMJJ&J5?8~5z$lYNz=b+HB*OYE?USp$Bef4m)qaFybJah*`)(A?(3vn^xpjD7r z_F!UeuIV--nBr<0iX(K;4c3?Pa?GmVyW3X5%iv{oVZ~M9om3&QXj5AaY|!)HhA-NQ zVwEb?^99Hnn97vGU-9z zj;?Ps*(YX4k`wXg3x0mb47tfii^h?{t^#jl)ah8R~uc(2X1)4K%@KPVrSqA4 zuja#<1s#2(I;-iaTwZd1M{lE%Kk`!}j!u8dZl0n${>g?6;ZsasLO+feTzm^IvVe!M zBcmKRIomJHR+xBN+PvW)*^a3x1MzZYX$XtbgF==)_j9Lm!v{ zbw*dcj;Xt1%y(<&QtaeQw)Kar{#+b)*_Nkhs?T>mEQQp!otQ;&hxdD)4zCCAHxuXx zT%g6;r@c@mx74Ajb06;o^Z7=P7mI|hXsPbYpKgYwDfNCW-2L*KyugLe9+ro4!gY$5i{ZI%DjYHROQBE1}cYGX$0_!Y{Uan#JR%O{$Y?Q3;%QKtF# zyT7{%LFyJgw8H3`@&|=ooBV8|N)&MUle)7Wr8)e z8CYZTM{uklc-#@bc_dHfW#;8*T|KZZLqN(LGVV=*>HLSFE!Cq6@yFN;$dD_+Wplb; zXXRJx0U_(@OlR8r_>E5WNd*oiFvYx=j%fjE5LR(H-j9A{Ure8_4GxSo45pE?n*5fD9hZHRSiSMM_DN zRYzU2Mqt@W$TN8*XyHzi0`V)>6n89=51M%f~r8QpQL!$k63@;JV`II0-6HM0)67@3`tJf#RRki+d zxvnhxT7oH#R=F}u0}WUTWEO2#x`}sKx9!U^|B(I=rN-f2rWN7+D?=>5dut|FU)~Ml z0j$-wI23`lKIpr7;(1q3hODlb=IKYK?1o?*rQifRhSj`Q+4|Elw(WfWX230Py*E?*eZi%OL4&iC+4GIXhuB6lmf_mtDrTYrk_#!r1gr`_)vR3)q zerxsf-!v{bbX^m5-h#W}fEQFqi>?2RT(!Ew_6N!W+?4A15Kx|Np zGD5oh^Dy?#FdnJ6rV$i3im~g@b8UjVwN8YyYYQ-C^)%&t68Ek87RZ+v0IWBVBm#8I zeRj+1)utX-pUHade0r44Mw4o^b+0>G?Y(q!)g&C@3<=Gc{2o31J-Ug^&uZsqS2R~4 zc#vKFb5~y%DEAbrEVugnr%Z03qY`iQ%D-ZWc1T>$8?qgjncaYb1sV{{^#D?g`m;dx zpJJ&23d1*D2cHr==7p)?=f^jemWd0@Zfu8)rNaMi#Q0E~J_YZqbzu1k2zKdoX}yZl zs!e9k3RI!g@5{YwjM42dage3{`{b7hi$9l_S27RWj^`AQ=g9ot%sO3+$BFdT(NXq8 z73ca{tY7{RMBJJ5y(VSmhk|)LR7W_H{roPJ6H7->#e1!HzpTE`I4`kJ^1kMgDC%Xm zqw%|AyrG55=`NCIdH+f8g{J`+SJNg948@@vb~3PCQPE zv0)RUJbZ6-@DA7wg@zDju?uHIOEM5HFxk*1k#8Ppq90@%n|`x;P)B;S-?8sDPUFyE zS47F0(?(-d8Y@djnasu23>Mm;S?eaUh{LS=-Ovc+4JEUiJ0ko;4T2v-U=73oMMNLf zp}|^ViBF!De_+EuDfl>4__wx;AD4_Wkm4SfO zLkM#7!Q$(3>>OVN*3A{o5)K^diztLx$nb4qq?~2DATH(JAFq>VoO|yELLP)D4#S3q zvD0Ul+MskfmhO-((q52gM|5Q$Ton6p_Kvqg3%8a3?TQ_| zk773&zVZa+mwQYk4a~{E;PYzL6He1#-Jj!vL`Bo+()zv)nxc7A7IDX#F4ex!XO18W zUGW^&6)iRv?CMVyab3%aHU7Ii`8J#KG#putJqDczt`A354czc@{P6UAv_g1GGq!n} z&+q4Z;&VJBl7xf2UdVG?Mn%4yE5j}D0Q)1I;)*txL>@~eA~fP$EKbMTu9P&d;RH~! zb*8(7U~@}ZR}LFu(tpfmjy8QaMHp+ErRuC_s_18>OLanlbc5zD=lfvyzX0x~W$@yF zKX{wJvQlxaNT_qWyJ8LY%{6 zOq6{P;5C1jUB^i~v7fa<1AD{7Ys-IswJ_(BOc~hKJhku)dHg>K3^k zMaLcQvuyi2DjA>+bn^-U2+26kkL4FQ76;)f@G2Ojxt6T!l5|+?;J#+m_#7e4=mH0K zB4b<%hwA3^JjX(70@I&rsbgsR%bAlQiBT*8G#SM09F%W7;B=0B!7J;xvo9?_Xqfw} zL1;KJev4xiPKtnoz=GYv&Hah|?IFe({-1s%&iWO3Rl#QwshxX&{*Zd$fs@6D z>M|{!BcO_A`DtR6kVkCaeT;|1wO0?kDaGz4;J6tuXqW%k<*R;iZtk|i2bJtUd*-QD zIqs<^t++r{6|?5$jJ&NhIzHPg7%7zbn6 zwm^0s@nPzofp~^lSFHjsbW#m%V;s$kvFmf3RS;qgG$*Fvxh&1UR7DfIf9gY?DCp@~ z@p~=1gaioZakjC~tti4Uh2uz=@o;k#Q7Md|Deb6=Ib)`x@tLTSuvE~>gW!^lL2jvg zcf;?cpk;i!17a8aEx|AZ^Y+f4Dv&o)KY>sPef ztPbQ2DlfrgD0sVoIFCF_%W~N1aCUrX&l1?IgFS*<>!@R{!83NH=4LT7JusPQrH~>R zqfCd0xiqP~93h^kfgOQd3Y%6AZp#T5wQ7q!Gu=%|Nkci_(98cDL*cfu0WY~yWM5bA zBuQ85AN+ibkTg^8Sw7w93COvezF+=2YWX^7Qp#ABi?Wg(mz2#+8cB&@IV~Hmj9bBN zPR<*^(j>kje6N2}fz_`Q$6u{YlUoGphAPMl2>j7b_PB`ZmpDE`O{L4}x_%LcW^m#V z&JRXM2Nu*;@+DR_bSw)zwHxGoUm1qzPiBbaF&VQxD(XbWZS6Vr@;cQmeZrsHM?AIVf4(p}zXJlkt791rp@ zvi7124kPdRipTiF6{^dWe}^QsM0Qa1jEIm2D?#Zi7C{0V`p2o4s3+VP$dzxY3%?kf zMP!sW?&!Ur{u?HQqr(W`Xs?dXbrHFCe>&|?Ga%kQ<|{k6Ac7rAjtBMY`P@$FF~ahg z@ubw1|5)w3#K3XAw(7R-CX*Z&Q)epI{>m_G#tq`0t6C>Mrw^&w=qQnBP#c%k{*&MR zIl`h2%oHB{iP3$6=+0-FA_&e(*t(F55vd0i!twqQGJT+k!>nCjm6gkD8}<`_9Qlmd zq0l0*glD)T;-|vT7bR3gj|-_pLvUHgI%VQHf2z_MkYQo)t%rs)I_xl_=v4 z5R>^-Z)c!=SO9>)XXNVLPDh)?Weq+BhT&*-MaXt&I@W~S>8XKF+pb#+PCP1G=J)U3 z-fBii87o#cgCD)q9mAdhHmY1BHEd?>^wth0rKS+#Xj3H~dV+p}O@Z{7<>p-VL^+;w z9e!Idq`_|>>CzQI;fwt7gW7dr1zrS3g9hH|&_&BePhMMww>5i%peb_le^YYAj^i$R zF!#)Z{Z4ff;ImtOz2R@Jt~WmuSGPDR(K$}HLLvTczQx~e5#Z)SpTw6!WqN8aPWYO^ zAv&Y@*_*yt5ekF)=8cb4EED|IK5@y{;IjBEbmLRutvX7O6(RJYx6Jsv_?g&wr@Rvw znmR3kwxr1ljN&yYx&h5w0m_9rYY5r-u;aYaNB^e{d|>IScx!oyR<-MP6j_a{?`*Xi z`EcQjoyNT+kMI@3_2{<|#*u^9KQVl^cI@&0*kL!Xoje?HE_KE*N1R^)C(0!eU^CO;TEu3^y>D$1pm%1Htr#Z!pFBZLSh+6 zRjIdy8(CJvz}Z7M$w&+QoxhTKJ7Pbf1~a?&*kQ> zr=PwAvGBGm5@MEtnAG8UW~93KBoTjR>8&{>3?W5kbO2+VKv?oYu2;N$9rFz_tCk~-E{%c!B3Ti-WE!~ z*aa4=&f+H@%XR<7;b2_C#%H}}QC;Qcbhx(gOcG5&?fLy_l;1%_RK!|Lr0Wttd-F|m+v|2++A!PY9hHdHJ<}%K0%+ent3d#VRM5MJgxxYc z!SPqNne|#b@9w#1+4M%lr8!4_S!~R9qGJ;xp49K1^1(>oTi)WUUFDZ0gr;7sf}J6I zRm=u_25eoxTHQ(s)ZqtH09zC{NVisR@DZ$s0ht*VG~SlWUuS zUB(3h!`tRaSf{;Xp)=Sp+IRBs9qnWm@=1wSZX6L~R*id;I!|A8>0-Jb_M z!44w503MH!dQn4XE5QTiOwfCfiR+)`chGr2~k4TW);W=kN980UTHlvxLd zUj@lqK9N`a9wR_ll1&3??H+a|t~u*jjcYyS9{ve(ME2y{xfPmogDY?F8Q|Fvwrhzr z#KwlP6rrQPv>>=JQF7>=5b$@eWuhV&){go#sdST}I{j2QKUIiqI=TFNvHLK-8o{~J zQ^C1&n0BT=nPcXjUZ}-m>6+3K3Fm$T;kRz3NL+*n24S1iqAdqcR3=$bPGp|`r4Asb zfUxm9Y#fQ&H`NxgUWD;1YN8uIbSNm< zezQLaADLS8DvmWmR9`=F`QR?nCsq&n8(D?*XWpEj@JDbRm}O^tVk>_PLNx*_LMUuw zPxl~ncO>&+G7eB-WXOBpk7+I5G^{4`VG;0jekgpa8mk#iQ}}~9zSM%gVvBpR_H%uF zCW|?$x5Nmsz-XeX_6l+L8du6Ksc6Ze-cX&;p>A3uV}~;WKX$zTNYT`#FJ_w;%Z#>? zmVRqS@Gp~Jfj#YbG+e6gH&??fvsJxccK40E_mD{Cn9TiFIX3{e`NNqs^K4Vlfraq$ z0Gd3?To$Tq%e{Qp%QDuU?7PbG8I%nz;i2rc>-7~gl;tT->b`&fP1jIKri`U%>KjjOM5`k~Y>|Uasf|*vp%IuS#{KZ3 zhRuKZixo!E&k93RuWrS(-jOt>W@P5bf;c20=!HL3Kr8;s#h<+{b15H6-dZ*+-%_3J zNAj6)*ry48tkmf8N%HhEo#)QSHa_lsa^|G<0ZQ=%-A5`%9* zxc^h?wBu8nOZW}E8efJyneNMm2ka+tbct>X$68nlS3soiB4X!Q`{lX;&(We)T2>NV zy_7p9`(JT|2KP6fX#Nk2 z6M_wExH|V|JeJqHLYf|bf+ZXOdMu`L@y2z@_ zmbJu%#>J>U>pw=HgG^KK8|W4u@xl%S#l**bX6`r!L`%|TI(@V; zKsY%T@#k4RCcQ;Bs763Q@-OK&BZxhn)`MS)Rao|qtawh>B>&>Scho4Wlwe-xc3#74 z*$oNLX)ccFt$k@74syMvc4fvC>7HHh3e79ac1Ge^h5nQ@L0`hjLKmMja@3(o&?PgM zuRfgW#qdoQS;(Rtc%3dee*~V>b(`I8Bf9`11bZ57`e#?dc{Y~Ga}~(71hsAk6wYo4 zhHdba+Jc?lz>nt4PqIS<(YwTE)#;(eefV^W2O<1lCf@pYl|3CAKJ}^oAgKTA819+Y z`F(kcg(|BTzqp8vw6*k0@@FxTeY_xigvFr%Yrk_>o)Ybseu_Gl>?tva?l!Kn`QKc< z5Mx&|@h2Y$l7&i5Fyd~@lFW6aznsrm*d;rp>uU2+RU&XYWWXeAG^C}ggH_B_9e2VW zG1Kp^-}%`anuKNf3$AX!z~f8g{{2C&N{s0OuTN*#FxcnkM}W(#Ro`ft>~)*@$}Nea zq9OxCJE1QSHW7y|W%@3J8a5+|EeitN%AXdJ#-BRy`bGMM6R(s*i!1{Q;1h<%e3r?w zJSAmDu3VeXxhCnEZBbp`;X8ayCd;6FY$1VbaUv@Nt2Sk~)`n)&u%FoB*pYO+q5B27 z*iDPOXd!o3C6nk3j@Y}CCu(Z)+$qI?l}*mdzZ34QdTs7=cb-<@;jETew-PnmMBSG; zJ{;(~M2(s$a{%8ie2Jv6grq_E<41wF$s2g!)#F~H&&K9lhuxzD?Z#7ovyHDD9cMw_ zF8L$@&zoAu5n`{r%*GE#nN`r%@T4Y&^1eDb_l?co_c;dyR&oLlFljt9jVn6ZBq_=*Nkm3s~j8K1C31ZOmt&Hrh zF)!Ic_&~=>P}-fRf`{bVj-zqcE9mnMeI|xC@4KmjCz;fXo8MUbFtV-sfAwm99Fp}q z7+I35RpVVLkcE{I)HQzTY>Ks?xXzwA)>=Wp{pRAjS7?hg>8ZI=nZ;NM2mbnfXlvTA zS#AL|$OAZ$_%O71z4QW7T1YMBW6PhX`rd`5Qd)`e!adP~GDxwFaeBpnI_1*pKe8!&51^9AIJ zFlp^nQ(9*1HL`MGGyj-tp=dpQ#g)R)uhI_zg2Nq3XpbNbHYE(D5+%9AFATt zeSS?G6qrGU>53?pZMb~ldE}oXYTk`vR#M<6fVnwY|5ctTjVi5gw$ZbvEh)$p2rSqE4T1RtAPci#Xhs*KFmE-$Pmatp;K(P>o#FUvXVlM0{@7K6iPi9_{ zNgC3GcpWNxTw_qZI(*%ZhgH3so_$p_D3{7dI8z-tU255v#XEm4Iq5Oz&Ch6DO&zk)!bkisN@v)kwp?aE%s7c+Ef-Z+U|j%k34><~2n+zonb= zqA3H2!$gdjt9DsGKC%lksC0sNTp5mB*`e&K-V(&GphB%|^`}q?3ruYZT>J?azlKVQ zA7}vEBl|hXTDCg=NZwM0A$w1EeK!O=ac+RWgco#|ZmE%RETQuiLZL%=x=Uit|qP7}c~z zB{o{syWT+08?n(ew4O_^g;PPLTWkH}C$|08SN`@m8?GT;#!QJI5bw$Zf#A8R#BhQ2H{M(wFb!Vy4h7T>v%;pAbOqQLk^%6C|-&M3zKXPSbxAB z@sKbWQ2N6lBt0C*ePYTjZn4>8QGFgX7N_O>{bjv!P|o|%)UX^uJQhgYA=aFw#0aO7 z$wu%na#q$%XFa-%4BmGR$X4Mz`|r7V#J-_ipKYl`4OXg?+obWPgU#xtS?sd-^OL1h zVWEmTu>Ki2wpEjmK!J7Pu3IyQD+YS7Pcu_{IZsGfTxQub_LZ*g`33)Y-v`6-BB=D& zUo{+6%#uR-G}{nx2eIF#GT+cm0DGb?RRr{*-(swJ7ra(j`~=Qhj~C82=6s5)$gWi} zZK{h@Tf@hJYG#Ms&E{=-8w?}tcJ$+V?%1hht`6e?i#V<4dNNHvdWqcd(WKw$pid}M zH*WHE^g5AuM&>e}#&bWx;b*#%Ravgv`5=Er&kw!=?3gpc@5Iq`VD?;uw>OdcDjBW0nw05GWIvla7Fi*Az^IW zO%}=y1fNjb_#5O${_*&!l=alvvAT*@XIPK%GVyURncroX;@)0gg&=|0sa52U*84H0 zorExkPW74E*k>`E&gR_J&>8GOdpyctsZ>3tGCfM-X zl1%2F!mX9v-J+D1i{XC1A9u@iq6hUz-{;U^I>>t_K6tL#E*Th;UwWmZ#N#@$@<4+m zp`jgxVYpN;bY9fWp3`flqQONn|20cbU?eF2dq&3Cmoqn^mdRpVR0R1qZ$6ZdQ2T7b zn&n=<7>%6j3%z$H9$9EgIb{`+x*o3*mdT^Umk?|h!h!nTw)SLsT%DQ4YK9})F+`q+ zts>= z5cC*ncbq#K2LtkFeSV$kZC}{H1Y^3*+`Ix05%cAcmx9k+U(OjlKric6lLUm|H!!! z@$=kAcY?eS^=_-|^yUmH*d{Ya=`@tlud0qanKv&5hmsdE;X)BpQwfHv#=sbH7X7rr zi6mh)udOW|W`8SAs>>fgI=sWRYc8O8K6SeXi5=h&G4Ym|Ra-^qMhe=K>yD&UXj*5_ z|3;Wg`Iv5tQTv*^$fv`@7A|Uc*QyLB6W(3V6BlV=RnN1SsozVG?-&Q=-rH>ET^~&I zxUQ^VlHr*>9F>&SB;hI>PHLC1);LV{;4w8dt*itg6jv;>XRict>{(1@-(MN>^KaE~ zGTN+X1tZ>cy%{ZwJ|g{Ny{0G)-r#^$Acyw%M*%RF8G%yU4ayDQgA@%YhW`YX#=yL9 zD_RxLerOj;j`PfOS)I&1Vn;enLCtWWPTgdM@4@`VwRF0yK z&HWa8)QW0EYH0fx()0(NcCiOfBGU(pGg}wr_;0y7uK4TG281&G>!RrN4HwV8nPke& zkAq%#72>e5-PtZOF_E_1p+Fc+@OE*7H*H(|j7jaz9>wcmb zh3xAB9&OGkIepr7+3X=XWEOBG^ca%#-^A)LkH_w_E^}B9nK#ETh+32hmWxKs{JNfyaL)WUk- zZ}RmybGXm#O`aV*KR&OK(l-JR`kA%iWSoD#cBN?-(uI-PHdW@n-l>Z% znwcth@tP1+;9vTaFq(UZzDeAB7#(f?fS)O&jGn(Kn7IS1)*`{0^XSS>TxVC83aiuU z6Rq5q6{aXUdCddSiQC!@YlFMiFA)qAe^b0hew%*a1MB`oy4{_2fd#dAOpLt_AO_MD z=dxMRsV{ctt&`aTo5x7t{q+Ej?^p|K1k=Ad`5jg}+9-b8;fg`>hB}YFO0d7~3;FV3 zarwN(XgtMQW7W}+hUVK_N;?wwn{9*3K`L?$#=lGelLj}ho;eO4cKy;p0_MqB8dIS!vu!p~}Yxnif zCBS>2+KWC8oWK7J%G=kwUtx!TgzG@O79F$y-^cO)*k{i||98lp;4^C994Y6B=IWv7 zTRV2D7Z4O3o0z$lT$K9vO5*V+yk`wTK|$bAm>WDHG9)mAWpU+))DSTX4SrRJ}7%PUW!UkPE$2>70V z{FBIdB<^k_Z9X9Zw-nn@il7^XKaA5TO%^;9M69Iam+xlTzA|Pxb*Ylpiap*8=e=)! z^G^vu1bx*kAecqDe7CJAqd76?Dsii~obvvV#V?Wi-^o z;c*%}>?OmNjgXS|j6l!Yk*vr`stToFlg~dl`815~{K51Z0=iAPk6=O=F6)Quk^nVWkackoAF)|glUQFy0bt^k= zX`U>l7H(-w|4o?)V1*}-^c>>QvbnXjcA4Gx|6zj^Q(6Dd_hgV9S}g7N4KG8PK1i4= z+-}V%2%QDP{|E~Q{aYzJ!HC3qL9`Huh3RTrGA51U0Sceho$bgJ-i=&%XA^(Ke_wNo zFm_u%=BK{j6$DGN3$-e$?~A$yuFsO&%x@o0)=!i~a^*g(|FbGbV=3XI3zg8*ldVza zJOu2yAS|+}(svU7m%T7?m3r7eJ5F7coNjOB)jII3Ckn-T{3NbQnu@}!tkrV|-Mf0? z29iZi*YE50y2vGbe7++*-28;xX58!T^R4BJ&R##bN^(-G5f!_b|_LmK7Zo(t5H%6iW@~cWlZY6G_%k^ zRiPM=t@@X6nrdFx1UKZbK|q9)I}kLd??`#l__U=ZIv4F8rlUXX?kKxwmUBhpXem{S9Og$a@2g-}) z-GPRE$aHqzztPYEzQ~j4l>kdUSQYV`cS@Rziy|nc8#fU%B0sl*MW?}TH-)lVxoa** zxvLmb4u8Ff2S5MckDmhbzUNIUpNe;9PzxuramLlhkfc?^UAEY8-no*}?5M_Z%qQ3s z8I&CeyRMhoXUZPK-pcexnGu3|3?vrOw|}YJCwK^ah)zf+B>?!zh&p_4Hq-E3} z{iHyI?nK}qTx|nx{Ob7!rjT_Eo2d1F?^}nImN$moIoD%ZAWgFibR&}PXyCvYF%JT~ z1s)+aqo)@)=hQ1Ef-D4}T?Lm!@l^ijBjzD_u2We99%I6dYx0qI7x_Bzj<3(bk1?FP zjP(cK*e8%h<@|j<{Re>0rL`98lP0tDyX6h}g4QJC8OE2Qrcr1oeLT}qo7iq0N7B-_ z;THG~W+x$!5-pA_9(Eck`z$owb|xjNE0Tpq`$*p2ckjzbGL7uw!dYEPZDGeFkM5wv zr`Ag@(T^AO=kE^Yc8QX`d#^pw2hlns?MO9w6dnYAiFpp77N&67$!SSyX<;hud!K7v zUK(g#uH@d&-IcWm^-7cShV4A5^5v@9CgV-4`ZPmyV{uC&OTp}wY+-A-J+!5gn9ta& zA%JH=os73|i{42@W1sZv!UM!!jgz zE6MJ9vZECoM!~-XuHNf!6ftGPtTF*Mge64BU=wM52 zKIJ4o;&c}!cWy>~`SN%7UxN4`Qn%eTx$vJ!40(nD1K#1v0V2rJuPD)ZNhLPm&9T{1 zTCu;CE;a-fC#qMzV+{VqQiDOG4cHQA^&5N!_WV=vy;mOgqWFws>hz`fe{qB)K49<> zNsgKnmBWy;bWJVo=|2;0bb;~@pW%2=_8skE7C`{z!xhW}n&R&Q{a*y~zgzMD@BZ!T zfIUVx@~-x|%XD=m$W;OwOtN;*rlB*>nGY?qDoujd577UYAxq*U#`>H<^VqK2f)}d8 zqXUI>WHuN=EW{0A!f!Kd^vZzK<-Zup=mJ@6=9A|q`-WpXvJ0zsDli;O>Q|CuDLa4; zY%uLQm6L*mPk|WmKa%{<48XkW#+(|Q5|$uF+6~mbMCE#=*F%Ae@=XlkVz_Rfe?{ki zUuFJl7hI`s`jI`+bxKltSD6S|OHQWizvVF)*I${*zkz0p@hfT7Hr>pgCm%BXr?R%L zy)Xn3vUu^asu|=;p4&gHc=?q2HxcDQ-#232O(?xSG&la9e?PBvzr+9Dj7bS)3`(>B z%5)Cwj*R_PdRyDxFX#n{AyX+tll!ull9E5qba#ff$*Gao(=4p>ifbhz@7=GA-&Mx; zjk|4FZX$*dYnZ&4=mDCg*+2cQa5KRk+<ZfbZhFBSDv4 z+TLEvM6c-V{i|~?0Y#ysBwtex3O1QMkC9&wG7vkQG#Z0+DP1mlAD&)h?((H^XrBka zJFx6>jLRLh1S{xd7%Io3V`AQFYkwXWKxd5zRkk{C7hK@&TtpG^yX{NM&M;`(Rs*^o zsonEHw)+T0oK!!x#LO<|9y&pMyCaGkh^`Y*K-vdcGQyjtuRn}xr--9!Z}+@RJ03lZ z;T08Dz%Iye;Di|5pDJt%_LU1(NENt^_ptYn?fCvCijCOvJ1++iOB)pqcTGpKD7)r- zep)TRDxvRzftg={1Ojh{yuVF)cMbI!l&a?f|w2y&>r7t!%`m0=fe@2Db zM^49_6sbk4+q{1qFtQ%!*Pgba*nxsdy$IO{sW}d;7a;%oFl}uN?za*8|{N0S>aNtk^*w)b^vnT7XoBferI1RQq+qRh**WQlbM@hBS z$*Iqwg$7=F&!gRV@5Apv5c=d9*oW`=dPf;~l7H&b&zoF)?cmkpI@^(62~=3Mt(yXc zX!Xe@LBUHg(f8ADF$#R|4`N1}7#39PwkR08d(&CH8_!N!6mF`64yQLID{6a+YE<-BD){spun}-WL{$Etd*F_L zW8B%!t(3XUS(Zr|A@iwgjnQ?5;9=Q}bVrvRzAF5M*efN-mYrs`^`FkmTXu|RgryZv zk9=D6F)BFS)>FOK2j&Koy$1O``1ekeYOJ_jTx=%0vy5|FF0Z28l6tH?^Ad;zi0%7+ zA_%l!X}|Nm*EQ*D3!Pr?wT}J6-Ru)DpCjqvD5=QF#_g9SigzJYB86e&S;h^7QzTn$)B{8^ z<&D1Qb+8A+|K6f+u&?7H^abL^jW8?*jjA>5oh>tAz~Dv}x|P{ZN#}T(9NstPHm)!s zU;~5d#DV&1_liYl{e^CQCI!6MworM&PEQ#svM-jDQ;kxJ1y}jTEbWQ|)BW~i{jX!W z>w(|`a&7d010!I51GcHb{V_}Ohp%rrIhW_I9vR;EjX9V!O&0Ry!8NTKV!*=12Ox&H zu;LJd`>GC=*X6!}9C7Sk31bO@qro&ED=m6lr;bg&mW_|y9#;Pu~d z=FW#t4e~INs7PWDW)=74zh?(3{d)uzKJZtt|KI%kzqbb>JpKF1jQ@n72OdAX`-`6< zz$Jfd?>FzY-vm!(mi{LpNj&Z{D|B%$M=n7bVUYu90}vso04CfBh=K^cKN*&u*uN8c z^X*6VUqP{h0Qx=-z;NXIo5!#MGCyK~93Bza4RnW#>HxZ2V2LJ)pnew{=6|A~r~t`a zmftAhg1|HaDg+f8!V@Isf01WG0KyzJ|1|9I7HA_~U}ToNxexm3!WB63%s+|7rWl5e2goGmIxBZJGsI>hn8a z4QZyvp7Jp&qH0oq5J;=`Zml!$%$uILnbLHX)#r9I`Wx-NkOy4R~V%f9gYl~0t&fS zv=7sJxpC1)2xm~q!GG>+yWk0cr%kOWlbRVp!6(?vI@Or5rn|c8qg?nzM8|7=aghr0 z@=bGQ6&(O-r>0`Q**_5?TC5?zBpOfcp|C1Y{{2q=F7R+`NQ}(fH+_kR9b9HNCvf2{ zGBI6cJ&J43K1&~1s+hp>5jpvv1i_#LV!5LU<3mGA=!TrI{`z8bRSk{%oHcv5udfm7 zi|L^8AKfDjS(jIkV&A$v?CijsHfVa+inxS?1PN?6#BG&LZuF)PJd=qr6Jl^9i?G60 zLHZ|wzdBkSY9*ezeL)FZ0WcB11Y9V+w}yBlEb6rfCtl0vJndg$RqVg=ZbpS!wFmp= zjk?@Q_m$th@8#_)Pv5>81gs#c)`{w)4Q}?~`H2sk=er)dA;mK1r(0CRXRv$71rnSO z5DgHB*yHt^LeSLIthL*nu1bAP{TLayC_g_jJ~7dg%UF&BbLE_swr|MAM~nJ#LeRz5 zf`ge^PL)^YgLCMnTGIlW0A18YHh>OFk7x+d#9ovK6cOCf#bg0qB4_scoral_yUGV12EH8i0v+M*t=CPeN@obupQSJXb5C$ap zDNy|CCfXha;Dv$)iyM|jW-p3q2*6Ot0+xM3246@e_ADqMp%|*t<6B+t)+{uWhfCE! zQNf)dg@h~Sy=Q=SNZ70-E-t=yd%l1J>@_wvj)N){{OojR0Bl<_K8$G<7lR~B4=Ei5 zmJQfJ90ZqHU;rBwjt9(J-Q4m68$c~8oETt5r_#^X7IJ_LK^E^bhb?Zwvh4Z!(symH zz*RiEvF|8>J7^Cu4+$lUoHhn%5)u-!_%=dKw0xu15gyhib`QWu4p(j0IZX~RI4838 zzK{hX5#mQKyf~JPQ3oLh{4gUbL>F{RT0cReQszFYHa7hcuH753k$vh+zFL7jukAFK z8~BRT5QE0LfUyemLDjTDUZv5>GoTt0FQ+E=FgxWVk0=Sg18@|OM30>0yUxlAz(xs2 z0E!@u$cqm7%}`>1Okz=>jV;wUEXAs328D=#0E>~HUXwNO$7~tqhES+e>h#4nDZtuS z{v?C(ui#n;hrW<;N|T5Z$djpy=eR9ALl(NOT~4n#FK1NXF0U=8Gk4{{7%H;!6?}toh)szp#tzdVYg;(!410vg7M@>1 z(#GFk@nHJDn4ysz*1;kr8f*3$LU7K6z8@}`hQBNQad6G2qVtN~(Ftsz|#IGz|ju(*N^i?+=j0o{DUD*@n0wB%l~F zE$6~GAz;tYt~RWu7vT|1t-c!>Ic{1OOms`Q5KnL+du_^-rZPiUbXWt_?auS z{EH*H#oITITb3NXq%2&?h-WJBB3sLG(LXBb>BT@7Y4aujn}HDO-0zr*3JU)DR+B4) zVpO=;!AtKOI+cO%f8G3-fUud}CA&DXuzkH6=$lvwZL(@We}I7hg9^V-z5Z4?v4jKg z8GosLMKCD`iqG}NuI6jY{gBLO4dqJNxP8*?#?a#^!nM*GDHAP>1}Xdv#< zzH3{R#_s5Gal?{Xz7RTW)evsV-M=UAF}wbTv_Rn21uVcy%l|xUsQm#7YbSZ>!u{rV zQXDyzb%ZVOpwDiq)kN!(wvp^UTsd^3R^jufEGz`TK@VNpa>bx%7xer-m~ktO7#KxK zc0r2ztqv5|zV@6#rl5$v+Dz zTn$L^8w&RJMjM*OvL%&C4z{aW2K~w#kNYUcT{U(oaDLDJ-2EMVf2GsZ9yyu#cMXO8V~Ptbm;Wl*twEN|4|Y|4E3wnydQY-T@GeuhW&&3z>h zKfPfRxr{Disc7%wHj18qrrm*eHngwDCE z{|{qt8P(PoeT$wzako;WP>Pk}4nD(_THM_U&|*aj6bivp+}$-uf#R+~N^uG9 z`trN~``(8;-WczFNXAG`l5?{5K3nFRb1sQ3d`mA6O#V&_0=e3^?Kcr>Pn}X9kEu<2 z!d?DVN8TCr`K&ci$O&F@FS7z?J1CO8k%oueP;E6e^$?yi1AZ~pJ3_-WA*bF|bS&vf z0ep!Qh1UB6CLn0#uzLe)97)A*^@;gD0nJ4Jk>7Vd-u1ACdFx#3o~jayPsz$?$>kqc z)Hh120x#p*JVV8UZ5mYZx2cpmJ0Zt;y0W>s1iP41kiiPas?(eqp`wTJtB^X94g{y1 zct(MU2ECS{&Ael5MQeVsdm~BtHW>9+-E`Dwj3<>r0ue6f;#_upUliGZuC8c^1J!Ey ztiS*Dzq?MNT7%o2Y4%jJrKTmh0buT?iGCM|TREL`=VH%k%B^ishC~#}8ygB+xz>am z_cAwXoW$1Ms<+fyFFim7;B6B;7_n3j>RL%J?cgP$#4{rRw)6rCHd)a*M!Q+Zcu#aB z4m-=t)MVc+eaE`ONfD2Vi)UzQ!R+kL+UI=hUy-Ou@c#23QGAI9i7_4mXF4aWXCfv* z5~nfYWG*l4@e^n)Wq#AB2RbwR!^mK?@wf71DcaFm`5-NVw=tlL9dl;eqUgWoYz3t zJzLMJm?`=DJ;{S+$><;Ga9)p0rBTSAP{j}T393XTCsp>nn>HJ=F3Yi=I)xRL*U|x8 z3TMryzR{kqJTF6uKQjh3;Q7W5*4$3ec|75(&gd*XX`T@5W~{S-oceti^+N6|3J%wy z^Kyx5g?oMb?DZ(`hM`-~^;b+Mnk&ULIf+TBl~B6JZxjj3XgbpLdVAfv{oOaiLpAOA zfd(r6Nsu?|i{JJr$;%RH}NICwka9R13+}d(nQZi4D@2 zl`^`Tp1LH{VlDnXVs-+9S|Dd^y?oW zL5IX{&MTnH4M)qJ4Il+?KgZ6>KBoCiG5LB{V<}&gs8}rbBY&?QbQ`kZBA@n4NA`ff z-v;4CyICjkc}~wy%|FEi{#kIipo<_3!jPd?)JiWRVvEU5cvC-oYicdLvbad@;HTBL z>V3+7+aX)>ldQ>J>=Sm)%W)7-MW6M-QGs#c+>$U0g=bq?;UgQ{h;(nw!{WukV>CT) zm4>PF{ZLQdb0_cZ=_uwrpRPkfPp5&M80p@&@?3k$HPUvYMvtCAnD>>PMr;?KN3yTG z)t<52>z!V(;ch0m{Z9s6tzJOu3ZTRx}5e@({Qg_{Qw{Ef224y?96{r+i*%8PEC zKX5azFIS4k`3|b%_f>S>X=&=D{R?y`?!^!dxWVy$Wu^}f&ArBrS31eSks>H==6BLb z?`J)?hMq5VQ*N$oc`D!mQ%09}H+K`SAwdWv<`&&lxC(RUs@jCX7q|WPsXZbo*Q>s8 zFNMd0g+wW3{Pp_NHjlnWEIETaXCC#Iwsj~Gz0U*;5%A64jYa(K;B}k1NhS$_kNq+^ z|IEklg^u5>Wdu1G>sP!ix%jO?IFaEp1g;_z8wVbC=c33*?jzsQh30^Hw`rQxlbc8c zH<5LM==s5?vH~R14eD5emtO1oX*Az4hg)!x>Qq45tq~RcDrfBY>_$?(EhM5L5Y`_^ zCr3s0!TL6mWax8{y-Z}dgYD$jy4Us?s_U}}3u7_HP{&ljQ@&&;agH^p!7^e+pR2B~ zuYde+eE!9w@{B+Wt;4CjV(&y{fU-M zZFPv}kkJ+_OeIJn7AbXDUDuwsNi)9kp7BYqg5Om$aM-~x&Fj|J$6T}a;DRiFh!(1Cb~ z6g**dtU>u)C~I(TFV>@AlTzwB&@A(r$MHQ$kc5!`?`<38$(`|1ga1WfM(5DL+RbL* z@}k&}N_#d_IEv>=Y-yIfB`fx_W`q}a+C;K^bg}FXe#V)>1k;h>x z7P}6dRLZ?LKx};k}tZ^JHJwGr7~K$n^CY zk5X6G8TKEsa*4W3qB{lp?l(_FI;JDxBhwX<{?m8Hd$e)Po@q9#rW)UwB>{4LO>l0 zY86ibYJkIQA(z5RqO!QF{3Mze5{#o)AjbU2qvw`Oh>SlsFBsP;8(Zu=Rr;{d=C&$P z!HqS?ejoenW}`4uRL$5Kz+m*w?dc7Bn3^6nXLW#Gs* z7imHV?Nh#!gc+mh>qklPMUT6)_wDVRamz~?I`RBlQdY~k1OENd%T0D%0Y}qOcG+1k zf=)743#p1j+;F1ZRvL^09+pr~o+segWytJ4vz=V~?Qp9blj6eY`H*>mhOb=W)w~1V zo!anKlfXlnLTne+pSzc3dnrWxz4`E)Bdw>{4BW+YRm*3g8cBhSRrn;nX6CNG}Qb~Kb z{mikSoWL3cT5_A==tnt~(cGZ@yL@$?ecqOT3hgCHr)a-&Aunfk6rEOybfCovmgPpG zzKd)#qb2M~TvtBJ9~mdc>a5_5Rz`f)!)tv8{)Z|DKU>q;)#$GFQISt$zI)(8fw_P( zHeOft!zbv`YvmHUztm#)r5#9mh5!{?n|JW}`a_tR+`F6c$9vP0cp?~C&Pa3X2bWv! z4@k+b7CXQ`X^dIX`3CK8yul$3lW2wS4KjAOWI%pC-BH1_FQCLs>$55p>?5|V9;QT! zK4c8vu%dVIAP7PjL#~Rc+#6AY&-$q^YWcGM4F;GaH#Bt6bX5es|Dp_!rS|n?xD_w! zcVWn3`>J-Ce7Bu@Gu+HQpEb=0_WGQLfcvhiO^zcy8I8?ctZ6T!)cT9~f4mhH#*#a^ z4Pum{lm_Q39$)+(FV_T%+1t)H`tsqD^~OgSz_90i+UBq##u{7Kw_2X_u~i|pg@xxJ zp1`AEWsd?_zDRtGs>)z;N}xi)tt!;4BG4ZJNS4Gh}c^1)ZL=qHo<(m*~7x=t=4XQd`QqgIns-_^PdLn<%AD z_`vY(K0YVcR9i2 zxIRwEEvb9Q9lODh&wa8p zhnHT&N-?w>X3ZV4@zbF_hg|;TF)!c3o-WXRK`BCi3!@u6di~wW+GA(VUFLn@V*%L8QgXIG#$k*+v&_snDP zP;e6q8)TXSFTFMWklnI-@ChNgX0YF`#vEyZz5c3fGlQ)4H0Nd6q!kb#&2JR{0%3@3 z%3h!-@cNY}&tP-m{io`#EtMb8f7f9#J7Zr~>a#a@JiEeLVmr9LkG78;NLC?v?=>r$ z>Ah!mIbi$wcH7%vz^*@_3>>e7mf-M_@HtTnESQuJYWx><>MB4WIPnJqabJa?61yZ`{7Aq%ReR+m2 zo1HzlJ%{PWC#4GPlxF3JpFaRE#Pq-ud4Ke@=y?r|?=&Y-oJk*hu5qODH)HSLdcm7+ty8WJY`-YQ%lPrVk3Li+G*(n~JH2u4JKd+cr(iJDmjY zQRu8kEbNa#{HOMtK5`xP`c4bM^gowOqvN(qaZ{6YH0zSbX28nJ013;}fFN2rm3q-m zCaPmOS4@6tw6*v)(OGs5ygYD2tznJ(_^qljKv+Sax`d+`PfQTbb20%w{2ms7+%FY1 zsBBtPa0m9Kb{D+{C|hUsoqtf!@5;(L4kpp#be>6Zwvc2oa-+~re9#ffZEBgbWcF0s z(P_mb`KvJD^eZOJW$zxS!ucyaSM>VB3!P4_6i)i_$;b6?nGc?TCa^~n`0m#1{y8q~ zAxuo%!%<%N4Vl`rP474{-OerhxHUH@FH;4aw!}_!olmD(4C4%bW7+xPJDivf-uf_7@?B7q zk&RhJ)f_TMUi2^d!C^%oE+H&RF8Fej3yQ{v*-6zMPhoc(X7@qNoWkQOTPZ5HDRRh) zwHp7@N*Ol(?CwL_9>gmCB+VoNmT+D3JK0eqH-mQJKuvienj#QZ!Kfb((ezo-@ z5&WPV)|xMWs`2O7ZkO)Io&UjU+V1D3vs|E(NATM6f>}q{XQXhu_)C2jPN}XRc1waN%~;fgiyd5SE~SvUY<{(Y$$A zJHNS1C6Og&qT|D8z?2tJNOu>yA}>t#H^Q{S^6z& z^Y3i^J{(MEyW}Tqu|D|3dRfV>#;jv2#eQY4XMtvc_qyn*j@nh0ZgDKLn?aM+qzg2{ zmbk5`%fD$qwqJVvP#AWw6c8UgXJOU?$2G~ai3lOWC1EpA2JalJyC(=vpk@6+x;H$Gdl6Locea`OncR!`lHD znt;d-_RS*6yFXIRpJcF8eXfcBqMM+9jQVZNI8WDMDpozV!eJ-);E!vv^j0^vKky=N zXQ5vSb4a)P*n@$?<^GSVp?sYh;)b=N>fB`E?{~Zc+PHH}FztM4#i6svcA+%(f3Wnt zTWFs_FNqWe+-mX;XWZv}y)QuWSwrG~Nz*&AaW<287Zbae^mRb)TEp5iOSEU<-tut~ zR}SHY&!(wSiC`3dOnc`^(xdQ74HPbT~S$Xh>B3lRSQgShYdUei9jx8g#Kd^WJb>t!eAL_zbo=?}nnWk4>kl+XL&W`Fvk#e;zN~lDBSemA4oMcO+iXD=QJ5Pj@Hgppdt~ zi2tfMa*sPg5wV60sbP=jI%nqlt`Zx6XfnI@ytxjGqY&@RBtmuPW0fjwJ*UkE- z3Wt1Dz-Sfv+1R=h5;T4lQ(rWqnEN5!rj3i`RpbDX2_Vk@Y)B2dfumS0&ZU>M3eElY zB>5A=&)1XtpKMa0_LJuYqu7{EepT7oH^g{>4gyXGHJ)m=zGI9sKlI#9unx}_HOuzr zi}J#q7IND#U*w3+7&_0n^i&UD|Kv}GH0Blp&q6GIP5*M6p{^R!BJTPrxb-M{M`c*i z`mg%y<|`Q#h9BrH1^p?YI38nVV9UtihQdmvDwQF~gTXS`t?9c#4gWwLqS;*gel95x zjzrnF>t7UAnFgL4MBqo2TSH42Ui(HQrwP?3i__?WD3A&ALIHklw}(YH$+*J+XdyP+ z>qTo0LkF8mJNdGw)2zgof(d;>;_io$7tRfX1ihE#h%Zco0GVoWCptMWs`BB3U6#%0 z)~kV4pJM6}j#s+>wwEDA>*qqxHa3=<)ufP3?e#)VZA^ysin9r$_?X;x#=LIG?ZP|Df zR$H0%NT12>krz_jW#P?7VL+S=L&+9e4^A5c+3)QuB=Rhb)r>}Ajk){S^_+*kUiasC zv%>CL=Gy$(N=Gih_*tfvgY!Ivz0uvd^c&QeLHI;5{^HFY2(ZE@g%+X_y$8e@pRIEW zBE$T(Bw7>mr}JZJghi1fVk>BsPo-;3FZNBASYhHRF9&_NMzVN4(a-}hk2+9sGpHAJ z7?B=zG{kgLsn^mS}5q>H%RRy#@$! z(;BiN6M_GwjBfWJ>3$b!Ta6U&sSwQ&!fLI?daXnJfiPzX?2>B^MfBFoj{ryW?d1i( zxAw*t_LdHmln^NJSdftfF;r(qq%PZ2X_-X2ON7+f zYQEBmhW#GGQfwu~E3g3v_~?33tm@v#7()9>*uZaEQsS_g#xZ|Dj2OhDl@v8$e!WPm zH67gM3(54{${+(cFoKlg6Zl;<&u8j|zzwvrB#NCTMMg%Mn19b?m;pi>*C)m;oS%_z zQX+q+XjEZI@>qZ!L~Jpb*{W8IB5z>vJF1-C9ckmFsbb%jj8_CW&+IcEM1di_c1Rpu zd3Wq!!;}Dc+lKizB`fSf-bvx1dZA{M|%^(ieQvT#AazkjU!|&HoNr%;I))MybL}Jg)<~4J;q2eA3jgx z4)j4J6r4XM9C<+z4EF}{TOt)oO0#pC@SEkJlBW`hh1KNrx4Yj2!HnqQghf+X#~*-? z=9n<0-k8a*q5uoSmkleMid0!|{I5!qdM1YVMqV$q9&iA0nlz22o*a_@IQ-mN=|^(+ zC&g_-k8M_mOEP=CJf{RM!;=t;nO@t5 z=X&s+t;+;4y1o2vT84FLGyG@#o4W3MGZc43VPC5_@bYawk7xJj*85|`P)S6-E=#%J zps)GGA@(jQ^v$FI5c1!QHmWfl5nB94Ku7Dxd>I02wM;`U39&+c_BOWGL@ByUIr z^vI`U09QLmF|Yb3ABxdOa%r(mpO?)oU4JuHYaSI>^`fDPz3g`$EXR<4a?^_Tt2&hN zuqEaoUNlD|tR33~;ui3&cXQ)88}CzWTWW6imMA_~*JTHvP7L}Gr}p{#v>anpE&089 z8;OcXHb!-w`Nr3D;K%upQLp_l_hi(VZCzAUq@bkKy??m1-|B?o=M`2s0WZd?%;bTN zG$;7?)o#r0YL4PsbSj`N;Bn@oEXFS9V4#M+exJBjTh`y%qf4#b=U&PmPfy{PCJutp z1~g`RxMo$GuS+Lk8tKqtW(q5Wsm5B?$YH!G4wJ)5z65tjliLyn#RhZra4Z2LM*;6{ z;nj}YhgT&t+)pY|931PZ-&Lu?Ti0jN(Kn?`9@7KEKjO_{)paT{5RW0^VnyC!3V$N-gCD}MboHH^7L`+VPR&U7pK z?qAfOfIE&ptY73$LoD`Fg=n^UfOSCn}5q-Qa!>JZjW>^W+G3g-4O3Cj7%jui1QFQ=1r#~%`S_r;LpbnSd<@}<`neP4fu9bBmvpQg_6w9dM zl48U;(h++qG!O*|m$>VqsU6x;X{ycqE-f8eKy}mMNR`!0jGcPf96zkgVbz&sbYhPM zrkQ8{sd@L!5F?WXFL>!8mh61ahRWo7IsKDZ;9UeqxKx25k)GRu_<2k4=gSW0G-l*d z@UDsy2te_6oH1*D%>}j<>Zl`~G5OOL-_49Kd2UAUidyX^{dmb+q^r^(v9wu~Nu)<& z$Jub4RL`;XSj1LONZ3PIv0p@&;%{z~y+Rh7T^W=QitZFpQSf^+`-$wDR(&Z3QMFLU z^G=KBWgT(;LrV_pT6#=jNE|vBD=U_2xSQ2Bf?^9lzn&q#xM|?5%_llQV%2 z31&0X8zG!giH~<~`#oo8wd&o^dVs*pVmesPD|yS;xa!r_PjeTYyWNI$mmT^paM}gz zT#!_D4LvlX)$yA6+kYV#9h*HBgi9Xt&MWLs4QtEzE`ApCIQJ4yb0$A!8S-vi4~K9D zO+p>lbFE9X?Qt)M)oM7sS9hN_fUYn*Vzep0Ea|tB?p$cRf%^;@CR)jVwj3`vd%VAH z;H)vd`y&*~+Du#UeV70A`{>iV@^e*f@;@JlfnVWkGO;4TdX;`(;eOv|IPu^PwxX)T z&u$Id=8wi>>+sa@UI)x8@ZRu6G&H=l3|)^47J@IOWwUg$*a*sF-n4mGZsH7*8B(S) z2?p_ox)3_*Isb7rtO;~YVG`oFe+U_pRBJ$ppQb$iITi?f2*K&YQzBOS$mb4 z6nWN1#|`$1bW%iP)yAf-y>282(WxS-W^dff!9Uv5)~=t%@20?xK11Vex6zv%m4<7S z1iSkP{J*)qEz5ndAu^G*)%b#2qpIy51!Y@sbk9)NOxc`OR#t6 zw<&qh{^6I%nH5jhEi6Z$jlLFqC8o#eulY7Rtb`l^Repo(YNUqW+``BMo6Tj;w@Mmj zE_gVOTQc*-^wGQ)m&**Sf2?Ml{|*gTv9=X8h_5-Rjb5YEY1+Lnx_~l*yk8c5a#H@? z`dY(ujruOqYp_H5@KRNg{`B2mpWpi=qw2%&Q@C4j8a0c39pfczliBZgOBTfS>+7!u z2FbJ^4eIrjJ<=`J96`Y2JfGjcTOh#8Fi4{4$YMHya33b8h~jr={F17?Iq*B=UO>!C zyBo@X_%QIYxYH7M)6ctHLT{z@`dhU;y#&kMT5OM{MV|cj8>?d50UH~Nn1dzC0t2rl z#G>UbuJrnffhnrGypoDyrrB^)w+1~@d*2reYxAXFUomIh)}z%#*QAhr#bM)K&>&!< zhsKrGdOpMmZkK2UU!Z(xj4Ine?wOKKW+go|#gmu0uo8f$QDZam;`+-dnBdLrsRc~U zULB+_F*lqf_6y?yu_=X=dVRb9FOPuzRvzbN1c?LXy)&3((iHzF7b~RsGjHy&nsRwRLcX9Q zx+gGAj%MNZ5_gj@A?Q@t=jB4j`9;sXd`N)FG*xh9JBa6bNB#ZBBzK_5uj-DPsoX7k zv2leL=m8ecv4sv`zH1kcPfTRiAZWKDoXe+eeohs$=j+HH*q{A)--E31->L-nigG=! zhKGbydTyzZ#7GNqfRcTmXmdOH@ zmvwPW1hrPa5CyHn*qV-mH_(283g!LnC2q!;=EC|D4gum2V)#yfuZaA{-8B{5|9Zn3 z$i9tWZU3yMRkj%SArkTEXu_{WoZHS_hRx>6h1cUX~h-@rHbL6ES ztY9gTumI}6+CRt9g7~=)$4ghc8-(0kUJapKB<8J9Slu7V#zL(U+}~T!2Qb?9-C4DT zltvlqAPPwQ^VU{VmGIG|8qo4PGcvac<^q4-hU1bDwsv8fp=0gei;YO+_c|PyJlsu1xK;e^VkbeHXEI5f# zX0Z0H>p7B`=77c7v0Z8sEN3ogc4uUoGN?1uDk&%U z9>qOY1Ub*;F?O-PLlt!s5MWaBR9yZ0PQC8i?o4uKDPoE|O~bVxDk~K7VN&gnPo*dr z4KG}3oJ88T_554+(^twWiYhvu;^j15^Sg~+VN|QG&w=-?%(j!eHfxlu#rWwpa0k<$ zxfu)}%i=$%pwG?C1O>!s`*ltKKKnzL6d#YrajzPbdcc?#ZMXS z5z$Hx91^~SL6V+MwtmCUL#Xg_vRnuAfMSq)wNJbwZ*~?t(E6bE;4E%@yG_3wc#k2h zH5gEi0KeL>jcG;hGFH%E=~TF__<22=%;+A38GkM^u$ajpJ5adE*%&!CsNaGG(+Srm z39b}HQj5#a`1cnxVs!B}%hS}yM2CK0eR|mvm|Zl>Z76u_8BFMgx}z@G07=BnxN-ga zhNZ`|{D^`84Z*!Xg(T-2Z)yTX#m5c{iZ)<$?Xt@Y@odrjBjq6-?f_m|Nk_5R>01`I zaDFaylQ_-Uk-Z}kD?;u`~B5Cj_ zb2lknndnT)tXZv0RSU|doCeftIOb=Nxdgo^WQ_ZP#J5bGO)RIPE8^TsTd^Bzva?bv zwu#}J6Bnx)x*svQD2lfYCULm>GMJkE27&@$6(R}b1O$F3XnQlQ@j(T#Ue;|?2>x_J z4Uq@!fg$*lp4 zqMiBGHOztlVJ8=d)v&T3Q_Yz0k}S#lYU}Q#nrwp2C{Ev{i<{#428det8`Rz8_Z$FC znOoaT9&)t0bWf(SI6@$Z7PDD-A?@@upBuz@(dg zv%8FR;#!rOhN$NC>|~WB6hDnR#PJCL{7A+~8)zHWi+G0u8dt8mra4)Zugj~i^3)oP zxfGSrfCw`yJu=#d#%@?Z)@QGkWX-wr`s{~-ToH7t(Hl2J%Oiil@87DSo#*_NP|w!Y zEFJD7a>OU={F(ZX)7sG@r@p{kyFW7NO>a}0OH;c_z`)%XkoMh%t<+D`>Z8{+yO*UbJkK%>i#+t26TqwBOjWosw|i(?lt~@eT;c8#LC5_d3OXIWT^W#>+j^4QnOA7i=c4 zohH*UEQ3g$2R|lC5o$#a{rUs<tengKgQU*s z_sRrRzs_w!+nR$E&C&;~AH@G$6pbmKk6 z%ia2B5Sv=2XAHyRjm5W|HYniO8zR})hD`p%BJ1M%cw2r$*%T%%Dg5H?F{vN&C z@!A|G2n0Cl)wb_mm^S#kBF@CZej49RdF>3&XcF9Cw9q%#`(G=nt=S3e4@TPM$YBIE zFpc;V@VY%rL)`4%2xG;1pTLWYYW)5QW1L__OtbR>*8_YDm>=S#3ys>z-t?}2BC8xX-Hu=%m z!?V_O@bABXOEtmsn--nnb_m&XG}Oup?JvEn$C0NHO*CclZ;kgu`sqHF4@GH@4HwYo zu~x>qb2BU4O;JfyPK!q^{=+x&8~sYSnLu3o+9h(j`82z4MjX8Z43ziuT17RVY$FFtQQq7Rj3xA@f>6|rk{DU5uBGK`jdAVr3x|}XgcE! zLV33@tw4@E`Jjn|z!MbB8nR90b$>W83Jv@;L)@)1D)oeu?cSY*{T`G|_2_4^niOlS zq>N1tCw#p6J9`<>DfpCx#ZyRZ4?H{+KBIEwZ6z+$S+Vc6^!NRY-zcGxl5lCP)o6ue zlpBj;`rChSgggi+CMEic8f|QM@8=2XEGXaa3i*Q4--n}w*IB?-_=xE7{)E>|tFgn> zHkDl6@)xnZ2t6yxMJL%Iiba+U1X!fPoRr;?6uqGz;dkphV!z2Zia3XwIT|LdRVz7* zG3h2rTV$BlNtzC@Dy@h&>xF+MLCY>4iBnR&FYWxM`5}oeBDu=9m#OC`x%@YFRd&G= zg(UCK6_0KO>+~#kF;iKF)tUPOH^mgGV%`CYiY;DTty||CfM4Dti42@}nty8t&(U|E z&db)+5AIKy6ryhzf~Shgyk{hf6)rr|Ycb(xV?WYQA>|8V;&;AA9NXQ5@3= zs9RD82`blTdnvca-h$j~j*1lzOMCY_B*;ihiy71*6CBA2Sc?@DlwwTsamaX~|M{Ne zu=yR-w(~5+8ed1d&AF>6X~+S7Y||RMkw~JOu9Zf;76P7Iw_42z{Iq)7|qeqsNavSu`|(Ih1t#LvPM^UQ3_BI0e* zTmTgSb;E3s`TFwKM`SnD6nC^#ST0h7rBoB@h}|z)FodMWGE=YyI7XDfQh@4?p2vKVidn^qNiqkwCQ(7-t+CR7sV zq52@4O{KU3TCpot(<k+W(~pr+1C1Va3@COqGAS@9$BLKm1(%5A#Vj1%i*lDXyn@P<~#$ z`bN(;T6VC(9(}B&-x#=p)v~-E>omQacMHMD{A*Z6-61T0u9hj4t2Pl%4>9!IPdBy= z0gFswxT8e zos->CwmZ*4h={ycEZ~3gR=mCnonte}vICX%5wZ*M>s1mGGD|B|ltdVaVyASjx_9lkAKV$n zTZn9|(6K!3OR7wwSQeUqefo4TNEf2AY@r5R5lU14YjacqD89wsHr#Ff;Kz_VxXfR` z1V;C_JopAl#n6LjVZI_V9#*X&7UX_bEB|}&OH+v)CD;43DE>AgTw}&mY?)Sk_sS5Zg>haP^T7zcVDl~b&a{7bsIV40oBEt~t|kx0@O@(az+OE3 z*#hfMAD4qTJ*UB^z@b_yi+gCfjWxw2hUAb zbmWlsyjFY8G>K3m<8%dzlX};ha~f`n+qge5@T7cM-MoE&*9;*s_Xg3hF~6hKl3Z0; zqExa!-*+*RHrZxzB5$2;b(w>}3?%$pp?d6SV{7W#^8NkWL$bKVY(IAC!pJ28#hE+h zc&BJV%@u2^PtJP5yJww=Kc9~;b|zbF7w1~braZ?iz;C^)`)+617IE$-wYcX|QA7yk z|4XNVZ2|FUe7#h5%-*t9j=ex3>10=SU&f4JNm<1_oN)EIFx6{MQ*%rMjgUD<1U<=m zlB-|N+g(^6aC&|=5pNgZb%2;rFVg1EwRPO$Ww-CYwGl2;B`k!|j`Q;rXxMp;&Yza_ z`5$@c!G55}KSHTBXD72zvm+c^>4hkp&D#$jCVC|#nR|mKCaTj37n`X5}N1NQ-WM6IFxI8z4 zHDq&KmQ_HXQ{YWA@%MhxOuoFw=+=j{`@5-}&!b4}8M> zJBWVIj0Uhv{wt*qNWIyAzMA~wc78NXN_4YQd}XSMMl8f!aGvk8!uh<^qVDpMKY|wS z^s#TKsow~3_7tL4D(eqWfSAtI6<^W8rzM3UUtaQpwSHe&h?&hWw2wMoHk!XVSHhk@ z#5e4VOk^*iGP4pC(m%sEnp#5Gr2kmay3LwI@HrLbCqr_cA0)PQ$Zc<{`p zC{q&G7d>kK4&MAaU0KN|gAYgkkEemTls9fibX%iJD#`y?3YZ7Zp$sMdw{s7nEC1z* zkd2%>Zt{O1>+pvp3q$NLZP!1V$a7NddM`sz)&&2(AIcjRc@mj~PDtC#iyscHfJ5qpB+{gzj!*SGHjWnE&acZ1?I%>*Ue^y zH@~;F?GM@C{cl#NYn;!w;=i!)|1l5UFKjt8FSibj!!k0yJ!YJ@Uj_0!k~pqzvcmb@Y_QVJ2nFcWT7~g z>+a{WC+ceD&NbY~ z1sGdoIV1|p@nwhbM^X|52??2$@B9b18s2plI7JMfuT_*9J;kBC&zc$59TFY; z+RNe2S7fT?B8OYmW$Ym+V!OC4)sM?ii@Q&Y(WTc{xKWyXMq4 z_KegJlkr)YeL*S;p{_<5o5V|-d<1Jj23Qqk36iEg+RAAFN3?-xBT3T*uh zquN4ChJ$vOthi`bm(O{7ThVlvmb?ZB ziU$=lKoIS|{oA!0m#tOT7pa(xjn;+=?>&?dvmSoc%}<{!Ru{1u%xR8rD7_#j=(12_ z(=yL@D*KkV7j`7TFGEkTsFKT>g5`WoHU>B`fA%#+K|-Ve0=);r-gYqq1Qls zt&;`GyJ?lvvLZan0}VZ++x?nM$26qAO48)B+r8s|DuWX$D8Km5QK`qR{QiXQ$9y6e z9`;KvFO=~!d)yO6?O*bYh0FEV3VPEE=vSHlH)KoLwv}07XXKq#(e7eK31!OqUhGP= zB@BvlBgc34eI9;N@c|kP=7ey&9>9FCo*pXFykSGp$AM zbg$fJPGZ^+zF`G7i3}FgH*+7~OBrZfLVl;2SC9^47w37HP7+EdGCdWu_;|wle^K|= zL3spUyWqTNkl+y9AtAWClLUt#!95V%-7P=}lHkEZkl^m_!67&=?(VKTkl%N2?bf}! zwN>B#u~qpaFEi8Aea`9goSyFUoKB5%<1+(g9*)%0%NVP7T5*b_0o&OG%^?#5XF-+x z!UwK;-%n_#Y5Yzalc|FtCjDYH0?zWc)!782S$#*mel2ons+|k)C3ALN=}EMCVn4l@ zWb8C&j+o?#mj7~G9Zc9H&{j>3(-h|acExTv&bIdW+O#3mZ9D+LAp%`AeQb_{Jcum} zUAzq9@dO(ap~a~J&9&#jgYA({YZW^x%gEH?<~OuM zH&y2xTdn6bURjDuUq>T@rJW3Jd456-W9=Jhy4%eJNy-$g#aUd3_Of~LrIvKs?YXfxL&lVg9{M`*0HezsJo+hNKi;tl8M0Qsy`LX>WwtV z(_Y04P4K?mE6;@-yS~M29e8WmNn8D4SRLSTGnju*$2d>|&zQb@=0NZXBU@xHsDs1z zjQ+Jb!HAP9Q9!qD>}OVWF?}t$0ij}H=z&5s&nK=onA&kpQtv6_%z8~2)?2Lo6xH#l z2d#MhM949r`%*TIo$FGKootRQOrlD=U`E{_0~8+))8co{SznrrV6cmHA-wMaUOW`d zA_+%o?0(o{Og$^305vLOH}Qm`2ia1Jl#FB<^o+X>0GwiRmDSD9gN(1cxZHCbt>&hG z93_=*G5cUHT)7Zzn(u_o^FNTm4qvD($;s%q5$!}rY{zP|+PHZIh_A?-5+^Rt@MYu( zpRcQ}iOMZ0u4dD)Vd}johr?ipqh#HQFMct$DwX(BDvFvz;z2o4SOG^_G+Ey7VvHtBqq~`t4u7EDrnJ z?iVin;Hjdcp)s-Vr~IATL^+1`xwp`6osGQovH6*^&D+nT@d)h|>A6_iTm()AuyHib z`|JQY-8t08!(0A}@vTZ#e*!8?zFa;YeQI;vO@%}QqJpli(p?XBD)NCT1Q$q7)LfU6 zfo|JPO*r$|2YR)BBKy3h2!2HUs0TyNbb90Fl2oWnuPUbyo0+n)8;CKbt?}c0WU*Dp z`^#Hl@9exh4U~QYZ2tQO>10v$E_m+b1h*awy_n|nlf0m&(0~D^ayT2PpM^y>AZZnZwWWDYv4&B0CnQ$Q|ePipu!Z*}beBX8KE1k<|{54=NwjEZs(ynik~Trmv$;uwI9JgJ^M{kawAndd~VckvE4AX+F_qNN0CIE4R`F^)NFy;-n93IN&xN2e+{qq@K zhhFI*wC7&;f2g7Z+}s57t1Y*{s|}JZXA%50Q7F=TO|rIhO+;^vXbqp^ZZ7;p{2Rap zmz{s<-s-F}xf9YQ`#bUO^w$k;zsvO6H#1~iGFD3(xA{PXQtTTSpYtz~P1{Q@yyi1& zCQTf6e`BHn;`LL+pED#@ZBCpklxI#3Gw6KVnV-`Xbi{)N!C=k<3;}VBJ&Q85H8b-L z?a(OTEJ^r0KfU=?waMJmtfVCT>%OekrnCKf;|#bDo?zRLZzd{=lpSg!BqQCN45C4XO8AR`zDrXGFW zEMqoyt9~fBFp2Tn{+ztz6H2 zt8u*ilSd6TMY&G>LTo3N|BoY!17}9Xn(m&L3qMAxta35GO69eW#FRY)Ebo^)@8S#9 zkM@=swfZ-NF3Fqa+}+O;l;z!68s(BwV~My>=c_C=zL285%;fxL*JG&dFBhw?3Da+= zuidtO%wn%hQlqbeQbB*XwB!>1%MWtK8JkMqg{D50OtxIbOR$i}UNa=lj#n(}el*v! z(VI8Zx__Qw^?s?~T5_xuJdY{=d^}c=`i&dp=I=JhkGDFE>YKB+wl%)CHqO-L38Yt= zvGebZtJzeWTkL5m@NLCS<*DlUM+Gu*X?3>5#3Zi2GJR!kEQ8hOXxgkh+Ks>H)cdW5 zsFLDcpJIn)4}L%&Q|nHQzVemLHH_`xxtZ;HKXs+bGgt83m!!b`wRd&@wwU}h%jaEZ z$=IdeS>31xiP^(I3Eq$MgAX=e8k`pBzv=-Phpqu?$*k0Cl`hSNHF;bgtE|M{eTVmo zMqC(mtv`-b?j@VA&#*`znhQU0V-U6J^Ka8_ysu;Mv3%p)9f3sml~T$is&Cv#+;~lp z>rJi;)Uvgt=u^{i8wyeR?L8T^%Hl$_8e9I-eBff?La$t3)Ll78XtfM4ng;2oEl!xj zpD4J#F`|oiL5dwB!@t^oO8qt)reJW0EaFYBZ&2F*K+FQB=$w&RP7)7BH|A~;Y%xMr z`anr1MUlc7O_VUvL^8~mWZ7D{8CxVljWn{SgTdS=a2KBkSnp4{NnOcKD%)A`uqlX& zuclr5{%+qm@47Z7rbC(3TYcJlD~p>jD~sUAr?k7ghfsQ5vk3olIy;~0CJw%iY+`+8&EwV4_t-IAjL_+0CWIgA3#M;Fa4%0iM zIKd1QPONehpT_j;*i5&-MEs%2iZ9rTC*|y7<<_{GB9ThK2>D$u>6IKU`{r5K&DT^d zpP5vF;xoGG+B~(?0o5Wx1BW~2p@N;iV;3L6sQDc)=bqdThd{&9i-nu59KqLp@Ase^ zbsSbzlv3tnEECP_HoD5al>92=DKAi+2aa!A3CiiBIwHORu969rwYJCof`nyixI zt7j`1(5Z8!kcQbZ@(eU>r#KVhe9e%a^#$rgV~ooQu$jSUdmfX3d87les9m*Aw~ zpiV+nuDJ$*+I1!Wm=cUc^Gdv$UNL@>wD)KnwCzDddagy4Qw0X&YkK$f``oZ}^zv6O zu=6zzd&Tu-dt0G0V!t^EWjj3V)eQ`86dBh4ek52sJIjgK`n$F!C465~&X8OxY&jx* z;jX7}=K7Z;FSIu(C_Cn}RI+%iF_WG3Mi^2TKCF?gIiV+7Fy6>nSe@i*;B#n|A0%ln z^lzpGOid$(LwaC5FY3Spy8qcddrED!fY==_o_9K~SsIm2 z$_cEbCt1cFY+BW$=gtLhK`g)lAo{8+L;Hq+&Y?lwTWweH1}iQ2Of+YozSV zY5Uhn9ASO6TC29Cq{*$i`*cdq!i#+Rc9XB1_`{yaIMt{!FVbR@qdoRBHYSCejeamQ ztJ}6mKs#TWtktnuGT&&`qMhLIkWcd@#3Yb^+jWMvmEzBG5hW*r`2<4z*$x{H3lCd4 z8xRq0x#xg+n}INZ%1GBE=UlHhs36V9FuD;y+xP9VDYBQ+jucxA2>V$o-cw98;hGlh zz@vg2hY_+_w{_~Cn-?}-rQvK%b1arAU@jhB!$EXZ z1vKc)sgb5vdy;;JlF1t16LRrBd2sFRT+d0-4e@*48|>?|?UItI)Wc%H1d%#8bY(;p zY?j*oMp{{`Jreo5hP_gFo=i>ioh%@DtPozx1QumN=lJ>tCrpU!h5jj)gKfD12t94ygc`- z{`p3|!RH9y*N?~tc0S9!2fA94hF`}n)Sg@z=c`>{#;xIr-5PhY4I1^dE=F;Q2U%M8 za;4dSoJRm$H^b8`6QN%dtVJv9F`kdN#VWxu(S38-nqy!%nH>#Y^_g=bD>}HLx)0l( zPhC|pm4894fdH$I1o_p()L53sSM6mt@S@ml9v4Zy>k{y^AH>4ESh8%C9B{kzdiR}VKy=+YQWZ#OsHS)Ow1V=k zp=q}kog-&kU*AJ8I)nn1E}eGh&ZhdJp4%y4L*a*g$HhUziJ#6WaoC=h2E%9!vG>EQ z9lBsev9SSQ87}M-|LQsLJp7=&b(aH3?Yaxy`|yGlNQ1S7-5ghE1{A|Do$9v$lfUm` z!7qI9Edh}zEz`j64ZaCA7#GVv#K%6>1^7q&D)xtL>3^MA{(s?G{m&Q1|G|lFPd=hz zirO_g+d3x2TAlzwDUeFbLr6BrTe7m%z(p@3W2#`muR-{68}`W`ddAG#J_=2pEA z9k@$3bg9(W4l0qw9|^K@ui1Z1h3BoKzTRw}go4IT5+*fF#km-T+_@i+8=SgSHX)~; z-8a^*CLQXPhnX8-=^(C7%fKGw$h zVYVSBxt|IFM8@N2g4&204!(9~8xCsTC+5nbt&n86^sn@_ho=@@Y0d|k1W9#8w_Bq* zZR1ILVxC1y(*ufU{F6!8&yu~**WwrIS4S1<2h}S!bN|lFtZN_GgzXOh)T*20r(1M1 zu_y~uWSGc#jkC>Dk@@ko`zzk(O>D48;Ht~C-#U!7*x?SVW-Mp7abCN}FGClPm7i~e zN>K4fSWazq8XuRekz)(Z)`P3I4lxwfP{~)$E-fih&Dk3*OAe_`H5XLCdL@as)bz4h zq;$Mk+_pA@EkRCLN z1vFKwYhCsAqc{Q&_qpUrJ@a0!$o;V`f#|I@oWu-0Nzj7y-FZ zV1kA3+|{IYPw&g?7N*UIdD(wGSH;NoyVW(y6(^}sj~ERlNY$2YRui^bipuT2n*_EjEDJ+Fx;~)Ro593R0JHlD}UIOW)e_P zvXphm0!`FSyDKdcI@oBA~ z)m$zHU*F2z#`S5ousIp8#jt;cv?NVSsebGd$Hdmn(MAQ{ynC?WjmJ^X)@`)!{UHc) z?fJJyl=BB@jLyT@?$nx0Ksk}TU^x*% zT5_}6t2YkX&c+`yi-`Hd8dE%hq z$Ng(xzH(-RCmo54XB8Vq0F`2Zc`87J#v+O=MS^COb2o@|WXt6+5aO9*pmWwFM^xaM#7!kJ)6ydCtSR z*k|dL)t+`#fB0#WPpJ0h_YOq=Pq^|yEH2G`jbQ+L0ut4Xtx2C>&O+&Oems`_>zee7 znv-NdS!m^pFpuRQ=r1I2>OE33O`EkM>zvmP;>d#_xFPts@h%!glc*|hW=%3Sg z3ru)F%xj6;++Q+iEWd4zs_2;vvwEQP9S5qycfUt-mA#W+@|o9h?JA(j`qjQv((Lel z`_x1Jpzd|?%?RM@A)i*JuwxP?Ug|+X$CcpT!N@Q=0B#rn&(bod@@os;0_!DVui&uC z2eOSJCbyMhBd=yox5_`D2MhmZX4Z3<%FQ{~Jf8kU)mv?8H%%n2&;FPF_@tS6p{Dek z79I>QuY*IqJmnb{DJ7S^MiHJP=4V68Ny@ zgitPDaie71xqq+ImquCy?~4>(eGnT<4){7CNIA9a%dEWRaHRExV!y{zQyRq18_kh* zy_N%+#ge9xwXg5A%nA6U)$VR@8|l|u*QNY3e}7k8i*q@X^r9SuX9rqAlGMs`qMv_-xZP558OS$o3o93IJ7Jcz)ryN4_!!a3mL2yQm_u~5HFY+e}3__RGD+|Wps2{Jx_tiM!PctErRZap(@TUkpDoYaUndqr-5+!j5vrdg_4$u1MON(6~k>qSr5nv7KxMBv$?Eug@3zhA$BnCh%~aQvL8h@)_wB!vH$74+aH z*&Un*6?}_>Wx=!^nk~Q)>JK-_3tW<(Z*Z@QglFdkgNk+qHuZc_%4< z@jUZGHw%*<4d?yHBu+#^kzTfYS%mX78v^j#GUDvDvrBJLj)sfiUVXj|sj$(87rz2x z-)o$DeqKLgzk#(IE0$8YzpxRwXmaN2YMKk00GEhg#@!5`3Bh~UD7MwYX3y!$a zOvxzNFj2^236x4+wNkckTl~od_z(eK-wFy#o~+Lg;eL|o3ppKWs3rCd>CDLPNQvtB z@f(?l1V?R#J8Ix1Ymtc39IaY1U$j*QcmQCiD3#0G&H=}>_3JxXp^Km6u)XG|Okoi4 zcoUVBMa^bEX>r)*7PCzivN8#!_XNB3|HT*B zgS+PpzQYx@M2JFsZcDLc8Mn@&T`gD@gSTyQmC)Y&d`sux!Yaf3yV)JGUZ8{vJZ=i9 zXZF}XLx+e23D+~?3|QwTHV)$UPtA_8smB3;-FVG1`c0)ms@ruSuiAp6IW%9B#Lbv~ zfWTF*)T1VouZ0HwOCnw*I|7pwSiG$Qq<7+T%8M8qC)k-RiiNuDOr!_5j})5>I#vx0 z1~Ev55WLL@(95IkYgd}x@0;V&;*T7t>d$^f#;1y#dv$e!@UZaUmCc)i0N|IZ?>1T# z3y!{5Ru=m&8ShD1MU3wjQAUcF!RnfT1}pZR!1DErWQcD3?%0^4Ng_;C2e}MelNs^H`q-a#&32xz>fItatg*W}JSUZ$qIHGY8|(tgAIE zNOi+_MPLUnHs{$}7Mx1;=JQm#9J1;C{B;ITgP^?tc7&W&p{v#^BIqjLx(*BFo-ojx z=#bI~&6H2!%ircPJ$J>g@>uLMhgFWGRJz&8^U^3ZIH49-svr@MZDBLq9OGLVU4NZa zB71v0nyhT}Gtos>ua$hzHiCJ{xzC(<7gn8fq;C zVtm7Sv#q9bdK!%KqHErL`O5ES4QSjIdX7 z!`51(@;f;1Q{EsshZ-BTl)o{@LQql=Bn?V}Kbh56zw`Qa9PHHZ9{Z%$y%}SW)G1N& zW1m*l!UF&Jil59VxeQhd$Vm5dkmYYaSosfSruxAUT4o$TlGvqM-`LA0SM-ijmq|+X zO3=OG&42j?h(vvrqgP^@3H^h)_W&QD1uTv;_aeM8!~R z0w!o0D#E^!#mA;8a%?9#$6 z=r%_S8#&Ci(I*SK+Arw{`6BBzfJ-p*+|}Z{aq4h$Ckl{g#lXeX19C@AHPZDs=Rh^I zn$}#ze^G0K9D1)dy;?+BFU;f(DP(a&E=sBjT#L00eqgkPrR`f0Zz!5s7QzDtKcu6@ z(~NWLgGE$FGnWerxPTdvX9@M%C*8|K@3G!5Xn6a?LbpDKm68OIfM5H9^NzO_H-D?Y zI<>WqXDSUp*+55~oUDhijGNF~jN}YK^<)zRn>JEq-aT!%a-iu`Z+>qkgEH4R%wpH~ z8pSrJPG1kG(+9hp-UpfxVrYI)L1{5dWPV{%;Vk?0`;hMIe)UYd;RRV=(Z93p;GsLg zQ1;5{*LyWWSIjXVK5O}$wg)LwZ%tZf@yjC~)HIg+%k~kD(e0$LBj5_oCEI}c!ciF% zN@^pGKMl*F>r(fl8q!#1d%G?r;D;TxVs~%(qxDe5!LyAsFR%H~vf1h;U1t>rmFRx_ zckd16FJ7QpoLwCcaP~x-6cV}bzZahuE>gIkA%PV=_&OFgn?^kt<#GyF&4A0A_9BRY zEJHH(%BD&zZ zl(f-W7EC9v5sTtEm=;(O81K>eU`Pn$lDH)&{NX_IVH{}Mb?c?udYbQLIS>q>po^>m z|H{(lojr7ARQVPUct5Idf*0v_#~`S3fBzVg{v`MWTS`X^9vLiQCy90HnWGuMYcziA z*YyJrKc3u7$hDEwH3h5J;&lDB^z`L-tNk81yYZ&e&fXOw%D25~DQF*zb?ufh8EM0J zv<`WeVJW%kyNo5vCj9v`@s61o_39mbWE+o?6{X&J`y;>++y2vz1;LUo(qQ7(USc^C zgJ50~mENtVakCqJAOBdelaH0U!qHUh9$J$2TrPRdW|-(3c93yWoTEK=0ek;uJ7@da zG)D(9tBL_a!SJjPCVq9H63~qEeSKoAY|UHtNNQQ?#d}tl4}KCZ_1+JzFZ%fI>u;n* ze1MV2$A_p{7rPh0=Wo*k@5{(tBL{&{k{v+=s2bOz3?TLL*-YxZFs~4Xk$urcu$I|>jlrlR=<@>QKPCiWTAIT4s_NESMi;(JsQLT9 z0KYPeL2MOri@n}E|Mlnm>BpUx>{Jh>7`e>=uYfuD$6(Sb1gH%eI(q&4_0xgW`@8>e zq!I`Iw-)`30*-}C72ROv14|e>wqGARASU1X9L(9bWui9Up}5z3$MSC{zEgHjvGo>> zDtybmGI}-s2KD9-niRYI&Ug2(LlhvC66W!8Jexw&smaIr;*)C_#msbad` z?~;7429`k<))wPtM72q~pGpm!ZA6VZ;3z#jA>v|aFm$t@&nMAbgIXbXf0HvS#8VxM9q+TT7)ZmO>$5*RDe_`?~PG z*$5)|KNEXYn?27LItN#nn(ZV;UXqmSM83ZSV+k?IHkd_gM&FCNzgknHUR*Jg?@m53 zFcXbb^IUxbWU$}AN)kRp^)cA^_+~jP_Bm^yA#Lw=#`(p%72j51DsP{FGY!RLwNzfC zkap=+SKR=8YVoPFXyOpUm%HpWCg)>=S~7!31-q|gqcUjq*9V$F4&!W{^=*1acB7p< zS-)fe?o8RPpK0gYk@`227qT*z+>DSp99wg&y}3sdHq!)Vv*1hWxpVfU{7$ubI0>+f zE*Ccj+TE+34Zf#t!txy%6SLE(pR`aTy}ZhCqg}!B*$cuh>=x2#?c2`yAipf}SCzS~i7BhE zi;q*Z*BKno6rdKHhm$2}?2Tn&?9D%QO9@b!YbD_(bNPfzHDD1iJJpN(G}BzmME(K0_>?c^f>f~bM0ONw_&L1+5m|ozl-)^Gom}6B z<;hEmmz%!*1eSR!Ub2$~W`Ot9iQ23Wqi-B(Z4;km>SU?IB;j0z?OJ_4<~XBAx8t=}pr26gGtwENGGB7os}F zs#@pS+n)wE*OTBp$Ej8Ofl9Bn^wPV!#AKuf4^%@BFDsq9tqJyO0?8UF=ou-SPQd#U-TWls1^X-osJ49xf>8MtNN*~mkKU3TC- zH4-PQczOyOBjL_q=Cj~20Iop#Dgl*B>yhwJ$!=Z2!2L9=0y`R&%8B>cGIOfdF0sSb zbE;6GotQoMz&0>*>6^G>{N8&4VV`E)I!qf_6&y5;JZ3ig+Bhopv(%# zXR2u?2!_tZE7-lx?eq2PD%$aifi!oM^xqb*KUsQc=->b)`r?&$jc!Tuygxq;hDw0_ zDFpjN%VDXQ0AruO0rFWl#P^x0Mjx$mV)v(Ge6@BKcdD5!jp zu>Eyc0v_?5Hg%)1MF%QMB5k{gG9j#f1N^sgu--FHh|3`h>JB%A1&`ezn!!@H)KIxI z<^=gOMrpG<$q#2RLr@R%V?}7aH)iyuY_jt2tj0|Sw>w!! zVaTT<_#XMlA74t300hyIOA%)Sjt~(b?sJ#V{XRVY{U%$ha6{VOG5-B!={hY#O9h|| z1Oc+G`Vbbz(r%jnJROi~jN}U&1mA*Ff(n84aQy*IGv+;i@s%w7_9Z!apl_uS5o1dU z90R1JaT9nXS^_(XC^(9R5kC4;GYB3Qb#|s*vdj4)_RcHAh)2Ki>t~F|O|c67ts^vw zY?|ebAiAeAovVrlNFwSmZ58@#2((kWl_7VuDEnKS0f^f(VwmXlZDsldc!6fEWpGov zr#o5y8JQ>$R_&{i4Fmvzl?o8sV*fb^s;{Xfd>|dUEW`kU^;r1xan^yEgs5-BU$i52 zEjQAfGxY48=U=Ye_*_)La>VEw0fEMT8WV#Hg^hoH{o5V4ACCS3ZXG0}*h=|I;o)z1 zTw0dO;LKKT6i?;P)(FFEg258wZm=OEgM@!MF3r}A4%|FjNRv8W6o~FK;+FEQ4BRW zY6j_V1D0sz{N>U7E}u89?%t2H3znC=IWOO=jSsLuN9R;^M$h(#q9fQKq2jmQf!3%W z4%>@h7U3TXBfO{BVaYKuG3C71?!DPIQF3fOX>)2Zc(MQyk|IYD&tCt+%{lQsvrBCu91evd^44GEx&QJy77Y;BJj0 z;cqdAMXy!!{s58^5)#V7_ip=Nb#rawFp<%3WnYVkT}s&^pBSYNG2*5R+`K^$p`@ft zJf2Op(xcyAM;EipRY;Zh{FUO5D_!e2vhTVDeTPdNt0dqM5)xvnge4{cjL{6bU%Yv{ z*QN&3mYfP1?t_x-c*lAiA^IQ;7e)-@^gq2fnirfHDzK6;!#P(=wm>H2lrC$xeeRoF z3)m@+AGHAT(da^5$L~~^B@Q99-ua7L*ekgU7r5@#!`2_TPn{|V#K>5mDNcJ?uz4_V z+mn&dcG}OGh;iBTi`nHBzl+^a0NIRZre`-u{O=eJdDI+bCpApt%q+Ws5RK$yW_VfJmCp8zVUiq8L0ZD^d*z!pS{5 zH3B1&n}!h$OlqX$)HsG4?<0UdIF~{YCdI6L{7EzX}#S z784N_eZ^XmCQafI8x8peYL?dL9M+#L-CybTGk;|1yj;#_5_CRrEI8!U>2%N59&Xjo zl~(A)A2rv=@@Slxa_p8cw4foFeEmp20g4;L%d)-WsgB zFRDO=i7)P1pX_>!JZQ4>b#-o8WUDta>+X#a^xeNFDVHSkryNB_Dbmx&#>|QF*6y&c z7w`R_I+$$?jNQ@v<$x9AUK$E}NuIr_WJ@{KYY_kMs@l0Yi)a}OFaQ@5sOXC|6Qhly zZc3Z}BS5dO+xOosIv5;cA{YpQY3kCzY(znl^wZrJg zijTY!N@$)ad0^=lx^{LHTl^Eb#mf})srf$>F%??AXOZ2sil`_})+drpt2A1sWV@^M zZ;r)M{O{*j9HN+;TfNa-u|4zs;t)_bj+yBH&&1deTQGdh0V&{`Lzo!Nm%~>mE5@sa zs0=CLQK#%LL?HL%-!QT#qgrCAeGP3HW~t^9{^{G}u&14D!@|J*14Px9SXvYiSnde^ zr&1}I%K#xbfN?6@0$vev*t>Kfc@^>WlxgCK>oc(Bkf%8j67uxN|E?eZU$pt39{#uX z^Z%($(=yh7LW-DsNr?&Y5VbG@MUY`fVizM=SGX2*A+=Yxf&av5Sl?LHbiXiIziQa8 z*YK=VVmaZUAr6wwL$79|f_gd0CZP17LzHNk8UV zR%~XVZ6ggiszqcSIoFg85`PX50Rnf2#UP<`%GTD)hYsPllo=zazQ3jrG4z4tvLe@U zxr1S+y_>>;f#33~a-kR;MG)Jzy|dM4zH@?tQ+z3|4B zc*Rl}9^>|f@E(cVo8sF2*x$v)u<=X3qT?t&w=~_|*ge>g-8Z8!)%Us`qc`6W06kRV z5*)pdZzsUt_cd$Veavs1oH#AJ*GAH#^M3w>sOdS=?cbc)%tID00C!iFkdU|I6HQ_U zqN;xgWBGTs4`9Kt?x=&a$=PTnRBg^tSH@v9mXUGbTfyxJ{x>CqiT)pwSxRb*8cp^> zK+3z%A*L!`7u--6Ll?an8|3p0g*)w^EVPhsxGkj)nqE4LnIA8I zm99vA$qqu;Ew&MO-ogjKlj2flygwPAH?-Ti<9D8iS?tBWOm8G;aS;aX>qcGB4xyz~ z8Mlmq6rRwbE*qTRS748)H<00h8sRBgT!a?Z%rSMeLt5lPeo`1pN<)BnLx%O{0d(z{ zu!|L6pNt08ca$E&2J`6eVHZz(y!GL~b!{|IJ>A_+&#Ly2UJ7Pl4nAIfgy0dR`rG3^ z$f6}s4b&irjM~kHKVQTIgw-3}&lK>19CG;1N2nedv-8l=nQPW@UHYtEq7PX}Sq?JUxq)K5hb@ZalLF)b}9 z3;?#gC)WS3KL*fq(DY;M`%}4L7ZY+sXhjHv6-Xr{9F@XMOo{sJU{HOHJZVg@Sy&-h zn5;kqHz>U()bhs}z~SVY%I(hUhue~y1n@pb4ev%or=;ZLor05n=S24efuLw@zy=5( z)FGL6d`I9=+7LxP0B($r_-Td*bYsCT;^zo|0L*q3_){G~aHjyuV0dDgJD=tusxPR9 zSNEkbk}IdJ0U;ssp@lzWO+*>+h(NR3+5)S&fkQbI1Ea2fA28hOa!K<#pZ4KD8&iI- zriMt-0m_LhsWXmIYZwZ>nH$enV+Z6rcUVrySV3jW5$Fw=lxs~EXgHww(nB`8-Gq}M zo-SwG;}1d~6p|sfVZ|K<02VemsI?OJGxPs4p3){f_9rlRMQm{pa%YZg!>`HfMfXAV zWSMcM=lVRDcl5BH3e0ujiT& zTEdCpWgj2nz=T*1IBCS+ePz)avUnTj&Q z0P-zZpMkl37gln`cK#>^v~GkJJ2_D3|6V_bMgC;mtbly}Wp|~onYNJgAvwn5jBup| z)d>D}1Al>5vEY<&_2{5MOIL;YNcI@Q8Uo2d1mD21T_&$kkUzG3)PPYAYVtTYpxgKH z*6tI&{-@v%9O<4I_^R+D-fnRb2?>5yG?+a4vul^up+= z`OH!zpC{A?@7Rh1o}z*fi0zCq=!utkK_P**vm@63l@*+x;0W3=9+w2*t907PcxZ_J z{jnVG53N37{OD7|ww}yg4TPf!X-)!gPj@!O8|sFE5ir;);b&p4Zt$5$XMo}-`>1Mx ze@bD#14BE|NFLu&y~9%6`5)PdJ*tlBzf>2Hlezi|I8%4#m2|X%O$E^8j1Y20 zXav!(JkbPG5Wnpo+}sYPExN+1E;NVHL`&LFe9D*!{e$VB%9zL#+n7mwHU27pfC|%-h)eY=G&VEp4@)(p^Fh4=EJ>3kq6E8&Q5yFvgps~=>Ho?1uf9% zATFP|8E1Tayo4nFU4VREP!NK)*K}6R!DO==qVEFi=F)o#N=n}Vk*{q~KvBA zvDq5iEhPkzyc(SH2hdNAsEoobQZ3nDp2N$;r8kw@wFw)5kQ({u7C4+56hU#(xh`LF7Z9=HoWWZ2j8RXqL_Be7AgqQTv%! z6vJH?z%z*SZM0?B)$@=X40Rm1eaZIcDtAtF5Yaq8f^tdEE&^92Xg>cyHu2OFcu--$ zxj&uUNUhJx&00$Y_13~6haf^o_XM7f%b-$wY=wPqpci{Lo-Us@QXKFYMEb%Aq7A== zbWK_li;;6%8`Xe!NnO}=+sV(B*{xKkdL2tSIy=fi{q=C$;QiN z#-6-9BDE9`Fh+)tH+-C-8M(XPWr~}wzrQ2%b`{e*d^Cao3F4qPC1&nG{Rd>AkKX0$ zzkT-zUXOrR^dHE5@}?H7{{=r@8=j}S+Nx{8!r+*KBT4?_puw$IfpS&IH?Xlw(BZF; z07F-sjXnhT?VNhW{XE)ck!eLo*p&3_Nw zLq;m@9g_(C<@@Ck0K1a(-)yg*Y(QpjMzUn$W-IlV#7Hp+m3Jl!JA=-4<}Y%DZ}*#1 zy^j^(Niiuiew}Q#qmxY@=(wMayPhruk7udrd8uev3Y>?79!`HCe%@DM_DmIc1Zckv zV$6{vgj(!N9oFv`;SgKd|9=8EVJq4FVX)NQEpz=Y8$!#M7x!Si2s)OP$fr5`sPU20 zV{3p6a)=8&w1Rle4u%FtV7!tjzjVM3%=i~4yrTH_G*=t&u|aht9lE^qbpUn|SWsH9 zv1#DgfC%wtkKbR+Fz(dCyp>MFy+DyxecD~)C+ZE1*6u)#YCWjw0(~m&i3YgQ1f@O zbhO2KFbd_mE#-X-)v;<2T5cki&iNx)Z=a+42_qb)V0#Yg!5p%JV7045X2R$ zMINZX`iu40>k-AZ(1nFpSwhd!t&w*}Edq*#A&2h)4@iw??w7~!Du1f+TU-EbjKEf~ zpeC>m>&oog41DvfeY%*9a{}WV>I^eEIwu<6Nq_~?GVJ84l##>zRqSVAPXgq5yNHu2YPLa3G}d8$Vmwd- z-%<_1x$4D!?4z988Bm0X0So9%ey7J7o|q4xZ(`7%Oo@RgjynDyoV{gKlwZ_0d<{7? z2uMh)w1f=OA%Y-^AdS);B1j`KLzkq4)DQxa0|-*mA=2&810p$eH_zq&zCXO*-t|1J z1s`U?aORwIowN5Z_U`<`-fxRie#r75)>Ihq1zMeew=2)p!If5o8D$c~I|YLQrf#J- zK6DZ1?~UPO2{? z#GELtU{QmbTfJD!&PZ8LU2em^IGgCzJ7Qx9+dnkkf&~alJ*GGtqTh7C8+vsT+=A5h z)#L2Lxeb?;&)$sv^h`` zP=?59J|tz+-b?!!;3EgS?YgBHS~_E|MZ0*Fdjk0x6?7ligKsHt zcL+6VaQ_Wa$T8>qWB|wbos?Z)uFACtLIXc5vR5!EDzsr=kz}ukQAqC&k_gr<5b)%) zCoxvxaR+O(i9rpLd1<0z9l?58V>V!-o+T{7SE_u#{tH_3B&4-B()H|#vXy%xoex24 zJP!E41Va%?i-M4rCmw3NNyS&S@Qd1#^145feF;65#E8#p0}q!e3+>XzVPp>;JV4Ka zwJ%Fvzkc29jV-Hv*VX2S%k_axI8ff0ESo|8xrvigl%rIRX3@R8#GqQH^d*ufV!h0V zT7G_hR4+1DO8583@w=rx7DMQM&%f_xwgErl=OuAMW-B9fQi0t=8shp9+wqw0rI*qy zo*p~%SDpBDh7}|T&r-OEc}3Z4CJyJ9XHem3srA)oMENw9R&_Mjt<>zH@4hq%g2}ot zkX*uY`;zmgJ)pMeTzBS!xtPbA92M&st%%3i%+!c6od4A(kT*i-+okD{k&%hrY+oY-~t;&GeYoiBRMarmP9W|FbXg727ZlQ%fu08C!R|gOKU| zfWluaH$0=IUHp*OCZ=_FGgx;OGLi88hNGfL{Qw}RU>JbkoWQ|C7v+unxrPF(U}k$icsR`Hkn?YdA{3IZU5~To zja*gXxv;35tk*O4UdEWX^xV(7SYo|dd-+X6lYCVN*of*fXM&>CiRt@N6tu^!^Aa0Y zy$JwerE4VKrK%U6KW$@wmn2_R;WEpFd0_yzURcX!*u5@mNCQ4V$zN}QM_wogMjZq&Tat+hyYcqXn>XAviqb4{1ya4M2jVeHn&fcM8;`@b z-GD{aa^8w42Fs?Mj0rX!YLff2K6w#B$<4>>hukl5`7%MM@r-CpXn1ro*xPlb4MxhH zzu;vo;eMAY>Ml!kn}fXq2ppQgoSoy5_YMOvEPxUNnfHT|5*NU(uF1w z&$4CO-F;g*(xeguQTO|VHdz+xnVP;Y;jzaVzjJ$HNX0O zBS6HH&zTQn>L&6*(rs^Tkqu->h=_V_&)Ra+j3#Mnp0O*D%=?BUx_lEeIG>x!7aOj% z<@Z$X*$**L>oUj+i^U-a|4>(z`GAdX=paUto=~mjwbE{BAcpqKap;|QpWTf z8mW+pT#X>s2ts|hru7@IklP%VY1ZPW24@3qrWzq;^k9Q`ceW6rgKp zN!I22<=EOXAK~JgdjYU{TnZr^9-`0$jVU=()5bx7vq%H*`2&STDdHPdHts6)Ky0yoAQpn(>{b)oLxMZ=Y;oeftD zcSI0=kosUgQ+_&jkLzeoSvGpr?XIWFqu6dXu8qbE zk{EyAxQ#F~_$*>^Te3lt%8g4RV92@n57Bhig$ER4_;dmC98y`8@y^6c5c!+B=(C_6?E7~^+v4x&)l=1DXfJ@9;*=;})6_~Ln+ z)4Aj2;a54o-wwtHX$E1?{KBFl3D3C(cc&~V&uzGA!UO3Ht?_1&gb=0wg=J>XN1C4qeH zlDNc2Ofe%zVOrhpg@X<*w|PS8b01R3FxfF5ZZ-+xtb_I1`6!4&_B5B0W78YyKT1)3 zb3W66qT}z|i0WQ4IyyQ6ub-{;&CRzKMoV=u>pACFqF}c@_bAK}%JYHrtcp)QjdlO$ z_g7l#GT-+u4~F2Se@^?Jc_ze~Q&(sbhuY;f@J6VJ2W$S6xb8I)D${nbxa+Y!N0MXL z-2`85t^(2H+z3V>mL3mayA?4BxB%biTh_I!7tHB!G!PiNjc}c~Y}acr+AywgT4&?; z%FN76y}CG2elbRB_EvXM12AM)d^T47vB2&sN274YeQy5u@86e}q|DU!F2UI@foNbR zCnwL>)#2yWD=RC*R5zz&cWcbMB0YV#986}8b13|5J$EHvG{~lYVFdDnQS0HsPiXm4 zN|t2TLny<$EpYqlnLUBOY?K^nZz0ZJuJ%F{ruCTkAdAmy$M^8$zxartw16)N69|T`cCL8Xjn(R%02Tp$@h~qwTk{o>MlBU`olxbVEzZ` z7-<`@U$2hx9e(r5$2?BmasKn?KkSw#El$qp%O5oXd`es5`W= za?8oxjAkZ%7i$G$>*l*6)D|My`M#xFY~d>lC(opdi}}c&(>%Gj(z$DUezhAW=R2(? zHaG54x|mx~u(CM>zdk6x0dMq6%;(@Mh_VkOJ=*=%H%Iyg0``}0W!GJ>m69XGY|0So z5lb>e7!+SMdd$%IFf;@$XdUppV33jS6fa_t66_uF?TOsU28%MeCzjn`RM!)zp%~Q0-PzKBX}icOnF4DKOlxgrV^LeQ|XXK=)yaILhT&THx~2cZHd(4zD!C9C?U}B z?75#}=+g#9o7OWmE8a-P#`R|uv%|0)H=`8r)T&2aG-4aF2%LdWHg-)Bx2_X*)BW$H zrKi8SzQWvGl@=ElFJ1fmc9-!zp0a7#nZaBiqfVMnnxqyz!{|p@o!bXz{Dxsd_Rdnj ze`wyqk+0Ma-Vz^%ks((zTd@Qx>yUjsPD4RK2eFA6o^Vbh7x6WbePzIRKS3m=bF~(h zT`3t+VVBF7X*4@OQ+pbc;@R@P4;Awj(n#C-``I19ZWOQ8Wx1SK9v6`cUJ%hWj@|ob z($ebY{H~3ZI0c|Ok6)!oGem(su#zGC;Z%o-)tHks6n>O!CF;N9gOPITNw~j9?M<3b z)4u4ulsb)(Ej|A2aQR|T?ZVsAk{Q^-OrfrtxOwYscPQmFkw9|U zf;f40Ol=IbC6}n>9AvK|ILFh~m*H0@Q+=yVTZj21m0b~wCk)wNNVq@98*#@Js4%U9 zB{J*~h0iY=9RsOtVJ-+|a!e z_q^@yNOY#$=yuTm-q{(H+A(xLn$Q!A=?yc;k5dKvMS;-^=8?@{#!Xn;vreuM85L3;%@z-BZ*Ue>`WsxGXC&%@!*S%VERqXc>CBc<_Bbk;T$!k zgVQkD+VIlU+J#*}&ZOMn>hD1dRo3Mc@zE6e=p%Z}X4z^ZEX<|KjNZS>tZYeKn4N&| zKCfuq@7A7q-tq#?XLt4Aq^>URQY2qTirj4qEn@p6_TPEx)O7SaB-tu@dQVF=B2~nu zc?ArI8u0wl5Wn0OSwg~lqC!-MdvB4e>?wVBKlS_(Z_p-(Gsh3nUfP+yT#(>VCr>BQ zP;1Mtj^LcTBg$sQm)9tQuBLC9flL~lcHG&bs^O^kO5&wD&{3Qe^@e>pbLs5Rdoh!R zU85XIDU5c1a-EQGZ@M)a;Q!R3l1%q?Ft%a(o-{J)IVCKXK67gdIU3C- zd|q=LyCrqcfFi5DWKsB0iHS^EO^wI+*ZmRL!0Ye!6LOd5=oVukhWWb$x;@ZGwEP&4 z#&k-YMGfePisdgFk#3&`+cfdT)q7N=I1DxAiZEoBtc<+3Q@YPa!s+>Tp zB9aku3!FHu37RZuRlapMNyGQ>h{%iBiQm6DTlSO6Gn$S5^F_ob>?(FkK#T7H1k*Js2^s{OoL0J9yB@%VX6KQ^R_-Ynhms=%}fweKDiQXAe%$ zOhaLximFBV|Dn#(_XS5h=)$B--ss=<@1l;fFe-noTGacctxxM1%no3TGFzhM-UHwN zC4=x2OR0%i&j+S0IBS?NfnGn|SU62MifApjQFd>y9Dj3%0@E4JsS6werpZfBucjPh zmz}f;&%e{NHQ|Fy%IM2ir&^_T%R?;SrPi=bSMbw{Gi%|oJI0bYaQTZ4If5P7`vGP~ z;I%Jz(>^^tJ=JCYN;1Zx4&?y$LSJim_j_W3dF++0>f%v3{K{Pn>?wUe)U0ry2J8!1 zromnJFEnLwu(LZ8oT>SwT9l~CTa>7}-hjO9)oa!~p}5(lShVnN{EGar(Tceoz(}X| zST?vB?L1PelDZXfSY2IxSfE+N&*>FX^NmMa6~YsCC@HhDyVfA^t)5>s|CZYTy*}ge zXSsJo^3*tfS66YW3R2qyDQ!dVG+n?a9Ph&c1i@RE40o4F25irF^x{U%fxJ(8k> zWq~x|)BHC|AXE}4=RQRF1}wSU;n{qUNf*@p($x8(tsdGvC$U)KcX#B|FZBvJ6(X50 zJ=>gqso<*YOn>JKvw*+3b3uKX{i?Maql~%~d&PZw@dG)>BJ}Ny#L9{;q!k9!4-L3> zW7H7emi58C0`7zNty(Ft29cK{J~QC{8S7~FhFYG7LZuv(Rld|c`to0PrytA?+X!>j<%Ym|9X&(ud>qerLXE>yr?WJcB0+Si|A))2!?D ztZ6J3D|R)9xtinQ!akmvnL+={FyzRM)tQ5uUeX}qC^=Ae)51fqnWCRQAF*|VtE;Pv zUB2t@GUY4(B;!~Rz(ZK3S%lYJIik<1)T|%4#59wz+>pc0NObphoJjcxIHv$qW%~dXF22IV61W|Z2~>l(PIuS8AMhG}KK@{# zpKIQeX$8yfMmr*ERb#LL4|YW#j`%eSh2pe(-CEjs*!^iz!1Nz5CAHe0I_9$1MfdgT zMSw_Zf55+u3zw3T@(BdE7h2}HPyMJ$02)y>sg;LX;!HJ5dtPD))I#%I*GMishwl2}(d|l6(0bsmZ?BG{Z_IFU*)mI8|Fo5_SO%hJqPxt`G`MNR z)I|QqLS@f}o{Yit#$YqwN;B-zu0ZzMAU~0rIAr#_1G@N`$BVuzUPsaxtP62Spikd} z+RYCO0fgpYLc;ug-GHgP^53C+b(xO2TzPb=)1tY{FiJA7nm}JV$$U^*&EKb%ubCQo zq1(~Eb*}{I4cPL6LTHGU-pz{XMKF7vF>$}bu8;ihfj7Wa zcUy=nkTVSd8OBAJWcy&N3g1cJ(O);A{cF~q1z{^dY`&KNki|IkbqEkAdpQzWkwBPj z^N=BRXtk;V^=5hG3zwEqcpJ6CB$#86cKkX%KDJgHZK|frS@zzN@aK?iYI*DK+Ho<=2>`Cx;aK&b z68-Pq+13uJh&>EMcJoqZ@mL>(IMRCnsg0;q^|OY~FIbc23jW2rXiIuh=Q#g`{87 z`&z*l)({)WeG4JHJO!bx?ohx13u=g_qa~rqNw`VD)!~KBFNK z!|tNGsh%&`1{?ZN8-oJs=%-OSU~@b6&YI{uVzSO-YGPYy!2z%F%}Nn%&vH6;(=DH1 zPJfEE^XZ{TTUJENBUpBV4o^-z;Y(mo)*hscPs4)V&C_$k9(6I=5_grNK>X=gxw|Q= zo#Ucpnje0xR@vI2lqxj>J%crPf)Q5q&@fVPhv_Ga5(}mfBX#O;{X%Eh2Kt_tUY6TH zGGf}RvLHx5!uA6WjaN7OY|^bWWQn7KIH%$WLeBOvv7f7-i}snQ?IXsuj_AH6eQki3suN5 zZ7+Y?^S*J{VK-$rk|6002}1a35XaAlzy>`N_b_03JeVof@ioIGlK1v=1zrZr7U48P z4XA!Hk=oco!@Gvs+FGVguH`Jb(7{UEWL!4H?(}zuvKglqnGYaVRQ=Pu(n7K|R_1uJ zW5@sG2WuFn#W{OjuM&4M9Ac-U&)Ahe3T6+-n{!biBq=OMZqHDM!|?1onMOvG8=dG$ zhG{~LZxn1Jo!$o$<1IA6tlUUev+$#CTeeFOk|$>prwlZSCXRIlNISArY8(9>xKsKf zI>x=2pvS^`@`!>p^Oz_@AQgTT)QoI*QBH}xP*V$>>wrYdz1?PQNQE1S?H zs}S?08W~>O#ZC+6d_%8=@#?f&&e*jYV&0ehz`?2cY~^A>kCucKu6$030@LTeYk2aI z*7r{Hz9`_$ ze2I2^EtVOIQpv~D_BNNo|2XkHyH}kg z4moa!o)D@}pXa;4O@3lp&m&ICc6c@fpO@UK9&1ONz^|w-aE}iUnd-2pAO7Q0QwGSy zDS`!_t|U_my13Bb{Kz8Hmxn{jJP~dUtUr#ofA&uuH04UQeYehK+UML9VHr-t9V7`0p{RxS>{Xp_BCIj2BEpsw^F!p1o*@y3vbNLo$ zn<^8?)cgq!NF>i=f z-%DkF7FI*C3utboxNfOoh-MKYrS>iHQ=BO3^Yr-ZFk2PSQk6?|3+P*BqVT8I2eGU` z6tYJ%FiwQh-{e6%dDY z=$e>dYCyu!?7Nl0yXVhIIA4Ll?Vu`vqHI5qb`tt%wyEmefwQ1(|GRXPLSMeCI%}Eo zbhm>d{pP&K10ajS*`R2}Uub}J&> z7RC$wG8HeEd=b(+<~~Ohq7b5TF9GCsuObw4oAmj&G2pY=y%Z~F-1*looMC^uH7oDo z@$eIhD=Re0h%hhFjAvP&21r6-QFduv&f*y*#l;(79=Sf@?l%Umt_Ps?&U$9?05@6B z{1re9?w+0V6!=+6zh3ixk^^|=PhsGv9jwMdZD-dp-!Ygt&g-SJ!mPCfcWMEE#fnuv zUwhaxy}h5IYGiyivY_BLNZqRN#7bR~g~~@*J`8aktcMz95?1(}cx+-Yp~uHHLC6a; z+-$KAV>6Ug(H;PQEMoIPlB%tfljnmzRouezvNARB@@ALG2@0S~TlH>89CbEAA4(5_ zVdPUEpC2hI_x?cwdu(hhM^eT@-}LR%R_xMN(hAnA!F2*32Rg<(cgT#;R`qa9PO+E* zR2h8~NXfD4Z9D`9S{_a_HI6%XW2HyYQ&a0NayMRBQLYm@0|?)>oUn%!GKU(5P$~h6 zL5ZGTKZ*l|aDR41PjRMg@P8Y9|NfofMH5o(ZW&!EKAcMe`0d$pF~7ZPQFV@ zOgFx8+$%|lxI(xBH;v@VHcIVO96 z-z25cIHp<4GLf(T+4CBNsdWpHdV)=VwJOWg85eijLrfw>fnOAUYfq#CDb$u9 zvv!Z}sOto`?1zs5$J;9BRf!L(CqplAUiwu+nc74iX{eGrtFZ zS&j;k;x@>-RY21b5w^Jmt-W@ps{oQS!Y= zy~f=2EhqRzDxHzr$R7~A3C_BTxf(z*Z3I)QqTO{s5b9!X$G`S$CEdw?0VIlcpMWGl z)>xa;*qz&JyeC~m?<@!}mht4|u60(r1%YYW$4v{~#vn(o|G1^Uk{AKLi69N}RDs=X z>WF_7jV}l)NNB5fmAtls^4}Q!4QdJ4ho=lxS!|tnYM4C9*M1Ae*FG%p%l8k`2V$yg zzK^;ay-v0Y>sZv}i2sG2n2?xy>){AmZ~kt17KZwpNHj15(&&&x7R@62{tQv@=&Bl? zoD8(gB~Hu1ZKL5sdb)IbBxR*g;^b)H#jDU1X_KX;y%`yONPTf~q0=@$&!WO(M*p;H z$87Cm324<($@ulPCsMuW$x158BitZ0lj#b0ZQ!mRS+@Vrj|^3^C-p;3`+uSYWxq5u zNG>)AsOBdmYO)-#P4w>Sp>RMo#{;lmo6*S!AD^53PHOeblL0ZzrKR&;BB6-_fr6>` z;adsr7Cpa-Wc>)aM6vLDD={5*aLdH`OlGdi6aFKwe_L26tXsTADyJh`1zx{70== z(@E3L97}K<)dm#zam7B?@^Z6`H!$=K)g_|RB;X0Nb$T)H4QFq80R7_5idW3zWq=hA zbArD(B(4Y?@+z1L#{?d5~anK|K;cv`9=DX^_2p2;62mK`-}`quu|e12lI-X@x}I1 zMs~KBKY_qVAwJIGgH-ZR!p0GOAE&&PD~?cIZwgw*Fwgg&#|L)r9zhaEgAlD5^#>Ij zrLI&_T=7FTT!)|$xPyi*xV5NHkNp+p1RM7e2*KiR`o^Kn)N z-hgjQ&H}W93O;HWz_M;G_7~JS6i7QS$a{bhj?bVZwlo#FYPbA7P+c6KK&`C-^&`}* z4%DtyI{LtUd@eRJr94+a*bO9nXC*QlbPjrjkBpz|PyzTcD3jIQf|F-P%Pc&=2V|Hn zEYy-?J>^YM8{Mb%u4qM$C&v;0v5vB43ySLi9jJCaX6TOz4}?2 zJ)~ne=(FtP;Tv!q>Tr&k$Lnd-HB&g?$NP%7GQ|!Ql&pw0S`AcXb6u+JM zHVY=Hy0>PPO0p7%6dZ<%D=1PUpSI!0Weh)2$6H zxYUm=*noY@d%4f(fIin0+C_E4lJB*(KR|Z)OJeaOwXs`Y#&xM*;4T>?TXmaP`W9)c z+Eh)U-ahhK0JE(&2`6C-P@QClbj^ej!KP2GB zhh!HQ_hwN$SDe-oT+c>>MnMiB8Pn7|rdMcQxrX!WT&CXGgQy-NT3oQOS- zvK<6vL9h|EB%U7=6BEyg;LHWjgj&EBcbMCVZp4dJXJP^x(ou+dnO!doCP%RKV?LIs z$7s>cPtQ6Dak3S5=Z`oDQt0pHzGsv5xru1<^xK~p69B***_$?e-_Vy47(t`CUbb62 z10JRi=%Us@FFi~YXW{9oTCNTE=>g)mm}pLZB~iRHbTN)d?M1Vk``Gv^Exj;j4p|}Q z7ujmiO7c$*MlKv_rawz?^sisnZ%+5T&NOc*lYR`FqX8~~Rs+DAH=mL`Y$R)7VUgjVA8QN-boebbq z3ceIUeK%Air>iY@AhQ$t>4uGN??hH=e|L<#!zQ#Lz_ib~o&++?(J_+B5^l5~)%ohkytX%%-H8{)nowq4cd2cR ziOD`%xoGWijIe#^)8}{t+x1iG+9U;R2xlzG0296pPu%|fY2$^`B{yxRq|9{=~d^1grO(GN0aJ}id*GWU`= zjhb%Ys*^yZ;675kZLv7}o1}|t+mHD_Rs4uz&iLw>`$7Ek4wL3~=KKKy7dtj1F;Mk2R=bb9|cD)KwPvbRLl@A7L2t{pR%oY(R_2mdqPpXu6P z#g8R!V$OvD#p26u5N`oziqS?@_wj50qa91NEPg=g-Ebk^+zxzB~0}N;WzrT#T*&M~5{&Jp;64JVTz#0W^BG7X%i@PxP%hQl_ z;;%Z6-^0(qKJ&FjG-MF>pLNu265wW4_)v>^fo&_tiCI~}kKk`2)Yzx`-w_PLO?*x) z*5+y%jMHy|M#vEW+YDm9W?;i%=NcqiK=Z;#uu8!G(y#K9bo*uQP&uNOC&urZZs;u( z3xyfq{qw-UQX^)X5AZbU48t!~;W}~DnKZ9)L3Q^P-|)%bv5h;mNIBh$_Wx?WjErb( z?2KG|efjy#C7wIS6{PR#y8nUvPL^cO_?vE6|37IiIOfE*bw5laed`Wo{Z9pt968=o z{Z)c-h(7S=4Wj+YBSgt~?feb>|1LaPz|PgrE@1n~+9e~+5FW93gN_2;<+VQ*u-F3R zfBgW=<~94xSXeYu{Lc(`GveI%-A1t9t=^UP>I?YuqJ?p-edkUguR_*sJUJ41FN*AP zeAPEd0_UppV?vME?t@juVQ^H6-Ks@%z@YNpG8!U?3DM}l30}caQu_mn-Y+VegC-+##h^kJ?@TZb0hN^vBO$)w%y<8cT%zuw&uY<~h_ zVS#`qw^b06w*eKr;Dp0EKza}S`oA)yhX1!0{(t}G|NT8}6B(rOKF#E+b8;OWz|X4I zsn4%kMA|8V&R4U#I=*F>#^e{?%bd#Rsf?G`V#e`Y?4Zl38Q=~U-?(!F>JJfiX%+k= z4X6&-0DHO_J&37*IrAtan8kOutx8l)#2So{W)2$3Kni7U&+F1k?SLd!m4`bY1fvrJ z6K`p%dLaqX?u5+(#*L@DbYA%c%{Tq&>eBRc-re6B5r3Pn{K&9kn=QIx)qS~UuEsF? ziLiF-B&!W}HR?FcwgYXGW({76m{|i}2|;C!--0hqBn||DQQ#r1#8RQ}Vjl&|VU_xo z$%oRRSaC!=`T1+$Sn&)`%bOso1FvO~ouZW=pMMyEpJYaHePRHlgSG`R>Cj!6S{T6DL;|$3C zQP|^|nyYV1;;~TnZBWt$e?ZvMTaH{MBMP=y9+X0n$sG09)W^!!oH>e$R;F)YZygBw zcX14SJM6f6&3ifxU0~|ooB!6*gxSXSwZsi1`Fs5?mXHH903oyIPrvh-ynkQx<7)0@ z&5mzvoWs8A*>29e5`)ER>rfBdf+M~k^#apQ^wE(Xl^jl!B7SC3Ly_wjCr z5g};X%86RB{7+hX_WnwsG+$}s$vNsn`J+DnWYI#iZ1YT?;CLxQ;&6r`)g}kTH$lp0 z9WTy;`ppK>46(9(o-Cm04Afzc!PXjL`UG2M@idP9rOwfyt9SR#>o;$PBD>7vZDEr4 z?j_f{?BZ&Wd+5Y0Wh{#i8X#A%svKu7z!DIGz-5YE+E7Y|vBYV#4$ycI<8YKUe=?g7 z_w_wUq3d@Nw|MGs^d6I9w_*FP_*+_f@gT(cNsk@=b zNA6q5=7a+tBDehqpeKy;OMt`5XzZ+e=N+fZ-fmJr^dB4V)O;%o=i~#&%6RJF5%KUcbsX$7QUq}WUi zYG?l2X+O*juiEr)Qw#4V1A4?1ILqfBHR+)EBuL z+^q+VE$&RK-!XL?{WsiCI;3)e0JoULK72m$o-Qp`%L|kn)K@V?0f6`ULs$5h}1qOAA_# zXsXXdWTW3l*0+?u&JmR1t!c_@;c$`$f2VBch~yOs$4kGA=D9_v$3F-)TC}9 zki=L^Pmim(q=YK^X-*;|^m*zF0xY_`8$?wr9MA&dF+tAX7_GU38LC#ZODyCbrtt~4Lf4!%! z{M_=k`BSE};e`+6-(JccTi2M`+;Fmo0GQ&DTfsS6g=cb}j}%@uOrdSocU& zR1~~tHC1iXLP0d)5BPHX_29eleuHrRF<*Y;_w2BaLst2*IOrV}{(TKM8NlDww#I_> zk>_@Y$jLS7D>Cub4A%;`bFLOXM6#*3$0IXz6IUI2Cfnzjk=Z>Yi{peH zpAAaZ%I>)izkT#s02&ssu~Ar|@KY*;^QBRB_Fh7FmhW|5bg9wNP3D!G^-zH;gzeQG zrMETsQih7P=}Hc7$&F{cWCn|6SzU8UG^}(xhF^G%hG?@`3eD@tKe=md`pW)(Cx1Y~ z8+r9Tz~j)VGkLqk+~|Z6_SAZzK?K#Y{Ji{U6Z~4Pbn5J@By{g@uDZ_L^}fw{i~qye zb*_QkmbF%8#bMgk$Zp}2gs2hUpX-H45xP*j_LpCC)*0P85HKT^p`b%)xyvNw93PfE ztU`l8;_Bmifmw5^E;q(dJM+D>)tvX&(v6KP25)`$d1zcE4sUPiynlk(`>Amln3cGX zJ^if!ru72AJMd_S0TcgxYoh-w7tO-(>&vvX2Fda9ae1^mcmD9iM2Ir0A5Eq=;r9de zw%n=}QqTkj3=y>>3l z71;gWm4!lHpkudhT5YpBvxGa61v=rWt(atoxw}0evX>x_Dd+ z7VgfhG84dc>1`BTK!ztj$`keDCN`Dya>@29mXOiUp5 z{sSYQ?XA7PqBluua=o>5U}OS=2o+vV^k>Q4B>lHoGGMT#X!HcvUb85`-@in!{O9xo zDGiw&n(ETSuMvFsi!ViBwhb+hq1vPez1~LXVxKiZRD7<4sV!v^U^Zx;v%{#Ej^*dz~A1X6GkCb zMgnTf;mULk4IknM|B`$Ec>CMQ`~k+g?-5&Scn%81I1ueVeAFRWXKo<5(vN!c&B6x# z$#r$yNa!`Y^ERegIAQMeGWqRA4CfqWA<_ZzijMt3jF_O87%Fw|gJQIJq%q`z#1XOE zfxI0oqfT~wpN7)^lN_Zl8AlEdOgRW4-~ZxIf`M4>-4;T@O*qb-hMSM*%qxNn*#myx z?KY|GJkOb4K~d$K^O36^#(_`b_d0Lni_-fR1?MLb$*zNs@7)ec=>bua);-+JZ;rn- ziI7$x>Q>iA$hiI?NUaq~SgRlWhPS=y`L61HuNpGDnQOl~f3|8@34L}F67Zf+N0&Z! z>V`}rt7&F2O;WGi*Ws4uH=VWg;5zL>grM*Vkc&ydc+5CrZ0+oxRrjX`HCWziK!LFC zAJA&|d_)k>wB5jqikS}63P<*`Zabw4EMU?ye0@P>Ttcc z`O)MV$;8mlkLOdi@O7SloNuQn+AzrSVZ^i|&USCoFPVe>bQ9KfyBj-p7sI4hckI}a zO=-r_aD01~CRl;b(;SWTs6(~DtqX}oMN9%VlB+1ojd0lAIgD4{G_Ye zl1g*a%Km^N3YM4SGLLi4g~fN+wjVznKL~UfNcGq^qc~yWf2F^QP?rzVE3q>a!a8Bh91nu<}@t zTxw0ZQkf95!e@OdfLmt(P~sG(iIPl2(Y1}kvh@Le>Wb%aT^xy4j~NN1`vUL4&J=il z#o-PJ0XdLeJ_O3KgNMeHF4B458_q|wNE_v^Q=v_q7WzCcCWs;Gc3TC%+x8Sm_ot^n zJ^XKK7f*YABBus?)7d$4Ba9&*arKXmYg?}RKtIY0oeA_8Nfu>LB%!BA=MS=F9c8IO zYZ=SjiGh(OlZd2`t$Q@Ye)uYS3JtfQD_bHkGIsP6)Ee6x#!_y(P=bNs9HkfZJ>0W_ zWKv5Ml!dR|9_6w8Y&w~b;wx`vJfM4^&&+qTAzuSbrW6fJ-rzuf_ z8H6bo)2i_ahI;IE505nyIo|OP9%OFmu3`2Wd7pjft3YO~#@g-`*=j$k$sAjQ%i08{ zEiI=Zf^uH7cR61RNZr&nr6Y~-fFc9Q;B~X7=IryemsKhu*b2cGLSjUb0rxNIL=E~= zlenthB>5ssAweYOo+0Xz2#|Es=fESwsnH7t;;KZ1M5&|fbrt9cjJN%$qDs^|=-!$tjU+EsN+fv>xOLJ3Z@R^ zP6GOH0)e$uPU*hGjyg?*_U_vm3dCb>enR=$zhUxRDM9Iit$Z|>fIk2EL~AyOK8mOkAQt2vU%4%-QR{sW?OFor_V`#yAo`cdwT;VJdMHB)saIM- z4IB2{Jn?o3Ya)TAsCG#^H~D+X5QIO zUWAmslCoNx#zUQa)Pu_2C^C_@ZRh$M3p%)?kT?YF%*ye@mTLO?eDuV4-5qsSX56x6 z>*>~Z87f$2_{hQ==CTI-&KfjdT4AnmBQC-xXu>(?T}QS~ z=a)=EhO2#aeJdBWfgcd214Rs`qTTfY`?VI{z-Xuy`_wGy+)=g!x!YK9g(GwZPxXGG zCeg#JuyL4I19=V&+ZBYR!3xr_eFDMb#W5v%SA@rv5~j5)2A<4%ypNMr<7#kegXMWk^)Lf0&YSJ{9rH4=~REhZ))85Xh6sAI#RfIyHi%qyTZ3c_FGSBp(Yp z_3A*QP`sl)sl}i|os7SnSP5sOZ!_KxG0#b*R}Y>%8F{F|-|&kr9<D`NHMyss3HvbPxXBpMj^LFjvPJrUBE$+pg z0>!mZT#LJVaN1I=SaFBq*5Xc);uLpxcMHjTe*gDbE1&WqS?kQ1nS1Wp``T4paFURi zcc>D&|(^CNZWsX;yIQsj&0pVaxz)7vgjZsBk_#0u5JSU64aJ{E$(8)_8 zb!7Q0KCpaDWad{5cUWe&;v2g2V#qxk%uzkAwV4)~X_N>P9^o2D*INq}7o9Udo`#2| z%{ldam-Emt^*Q(;e`LQs(0G~+_ui+Pm$?3K-l|N0W%pek)DD0==9+5%lPyvT2LdG4 z*lap*Q>mpD%)8d-)sgrQU}CW*rUg}M9vh4^_&9g@N-V&H2 z_nLOy8R#b$pmZaL@Hw{tnV|jKZdK)t#Q4Sv^oiYEkVj?DuLcX{xCRR3y4sjBpu=(O z6<9AmO*aq!4ukoQ<32Y6w}xxpCnfHT3NxL-M5ps`Htk89s$M`FE7}fNiQc_OpLr`t zzrN@*xVch0u%;|Eff3ETZk=qo zh16XhN){yCk{thZO8-I@qb~Qsi32kocOeoRlMHf;#ZXXKQb(45KwxW4@Z97gy__0* z;Jh4u)(G$WCO2Vu=_knGKh{)tcHd+Pw++&kE)i^V3vBVy zNivnQ=JTnj-`C4LH=s)-3Uh;t#_vgls=2%!+lZMuI^S;6h@|ycW&t;XI6_J_`XB#^ z7iHk%l)_Zb1OidTtdveAJv%q!4*kcDe$)7+aNLb@?X=B*!X8jevobzbB5gR*tl>EWf^0-!qtx zSzpPikmc@o**gsEXqD!;_FJIC`f^6n3Ej}F5*B?fx#x6wJ{7M)4$+X2VxhIy*__Gv zaKLs;&(&}dVLH-QaOpq#bpi$Sqn4ZN7y64g4e!A{TNn`%=er9y8(XM`G>f&klsY#0uoGnQB6)UNRFfXE&o#1h?Vhmmkno;RZ!0U_c~C z8aLd-USww)dGpM4lz}?JpV!9eNe8WI#a*4sUlahAG0f=8s<#f4i4*y+NhcYHi6rTw zBD#hLwOD_kD*V^p`tG!CGf~}B?{|&I@i;5_X*uK=QTkT>J;rV;k}`uxb)B>3LsJcH9Lp1VdA%(dMg4S!YlBiy4pfTOog=$|p##fl3YEA?7P zt>ebS)fip}o)@gF=3HBtn|sa?J#W7IsU>^fDhZkAxWV9~H~WAIn<+xD?qgXs-YhoQ{?Eq%J4{Fxh-5j3(wbINM8$EJ*;ZBU-S|R+5;j1GSM~$ z3M)XYVmHq=CRK_pLm)Fm^k^CG}T=Mf^s-I=tu7tYoc^Hv?H zMdD9*5dT--%B^Qx!a7^ROIz&AkHF_*y^i$zrI6MaWLT{;hgBWAK6^LY;)NrG(X~aA zwkYB|fi5%Qw;!mjO5+N}$!4ZNUkRZ4x(;0Jj?}aQeLgK+A#7QtKih6%&nFGGf;M#f zp#JYjO`K7I>bQ?cFGD_`5}b}BjbBA_M8MDAYBrZKUv&uYc;C~u6~0>R5NGzh*`~4? z|5I9R5N0@$5qVP0Y31$3FrOIZbmW?;&CD8Eu-#LoPVYk-4uwhVOru!&`1GmDYutzt zD&uAyp#ZFD5WkQcH|JQpRGw*R| zw(I`4l~1K87*ts#X(HSG&g&-v4(G*Z#0PA)qjA!ot}Qt+G*yq1P`mkU-(Yxd zU7ZJ25f0@Lm6T2AE0i`6o!6h=tTSY>wgNVJbGA}C%2HC@x&mM8BYxr!uAMkTFSvaA zZnHw4O=klUj$}B7lArSOCUcf!#M4g?hEDtat~sw9VlrSnemX%Q1m$UGu4qYZ^dC{U zvPuX4!Z-aUsnA-tA7;C>Fql&}(qH$cM!E_`xH3m1*wIneo1hIEV;JUdDP{2-IRHK5c?$fjSk&5!1lu=pNbEDBG#C+$(Sf!v4uwFT>}+47adRrd@`s`G(@>|jS|^hJ9QLozPaAXn zbT)Inx`>NTXc~^^3Ow1-PHnd3nA^idd}c@Fofjir1;wwwVx{pHNE8(=q(}!3A`k|6 zBvifaJ~1F{<7K8kpm`#FL214OtetW!|Gpu4lTuMpp*xUgP*7+Zn|5uDv9tshWgnjm zLs#1Ygplq8&{Y8r>O~p4=6m0SPF6T8gSPH9v@GUW*ff`o!oA{Q=>1_>(_dxKLl>|2 zE${EdqsQMUna{_G|7f#Cz?N0uPnDYQ3|gq)+ZQ_hS79F2D^wdG>fQOkZ9V>(VfGhh z+ug4|QI&@}c1!2F9i!kPl6uI9GEJJA314prJ`yr^(J1+QFfd%eh;n*bFS}`8e~=A6 zC*gt-PTbc>x2;9tyg2ZPN|5OBcM;S8g+)-m$;ps&-^gL?$N6Wy_L&z%fqSQS0p5~g z%YC2994^=N;SquY9XK(sMkX^dzTCb*`qgvcQwf93wgbP1QZR>Fgl`DjCR3LqgIZRb zp~(*1h5iD`H{%D8BRDao9gSX%$#l8mBjzi>gFHQHj>ugUK}Y0yD19&1MJ9wE*6JjC z%_x(KqCIbJPmZnnFxD?4g_ehfp!xv8&bXL&n2TKB$sXI+aCfxbtu3PfG*!Jx(hpb} zA>p8(ViURlUN3y31!02Z)Ps}%yNQ0S1Tyjl9B^+bq7axP-!n%5mN<)ed%!p8N=ahk zMOl0&ArvQS#dd48!6Nm#m-*x{G>L61nT*BAQ|Z;-%;05lQ%;PaX**tBLg)t%hlFn* zn{QJ_F3JRRzNG3Pr?K1pG13l4>*n!F_P<6GmpAu$({76%7Y6_Fr3J95uoX-(AJOB_ zOytCBh{5g>y*Vj)O|zBc2I-0vpWDOWOpN4+VO4XO_a%`azBBLITqWvQQXG@;>SQj@oZ}EnjrKM&US22 z?QNt@;<;%w@Uv0Jt+wX}B0E?*DL@Rj=cSW^Kb^<3_X;}5|D6=#d-B*E;kMqN}_`F zP9ll0XWObR+lh3iMt6Cu2T)P~ZE_ak*Qt2|Ga&;RsL+;c7O|$|#n3@JwbAb09rqg| z|3oj|1NL8*5N~j63|ejF?#+ho)*i!YAwv5S-X!*>9*Dy@nv=KK!hC zQc2*K1xBw&K1!&XBF3(wpi;KxO|zUkA~2-JpuDANg~9JL??(Ku6i?WJ|}d!+Vsnl6?*DsO`|5& z?~4*FVp?*QZpQ<1>)FA}&STw;!Wwa;NUCgRN8ye2=r>^845}B6GE#u;I9}P;8T1VF zV+*1}2cl3JUws*oUuY^hIyyL!t?H};DxCkiKIP;?xA*4fBgb_7ILZ?p=vZx;*VqrJ#B)ujcm-cXAu(#Jnk7S<_oHHLd(PcMk1;wOtN=alYlyHSN zu0Dt5{mi#i=TcfUw#{k)u7(Oja%8|_hd3(|L}l{G_$Q;MA?e%~%VYP2JA`Pkmy^Aism$Z> z{OCzw4Luz=)D{-=d_qRtJLQ!FUmL5%3R6KeVLvLO4^_!INJ3!f{=T z0ujfL+C#p<%t<+-csE7+6DZ7V0`uM=mZ=|O1^&kZ?VrxX+V8)zX|NJ+q7X^g0p%y? zYy;hFQ<0VwojzH{FRs`9f!#01+-}RD^AspPefg?8pN_P#`@q(%ctcja3-dM%Hdr9e zZ??#4dgS$1VAZ%O?qu_VU!_#8O#JFH70Ni@sH)WaFCtBAWIwQmyP~Tzstus;6+`s)@c4;~&=#k@4qxYP(M0<#!EWv+D5> zcQolj0n7wBpXmr#fUSW?>@Vouv{#5 z=?yhru7wPae5|zxTaTHB?t4S2TLKa44ti#l=#XVnHNBci>LANY$D72F)`-0q3cJKB zi1gOj)oBAIYrlQvwtxS~BzOGuGJQ8#t8f-lmMPS46v}2;L-8Ou`1|r)J%}jtngU;! zj=e_zOM%|Iru}<8!pT~`CLGhCt&!$a=(0H(tWLydF4DL8MR4Iq5C$v5#m?NI+u?UM z1Q4IL2cF*SLe4t6b~>;oulB1|{uD(6 zoTrF^v#W1xg#NIp%#5W_5=#30HE zfJzSdytrDkKAQ%;B3F_lDL&~@ZBXO?sujSM6?Uq3=s(STdK`sa{Sy-K*CI=}3ztLl zm8$tGzJk}*x(ZV(I^oI_8SxYo*=XJ8F@lpTZKYH>L?X?YAL})bMtb--gyLc$F zUwX=1sh1upl6z6CR`@xcNSC-Sj@6-Tx;`(&-oHYA9mzuKXar|Es0C*_@%gHRnSF(m zE9rH8#3O1XVKuVB_fLy8a`=9Pg~DRZx3C^stWXaMu5bn>f8~ya%+>JrY+21cH~VWl zP%^^CFWJ-W8re-<)$(R)WGN(zyhpt>g4TU$-{9+-O+`{?Zu*5rIx(=4F8?Ji|8r}? z*<>yNQO^G;rA&`dx((8ih{tJ-3dr>*NG*|7>O%ZU*|nbQE{;Cm855FlzU8d#8jk??o3OWn=T^Ng35>Fw#1Tc3OBy#_fRDC7+vLLB`r6 zM7xgNz!ct%!ewRK{FGe6Ac?daUCf(4j*v)dwLZz3H#ZG_N1qTELrH&ddMd|A5Nb~P zv#MOCwZQ`=WL*zByyeTzza?A3Cp)HWps;jy>L`l2$QiyQPA zD%%R`j$wFd%N*gnG*yK+_OLp=7qyF!(R@GOSNYH$>bjJ2{Lau0>^LINU{F`IHxmjm zYydXr$xCHY9CFXq-skL}Tv(I@W$iK1dkRvbal)diB&Qx>*Qb(vJiBKlfdD%%g$}J(Zx}f}YQA;+M z{kMqSb5-FwX7PU;~C%xv7n$rnZ>spff2O(ciksgY$sjW};BANBrV4;f*&`!e%l z|J)WbIZMD>#HuPM{zulh=3Ix)K?z383srd??ka?>I-T&X-%NjQ#oVV|h*AJdHcqY; zTwz}_cn;C~FdqWD<8WOKhYVus4;6U~-q=5fOXK3^^@qs_ZQaMJ_&lqYm+26BpR!ON zN^wZ&fNqpp^2CiFiMlrkwL$LAxUSgz{RXJcUB9nC-S~;yqW?CNd%z}L>i$02>~kHz zsk4|+(k*JZF3Jc^F<$iK0A|a>-5DfYdv|l60>X<2!ZA0~+|hAtYLZGvaXeiLYxNZe z<+a$OK4HGR|DpLucJ_enj@DSIP-5z1=W$E)k{^{V)lVp$?Gp}SzGRr*qcrz{OLQJQ z`yXM%4Jw;YkGl(|lqqL;$&r2g-VI;vuTE-BV+BP;$AiNjqcYm^ipyP+T%a!(N!-4` zO1eTP_I47=mP}6ipy_BxiW4rpmm4c5MsOBozk>Vc*j#@F#MINHolS8#X z2s3V-GE?O>pg#i`W_`77)sizuH2vShKYkzxi8flQ;UB1QNIW!wXxxH9{Q3E${0LwS zlbncThI5xX4H-rPGCJ<4O~U8=LlLFNN>lSnrGk&{ah^Zzas9Bx1+hU&AT69ItzE9w z(C?OoB3gVJyAC5Ka?x!xtE;Qc!Dp&S_eos4b;4~3#pU$m?eZ&=Ppz^N=@bU0(eTB` zAWH5#OUreCD`ovZvcYV(--a9sMX(ZN%oWy&v#=y7=iWJNya(s#d_Ge2BoayV@jy@C zyjsJ3FZj z0??G6@A_^jBWPWN#o~zz{Q9nF28nt z`Cf|MNkxFKN+W|#c#Q(Mee*uaAOFD!`SMOiC{7#SUQB2*KjPvQTUfc`?)ZU7vL(%p z2hq1D@htdxC<#x4M5x1fj-&=TnY-k_Tx(fBY*~0 zS1+T8JL~m6rB!>x^u{%3z*boNDa+6+|BwJCT*BmzAy1 z^S7{OM(_nmfeX(5^Q7^$PfHo zFjz+FJ>(O`#C0B9o@i!|Q<_oOh`ZlTu0Lk65pH#|D}t|vYh(x(tv>svpyR-aM2C6r;Rm&CgXFU)J81I_T>2Qxx zsU3GYYxQ#!0tZppOnFG4+rdPV=6g}xX3nD{MwS0uWdBn&SA@sNN0&GR|45R)Ajm+S zV4A_4#<9K6ZPy%;J^_nE8DIpSTO4z0O9!l}?Vuc`L5|!0`ci(*_ zm(#Orsd%`I%N9npKp4e7Rf3$5X!nC2d6@%842(is((fugTdZM6>9)u_jgfyKf}T$I zqxG%pGq9B}smX%4zx8}A*CD8?`>(fn7XOVX1Pd)k#Nt7&1-`z)Y=#{n$-!LVAbr5< zf}Rm5r_mCwbujYDt^YeybA1iXqiSXz<-DX7qHM4pGfGnv+CYZQWxg_JzYXNsQ0L8- zhL$u7q`E6~QV;*(U5lwj|BKFA&5n{Q@Sx=(5XmS1w)_uwlDW(XwJT}k-p0+1v5o>* zf==Cc$oyjwo?oRt!39;rU#q+qMJtNFLzsz>C~9Fdb-%bY?Tm)wd}QnBp~IZ;FUCs+L%r;nR9f?54HZ+ntSk6Zg^ zJL)VXFJrW1EGb&TSOmZ_5ml0Ta5UUg_Y7`*SzCR^wMUH`w4B`gWwC#^3N#DqSwk~2 z2))lpTixG_;miCgA+J7`0++0Zy1(pu`bK9_%T255AxaC8VSB(XZ!^XC`myaTy+9!Y z9~l7mY(>k$Y?s4Eu-26Q$=GRs&T1R?baw2iu^~^5^A3uLfS2RDlF9gi_ekZp1~c!_ z41fBR`aDm_BI48y^r%Z0Q+nSxhre%rA3<=Dj0JQJ7m>J(;dJ--2Q>foxzHj0++$xs zsEB#GxaTr}nxp_AkW<5|i&2Ud;2$-MUul5u{HO~uqCQ_hOc82DMJC%lNOVUtBFCPW zXp70~|3#xa>){6PY6=zbis=Q?Ougkq0g(T*ijik$&Q>0F=w;malFts=+1bN1i_DtL zgd44#2@}14cQ^O2F0KT!jDlT9tTu_=FED`$Z~w~GqlL~GRE&7F8st0O1w%c5hIA=- z$>K=B?_#3G5SV5spIH_zvgos5C$-OjNPuY5>YuB--+R&c_l$_eI^4Y4cR1j+;_sqc zYSFT<#pb~^Q&z*^iu7R8d}jL1@HSf(6u_2$;JRzzFE7fTk}6vzr1uhJy$O5&QN>vQC63?0*k9RZj3OK|~f`Sw6$ zjRGoJC0k`b+Brn>>aM3S_u8A<2YS}`-~n`D`P(Vy`Ar3_X#Xm&a&>ca9Q5`UWE3Mw zuFtQdQsDB-Mu&xzGA0u+Q_6t|rApCzb0sS2f3l#6|3K5=Qtzg`>0^U8X<-844W$AC z^tV^U=<|{2ubu8xUYU+sU&Jr+!+2JsNs4aviEhNC{D+*@zQx##ONp3XNIEii(NyYA z?bnE1SU%*%n?HxtRxbwHFw$paBx`Bpyi-s>t6w~c2(Df_TWw3x!c6^?|B;=ZIEK#I z4@vo>T@IElbhmvL!&Ue7pjI_{fb zY$};)DAq;7vmh;hS0Q8+vAp6tH@2ngrx**j_1d82?6Fv}dI18A!ekCG?1D}2uo~&} zYYMzL$`!d0&KAI07#;VTp;pFxfdTsjT|cB0%1u@Q=;V{@J3ha|U0vt&jcAljbz``U z%S%8%ykDYRNe=r*C_wp9(DnK8Hx|zuUhrgyu4X->G@eF78;@@l6zTSCUC=3P*vYlwM^s``ETe%Wo z|7k3A;X)xghwyr%H=F=d=3!q$p|vA0sVce*RDn*LiJ&cilT}-c5 zRfe#%1ifZE5NvL&Lx6ZX{)h?<21#mS(i2>=1!^J2g)H%3mM2Xy-#Du z%D8Q9YZC;wEmL&_F*IeoCg9oehn6f_sZxzGV=lZbujDTcPV(^@;Q#eLcr^^Ke@x)A5bDGQMTmZU(UxY? zK%rX6SrZqU$SXGV{d8TC58An9FJNZSTSbJ=FB5TBRxE(k2vaL@816-7D1 z%nn}){f7ZM)eF+1_qF->Y?Z;Jx;h2%)9_{mCGPL9FyGxzi^*E9VqisMw6Fc45`i*G zH_@`SARykrjV%JHh5bgy-prG$D8hvOi6Mk7%=A+;GHYf~v>KAOU(_EQC-6G`m(L~E zw>7}^VevmRA08*f`{%hF2<%Y|1Ze!Scyd+dVT^8xm0E*g*nsF)a;(#%8~UbD(L3+ra&Y` zXa^%@B$Y8_HM$ZsP)>sc+C&F#=pG@`5dJYdU;p)22Y+v|q2rk(9XR-8s0Eno>o>+H z2WvbRE+mac5pdxbh0g|>2daoQV)q%Lkha5L^U^M}dA*pqV%rTu#dfadF&!NNmk)P? zlj-NZM;sMyd*3`zVO3n~FfLTZ#v7apT*P2O1Xc8t!&3^|Mh>)YtO~8qq_6$m0XZ~Q^J8U0{_QP}{&Z6wA>~9( z7@{nik4}{22mKd{d^IDd1NBR%@1Je$0mMd6QXf2^7o}T)+OMb$iX7`o`qzqJ_8>Ih z0l2aC*>F$gkk?NLzz@5&g(Iqb9mUc`|trzjsnnrN}QO@ zRq7+nb~VPuHP!%#q|?5$$HO=z2DI*v{9%DpNMe$Czd0|S%TCujiGDZe0@L11KiquI zjq;C$BD;PoB~B~{kns!e46v$0bo*P;A+`TEBud9mV%Hz1o@nml;D zeS%EB`t3&O?{MYG@yd)y$d4e3Jd7KK=gZD@DALz)v!usJRT4}61AbwQ7^WIa=?4J}T5^X^Ga}AzEdYV7(qi((ly4 z?Ri#jyFzd^LNKE5VmL@JIV_~N)seWh1P3b3rlay;q)9+5bR)$@7b0x_q7aw~>{I^y zsl=lEBZf0(d{u6N?1*+$A6j{wxSIxpZ z32@)nZrh*X)VO_)c9ABmbQVX0H^{wo(>1)W3%DI9@@`AP{_GvB7_#Y;DKcWnqh;X2 z;$oDX{T?slUtXS-2;A*`s|`Uxk6P;ILu|e}Z#-|DpgmGd)#cUr{YJ#zEK#0tYIcMA znOx#h)<`+!RN(e;r(WN2xs~kn^f^K89?%H)dN5tJQ2P6~*4o^wIl|zJ0q4Gd>l?)G z^&Luwz1)w^riE1}Zg#{NVvEQy#%LoFco37S5uU$)8~x3W+{#P(jLAt#(f1n%y_N^? zulLY1EAwS!@s|aN3?^NdHD4Rt$9GhyWly^$C%o(6d)Ax%;AMZ_VgI4Z2H@;S0@E1DkubJ8tqWoMu1^lcF^@_ztN z7H-ab+!`uQ#eeW!Uj08if}-DOma zyZgiV$r5+hI_ImF*PFl{RI`(#vwI*{q%@kxLYlqDJ-!77R6)nKP@nb7hSPa8&F*sv zxG8OgW|aKsXM_V0^Pf|U+=Wp`xC8>0;>$=g9 z)5zS>(<&jURQK>pCOX4l&hpvbV%M{&3Z>|1T)3cSMb_5dvWY^2=Kju?zKGC?P^2a^ z()};n%;LXw&A-1DRwJgvF$umTi;5atfNWR;ekWz+8Vv_4^q}~jv1QVwRwRqGvSP|M zZ(NfrB!iEY4XsO1c=dxcakM1rVDJ(;a@C3@3!_rMB9(%ItHmR87kuITYWx002XWmx z74H2^a}_s8ZBgzLrp^w-ad~+W^cb0}s(fO@wvKMLyujrh@b|e|R_F`|OWqGc3nib_ z&d6J$-;_}AyFz(oGtpYA_vM54?<8q0t6#>>B_G=;!Et7{N`$nLa^vh8wZnmDQ21+( zmzOtsQ>Ky(MU@W4n0kS`Od*vgLV+8TY|#6BbKdLgzsf1}S?Np}*|K)3Dh4{4MeiTi zmju{y6x2DJyi+beEj$@E%=H-@JCptR|6{FbSA{RXh0Mvpu{n2iQ1R32`5q-i;XgX< z$_t<5HD9LV^6T7*SE(c4LwlM7H!SIH-*H+0#DgL^pVm%KBuxLf4ZW8JVKw+ zKECcxf zrqo>vfBk|V@(Ty|IgAri+}FI1wHn5_k|%hgqF)_ zWqK2utmpKZW3L{lv9KB(mmA}?OL4s()Q%Bcm+yi`RdUt$Uk}{e#&b*F^E&HTe7d9b z78r!JogtasrmWNFc10<3=<8MajgIRAGNa)gqW##vSE*ow{ z#=866)|^&u+{5J;XmzIkbKm}lI6)uJW0fI{Vp++dJIEb|+y%QqOB7c`jh;jt9M$+0 z@FPQQp9=HwotXdqOv-rOd6co+?PR*7%;l@>$ZAoQPORPHO`NvS7?S<`jS)q|}s#yjO2N(1bdF$SN{xUBx87|k~Q z6q$!ok&@RJPn0bUow^WFOB@UWN`IW~@y zv#3Hg&EcM^=%q2qx{t8$i?I>pMSOIub4W?t`pihn^|5tcT&htcVt}lq!f=6K!1FJ7 z|720_b*XOfzP-fIa1w+!iEQbTFl3jEncv)?wLg`Ny{~6=tU}IIA`rQ z{rXs5PdvParZA%-3`xm0BEf2m@?}xFgk+k2Mg&$|QU1N`t;kn^wEst^i`28s^B7sU z_%K9}c}ak4bmEe0lGz4iJt(>KV7$pKHKm z3+Rq3!i+gLzTtdd?I0^nmK|kh)bBU{T&Km<=EWQ;HTb$Mh_LUr_E*8WeSO7&I}nve zAcrr5Ub4T>b`EcWyof%pU-u|KR=AN4blu(X*<7?=6clxOjS!cZLbX5JqtgjJJPA(o z@hctpsbuFA=CiA1KViQFg|GPShwpfNx;tx0=g7QI_)E-PBqyO~u^)H5(D`EE?;qWA zJs!%75#E5iI&_iq;aXCEV%Tue`+ z%P=h^?RJ%xFd4n4rR>nR&;@TkZ(FVIII@gj+zY|)xFn?(cxY<%o$7zJj@HduigjKv z(}-W;j8$e5krhMK&s~-IP6hEw-+RIASLGAJ3I8 z&xE#22kE*96rjsOJ3($kE)M;Ebj$|2&wN^}>4tWSU%qZ(g{arK9kmW(vn*K0KvIZN zPhd*kzzbj;6w?Z!$d(E*qMMkUoJ3*TgLQsFeAUgTE`B?sn)|%6@7#937SKN)^z6Gg zrLfrOM4>z(89odyuz00!XLbs>67o}zK9@vKk<}Yl_1NPGe;goJ?e0m=2vjH59HnnZ zFG3b%%rK0i?G5`a3^9+W(i*^O#A2E7NTET3+e1=XMPN_ z+oDpD|NWjT>KQ{)9hcuqG_E?2pxz4(X9Mzz{9BW!W0DwA7r2V=(V?J?7}CU-N&3(n z+ABJ>W2B`EN$?AJoI~Xz)CWq>rP}ca;{POQdn3qQPcY3de4O1gZ2I(IB6)$T+nd6; zm%%$0jr)QdkR4}nP_Sls*uOv)&GV~9cW;L=hP`xc1goZqe|6B>8^ z(?Mxu@_KRd@MqkOB*wCTRmh2RqRzKS?opv6s6wf;Pu>=aUl1P1)rvge?^+v`OhBvgWddMMekrh8U6CDB zSA(CZ!*bzv@Bj(l;^N;&-On_TqnUGT9OA`ahcXHkM#BxHYjWHDru2}Djvu;-;rAVp zusV*c;6q`1wvid#yzgAKD?;DsOlU1XEjx56^)Y@%gbEGZ6V4VF-vz{`NPX@K^2~7j5a~|y0C?Zb}G7t+KZELq1yXgR;*s#4+2+JCch?>T;=SB(^XK zF8I~d5-HGW6mKrXYmXm(Sp^2-d#~sD3x67CzgS$Oy;T(P`^kyT!?uyr5zr!_)HlGf zpK?pLKVBthIk?Qx$)-pO6yCr%9?=jy7>`mxb5g_Y+39+vlgu{5;vk<*Ic3f6=Dd zcRZ5V${+9PvX@k}Ix?%DJ%s3qLJ;QKI%Y%h&vI#x#VmLO^dhjS*t4}+5UrH=#6nHL zo09e7-iN($?Y56p5+ADE`VOa|=jV^q)Q0-zv)A|qNHd;qcDxwFKL0AAr!6v5FqO3Y zP0lwVmMK(L8JW$68mfhfOI&5TmdU3cb|w#L`){l|BbojP>ZO{FgjFC+Ac;!c|hj$$}&qTeqgh*QBi`_9KuR$I)P%_yd%(`nEo+@m^JLAFBpm|N>EE_-XuSfsH zoU7ysA8e}a%ctg_v~K%Z$ZPzJbQbxVyoz%gGWjSo zeW=s7WC?h3JW94kyUr>hYW_*cySDEtzbj**prQ&_NC^+s2}xq0$HuK+UQJAJox{pH zy*O7s70-yo#r8gomC#N6{FuUt7Gl7%!e_%gXD`Oj9pZh0yyi*3tNXXiv{p{4XxgyY zR&A`7TQYv#)(8|xK_!P{w4NDoRg!h7T#)&=3~Ylyy(`EJVl^XwK&*WPXs#}crHAoTvQt&6*op*-ByQFGf)MRaL-@unQ?xqr3rG@>53RR`ZkI)~G0_{Hw~ zV?Rv2$rZW99~5ZWZagL7=-LtzxO<>T&lXjLMMBiwTtzLe@52&{`MH1X9T+Rt#pFP> z?XhfZhk~%bop)BEoIK-mb&B;|b7etTzHZULl_VFetuLq|>yT<@O2IS-H6rXpLG5bj zDvF9OwN<~6<-R3<|HztvH$azki-B#I$1cZc>1ps!t^$V)jQI;OaZQPlj6pfq)a;Xg zeIy`=0v^10W6xTEDlV;*`FhFjQ{7@)C#42Fg4RB3YY zGb1u3k~t;>0nb4-k8txz+c+)c->}eJcW2H@OTg8@ab$w=cFq57MMA$ZY=Q0I07)UV z3t-oqK5WuJd-}`1V0g#H*13#Wf0NJ7&!_VSi}0I3g)Cqn+)Msc`;lIM!1RmmT$MG0EAbW-rn>sZzME4E_+Fo`1xfBW_gFN)5<0lRMl4BvuuT%E5y=Ri=iR)ArM zGCjjs511HwrVes!gzjjULRM~N)*hZZ(jxf!5^iECLAV=!L@VjjpZ})S{-ld|ZNqd; zlWC4xg+eFyOY^m1Yp#lE`sfGB`29$+#~ZsGzq6CCb5B)W7i(yxodz_{*NI)XzN_KS z4MT5M9}DM60$(Ap@4mcssATx0+e9f=COwEQn^&a9`O0eRfu$HvhB5EW_XHl^zd4aN zZw(lJGb*R{$f14kkRJNT0C`HeSB1~lSfj=94{3;pS+21s2dgN!nOhRO+K5Z_KXD+u z3!)P``n@meBDl7GfJ}WbmfPIM?1HbQ+a}5NzoVFOkTz%ob|0ug^Z5I|3Q-+o;qJ~0 z>pXw%d=7pF*3z53W#?DLGNIQt@Kixj z>@rD9{@6zS$mtSrpq`9)H>+4stjKGgV(8M5;s9vdtKN2=Tj~=_Q&yP5$JYHHx}Z<+ zXNipq;Lj(YmDHcs0_20YrUtFU_q#mLY;^T9+b?gQIWtKAv9M_m46ihw)#+YJzv&oj zAK3nAP<}mBI4JC8Z7%Y4%cbo;CsD6+iN^Ih2D0xyVd(NpzEUz~&*bH-9UMh4ll8fT zswy`y?T5E50h&53o)RO-ma(?f3-Pl|i~wn)RQ(6b2|U!GSoZ!8uTCFnt4ijMV0vqU zFFShAPy@BBtHLyFmPW;qKsww4j^nI89NcUZv;dOmt{+(YXyv%vGZa!9N;XGz|(2`?(pWS&Cz+xoaA zJhpbAkdG$Lq=M_sDHJXXS6<4q!I#Atoi|&4#Kgy3z-mGD--|i{sk)mDJb6X_FxWy- z4QJ^Hd=li%clacOG|&6fs?W-KqhCtnxX9H{v??X8CCp)w(SXr84=>DOwWQs`a`tTo zUQrMt(F%NcVgjN%&SkQ#p8QXl{&Qm{*|B9JNoNoP$h%V_R50joQTzjM<`J?wtxM)5 ztl-7vPIPPijTh4YiWi{J%)|zX(z=rQQhtox_PvvY@57-3z;(~gQtop%n!gEv# z3rU&%U|mxBU$X!Q#|;RU-twbnV`I~)P(-fe<%>MLwU|A2xVlh0T#t@p{w313aW0>4$iD))NZz(TobsyD08vE{1U`Twgb-hxW-eufSwng*<=g)nXGC;0&N)Wse>au(tYWgJjcwD{6 zHPGZ}{^?U>WF(5wd_TWxRCM%WyB`2yw$LYDbZo@&2Wb-KCtH}ChYH2e_w>N7Cue*O;62J zI?D2+=Ka(E%;6oI(PP=&=*V+z*-7&vsfma4lMpH*+g*+X<4h4Fa024)BG>ds+gmwo z+S}&wa#x#MRsJi<{%cQ6BbuS1`zr*W2E7SI`3@+>B(Brd*KX4%042if6NN% z7xY*Snf*HQPb>Q|lHB9^129)-?AH`GUjCb`@RRfB@Ou;Ay_oKvQCLTl5>@-U2CPHV zGGCA+W2YCZP0p6N@__(1jhj&SuKDXM&2aOhC~U`m_t=Ztu1wmXUsoVC6vN@{-0q>n zaV?la3-*oVj}L0_55s+s2?h*A$0RH4P;5n!%b5W^>bo8z!PVP98&qC3P5i%A?iN_( zx=BAuTsfRqAnb>xg&a#>ZGuhj6TuMQ(xfq`$HsHttdgwbkgx!THmU-u^*ea7>qca!@7HPSqXI8ieyQd$f z|38|(F}kkq`})RdY^PCU+i9FMR@2yQY}>Z&rm=0?ys>Tby-$Dt_sbdQ%iU+(GxlC* zt-0o!^XG}vr`wi`-{;2y)wMmj@sLiR|6G#t)NfZ0$o>u(>zbVxWXb(5og*_X*tjnl zw73|Ta2}3-f7w$xFN(d- z+x_4BYke`9w+PqfzwSq8%aFb3`t*iBf`ax_)Pt!;$ANkA&D6)4>|KL+!FHB_m%CrTEFVOsjGs-gk$Th1e-@qnQq(+6T+xbB*BzU$9Vz^slfpe+ckjBG zrWEjekbHo4)Mck6pF{AN*ua!eG}rqwJEqTr7{+qC+CvCkPMF^wFKJ#so!&ORjTe+Y zdMAnd-JjajNX(8>A^t2KKiJ2_6?9)k}*4Ue3B#Qtl>RkpqqCp>HD@bU13 zD~0!kAcs_*PI_c>`hYym2w-$1d#WJ!e6md9fFLl^m*mow+;|M9wB~iaD|30Dpj4!hCbZBXxetS(?_O z=4nsmLRVz8<}RsM6*}a-*vrabD-a}H*>>sVSN#w7(S!j2QR<+bthQK{msy1}c%EI{ z%VgsZ5xhv|sp7hI>4>3GzX*LJM)Rk7Zi<@yksP|Pkh6gtPU$uY+utctGJwG!KfIOnBU~X7!gx0jMqK!faU5d`t^vm`- zOM6r_@GGut;cTVgP~nBX1;HXx3yXvbN_kR?5(gm#qI9A_3P&)3Y%jhD6*h$O3MzO( zAg-m@YehzbH8rgG)@^StuIkZo0O}U;a~aQ;{Sh_inFU>Xw+7aFY_PW4QUh9NdRC8& zKqgVrR%X~vP)u*)FkMmDc=XkEoOex8z+mr?n(cf;L!VpTM!mjwIVKs#v&9yFZIrWr zTLK!Ud-BNIlJXh+Rdq^Q=eyiUKoE>3BMYB5dHf>L!=RZ5e_ zZ{Q)9E>J-U1y?CB7^9Oq$Odngwa8Xhq`5e;(inCrwl_)GLl{;U&eIPTl1CJ!L92%? z@a^#nN5$<4L0}YO_aPuHnm)ra|Mog6z%B%zOrv}Di2 zH<|E+_!cX}jtMUQYFXX-V#`Fii(G+p^RF3bruogSZn}PVoQwA9YTg&E)umylwF91P zhsrC>eBKx3vK)3^>kRxCox>nWc<8ohz5n*?0w)*1na5lF{O&D`PPaa#J7C0d`$wkx30680TOJCtGh_AbMsSBLTzU?*iFlU2=0K!mq$!qn?>|p#{TQVk}KCTG^ejJ-Khn5Bb36gW03i?O9F7o_c(xS|K zCz)CSSBo;2yEZJ8$~M3;ETRvYuIIl%@*V)u9TDWNxpi2$l@eo+g>3K>f%NAM*-z)b z=Ccr*%V1{jKUZWyL<5jOk~vU=+tXu)$0(|SrKPqNpX!JNdbg~dE24)4v<~R0Wu}0l$>1NlkP_au=$XQ za}}=JKt~j9SZ{z`{X?q0Fa!KeZ-Xw~G{2zyi#I0mx}$}yHJAY|2C%yv)Hw?#Kxid*jp^z#TLIYSji_4!+=c8rU=W5IKij zbPD~y1`z}x7hnYLvnq+sO_vqynzZ;#wFvcHiTt|?zYfkLTVHb*ZhtX;KU)9}XK3kj zxJIt6pvaoXT@6cHrcm+2Q+MmtU+qghcm)tyjn6v#?M6Q^o_4L1il}gPIK!TvB&;u z(8)r-c%b(WpiwZ&k=;JLd~=S>Bz8%sQ|2tJ&Gq|CbO*d6rQ0WMxPS3L8P_a|XPwtG zM}9oA@8>$5&#xTv5O&p1&73&A3pU=u8tN&+(gYXkuRumeH4+YU!OoFds9RJmzkfFSsF3CRW3#rWctkJ$owuRG-tc_CB^2b2fvWiVGELXdHvUknJ$F!wsl5 zzB(9hIEo2OY)qaBzcd&Y@Nz(kFSSgRgp42J+wh(T2pW_Sf5TUYvL(ZJ-86p84I-C3#uvw@>% zjTbEfVk51qk)LeXD;ZXTpL&(EZ*I@3XN8>2;VBe5KClKoUlZxKPL+@>yrnzC(xox0 zperh=9KESXE@IeZ>Yp_zgyq#=KC4KWS%T7-f5Pwc9J?UWc?o-}u)FKGYzj_OjOqJ< z8UCBZ3P*f@$-!=mf6%9hU`Bu_n6+(MCd4_EHo)azKMZh^_^MJA3$YJ_BHO;$@Iz+Z zD(0HnUYR0)Wt-{4*GQVAX{XvQZ%D6hzUtxCwZ+NjH1C%ciF|m!f9Z;@3t$cBrlH=t z&3i@dSQw`)p6Ks}2?{csziah{L|Qt&;w@=%1}d$9O3l?dfvWCTGDAaH1tGz+#p{$4 zQQ4H`+fWE1Lh>1L67pUqCIWo2gn{uxCI`21VXPHp!J+ilQ{~cyw5rxbV?iH|d`?rP z@qS!JLu-b96A~NzmU0f3XlnXGrlLZIAQZDKB%_@&L_d17W0{*H$M@OT3>-_O z=cX)Uzh$a{1%;_39!&0gqlVm8q=#HWd!z#$kIbDFT+1O&ncQEnuK= z#t)eT3vr+5*wbYg80%IoXJI|xsD#aO@*mmj9i%dq8)zC^GBBiBlpe zk;OXP{ln6`*`EtBub+(hC*pMM!dQHN;9!2z8DQNSAqcHm&Ss|f>1y=rs*^uxC0-UR zB>Bt*>FXI0L|S5%G{uZ>0i5ND7LSN&B2&xe)ve}_>>$M9el)MZ|CEnqzf~+}tub82 zonxX$hw#G?hW#Q8OX!J7VoUbs#KS~g9x9**i}OP#L2!9y*Y>X2$b4iw-AmoNZH6Qv zj;>0afcKc08MnF~O|gs?Pu6LLgEbNoG6E{V&pW|tmqU|d(2G=ONt>S zc;!mja!m)K|NDp@9ZN1J4@(vVi>@K;+4#vimrn%%!wHi2 zH5WBNY?%#qpKgz^8iC1Z2tg3a8xoO7HG@f0EGv!7@te>H1pzfmMZt zkLa)@W7Tv9#Lcc3B7700NfTT;j1_jS;mHkwN?bgXMxEWOafB+Fsp(%8wPexE@w>w$ z%Z*?F&czl4N!*VAJC9Xgb{0Q%1iUOC8hUdU7>@HDNmN?*LjG3a_6M*t;#IWjH|~g+ zvx%6TGLNlNFeKMVK@kt?YUFeC1~gR*s#FyiI`vG}hwps|wcui=74XY#TC!_68m{ow zm174cV!v%kkM+}Gj6_Ap6XN#JB+b+e>i&&=v_M#8CWDH|)~ZcnIq=+IHmPf@G0U+3 z38$DK%vRKm?GF%b&r^}n2- zQhMpQEf{-~^gAv5TKfVA6|gOoa9TA{ z9P(uj(Tjs_)+s6;^jl>iT~Yeu&b%iLEfx^nOoR#K6G1$a$C#O7*u3C1rZ^n;6w@$U z&`0SoPT#>gnB=;rV!xnZv4;9X1R)ree`{=64RjbgQigxR_4}SVw7DR$<~}8g`h&{> zObzuEICkpWy~GxCb6t`1DYaF#AN^2*O^`ADgTf7vSt~>H{(gqHIrGHfYyHRMrVEz(nF7NrEli$WFV+fPf}7dAPi|H04*r3>^Vw@|!)I z*C*T6JzX}6qM%~4cu!di+GNgIi~LI+CofQ;D;P2ZU%Tn`bo0N%3U%U9EMKnjbQ&KXtf zBGJ`iQ%K3nF`YofCX3$31RCs1E3WxnfhxQOmDi>5m@>sUKh@5({Z)X4NcM|)BMe?$ zEF~w8xVI-kn+kPIM-0daq|^}(aZD@{bQ6bmh|k5~SvPA`v`9<;d|dd=np(;3*`@mE zSri}5#A9H0i|B@QHnHU%eyC%%^DK*`gI{Aa#RID)32n5F7i&QXaWi;z@CyRK3!Glt zdP%xV-(7+uq=-JWPZ+NetG$&i_hUID^78|KLUnh?oMgy5EK|7eMy!lf=EfgY?^i%= zL?jj;{X#ssv^9+()DgxTKLq3qrQyl)>4^8=%9p%oTI*KLAGYxCE(3H=vM??NSvvsl z@lPG!C--lSnk=^;Du7fxNR$VMZgvL#X;MY+gF5AKwBEM4xMFR6YEh?-(I-X8^5#BR zO5?@|yP_K`^7p(CrHi}VK$F*QK$A64iaTTXsTVv%F00VgF3d}D{)->G9*xyd(%nu0 zI=Eqns&fgv@Bco~#sJG6UD~q@+3l(!#2vq2q8QaRTgxKU+BMkJa&bB;nDwQYq$v~? z)jv7>A`T|O%l7~UMZL9#h31EDvxk=nk)mrQ5}U(YH@F~hkbwzkV11WMEjdUZ$E*U> z7lQ;7LYcPYC|x>z>YVyrq4-^(#r|z1AqiV2`+-t}$t)=xqtTkI%b38N`$@VCV;#;= zeL`}inA2u1p^l~~k~^s`%55lqEEwe{s4ntl420z&R_GE3tR1~M1#b2;{iqfD3Rwvg z!%xD+8Mp1^f{BY;%jMp?J7Rh|K2EW9$W^R9%FVACEX8RJoOPKvsM+ZB`|z(mFJpwk z31+^HXfSgxX7Mtyf1XY|PDDX&uMWoMmG400>dHX1D1Sx)eD(@x?@edtIfLh{F~89 z9$OUct2Oz2y9sPN93ZjuwW+4VUHJ(gN?g-}n~dDStK)3FAp(M|fNuUbpZCeP!{lV3 zP4m(7tA&tj9Z?y7RySqk4#ZkB-G7ISH7X^zHjUC!gaaV8g1~9L(%U1OQ3?YVlPwU$ z^}XlolqM|+nHeA<3}WJjocJpIdg$6oIk_G8&(Fm0v%aR?Vqyg)YT(3= zZ=vjWc-Xx_!_qjNjj|ZZjThI->Tcw7+WZ<-cVIEazinIr^8=SB7A9Fm3h0CboI$2U zP3ro<`D7#vLEge&_0OSIz^^$-WHZh4-MD6nNNDY-8R95CV6y_NR=DpDEFNQ`tT*Og zf1bi7DAQhtu|`PfaPhpC?n~8SiAfpP#b+QLG@m|zPZaOW>HcBqT-opRVE@s8yl&rE zEI6eL4$cVA29l;t@$WK#^MSCUEZcvXTpT7!r#v<9Kj+nJ4$RgP|L%iSteQs_NIl&F zeWKyFK|L)({Y_g6Gb(i{beH)iR9po(Wkk0;8`5q}i;%4M8|uBE8V>?#0$-e`ulFw$ z6X}S3MIp*jtpN94ZQeL7K(9^Z0Q%|l7_i@X>$1kChWGWLvf~wp9@EXuJ{;t$Q~=Us zG?UKmvKc_$z@X({YZ1@ZSC2g37^u{=(Vxn4VQDqx>>wlC^KhTm*i|i~la*ufdV@UF zbqo5{^@KA=DTflGPl*t$KK3>%$#Cl?ErqQI6#V{pz9P~ya@D`WTAnE|ap7)AA0eRt zL%{&%rw`|sV%5a}_*d@&+T8&lah~+!)(-U|ClaOBB~V0Z#g3|I-A*oY?>6Ayk`b%f zNgP4AM{AS)OBp?rnkfpU&r)LJdu`KY{xreMiEMRod}>(Tm7~QFl4!qff&;B2g@uKs zAf;HgK$RrbZ#NE_mte`K2~zrdjzCj%#TPR$AeQ_~b>}cfuH%hTe$ulMFV!hU$z{-&>M;bkQZX; zE=0%rve8ws&5ubG>$=|*-TM40qhx(+vT<@fg&?oR9Xae$Bg?U|-|Pq%_Rd1*N)z5< zvDn_ig4AKb@Wccxb01bE?Q251D?Q;$gE84j#4spu)kN|Oz`}5ftc&n_;mI-7_sHjq ze|zy2CCueNWKo=)tZT42go3d%_<)Ur<80P2&>)MZ*&CxNO@qaSud#u&8{=R?biE+h zkO~_75c0P=_4Pta{Xt@TPm1EYa`kKssK$J;N*Xv0?CPoS7}PX#oM%&CXB)(SJg2l# z=d<5|3@Ir|fd5N%k!8_}97GtM18|oJZh45Z*;{mJ&#G9`mT+^0rOc7gDjaQA4X1*= z%8*SiDNf~kqp1?O5zGDrb{V?47bi@&*Bbh`Q>D0pm>RK%PHoP04P7~=loY8vcA44> zcpVnWhD8wIDI8j^qQBsvT)_SzwBTC{5V`ZM+85*ni43ArkFI%mW=}KAQmku@D#&}n zAZGDj19qT@Np(tYZSUx|h^xcx2ol-U#|JOW*XF~mM&M{s{E>W5)&3c7uuzB2;dGve zjEsye$UYX-F;zYpuqWWKSs&b4Luk+-bTLLHf!y8QwOpwU;`ex9;^LAd82YxL#g=_o zQ(xcTI~)G$k;8X~%{ci-SvY-k+?e`&Lqs3wY{1yBrlpsFUQ;w=lB+kD(sURBibxjt z4#_0H5J*mxrZI#eh0B9DssO(DJw@}|Z&oB(|27n#6$_urUU2|75~1C5Zvp$?21vEa z6`rfD^``S?tGVK@$IB)_uy+kf3t1eRVpG))N?oqUUyOtqZkT$m!#ltY6$7K;o$aAh z9Pup9PH#fU$r8CO0t<&VjWCiF1SnllzHjo{c=GMxggq74s)Osbmu;Z#XQXCRpDWSJ z5#7r%>$yUes1>uqMK4W}nRJT_oUD<&m)kb~T>!WS}IaH2-ePCULblBlZJF&L8+RW04?@cg82kghrPz*XD4`(s(>9C9b|o;=JxTo5;3)1s`7NJd$iTD zjrxZ{5@l1`92jf=|2y{!#sc;~b; zTcVE}QrfEa$gXy9jfk&fjGqxr7w$_N=NW_U?(QJV9Y>fQKOZVihQhq-yIVs&nx@XSD#s1-~isfn9#k>POfb}45>;eM}jYiVlYE|Rf)%ULE z$2>olDc$z^OG;lG3Rh6%hf;IqP_|M-@rTekZHtB9=BfX-d0bTzs_%+(HGzTS^1(ikdOInIs<~CUG2@Ne{S72AWzp7NE$$QUZ=WQ#|YMbGho~|y@fI$u6fwr33 z)-KT}moATU`dOn_y{L=^*fxt1I0n-D;{#ds655r-C(LVv53gwiR}^1y`6w-+*u3VRd5 z=TO|nP&!G(%p_6aguW%jGu5C7Lqv{jwiC3g5nkw8Z0NE)3&=jXJ}LevRoh9%zvcTB z4q)U{C4*&qFFIR>a5?|@ZqsRQ(V{l&DXZNTkq}6n(awVWIM+J!F@{fSnYR2rZ_WeEQ`xG=A@=3>G?sqqz4URlx=|X2kBUEdUM*e9Gv${*;!sx zqf`$FYFD8q@GSnM_?3G>hGZ#>lw7TwNg7R-pVt_ZWYLhKW>FV4kjH4&MD#3g3gX#j zDI>Y7NxvKgeSGFMk?4A3XXed%Q~b5g9ppotDE2wg@F4bVe`)J~apx;{m0|D8kyJDf6h zhk!h%rcUx_X(rY@cw0z$)FC*RN4ZpC(xk=NGLpJT?T-ph`0gSn{SbLF5IyA!SWM^V z`?~Ju|I&U?N*h)dOW{pbA?^L=6;Fsw$*EvwUwl{wR6^P_g}^BK4UOjgy28Q|vY4@9 zf8G47)bw_JeJZxMv0((UZO%8m9_n)TSz`pkxLXr?POXQ=Q^JxcRPpGcaM1Me^zbC- zh%GWik9%(=!=zHcLVHuy%#A4I&F7E|X!}3|GD9o75-auQ=!zKnsT6V?V}cuagkw-- zQ&}4P;Y=!OWd=qpMldku!6=+swG?W>iNz$cW3iq3p@MLzp%?%mDiQ^3uWc`WzYZ5F^%HphW?;f#63*Mh0N+^HnlrQwUx^oy= z&hMmmsAqc%kVcYn#Dp!j0Esy&ol&*nz!|}Ou^m3c%}Y~M@ihP|DJE1|rKFqo#OiIA z2_gC{Y0;)=UKxJwDAgChTa%B4fUe=m>-EfgIp$M&Wm~B;hVw(c%L#&`mb9#ajys+J zqj7@d`s%_cLnEqX{z$CBl@$kiUiT{fKh?N}dX;Y3rK{BSq0LUfthJ_B`f|49G!6co zxFdY1CphjAVMJ{^)TKxg7&tXXd31b~$HOD8A;EH()G-QwEd;le8(K<*OxqU8#(X@oS?`%MdQeTjN0?wYIR+pF%vV_LveA!?3xkuT|g*+NG6g0 z@@Hc4Z)DQg87|&|ZJm%>*-VBg<2Qr#+CXeghnD}3P(TA3*S<@evq&Yx7_9FGUn?v` za8$8DSd^mLRwC(d63=q{A^0w}`vz%750|g=QFPgL9^w*dLxYTfpr@`HPjb}ixkpB% zKgfyGe2s`RAdoMKDh6kXp4KokOB~LwSO`ldhCw4kQtCl6K};HruF%hd+V~@~-v(MV zu6O)V0dI3`c9xWp?*mF)Ts&4-56IDCpO&ctL9Wi&#j>9*_yu#(LTw*S&WGr}H3s#? zh~Ce5IMR4{m@Uv$3RUt4F=`wNDHb?Cg^#js&%5-YUYJn4JtH@0*aMA#KYM?|hKjih zd)@5^tJ{`vD|7oB0@u1ON!q&)``;8vrrV%a6^9e(IMHDF znxWEMVna+}$B_PR#Xg_|z6W(jokHnGK`f_()c@-z9BX5ClfzoPcwH=klVb_Wd=3wE z0Ehbn2>Qb*KyYJp-F~`7yqlNOx5^y->Axe?h+&o$pBdieJgR@FNRdPgHYtDif7e$uOhVPrxaFN#xGGkjh>y=3 z{B};WB$4*op^FOp0w8Vr{W*5o@{q;bWPL%MB&9ZD#0)BHpN=HHOU*Y$tu>z7zO(VN z8XBb32G$H}J1NEqi@~X|IE^QwQHGnlk~n?WD1cHXm4!%aV3Ou0geS8q#9K7G%Ws$suh~zIQWF^mZ|DeJq@oz;(UxR8}fYaXML=7LQlt2 zzubm^?#mr@-O?d6mMa8?>fqBN#J_V-wbZZ`Y@hM0@Zn8)zgfH{|3Jfi0YrvNe>|Zb zG-&GO#&&P^v-sABc1q+vCb1ZMUjTh@d2Q^??$sNUA8lR4P3Dc*wZuz4M;wLK z%L}3*P|ZnU&jV4wa-o7_VIdpiwjX4XnKn~*p3_3q&E&4PWRdOk=7hY@mAe8(H;vKK zP!Be34Un>$P^*9ub+g}m%(71ezgkI2j@GfUH5*hg=$ZaVefry3g6))zuBU^daC~|A zQ2|u@v)~FUKLM)RpBkXdlYN$RBt_~jDl)eZ<^0ubNa$Ih#)|UP9>`H+jH-^MUu(ue zC2I*IIVTe@ILqy8hl27f1nv<9tvE++pK#xibeI=FywZ!(i;^F@(L-V|RZv?UI?L0w zY`fV|s`8YTCPnUjb7#KM>_U{$Xti%y*K?npQy-n1(-6-yfrxaM^rH2TdbI?$b_Af1 z?yQ)2hgW{A+6m53P0!=jg-?5sjm!hfH;Gyh2?@oMRXIxg+?(9yY`@>YM@}9y2FVme z8~$COA@bg{>z(B?(1X!0gvAWCN3z0WQ%z_4rTu0ixFr#&pV>~K)UUCd8sCaNbJhE> zD}=J^L83D^WD(q73x zZ0#@t@^(mWhAdoTHwR)LM`5kZak`SL(vEH~)Y{PprX-6O%nvjyIuyR^dg5ISuIle& zhhIzW-;BV^9yglrbJp#EAnNkLtiJ9hvg`BomxF^8MJeXyckhR_clfimQ&XIiDLs7Y zr?Dx89IwchKA+*8>+fW0Ubx#i#R^O~Kz9hB^(*(Np$oc%?8z7yz97PnUP0`I$9AJSbO-NcdGYpkU7-})^3i&u7V13#JefL;)JtJJCWS*?anF24dMT^N^`0H&T10__Z9f1MrvIE(VTao zo87P=z>$|=`y3_{Y~}I5vN6|Z8uL}ZQ=>0tXJfzk^__)U1LV4m5NXrHQsMZuyvCbV zwot2VEUjDDKCXBd2Q&B&u}t^WZJ1IDqrJAjJDC#%IyRHkAw;lj%JA*t$KWHg6@1r* z;1IJJoOgMqzg3pjZ#En%j1_*a{%t9!Ivx2VRlOpw@{yN^HZ$(5N{D~mX2NdTHn<Ks0=H8IzXO&w9f1PSy>N4R+P8*ad5p!eymLzfNaOZ!WUgAp`LjmN8+(L<50~q5Esn<;!^y_B@9Y^D+NEv@Q$*=} zA7}80&Xx|%yNi7C0;hEj9>deQ07piPpgi8Oj8IxG7VJdt84HjaWc;*^^+pg3G6ht& zZl)x!gJ+xQCiE3L@*5re3}o3goDJTmoV}{w$bov|V(RSRPucouE12pegiU+!B-LXf ziV=yh+a(?@2u&_YNTD+lUw4Ipc&sIajY#q9(X}~C#>>NX@x0^zwap!si@#KxjFA-eFQl< zHYpzJ)~(1th9$dM5Zr^IlFtQyg(i^WGVm%Ap?-{pl`Qib~PKw?;kZ6!7Vxe5ZgUm%6UsVqiUUGzR z);C~#Mcjbt|Ap<&vZ@q|M(h3gQMdxxrhV{-_<6|kLa!l6VK8Bks=z<~^Ae;leJ+T& znLKOMr-r%4bYTw345CBi)0NxD={W_NXb5uH(@wVeJT->AyuL)rn9v8@8xp2AOCS+lv@Y3=z;9K4ATsszfXO8cEN2T`KPt z9`e;4mL5{BX86I%uG}tEHjhBHpS&IWP zZboAn&yysSr?h4EcRmBNYW~HC*m={k_(V?gAodpU;rg|5nUDDodE%3n;CK=5GE z?{;wQO!OD!orqf!I-ls}C+a2{34GP(S!Qgv8wkwdYP6Qe(<)K-fKY2?e^GF}AgLM> z#LtsG6hZUbBtsk1fHB2N(Ig;9H>7#*crotkeE0gO!9fZ%~-u`NjyvE&7*qwBT{$uJlWIe zM;}Gds-eslJxt}kEU=OM^86L05*Y$rELACf>d<`gH=y>!-DYfM(I-Pk`=^Ad=?W`L zZ(OH<$(p%1y1$Jv(5763y7l}0zpif83fR0-KwfvWLDD_h&pUsvB?NGn9MN#Nc={M)T&E7|%UMj2#qjmU4Ww#JT{w1wc&mPkknG6&+L`c1i{b~C zOpv3Akm?D7Mj%lN#8G&~W6v&l3~EcpUN%I3DvBFn909=s^}{gA?5z!tOR-gs=j^W+ zZRWtNnD>D)#?kBvOc!e`A7k9MlAPZiQUg&`#s+H&_j{y2LuJ#L0~=9#jjXa~#2^3G zJvn@ZESc)=^&cQ?GUBpdGqk7au0=51bp3QW-{7V~6w$e3``Z8w+L!~?a0IS%RWrI; zM%#Ntc6%cscBc)2c!Q1AZkJ%A@9)hG+~7^Ynwl~Kd*wo#S5$J=M6)!^4lj_(l+o2} z>^-ydM0IXcDa#&*ZNpx`&!N1j54!)BZLApM@dJrdA#Jp-Hoq&!eD!(iH_s_O_64y_ zZkFd5lB6VC*6hK=P#rm-&ByBxAarzv)nVcFdz=(NT>3nJWWt2spS|cn`|hlL6OAo%C4?NCnTcmZ2iq)SfGSN znzojaqZNbRix*i!V~8DQrNh4r6dS;aM8`u7urja6Vp?n=Rubb>VGBt8O;_^@FB%06 zQWX;9u`K8L+mz>)qRG5x=6pm|*8z_x z;Iw-=qFmu%?m3vqppJ@UVqwYjc(1H$;^Wx;j?h0b@+Gs=`%NYr(AGEHeSlA4+ij_VG(m2ykJP5T=y9AC(kM(!9P$u7uV@rEu$M4|2D_P%S#jJe629 zUaWHxN^8ic@IlujZE(2pi@)y_p?lEf*||g;LoagoBMAbkVybVhs$`KZ0Zfvd#g+fn zhSDN8pK__Kw_DIUL_j7rR;h=#1?r(a3}BV;A7l?=|3f$J$4gbN#^G5}MWNGX-Gahv zZ)!OHt`z?9@>2x7=sk}Hbxql?m`&$hKhz<+Rf}hVn_;qXja@e3tG8G)VtI!aA%{+3 zhZ=FO-$A*I62zi6p1RS0C?y<y^9dA2nLphN7rW@R zK1CGrVusnGr$b>sQ7ZypSkA@mcg-UWRbh^FQnffYiz;1Oy&}D>7RBqtprh|wYah8F zL^7oWFE#-WL@}uEa@~Beg21L9$Zt5fnwb-gJLtyuPHVp=pX|Cx<9M@byP&XkpVL(1 zdxT{4xge9t)FMWZ&2NTTn$SxXdkJ<%5u=ze!7B2w&9FV$-)(;?-K5MxZh6mhi66oK z!!UXKM)?8YeIte0xEd2xti6n)9dP_@S*X?i++D00gtBuc+AT#6f>&{iO&7`IF$9e` z0lCfK01e-QC4%`v)zJ}hmU}AogY$*sMKqgWzg8l>sbYQt5S^ju09-SoP3<~a?dCxJ zKBe^er}bq^%5|?Zop}Pg{h959!fXdDeW`@gZ^eoZ_MN@W|A4H@xzN*jU=zFQ0vv4* znqiuqy$Kj_xVor0K@;Y(V4G9@KG`mk&aH0v`Gk6MG1`9aL35T-`wc*xR+b+#)qA1O zl7wPm(6E5y7T+4uQfA4?!8Jt>6N~f5v<`%E8kBD6aZp$J69qQmSA0hU2eQRVkzZ&M zh+t5VY!QR8oX7tIJmThs;RB82@~~9F~GBJiJ*^SV#K%bXJ=U$c5^hd;=73 zLy(C~oD7YClH6?P@B4L zZJE%C++2R1kPp7tuhrS43JrB@me269#x%_eTAc(`yt_uQw?B`*c&TXR3nvqYUey)Q z1*;dAl#qlE8`qt!wp6s&Nmwn=#OrrNchv_v((#!q-W#+t4aTUDsPdGsMT=*A`@%wq zp1XSS(}J`UEH+WBo;n2)iRj0{DdOY4gv%ukL6^#|{1lx+73Yf6p~umsx`Ert&*GFj=xGsAIXhs*8ffGGDJjTO0I`zeLj_Y?MsXnvTQa)gE7!RWf~ z*~er#+k>25_@FB6<%A{V>oe_(2iAY=5SCy+5n zM}wI#QmX2pAVWyqW+>Q+25_GIq;1T0q$mru5GPSO+I1)mBHTo{I|u1DwR|5^c_)af zM#7ozrNQ$H8#w2GtSP83=^!h@s2iKpO6iKrfOBCoLzuI;Q;avZCygnkuUC4ik!P)d zNbS}OD7N03C7vgdIMgLqwHRD$%;wixa^bzt73crU8jEkZqPypL|1Cg-{|sj}%2z1B z^}DYC3q)~04oI)R+_`aJAXC{c?ecms$Z12si8(3Y0%5XaI9u!gIZvW zhvS=v5j;E0H5j@JLQfC(!-yr=DJyAEXVpoFJN>>W=mU`|GSB zrPu_<1KiHmnIIVbS6+eWMM%RS6+)Bpdh`LFQwg~5Dr|;+absv6Uxmo+82n!h9y)F_5}m44w#NlG#T||i4tg-Eoeh|ea}rbJqSc2zy?RGSYEPCLg{7-jT}#N4HfwKV z4|vy2fXmf;)u!wQbBmh?QBnDXeEYq|$He1WubO=F>jPrldVIg28SWG91pLExwl47` zcVN0vP7z@ypBoFcRUSr1M@Rd|%k`;Ym31CEHcCZk7TvwVu0%MoQW}%0dQpAFeQQsV z!+rQ93KM|UA^u#GQ0o^nd&0O29nT^nZzH0Xqh7e-KuegqySTN<*a5iEE=fffZ!~0 zm|;^SxGs_ZWRA&tCDl!LOD2O4Q2-m~JWw}d*n(yd#>Fs719M1Kv|xQdK;c#wC5CnM zE%CHB@f&$@6L?$mp$zYPc-`c4=Y*KVxz7!@GP*K|A-BnPSV)LOiY(OS^TPfzkZW32 zZ3=6;B2vE4MCV)&-0yCwTL;a)15^-x=*lw&$I6s{qb+>$Zk_^|1A--MeKf1dcX3b$ zLaBN~NsTZ_J&E{`Q6(&H$&!SJejKMrThWC7S^WLB{EmE8XXC^B%3(us1yQdwlJ10e z#dq~y$fk@z0l*Q%sp*x8`9YNgFm;dTiAFy9Mje&8=DI__n2uhxysiO2Phh|GkuKDKYW z0Z`s2c>!;0yf(f3b-o@30&X#C+OX*kn2z$vElY0M?sJvmELV(}`SELO(-Ceuiq1N- zv(Lovy`8P&sKS@+)-?rXZBK$suTI$AgT)-pBjaZEipGTT4O_x#S z?zEYuIXkZRupz2CJNrf0T#fF5D=!FkD7S;zFwY~`J`<0TZ%iH$OSPq@@FBE}*N3_< zb55_W>jyCAFASY)6jTi)kFBF#b(;N=~=`z=U@A{dx9hQ^?(=v|#H?0{QuzAZmav2Sk} zL}2!-TCbXNs_XMqB+;YR2%e)88?W5^Ox$GMTU6BV*&=UD~5} zO8?tio`6k#6AJnE63)O9i(hkf& zA7fyUJD}4hhD-4eGT&C{T8SWe6*|{g!eQqx|Z@mqG(c)%ym#*XU z(|?5mLKRU7E6g+|=_~cITwg+>u2UF~=&4nN)`(5LSc}chWRRSOjJWb#HgS=*BL)J; zW+0zusnMk2`^k%y+G?ch#u-8&Q^0D$pP4>xL|~vXMDm=7QfDuY(&gVo`oFj+UIk%9 zIh#RGP2o<@;7v{Qd`}tA_mc_6u>yj`{fna%LX#Clj5KLPrbS4#)|f&hrF%4lLAcYl z%(;bn4T+$qSfnl`#Bt|E$HvU_uDa@~tFB&)1DO5>Td~qkq!d96u{03^qDC?pM{dR0 zyLDtlrez_75S%!1g2gbKxNkz@dl7#9!q9A(%i+(i5V}F)(ydhSrC$X^jPE=MYKf`ihf#6N(D)AA>Lit=CQ7Y+bhcv?M={3^ zpWwuiQ!Fp80D?@$!88prS%<(6n3qM~c%H$^YO4$3fM~ffuQddWh!kccgt0Pu zp$1hq{R6!NAXBthYA)hNKA!Ta$5qZ&PLdUQ?i_i2J2dNs9)I%cAL8X3V8Yu*zKiSn zZfHLrtC+*{FVklXkdawjnz*8gCz~{JS$3C+Ros4kPqvpVSY1aqQ#xq1S%? zw$azK+NhATN@R@!p^8{`7b%u=t>fPXz-kjJE{v5itA1yjyq4sd_LRO>->U;UlOb>0 zEH@hIcO))J$hJCaYwllrzFnGtA)*LF#mFc|Mp5Db#!-^V8^`Uf1%xV!ldb(&jO)3K z6^p33c|^0x%ZB7npLm>%G?Fl}QW#N$5l6@<#)x7J6(>$)9IqW$`UBKHUI8dI08saR z!Z@Zkm%}&GwY(T0iEiYNtx$g4Zs zw~UnyV=V)8W@d(pZxV$O(sEGM2Fmr?Yx@G=WRRgk)f*6YtYEQPY1NRxF(q%gX5`9e zqao^e4^?eIHji3e?*hu@3S_gWFrq=0<>h5EnGBX?;W!T4$NGk!np(A_<-~E*MF>GG z4T3lzR+?C8M=5Qt%>mSx0vG^lbwOXRNf2rpjkraMBbO@tyt-N=Qy8V(=b)n+3lnDn z*u3W&&b|0Cf?$1VmO?R)@A)anMXat=SY4@5ujMf(Q8J4Ff7~Q>@OktFj)f)L+_EHTm1=t#b#l?_o_hkqpNxcsJeeJ>6x(YW& zvc8;27Qk3+U?7!@m26elHd(oazeK^Vt0eLpFmBPCiXrk9ub_Wk>b&z_??IK*#0 z{UpQv1H>svY84}uPT(&E!dB9UR;mrst<7L{8sbgi+G!A$#awPs;qfvPWwqA019 z7X;`H;a`zAQ4Jr}Xl^(%^UJ8(s@DM^t1HNIKPud?G@9ojGldiYO&X0x8vsqyWOSgX z6#J8wmGAYUW)sjTX%fb|1%Rg3x&?o&I)I%a;Fc4UIC>4i(13yOD;iDJBAtOk-nr;m zRBH|TH{SzlnMP%m`sy-vHiuz`H0vQstzRoRpU=|V*nWUC4CEz3%&zNQ0Dw^>nLqm~ zBYW;=b$*7$sq>8P+)MxFTc|BQcIj5vU_f64vz2O$lme|K^~ME#?Mn05HZB7v0F0WC zAtcxadcKyvSd9VXaycr&3V{xY)}tQ$JkyEPwNsu5XE?5M8>p;jdkUR47%apuDa@~t1sIDOzQw9wE(r&D6LT% zM0%C4!!QLv-z=4iW()q5QdFx|nn8hBMF~l!lf&1IURohM_kzb|q1bi+uNwa}>({{z z0#xL;2b;B>3X}@aQA7;5VX{tfKA*=lO?u14tcn6NIjj!N(^K&)+OO=sHdE`hs#LAzn3?UKG;5}cku&!X7=y+&!>NtupIEWbN`!r&)mly+mb}y z>jrP2*BWG+30|$d#C&y*!Qv2FYqs|6B1e(XbP2-<4b*}C?uQU;6k~uGH z>%zd+2AH{wTiPhcyMqKIXg={J&led@(AuN6z~@pSsogq5yxZ=BfU6K>334MYyRnU ze<;=Zj$fI|A{@&^OG$?@X>j59v#YMU>Z+^O*m{NMlOIo=7y(MB zkc9v#(MqFLx?Glujf~?Mt!n>DCCfgA80glD0w}Z)>oyDnt)mMb*QRmBga5t1eUVQ- zb86kuu6vKvF3`4l;eLfc8x~p!tZWXY6sBon7zVa!m^uz6fQmxU3L!;OrY7CAMry5v zP6roH@4l!Lqf`QbjwA8?we}K_ztrj)r$E{=en>tjgcBEXm-^eRZhz;7n=JM-ldo*!PRqvQahFj@E2wq?hB{B~cv(tw=I zIbAcPl0OV$$l4HVNS6#u!3kv~wfYnqB{W)S8c~BNRE*@u+HZVv;W(@DGDFT72a7jh z%C&2sj~@F7VL2eMe7=9vkFA5hmL3>+kRRCe&j>7^pzQInBY(C=w!&mj_5hyts96!9aeLX4u4y-S*ju)+#4y`4^FQkbZP2=aj4ZzNS(F3@Orl3)Omo z*%<C7Eu%>%fqEkpApB&{#yG;@3;4#9@j>l}gA`F&WkS zvfvx2&Yxo`kv&;x8mP`nUD81Ij3mx!!cW%E7o3pxbmTA_WC2$r_E? zZ<+xJ2?-uVpFwA=As#vmX>(i_U~%%u<18BR(}=0>@gG%^Y%^u z=#mHb_D%nY|8e$1%$qYDSv^eMuTyZ6{|kDW^%qA-v&*)zVeq1G_7oN*+G-*AW(<|xYDfPbuOV&m{K5= zPUr4vDsF=}?%T(`D;3G=%%Ic~DWHy^6iXs|~ z22oWK!~!WTROmrxs8UL#uuwq*s?80qma#4b-1I}<|5q>bp0^&L=|}v+|M()eZy)0O zU%z+l*Ip^ymFjxX(_p@)sSguJq0fzC2{DH$qufCZqxQLq)fAV*N?uIZ6(jyHXEk`T6O}wwqqw_cKZc3 zapWU}Y{OIQSgy)aPT%J;wWF_!SJt6~(n$lhONXQf3WPc$QgM5fZvlhWnvAuUw6g3k z5gHLe6s&7{H)xPCGlV)|fMGIb=F)^~It;2|&g(O{Mw3-{r44|2S)dU#al4^wK7f#ho|&GBGmax$Wni?{(5w?i21YiA4#NwQJ&bGy9Yhy-ys>TypwiG> zTIKtG{cp(FCcQ&_{JVep`t=8?G-2oa*cr^cM^ve&MQl@rHfA^SHVA{t1+SkxKYc+MxKPL=w{7C=>GK!tqf{=^*Vn_@GwW9lDHI)YeZ53ch|wzO zts@NMiXr(Z=?9716vrC59&y!Ic`#NuDZI6VRKajOEPUv$u!^9AepQ!q(I0v z0LJGhr@}^~(FUnhWx-LNwFf+gC3d4*6q-lXj z<~tgqwZ>^O-U%Vv5SS4sbO)HU2V%Jll9sbu}IHzy_2i2&}JL^UDSHaMx%p(NGVF$Ov_qcS~mv}*45Zs z|8KoE7cX_#5&-nr*V{)lHPx=uXKKZv;UOLl11!^I75JZMWG>rw`3OU{#tNmAIl{CO zO*#run_>+{WoPX_t&yT5vqOrd#9_6_nie(B!(0!5VcHgP7XrKLs;jPEI{<<}2~YwN zi`K&LA_=z&DG^rcELcu-=G>&)Xf$wL7uR(um&+8bH~|r*Fr=A&zOQg>fo-?XYPH_DcxG)jo58QQl0TC3 ztS-)zD-Ds!Uigs(euR_BT=E0Fm~1CQaFN6g$A&mbuq0nj^AqYTWV4yebP>?#8bCfL z(HdM&kzHRlFx~)xS8}r2qq#O^lB#XUG=*Ue0Ar=vi8-xgZU1 z3z(LTA#C>a?QcImU6~>vM4HLWyHLf+vBs??5Q%MT8p%9UFHFw2qun<2GkuwMi&O9k z0P-4y@8d-g{rN)LmgaKX0qg*(3+DZawFHq?GKfsCHo`cjWEe=#!_*2>CxBPYIM{$= zSrl!D`Fb6@rw0>_p_AkeCs{VK9r891ZNO~pZ{2O@<8)+KNx2A+w{2|Gq~dwlEdUhj z0C1fv+ErIwb=B2X0H8?2oI(gCC9zDi3QY+rj6q0@bP)(?Wy2#U&n`EcO+4SnbzO#r zhA3MehG`^|z4JMYY&Q9KYxC0Q3mYEKTrx+3k>30zkGTE!wuMnFBN~nM?`s-Zg$#y{ zF-(KOT*UbJIL&4g&-19eu735*+^k{eLjW_E0|Zhcv;rC>HZHmXpwIsc!(w$ErGOJhUWJ(tfBg{#z8lkDHVkxhwG)Lm$>-qk%A7)qo?)Gy><_>`c5iv0;xuQa&Le)Cqq_TC+PX6TvsN6d1 zG-7=?^I}pP;Ln33E!*&Ys-8!GKA+436e18(%x%c1y})(bcxxaKX?Z6@2&Pt7*Brt$ zbN6-S9t@jrj5>nQd*pVB+ubo|G7!!$u zn?*>$V!cjo{lrs$0|a&*z^=OLs;k%F0BR6gKrDrb3@JiGf-MCiju1j(rmI7knS%eN zBWETXjRrN(quy*XGBUz|QNc7MMi?S9Hb&OD(2?^!%yLhMLzlrE8-49(Bi0;1tEUG^ zx}?;G{mF6};RP6m!9XTpXlRIfy^bG6eCgGrVI#Iy4JQFWBbQAksH+%z4FG*9MI=OP za1k3=h=`6g3CbnS@=A!F4iu38ofP5Ru>a4Fl~pv(M?H$N>dT|RR)I# z*S)@8tK&FXgb);qMaIT9v3K8ocJA6uPfs5QuDy;OJ9aWKIEbBwicQnO-LSmd=;$zZ zagfES1dawaZ%wSqfU;g=Hy*#l&fu_;m|7Y*M10+fB`u@M4r$Tpi z_v9RQXLH`Y9HdjY^C@y5qhMnbWg)`xlM%sW3>bqkK_Unc$Y6p%0!)wuN}wF>ba5|j zxXo#1cXH}j>G}Op)iXV_v+?$B!+l>;UC;D%tghMm%=bxuwfip@e%9`_^M|+o3As!T zt55N)yPKbV_@{6z2TNN#eC8oOHT%yTw~iA=F|X`-6;0X2{qfnopW-_3!){x)uJ zy&K0`3~=8#^$?Eh;;Ia`a??-=CNxWetZL0c5G7M6<(719xR?;rxZf56AV9|VIWs>; zi{~vg0~^aa+&CxC@{pxj+9a&gpr+Ekd|BJ(vEgB?j*f-UsDajl2l>ahzn!0Y;~V*d zx4n&bWwTH$E(w=U7K=#`O=l3OSNQ64|1?%3mxt7PWl}*Lxy~_wfz~!^VMtgk(!AKE zAx`&!zwD0=A%qYY9{`D!B2tRL(yC@_jcb7whZqBP+O%YQEw!|7obM%X68a}Mb_FZbPw3ZZ>FTAay%VAerE+-AW#Ed%8mGtR=7HF@6+PV!GqVw% z7t_+RaI-3yi)oUJmj&o#phs(#NE@hysP5+UhAL^_4blmNS)4c+1KL(RJn~hhN>d9D z{+*lNi5F)fXZVx-ALQud(S@JAs{b|o#VsEt=jO0_6>q-#O$$GJ+s*I58qk=m;TLZG zWw!P1Soqng=~H~=$d?%}Pw@GJpXc_$yB2;nQ=aDW(Qjbciok?aq6(o&COyVC06~mS zl74p+lzc*45w&F-_S=#Wb1}`oHK0=eo1`fS8JV5Mu`Rj^$?s}x+lTA($}F#}>BbPY ztU6c!GsjViW3w|H=;>L~M=u^9r~Tn?@V4;@?t1F;l{8t}-YJ3r6bwQK2A6WET8 zRjT5)H)H2>*p9tq)6?T*x;n{jU5D*guu3I9^Vm^#9~$L}180)$;3!X>nBvL9!@~b9tg#K!ym{(m1xp)~aSH<&!i6N9U+s)zYu&>V%9NQLeyV zl*6g%l~?d+YqFTx_u+*~TuWyU)lw0^mS=AEB%8KuMJYvdODmhU?8Ns&O2s0F4?WMB zGb7B+%~GvaiNct2sl?RO1Sd}%gN z8%il=_I;T4=5q(}*|`eGPfi^JXl=1*X|@Y_D6JqO4iaK14L~(!i5boVe zbm&mh{bFH4XZS1EWujWeR(j#FG>v@^)mhEHXT3fkaO|f6x(ZFS=kuJHnI^Y%1bnGs z--SRd=}!nDmb%b1FiEIUDzKFDT}xLSOXFIa3?ao@fSt=@WwXS7V4SAT`ENY^^x^yO zo#@K<^`VMIy1TnsUGSN$&Qh{E(4`V?X9w~4__8Rfu{{f&%MeaF#E#AT|LKXPH*sv5 zdRwT@RH)6DS118y$!;11OXCm6XlLo$(@jl4j2#7JT*IcOBAYgCVs>_x$aQ)8nP-FH zsqlDvcSi-lZE3~IW~oiglCumMCwcF-r7D(IzJfq4t<2ObSU#94s1lf#j&?;;Q^=Xo zfWdwT&(l;YaWG%19Xxb+Z0nu3uRZIn^!0Xe=rG~*02pxY zk-#feP|HBx*qWf=k{y{rZSTjlR0tuY z0(hFK~*+lM+efjV*;Z>Se1pIdsHzILp+c^t=PwL8Vmoja*iDiqU!E1&uF=SMQF zy%Scp5TGF2)s+l%sZ}UAij1vsZC!ONUC~OZmn`B9=3W=*y%O+Mes%rn0aBm*+m?z#<7r_TRGQ~ zb#wDoP7O~_jZK$M0BqWjWxg0;TRsDetFVP>AX(ldccBVkHN9W*ARQj&}4{^ZX2U)dbULa$@PAY(LgnkA~N|_HwA){#s ztXKWY#_*LW;)i{o-#KuARyUn=oFx3kv03swNi(xr_(!R6Ihguw0^5E((z=q*WZ2x> z!|Azstm$cb7ei+SD6+WULJ5CD2yqz!kfaY_ptbTHOIKW5S2MPz;3%wG1<+)>x=>nS zWt;qL$Kd3@e)X}V)u}1MOoo}cIhvZ97$`(E`@=~HoSY#u)SU!8FN?Rj7pq*wDpzm} zsM8ZzCdS*)kGHy)Oj|QfQ;tkNi{rUCxlHnXOMy&(7v9D}GR-;E>G5P#aS&il&*2Sq zCm}H7;;rq&s#I}IOovlu$eU-~x^+xXPoq4KQ>TWbho3#ZFVogPr?eeAg#ww54&qus zHV$acT4WuIjIE27R%NZIDO5<(Khi8a5!XB7F9g6ft6_GwM$M1evLUJRRHFFM_+)YZ z(2?;KCmrI9?qD8FJpf+JV1@|r)#Cn(0D^&L0u#Yp z1+}rK9so}QQ&ymHD#`RSact1are0FA@{0F8^uIYcdT=oWx2)wOulRp-=X$ZaG|y$8 z;qOQPj?T_be&*Jn=iRG+@T?cMv1v1N?kv;I6a3BSU$Zy&EcPmmm9_c6?SI6Y=EW-R zp|OMf)+4`$E~xq(Ig1N@l&pI7@2Ek|;aI2*T`)F>?`eX;mc}4+QGMCW*%iPFFqeK$ zUmO!nOfX(5vTI&XC$CoddyR6!_7{(O1%cdtZK$GJT+BP4GW4<>E`GGLt zr^1l;h5_#i1O9s)b3j3BI-L@bPK0f6wSp*GcuvmoIvT!?=CYZG>eautT#mhGPSaXW zyF4a$o^7ZA22ueOLWs)!QM0rvXKX#6bu3yu3orJGYd)FIF6=@9rM1bl z4bGmNG0#8u^s`mJT*lAmnVOnn%a$z^CY~f?%2-j1HCw{lGJvNXqx8Kh6^fUorl;Usx?&D|Nj-e5^&{>A0`e)}01an22t%#g!k##h# zt>+y}Rg_XSr3ls1X1RD-04ye(VQ>IiTLVs<4A{IeOIxcA5SMDf*B^QGDAj7P!v0qb zty;y%Qy+zJ9;Fn!Ui$`GyZZ>LRfdm@Qi>f8AO1Hw+PiqgE53<*u7%B;Ze!KpCbC`u zOFQIq&8%OyleKGi(Aw6+D_-#cO@$^79Q-2VGa+LqlTp9h@41i8fz=SsGxF3&S-ooY z!by9%VzI`dqvO@_`N|^z8`frUUCr}{stm1KQqi1mr~sa?58(1S6zi3&Ie@6eqt=>% z!{eyIcIaxVhrovboT^2PN!JCAadj5Q%3x<*%3hK8{M`>wt}XVr+}ggK|8LEE+0e3) zJJ;UHD>vUmcUv!A*={yBZ#}yrt1Rwc_Xe7KTPgRIQQgTZzVBT1E;h9-E=O4QOFa0G z-^W~T4l)p{bdu_HiW<9Cp9V-LLzH`4lK1lbD7DU9;~ap?_uGX+j9FHFE&?- zEb+|92whDD)^{aM`cq!^3r0~{9s<=0l{f{guKDCFi(23>IYu3=Y0{di((Fa?Rp4utdwMJ>pb|yAe%(4uskCsNUZMKf_`1rD{g7{2vpLu0mQ|}5D;6o98D(H` zFq2s!08021LWs+$0IH+{7%HV|j-|@3t>-;QlXESatr&l{h@H>l_4ESZne^M{Tlm^>}L4X zbkgjb^|*Sfso=9| z!$S4XPlL>o4*6VoI+LKGg1WG{v)|uDe0U7BLTyT_fFafsz?|c2+_FV%z>h*IL6s~a-f=(AIRY2Us&dZJ zBmCBzzllm1GE=EAU#&7o#xZbzy{BR;6C?k5C{|YHGssz6`Lrr-#m_0?&+$&@w+y!wi^H4aeI;aF+BZgb-)D zh(RDKR+vzOZ(F*OvGsh`waPiy%C&o%$zll;wvZbbpgb}{SSrO{=bD+Bsp0*f{oI!a z-ufTDwbSkGW&ZGC+S}V%J$;yyqq}il^=9JJGgy|wUDruCHb*>HJ^za}CJBpSjH@-c z=gF_O#vW{kC?-BUO18I+mf{m^XpdR5W({+5a}+u|iG#rW;UE0j{(Rr2Q*Kjt8Nlo5 zCDYc9KU<`OfELfjb1gha&p1gFa8)VQIIT(Ji8xvz!1REzcWhG}I#T82u+ObG=Xm~5 zjp>=t58(4(|Hk3Bbayo|FmQJGXlc$f5xkPpQ~!hfuAjnon%H&k8|mm@#gV5UXMTE$ z`DvKV7nmyT!BV@)I^M#{4cfBtL!Vj{QLDzxO-?R6cHg>9Y`pCicuma^&Qp5k*YWeO zp|kni6F;9Bon_Ddk=gP2%2xq4Z^+W#YV$9T%(8x6h_g5i-ZYrvvH*CY^YKCjP(j%w z`>zUQ{q-GGk4%$0Hi6pKkJ)z`rbo4*2@YDRxBk!lwQNr>xwrz8)dK4#r?$G<%&ij}SrWcxZ0siEjO_R&HZZg%5%<4U1#$p_0_H z`Q1%T+_7eeQ!}&74i9tF(!n3o4V6n%qYWab!BMjE5^JpO3-$vXX5T2er_lvbPIoBb|M8v_l*QV8NIqdcV@mz&)vIKEV^UO1> zT3z6#fsM@0&eGJ;K}TB~KmSX=Ha=}y_Oy1dpVUq!vh#TgLqiy&u#0naWFha`lIG0Y?6u36f@^4sGjpJ(fNsZuwQC|C+g;|Z-`vX0J3YSm)p=@| z$ERm2H$D2q@u7Qj8QR*;Ue%+sqm8-Q`|x+akG5^!1NpTKY}!W8+6|mO{5+=)>}76Z zjB2TP;Sb%-&@;4-)mwMb+?n?AD;;He?_Xe=?xVA%`JDGHSA4$m)q@;AGyBg5qRtMR zyKc{Oa@fbVt8Cx8B#_KD1eptsWTl~s8ZN73O#^)Z)m1HcPo6-n=|t@s#C+*_BCKaL z<_MpOn!<_f8djlSLkj~u0mPK8pDCE(%aU@)6-AkSPqei zl39mM@{(<3)0gXKwmi4++f&My`GGHeAG)fs3JN+E#!23#Nk{zxw9GpwqcEsvV)Sur z3w6gDs0M^b$Ee-b+qfTQ()WF_`wf#;>p8pmd4zLl%lZE$i1CjerFDLuZ|&^F%D89G(RYr2Ko-j5aZGUfH2&BaajBGC ze}Q;5>pGvGb)DmmZE^Ryb=bDeBgc-?GdE9m@pGPN*l)`R&PV_hLWoPR08*a|(AP>; z9ZMCnj-K&ctD}&$GM%1gwlt4vE>IX6qB=f?KQn8xZ3FX#!5v5c`eUDO`|-ZsTYEQe zwx-=pRBJwKnyT1)_cDBJ7;n`s?CcDqeM(yF8tRRtlaxM2Xu@+x4xFV=h-U^>89H|KwWna(evwur>dyHED zW7tlXRa!l$xs$vem zpRp-Tq4)Jq}B z3;e;cu>Tayo8-ja0l2j-T~toZk=uV7wS53{cpOen5n=t4P56V^nw9l!i*hzxT7j}a zHG!1_6De?$P>43fQG}yh(1!o^^m{P|+MG7FG;d`poZ_@Uf>MfF1YkoKYIO%ZbeKw)N3g23{%T9Wj9LtU{v`yN zm70O4fiV<4mVv=yiD!=-rnjky`!;XppPzY#$zrK;!t?%WW2OAPCh0P`MbIeeJr=4M)4IKAf~ zvbj9DwmvLBL|1&g)*QL+W-^5=wrk%%;$xrwjQ?AI_*aiKuf5}WuWRkBw(L0D z(@pEvZI}q0=}A@>ptIo8mUH}O&l&L?Yr?kmtX8V5bTSH9DdK+pyUX`$ren;=KjH?* zP)%DvJ7jWsTD$w`S+jw`P1{(#br-9*?PArIo%FBYOy|IA3a#x}jssBzbMnK?AN~Z> z!3H`8Za-^{;YPJu$nK|4^7TiKoS6;6j{s)trYx_0RTEF|sbET( zdX~Lm`TdqlhV%YSgR@nf5kfzlJ|G zjkYtftJJ0b5&HSh7H(J3C`@n8Q;$xcicfo zM+doFj!m03(c03&@BPVNR^RvgfBtx3=+^!D{w?E{lZ~9_CfauF#A#|K7#*kIuF==x z(w=u|$vJ288EZ6S>uF1?c}uB^QYui2_%?fOyyE^^8Un2}05$=3XNO{HI^ytA#mzf& zXstMMtVRT57Ro+zdS*y#&8orn6+bkk6!}62I=_*r$w|zaPvT5{28dBQ3ziEe0+j~3 zxCSPK>L_OV8*uFZP#S)O*=ig4o_i=Xcb;>!Z$11y^~^~=_r?8lr8xSt7^;1}4iCJc zmAUztJ^SXk>-Lb=#RkMtF!dAiJm;CqZiN7N*8WqAA*KL0aZ468TfsdvnGB-H*l=tT zgBnZzS}|*KH5=bfLLkdZTE;9bZ5cotopd%!mv)Y$m||_7QcxmPAwB^{ndH}CX?=Vl zxu{rS8d6QZWYadAR8%AM$6~DgWF6FNH>29~n19_%acwjH+J(<~1~{#f=FEDKsj)&6 z@Ja!2F%O+JlS^_ODp~g)vLBYhZwUCd0_g40AA7w5+{tVYtx&Z%F`T={$kz z?B{Ikv&Zs25oc8b&$C6qgl&IyUq1iOfEns&=Z#ypF;lDZ$iBU-nw+9*@yTb>KQ<=Q zKQ=C^|DOavA%q0LiwJ;8Hc(2{ivbGD7-bn_?AXv6MTR&GnJxOLd;zzmg|Jj4ES1ns zHgdd{N~u&XfAw>pwRWss)xKl}uYzMWbW^Tqx9=sI(Tq58O9MJ?TDkAx>*6Zc7uv>8 z9#!=w&7A8hvKhnE&qg#gx$M}QWnwa7ayle{115^I<70EHM#tvp>uJIBob!K>c9u-O zk4)1V?554wh0U1Uc1&(Nc40Gi(`GVFYslpLuOMhER8|g*_uw#-=IV(T~Y4Y5E;iOPeuQtp1%Z0J5|? zx6;@Q7lr2lc|YJ-ah`d{VOM`YZMhs{#d(Th7>>B^(@jz2=3}#J$!Z+xoFjG5VlJ`r zS5soP^m3V zm))>&eQw9*&3a&9fK{tjQ79D1<#Kd(cCu;HCi=TO@$j+A)3~)+%EJe7tJBP%IzYys zLl-CLZOO5!w~L!@x{3b&etLU*85$a*zrUZ3jt(r#;?Mu_W5Iv@uRnQktmf@*S$F55 zT=%+Z%k@Glo1uBrCYsi+Bdi3t(-W-nVtSfgItnf=o->@w*rQp;N}7JPs;FcIkVqvf ze4Q%*E&>uztH;z-5&}awWMWgDn<=k9c6>r96urI8 z=WVLJlAe0{BwzZ<0geyPoS6^8KaXItP_VfFHBD^U=<)DlB~V4~dyS!C$>q}xO}~wO zvCeryK1TptF$^|zL(2hfT*we>aGn`Kx95{VA;oGv1fBpjtT9{NNL!iEB32MsD-Whk zMx!RnhbWV7sHE>&`t$mAN~wh^V0~FM3^dK!bWCQ*CIdc-A=ZautOE<-@0A%o~z34jeb4OSkUn*lOepy2x)pPyq=Yj*VYv8t_|sd9C0dafyo+cL&I0;&^Lm zWdA^U{K%Sn@4RX4FZ}nPYTdbQo3<=#A>dT2Ri>w>DV0jpYBi!LB93FS*(|>AI(^RfKE)-!H%cUfsWwsRiM zn>JHevzDmhV@-@RkO>)Vb?GX&wCCNiCeJ?Qxz?y->1j);qE?iZTDk`CZT2|>OugyX zAsJbjBWb?u1l11=CDkm&Bag$LeOc~(RSQi8&1XM9$8-BCklcAFgL+3(KGQPL-^z|1 z18mvU`=T8XhYpYN%yYw>JT=8^vG!;M^H~EyTdU3M?rmb@x-5@8QKDFy=QZ~%S@LZH zIGF~(i=L0Ix#{1XZ~y6r{g($?O)?s|zW*G6?A}qDpP$Bh1K4pv#+=*jAfFqW5`e2G*3AT^ZXgq$q?)B3~CnJLft-u zx??RIpTvLa81vh^@Yi?L-)9*(4xCX-`>~yO?c}cyec?g@aHZp~1!xC)fI&>s99#yT z_dKlCt9kYM^|)H|$gyMW85yA(BrDXc@`E)S{n{IvVl!wpJoxfyU{(r)%L8D&={IzJ zbzIZm_x~tCT0uZUK6%c_r%9#?4+Ts5A8RYu~?JZ-|fKY#P&5xKk){iv~WtSRu zHI(Nt?GHLh@_C;MV87?mw^Z=v_JsB{ycN07-=LLHOP<+(d>6{DD)a4Ywtwsu1$~>RqM+7*cJbM%cqsm zDGvy;D0V6Xv~N*}wmiGzXZ+jZJo8Z!5Eb&SWlOR7a|D#@ZIDA${xkH8{h@cTKb)Rk z^MQNI&lC2zmXQyz<~X*WQJKz7r+PfNUeFhx{4p<>BOqvFcKDJpxMbTb zDe4oCeLAg^@)~}Qa3{;yy*MR*QO=wsyqUjm8aY3XjZ|NimhMJ1j`kmJVlcmX5Iosq z)^Py$D+0I3fSmC|&ufYQWJf?<%|Z6hD|+{Qs5b&yTY`EXOxHK?N=Wtqj;r^9?;V$4 zBEzb|boh;)^1r9Ec_q^*K^TX24N?-83ovS*#hx?7O!7!=Lsi;>ZpDKNU(}jnfBZ9> zsYQvP{&LdW?UP%tUR10UNxnV`Y1Y$TTtwnfU zq$HKZm`75_o1{xv)JBq=AGpnMqCmI`V@Q%5$all)D{=N((GT!L*;h#i6e?sH&g_`^ zxD6O}of*CN`4gDbVDU$+K>}yG3%gjGO#*ysk7|jeeJFiSl$Q=Z&*)h7Zgk+75aQYP zs-!s)(}U^H*_t`HB-<>Xc}}!D@MkmkRM1_*2owv&wE#o6|64Juwqpj8L|D!ni&gGn?=U=mKdwIUsSy%UDcIY)rt4-0rGn;G); zmztxmxvIDZlRF&EEhV3)Bqdcny#yyFrd|aEQrqZahiWR!_&c^H#z;yifZhQkC>-MG05O1neTktiQwb!2`2v%K6bCan$mKw&a z{#KG--oc3cHZwfMwEMedE5ORB;aw-^R&7xroS3>M4x&(18Kd|3z z>7=;MO#miuIF9^J(N@L_`7D5C#Pl#UW0rzDUR8@YYdV_NE7eg0?#%c%j|)pBB`{)B zwtoe`u!5!t@n{&PDG}V>>AaXoM=_kRd9z}j1TYyVi&|r3N=vFpv7h17i_|P{Ta$st z>GG$wMARarq{@(YccDExHglcp8^63Oz2;rEvptRcZT}Qj`W2PbIR~hAj(g)H8XMnI z7|H?np7Y)%s-t7t84x)CsZd+}I{9l9;ij<@$Ev_b>0(w$pn3j*S&*GE9jJS}W!5;c zuo+#^!ObrhQY&A#^pJP`84c(iLNRu8RJZ zSQZ@t!IqgKM$Zwzw4ETH)jawZ|DJO@qbvf0e_aNajL{#BW>*^R*Yrt60q@uJ<%Cvp zgt~^PM?|&0AwFBaTlo5%%G=E20!LmF>?h2Gj%sUqeC}_(;yyLh?vA~eFl)=LauFV@ z+*~mAnBw%*E_bFcj+7!585vo_elSRYk08x_IHa>u;vl9H{=+t=Fi1U)s>lH!C$+r6<83|C zzdPD!_9!JHhyqM~ONPF$R6E!tHY>K-OV zolnHAjRYCK2f})avvgmMhGTsD7!b)yKw7*wo=`*n!5XNKX}bMnVtx7G13TE*8f46h zIn5q=7Brhp9p;JN5n=?McE@^=fxq4;^Z30*;&sV} z7M@({U4W$#CCq)Wg^SZP6-YGDZD{zNI`rsi&!>#1=edfh5l(sBe5CTtae0BY3H_9% z!5%|wkTmLB1`sZN?>ZLrG+5Eb$pD7~v&Nwk%RQhkp>@N_0`4q&xWPuxpAy2~7gh4} z2TXXmUf>%CPRxn+YlV{7xW}U~l2q7j$5%}r-!TNC{opB>++ybD=`nzp<9wLD(hRf+J{u8{E!Y~rw z$f7|?Jg*(czfR#-xEoOW+K-E`9(DhfP*I;F$axs*83YcS3E4hk;Z35qFGQsdgWeg{W+z4Wp$3Q(&bxn0cC_rvJ!P(?#gg4 z=J_zbOA0QAhKjetVHsp#4l@Q>YI^46%+$4Z$c%QM3Lp(i)J5B&uU?|g{$zFhg?FTZ z&b8!$hC&UQcbcQdfU%%?o*sVZ+43Baf#7 zSD?&ApSNXr8_{VJbpoNJb|y(}>MW zdb?Zzk@o31F(QHG{h@L?g@rF{Hwvt|T4UDyGS79hbTA01X6&{ORB=rQ)UPFuJTsWJ5G&_yL8E{0i4pUQhx zf7(9Jy~f}6vN}^r6%!ZWc02Dt1h@5qnk6u&%SwjILeFfM&pl~{1UnPicuEENE9It! zEROF(H|>Yk9Y$>j+qfDbHRBgFuXv|;zVFVYv!!LQr1Gpk)-8FJZwQf${cF%!m2`E} zPsJ8ox7AsycjFj0Ft`3u8ZdZqj=IsmIu>J27e%_q^3Kg7x11uYAK6^+Y?<6zT$@LqH`kZ^Bav4ZXJ6JW*~#x?6Q63VKOT8uxTO18;2 zA>V7&Hy~nPEpWz;eSVJ7{T@q)D=DV5ewH^!G^Q|CKFMw(xn|IAZ|j3of}M%v`n>=A zZ%0#hok>HTBq=Z^IW9Pj0t6$sY(HIFz%Ml&Q7ZEt96UXJItzZwE8+ajE5ao!X>7wU z(~;BGk;yXfxwXHTwKrFRcKj!T^x3cV&sSM+u~Y-HR2AA(^&(aCziL3&JbRbF394n6 zjxUi_2fOsfyC`lr_%75r92%9dR(gvrA3VlDC?VYxLwFSh8#pU0y^83?2i;h(<0L}}j`B1!!45=fei?O5CH+e_rpmt%ia7_0m zQ{V2%u!E|O(Pg8mwL|Q5x&VmHYE0uJjl6YtR3PEaxH?X&TCrovyG$q zTDC3uxbqYc%SU28DUeWvOo}c#C%&5VPllIcYu&S?s4;<=?&1c@UK)tutj6(+CgT_u z%zzU2UJS^1%))S;$iDHW0hgv&dJjp6d3t0EDNGUVxyd-G^Pd!ovc?v z+N13USqy8*u2foEgj!;CM%$*Xr)!w_8*|-VBmouQaF7}-h;>^l1>Te#G`0jRCEhri z6RIqM3AWf$?2PmNy0tY@YBBU8n7yr?3-y4_S9pHgL_Wk|)kZKiWw$H>i!)L95fuvh zmTN#o<#qN`JQ4owq#-O%ANg`qo7v`I#lD2oUhyx^wuQ^R#;zi)GYUvk&C51`n&Y<~ zl%*vt^_2QVA7~uXO*NxE)J75U!>cNK?xl}XUA~EBeU(g$kie$S!R!!G^H-ThPp|6M ze#+0QZf%JU>vw}aJ{2ax7vKixShT{KLLC|e#wPW}U}l~r$UQy`b1T8ORm6q-1fgQ^ zw@;jz=88B&f;#mK^7iHHj`1glWNEi<)0Gp-S|S|H{0t6_9w(c?( zG48!SM5w6vseBZZCVXe?|5Y{C#{y6Pp$PZv>xcFsK@S^ z8-m2qy)5Q^y()$~qpHmQ=rWWZ*UDME+so?sDt(%) zr!X$!2ijq+9aa||0k@WUs-CrO>2-%ba>p16<3LK8Xn&Altg3KMoDmV4|s9VvTI`hAEVG9b7JjLaxSX!#V z-vFEKo2qCIn)2%Q?F-GkWL3Fzd;GCD`ohvgVv)Sgyuk=1-AYqzyf$1rEYTEd=VF$A zeacnCA>>KL_g>41^>#z&=Vm2|4ei@Lg59yaF+-HxaPUhx91cP42Rlc`1%+6;Jh92?lwJZyI_yVH2YK@=QUrFT0=CL86%3+G+d!q@zz>Qfww3+Tnal|4Fezq0-ZJgBw2m{TqSc zeLiS+jn`a*=U{`^V2$=*Bk)0caJH-Qy+AA^7loI>A8xCa&LusrIhMz;)WLHM;pSy zPg2@%{mlCXbZb&gxfFf+r_FcpI!b&Eu*z_fC&$N{BqjxPm8~k{c(e{MAD7f6{OI3U z?yp#K`Qgx99x2_i%O9PJb@Fxj!~tdX+qs_)D5SSPo`EJ zpBs31GqNY`i;Ms9?Aff9(4VGc*W2E8oIbv3)HLr*MUPXwo6vuxJ+$Ou1^$u3g4k|E`7VI+UB2*ywQ7HN$tGd{D8X9g*Rb+HYYq7|PjQ;8%;%%AIo)GaQ zF%7@BWpX`a^+~5N0gOE#NFuCU1vR(Jl0Y!zEv>X~oGN(cS!^s4T^;+2t#d4rZSWh> zVyyQphB$IP$ zG(OoA(>ETP9+#5dOh1d2{RicpKjy=kmkoP@DL4A;taVM3bH8aF8ULg-W~fYm88_6; zkN@C|%uz*-&U)^)_#(;~KXBXfnbVw=5&{TDrxF0=dcChyf0UXH0MCDYyH!v6%RX#; z%WDhu;qPgnR-S8N@B_Z=Kc6JkF!Dqd5N)PvLUAt(Yedzmss$s+oD5Q4=M(|3z*{a5 z#QP5IiqVEU``Jk2uOA?3H-Rme5>w^t(ru5zR96Fd6K6l(oAG$1TpV~Gi`S&tBzq?H zxZk*b8x4|m^yR4QhE-l9?H}{Z>IXS2o?@}_Z9H$HVr}P;ezszRv;*=STcLIqy3PBq z@d9OWfUuL!`l)dLW0FmLx}g%hKyW9Iv$ZrXkedD&)OSYZXj+-SZ?l=ZI*7}*zOVjk zlo$xSKkb7BpZ5hvyJ1Vc;|HE_cZ7Omnu3yPF8P{=uDjt5tpPG6N<+K8p2hvDOOPFps9nABl80*hO(6 znD4D&;MYZpV4HXLe@FWZ;p;+f3lTO3U1-jq@3jLUUn?j;dHN*S@=t% z|Lih=TF1^F)SH{*gSp&>op0%ASOcdXe7wH~y>C*2sB*3vZNQ!DDjo>IrOz6zFX9{crX_HI$n|Rrb*s{(_nYAse21m zj&N*%rYq|znIYWc;+;F#6J1Y+SMu;;%&LU@7xCKBDFpiKLHtm91TSKT7Wp@iI<@0X zn&vjFaewhsBL^_I3~JiD+fOw${7~*+`;P#kFn~<8j0b+0zq##t*Fxz#Hhx_+Q}J{y z)yVb5!uXHvcu6yUZ#eyJLqO4Vn_8al8J1|ub_T5pHwC9RVI~CZ~{*M^tjN)Q# zkT^U&^E#XdUm8P#LjfQHjyuf*D01mkNX07Y+LE>hPj|5M*e$Qww#>S6=j{P^hUx9+ znp$wR)hg(s>-?E(*PiYNiY4Uo4GNhmv~*l*dmAh?V2_k+w^{Xg_t!%@=tPT% zR)AaE+&&{sgM?iwIPp)tPBv+;6x4DgUP6q~Afrp|FRk3dhu0Kz0LC#o`i2~sO8(2OSSvb)uk6K z%(SvS?Aw{2 zwdOU_Y+l~LPvh?n3>P%!VwIVa=(F769-38GbK?6*TL6urDL=$cZF+W*5bmeW{YNdO zON{3yt@MH_=V@`T>hNoqz_T~KK|ao#Y2bb4sIYn1O&aa>5v|`-8oMq&5dlv-tBHg6 zThHh3x2>7-J^P6fgn004b!|8A(*`bxFZCbXZE(AW zF?&m=;eU^^%Jugr$`UGHju+oYhXmgdxLv7ty;sG8I!8D&)%lO^qhu`p?4f}ANeuXM zALtMlok4;JcatXCrx(%qBKSKfMbAFT7MtMiaGymLMSTN`?z&WSoN z?1Vb-<7=9%B@dXVT^4I z6LP;+6~(v(uLk+f;lpSphWG7qF(7XZ!!!YM^SHI&O|{?6fHPR|!TTd_$WhuBZ*+6r z7K4M!SGG}Rw+U^B<>@TZK$V2XLXNxZUWZ`Ri`DjnGM86^1PwTjyqCQF2{|#og~ajezzUcS24oZ+7d*CQyq9q@1`;Z1)Az5e(Iz@G6BZ=8FY#M%A(oO zX$M12PA>4k=S~3tE7?GzE(1E#@~*$oB8F!%g%9R|5N8N!e{Z_T1G@MZo#%(E0C0MM z9ue-@g4>ta2>-Yhh8bhkU?vkFsB6>7wE>4^F8Oe<`XO-MuarJ$1R zSK61va>OTBS~=7?x~Lu_rNEPTCR^DwXQ8^Q2U4BEkfyFX)xDe?@}S82JOp-#>D3u< zm>xaXnwj%q1|J7m^oN)mNl5R$&l^;s1mw4itt{s`D%fmb^T$C2RUnZUDrg``6G zb;OT!ig3$7%jg8~wue1LL&-vX^yHqf?b|whu%XWDH)Dg&#vvl+2SSbP zlL|GN7}9|ANRS{nSQCvQie4buzDRKM5Lyw`evsp%G2vG`x4YvuW>)GFzlt&zn>&#o zBFFvyA{;DxYw{R4;Y_LZ1oWRAw|Ld?lH&SZBU^cEN+Ox14)eR#F77U2896yWdfgwR zR($h`%q4LM6JmL!c>9Ptcf@BKoX9OGRz&u7suKN7&ns8mrA=Jp;CH7M`=}Rb!ngfs zx4XYNEX-fpCrW`GlH6_*#~6&Pt9$tFTs_dN@N+RL_HumZhS^=mtag3~QVAhMMj7Gm zXPJW5b#t^Brrccx!037fpMgAbFC5`j7P0iWFV1O1VtFIrSBSiml&T=BniV_y*~Fdg z6D-42Rb>y7i;fM~;4Qmgii#(>K4)dtqTJ%zlOx00Pt2sBY4upaJh44GvA=|}sBukf zn11lxI;;5+$6mfS`e=X`*WS@(;H2G47~y{A&z%;aeuqG;(pqR)M!eW<@O}8CRC>%R=sQvlu)q^-7ryNjwxD3nSt@{RlBa&I*?` zk0tgHcw46UuakD&u#Jp)N7n->=#Dty@zk=ZVTB)uxOL;kqdvv47XpL1aRj|*!j4gK z{Y2lw2V%3)b8}qU&=Sh9XWZuNSF*w6Wo1Q?jpyf0YU-*T*q1?9I!^!+Rc5mkB}0}-LO&k9&xv&!o!h+hTnm+B3^H}z&x zPSKx3O)bAPtb1UD75gB^{CRTp%QEY_sg;>C$#T-rU&n{H4?(ww{76w=1IA4oyQ<$- zJ;wXffW9$ZnVUlU(KQ!Fz|rJ;?6IH3?{ z?u5*RPv!VI=Mtja$YSb<`}zB_{_A>^W=bsMP|soHlUC0l(fF@iS&PZqPtM7*C4Dl* z^&2}x(*3J#c>u`j2WZh}n8_JiM%qZ=Rh$uS;BE~oTPs1mrPjGf)lyA76Ob?8bm0M4 z{S$co#Ul9n8}qE0Vb(_}qtI_ZbXknJ1@IQ!KOtuvCAg8IqWJfU>XBya_ykm9dVV~6 zLo9rn%+Lrm20-pfU;nx5Ba*%}vv+Y&%mNE4ZH1%JogrCB<994$UpmFv7?2*fl$kOP z+14o>EKc5(HO*s_W%}S%swZs{W1^)fg|p!L4V6Xs!hM=Nv^IIg>PW12-#-RT5bIZA zx*q1O-sW`pnw~%XZxHT(9zcypk;f)Y0Hh)3`SL_6Q2%tVpspisX32w@7PWUbNYuU~ zUgHvwe_WKvz0LY=xznAr#_Qzud(i`cHOCu5q%Yy{vDY!u_^FmY?J0S8f1gngD3+z5 z)z#It+bUoa-N00{ulHUqwcfrOXV|r`PPz>-<>^=N)YSOt*R<$`PivmL>{#Xf_2U;8{pSq)jJN5+w;o^5Bu1t6wgg6?-eKI(&G=7$uxr>MY z+a$Fa_!-W&zMF3c0)o8IY!*1X9lpPJ%|??Kdo8^Asic&s0Vfdlz<@Rdv|(Sq6NNA1BdM~sJ8elw#Lwc zVHbS-;%O?6X$G1b!y17E!J~<;)2wVM{ze8=cqoj@%!gaN(Y1YjU);52`(?@PJg+%V z*D-dU*tt++IICn0^q zxdWG;gw60IKPZZqnE@~4I)z&fM&XJjui-qB#sc)6PZZ{S;nF24l; z*U{xs(-CHVqo04XO2~*^Ud~#;?I|7ne4TUG-3`lV`K_(qDJJ-&kTrOVW+8Z63Ov}@UFMh}ugtDu5^h&vK*F8YY@-~-C2G0~MLjZtm8|(uqc^Sd8t3jH zPwG=+c{noC0(#xxblG`u)p${5)^?rwP-$@SIu6bZ3NM5pHRuK>7XRgC0yW1+~1 z$q%>WL+sBZ&DMNR@4-p_sdn#iz#ssxn+UbRJ@n`W&}-DrQVbsvB9075r~>};KchKn zCpFcC?%y}}w~fGu|5>nr7vZ0^{_#K48;Ab?_cPRKr6~Hh zXiBWfn)Z+}!*31!wcn}k4Ilc-I%BKYmI5MuaC`IpqE@>opEutB&?^Y-oD|=k10Tu< z@Gdkt2WrsX8CC}ky%ycR@6A033rhaxi-5Qt8g_LE;aA$~^Id6*?@faksxp|d7|bEp z#WBz6JZk>U&=?zy2OA&FC^Rc{O2*FLgmx@Dq6dT%%Jx?AAWN|a@d#mIPV|n#m$Z0r z;6KNN3nrAhn#MPX^12ayC!`T?v1-Yny1E;79TG5Jm4~4Q$v@OU3^AnqaJbU{w;-mi zpyCiy#1xc$e26n7>p>g4sI|93t4^p7As&#zy&m+>_j8;tr_$)Y~d)&(b zKMT`>phSfhhr9@Os5D63cxBZ@W8C5$azYIg*$`7}i2@{W zfJlzoHZdiP=5p(!Y35W@KmS$ zF+n@-r5Th?QR~>_ebha1R$hCw1RXmg)DU2Fx6TjCFzk&th5jv??-_20;Y29DcX;f2 ztZwur*Dh)oLpNJN|7PpTlBR{`8R`S-QqyE@BaN^g>&NFoi-jz(BJdTH-rsonIlOhE zFA)1lpei z^We1;UFHw@R&Is{L4y%b5h6Sp5!H_ev%$BxRaN2NpOY7w!4)+t7SP)htq%tw&HMy` z!Wgs+4v%l&U8l#jjt@wW6O;ZMW@P|*2iYNDjN(Dz=y1<32{d1{&vPH#KDZQnm-rpm zm+=&>Eu`(u1J}u-td`lgPH$f0*(q+Yc6~K>|pR4 zzC>L!x=RCx!vN{QU)0>;maVFwyGNHqTkAm#I}f{vJD?p0rEiXusM`}SAjH%3 zVc@3C$F5deL<7Ure~v^d_In0+M{~GjqnG#G;OQ!?S#~17{i7>-Fo8Z2opw_<(Pkx? zTIhZh%@*hgU}b3%m1ZI$%JQ(68iI!UVXpAn8t7R_#X=9i{OdOxn7dzk{ta4K-O0DXi`MlYlr_<%Zmndu`7LvYmTkhx2qm1-4YL<`L>m+j$xi^ z&2Zq2ur*hu-0)YtKA(CzYQ}pSq6bXKdOIY6e)u7j_#4M?)O}3IVg}hfQZDhxhwBN(~%$`I^cPmL08B zZiHwUPLLL{8Cav=7Z&3VUji~{OfAgqUiLWXk^wFC#*p7Ho&KAy;2QD$Gc==Q&G7!O zO&o_gXC1s7N&lMm`W0$aP3ovZk8ksY3-hS5lRr zA$#()J>(@s=Z6iRdwTtLWaup5b7G1o=WQa@LocMr9E$V2ybsL;dEPYu_^9jYCh@2=&npVpt3os#?Nh#$P29dk&jzk6Ya zU!y3S_lZD*^0t8IdHjn4mTn3;Qbzd(k$80wZ1H{)zgj!aN=z;PQ`?#;ciB@JQd$*R z8`w&&4HOUS1X67{oehoj4Zn?VAlAcVL+WJBB^w0suVtvhc*&UJf7i%UE7(_jDp;#o zWqF`|b3N5hfhFNZu$ctSFExfkoZy4v;e>>&vfx7J;nj&hpI6Z(xg5z=_# z1R=2L^5?4hMzUrbS(abYq1}Q|s!LJOt*6+yp2_>e zwzqTw3@*{S9ho`@TE&8f;l-z5jpX{q*BbRZ041|qcFv8=wplIt7>4FLz6agzgAr&c z`vuq@BO}hU)uE}WWZM=u5d4rcM;9$ElH5)Azhm@leb3{kiO}H)h)ewa835e#h0uA| z*%*u_9&XO!jdaCLbhT4heB;I0jsT@gFqiX`_I@h(Ym3NFdq*q2wXQtBSxJwY3;FZ= zcg@=?;D)M{+WBnb4}g0hCNBOo!K&c>m2Ki}XwAoaNw`8u6p|oS6CmUC=ga9;ojW!5 zkm)Y6h^jQ0+dHM?=!mo8Q=Gx^G$nJYP`{_db?<(txLcdeCF6WobXqX9uX`V4Y^9Pt zVoQE)H(dtSV+Xy~cy)g-Fv4fX@p>y5ml5+`5#^2>QbGs1F=B@_a&4WYMMxtV3Bh() zFCk+NPsSQkI~)D$>NOpAzNzm9^J;y5UV_>ZK$*npNNH1o_y;Qu%DaUKzxuH@t>>kv znZ}?m4oQ;TYhCVJTutaA#SQCINF?VevTm30=En5b;S2?bN+y$KMa{O`Zw@Y2JA6~p z@G$5na`!I75ZF|i{Zvu*ppfYtMgNAaogTH9QP+OKYa6YDdB0m&D+CCZIGIuSprD~m zR6yQ80u`+lr6@DuoEDs z(z?!|b`Iar2uNLOFnoc7o~$|BsLGV|!#z7ZJ8ih;XEz&1j1wQTh9;~0=+IGIRd9-n zxDS^>m#7Q+G=nO%5hZp%xEXuU&^Ye4*rFy>;yWIH>WS36aRKWPc%{_wZ-Lj_a*XK_eoegwr zD`MJ@FSXFS^+!L(kHT7KzWu%IZ0h_&^73Op^QIWr7=S zdweC43V9fqr`aM~p^HJ95vwe9u-uxlp2uuK@i+p_f}%+Ih;izNX3a<5BUv25eh#%) zIqgDOeJQfQnU3SWhb1%BR^1(`rh8>?yu4}|8yj1mm6I{|Jvo{$W7rC0LF~Efx8Kr) z;eI0qASqnz{XyzNydc3Q)bdvy0T-R3(FMk%Cu-&J>g5`|a2b$`fucN5d`)@!Z0)Dj zW+LBf+}#0xaNA$Xhu}E+cgu1m!e}#c`W_y5jV>e+KV+rVfOz0nzAVmrpO2`^RR~EG zw14S9i3fyO@T_EZzB|m-x{PtzKhW# zTgs^alK+$1WugZUgYQ+L21=k{Vvb?a&CT|dbOm<{+>BIyBxF3bfp}4@t@T->OF(N` znG>wrD<{Xy-NdK4tPOc}?e&u49Gw(599&Cd=LpM{l=fWM18$kx9~LjszIBSV$p`A} zeOr_K+f35D2+}|3@~(*JVoX&ZN*runI~IK#%^kGP9*D}jeaMX=eI>aw>){)}bdIkO zF|^oH7p{<-V>1w8OPI}46Fjzx_{7)b>atO@X*(;BY-ip6D>Ib3>t>k*^U>+~`Elz^ z2O<1o;)vdMkSYiMBw93MEsH_&(nq&vGv6+EUga9)G<67 zn7;ofpG?s!bbctYhm>~qF4)9go3y$9k+UF{X!SW*qLuPn>D_xe6J(}fw>jIl=rc0k zkcS(1cM`vP*-D0ZM`hO#Zphho){gDZ&Et<6 zA6*zN%5`Hd$IPThfef?+i4+^l0-&5SV|-pV0{Z)DKXbH16FB?R;Pc4%Q634tzFZ8g z;SoK*-Hb;oZ!G3wevEqMghMtd^T3cR?0=$z;DHRpQ`ez^XYOQO?Lw0)1-GZCr>b1H ztO>)LI3gpa!_C9v#QA1NB%X%LeX02xmsH6qS(gP;m(~I&eY@(P(cDabIn|T4Ct@v` zz=L1H-K%jTce_lIVBruW5?{?3<0j#aGf;!mL*W8oC-;wMM)u$=G)_F4%4CUlH>Oe+ z<`_wfCv^)n{ipf$dXa(}bSrfUPHuiMMnWAMGHISY_3Jx5J#9|It13J6A&hrfZ6!>F{3ggBIjJR>kYaaccBpNjsax|Or~v1! zS;+DI_U79XQU+AVOGUW!y>Jo33sG`1+KRA+4;6!?E_Uke^Z?%++k=4`1$&K^#WyHlgcZz2eY5Pyw}Wn zy@){?AC*{<;aq2h$^I|D*(�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 YtQCG_bZUnHKLZeWy85}Sb4q9e0ENfp+5i9m literal 189677 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

r!WTTO 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 Date: Thu, 25 Apr 2013 12:35:04 +0530 Subject: [PATCH 049/283] CLOUDSTACK-1573 listNics response update for not showing vlan to normal user --- server/src/com/cloud/api/ApiResponseHelper.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 894ec8d0e97..c1814955b31 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -3659,7 +3659,10 @@ public class ApiResponseHelper implements ResponseGenerator { public NicResponse createNicResponse(Nic result) { NicResponse response = new NicResponse(); + NetworkVO network = _entityMgr.findById(NetworkVO.class, result.getNetworkId()); + response.setId(result.getUuid()); + response.setNetworkid(network.getUuid()); response.setIpaddress(result.getIp4Address()); if (result.getSecondaryIp()) { @@ -3676,19 +3679,12 @@ public class ApiResponseHelper implements ResponseGenerator { } } - response.setGateway(result.getGateway()); - response.setId(result.getUuid()); response.setGateway(result.getGateway()); response.setNetmask(result.getNetmask()); response.setMacAddress(result.getMacAddress()); - if (result.getBroadcastUri() != null) { - response.setBroadcastUri(result.getBroadcastUri().toString()); - } - if (result.getIsolationUri() != null) { - response.setIsolationUri(result.getIsolationUri().toString()); - } + if (result.getIp6Address() != null) { - response.setId(result.getIp6Address()); + response.setIp6Address(result.getIp6Address()); } response.setIsDefault(result.isDefaultNic()); From d5c3f87903ffa4362c9dc9688c199c10700c0ccb Mon Sep 17 00:00:00 2001 From: Jayapal Date: Mon, 22 Apr 2013 14:06:12 +0530 Subject: [PATCH 050/283] CLOUDSTACK-1741 Added ip uuid into the AddIptoVmNicCmd response Signed-off-by: Abhinandan Prateek --- api/src/com/cloud/network/NetworkService.java | 2 +- .../cloudstack/api/ResponseGenerator.java | 4 ++-- .../api/command/user/vm/AddIpToVmNicCmd.java | 9 ++++++--- .../api/command/test/AddIpToVmNicTest.java | 6 ++++-- .../src/com/cloud/api/ApiResponseHelper.java | 18 ++++++------------ .../com/cloud/network/NetworkServiceImpl.java | 17 ++++++++++++++--- .../cloud/network/MockNetworkManagerImpl.java | 2 +- .../com/cloud/vpc/MockNetworkManagerImpl.java | 2 +- 8 files changed, 35 insertions(+), 25 deletions(-) diff --git a/api/src/com/cloud/network/NetworkService.java b/api/src/com/cloud/network/NetworkService.java index 5a6054da23b..6c9bebc1c15 100755 --- a/api/src/com/cloud/network/NetworkService.java +++ b/api/src/com/cloud/network/NetworkService.java @@ -158,7 +158,7 @@ public interface NetworkService { throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException; /* Requests an IP address for the guest nic */ - String allocateSecondaryGuestIP(Account account, long zoneId, Long nicId, + NicSecondaryIp allocateSecondaryGuestIP(Account account, long zoneId, Long nicId, Long networkId, String ipaddress) throws InsufficientAddressCapacityException; boolean releaseSecondaryIpFromNic(long ipAddressId); diff --git a/api/src/org/apache/cloudstack/api/ResponseGenerator.java b/api/src/org/apache/cloudstack/api/ResponseGenerator.java index a3aa9de0e3e..cbf8bb27b90 100644 --- a/api/src/org/apache/cloudstack/api/ResponseGenerator.java +++ b/api/src/org/apache/cloudstack/api/ResponseGenerator.java @@ -20,6 +20,7 @@ import java.text.DecimalFormat; import java.util.EnumSet; import java.util.List; +import com.cloud.vm.NicSecondaryIp; import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; import org.apache.cloudstack.api.ApiConstants.HostDetails; @@ -389,8 +390,7 @@ public interface ResponseGenerator { TrafficMonitorResponse createTrafficMonitorResponse(Host trafficMonitor); VMSnapshotResponse createVMSnapshotResponse(VMSnapshot vmSnapshot); - NicSecondaryIpResponse createSecondaryIPToNicResponse(String ip, - Long nicId, Long networkId); + NicSecondaryIpResponse createSecondaryIPToNicResponse(NicSecondaryIp result); public NicResponse createNicResponse(Nic result); AffinityGroupResponse createAffinityGroupResponse(AffinityGroup group); diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java index df6b3999dba..ae5482b22de 100644 --- a/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java @@ -16,6 +16,7 @@ // under the License. package org.apache.cloudstack.api.command.user.vm; +import com.cloud.vm.NicSecondaryIp; import org.apache.log4j.Logger; import org.apache.cloudstack.api.APICommand; @@ -146,6 +147,7 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd { UserContext.current().setEventDetails("Nic Id: " + getNicId() ); String ip; + NicSecondaryIp result; String secondaryIp = null; if ((ip = getIpaddress()) != null) { if (!NetUtils.isValidIp(ip)) { @@ -154,12 +156,13 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd { } try { - secondaryIp = _networkService.allocateSecondaryGuestIP(_accountService.getAccount(getEntityOwnerId()), getZoneId(), getNicId(), getNetworkId(), getIpaddress()); + result = _networkService.allocateSecondaryGuestIP(_accountService.getAccount(getEntityOwnerId()), getZoneId(), getNicId(), getNetworkId(), getIpaddress()); } catch (InsufficientAddressCapacityException e) { throw new InvalidParameterValueException("Allocating guest ip for nic failed"); } - if (secondaryIp != null) { + if (result != null) { + secondaryIp = result.getIp4Address(); if (getNetworkType() == NetworkType.Basic) { // add security group rules for the secondary ip addresses boolean success = false; @@ -171,7 +174,7 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd { s_logger.info("Associated ip address to NIC : " + secondaryIp); NicSecondaryIpResponse response = new NicSecondaryIpResponse(); - response = _responseGenerator.createSecondaryIPToNicResponse(secondaryIp, getNicId(), getNetworkId()); + response = _responseGenerator.createSecondaryIPToNicResponse(result); response.setResponseName(getCommandName()); this.setResponseObject(response); } else { diff --git a/api/test/org/apache/cloudstack/api/command/test/AddIpToVmNicTest.java b/api/test/org/apache/cloudstack/api/command/test/AddIpToVmNicTest.java index 106589d10cc..e5015cb3cac 100644 --- a/api/test/org/apache/cloudstack/api/command/test/AddIpToVmNicTest.java +++ b/api/test/org/apache/cloudstack/api/command/test/AddIpToVmNicTest.java @@ -16,6 +16,7 @@ // under the License. package org.apache.cloudstack.api.command.test; +import com.cloud.vm.NicSecondaryIp; import junit.framework.Assert; import junit.framework.TestCase; @@ -64,15 +65,16 @@ public class AddIpToVmNicTest extends TestCase { NetworkService networkService = Mockito.mock(NetworkService.class); AddIpToVmNicCmd ipTonicCmd = Mockito.mock(AddIpToVmNicCmd.class); + NicSecondaryIp secIp = Mockito.mock(NicSecondaryIp.class); Mockito.when( - networkService.allocateSecondaryGuestIP(Mockito.any(Account.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyString())).thenReturn("10.1.1.2"); + networkService.allocateSecondaryGuestIP(Mockito.any(Account.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyString())).thenReturn(secIp); ipTonicCmd._networkService = networkService; responseGenerator = Mockito.mock(ResponseGenerator.class); NicSecondaryIpResponse ipres = Mockito.mock(NicSecondaryIpResponse.class); - Mockito.when(responseGenerator.createSecondaryIPToNicResponse(Mockito.anyString(), Mockito.anyLong(), Mockito.anyLong())).thenReturn(ipres); + Mockito.when(responseGenerator.createSecondaryIPToNicResponse(secIp)).thenReturn(ipres); ipTonicCmd._responseGenerator = responseGenerator; ipTonicCmd.execute(); diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index c1814955b31..6090ff06d7c 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -34,6 +34,7 @@ import java.util.TimeZone; import javax.inject.Inject; +import com.cloud.vm.*; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.ControlledEntity.ACLType; import org.apache.cloudstack.api.ApiConstants.HostDetails; @@ -264,13 +265,6 @@ import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; import com.cloud.utils.StringUtils; import com.cloud.utils.net.NetUtils; -import com.cloud.vm.ConsoleProxyVO; -import com.cloud.vm.InstanceGroup; -import com.cloud.vm.Nic; -import com.cloud.vm.NicProfile; -import com.cloud.vm.NicVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.Type; import com.cloud.vm.dao.NicSecondaryIpVO; import com.cloud.vm.snapshot.VMSnapshot; @@ -288,7 +282,6 @@ import org.apache.cloudstack.region.Region; import org.apache.cloudstack.usage.Usage; import org.apache.cloudstack.usage.UsageService; import org.apache.cloudstack.usage.UsageTypes; -import com.cloud.vm.VmStats; import com.cloud.vm.dao.UserVmData; import com.cloud.vm.dao.UserVmData.NicData; import com.cloud.vm.dao.UserVmData.SecurityGroupData; @@ -3646,11 +3639,12 @@ public class ApiResponseHelper implements ResponseGenerator { return response; } - public NicSecondaryIpResponse createSecondaryIPToNicResponse(String ipAddr, Long nicId, Long networkId) { + public NicSecondaryIpResponse createSecondaryIPToNicResponse(NicSecondaryIp result) { NicSecondaryIpResponse response = new NicSecondaryIpResponse(); - NicVO nic = _entityMgr.findById(NicVO.class, nicId); - NetworkVO network = _entityMgr.findById(NetworkVO.class, networkId); - response.setIpAddr(ipAddr); + NicVO nic = _entityMgr.findById(NicVO.class, result.getNicId()); + NetworkVO network = _entityMgr.findById(NetworkVO.class, result.getNetworkId()); + response.setId(result.getUuid()); + response.setIpAddr(result.getIp4Address()); response.setNicId(nic.getUuid()); response.setNwId(network.getUuid()); response.setObjectName("nicsecondaryip"); diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 7653a0816f0..7bc2e5486ed 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -483,7 +483,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { } - public String allocateSecondaryGuestIP (Account ipOwner, long zoneId, Long nicId, Long networkId, String requestedIp) throws InsufficientAddressCapacityException { + public NicSecondaryIp allocateSecondaryGuestIP (Account ipOwner, long zoneId, Long nicId, Long networkId, String requestedIp) throws InsufficientAddressCapacityException { Long accountId = null; Long domainId = null; @@ -565,6 +565,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { return null; } + NicSecondaryIpVO secondaryIpVO; if (ipaddr != null) { // we got the ip addr so up the nics table and secodary ip Transaction txn = Transaction.currentTxn(); @@ -580,11 +581,13 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { s_logger.debug("Setting nic_secondary_ip table ..."); vmId = nicVO.getInstanceId(); - NicSecondaryIpVO secondaryIpVO = new NicSecondaryIpVO(nicId, ipaddr, vmId, accountId, domainId, networkId); + secondaryIpVO = new NicSecondaryIpVO(nicId, ipaddr, vmId, accountId, domainId, networkId); _nicSecondaryIpDao.persist(secondaryIpVO); txn.commit(); + return getNicSecondaryIp(secondaryIpVO.getId()); + } else { + return null; } - return ipaddr; } @DB @@ -676,6 +679,14 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { return true; } + NicSecondaryIp getNicSecondaryIp (long id) { + NicSecondaryIp nicSecIp = _nicSecondaryIpDao.findById(id); + if (nicSecIp == null) { + return null; + } + return nicSecIp; + } + @Override @DB @ActionEvent(eventType = EventTypes.EVENT_NET_IP_RELEASE, eventDescription = "disassociating Ip", async = true) diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java index 6a0263ee334..e9987bd1b66 100755 --- a/server/test/com/cloud/network/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java @@ -835,7 +835,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkManage } @Override - public String allocateSecondaryGuestIP(Account account, long zoneId, + public NicSecondaryIp allocateSecondaryGuestIP(Account account, long zoneId, Long nicId, Long networkId, String ipaddress) { // TODO Auto-generated method stub return null; diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java index bfcccf54bf0..9b18358e258 100644 --- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java @@ -1316,7 +1316,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkManage } @Override - public String allocateSecondaryGuestIP(Account account, long zoneId, + public NicSecondaryIp allocateSecondaryGuestIP(Account account, long zoneId, Long nicId, Long networkId, String ipaddress) { // TODO Auto-generated method stub return null; From 0e2ffe72aa641f4551cae63fbc36454c5934342f Mon Sep 17 00:00:00 2001 From: Milamber Date: Thu, 25 Apr 2013 10:01:29 +0000 Subject: [PATCH 051/283] add lang key for Catalan, German, Italian, Norwegian. (from 4.1 branch) --- client/WEB-INF/classes/resources/messages.properties | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index fbc04713fb7..0e051f1dd8e 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -624,11 +624,15 @@ label.key=Key label.kvm.traffic.label=KVM traffic label label.label=Label label.lang.brportugese=Brazilian Portugese +label.lang.catalan=Catalan label.lang.chinese=Chinese (Simplified) label.lang.english=English label.lang.french=French +label.lang.german=German +label.lang.italian=Italian label.lang.japanese=Japanese label.lang.korean=Korean +label.lang.norwegian=Norwegian label.lang.russian=Russian label.lang.spanish=Spanish label.last.disconnected=Last Disconnected From cfc0633ec7fcf8ded42c0652b541cd493a9168db Mon Sep 17 00:00:00 2001 From: Milamber Date: Thu, 25 Apr 2013 12:27:21 +0000 Subject: [PATCH 052/283] Fix a issue with the russian Web UI (one key with a '\n' as value) --- client/WEB-INF/classes/resources/messages_ru_RU.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties index b0ffe406ba8..b28f6b69e6f 100644 --- a/client/WEB-INF/classes/resources/messages_ru_RU.properties +++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties @@ -1052,7 +1052,7 @@ message.acquire.public.ip=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442 message.action.cancel.maintenance.mode=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f. message.action.cancel.maintenance=\u0423\u0437\u0435\u043b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u044b\u0448\u0435\u043b \u0438\u0437 \u0440\u0435\u0436\u0438\u043c\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f. \u042d\u0442\u043b\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0434\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442. message.action.change.service.warning.for.instance=\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0432\u0430\u0448\u0430 \u043c\u0430\u0448\u0438\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430. -message.action.change.service.warning.for.router=\n +message.action.change.service.warning.for.router=\u0414\u043b\u044f \u0440\u043e\u0443\u0442\u0435\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0432\u0430\u0448\u0430 \u043c\u0430\u0448\u0438\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430. message.action.delete.cluster=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. message.action.delete.disk.offering=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441. message.action.delete.domain=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u043e\u043c\u0435\u043d. From 6bc0b70f38db07e80fd6af4f4b75c17c871b7cd9 Mon Sep 17 00:00:00 2001 From: Pranav Saxena Date: Thu, 25 Apr 2013 19:40:44 +0530 Subject: [PATCH 053/283] CLOUDSTACK-2186:migrateVolume API gets undefined storageid --- ui/scripts/storage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/scripts/storage.js b/ui/scripts/storage.js index cf4076945ac..9b66083d4e6 100644 --- a/ui/scripts/storage.js +++ b/ui/scripts/storage.js @@ -1056,7 +1056,7 @@ }, action: function(args) { $.ajax({ - url: createURL("migrateVolume&storageid=" + args.data.storagePool + "&volumeid=" + args.context.volumes[0].id), + url: createURL("migrateVolume&storageid=" + args.data.storageId + "&volumeid=" + args.context.volumes[0].id), dataType: "json", async: true, success: function(json) { From 099677a1244cd55fb98d3c40ee7881223dd9ac7c Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Thu, 25 Apr 2013 15:14:34 +0100 Subject: [PATCH 054/283] CLOUDSTACK-2172: adding database upgrade to 4.1.0 in PremiumDatabaseUpgradeChecker Add migration to 4.1.0 in the PremiumDatabaseUpgradeChecker, like in the DatabaseUpgradeChecker. I opened the ticket CS 2172, and this fix corrects the issue. Regards. Signed-off-by: Chip Childers --- .../PremiumDatabaseUpgradeChecker.java | 73 +++++++++++-------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java b/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java index 14a81439670..bad32536955 100755 --- a/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java +++ b/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java @@ -40,6 +40,7 @@ import com.cloud.upgrade.dao.Upgrade229to2210; import com.cloud.upgrade.dao.Upgrade301to302; import com.cloud.upgrade.dao.Upgrade302to40; import com.cloud.upgrade.dao.Upgrade30to301; +import com.cloud.upgrade.dao.Upgrade40to41; import com.cloud.upgrade.dao.UpgradeSnapshot217to224; import com.cloud.upgrade.dao.UpgradeSnapshot223to224; import com.cloud.upgrade.dao.VersionDaoImpl; @@ -53,87 +54,95 @@ public class PremiumDatabaseUpgradeChecker extends DatabaseUpgradeChecker { new Upgrade221to222Premium(), new UpgradeSnapshot217to224(), new Upgrade222to224Premium(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), - new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.1.8", new DbUpgrade[] { new Upgrade218to22Premium(), new Upgrade221to222Premium(), new UpgradeSnapshot217to224(), new Upgrade222to224Premium(), new Upgrade218to224DomainVlans(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), - new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213() - , new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), - new Upgrade302to40() }); + new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.1.9", new DbUpgrade[] { new Upgrade218to22Premium(), new Upgrade221to222Premium(), new UpgradeSnapshot217to224(), new Upgrade222to224Premium(), new Upgrade218to224DomainVlans(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), - new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), - new Upgrade302to40() }); + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.1", new DbUpgrade[] { new Upgrade221to222Premium(), new Upgrade222to224Premium(), new UpgradeSnapshot223to224(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), - new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.2", new DbUpgrade[] { new Upgrade222to224Premium(), new UpgradeSnapshot223to224(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), - new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), - new Upgrade302to40() }); + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.3", new DbUpgrade[] { new Upgrade222to224Premium(), new UpgradeSnapshot223to224(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), - new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.4", new DbUpgrade[] { new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), - new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.5", new DbUpgrade[] { new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), - new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.6", new DbUpgrade[] { new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), - new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.7", new DbUpgrade[] { new Upgrade227to228Premium(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), - new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.8", new DbUpgrade[] { new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), new Upgrade2213to2214(), - new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.9", new DbUpgrade[] { new Upgrade229to2210(), new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), - new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.10", new DbUpgrade[] { new Upgrade2210to2211(), new Upgrade2211to2212Premium(), new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.11", new DbUpgrade[] { new Upgrade2211to2212Premium(), new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), - new Upgrade302to40() }); + new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.12", new DbUpgrade[] { new Upgrade2212to2213(), new Upgrade2213to2214(), new Upgrade2214to30(), - new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); + new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); - _upgradeMap.put("2.2.13", new DbUpgrade[] { new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), - new Upgrade301to302(), new Upgrade302to40() }); + _upgradeMap.put("2.2.13", new DbUpgrade[] { new Upgrade2213to2214(), new Upgrade2214to30(), new Upgrade30to301(), + new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); _upgradeMap.put("2.2.14", new DbUpgrade[] { new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), - new Upgrade302to40() }); + new Upgrade302to40(), new Upgrade40to41() }); - _upgradeMap.put("3.0.0", new DbUpgrade[] { new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40() }); - - _upgradeMap.put("3.0.1", new DbUpgrade[] { new Upgrade301to302(), new Upgrade302to40() }); - - _upgradeMap.put("3.0.2", new DbUpgrade[] { new Upgrade302to40() }); - } + _upgradeMap.put("3.0.0", new DbUpgrade[] { new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); + + _upgradeMap.put("3.0.1", new DbUpgrade[] { new Upgrade301to302(), new Upgrade302to40(), new Upgrade40to41() }); + + _upgradeMap.put("3.0.2", new DbUpgrade[] { new Upgrade302to40(), new Upgrade40to41() }); + + _upgradeMap.put("4.0.0", new DbUpgrade[] { new Upgrade40to41() }); + + _upgradeMap.put("4.0.1", new DbUpgrade[] { new Upgrade40to41() }); + + _upgradeMap.put("4.0.2", new DbUpgrade[] { new Upgrade40to41() }); } } From ee02311fae2b8991ed1dc13e58d8dbe627262a8d Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 09:51:40 -0700 Subject: [PATCH 055/283] CLOUDSTACK-2120: mixed zone management - (1) extend listHosts API to to take in zonetype. (2) UI: populate Hosts/SecondaryStorages list page with ones whose zonetype matches selected option in zone type dropdown on top menu. --- .../api/command/admin/host/ListHostsCmd.java | 7 +++++ .../com/cloud/api/query/QueryManagerImpl.java | 5 ++++ ui/scripts/system.js | 27 +++++++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java b/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java index 5ec7cf3e10b..69c69802bfe 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java @@ -75,6 +75,9 @@ public class ListHostsCmd extends BaseListCmd { description="the Zone ID for the host") private Long zoneId; + @Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to") + private String zoneType; + @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType = UserVmResponse.class, required=false, description="lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM") private Long virtualMachineId; @@ -124,6 +127,10 @@ public class ListHostsCmd extends BaseListCmd { return zoneId; } + public String getZoneType() { + return zoneType; + } + public Long getVirtualMachineId() { return virtualMachineId; } diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 6690b24ca69..f92b4fce664 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -1400,6 +1400,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { public Pair, Integer> searchForServersInternal(ListHostsCmd cmd) { Long zoneId = _accountMgr.checkAccessAndSpecifyAuthority(UserContext.current().getCaller(), cmd.getZoneId()); + String zoneType = cmd.getZoneType(); Object name = cmd.getHostName(); Object type = cmd.getType(); Object state = cmd.getState(); @@ -1421,6 +1422,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { sb.and("type", sb.entity().getType(), SearchCriteria.Op.LIKE); sb.and("status", sb.entity().getStatus(), SearchCriteria.Op.EQ); sb.and("dataCenterId", sb.entity().getZoneId(), SearchCriteria.Op.EQ); + sb.and("dataCenterType", sb.entity().getZoneType(), SearchCriteria.Op.EQ); sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ); sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ); sb.and("resourceState", sb.entity().getResourceState(), SearchCriteria.Op.EQ); @@ -1465,6 +1467,9 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { if (zoneId != null) { sc.setParameters("dataCenterId", zoneId); } + if (zoneType != null) { + sc.setParameters("dataCenterType", zoneType); + } if (pod != null) { sc.setParameters("podId", pod); } diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8f07ee46251..3aaa830c367 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -5534,9 +5534,16 @@ var searchByArgs = args.filterBy.search.value.length ? '&name=' + args.filterBy.search.value : ''; + var data = { page: args.page, pageSize: pageSize, type: 'routing', listAll: true }; + if(args.context.zoneType != null && args.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data, { + zonetype: args.context.zoneType + }); + } + $.ajax({ url: createURL('listHosts' + searchByArgs), - data: { page: args.page, pageSize: pageSize, type: 'routing', listAll: true }, + data: data, success: function (json) { args.response.success({ data: json.listhostsresponse.host }); }, @@ -5628,9 +5635,16 @@ var searchByArgs = args.filterBy.search.value.length ? '&name=' + args.filterBy.search.value : ''; + var data = { type: 'SecondaryStorage', page: args.page, pageSize: pageSize, listAll: true }; + if(args.context.zoneType != null && args.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data, { + zonetype: args.context.zoneType + }); + } + $.ajax({ url: createURL('listHosts' + searchByArgs), - data: { type: 'SecondaryStorage', page: args.page, pageSize: pageSize, listAll: true }, + data: data, success: function (json) { args.response.success({ data: json.listhostsresponse.host }); }, @@ -8909,6 +8923,10 @@ array1.push("&hostid=" + args.context.instances[0].hostid); } + if(args.context.zoneType != null && args.context.zoneType.length > 0) { //Basic type or Advanced type + array1.push("&zonetype=" + args.context.zoneType); + } + $.ajax({ url: createURL("listHosts&type=Routing" + array1.join("") + "&page=" + args.page + "&pagesize=" + pageSize), dataType: "json", @@ -10515,6 +10533,11 @@ } } array1.push("&zoneid=" + args.context.zones[0].id); + + if(args.context.zoneType != null && args.context.zoneType.length > 0) { //Basic type or Advanced type + array1.push("&zonetype=" + args.context.zoneType); + } + $.ajax({ url: createURL("listHosts&type=SecondaryStorage&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), dataType: "json", From b5979ba9b58caf0f306907e11c9a34fe36ff6ca6 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 10:40:08 -0700 Subject: [PATCH 056/283] LOUDSTACK-2120: mixed zone management - (1) extend listZones API to to take in networktype. (2) UI: populate Zones list page with ones whose networktype matches selected option in zone type dropdown on top menu. (3) UI: count total number of zones based on selected option in zone type dropdown on top menu. --- .../api/command/user/zone/ListZonesByCmd.java | 7 +++++++ .../com/cloud/api/query/QueryManagerImpl.java | 4 ++++ ui/scripts/system.js | 17 ++++++++++++++--- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java b/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java index bbfb598b1db..d0dc736f1a6 100644 --- a/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java @@ -56,6 +56,9 @@ public class ListZonesByCmd extends BaseListCmd { @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the zone") private String name; + @Parameter(name=ApiConstants.NETWORK_TYPE, type=CommandType.STRING, description="the network type of the zone") + private String networkType; + @Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the zones") private Boolean showCapacities; @@ -79,6 +82,10 @@ public class ListZonesByCmd extends BaseListCmd { return name; } + public String getNetworkType(){ + return networkType; + } + public Boolean getShowCapacities() { return showCapacities; } diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index f92b4fce664..67af7e4b684 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -2213,10 +2213,14 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { Long id = cmd.getId(); String keyword = cmd.getKeyword(); String name = cmd.getName(); + String networkType = cmd.getNetworkType(); Filter searchFilter = new Filter(DataCenterJoinVO.class, null, false, cmd.getStartIndex(), cmd.getPageSizeVal()); SearchCriteria sc = _dcJoinDao.createSearchCriteria(); + if(networkType != null) + sc.addAnd("networkType", SearchCriteria.Op.EQ, networkType); + if (id != null) { sc.addAnd("id", SearchCriteria.Op.EQ, id); } else if (name != null) { diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 3aaa830c367..4692b61ad88 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -184,9 +184,16 @@ dashboard: { dataProvider: function(args) { var dataFns = { - zoneCount: function(data) { + zoneCount: function(data) { + var data = {}; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data, { + networktype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listZones'), + data: data, success: function(json) { dataFns.podCount($.extend(data, { zoneCount: json.listzonesresponse.count ? @@ -4665,6 +4672,10 @@ } } + if(args.context.zoneType != null && args.context.zoneType.length > 0) { //Basic type or Advanced type + array1.push("&networktype=" + args.context.zoneType); + } + $.ajax({ url: createURL("listZones&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), dataType: "json", @@ -5000,8 +5011,8 @@ localstorageenabled: { label: 'label.local.storage.enabled', isBoolean: true, - isEditable: true, - converter:cloudStack.converters.toBooleanText + isEditable: true, + converter:cloudStack.converters.toBooleanText } } ], From e8b6c7b33da77fadef337168f43074802c1bf4d2 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 11:11:55 -0700 Subject: [PATCH 057/283] CLOUDSTACK-2120: mixed zone management - UI: count total number of hosts based on selected option in zone type dropdown on top menu. --- ui/scripts/system.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 4692b61ad88..312d5f4906e 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -246,13 +246,19 @@ }, hostCount: function(data) { + var data2= { + type: 'routing', + page: 1, + pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listHosts'), - data: { - type: 'routing', - page: 1, - pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. - }, + data: data2, success: function(json) { dataFns.primaryStorageCount($.extend(data, { hostCount: json.listhostsresponse.count ? From 6802b9dac6c743ac2bf10e91418c0ef94ccb5f05 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Thu, 25 Apr 2013 11:23:31 -0700 Subject: [PATCH 058/283] Add icon for affinity groups section --- ui/css/cloudstack3.css | 4 ++++ ui/images/icons.png | Bin 50745 -> 50708 bytes 2 files changed, 4 insertions(+) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 340b089c4e6..7ff7469ab67 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -2479,6 +2479,10 @@ div.detail-group.actions td { background-position: -73px -23px; } +#navigation ul li.affinityGroups span.icon { + background-position: -73px -87px; +} + #navigation ul li.storage span.icon { background-position: -127px -23px; } diff --git a/ui/images/icons.png b/ui/images/icons.png index ea1a39cdf7f0a934d4041265470b4b0ade4a2b41..f07ca838ee4647cb5d233216a336fe1f9a63eaaf 100644 GIT binary patch literal 50708 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 literal 50745 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 a5MZ*=4=<_q#ybG~d7$=4wOZNY)&BtW=dJJn From e6d9e8121308e6d055ccb6fcb5429849a8b729dd Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Thu, 25 Apr 2013 12:23:39 -0700 Subject: [PATCH 059/283] Better styling for multi-detail panels --- ui/css/cloudstack3.css | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 9847ae9dfeb..9041bd7461e 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -1699,6 +1699,8 @@ div.list-view td.state.off span { max-height: 407px; overflow: auto; overflow-x: hidden; + width: 100%; + /*[empty]padding:;*/ margin-right: 12px; } @@ -1786,6 +1788,12 @@ div.list-view td.state.off span { width: 100%; } +.detail-view .details.group-multiple .main-groups { + overflow: visible; + width: 98%; + margin-bottom: 35px; +} + /*List-view: subselect dropdown*/ .list-view .subselect { width: 116px; @@ -2020,15 +2028,17 @@ div.detail-group.actions td { margin: -15px 0 -5px; } -.details.group-multiple div.detail-group.actions .detail-actions { +.details.group-multiple div.detail-group.actions table { + background: none; +} + +.details.group-multiple div.detail-group.actions td.detail-actions { + background: none; display: block; height: 35px; padding: 0; } -.details.group-multiple div.detail-group.actions .detail-actions td { -} - .details.group-multiple div.detail-group.actions .detail-actions .action { float: right; /*+placement:shift 2px 7px;*/ @@ -2037,6 +2047,11 @@ div.detail-group.actions td { top: 7px; } +.details.group-multiple div.detail-group.actions .detail-actions .action a { + background: none; + width: 24px; +} + .detail-group table td.detail-actions { width: 59%; height: 26px; From 9544d04fcef29a70af9664bcb957d0fb0c3ad820 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Thu, 25 Apr 2013 13:20:52 -0700 Subject: [PATCH 060/283] Update affinity icon --- ui/images/icons.png | Bin 50708 -> 50052 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/images/icons.png b/ui/images/icons.png index f07ca838ee4647cb5d233216a336fe1f9a63eaaf..e2083da1969a1143fe90b21404e6689719c5faab 100644 GIT binary patch literal 50052 zcmaI6WmH^E(>98`Gk9r>8qk;=4)s6 z$(%}5ghI$$;9Y@(g*%YK+ri$^O~6~2>R-JA@8f^SY*ZBgvbfs`Q~k#&U1c>2Nhene z3LaK27BhAZ4hmjgRt|0+US1An3Ql$oPB!-Uo0o-yTY!gGfRm5ne=e$bYp&*&0vb{> z|6}X@Ntnvo-Q8J$jm^u;i`9#Z)ydV0jpNg&PyguPF#?!r{>p8h8U2j~Bz*3s>Mrs;jc*t~(xY#glY|Ah2kMrGyy ze^v*F|HJL(u3_?EgE9 zYSvEfPHxst&J>cGyc7(|Krwd%{8k7YeHHUS3LE%X{@S4>4G4;qGlJhcCd=%Fj5xky+76 z0UKI+IC7wZuvn&8Mwy*(E|8Stv>M$9cMq0(y=dMm2fk=%(|=nFL#>$f?+_NAt#ULle{l;;O_`u_a-@pc0^8(PjZ`<5M5rcM*q4ih5Rgxr+BG_A!?+4P!?02z@XD=k_ANl zL;i$4uRexR;QfkKl5vmkok8CgxfHbjr4#*0#nb(o(;I}Z?{SjJzl!7E(6nHZtMzDJ z5@laVVUx^`lxS=DjK+yGw#E>d3tv?UmxQ;cf%@oUGimtbkC0U`Niv7n+ z6{wNnttISW*@m-zNu*kc>~dmcqz+jrlt1#ss>Z{PM9d z24-d&XcF=wjBA$Bf2LPS14*nAN`oEo8!iJBxyWxrr@_WU_WaQrx5)xbJW)5a=kFd! zls=hJ3`(OHgjeBB_$>P(&nGFv;Z0D>6;duS=Qta|5s;!``yI}Qh)I> zFP!YBKfYLH)c#}y!EeLYd3!I94zf3-JI?K{SG&Vm44DTX4j$^E%>RKCoevxZayzaN zoPYNxwM0unwsgJ*W})8~x*ptpg=J-bcbID1cl}0h;8WyEA~a6_g$L-CyR6+iF0Ox% zg`Pk7kMs2O@$=<^L9i@p7Hhuftirn?NW&;u96Fhh_x6>)JOkj%P#eiRu0ZVLVj0rV z4+T&(C+mK?5dYjYO|t%_BpS}D%F6HH#kO9L4VUjZnWKA;xLc0@qzgm?dxqa%XZETH zgSsv0Y;HUtc}4tzQk@IM{0uV)Ecy4SJYVG6ySJdG#vzMFULWjf_HR@~SomU93#(v{ zFfnsI$D@J0dh!F$Z@S+Fiw3300>L{uSNrW!W$(*Sc+2)bc2Fgz4g9Z$r;6lO0CB?@ zW60jz!}XAbBvQfq6>9&bD;cp5HiADJ%E_!Au_n%`U!jCVG_ANoKA<}|IOsdC(f$`- z%yNI;5If<|OqpSEMAtjqtTt0=6)g*cQ{+EjkP5iZWLbUh=uLa&2Kta-h}t14-&qPK zZneWsL_|Hld|{3lbvxCS%d8QI^$;C&9dQX9Ri%~p{R(0K&GYa4DNUjF|IjRtee`$W zB^fGjE?tt2!?)-Q=jP>AX;?eccj`PUo2cu#UuB^|*xMeJeKzDOxLM&(l**%=|F?Po zGg-yJP%>25>Nu3p-~=cCVn_smQRdq(t|_!!PK%$#8ODK+>3{$J-9ra&KROfr2lmoX zo(M5QeOs9CYhmSX$yk(+n%b;z>EvwO+W21%!ZK8Tdo3n-?_9458=PdjxZ9Q;@|MmKrqSw zse+%R;kHlx{&rrKqA40P6OHWpGVkm1njw?fkl!3k?lAqk($L&;GrQz(KV9w%FwZq8 zO-@dxz_(a;-*~-84MC}{v;`cTiCAc#}J$C+ECO{wf=;vXg2USNh zE`S|D;4y5USH)+^3y~i2^nI13@{Y)dvlUdq){Ec-65dqlOA$cG6j}FX?NZRN&N*c*QKTg9gf-6?z=>^QkOT&s)_=r69>!&ja_)(#Sil+Al6b z0h~rQ6lX`oHjk9-d-@#u*|drPccaHS8r%UB66U=Ehz*B@W~cFW?M;O3lbXXMqHG$Ps?k}S_@-R1kHq)jr$PK!Fwcy6J~Ha_<3h(8+@*FmR`Que`Z; zk5&^pJ0ff`e9ga*OQ(07`@u1L;+#2R35?qh2x8h=lz-)hQVun>;kT+JC>X&;4ncK& zBXPr~k@2}`V`BPla!LZvIuO#hxo{@r#SOF3LF3*mF{$O z2Szv;luWg~C~8J-uvWAJv6TF>EY-HgD%j>w#`4XV?39Hq%36y68b1#H37sKgL;n$FB$~(Xvg#=@S%&W~njlXmccm#%id-7lK^~tZE zJYH(P^^TY}KrBt%q><+YjgSNP=8r=$Cz{4iw{VT*@=R|p{z!hdc+l4TPuv*Y99dgIx2_X2fTyYl` zFqvkuH&VlXljH=tJHQA&>EnRTW!1Tweb_X1U2vXj&sePT12^WW#d0-r0-t}MvHQHh zfe&w{3fRjl4A*ULD+!B|q>PF#sa@ng)0z?WOpW~x?i0S^uYNJ5ec2l(uz3T3smUuP zM4{CrZwAG8G2_XOHFeX&9I=IPZgcWQ|&05)Hp}J-nnoC)GQ~)^1Dk^xg^h;i?C$7Wus|ha%(&JZZWMT1`)_awJ+FA$M zHP-(e$idiC!LKmIe2(c+FrH*Ve%Pk$<)&@R9#Me$64)pB;Wh}fZfo88mkTFKpF2*Vs_5(OC(Uw|yp)s_4wZC^hk+C2Om=9? z$!t7pM@ORu`<2F^9nTA5iTW7wXH6-nB5?6Yz|~i`DS4J-O_)Ca+buO-cbb>OL1=cG zC75S@Jft0JC2AFOhBD6)DfA>g97*+$%U_g9O+v*O2eJEU(Aaisrz@F0vX9dx2l1NoeZB$NQ5R-xDFrHe} z#iV82hdAk`1h;8Yr8B8!+E@^gF4?EpS0$zP!0DLGZn{EB!JTCmx=(W~l8M@per25$ zfVps_>MJ`n(&W4PGS_H9h9ABY0*2ykk>(TTKm{3LH)`$V% z2`h1HRJZ-*4Xvd`w6ldS@SSDQa&<)~Q^bmC%sn}ehVtaE`r4p}Gg|egiBK4|;wg*~ z927~QO_tX*(cWMo??s)b)AFuMiPh-k ztH%M&kI!3gy@$Qe=Ynp3F#|7~0PnxdTW3st7yv~(4nQ9|9jdC~P>&QM>Ar=m@83oC zW0`6*Lrq=Inx;ga5rsA}4}N7eiHdLvd7T^7BB_|7ZsVGbCY^}74 zXRIEETNa8$7m7Z1V3C4%2wEErJ&nRW^U60R`K!C=l=)tUs$;vu`sE8b9|Ct;Xj`Ux z0WC~XLuO-u{sJ3S%HfIZTJo%KUI*>#W4T$^E0}7AP-}j^JVEtGhD-@}2=hmVAs+85 zCl8bHv9Rtkww+LMNA?}Ak{`yellNNin~(0YKL_*tC|doLH`^LL#rx(FE+c8Z1Ip1z zK;PY~O2&nqkLpD$g!ddAdOp(9N+XGdhC<8c2MSb!Uv4lfaP@edDN0JqQA5P1J&?hY z5^59)^qQbbh6Z4xJ?@2Mp-P(G_G_#IC5luv6JjwGU^M3!3_Au2?<_jJQ{U^oGA^AG znAV6*-$5DOJ3s`87EKOoDBHQo+g(P3MDj&{;K)68*RxCZcQ(&S)_cSEcK>oSRi2W0 z?03=g@W(Uw#TY-h=^{(8rQPd-XpdegxDRq;cKPQ4cXx{U``do?$yl51W?>B%lob*Zh=yEe@G`_>jwMAAfYurJ1}`mN6gy7u-V6gy%(=i*Gw%ic6?`OJ@! z-tx?J=o-$C9X*qmFCz>>eUvbT^(ZS0a5n~JC4ivti9JI6)Vxy2vQCZh{Ga4ut~!dB zv2#Q1s>{pDZH85iMvY9R@tMQOQ0PGCd_#u-wVx!Gj((0LPmDoxy)BWXYx!$-3!b!BG@(5?y|3~XoOir} zkUW_d)Nw?{a84gSNxGTPl4q1+5#!jV?q^W_E z-hXBXnu`(&`16}M?K!^mDyF@x{}wul=U}f^r7Ky{s-HAJ(||W3cynGe!-U62&a_8Pq8=gBdWDY48d8z%b#a`)A9e!dI20L6$RclSDjHUpH~_KsHS+SUu6D{jNHl!E@2sJY>SS8XXGb*dRn z!UlY(3+7LQw>?Fh6|@U>fi|`VU=O7JzYLy(A6D2sOnCV#^$T0NQEZ9D;2xz0G1M$p z`(_OhGhjQXjMiP-IvW~hDs<*OPnhzY(^Bx6A$q2Np#TZD_j5z~KB-To4v$` zkFmyb28TiCy>H6U{LkMzUNz@t>Fz&%3_<+vOY-4$DmXhBne}56C{YIf-h2F*ejxTZ z^AZ}ci?RCxm2AUncSA?T`aWef8=I?czMafY(+=pCO9eU%8ZYU z$G(shuZR*~y`s(%=>}%kpE^t%;!tfcMgo*=Q0LU@V)KyEC9u({yaP8dkaJU!MV3jz z?h+WiFE3g%Axb{>IACXCfX4PvA3gq9eTxyaD?Hi{Zkl*fJe*^W4XS*5uz%o3!7aG# z*%_@7a;9VJ?0OL4P?ZT!`5jMJX|F72g&OR)ztN!`jdyt3nh;>C$tXSkt3tSgSD}*v24yb<~b&!5qyoZ?bMu zLhguDZyzQ5a_f8Edi^s=)w9Y%M-R&C_QV*brWeY;-4@Y2&yBa)RPttb1k2y5oz$Ko z*t3PvG+KeT8vBYOxgCtVyFJwh|FInFSB4Ry+07&s?0leJ)c&VwH|X=@7*srU?uDqnGUYk=0`g%KtToT^68+ygT2jN` zE_Kb3;CQaOJ1)tca#)F(d4s2ZYPUN^;|Y2HQS_7sI;Ft?tG=tM#c$@MRy7XdF8~s@ zU4C#b?2hD>Aro11N>R+Lm$}D7JPDEdLN7_;Wd@GxZSU}mmb+i{_%DvvC~=OmOf&)c zbb7QYWnQ&K-srxi73`GDaNh!h=bk=M5WFG4JM04oH8qze_^Wz$CEHSUN1f?g;Lp7d zq*N@StvebzDY#aDYsqG;5ACe*ak+5kK`UPCE~Bavg~>I&y++aAIG!<|^*P|;Cu}^~ zI#pusM8zRN^R3edx2H2q9q>Dz=_kE6d3tVtf9XY3<;g+o3Kg_d+?ia-=B3E-(1N#t{YOELajmzxuf%c|D70Zk1@Oix4UqlIRHWgCG2k!d?Al_dV zEmtNsg8IBCdo}slCo(J4lJg`P&9DYYZFK-k? z1DXAN$?U&qCQxx9eewYZf+D$6#h^CN>emhu$T$GL1mFQf*`Rb{A2wi%D zyVf`f(;b(+#It+^@DxfxucCDa%5NjL-y7}!>N$LtlOI)Bv_KT)CG*g}lf^qtVSp$t z=X^`Ja`cUEbmgL~V<7nHbrBUg68XIzY6O`CUD@ZKnK!N;~{z=VriDbQ&wCptlfJc19r6WA~0z zFi+KISd>oD?an^ffavzG&Cuy*%a@z2P8XYc9v&V+1<@ur{s6+%?y+Iv9#$zWK3&ErV zW}?kgd+|1}Z95-P*HjzSBhP1hID*#0I}a1{$v$3~@wx zbAxeqw*5kE|Ln@8tLa9uKsk`?&lM|*+*=(tz$Su%G?$M@Qp^kRNct7yluQ{*6ZCAUIpYc~M#+$n9s+<+5^WrPMg%`o<3p28~&%kNR2wCk|TXW1Lj) z5NE92NI@RQ$1sc(N5ZYUfMi-w-JARPJZ12LE}T{zqYZr^5_q*cH1uAJHD>X1)faZDncSQOED+TV)0X9?9XdjrxDxCg`j!q`9XX$m&I^(Ub+w?62i~^WE&x8A#CH0LOv}`cSq1As zOIzNsN^gHl)im`;$nk$G4qEN#?cIIcyR($r9ctpnl?%v0slmn@RM#$XzbXt@_Q>vc z7)|^v7lz!!!rm$uG?W9w*sgxsvg;b#%yygEPl6V=BaVV_wR?bWE?%9HoDsVgaIh`e+{O{jxn=8`DFsp<-LrpBMK z+SUNBpIs^@UMZja2V$BKHBCe1eH+Oa;pD7uJbu&L1KYF1xmaj^o@Y;co5Fr$RNf@9 z{VRg44*8-c+x_?R99MFh)Q!Afey;ezWHC)>g0!?yZ?2+)W)F zXB{Hk{!}HI=}WR&STrmTBXb7#(Lz~mab=tqEhdS+!7x_YL32J21hqv0MR`>MIL!f` zoTrXj6abkNbDp+`-XkM=N`@aC3;{csCP#VjYpVIslxgTM4k*7KxshzZC!E#X-4^T7 zmQ42Rt+)m_9@7J>po8=HO`oIW*n}F8f3StjuQI5?#+VCSk{qck*}rI$Nc=R=(a&QZ zHp!+7{lcDD^9y`xYGY{`=zX1nb8!F-q##3S;dTEB%z_`S$YZ;%LIY%HARYz=FNYPT z$nda`0`_A1A5igeV#D=tbS+2#u8@M{CWfcS@+L--2LQZ00|&auCTWNzz&``6Q9?Wx znVD*qV7qT^5Gy_zSESaS3of$KNfm~g2v#iqK$e!AS6DR{!7>i*96)mFAO$2zzIA6s zh79NRBt3MO43(!0I$Ryn7Hrdzgv0ERVdD?VvVBPYN-hFhJ0~0bA+`nelkYuEitZ9! zq=wmuyNf&XJXRRTFJ)Td7-SASg1*mP@Xe1mVgV<{smHGQham5lxg^m?-2K~$pW`z% zVpLDYk=Fs-$T69mE=sYZTz-EJX9^Hw!=<89kCUNcC&u{fEiI&nWehIZw7-43iEEG~ zc50Wm2fqe_U0b5R`F%*u^l7qU?Y2A5uN{2$=v*-s*42vH^XOcED6uk^-R;0k1FWI* ztxw0fQ!KpEtjFtZu7(L8>M{&Z)b{uRAAf4s`>c8Ti#SZ9)@}5*keJ-9dQ7)@aVQZA zB0S*}gy9PEUzNb#dcmt< z2qKDvx%VLy0Ts%jc++BVM6v~Qm`w*Zbn;hWoZmZ2lvpua8jGLyi7ZJK5uQ9B>q{A9 zi;_8~OzWWanXM`jBfotrWFIx<<|O{(e@h3jT#mTA7>>yh-@8UovmOKOhE$_*dCxLq zp%M8Mn_^Q^B}@<=4cySJ>UT-QRQa3K>CfG&2zC@!A?i`@Dkqw2L7CD4h;8QFjm7C> z4Xdl98IwdJeCk^l1kpSB`V7d>rKJY3E2=65YfX~EP#thJsYrW6pW3xNaYS*0_@uUO zWa#&v%mE?qg)AL4|Klm?jIi88;zXtXg8ZS{XvsjGM3_!Q887uBXPk*ay~E3Vl?fvF2bhUv5k#JTNho(h$C-Qo%^IJhCEUyZrG8;WsqPNEX<@7$Kt zGB4pIs-Nga<^hb|>`F=-km~~EAN1oHSdgTl(=6n^V#HzX^WV0?Z=Yp+kARkp0&Qa# zOKFoxTs8Y2Ju}3v4!NY#mKv{^9BO`vOlYENWUc`G_@PgDlqEEy^T1(0FKXE4dG>3) zyIbFyj`HbTjvsCF^NdUR)9Fm_>l5+>rry_9`&F9FG-Gn<*ZZS2g378&NcR#R>nl(-IRq{8_9GmVZ7AX5Gk15N`4Nuyo#hJGxuUAh|>Mz5u-bWo}1z5huU%srO-gXppDL^gG^Y~HEWEPE&rrb95c9Pk8>44gI z!V1_YXl0%&lrg2W80zeX&73Cf#>d9O(~@h6VQMM+Zkhptr>Nj?-OESQ?Yi1Xbsyrd z`>QTQD1+I=%blAj_Z&SGTzDi@-GxuA{z!j{+;s(x5R+MX21}sn>eqgGo1U0>d@^yO zCRk^HiKs_;q!1n^xlRWSJ% z31YxXG{>*aEnvOx`k~pM@%-u-;I5Dh9qhh%EXA8E%kH?YP<}{2uHv4w-*sND$DSGf zu<<1o0WnqxCn#0~-l&U5?YO>QE)|6oIG9>*%g4vvTQg*OaX)mW9*ZyBAwa8#NIlc( zct^$Y@be}pEF&L+>i>`^2%H|9DI)n|*g+0?>Uu6LZ7}*^z>XDsV);t`6^$%9p@~t- zMd=%Q8+s4d61soP{^DwOcF{{{Xxu3VA_Rfwe3Ss>7DO!_rcvA%v?T&)b>L3e{Y$#m zR#zH~jqh1cfIuRYXy}ts;sjf0}O!1tm$N@wY*;UTk9Kh^(EEmsugYr&zsqsY%K8G`OAs@SrXv(|$tVo`jBYfXx^ zQhh9ep?n%GiC^_F8t0PIC%<4S_+%POoE%^dk+cE3YGFV2BE^)89}-E(b>};`&#Sta zK;{h#wj%GP@4g?J@?K0;+a-BlEn3cuAL$`KZwMyY`=dCVhK0LBV~iLNaDnI9yKR(nAV9 z2ZsuimRdnZz(h_L_wjznRrx^~qZz)SX5pdTobztX`-2E|YW*w`cE6U_m?g2m2I|!7 zk@#{a5S@SBF(oHnq&(kPQyZFPGQs(|jx0QcT1Gr)3bXdBmNn=}GeH)`4r^*(UVUW4 z!t!Tnrw-5GMCC*6Xg(@$s1wX<63NKf3Naz7ui?QQL&|rp5x)`7!fLq|NEz@|K>PW* zXz0vjqufoyoL6f3dkwz^%z9f}3wdVSbTG6QrfM$a^@D&iA2kqg9xjl5|1N~(WO1Nf9W)RkVf+U> z{yCkbsZgroVD@f7UD~XQ@9T~W`Dduvo<-d?DCN7!BBSVCCt{6EL|C`8ZSGNw_<3GC zlLb@uW(Ii1s5|mz^T#K<`h@43arQjp+}djaLt;m}u-VOy0^WGJ(TiW z2=j_v4Sh#M>V{J^7Rv3V_Ac4ulH~uJ2RAj!6nR;ko5m(F^_=H{{5IaqPT{Zo=Tl#Ea#dGS$=#^!|W z#l{>tPTFi+#YKXlWSA5-VtWA4+Z1?raJd!43V`V8J^B<3&0}04 zPD6ye(mal2s@rUzzJ1MAUR1P6FVz?IkWPpTLW^N`ZXd;mW zMWNeoBW^Jzi2-9_@153R@)-i13&1xr&G#PiaFJIBD|wzXO_-k@Lasp1(S^ZJl_;H` zHidp}Eow``n{jc?mM35}`B|HOhG$~rxvq$Leiq!#t)rBYH`g4Hd)#28;V>CAM^UETJH^V$ERlre(-mmmTIb&rzf~eJjbP*nL zG}~ApX$cfO&v$L%XBreS ze8=)Rn~3*QJJO|R1p`X=MCcm;DAN5)v)6ppcD}zz@~hp>B>O8JOVQzq*>7)=otMb- z!&3*SBl_b~qKDnYXSVkJJY!{={g*Jn;565pk!7d1C8aHbkFsiTmKHN;j#Qn#|D3AWzIl=|OwGze?|6KqdasaVkKhopZI0i0 zshsIj2xpQ~xkZE}V>^RIR6hsqGt9e{$%7y@5<*K(KtrF0G0NAW=*2?9PwkkbxOzxB zQiD4URf`uen5}WJPxxZKm5RTra^S+#nGHLeN;`Hm8?NoyLozG|GRzKOczBP-sCFBJM=M{kQ10VebJND~L z0W=8_W1#;<9E@%W5_h@xc2DC>J-AsO3$;a@P+Eg+Z}5YB*V z0eom51fb~h{1E=&|Be2WEo=f^VgxpyHiS73HdCa&^$kVxN0?X{xh6L~TEoSxWmd$Q zXer*dKu0))qJ_)bGLMVn$9Q*_0m`{8qd z=r~#_p}g`<0mXDx?GQkkbeGK$K3@Mt3#4GZp5t;-P#L5G8tYA8td!%wc2&jLa#un} zI3tz7Iryv-E0;@*1|K0tMQ+Hk8+^gmeeK(RQdkcBy@$G!fyst7btG8F9Bx8`g3_Cm zk_nI;u=RR;oBW{mnJ!dat~&Kjb!N^F=_HYPB51@z!DR&=@S?76#99WAy3@(sb{g4Y zcXUA>A`-Cv>m?KhsThnqAgU_|htL4PBZ#|DXnnq6o9ej}?ncPTRXLcSi_8#HtRnx? z9hGRYtg}KPWfExgnZq+)G)}tsX3=rgtftx_G=w%{y3UKW-SDZqQ`p;BW-IXdj4^*o zM^apnJAhmnc1g`xbwFS`cuBd;rtK&&0q%V#rT?iX!9-;;%E%%NnlpB%*f8+2_3`Qx z8f*gR${7X{Jj|d~%lNVm>3R8&A3rR2ilqIn1VM)Wgm`z8HIy8T9`En``@u2DWAces zznQwUOrloKcTsKZDHyu&k&lDEd3J&w7cl4+5Tt#^eor{8tIhzV8q;yg^%CA7TYs|Gg9*U-hb@Hmzo`w|t^$R=7i3q4!p^lHJgbWM<`NC2ajGv@%=E5W;Qc(ILq>Q>K-(<#%^t@ z4=aq}(6kbdXO!%N%{)%^0`f(R)XA2(GzW8NWy;TJjk4tW%NFjw;N7|gtE42~kj`O4 zFT|N7#e7j6Re0Pu={uk!5L&C>-b=z#oTE3JQn(IFh)8cbKJSkj!#eiYGLMsAtb%eh z$-^q(Yofsf2%Y+JSKT4ojN5$t(pV(SE*&5=j?ZEF@^`PW-}#6`W4y|uq|c+zR>DDc z+yy-ui^2q!)2!|*1md}}H`R9+vSR9EE2nocPiY~oX0*TnBZy(;arXpM-_?!b$|=n5 zDrdZ6+OnD8aZtJ1Il?7k*n($|&lN9D`N`eHMU~uCQQBfZ6)MJe26^Vj5v4F`sYpkK zcr1h>oJ#yM@(bm<8b+LvKD3~YJwe^hNB~yslbCpjb>TAwy<}g$&2KA?{7b~rubXSxg!);~Xhx)gO{fBcADr(;myi1829Ck9kJ z{7Clwi>~JWYNqBsXH1#?i7-7wb|`|uIjex6Hjb^ng%{yO#1O$MW7Xtk3{vkmA!F@W zp&z}qfQ!+eueHG2s_Iazvpk)0TxtkM2Zo{3g{3~@OK}fgU~>terPK|VAoN-?QLS2e z9uMv6q9rgP(*rXs3>8p@?WhL5qN<@p$uT@F$Qhdnz|1fV*RXwwn))WUSml8R`gTzh ztnc&;z3%oFQ17MMAtJ2(pa(VX`y@e+FWQI%xgiWh{J8ygVlLYJcF?tkLl|p|f_}i; zOymY_mLPRuv&_f%7h!S8*@++Fa^)OJ2;u?-=@EfT3iuPXujxQ!~bYA>_Y0_7#>}197XLypb1END93B)#?Qdy$!WD6ri8x zb2f&yY&;Ro0(Ja(;wp?3uw|%{4ZNSyzph8;2ZfwK;7})DeZyux6(2rNTnaSf0q|b= zshRY3v28?~F;}gGu)>*TxpC&_9{w1=L4LCXg4o9BeC*W4f9qMrlTnnNto3#gpE%}! zZ+>ycclepPgE?4x{l)s~33wU}nJ(uK%4E(F)ij+Uc(193t+!1H+nBfBzfYbbPzidY zlN92Iyw8&zvA+}tTBFQ|wRsBKLtJUS?OH?l)?p~4gU1iT++;Aq zf8EY|_RV`ELf3iRF6bDS&Wqg9OF%91v_)Qd*&)UgCr{a!q1qd_z@yC0g*&;gSC%6c zmM8s*Kqsh8<_INFa6X!qy}nf<$CnS`CfF#y=2uSotZLi2I(OSzW2X~zq@p<0{`&Oe z^0|C7)Q{XL6nbw89}f#1dhWx3xzcR8wE}iilSV9IKKXXX0te8sWx|};3FhLQ4QL<^ zsO>vtu2}DZ^|aU3kJ-A~BNNcMIIF7k^W1N(B%#A(0pPQ8KnuQFHD}Vv=c7w0{jm5Y z&q&0vhePuVi)vVONx})kUNJ9D(dUT>};j%RbhX1b?vNl^Z0yMPU6WRD4Gk$iM#swkNT+< zb2=mn9A6#FRWG#cfLSXdTn? z>UBxie0}Kl*A=#U6dg}D8V$^#A%FEgG4(M0=fE4@b$;)zk` zdIfQ*0L)=ai{W<;*@$&*AlH6(Tl!?_yOx%uY5#ieKc{wf#oTOS&~RCLdJ^o(!6$2d zqRo%~eGWE`5SD!;zys?dCO}VN0LmTu<0tlxQt%gj>0Ysn31rVG+z%LBr*##FzdNt0 z@cRz7I`IS>=ad_TYS`Iu8A6wq@WapiDhEzb$=m==G&o_EtCs7sNGLb6g-e+s_2u2? z*~guK?Y`=so;e6I8LjqqU4OeU_6yX<+{gj?TP{v!a_lX<@7Yux5|5MzP;f(+Rm zk^HY8EVf7e7OYYzDn9xy!<8l!VvE?nu`!&W&y8RLmUv9j&gPg5w_;;shvV>BzJzUg zP|Z7Xmoa>+f%H2kP1wY-l>|4^RjaaQvJ)fV`ShE`9I;XrkXTclofAIQI|(5Zf9@M( zn`S=epe{s@DP(WbI_jI+k76QpXJl?3U(0{8ODliEX%m> zKt#i?AiU6~W~0cOImzj+_YETL?sFx93*G6$Uk|t&Jm+U$u_sbD)P!I81lak8Ol;w; z>f!PD@W;|BTE~Bk&V7z&f`9Np_5?L^N&5X5vQ~|m`BAVt`^Z-y9t(=USthB5eJWNk zclAzdRzLYn6z2H1fe%ah|dZ*|2fT0cF{A3_%#BP3-i358i|0{kU88kvrE zo>J!xp9*&EoG#~oik^F$VM1ZX#k7#i>yZa!Ia`$Ae- z^eu_4p143i`H-EKjWtc=)+?==)(Q$LDuh4wW;%UvQXxj6QKyul@fW$~dd5Xo%wH1x zbr>ChInh?nd=&G1xl;}i1~KR4k4;Plr-b=Qx>b=!7~?fJBMhnibrGHOKCS5u9)r(} zbU>Ac#bjg&f0DU~AZb1AVkbnKc2PYZkgY$TktGkfhCE;7hb}Qk4RtO=Pt##9G4bJ& zJq^&-d#aM!S6B!0@*o%)oHyuFF8mGV`sq8634z~k9v`ItTFc=e%hlD~+PWwV0q?1P zr#Lar4M1nXW$&7;N325BVl0G`TFs_duO}aD5d^x+BNzxi3#x@<_9rHsn4DRWtMB$H zs=WlvfDYn%-{KseZH)%6g%6*AqCcHl1_)QZUt%X%H&zT0)76Dc0u?p)q@B7SC}W$e zaqVnRH%NRRjy4RrazBg*xvr_7Tj>*=l`Af*lQ^P}-uf~V!gIJQa?MRAJMqhaI#6C7 zso#JP;=4|(YJ&VOU7ftzG)XF!n~$TgY}%)r*G_5jix|b91!=y!Pj4a8m@T14Ft$qU z>t_U25BUa?d8G&-yH}NN%70yxCh?$iIM*T+0OCxm;`v;g>!BeZ+?}KLJUuK}tt0&~ zm7--KB{7UbCZP`a5DQ~S1Nym)-i>HX`hB=n_#snL2g_eF zHvlF6Z2Z~nckZX14z~lxz{mZJApg4s9nrX@p9)mT%pvAArK!iwpk^0X;PKI)NSp{~ z8oC$48#hj=0wTSq|A(`;jEcgG-bRN;QlvYj8>BlG>28n`>24UhL!?7e0qO4UknSA1 zyPG?JzyFPO?^^GD{V;2R%!%E5pM9Rwiy(c)5F#`OzU}z_{;=U_smlH8kii9*)(Z{7 z9Bi(Zx7BrW*Gvl*gnod<^qcp+(v@!cGv|3aU*Xir;G@{k7IYhb?x5M(s^bAm#-Gbn zSO5FV*1)%lS<*gk(!M}>=;k0YoA%wPgold3`MDN{?T^=Mi_>j6gqX)0IZdTj190*> zAQ3FaGOy$wn1H$+W&?F=uC<1QkgKIl%6DEA08ae)7E6BDERdfD!0 z9RleF<#p3kL05JzLZ@1rO-{los_v@#Rkp)eH|2KghaXLtA-v`elI8&qk! zo0S6j-n&Ig!tC)(Lvs{FtAv<{{@A$uBJ4Z$J5zj}o*pR89)Gd!*bc&s{gn~y&yTn7 z^wk|U!0!$8911TxXl@P?Q)M#C{w+#?o5y7g_sJUD<93lqw6|?sA%mki3#ZR`(U&ae7O~@55630R#YaTvt-lnG}6Z= z{ec5yZH;eyqnTlBtUh1zZ27|rd6fR6A(+?2%z)PVpzGQlWT=OAaDO%hb!h%;ll2MUOk@AV*q2 zt1*;YO3k5q|16D*Kx*?IWBbj|HTo_)assV(g;3pa9IRk5G*^c6<%J2RB9zdT;1af3 zS3W=%!!Hpnb#&2g=_@<1=)>uOZ)V>LF4{|0M{}G3!WJ`^s2&N^4`r3sqHpW%-EaaV zO0wFU1n*{t-N}YY7qx-Ef_0^KM0|q|IT3bA+SIgkWIjD)gA@C$-zG-zJ{h=d!CW@@ z7;@t${DW0BXa!;Pr1dQh{eBBld<+a5Qp5NlJX^pxtqdO#cGHS2EUBiDKjyq6+ zWez)IQO^4_WvH?q)An)|C6-I%Oii{hI5D1E4cckVJCS26o~*_N;_GUd?TnQ49*TF` zU8}e;(zj>7b|l<9>p$rLq}qFM_GBsqs`lLVEXI8^j}f0@AZ_LqXpKuo;7Ad@_8ifUvSeTwS(x$W516V}XV=Dlb5o;` z4B)##Ke_i(RaLFNs(`VdY)<$)>dj61D>tWg7G1c4$FCfX}?ibG|%xERZ?P)Y{wzV;CtMS^fCsA)^%4 zlD5~0A-y`VXFmTUK3;WE6mldOp&C9@=%|lYRf#5CfF0XL#oT;vyf`*CWp!_4E0%r9 z)Z4Pp?x)v9Sjv$f+(^E4u=~O%rl`wIg{mpE$ zPjxbPmx#P(w)va5E-aHc6?gbiN?dA`)(fFf^d#Zuu75u*F+Hd>*Kw`5Kj?4y{q55) zfX7}@O{Ev-A_i;HU{!vWg@Qquko<*ZobPwMa}Hz9Nwtk+>2gWdB#We^Bu!CIPcapP zrNnmy(*~m^GC%IANwiMR@b*~_+jYgyj#oMiTT&nBuz*yN)%7bc65T%MpeT%e9GS6ZN}dZfqRoel-gAD2^R2%gIkJ z^qE*IWSw$vY_7h{(e=FDo+86QjHSlw>KI0!`trlycp!dKHi`B3NhI,d70FLrU= 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

VAYfk?^x~`13$Lr9a(1gx@ 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 literal 50708 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 From 880f98c023d314b171b1410ad54020ce7b0ce291 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Thu, 25 Apr 2013 13:20:52 -0700 Subject: [PATCH 061/283] Update affinity icon --- ui/images/icons.png | Bin 50708 -> 50052 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/images/icons.png b/ui/images/icons.png index f07ca838ee4647cb5d233216a336fe1f9a63eaaf..e2083da1969a1143fe90b21404e6689719c5faab 100644 GIT binary patch literal 50052 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,d70FLrU= z?Jiv@fBH7~8kGFH^MV`J)q&VbO<88y3Hk(F*cJGS#N>*Na^^MfN<84nK4@x}Q=pW3 zlerJoVos&WK+kdfqMY7XbfHU#w^Yt?W(m1DanKI*k-d5p8~%YX>K^%HdEHur48Y(> zronQmFr)BWgI3d0Xk#N^*w};-%KQPAxKfc6*T-rL4ONUkbMy4o3Pu`iGzgA&AC+Sa ze|+?h;t%Tu<2(>O?4NzG*yJiJ9PA%zzUeP$UL>5oNDm;AUa_HFiOu$Sml)G->VF`j z>ZwCm_t^vPvtTxg3)z>SD%6)=mF_(#`F_1O)@bot87WYOiP^bzb==j4J&~bhhCNe- zIt}snzi3*?j8{8DxVyT#lCo;FmBt&vnv0h*h{c>TSmf2xB0FBG&U)|FQIk$PS`&UM z7~sGvqy3jTeCRiDPV_MxJ8ijSw(k0}8TEA51ZUG!y}~2{=a5j)s}bg@5+}?s9r)-< zA;3o<_ijmJ^#TG4_V|<0{|*|${{lS1m;WE*N~;;JDz(0VGT57C(n`6zI<-OC3wu4v zdocARl)d7F1adpF2wqGmZRON1CM>yb{S?2h5ku7Y2i=gG{1H{)THj~f1fR`dTYjMX zVvniSnB%{N<}y~JCNMPQRsQPaGi?PN*Dk_L>p3r~Ycp2-H~PhQ>$;721*=@P77`}Z zvGK7CYg-m}P7Yc1Qhni^q+!$-{D;4P#9dwMI;Q7%3?_P`qroCnLH}u4`qL-|;K0v# zKz5D&60j6}A8cmYlci_Q?S86|my(pCG#)IWNTr93kfID_*0RHzF&{;ds2&CY`}( zq(e}zSQz%ZXzhyjC+9o76fvLJQU<^OOu=t9ovR$IZH)eheDU`WoVXAB1s%<-s-o)D z#O9T`QjY9mfMUkxUouqI+uQW+Dp!nrO zYN*G9MHP=Vf-Y?SAKZql4#dY^359UT|9`=W!Pxmbu ze~E zZ^esc(V@|Tr(F!N|(d3pYP(`ucd*-8r)d#8MTSB5~b zYWF|6!1CrFcFczzZfW5}FwZyqS$sTHOx8WM=7Cd%FzU z%(&Y&JBy5PSrDJV;>(U5K7f&jETpxR(B0RniWFv+T&`(6zTsT;x2bZKl)zZI51=Y& z>rfI4XV*C97qwQd5EvIzs%g0iJ0>Xd;xj+BuDgSVQdUMckYwV*d_K_fWP{%1( z{7;YkS5%+>Ov?XQkVqo*bjTO@@c*%UVK;wr(|9<$ z4w}!0c#r7YTf{XD{>QOUj`^Vqs4rK}c8BBeOqAO`+#=c}Mf{)NJ?JnVV5DWBVL`=X z2Jl%qw_Qx@NYWe_{m%eIrwlaCM5^^J`r<4=%Zr9yK6ro{AGPI$Thu-Uk~x>ymxBh?rL%^^ zj8XqVhb1b>0W?p#EQ1AUR>)yK3&FRhV`CWo>OZw!DEEjH|DhPQgJ^T-o!>m2MSb;9 zU2eynZud%@b%|>LmR8Xfssoo5L+N~*Ka8{_F@9E;!N}MYhod_+JB|a}tBFGz_meN* zB1dRtvASA5U(haH-|{mO=&pS$17&Vbm*{**zdkT<+92`qoF?A^=SoR;)6wl| zS_}SH@B0Z)KDBMg>;3zZgxI(Pi?h2b8l~K3p8fB-<(9l^DS8~STe`{*k|c`L|Vp-m{ReULb}b z(TMwGI9OqhrKc+ee)AeHy77Nv2ky6!BaELS=B5cCIX){Qrpx|gwd5}!n%a%{uf|bd zW8Qij!SG!wraK?j4WI7(+qM@)GFIo+s3d#Te3v>bh1a%T6Hm#?&DPgXss)AOWZzj` zPqV`5iq%1V;0wBq5$OqMG_M$3+;5o7f|MbqwANBu<{Pq7DioCAyzX0Zc1wib7 zVVM6dV6sn;(jEx^R?na;{*7svQC**@cle2;xu)~~5>1yqN7H9Y3x{718_$N=TA3gJ zC({1F!hgN&m&*qrlJ8pyFTC^czMV>G?Xty ze0^3ue{?Po^QlA#-hV{IdxWJQ0Vmn}qmtNuaX~Q*hNCmEIt~-9GtdETr(MMKO(qQF z&KsJTor|G^tD+YBC3mVMe|d2y-(gOIL#?5^rJKg9^ey`#_aU0FuFW*yl509<4-}HO z82BGCU-$b2ZM!e@@3>3)+LJ(E=Re;1@>i|3k>g|nk?0$575XJn!p0c;v;WP~2*AN4 zMy5u&#d+vYr|Abkk$^`X6~t|Z`UqacImFri=|-FV5cig}==54>);^cjJcr22ae)N{ z1sNIHt+y>Fw9U_HM8y zmFDF4Vk2-ZFZ(rIfq+kZTdxBx_l1o;WGczd=H=z*?(vxI?IBVzX;w-Q5bFb8W?Hrt z!%by(J-zK4&qd8)!?j*H>9Ky>Gbh$pikKK29K7xKheT>Rgetv}3_xTx@a(&0q?*Ye~9_=GMmB6 zCmE~|_`77c%h0V`CPN+rQdTq+`JrSr9R^If5t?dNa+^gO9l4*ubON^vSYzI=%cF5y zh^fVr$3&8k8{|um$A=xb$g8N~S))NePiD#l@6CGM#~~=AK#RP*CM=#*gx8IWrlKOk zW>UymV;vO$3#TWKVXRSOTohtH7vmB8EC}vFoV$=#5!C%(LUTNYS;9px`lX;XwZ5=( zHb{I9GjnukHMNj7if1S&4GKJ5thZgOwv%ZvI7gm=k$zqoM^iCO>2m#rak5hyR+QeZ zNkx$+J#0}ULH@OWR^HIaTVJJI5&w3CgI_VrSO~;P_uJV^=1h(9Od`v;9>1O!V3^|c z$?_nQaQe(QIZGR(q@-oy6J^hD`p;Dr8v6QxG~>2`txP=FMiGdivJ09^&28DAKw z(jv=rpR}}$OzNn9_YZnr-06(ZqJ{G-a;eXKDRaZvIAQO@hnPEQCAko9&V8=np%l1= zT)54tqF(D6@B4bk$L7UpwS~hY$qOn0pTOi~I zs?SovLI6m(y2{3YtSS!;4QT6&nQV^0|Kd(Wuh1XKj}`5DChtCLY>M@s0`kjjmUu9c z9en%UQPfD~H=B2FYIoR0?)Lri^3x~}RR$$rq(A~{+1S$ZJE=UEVnKfL&MZfDa*iN! zI1Qw}u+v?<#5uThSdrI!EFyT{=L~sPpw_W_a8Y9nuk0s`gN%%vwcG4b`9g4Zz@`p1 zD|CGtryd;>Dh*j@A2yURVg{W+di|B|`Q!c8V}qBX$BKyQ2^Xw&6Q*a&Z5%PA@m@N( zp7}-I|D();IR`PrGqGnVa(!6D;42C0#!~V{BE(44uD&m}*oka6Qa266XAZGD*NvE3 zbROSc1dCI2#la97v2m;Bajfq023WXFAmP%TeQPeY&|DOMs!!(N*~tt)WE{%l;q zzVH!V01NA@vATuN`B_LOqt6;1A)`qHeR~9%rlE=zVLHcB)`4=C>oA(`jdf*QY|$D}Bm)@$wzDiFr>~7fs=M5)n5I8;bAZYD#^r@dCIAPi zd7rPWNtdGIJE&??Q}IDp^QaqaU&)T|&%EIGt1Mf7khP~-uSusz}vWU5QwOx1(5O1?Z^z~b-rv+06``=!V zhL)Gd;-N^ccMi9`K_5}p3fn}N1>Y{oBukf^y}yx1grQD$lKf(GJiSWE6noeOcsAYa z5;P451I`fSS-)}uMW`Mse{ZC23S|`E)~=zT_pFk^=OCnTbRpt%_Sf^L?KQ`G-fY~B z72i=s6QSEZwxXR$6$Cx|pV1iNV9g2$gKBU3TR9Cgpu9vu6p4=5Jb}SvP zn?@BhOEbz|DoJ93Oidt3SP!9Sh;ZnWRy!#a(IIwSaeW^=!k-C491fuN0~t?#DEmw$S0p}AD;2Ba|Da(M7-YXaBj7KC z@5aoY*d#I0AOYQW;gR}6OKU)*^7P~$%1=RDHj@vn=uhhi?c{rHeVG)G+i0lj4`x(p z?k0%Z)4ZSkTj#GoJ{zISW`K(sa~{a?G|N+7hfrMhSK~bqWJank4?N5lh5CjcF4xxP zUo?i^kULC?dpG=KKpGaTQ z5*`%`9^do`!8<`VSv~+3ZTm+KymQWbfiPqB*v^lAS~HETJ{vVvhI`!yVgI=gV!)MoUS5D!X*9NRtzgtbG704s zv45u~Vx2F%za=+;0Yj%+FFg;pJA zoJr-7%j59)X!YyXqWAdTkoeIUG)gZ~cnR^5mSrB?$|-ikw!drl=-3R`7$zM1ekUK$71TCsj#oB(wocg49$D+W zl!bigq^RYgT#|uIuY0)y?fXR)vV^z(b|WcOSDEA)79Fbo+ruz$ztg_~M#!{YLK~NW zYyChdO33B0i?)5(h`Q&Nuq$KalKEc6+L7_sHQ+I`Y_*yfZ=y!p0pu^XjO`oqO-&GO?`;7Jj=l@PEVU(of$ zd}iSZQlxyKMmgVaQk`o<@qXj?-G*oJhMW*s{?8xt^YiNz16y3}x9IOqjj`{+&7Qh6 zC{!hNkErNDfk9D>1%;RH7K0vhBhC$%RH!9h*C~?HX;I^sceF&>o`f8^)yo@$SF2ie zZ2H@17Ka|N3bwZL%JB@|O0*`c*Gbr4n16Pz?IrZO-=_*fJbS^rg6hnZ;Qai#Vi-8$ zV>-0QL(y-TAfLy_-G>}Gul~ykhp$Ji>zNR8^W&PWdS=w-*C*3*_pk<;TpX9p-YSd3 z`e&_p>x-*1k)>Ge>-idqi-0f&D^1A1v#`ypHJ1P zsC&GGKR}H~Ph*w)dU8N5_mEy^U|sT=K>}J0D^34L zVh0Y;(zcX9#+)mx$jKsD29xO>jq5&o?J}*NF>P+8^KJw%Fs1%6Rj0lb{k@Beb{n7g z=_=<#OD~@`4;FUUkDIsT$brwc_PjaI(lkFPe>y4P9;4tpe@=6~$G}HGs^>A}@2vdI zdv({17HOR6`$}B|pcKuuO2$lRO~-EfS0XgxsK&ml0O$GP;2-}&l_#+^Tc)>>^S%hY zsG_!JD17&cv&DPj-RT+ipp@`-g2teXZDqLx^L-ADP2O*W@qy_F+o3 zB#FndU!GAdxT*AX(pAT^NiaX(5+^WAOmxL`{MV|#^AjrbQ>+z6j|Bk(TP8JmQxkty@0*mG0m7H;Hw(!6>h4}YJ71;|`~Uvo z=?bEBciz%k^=l;c*HF7gY9%pSv04As+g46g-O2jEsOV>J!i4G_nA2*6SYS+0y=h&k(bhY zQwq})20wDmfMh450^~moQY%t9Xo)IlVVb|&| zIe)oW9PXRE2oX<3wcgw~#~3$ik6dwUh!SmvJ8g9?y+hnk&>E3!^4{0Jfmfg0UA?FU zU?K$NwNjsrL{}~IF!J^IeXGk;VfSzWNwthk8M_wBB*G_=QHOTsnbBs&(Q59-DuK`3 zoracGia5_+@|6QZh~x5n3Dg5zeAPB#U5{jL{786jE56!nMKVjnhfDf!Z&>nQqy*z# zxshgQMDy+sszR@fV=;5UK0fcSt=AK=A0ZXdb072nQH9p$7QDfyOwC&m|BbdEK}bCn zaYLsPIpy)gj<=ubNA4^z@BT~N#<#IrA86MQ+)g?8dVGGC*(`>j+nAc)J7Rl2&X}}( z>}&M<)}n{pA)jH2mp_1Hbh_lVs?15u^vor2z+Ywj1!nIau-%SHI-&x)g-s(9$;c}S zCdo4;q72*+w_gbKLE z8^+X3B{Q}~TlL@f8bTO=1U*wlTG7K>3OXurI<+<{pial>u&{$gs0>^zPL57w#hf+J zb&1wH^$*|uQXlF_^HyRtK6rKI)*u-U$`g%Xtaovv7uU`S>qrMNK2ewTq(95$_JL9; zE`nB#C4VK*bX#3~94|{1qECb<8QwcN=MKtRMf?J8WfRVlLUHHkbm;zO@LOu~4DH$u zjQMJ=>ffHcl-3|!-sUP5*~yx3SAg0as+HySB$kC{TYz1A%TrC(z|*+}wq$I86LhPV zs>9k`#DlyTHHPiP(QN=jv1PdaO;{w5>G36QJW4g>tzuZyL|SAPNrrb%gLjr70q8&r zaTD9ORqA6(qal1KD`~B^Km+Lbi-A2=p%639yB@-pW(#BjBB@rp{nA>;*jZfVlJpVkW!3{)L)dg{DwL3UEKB#=SX!u)W!x&Wp!lG z!A(pY^SY_f$tf5~a7w677^MIP{0?Zv_pVhyY2#U{RB4LlM8odOQ4! zxDM0&*~mVI5`(D;S!s|n!n;0tU6(`drw2hb#w~LVvZ1;LkDkLbz@t$g&t6K94AP4G znbt9A*mD!k(_?)bxoYs7J8u(;u4E9!s~iKL;CJdd-t1iqP4g>J_0 zbv+(k37DOW)8`u(A(s!=Jm3(kuQv1q6olkQZ8m&uuNQ=6xJpSwGjf9W_*?uPG2uRR zAIFJm9!GQ}uguVT-MA1{hYcg?PWD5PJbS4lMQWVbBZymw(%f7)m@*wDod7X1pSI4o zcCP3-9;hSLU&8Ejj76QW=XC+19k|d)Q0SC$5a)oYVhx?t*$oCw!0+^Pip5i6{@AC> z_h(RCzi1Azxyw80RE~MQKa;CWIrG+@;G*|6UO9>?6%*pNktxxjhWnR(O{qs{_0L>b&%<|IK9Y{L~UrNC*OT#CTaZ@?m*%t2Vvcuin-2e&Mf zdfp9Tv+ceXr`X)^4&-4u59C|*x^1<+Z4~V>Pn^wY9|^ta^en5M?;c}7(LHd84^F%- z$Rw7ot8ie5A$~R^4Mv(df<>PN5=2D}(ap@wzszGP+ZHw!BI)q+yEsnLQYd|DxsaPg zmQLd##KgpuU+>i$78RNXBUMG5_M25&TAzuo6G3Ib1Iu}5-ikBc79i{J-#o_%Odf|x zN~#t`+~~<=^6L%qWz`8jh77hbI-JOQ_Uj$LwR+!+u7CE1!H`U1hJQ{+nnX|e1s9o_ znYn^##!W~tevH@SjC?@;xyY~nxL*+**TrnRN^yR1VQ{v|FjH>K7Rj}%J~26YBdk!3 z(VeZJtTwHG(a#|$-OLDx*L*ZOjv4<%mraNCboIq)?;uf9W zX!PtgsrXLk-D{7R-B5);)d7!_S5R~TLW?c(JaIwl=y+o>e~OokkDvLc3y=rn z_Xuxr^O#P6c3%%rC!-4MJ0JppNO5na0|j5?S(5Q8UX~)%k59~{Li)1@4_PPX_m4T5 zv_$nh4fmhYri-+qGT`07PYuXxVaUmqc-05<5&BU3Ciur02jVP)ORfGgi4f{xo**Z;zsHY7UKSW zl~0f9-7hf?dv%{ML4KBjX(@4??;9m2sQGf^;f~l4^ijbP)IobR)F62sm54V*Mc|?a zgV&C9_YocnH01W-?x~=P`0FVGUV%2yZVNy*O8vtRYTMLW)Y&>6gt;IO@-Bt<{Gg&j zov_$E8vL}BPC!$bpowBXTljRCK|tE*xQ7*+5O?=^faN8Uk5D*m66CfKHM1}kDlftA z=%4{sq3TTQZwCq*s5u?D6(jc`-1zbP2CkG4l&@|iJQ%OVGwSTZwU?K(wjd@!e1DF( z!hh&gmv_lJZB@%AdiS5QTGT%YclOAMY0yWSvO|jcH)Uj!Q-rGSF2;TCytul^EGj~l z6S$$EAMdRFT4@!`1-peIt19hW;A7^)9JaPfs@6&k|J>x zR{~Koiuj(jyy8D6TX%cg`<-XQ{6|d0YHDh9z6KdwgnzBjn_kabA|RYWo}8P*=|?RM zR9gEM^TLejXAS;TGRf<55NG}UamR&_W&?)X2YngMnP>+G2ix1*LOeg)>mALbnbzf1 zv4Zk<9w|nXr04Y568~+K8+_`gprGIbKD2^^BVxy{HoQB7=zmMq5RfaE5}3SehPKVR zy}vI8hA^*gu71;Jq&V^B`eMD3x!j8Or-a>_MD4M>hOSQpKId|&D9S7@;OP1k!usNB zpVg|iN(!+GnWwI%-t;6&ZcB>d@p25rNI5+cD(W2+pV7clYpeHDGiYQv zLvTz@7Lp+$q=FC|Y?Zdn=6x+o1W-RCx3NJo%OFCay>)kY7bPSljNXio=S1>mJ^oWZ z(H*yIBg9XYXIPy{lN&Ft{JSv!o8Ql!P?WEW*k)wA((-KMQ) zmYpBW@9M*g$thl&Sw10mBJBIVu0)hD!x8u5EuFAa~M# z5icrc;2_AycAZ+|G(P2q206Se_mZ|A5&#!$AFc$Cg@#6uOLtgp0gjW}(n z2~HD&?K`<=MG^-$SolW50HFh&eOy$aC%RUDC7Uis*NKTKp=sor%*-|nOoUVS35Av6 zU|0o8Ur?R#mxl$1wjwzrLI*0#b0j2E9(R`A%`~4~Pg#-0l?0N>IxG`6d1zs%XiqsM z6IlyQZN1`0Z$ZKrKYEra9)^&d@5Ch{Zv0!Yob#vb9h9Kr4#w^6?fRVu4gpT*h;3;7P~$m~to+fQrhmw%HBN$b!zYS3^~RT&mJR$~9)dNpP!4n4cT{ynvjS z{0NXwwiQ52zU#rMoQXs+)v6*@W3!Iv@9I!ki_LY{;I)x?IQ{+8R|p1ZxrmNlB;hDk zQuz;WNY`e^DJM+TLd~G=XuK-P{NKIpDei1}*Dog}!inFd`D!)AK zupxT_AY}W>lI5fL!@Mea!nSx0kk{^yFvh8d`YfqSXke&mp0M(4LJQF|BWKv(0WxX1 zpf$PVcV(AGy|yFFKK@0zxJ}n#T7=?F7b6{g52-IGEeOcbH-^m!q+^f9zS_!uF2mww zLmZdTjRh{)@ZVTv_WFe$!nN|_?k@Q6+q4iP7>8wi<1Up!R~3NC{q9dEu+jfM%Pci2 z{>62`wtiR)=nb=UEu#NrvXVS<4(M<1XJi197m6SxiCKS>^D%=a70ouxc>ru<-jgJr zVpy!d&Y5x^z7vo(`<)GM-~zK}SgKYtAWLGvj3t&4mVcIdJI=&=NB4~4uf-VX5(5q3 z$3m_9F7hDwI3XYgUyLzf?@aqh<6jN;(+A7pgMr%a9NjaRffLm|S)!GElUPZqqbKlD z>g1{en~&-HG0*vXOPR?GI=e_*{8b)mD-_wBY5bvjyKPoUz;mrJLP3*VHK#r;w}COd z4qXIu1MLF7$?gZ2Ve8+^Y<;Y)&?LKiW3K%|>o2Rq#J*o+$?IHk9XS08VW1sh&_p9~ zoMH<@%*6yezAPxD+g-n&{t9$W#OK%V}OA=YqZob?RPaD>2H4e?>utOnlWkr(b91WjdUa|XrhzuU~{)`v`xt@ zpDse*6(Cv7=z7c~uyxxK=z8Pr^}JoIWojb0J;s_K$SiorGHZB8BrM z_sO_N{j-i4ez$<=lp8LL8}KvYywbRQWblD2*7?B)9N5J!cgwNo!V1ZB8zaq2E@h%E zw4_#gmuGF!>5qpjvzD7x%!;%KzYxRd(n77i#3P{i96FZCXnCmnwb+g|D_k|Ju?~gJ zBdj1s2A9m5EKrI3vYNicSWa!I52zS3uP0hsN~wr`mwY zc|;#LJ(;b@bW9Deh49{ydRaEQAuY0d<136u@D$+66(V?!4C(;ows9VG+2gR9i@w{T z{rC*O#d?otg*QFQVCUowR z9D{g7`~AsPm&J|7j++DH>cR4aX4*K$(#{Sj*<`RmcyT|xYJ4NaTq+GL5EQG14t<+Q zR5v~U2Kdb4^P!N^i>{oU96BUXCRipQgl>t8l!63ny5byDm#E-u#CogZ##m_cQg3_n zF@}nQ^!PdKEnM;F{QNxVG)m*%uzBmnVWFaW=htV{{bA8mQF>t086VHj?`BsC%S*>yhZ7i;=HgBtodeC#*tUSHhIY4P4>XEn9elw(u)%rH-NjFUFi7zhNs8Cf2I z{27(}Oou`Wp+vGuW8m%ivg9dBPNxV@R+~XcoB(;2KQgkg0@9>4j{lk)Ga)w2fbdjo zmjsVBxzgM8fYsbxZZ7BK1S~xR*4OA4(+jRR7l$_XWGz`96Or^+0elG5DO&~|ycsQ$ zj1OabdOp^j_r|*>R_Hm#dlJ(*qEmw&Ce^aS#Y*vsxFbxr*Zv_qHlwh#-PvNq7B26i zQ2i~J(%7+9RJ7&JVt8+&iD+R`R_I#@`H3?vsIYm~w^(6(hgfUruSHdMlU^2rVtBX6 zJy$R9Go!>92G2Cm->p#gEtlU@g3%AkDzl@I)P6t7+tZM|h@p!VsVgneNV>3l z-}b&{6B5DRn{s2?Z$o5YIcDQ{Sr5v|A=507D^qo#GKdKzAv4s>4r1C$CNSw6{25xr z6;%kg+mAtPEzPL~R%H zvLl_rF9UHt-g)f)Uvg$h2X$-dRSv^s?apj8UE&cX=Px*Do6$EVxWE4>{-=5C>YY0; zoPVr{e%S|kC#r0&qKxaP*H9Yiq;d6p!0tHEqRC!-Bt}@aig23@8cXX5<4H-uNmtDS zwR8q@y9PRRg4!=*!I{u{ebYYCy|?}qXT62NY|Z;IUL>6uz)~(@b3*+37wRne zzlY91TXY;-5%iGvj8?UV{>MZ9eZns_62l-+f38c;T3r`_8U&}@iB`hJ1KmH5;`RH< z$zs5Vgk0nM>#hpd1)~SqWhV2<>PN>Hn+8atT7r-~RnU-Em+J3P{?$&~&l<&e;t9}oMdNs zU;R|*a6D`LIpEKQQp$X-jVsH8Me3#Fw_v8t6u3NzI5v8 z8r@%?fOF#cIwS%q!cH=n%gf8=BKOzy>OfpmQ`2BPclf(bz0KzyBY=Yr_TF?!)N5Yp z*{ZCjCJ5s3^3a^FBs{z8v(oRe9RY!AE)N#`j{c>dPnXtD@l)&!cu25p(WVn&64}9G zWKz-|fg+^PkPzb4(ET?L(&J!fEy|d3!I~7FFl5ADMqFmuaQySggNpsO`L$6HZw*7- zRz)QahV1Pjb$u~*gD<~z4~vE*hMdBZ3zqO}a`{jJBlX&H_xkyN>%#lr{~=2O;@EQH z&)W^SEQgTO^el{}JhBdo=V(gzEx>ZXZ5#n^Fy*Q&jH&rLa%oBT>~h|U*A)B+W=W(# z2|nzr?CFXDJJ16a7zJ1buiH>JJ#UrLMJQw5-~^7+Mp~ow*pqSbcz8S;Wp`pn)V30- z*b)^mZL#2?y$Df)%r{Qtsr@Gl)P`x8n1I^T7jWV~$FHxS{mG@kt<{RPmyXV23FCDq z)g}Ky<#_3rj=*ny%Dc9%j7ieZZ{WK(K?BM%h_#W1CiZo|xT<@uPMm-;);+x5WPb^P>(P=+w-xD+m1dXwvyWxk zjMHbG=yH7SW1pygjx8-6hT=b&%}xACkKQ8aX(N8Tmh{--1-aH&R47%$UjA#50BQq} zVEl~FqSS5f7hKOGm#i=M>n29tAwEa&?#F3&4VbT4*8F^2`8u9f5jPChcG%Qb%k zV60egW{HQz-{02n?FK0FA9ny{K!3_ZYH&R zITdASUkHCBsDt_H!lsA#l#;tOVlQA(@7K*k+-HlKA_#n(6nwfFemGX6#t7^>IqORJ zNh^?Gnv8{aa|(WF8n?`~2_8rlI&8jvk{u<02Wr^Oj|v%#I(t49Cv&s@z{xq>co>LJ z{Mg>&_3$;$@q!Hw7A~4VmMndsEuM75b~)5Qi_$KMJuoOp0mN#x>0I)-GHlgyHjG+R zU42+_$A58pdJ4r@cfBf(-W`SgX{_9@ZP|78x+z;Rml&`y2)`Z?-fL)w@@NChjFd2LrFRB6I735j$?ChZn4~v5#hjR`rMq|{1 z!#DK`{$!aZYwtkeqQORSA6{n@d94G9lla{)HA^Qh8XR&R)JdL<$4zS`Iv zcaN^fnGtd_k_v(u;5m~Sgc1SH%0Scg_4U>L2W&%JhO|HqFcGq@B$SlK|31|n-p-rh z;b|e<@IltE#!EM#&# zl$+__il4&MxynvjO6oSe#QH69;M^fsergO@aHOn`uh_S+TnWRUpuY9R#;8;sz{K9`>aZ7HS7!3Qcu}9ZG<$Nm+OowoKlCGo zzdF0G4Hrdw`mWyB5OCT5CcUGNVyI=gU2fp6VDw{W)OWJZrUFX7IwNhKID@N~<2ZNy z$NL*9nG_a#DaLfrNgAjZA4t|nN)&c8&R)J*@Frs??S)QaoM+}0-sM7f3Hb%K5p9px5j>L9v8IhU+=@7oSdYwOU8ND#oGpd zycDgR-($GINI~3nqvf;vxA0uWVUa^9`<(W-w;F6F_Y4FmR~De=CeiUqMwdg;v^~q+ z!^4w~w7(|h&3gBBkUB>8u9cOM={c~zZ7EX1D8#yz+wS#W*c%sH1EePIwIkzxIC z@bILLIbV+HuaI;~z;(@{vj!`1Q~bpUx?Hb5OzBzL?WsxSlHLuwek#G6z7`^{>y@XI zxDtYVuJ|iQ+vBpl2i;v^*mp-yb;a&*ugd2vH(r@hyhnB-fS!=9_8Qzr;Cd;X z4ku*(3?8_Z@iwQnj?H|EUfcbkN>V13c|`&37%S}Etmtt8`UWV9do$7f5d?ftv*aR( zw}*EEv%oV-5dYcrG*GQ3S|+OsJ5BeuQewl7IuK?G0TiO^%*^xOMu>%r8F1l5NEm)i zbKUd-7Y%*Rz>cA{FNUfI3WA)OEB3n~ABh%(aj-HUkP^3dglZbmNz6@I%sUoD74;w= z3ykA6pDJuq0o@T1xou~vjqjW*VkCIQK=D&@va=I7f_(>v*9xNEbMfw86p^ebjZ$O< zs)339x$RxdIz5Z}L{Ask@#A5Oh)>OgoqO_g278i8DV=n|ry{}BMA&5AvtI>jk zm(RFA){a}mWi4k~pz_=N}1&?fIqZe+c6OG-IX?6zQ%I=Ct13;0<)CYRb!WG zUk8(aFSrdbxPafYxpX(VIel=eZ!jJprj$$eCy(S3VU*fetE8vKaR;Zx93rB53=~)V_<&)|b=Vk!RjH z-_$~mul9Rc{xt%*+evpTND^Lv-;2GxYWaaKd{+dNu>BqNk$M|Qn;-grH22m~QGLz9j9z+{`%L7R8h(HjZ1B5mb*8%!!M5A2H537@N~i+W8@8?ZeR1|Gv`105>Ct z_RY^&nHfUn8v-*C&)LJ+4o z3KdItt*BzO`*c@h19Dp@z1^Z)MC%0_UYhuzKbv}pYTGuCM6@o!T!-stK%(g?WCmxE z?-8+Gssu;hx<=h2T)2h~j2Fk$A4{sK+%cg1NY6re=Rdz^M&5vrw45@z{5)12?7v^? zk}v17)xLmiiVmqsr}1(Be&o4}BYtJ(%vw>m=5-efe#!Oo7i7R+Eh z_fO<0rH_!XFrDbCIo-|PuPCa}D2c~Au z<7AVzyt(+9PiBOG#vJ{3ehq0q*LqWdOgCN&ZOP@d^q=Th{F^$m7G`aQSl^J43o-&yJfYU;+Fxc z8H)=-9Wat(7zsheAp4YS=fuIRj zbl$gZw=Sq|KKtu-onLSzP1u);qN(Gz&ahWzP5^B_hY_!NK`Y%*7 zj9f{>%j*{yd>5^?oW=sjT`cF>=H&sHqwfFCqZfPy`|#P^!o{k?$T@U=e9~_&)B;Cb zR&&@kwBEI(uX|-#)4QZcJxon!Ba5w1H}+aSMQs!`%q$*8wfIks3z}=m1NDd#nBA@a z#J-2YupsZYnv!{_RJW=4)M?Zp=`Kfoyl-C~^2G2NVX$L;tN`$5O6REkxbK+!YARou zD%QGQn%=(6+0FrwC2W4*r?LSxVa{JBBYMHnsTvopV1W3iTmfn zBL1y_m5ea|B#e^&C&{BuPyv~uF#FFQv!WwYGP~Jgv^FJzz&o5Wg1M&UvcPY(ju+;a zZMQ~F5o;U|92<|AT4ULsY)kE1`W;WoP1jj&5ElGqIq}sNsj}8lblv8xeCOyO^KzDn z;Kff~%;N#GpMP}Ay##IAUE?{yYQc@MjJXT1PQ5|cPjg4JE+?8T%MQL~EMdKMaaPrKYu zzE~xbu)D3;^HLxfHO4q5b=!`I;^qDPAhOix#p5{ms0;g#!K-2oh;$By43cd_Mpr$M zuzlfP+G)7N!GsG;5sohXhdH+Bo>CLo4>3-ZE7BQ#w!Tr7_R^-{w#M6?xn#&>mzV+c z#g&5vncZn^6Dr?0GY6gwUi(gB+d=RAcH}P)hoc>?0`Nrl=t$%!*`#JWdBg80wVR-R zo;nSal<(HQykV{+N~MoHVEdyPb1viTgAR(BqjNfQ4T4%8Z~RX6@A;Y(7E3z(#zm8S zAj94Q>&EQEcLt0CcnfWdFps>wQK#McUFQO_1;9M?Z1fZBE-eSO_;@$dY1%$Z)4>qa z^0tZJlO<7)3hdA53>X{kArk7k#;2iJCKV4hiT`F&gsP)Ks8W9^ZxLX+F{gxUjmR>5 z$|(~H>4{z>b0PcvWAaX4<|z+cfN#6+L3_;DGV+o$5^ zyS2LKTVOS`>U2vHtc+yIPh6piU>BksH~@JbV(E03JMYnkx0P(YXW)?8dDf!n@L&o3 zZ_3H2$nmUsSa45C3G*f?^=52_yy+#USHr~sEQG>dq=dF^OU*L_Pv%$-XEiu9A=kk` zJmpt?R&|y8^4PJgoT7`S&GpYO_Y_}c4xyL+=pG9O1ZYmw^9r6{nZ~mW@I9O#hkcT& z*J#?Q$-O&j^!-F=@7LlYhdA98Af=vH@n;MClQq;{_@+Yh<|dG5FXwyZY#G`mUk`DlB%|GJrb?N`!6%-=~Gnnnf&Y?94S(6%!Ch}>2COghuS~U*5QK6Tm6w-08IiSANCycJbx~WDJX{=u z%+2A-rD^txi)MAX7|yCxE57?WtEP?F!dOxJvby{$9q2H|3y_|musRsk9!N)&7(6L~ zuc&hw!Cf_<$zZ=3#z_Vzyz25*Oh5kQ#STUZ6-ugfos3ktSv71ivxbTD0SA4Ivf+vpCo}*CS%;zd6&5z|0t+K!5-{)sNhPPUESq)rbAip zBC6vPg|qtd-jWZO*&a6!lThz+ zEbpgvL+$bXU74UoGGosj-_;8_oecXHf!@=&WIvf+11dGAQHs99`%S9*nn}vyRIdxN z+u%Q&2s0nbFuq2$LcdARTl3D&^-t4yV1Prv_JT<5gjs-ot=<`<4ZmCAVM6Y+P=S+= z4^WX(>g>CjY|O8KZR91pHtuB$jGGVEi2vGz=19lYDE|7o24uu43qcmE<0sFYq89p1 zTU5ED&$}sVKXpH4ENxMT&%5ov8!kgqc0u42Z2wz}F zwoA6Dsj`doa4r*#3t}Q?#Gm;s&;SEU`6q|5t`YNx#!#l+d1>oS*9$u69PH+>VsnZ) zyhiZ@)QB1flU58~6j+(|y5mEvz-uks&wmE1OC7;5oi|0n!oZC2*W=xV z%&hOLnZ+7BiSUhj&cSUo^Q~BF#_E{Q)a-Dycpvo??^)*vg+BP3dGkehM9?w;VMY33 z*w<(NAjds!}{?0BgqwO@q(&)i(w;2}g&{tYg5SpWoDmx(lTJoaBJ7cN!I^>4iu-X2VM|Z|YXaaK|padi>_$n|bbXme^l~ zSHyqUawJ}pP>lSzqCzxOoZ><@RGjESwmb7#PbR)c?*H?{eXFPQYOi>w04kLRY z=L~aHQSjIPhJ34`ZMxGAU8|!NKL_hmJ#fGYh!YF$&syBo?gwe0N;#+WKc`EExnYA~ z@ei&D;+sl5a8160D?&3a9jw+zG+XOEvBfC7`&7SUSI(XsGK+=p9H@ zo-stNf75g*b%-h~HD!fxAWxH=a<9)6Y?4^PTA1l}&7z0=n^o^~(a^Ibueg*N+!^C> zE8A_dP16a1kA8zYSb(43M%7`2-;kG=3!|H|V6=4J4oof8;XyU8Z(3TfeOg}$jD`MO z23QO&OMp4Ay<50MUOUR^y{>amRUOr*puU>;o3RM>89!mV^l-THsXbyExkptE!4NCi zIiNx$gSdH;d3j=$8gS_GZk{9n=wm=w&^P7vrP^vXrS(I(<#WpA^_A25<>flI^Mw`X zL^5g?OgNL67*HH3Z0P0h=gH@H_m&3|Kf)xwUxFAq4>w(snlCei6ZN<+`8P9sIA(;2 zk)B>JZ{LCdqZBtXxURMu8ivA@RH^p(cu-)oVTLSEAl%U^)Q}P8xdXxCXFxmv006$# z5xC&Z##<*vlbNHL`t|5SbGT~C0pD$YfjbovO(RoM&u)thbt7O)l+y$Z@^m+b<%fzF z=X1WCzA@PZxFm-`q(-5mC^8agk+2*=2=42I|8@c%xx6bMuH}q z0_@6LR8+liqt-X!6D;EeDpB~%G}btI`$gju&*r0p#49hA5UWE&uLNO~DBAuVPT6AM z7|G=Po(|lSOZfGXc22S41GmtC813B2-_!+MA5lI}t5XR}Xxuq}Zz>yNCG4hv7#a!|Vq&61TKSko zZ>Amf-4RToKYR*6LlHj9=M`uvP(0R?vixWRYf&-@158Z53dn)3-_3dbXp3J&A zwp5EjO`To{wX^}WigIQg648Z(7(uDDyLS_X!BW|eA9$C!bkosMehn74J|n}B__GvZ zf9PsGEb>Nu_gqvn+ zRSfLg;Lx4)s$1%_3S^qm6}Yp){F}sKo)pJ}TYqHr`dF{CBUdh1Oi)jY4agur;qD!o zP{Nu$GI(u=h*0L|WB6|=@Pa%0UpFqRd#=`kt{m;hJ`#(yI4G);eGHVG?6;6AgoN1@ zYWlv@XH98(@hyNBtC_12L;qz=f_Q%4GuOIyXIkczY54kPka$Kx4z0lBf79hmcloqb z0gvv<9(rNnIs`%pA0d zU;O?JM0xW_U^O-UUl=kqj4(wjQbw^0zV#($qEr?o

VAYfk?^x~`13$Lr9a(1gx@ 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 literal 50708 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 From f883b0f90489348b287b5425a83d6517c0ba092a Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 14:24:44 -0700 Subject: [PATCH 062/283] CLOUDSTACK-2120: mixed zone management - UI: count total number of Primary Storages, Secondary Storages based on selected option in zone type dropdown on top menu. --- ui/scripts/system.js | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 312d5f4906e..fea76693b13 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -269,29 +269,40 @@ }, primaryStorageCount: function(data) { + var data2 = { + page: 1, + pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listStoragePools'), - data: { - page: 1, - pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. - }, + data: data2, success: function(json) { - dataFns.secondaryStorageCount($.extend(data, { - primaryStorageCount: json.liststoragepoolsresponse.count ? - json.liststoragepoolsresponse.count : 0 + dataFns.secondaryStorageCount($.extend(data, { + primaryStorageCount: json.liststoragepoolsresponse.count ? json.liststoragepoolsresponse.count : 0 })); } }); }, secondaryStorageCount: function(data) { + var data2 = { + type: 'SecondaryStorage', + page: 1, + pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listHosts'), - data: { - type: 'SecondaryStorage', - page: 1, - pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. - }, + data: data2, success: function(json) { dataFns.systemVmCount($.extend(data, { secondaryStorageCount: json.listhostsresponse.count ? From 232d44bf6e31898887b324bcdebbc659423917e4 Mon Sep 17 00:00:00 2001 From: Prachi Damle Date: Thu, 25 Apr 2013 14:47:59 -0700 Subject: [PATCH 063/283] CLOUDSTACK-2158: 'userconcentratedpod_firstfit failed to find alternate host to run VM In the applicationContext .xml , the context of the 'UserConcentratedPodPlanner' needs to include the list of allocators. This will ensure that when this component is loaded by Spring, the allocators gets initialized. --- client/tomcatconf/applicationContext.xml.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index d2ea380ddab..1f5ab20333a 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -532,10 +532,14 @@ --> + + + + From 6f60833f9321bb1639372900bb625dd657006229 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 15:09:45 -0700 Subject: [PATCH 064/283] CLOUDSTACK-2120: mixed zone management - (1) extend listRouters API to to take in zonetype. (2) UI: populate Routers list page with ones whose networktype matches selected option in zone type dropdown on top menu. (3) UI: count total number of Routers based on selected option in zone type dropdown on top menu. --- .../command/admin/router/ListRoutersCmd.java | 7 ++ .../com/cloud/api/query/QueryManagerImpl.java | 12 ++- ui/scripts/system.js | 93 ++++++++++++------- 3 files changed, 78 insertions(+), 34 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java b/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java index d2b26c0ac8f..9fbc9401532 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java @@ -64,6 +64,9 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { description="the Zone ID of the router") private Long zoneId; + @Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to") + private String zoneType; + @Parameter(name=ApiConstants.NETWORK_ID, type=CommandType.UUID, entityType=NetworkResponse.class, description="list by network id") private Long networkId; @@ -103,6 +106,10 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { return zoneId; } + public String getZoneType() { + return zoneType; + } + public Long getNetworkId() { return networkId; } diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 67af7e4b684..2c003d31679 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -994,7 +994,8 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { Long id = cmd.getId(); String name = cmd.getRouterName(); String state = cmd.getState(); - Long zone = cmd.getZoneId(); + Long zoneId = cmd.getZoneId(); + String zoneType = cmd.getZoneType(); Long pod = cmd.getPodId(); Long hostId = cmd.getHostId(); String keyword = cmd.getKeyword(); @@ -1027,6 +1028,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { sb.and("accountId", sb.entity().getAccountId(), SearchCriteria.Op.IN); sb.and("state", sb.entity().getState(), SearchCriteria.Op.EQ); sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ); + sb.and("dataCenterType", sb.entity().getDataCenterType(), SearchCriteria.Op.EQ); sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ); sb.and("hostId", sb.entity().getHostId(), SearchCriteria.Op.EQ); sb.and("vpcId", sb.entity().getVpcId(), SearchCriteria.Op.EQ); @@ -1067,10 +1069,14 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { sc.setParameters("state", state); } - if (zone != null) { - sc.setParameters("dataCenterId", zone); + if (zoneId != null) { + sc.setParameters("dataCenterId", zoneId); } + if (zoneType != null) { + sc.setParameters("dataCenterType", zoneType); + } + if (pod != null) { sc.setParameters("podId", pod); } diff --git a/ui/scripts/system.js b/ui/scripts/system.js index fea76693b13..8c962fc2b7b 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -329,22 +329,35 @@ }, virtualRouterCount: function(data) { + var data2 = { + projectid: -1, + page: 1, + pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listRouters'), - data: { - projectid: -1, - page: 1, - pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. - }, + data: data2, success: function(json) { - var total1 = json.listroutersresponse.count ? json.listroutersresponse.count : 0; + var total1 = json.listroutersresponse.count ? json.listroutersresponse.count : 0; + + var data3 = { + listAll: true, + page: 1, + pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data3, { + zonetype: cloudStack.context.zoneType + }); + } $.ajax({ url: createURL('listRouters'), - data: { - listAll: true, - page: 1, - pagesize: 1 //specifying pagesize as 1 because we don't need any embedded objects to be returned here. The only thing we need from API response is "count" property. - }, + data: data3, success: function(json) { var total2 = json.listroutersresponse.count ? json.listroutersresponse.count : 0; dataFns.capacity($.extend(data, { @@ -2317,12 +2330,18 @@ } } + var data2 = { + forvpc: false + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } var routers = []; $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), - data: { - forvpc: false - }, + data: data2, success: function(json) { var items = json.listroutersresponse.router ? json.listroutersresponse.router : []; @@ -2334,9 +2353,7 @@ // Get project routers $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"), - data: { - forvpc: false - }, + data: data2, success: function(json) { var items = json.listroutersresponse.router ? json.listroutersresponse.router : []; @@ -2798,13 +2815,19 @@ } } + var data2 = { + forvpc: true + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } var routers = []; $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), dataType: 'json', - data: { - forvpc: true - }, + data: data2, async: true, success: function(json) { var items = json.listroutersresponse.router; @@ -2816,9 +2839,7 @@ $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"), dataType: 'json', - data: { - forvpc: true - }, + data: data2, async: true, success: function(json) { var items = json.listroutersresponse.router; @@ -5754,10 +5775,16 @@ var searchByArgs = args.filterBy.search.value.length ? '&name=' + args.filterBy.search.value : ''; + var data2 = {}; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } var routers = []; $.ajax({ url: createURL("listRouters&listAll=true&page=" + args.page + "&pagesize=" + pageSize + searchByArgs), - dataType: 'json', + data: data2, async: true, success: function(json) { var items = json.listroutersresponse.router ? @@ -5770,7 +5797,7 @@ // Get project routers $.ajax({ url: createURL("listRouters&listAll=true&page=" + args.page + "&pagesize=" + pageSize + "&projectid=-1"), - dataType: 'json', + data: data2, async: true, success: function(json) { var items = json.listroutersresponse.router ? @@ -5854,12 +5881,18 @@ } } + var data2 = { + forvpc: false + }; + if(cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type + $.extend(data2, { + zonetype: cloudStack.context.zoneType + }); + } var routers = []; $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), - data: { - forvpc: false - }, + data: data2, success: function(json) { var items = json.listroutersresponse.router ? json.listroutersresponse.router : []; @@ -5870,9 +5903,7 @@ // Get project routers $.ajax({ url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"), - data: { - forvpc: false - }, + data: data2, success: function(json) { var items = json.listroutersresponse.router ? json.listroutersresponse.router : []; From 64635abba5804767764e5d130ae6429c6b76b371 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 25 Apr 2013 16:03:02 -0700 Subject: [PATCH 065/283] CLOUDSTACK-1910: UI- Regions menu - GSLB - View assigned load balancing - refresh data. --- ui/scripts/regions.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js index 334eb267bd8..2bbbbeea672 100644 --- a/ui/scripts/regions.js +++ b/ui/scripts/regions.js @@ -461,18 +461,27 @@ id: 'lbUnderGSLB', label: 'assigned load balancing', fields: { - 'name': { label: 'label.name' }, + name: { label: 'label.name' }, publicport: { label: 'label.public.port' }, - privateport: { label: 'label.private.port' }, - algorithm: { label: 'label.algorithm' } + privateport: { label: 'label.private.port' }, + algorithm: { label: 'label.algorithm' } }, - dataProvider: function(args) { - var items = args.context.GSLB[0].loadbalancerrule; - args.response.success({ - data: items - }); + dataProvider: function(args) { + var data = { + id: args.context.GSLB[0].id + }; + $.ajax({ + url: createURL('listGlobalLoadBalancerRules'), + data: data, + success: function(json) { + var items = json.listgloballoadbalancerrulesresponse.globalloadbalancerrule[0].loadbalancerrule; + args.response.success({ + data: items + }); + } + }); }, - actions: { + actions: { add: { label: 'assign more load balancing', messages: { From efb4471dc9b8204fd97e2f053fca0dfe1e9d922b Mon Sep 17 00:00:00 2001 From: Min Chen Date: Thu, 25 Apr 2013 17:40:18 -0700 Subject: [PATCH 066/283] CLOUDSTACK-2196 and CLOUDSTACK-2126: fix missing async job status in listXXX api and incorrect async job status in other async api. Conflicts: server/src/com/cloud/api/query/vo/AccountJoinVO.java --- core/src/com/cloud/async/AsyncJobVO.java | 1 + server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java | 6 ++++-- .../com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java | 6 ++++-- server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java | 6 ++++-- .../com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java | 6 ++++-- .../src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java | 6 ++++-- .../src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java | 6 ++++-- server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 6 ++++-- server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java | 6 ++++-- server/src/com/cloud/api/query/vo/AccountJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/HostJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/SecurityGroupJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/StoragePoolJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/UserAccountJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/UserVmJoinVO.java | 6 +++--- server/src/com/cloud/api/query/vo/VolumeJoinVO.java | 6 +++--- 17 files changed, 57 insertions(+), 40 deletions(-) diff --git a/core/src/com/cloud/async/AsyncJobVO.java b/core/src/com/cloud/async/AsyncJobVO.java index ad482b03a9d..c40fc987a4a 100644 --- a/core/src/com/cloud/async/AsyncJobVO.java +++ b/core/src/com/cloud/async/AsyncJobVO.java @@ -133,6 +133,7 @@ public class AsyncJobVO implements AsyncJob { this.callbackType = CALLBACK_POLLING; this.uuid = UUID.randomUUID().toString(); this.instanceId = instanceId; + this.instanceType = instanceType; } public AsyncJobVO(long userId, long accountId, String cmd, String cmdInfo, diff --git a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java index 796ae54d52f..528bdacffda 100644 --- a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java @@ -203,8 +203,10 @@ public class AccountJoinDaoImpl extends GenericDaoBase impl accountResponse.setObjectName("account"); // set async job - accountResponse.setJobId(account.getJobUuid()); - accountResponse.setJobStatus(account.getJobStatus()); + if (account.getJobId() != null) { + accountResponse.setJobId(account.getJobUuid()); + accountResponse.setJobStatus(account.getJobStatus()); + } return accountResponse; } diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java index 25cd62faf7b..125db17c760 100644 --- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java @@ -158,8 +158,10 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase implements hostResponse.setResourceState(host.getResourceState().toString()); // set async job - hostResponse.setJobId(host.getJobUuid()); - hostResponse.setJobStatus(host.getJobStatus()); + if (host.getJobId() != null) { + hostResponse.setJobId(host.getJobUuid()); + hostResponse.setJobStatus(host.getJobStatus()); + } hostResponse.setObjectName("host"); diff --git a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java index 3e579c179e2..2a6afca231e 100644 --- a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java @@ -117,8 +117,10 @@ public class SecurityGroupJoinDaoImpl extends GenericDaoBase implem } } userVmResponse.setPassword(userVm.getPassword()); - userVmResponse.setJobId(userVm.getJobUuid()); - userVmResponse.setJobStatus(userVm.getJobStatus()); + if (userVm.getJobId() != null) { + userVmResponse.setJobId(userVm.getJobUuid()); + userVmResponse.setJobStatus(userVm.getJobStatus()); + } //userVmResponse.setForVirtualNetwork(userVm.getForVirtualNetwork()); userVmResponse.setPublicIpId(userVm.getPublicIpUuid()); diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java index a7a0bf0b435..a09c4a0c09b 100644 --- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java @@ -197,8 +197,10 @@ public class VolumeJoinDaoImpl extends GenericDaoBase implem volResponse.setExtractable(isExtractable); // set async job - volResponse.setJobId(volume.getJobUuid()); - volResponse.setJobStatus(volume.getJobStatus()); + if (volume.getJobId() != null) { + volResponse.setJobId(volume.getJobUuid()); + volResponse.setJobStatus(volume.getJobStatus()); + } volResponse.setObjectName("volume"); return volResponse; diff --git a/server/src/com/cloud/api/query/vo/AccountJoinVO.java b/server/src/com/cloud/api/query/vo/AccountJoinVO.java index 800da7803fd..fbcc9342b22 100644 --- a/server/src/com/cloud/api/query/vo/AccountJoinVO.java +++ b/server/src/com/cloud/api/query/vo/AccountJoinVO.java @@ -177,7 +177,7 @@ public class AccountJoinVO extends BaseViewVO implements InternalIdentity, Ident private Long secondaryStorageTotal; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -645,12 +645,12 @@ public class AccountJoinVO extends BaseViewVO implements InternalIdentity, Ident } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java b/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java index 5f2b500fa57..83e15477287 100644 --- a/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java +++ b/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java @@ -210,7 +210,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti private String projectName; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -781,14 +781,14 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/HostJoinVO.java b/server/src/com/cloud/api/query/vo/HostJoinVO.java index 4aa45e5f593..4b70cfcaa10 100644 --- a/server/src/com/cloud/api/query/vo/HostJoinVO.java +++ b/server/src/com/cloud/api/query/vo/HostJoinVO.java @@ -168,7 +168,7 @@ public class HostJoinVO extends BaseViewVO implements InternalIdentity, Identity private long cpuReservedCapacity; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -427,11 +427,11 @@ public class HostJoinVO extends BaseViewVO implements InternalIdentity, Identity this.osCategoryName = osCategoryName; } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/SecurityGroupJoinVO.java b/server/src/com/cloud/api/query/vo/SecurityGroupJoinVO.java index 922e130ed30..258b6136224 100644 --- a/server/src/com/cloud/api/query/vo/SecurityGroupJoinVO.java +++ b/server/src/com/cloud/api/query/vo/SecurityGroupJoinVO.java @@ -77,7 +77,7 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt private String projectName; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -269,11 +269,11 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt this.projectName = projectName; } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/StoragePoolJoinVO.java b/server/src/com/cloud/api/query/vo/StoragePoolJoinVO.java index da06227ea66..d86726c3523 100644 --- a/server/src/com/cloud/api/query/vo/StoragePoolJoinVO.java +++ b/server/src/com/cloud/api/query/vo/StoragePoolJoinVO.java @@ -121,7 +121,7 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -342,11 +342,11 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I this.reservedCapacity = reservedCapacity; } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java b/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java index d85392fb85a..c44027b8bc0 100644 --- a/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java +++ b/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java @@ -109,7 +109,7 @@ public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, I private String domainPath = null; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -324,11 +324,11 @@ public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, I this.loginAttempts = loginAttempts; } - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/UserVmJoinVO.java b/server/src/com/cloud/api/query/vo/UserVmJoinVO.java index a50906d9e3d..d7b516c312f 100644 --- a/server/src/com/cloud/api/query/vo/UserVmJoinVO.java +++ b/server/src/com/cloud/api/query/vo/UserVmJoinVO.java @@ -332,7 +332,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { private String keypairName; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -1608,14 +1608,14 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } diff --git a/server/src/com/cloud/api/query/vo/VolumeJoinVO.java b/server/src/com/cloud/api/query/vo/VolumeJoinVO.java index 8a4bfe5c0fa..2d7b1d5bb49 100644 --- a/server/src/com/cloud/api/query/vo/VolumeJoinVO.java +++ b/server/src/com/cloud/api/query/vo/VolumeJoinVO.java @@ -206,7 +206,7 @@ public class VolumeJoinVO extends BaseViewVO implements ControlledViewEntity { private Storage.TemplateType templateType; @Column(name="job_id") - private long jobId; + private Long jobId; @Column(name="job_uuid") private String jobUuid; @@ -817,13 +817,13 @@ public class VolumeJoinVO extends BaseViewVO implements ControlledViewEntity { - public long getJobId() { + public Long getJobId() { return jobId; } - public void setJobId(long jobId) { + public void setJobId(Long jobId) { this.jobId = jobId; } From f429c6687b713cbbe1ca7f78bbf4869a32fe39f4 Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Thu, 25 Apr 2013 22:35:54 -0600 Subject: [PATCH 067/283] Don't allow success to be reported when we fail to stop vm due to no agent connection BUG-ID: CLOUDSTACK-2195 Bugfix-for: 4.2 Reviewed-by: Edison Su Signed-off-by: Marcus Sorensen 1366950954 -0600 --- server/src/com/cloud/vm/UserVmManagerImpl.java | 11 +++++++---- .../src/com/cloud/vm/VirtualMachineManagerImpl.java | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index ebc5757770e..f58d6be5b2f 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2902,10 +2902,15 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use } UserVO user = _userDao.findById(userId); - + boolean status = false; try { VirtualMachineEntity vmEntity = _orchSrvc.getVirtualMachine(vm.getUuid()); - vmEntity.stop(new Long(userId).toString()); + status = vmEntity.stop(new Long(userId).toString()); + if (status) { + return _vmDao.findById(vmId); + } else { + return null; + } } catch (ResourceUnavailableException e) { throw new CloudRuntimeException( "Unable to contact the agent to stop the virtual machine " @@ -2915,8 +2920,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use "Unable to contact the agent to stop the virtual machine " + vm, e); } - - return _vmDao.findById(vmId); } @Override diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index 252fc99ca0d..b0d6378e9e5 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -1136,7 +1136,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac vmGuru.finalizeStop(profile, answer); } catch (AgentUnavailableException e) { + s_logger.warn("Unable to stop vm, agent unavailable: " + e.toString()); } catch (OperationTimedoutException e) { + s_logger.warn("Unable to stop vm, operation timed out: " + e.toString()); } finally { if (!stopped) { if (!forced) { From 2f40a90c53067c3901cf9e5c9a33309907e48aab Mon Sep 17 00:00:00 2001 From: Ashutosh Kelkar Date: Wed, 24 Apr 2013 15:03:10 +0530 Subject: [PATCH 068/283] Multiple fixes to marvin framework 1. adding hypervisor information to configs TODO: support for multi-hypervisor zones? 2. CLOUDSTACK-601: Marvin unicode decode errors when running mysql queries via dbClient 3. adding keypair support for remotessh client Signed-off-by: Prasanna Santhanam --- tools/marvin/marvin/asyncJobMgr.py | 70 ++- tools/marvin/marvin/cloudstackConnection.py | 17 +- tools/marvin/marvin/cloudstackTestClient.py | 53 +- tools/marvin/marvin/dbConnection.py | 6 +- tools/marvin/marvin/deployDataCenter.py | 7 + tools/marvin/marvin/integration/lib/base.py | 600 +++++++++++++++++-- tools/marvin/marvin/integration/lib/utils.py | 17 +- tools/marvin/marvin/remoteSSHClient.py | 18 +- 8 files changed, 669 insertions(+), 119 deletions(-) diff --git a/tools/marvin/marvin/asyncJobMgr.py b/tools/marvin/marvin/asyncJobMgr.py index 40304fa4141..698462783bd 100644 --- a/tools/marvin/marvin/asyncJobMgr.py +++ b/tools/marvin/marvin/asyncJobMgr.py @@ -28,6 +28,8 @@ class job(object): def __init__(self): self.id = None self.cmd = None + + class jobStatus(object): def __init__(self): self.result = None @@ -37,8 +39,11 @@ class jobStatus(object): self.duration = None self.jobId = None self.responsecls = None + def __str__(self): return '{%s}' % str(', '.join('%s : %s' % (k, repr(v)) for (k, v) in self.__dict__.iteritems())) + + class workThread(threading.Thread): def __init__(self, in_queue, outqueue, apiClient, db=None, lock=None): threading.Thread.__init__(self) @@ -47,11 +52,11 @@ class workThread(threading.Thread): self.connection = apiClient.connection.__copy__() self.db = None self.lock = lock - + def queryAsynJob(self, job): if job.jobId is None: return job - + try: self.lock.acquire() result = self.connection.poll(job.jobId, job.responsecls).jobresult @@ -59,10 +64,10 @@ class workThread(threading.Thread): result = str(e) finally: self.lock.release() - + job.result = result return job - + def executeCmd(self, job): cmd = job.cmd @@ -70,14 +75,15 @@ class workThread(threading.Thread): jobId = None try: self.lock.acquire() - + if cmd.isAsync == "false": jobstatus.startTime = datetime.datetime.now() - + result = self.connection.make_request(cmd) jobstatus.result = result jobstatus.endTime = datetime.datetime.now() - jobstatus.duration = time.mktime(jobstatus.endTime.timetuple()) - time.mktime(jobstatus.startTime.timetuple()) + jobstatus.duration = time.mktime(jobstatus.endTime.timetuple()) - time.mktime( + jobstatus.startTime.timetuple()) else: result = self.connection.make_request(cmd, None, True) if result is None: @@ -99,9 +105,9 @@ class workThread(threading.Thread): jobstatus.result = sys.exc_info() finally: self.lock.release() - + return jobstatus - + def run(self): while self.inqueue.qsize() > 0: job = self.inqueue.get() @@ -109,18 +115,20 @@ class workThread(threading.Thread): jobstatus = self.queryAsynJob(job) else: jobstatus = self.executeCmd(job) - + self.output.put(jobstatus) self.inqueue.task_done() - + '''release the resource''' self.connection.close() + class jobThread(threading.Thread): def __init__(self, inqueue, interval): threading.Thread.__init__(self) self.inqueue = inqueue self.interval = interval + def run(self): while self.inqueue.qsize() > 0: job = self.inqueue.get() @@ -130,23 +138,25 @@ class jobThread(threading.Thread): job.apiClient.connection.close() except: pass - + self.inqueue.task_done() time.sleep(self.interval) - + + class outputDict(object): def __init__(self): self.lock = threading.Condition() - self.dict = {} + self.dict = {} + class asyncJobMgr(object): def __init__(self, apiClient, db): self.inqueue = Queue.Queue() - self.output = outputDict() + self.output = outputDict() self.outqueue = Queue.Queue() self.apiClient = apiClient self.db = db - + def submitCmds(self, cmds): if not self.inqueue.empty(): return False @@ -160,11 +170,12 @@ class asyncJobMgr(object): id += 1 ids.append(id) return ids - + def updateTimeStamp(self, jobstatus): jobId = jobstatus.jobId if jobId is not None and self.db is not None: - result = self.db.execute("select job_status, created, last_updated from async_job where id=%s"%jobId) + result = self.db.execute( + "select job_status, created, last_updated from async_job where id='%s'" % str(jobId)) if result is not None and len(result) > 0: if result[0][0] == 1: jobstatus.status = True @@ -174,7 +185,7 @@ class asyncJobMgr(object): jobstatus.endTime = result[0][2] delta = jobstatus.endTime - jobstatus.startTime jobstatus.duration = delta.total_seconds() - + def waitForComplete(self, workers=10): self.inqueue.join() lock = threading.Lock() @@ -183,28 +194,30 @@ class asyncJobMgr(object): for i in range(workers): worker = workThread(self.outqueue, resultQueue, self.apiClient, self.db, lock) worker.start() - + self.outqueue.join() - + asyncJobResult = [] while resultQueue.qsize() > 0: jobstatus = resultQueue.get() self.updateTimeStamp(jobstatus) asyncJobResult.append(jobstatus) - + return asyncJobResult - + '''put commands into a queue at first, then start workers numbers threads to execute this commands''' + def submitCmdsAndWait(self, cmds, workers=10): self.submitCmds(cmds) lock = threading.Lock() for i in range(workers): worker = workThread(self.inqueue, self.outqueue, self.apiClient, self.db, lock) worker.start() - + return self.waitForComplete(workers) '''submit one job and execute the same job ntimes, with nums_threads of threads''' + def submitJobExecuteNtimes(self, job, ntimes=1, nums_threads=1, interval=1): inqueue1 = Queue.Queue() lock = threading.Condition() @@ -213,22 +226,23 @@ class asyncJobMgr(object): setattr(newjob, "apiClient", copy.copy(self.apiClient)) setattr(newjob, "lock", lock) inqueue1.put(newjob) - + for i in range(nums_threads): work = jobThread(inqueue1, interval) work.start() inqueue1.join() - + '''submit n jobs, execute them with nums_threads of threads''' + def submitJobs(self, jobs, nums_threads=1, interval=1): inqueue1 = Queue.Queue() lock = threading.Condition() - + for job in jobs: setattr(job, "apiClient", copy.copy(self.apiClient)) setattr(job, "lock", lock) inqueue1.put(job) - + for i in range(nums_threads): work = jobThread(inqueue1, interval) work.start() diff --git a/tools/marvin/marvin/cloudstackConnection.py b/tools/marvin/marvin/cloudstackConnection.py index 5d30803d930..9a4c387a87a 100644 --- a/tools/marvin/marvin/cloudstackConnection.py +++ b/tools/marvin/marvin/cloudstackConnection.py @@ -33,13 +33,18 @@ from requests import RequestException class cloudConnection(object): """ Connections to make API calls to the cloudstack management server """ - def __init__(self, mgtSvr, port=8096, apiKey=None, securityKey=None, + def __init__(self, mgtSvr, port=8096, user=None, passwd=None, + apiKey=None, securityKey=None, asyncTimeout=3600, logging=None, scheme='http', path='client/api'): self.apiKey = apiKey self.securityKey = securityKey self.mgtSvr = mgtSvr self.port = port + if user: + self.user = user + if passwd: + self.passwd = passwd self.logging = logging self.path = path self.retries = 5 @@ -55,9 +60,10 @@ class cloudConnection(object): % (self.protocol, self.mgtSvr, self.port, self.path) def __copy__(self): - return cloudConnection(self.mgtSvr, self.port, self.apiKey, - self.securityKey, self.asyncTimeout, - self.logging, self.protocol, self.path) + return cloudConnection(self.mgtSvr, self.port, self.user, self.passwd, + self.apiKey, self.securityKey, + self.asyncTimeout, self.logging, self.protocol, + self.path) def poll(self, jobid, response): """ @@ -200,7 +206,8 @@ class cloudConnection(object): @return: """ cmdname, isAsync, payload = self.sanitize_command(cmd) - self.logging.debug("sending %s request: %s %s" % (method, cmdname, str(payload))) + self.logging.debug("sending %s request: %s %s" % (method, cmdname, + str(payload))) response = self.request( cmdname, self.auth, payload=payload, method=method) self.logging.debug("Request: %s Response: %s" % diff --git a/tools/marvin/marvin/cloudstackTestClient.py b/tools/marvin/marvin/cloudstackTestClient.py index 85552ed5523..d85a61c4872 100644 --- a/tools/marvin/marvin/cloudstackTestClient.py +++ b/tools/marvin/marvin/cloudstackTestClient.py @@ -18,24 +18,29 @@ import cloudstackConnection import asyncJobMgr import dbConnection -from cloudstackAPI import * +from cloudstackAPI import * import random import string import hashlib class cloudstackTestClient(object): - def __init__(self, mgtSvr=None, port=8096, apiKey = None, securityKey = None, asyncTimeout=3600, + def __init__(self, mgtSvr=None, port=8096, user=None, passwd=None, + apiKey=None, securityKey=None, asyncTimeout=3600, defaultWorkerThreads=10, logging=None): - self.connection = cloudstackConnection.cloudConnection(mgtSvr, port, apiKey, securityKey, asyncTimeout, logging) + self.connection = \ + cloudstackConnection.cloudConnection( + mgtSvr, port, user, + passwd, apiKey, securityKey, + asyncTimeout, logging) self.apiClient = cloudstackAPIClient.CloudStackAPIClient(self.connection) self.dbConnection = None self.asyncJobMgr = None self.ssh = None self.defaultWorkerThreads = defaultWorkerThreads - + def dbConfigure(self, host="localhost", port=3306, user='cloud', passwd='cloud', db='cloud'): self.dbConnection = dbConnection.dbConnection(host, port, user, passwd, db) - + def isAdminContext(self): """ A user is a regular user if he fails to listDomains; @@ -53,7 +58,7 @@ class cloudstackTestClient(object): return 2 #domain-admin except: return 0 #user - + def random_gen(self, size=6, chars=string.ascii_uppercase + string.digits): """Generate Random Strings of variable length""" return ''.join(random.choice(chars) for x in range(size)) @@ -61,7 +66,7 @@ class cloudstackTestClient(object): def createUserApiClient(self, UserName, DomainName, acctType=0): if not self.isAdminContext(): return self.apiClient - + listDomain = listDomains.listDomainsCmd() listDomain.listall = True listDomain.name = DomainName @@ -73,11 +78,11 @@ class cloudstackTestClient(object): cdomain.name = DomainName domain = self.apiClient.createDomain(cdomain) domId = domain.id - + mdf = hashlib.md5() mdf.update("password") mdf_pass = mdf.hexdigest() - + cmd = listAccounts.listAccountsCmd() cmd.name = UserName cmd.domainid = domId @@ -95,46 +100,47 @@ class cloudstackTestClient(object): createAcctCmd.username = UserName acct = self.apiClient.createAccount(createAcctCmd) acctId = acct.id - - listuser = listUsers.listUsersCmd() + + listuser = listUsers.listUsersCmd() listuser.username = UserName - + listuserRes = self.apiClient.listUsers(listuser) userId = listuserRes[0].id apiKey = listuserRes[0].apikey securityKey = listuserRes[0].secretkey - + if apiKey is None: registerUser = registerUserKeys.registerUserKeysCmd() registerUser.id = userId registerUserRes = self.apiClient.registerUserKeys(registerUser) apiKey = registerUserRes.apikey securityKey = registerUserRes.secretkey - + newUserConnection = cloudstackConnection.cloudConnection(self.connection.mgtSvr, self.connection.port, + self.connection.user, self.connection.passwd, apiKey, securityKey, self.connection.asyncTimeout, self.connection.logging) self.userApiClient = cloudstackAPIClient.CloudStackAPIClient(newUserConnection) self.userApiClient.connection = newUserConnection return self.userApiClient - + def close(self): if self.connection is not None: self.connection.close() - + def getDbConnection(self): return self.dbConnection def executeSql(self, sql=None): if sql is None or self.dbConnection is None: return None - + return self.dbConnection.execute() - + def executeSqlFromFile(self, sqlFile=None): if sqlFile is None or self.dbConnection is None: return None return self.dbConnection.executeSqlFromFile(sqlFile) - + def getApiClient(self): return self.apiClient @@ -151,18 +157,21 @@ class cloudstackTestClient(object): '''FixME, httplib has issue if more than one thread submitted''' + def submitCmdsAndWait(self, cmds, workers=1): if self.asyncJobMgr is None: self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient, self.dbConnection) return self.asyncJobMgr.submitCmdsAndWait(cmds, workers) - + '''submit one job and execute the same job ntimes, with nums_threads of threads''' + def submitJob(self, job, ntimes=1, nums_threads=10, interval=1): if self.asyncJobMgr is None: self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient, self.dbConnection) self.asyncJobMgr.submitJobExecuteNtimes(job, ntimes, nums_threads, interval) - - '''submit n jobs, execute them with nums_threads of threads''' + + '''submit n jobs, execute them with nums_threads of threads''' + def submitJobs(self, jobs, nums_threads=10, interval=1): if self.asyncJobMgr is None: self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient, self.dbConnection) diff --git a/tools/marvin/marvin/dbConnection.py b/tools/marvin/marvin/dbConnection.py index 8fa86438ab0..958299aff2a 100644 --- a/tools/marvin/marvin/dbConnection.py +++ b/tools/marvin/marvin/dbConnection.py @@ -37,7 +37,11 @@ class dbConnection(object): return None resultRow = [] - with contextlib.closing(mysql.connector.connect(host=self.host, port=self.port, user=self.user, password=self.passwd, db=self.database)) as conn: + with contextlib.closing(mysql.connector.connect(host=str(self.host), + port=int(self.port), + user=str(self.user), + password=str(self.passwd), + db=str(self.database))) as conn: conn.autocommit = True with contextlib.closing(conn.cursor(buffered=True)) as cursor: cursor.execute(sql, params) diff --git a/tools/marvin/marvin/deployDataCenter.py b/tools/marvin/marvin/deployDataCenter.py index d358789d8da..5ca1ebfb4f8 100644 --- a/tools/marvin/marvin/deployDataCenter.py +++ b/tools/marvin/marvin/deployDataCenter.py @@ -402,6 +402,7 @@ class deployDataCenters(): self.testClient = \ cloudstackTestClient.cloudstackTestClient(mgt.mgtSvrIp, mgt.port, \ + mgt.user, mgt.passwd, \ mgt.apiKey, \ mgt.securityKey, \ logging=self.testClientLogger) @@ -409,6 +410,7 @@ class deployDataCenters(): apiKey, securityKey = self.registerApiKey() self.testClient = \ cloudstackTestClient.cloudstackTestClient(mgt.mgtSvrIp, 8080, \ + mgt.user, mgt.passwd, \ apiKey, securityKey, \ logging=self.testClientLogger) @@ -419,6 +421,11 @@ class deployDataCenters(): dbSvr.passwd, dbSvr.db) self.apiClient = self.testClient.getApiClient() + """set hypervisor""" + if mgt.hypervisor: + self.apiClient.hypervisor = mgt.hypervisor + else: + self.apiClient.hypervisor = "XenServer" #Defaults to Xenserver def updateConfiguration(self, globalCfg): if globalCfg is None: diff --git a/tools/marvin/marvin/integration/lib/base.py b/tools/marvin/marvin/integration/lib/base.py index 6c285233a82..1d86c6c1599 100755 --- a/tools/marvin/marvin/integration/lib/base.py +++ b/tools/marvin/marvin/integration/lib/base.py @@ -5,9 +5,9 @@ # to you 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 @@ -22,7 +22,7 @@ import marvin from utils import is_server_ssh_ready, random_gen from marvin.cloudstackAPI import * -#Import System modules +# Import System modules import time import hashlib import base64 @@ -54,8 +54,12 @@ class Domain: cmd.parentdomainid = parentdomainid elif "parentdomainid" in services: cmd.parentdomainid = services["parentdomainid"] - - return Domain(apiclient.createDomain(cmd).__dict__) + try: + domain = apiclient.createDomain(cmd) + if domain is not None: + return Domain(domain.__dict__) + except Exception as e: + raise e def delete(self, apiclient, cleanup=None): """Delete an domain""" @@ -83,7 +87,7 @@ class Account: """Creates an account""" cmd = createAccount.createAccountCmd() - #0 - User, 1 - Root Admin, 2 - Domain Admin + # 0 - User, 1 - Root Admin, 2 - Domain Admin cmd.accounttype = 2 if (admin and domainid) else int(admin) cmd.email = services["email"] @@ -213,14 +217,15 @@ class VirtualMachine: else: self.ssh_port = 22 self.ssh_client = None - #extract out the ipaddress + # extract out the ipaddress self.ipaddress = self.nic[0].ipaddress @classmethod def create(cls, apiclient, services, templateid=None, accountid=None, domainid=None, zoneid=None, networkids=None, serviceofferingid=None, securitygroupids=None, projectid=None, startvm=None, - diskofferingid=None, affinitygroupnames=None, hostid=None, mode='basic', method='GET'): + diskofferingid=None, affinitygroupnames=None, group=None, + hostid=None, keypair=None, mode='basic', method='GET'): """Create the instance""" cmd = deployVirtualMachine.deployVirtualMachineCmd() @@ -234,7 +239,13 @@ class VirtualMachine: cmd.zoneid = zoneid elif "zoneid" in services: cmd.zoneid = services["zoneid"] - cmd.hypervisor = services["hypervisor"] + cmd.hypervisor = apiclient.hypervisor + + if "displayname" in services: + cmd.displayname = services["displayname"] + + if "name" in services: + cmd.name = services["name"] if accountid: cmd.account = accountid @@ -256,9 +267,16 @@ class VirtualMachine: elif "template" in services: cmd.templateid = services["template"] - if "diskoffering" in services: + if diskofferingid: + cmd.diskofferingid = diskofferingid + elif "diskoffering" in services: cmd.diskofferingid = services["diskoffering"] + if keypair: + cmd.keypair = keypair + elif "keypair" in services: + cmd.keypair = services["keypair"] + if securitygroupids: cmd.securitygroupids = [str(sg_id) for sg_id in securitygroupids] @@ -282,6 +300,15 @@ class VirtualMachine: virtual_machine = apiclient.deployVirtualMachine(cmd, method=method) + if group: + cmd.group = group + virtual_machine = apiclient.deployVirtualMachine(cmd) + + if startvm == False: + virtual_machine.ssh_ip = virtual_machine.nic[0].ipaddress + virtual_machine.public_ip = virtual_machine.nic[0].ipaddress + return VirtualMachine(virtual_machine.__dict__, services) + # VM should be in Running state after deploy timeout = 10 while True: @@ -308,14 +335,14 @@ class VirtualMachine: virtual_machine.domainid, services ) - fw_rule = FireWallRule.create( + FireWallRule.create( apiclient, ipaddressid=public_ip.ipaddress.id, protocol='TCP', cidrlist=['0.0.0.0/0'], startport=22, endport=22 - ) + ) nat_rule = NATRule.create( apiclient, virtual_machine, @@ -348,7 +375,13 @@ class VirtualMachine: cmd.id = self.id apiclient.rebootVirtualMachine(cmd) - def get_ssh_client(self, ipaddress=None, reconnect=False, port=None): + def recover(self, apiclient): + """Recover the instance""" + cmd = recoverVirtualMachine.recoverVirtualMachineCmd() + cmd.id = self.id + apiclient.recoverVirtualMachine(cmd) + + def get_ssh_client(self, ipaddress=None, reconnect=False, port=None, keyPairFileLocation=None): """Get SSH object of VM""" # If NAT Rules are not created while VM deployment in Advanced mode @@ -358,27 +391,56 @@ class VirtualMachine: if port: self.ssh_port = port + if keyPairFileLocation is not None: + self.password = None + if reconnect: self.ssh_client = is_server_ssh_ready( self.ssh_ip, self.ssh_port, self.username, - self.password + self.password, + keyPairFileLocation=keyPairFileLocation ) self.ssh_client = self.ssh_client or is_server_ssh_ready( self.ssh_ip, self.ssh_port, self.username, - self.password + self.password, + keyPairFileLocation=keyPairFileLocation ) return self.ssh_client + def resetSshKey(self, apiclient, **kwargs): + """Resets SSH key""" + + cmd = resetSSHKeyForVirtualMachine.resetSSHKeyForVirtualMachineCmd() + cmd.id = self.id + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.resetSSHKeyForVirtualMachine(cmd)) + + def update(self, apiclient, **kwargs): + """Updates the VM data""" + + cmd = updateVirtualMachine.updateVirtualMachineCmd() + cmd.id = self.id + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.updateVirtualMachine(cmd)) + def delete(self, apiclient): """Destroy an Instance""" cmd = destroyVirtualMachine.destroyVirtualMachineCmd() cmd.id = self.id apiclient.destroyVirtualMachine(cmd) + def migrate(self, apiclient, hostid=None): + """migrate an Instance""" + cmd = migrateVirtualMachine.migrateVirtualMachineCmd() + cmd.virtualmachineid = self.id + if hostid: + cmd.hostid = hostid + apiclient.migrateVirtualMachine(cmd) + def attach_volume(self, apiclient, volume): """Attach volume to instance""" cmd = attachVolume.attachVolumeCmd() @@ -394,7 +456,7 @@ class VirtualMachine: def add_nic(self, apiclient, networkId): """Add a NIC to a VM""" - cmd = addNicToVirtualMachine.addNicToVirtualMachineCmd(); + cmd = addNicToVirtualMachine.addNicToVirtualMachineCmd() cmd.virtualmachineid = self.id cmd.networkid = networkId return apiclient.addNicToVirtualMachine(cmd) @@ -413,6 +475,26 @@ class VirtualMachine: cmd.virtualmachineid = self.id return apiclient.updateDefaultNicForVirtualMachine(cmd) + def attach_iso(self, apiclient, iso): + """Attach ISO to instance""" + cmd = attachIso.attachIsoCmd() + cmd.id = iso.id + cmd.virtualmachineid = self.id + return apiclient.attachIso(cmd) + + def detach_iso(self, apiclient): + """Detach ISO to instance""" + cmd = detachIso.detachIsoCmd() + cmd.id = self.id + return apiclient.detachIso(cmd) + + def change_service_offering(self, apiclient, serviceOfferingId): + """Change service offering of the instance""" + cmd = changeServiceForVirtualMachine.changeServiceForVirtualMachineCmd() + cmd.id = self.id + cmd.serviceofferingid = serviceOfferingId + return apiclient.changeServiceForVirtualMachine(cmd) + @classmethod def list(cls, apiclient, **kwargs): """List all VMs matching criteria""" @@ -428,16 +510,14 @@ class VirtualMachine: cmd.id = self.id try: response = apiclient.resetPasswordForVirtualMachine(cmd) - print response except Exception as e: raise Exception("Reset Password failed! - %s" % e) - print type(response) if isinstance(response, list): return response[0].password class Volume: - """Manage Volume Lifecycle + """Manage Volume Life cycle """ def __init__(self, items): self.__dict__.update(items) @@ -533,7 +613,7 @@ class Volume: [setattr(cmd, k, v) for k, v in kwargs.items()] return(apiclient.listVolumes(cmd)) - def resize(cls, apiclient, **kwargs): + def resize(self, apiclient, **kwargs): """Resize a volume""" cmd = resizeVolume.resizeVolumeCmd() cmd.id = self.id @@ -541,6 +621,58 @@ class Volume: return(apiclient.resizeVolume(cmd)) @classmethod + def upload(cls, apiclient, services, zoneid=None, account=None, domainid=None, url=None): + """Uploads the volume to specified account""" + + cmd = uploadVolume.uploadVolumeCmd() + if zoneid: + cmd.zoneid = zoneid + if account: + cmd.account = account + if domainid: + cmd.domainid = domainid + cmd.format = services["format"] + cmd.name = services["diskname"] + if url: + cmd.url = url + else: + cmd.url = services["url"] + return Volume(apiclient.uploadVolume(cmd).__dict__) + + def wait_for_upload(self, apiclient, timeout=5, interval=60): + """Wait for upload""" + # Sleep to ensure template is in proper state before download + time.sleep(interval) + + while True: + volume_response = Volume.list( + apiclient, + id=self.id, + zoneid=self.zoneid, + ) + if isinstance(volume_response, list): + + volume = volume_response[0] + # If volume is ready, + # volume.state = Allocated + if volume.state == 'Uploaded': + break + + elif 'Uploading' in volume.state: + time.sleep(interval) + + elif 'Installing' not in volume.state: + raise Exception( + "Error in uploading volume: status - %s" % + volume.state) + elif timeout == 0: + break + + else: + time.sleep(interval) + timeout = timeout - 1 + return + def migrate(cls, apiclient, **kwargs): """Migrate a volume""" cmd = migrateVolume.migrateVolumeCmd() @@ -592,7 +724,7 @@ class Template: def create(cls, apiclient, services, volumeid=None, account=None, domainid=None, projectid=None): """Create template from Volume""" - #Create template from Virtual machine and Volume ID + # Create template from Virtual machine and Volume ID cmd = createTemplate.createTemplateCmd() cmd.displaytext = services["displaytext"] cmd.name = "-".join([services["name"], random_gen()]) @@ -617,7 +749,6 @@ class Template: cmd.ispublic = services["ispublic"] if "ispublic" in services else False cmd.isextractable = services["isextractable"] if "isextractable" in services else False cmd.passwordenabled = services["passwordenabled"] if "passwordenabled" in services else False - cmd.passwordenabled = services["passwordenabled"] if "passwordenabled" in services else False if volumeid: cmd.volumeid = volumeid @@ -637,12 +768,12 @@ class Template: account=None, domainid=None): """Create template from URL""" - #Create template from Virtual machine and Volume ID + # Create template from Virtual machine and Volume ID cmd = registerTemplate.registerTemplateCmd() cmd.displaytext = services["displaytext"] cmd.name = "-".join([services["name"], random_gen()]) cmd.format = services["format"] - cmd.hypervisor = services["hypervisor"] + cmd.hypervisor = apiclient.hypervisor if "ostypeid" in services: cmd.ostypeid = services["ostypeid"] @@ -689,7 +820,7 @@ class Template: def create_from_snapshot(cls, apiclient, snapshot, services, random_name=True): """Create Template from snapshot""" - #Create template from Virtual machine and Snapshot ID + # Create template from Virtual machine and Snapshot ID cmd = createTemplate.createTemplateCmd() cmd.displaytext = services["displaytext"] cmd.name = "-".join([ @@ -726,7 +857,7 @@ class Template: def download(self, apiclient, timeout=5, interval=60): """Download Template""" - #Sleep to ensure template is in proper state before download + # Sleep to ensure template is in proper state before download time.sleep(interval) while True: @@ -789,7 +920,7 @@ class Iso: def create(cls, apiclient, services, account=None, domainid=None, projectid=None): """Create an ISO""" - #Create ISO from URL + # Create ISO from URL cmd = registerIso.registerIsoCmd() cmd.displaytext = services["displaytext"] cmd.name = services["name"] @@ -841,7 +972,7 @@ class Iso: def download(self, apiclient, timeout=5, interval=60): """Download an ISO""" - #Ensuring ISO is successfully downloaded + # Ensuring ISO is successfully downloaded while True: time.sleep(interval) @@ -853,7 +984,6 @@ class Iso: response = iso_response[0] # Again initialize timeout to avoid listISO failure timeout = 5 - print response.status # Check whether download is in progress(for Ex:10% Downloaded) # or ISO is 'Successfully Installed' if response.status == 'Successfully Installed': @@ -940,7 +1070,7 @@ class NATRule: @classmethod def create(cls, apiclient, virtual_machine, services, ipaddressid=None, - projectid=None, networkid=None): + projectid=None, openfirewall=False, networkid=None, vpcid=None): """Create Port forwarding rule""" cmd = createPortForwardingRule.createPortForwardingRuleCmd() @@ -951,15 +1081,24 @@ class NATRule: cmd.privateport = services["privateport"] cmd.publicport = services["publicport"] + if "privateendport" in services: + cmd.privateendport = services["privateendport"] + if "publicendport" in services: + cmd.publicendport = services["publicendport"] cmd.protocol = services["protocol"] cmd.virtualmachineid = virtual_machine.id if projectid: cmd.projectid = projectid + if openfirewall: + cmd.openfirewall = True + if networkid: cmd.networkid = networkid + if vpcid: + cmd.vpcid = vpcid return NATRule(apiclient.createPortForwardingRule(cmd).__dict__) def delete(self, apiclient): @@ -985,10 +1124,10 @@ class StaticNATRule: self.__dict__.update(items) @classmethod - def create(cls, apiclient, services, ipaddressid=None, vpcid=None): + def create(cls, apiclient, services, ipaddressid=None, networkid=None, vpcid=None): """Creates static ip forwarding rule""" - cmd = createIpForwardingRule.createIpForwardingRuleCmd() + cmd = createFirewallRule.createFirewallRuleCmd() cmd.protocol = services["protocol"] cmd.startport = services["startport"] @@ -1003,10 +1142,12 @@ class StaticNATRule: elif "ipaddressid" in services: cmd.ipaddressid = services["ipaddressid"] + if networkid: + cmd.networkid = networkid + if vpcid: cmd.vpcid = vpcid - - return StaticNATRule(apiclient.createIpForwardingRule(cmd).__dict__) + return StaticNATRule(apiclient.createFirewallRule(cmd).__dict__) def delete(self, apiclient): """Delete IP forwarding rule""" @@ -1024,12 +1165,14 @@ class StaticNATRule: return(apiclient.listIpForwardingRules(cmd)) @classmethod - def enable(cls, apiclient, ipaddressid, virtualmachineid): + def enable(cls, apiclient, ipaddressid, virtualmachineid, networkid=None): """Enables Static NAT rule""" cmd = enableStaticNat.enableStaticNatCmd() cmd.ipaddressid = ipaddressid cmd.virtualmachineid = virtualmachineid + if networkid: + cmd.networkid = networkid apiclient.enableStaticNat(cmd) return @@ -1105,6 +1248,14 @@ class ServiceOffering: if "storagetype" in services: cmd.storagetype = services["storagetype"] + if "systemvmtype" in services: + cmd.systemvmtype = services['systemvmtype'] + + if "issystem" in services: + cmd.issystem = services['issystem'] + + if "tags" in services: + cmd.tags = services["tags"] # Service Offering private to that domain if domainid: cmd.domainid = domainid @@ -1183,20 +1334,25 @@ class NetworkOffering: cmd.displaytext = "-".join([services["displaytext"], random_gen()]) cmd.name = "-".join([services["name"], random_gen()]) cmd.guestiptype = services["guestiptype"] - cmd.supportedservices = services["supportedservices"] + cmd.supportedservices = '' + if "supportedservices" in services: + cmd.supportedservices = services["supportedservices"] cmd.traffictype = services["traffictype"] + if "useVpc" in services: + cmd.useVpc = services["useVpc"] cmd.serviceProviderList = [] - for service, provider in services["serviceProviderList"].items(): - cmd.serviceProviderList.append({ + if "serviceProviderList" in services: + for service, provider in services["serviceProviderList"].items(): + cmd.serviceProviderList.append({ 'service': service, 'provider': provider }) if "servicecapabilitylist" in services: - cmd.servicecapabilitylist = [] + cmd.serviceCapabilityList = [] for service, capability in services["servicecapabilitylist"].items(): for ctype, value in capability.items(): - cmd.servicecapabilitylist.append({ + cmd.serviceCapabilityList.append({ 'service': service, 'capabilitytype': ctype, 'capabilityvalue': value @@ -1205,6 +1361,7 @@ class NetworkOffering: cmd.specifyVlan = services["specifyVlan"] if "specifyIpRanges" in services: cmd.specifyIpRanges = services["specifyIpRanges"] + cmd.availability = 'Optional' [setattr(cmd, k, v) for k, v in kwargs.items()] @@ -1275,7 +1432,7 @@ class LoadBalancerRule: @classmethod def create(cls, apiclient, services, ipaddressid=None, accountid=None, - networkid=None, projectid=None, domainid=None): + networkid=None, vpcid=None, projectid=None, domainid=None): """Create Load balancing Rule""" cmd = createLoadBalancerRule.createLoadBalancerRuleCmd() @@ -1293,6 +1450,8 @@ class LoadBalancerRule: if domainid: cmd.domainid = domainid + if vpcid: + cmd.vpcid = vpcid cmd.name = services["name"] cmd.algorithm = services["alg"] cmd.privateport = services["privateport"] @@ -1359,19 +1518,19 @@ class LoadBalancerRule: for name, value in param.items(): cmd.param.append({'name': name, 'value': value}) return apiclient.createLBStickinessPolicy(cmd) - + def deleteSticky(self, apiclient, id): """Deletes stickyness policy""" - + cmd = deleteLBStickinessPolicy.deleteLBStickinessPolicyCmd() cmd.id = id return apiclient.deleteLBStickinessPolicy(cmd) - + @classmethod def listStickyPolicies(cls, apiclient, lbruleid, **kwargs): """Lists stickiness policies for load balancing rule""" - - cmd= listLBStickinessPolicies.listLBStickinessPoliciesCmd() + + cmd = listLBStickinessPolicies.listLBStickinessPoliciesCmd() cmd.lbruleid = lbruleid [setattr(cmd, k, v) for k, v in kwargs.items()] return apiclient.listLBStickinessPolicies(cmd) @@ -1396,7 +1555,7 @@ class Cluster: """Create Cluster""" cmd = addCluster.addClusterCmd() cmd.clustertype = services["clustertype"] - cmd.hypervisor = services["hypervisor"] + cmd.hypervisor = apiclient.hypervisor if zoneid: cmd.zoneid = zoneid @@ -1446,7 +1605,7 @@ class Host: """Create Host in cluster""" cmd = addHost.addHostCmd() - cmd.hypervisor = services["hypervisor"] + cmd.hypervisor = apiclient.hypervisor cmd.url = services["url"] cmd.clusterid = cluster.id @@ -1493,6 +1652,29 @@ class Host: cmd.id = self.id return apiclient.prepareHostForMaintenance(cmd) + @classmethod + def enableMaintenance(cls, apiclient, id): + """enables maintainance mode Host""" + + cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd() + cmd.id = id + return apiclient.prepareHostForMaintenance(cmd) + + def cancelMaintenance(self, apiclient): + """Cancels maintainance mode Host""" + + cmd = cancelHostMaintenance.cancelHostMaintenanceCmd() + cmd.id = self.id + return apiclient.cancelHostMaintenance(cmd) + + @classmethod + def cancelMaintenance(cls, apiclient, id): + """Cancels maintainance mode Host""" + + cmd = cancelHostMaintenance.cancelHostMaintenanceCmd() + cmd.id = id + return apiclient.cancelHostMaintenance(cmd) + @classmethod def list(cls, apiclient, **kwargs): """List all Hosts matching criteria""" @@ -1586,7 +1768,8 @@ class Network: @classmethod def create(cls, apiclient, services, accountid=None, domainid=None, - networkofferingid=None, projectid=None, zoneid=None, + networkofferingid=None, projectid=None, + subdomainaccess=None, zoneid=None, gateway=None, netmask=None, vpcid=None, guestcidr=None): """Create Network for account""" cmd = createNetwork.createNetworkCmd() @@ -1603,6 +1786,9 @@ class Network: elif "zoneid" in services: cmd.zoneid = services["zoneid"] + if subdomainaccess is not None: + cmd.subdomainaccess = subdomainaccess + if gateway: cmd.gateway = gateway elif "gateway" in services: @@ -1717,7 +1903,7 @@ class Vpn: @classmethod def create(cls, apiclient, publicipid, account=None, domainid=None, - projectid=None, vpcid=None): + projectid=None, networkid=None, vpcid=None): """Create VPN for Public IP address""" cmd = createRemoteAccessVpn.createRemoteAccessVpnCmd() cmd.publicipid = publicipid @@ -1727,6 +1913,8 @@ class Vpn: cmd.domainid = domainid if projectid: cmd.projectid = projectid + if networkid: + cmd.networkid = networkid if vpcid: cmd.vpcid = vpcid return Vpn(apiclient.createRemoteAccessVpn(cmd).__dict__) @@ -1755,10 +1943,11 @@ class VpnUser: @classmethod def create(cls, apiclient, username, password, account=None, domainid=None, - projectid=None): + projectid=None, rand_name=True): """Create VPN user""" cmd = addVpnUser.addVpnUserCmd() - cmd.username = username + cmd.username = "-".join([username, + random_gen()]) if rand_name else username cmd.password = password if account: @@ -1997,6 +2186,7 @@ class PhysicalNetwork: [setattr(cmd, k, v) for k, v in kwargs.items()] return map(lambda pn : PhysicalNetwork(pn.__dict__), apiclient.listPhysicalNetworks(cmd)) + class SecurityGroup: """Manage Security Groups""" @@ -2364,6 +2554,104 @@ class NetworkServiceProvider: [setattr(cmd, k, v) for k, v in kwargs.items()] return(apiclient.listNetworkServiceProviders(cmd)) + +class Router: + """Manage router life cycle""" + + def __init__(self, items): + self.__dict__.update(items) + + @classmethod + def start(cls, apiclient, id): + """Starts the router""" + cmd = startRouter.startRouterCmd() + cmd.id = id + return apiclient.startRouter(cmd) + + @classmethod + def stop(cls, apiclient, id, forced=None): + """Stops the router""" + cmd = stopRouter.stopRouterCmd() + cmd.id = id + if forced: + cmd.forced = forced + return apiclient.stopRouter(cmd) + + @classmethod + def reboot(cls, apiclient, id): + """Reboots the router""" + cmd = rebootRouter.rebootRouterCmd() + cmd.id = id + return apiclient.rebootRouter(cmd) + + @classmethod + def destroy(cls, apiclient, id): + """Destroy the router""" + cmd = destroyRouter.destroyRouterCmd() + cmd.id = id + return apiclient.destroyRouter(cmd) + + @classmethod + def change_service_offering(cls, apiclient, id, serviceofferingid): + """Change service offering of the router""" + cmd = changeServiceForRouter.changeServiceForRouterCmd() + cmd.id = id + cmd.serviceofferingid = serviceofferingid + return apiclient.changeServiceForRouter(cmd) + + @classmethod + def list(cls, apiclient, **kwargs): + """List routers""" + + cmd = listRouters.listRoutersCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listRouters(cmd)) + + +class Tag: + """Manage tags""" + + def __init__(self, items): + self.__dict__.update(items) + + @classmethod + def create(cls, apiclient, resourceIds, resourceType, tags): + """Create tags""" + + cmd = createTags.createTagsCmd() + cmd.resourceIds = resourceIds + cmd.resourcetype = resourceType + cmd.tags = [] + for key, value in tags.items(): + cmd.tags.append({ + 'key': key, + 'value': value + }) + return Tag(apiclient.createTags(cmd).__dict__) + + def delete(self, apiclient, resourceIds, resourceType, tags): + """Delete tags""" + + cmd = deleteTags.deleteTagsCmd() + cmd.resourceIds = resourceIds + cmd.resourcetype = resourceType + cmd.tags = [] + for key, value in tags.items(): + cmd.tags.append({ + 'key': key, + 'value': value + }) + apiclient.deleteTags(cmd) + + @classmethod + def list(cls, apiclient, **kwargs): + """List all tags matching the criteria""" + + cmd = listTags.listTagsCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listTags(cmd)) + + class VpcOffering: """Manage VPC offerings""" @@ -2417,7 +2705,7 @@ class VPC: @classmethod def create(cls, apiclient, services, vpcofferingid, - zoneid, networkDomain=None, account=None, domainid=None): + zoneid, networkDomain=None, account=None, domainid=None): """Creates the virtual private connection (VPC)""" cmd = createVPC.createVPCCmd() @@ -2467,6 +2755,40 @@ class VPC: [setattr(cmd, k, v) for k, v in kwargs.items()] return(apiclient.listVPCs(cmd)) + +class PrivateGateway: + """Manage private gateway lifecycle""" + def create(cls, apiclient, gateway, ipaddress, netmask, vlan, vpcid, + physicalnetworkid=None): + """Create private gateway""" + + cmd = createPrivateGateway.createPrivateGatewayCmd() + cmd.gateway = gateway + cmd.ipaddress = ipaddress + cmd.netmask = netmask + cmd.vlan = vlan + cmd.vpcid = vpcid + if physicalnetworkid: + cmd.physicalnetworkid = physicalnetworkid + + return PrivateGateway(apiclient.createPrivateGateway(cmd).__dict__) + + def delete(self, apiclient): + """Delete private gateway""" + + cmd = deletePrivateGateway.deletePrivateGatewayCmd() + cmd.id = self.id + return apiclient.deletePrivateGateway(cmd) + + @classmethod + def list(cls, apiclient, **kwargs): + """List private gateways""" + + cmd = listPrivateGateways.listPrivateGatewaysCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listPrivateGateways(cmd)) + + class AffinityGroup: def __init__(self, items): self.__dict__.update(items) @@ -2495,9 +2817,35 @@ class AffinityGroup: [setattr(cmd, k, v) for k, v in kwargs.items()] return(apiclient.listVPCs(cmd)) +class StaticRoute: + """Manage static route lifecycle""" + @classmethod + def create(cls, apiclient, cidr, gatewayid): + """Create static route""" + + cmd = createStaticRoute.createStaticRouteCmd() + cmd.cidr = cidr + cmd.gatewayid = gatewayid + return StaticRoute(apiclient.createStaticRoute(cmd).__dict__) + + def delete(self, apiclient): + """Delete static route""" + + cmd = deleteStaticRoute.deleteStaticRouteCmd() + cmd.id = self.id + return apiclient.deleteStaticRoute(cmd) + + @classmethod + def list(cls, apiclient, **kwargs): + """List static route""" + + cmd = listStaticRoutes.listStaticRoutesCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listStaticRoutes(cmd)) + + class VNMC: """Manage VNMC lifecycle""" - def __init__(self, items): self.__dict__.update(items) @@ -2526,13 +2874,153 @@ class VNMC: [setattr(cmd, k, v) for k, v in kwargs.items()] return(apiclient.listCiscoVnmcResources(cmd)) -class ASA1000V: - """Manage ASA 1000v lifecycle""" + +class SSHKeyPair: + """Manage SSH Key pairs""" + + def __init__(self, items, services): + self.__dict__.update(items) + + @classmethod + def create(cls, apiclient, name=None, account=None, + domainid=None, projectid=None): + """Creates SSH keypair""" + cmd = createSSHKeyPair.createSSHKeyPairCmd() + cmd.name = name + if account is not None: + cmd.account = account + if domainid is not None: + cmd.domainid = domainid + if projectid is not None: + cmd.projectid = projectid + return (apiclient.createSSHKeyPair(cmd)) + + def delete(self, apiclient): + """Delete SSH key pair""" + cmd = deleteSSHKeyPair.deleteSSHKeyPairCmd() + cmd.name = self.name + apiclient.deleteSSHKeyPair(cmd) + + @classmethod + def list(cls, apiclient, **kwargs): + """List all SSH key pairs""" + cmd = listSSHKeyPairs.listSSHKeyPairsCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listSSHKeyPairs(cmd)) + + +class Capacities: + """Manage Capacities""" + + @classmethod + def list(cls, apiclient, **kwargs): + """Lists capacities""" + + cmd = listCapacity.listCapacityCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listCapacity(cmd)) + + +class Alert: + """Manage alerts""" + + @classmethod + def list(cls, apiclient, **kwargs): + """Lists alerts""" + + cmd = listAlerts.listAlertsCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return(apiclient.listAlerts(cmd)) + + +class InstanceGroup: + """Manage VM instance groups""" def __init__(self, items): self.__dict__.update(items) @classmethod + def create(cls, apiclient, name=None, account=None, domainid=None, + projectid=None, networkid=None, rand_name=True): + """Creates instance groups""" + + cmd = createInstanceGroup.createInstanceGroupCmd() + cmd.name = "-".join([name, random_gen()]) if rand_name else name + if account is not None: + cmd.account = account + if domainid is not None: + cmd.domainid = domainid + if projectid is not None: + cmd.projectid = projectid + if networkid is not None: + cmd.networkid = networkid + return InstanceGroup(apiclient.createInstanceGroup(cmd).__dict__) + + def delete(self, apiclient): + """Delete instance group""" + cmd = deleteInstanceGroup.deleteInstanceGroupCmd() + cmd.id = self.id + apiclient.deleteInstanceGroup(cmd) + + def update(self, apiclient, **kwargs): + """Updates the instance groups""" + cmd = updateInstanceGroup.updateInstanceGroupCmd() + cmd.id = self.id + [setattr(cmd, k, v) for k, v in kwargs.items()] + return (apiclient.updateInstanceGroup(cmd)) + + @classmethod + def list(cls, apiclient, **kwargs): + """List all instance groups""" + cmd = listInstanceGroups.listInstanceGroupsCmd() + [setattr(cmd, k, v) for k, v in kwargs.items()] + return (apiclient.listInstanceGroups(cmd)) + + def startInstances(self, apiclient): + """Starts all instances in a VM tier""" + + cmd = startVirtualMachine.startVirtualMachineCmd() + cmd.group = self.id + return apiclient.startVirtualMachine(cmd) + + def stopInstances(self, apiclient): + """Stops all instances in a VM tier""" + + cmd = stopVirtualMachine.stopVirtualMachineCmd() + cmd.group = self.id + return apiclient.stopVirtualMachine(cmd) + + def rebootInstances(self, apiclient): + """Reboot all instances in a VM tier""" + + cmd = rebootVirtualMachine.rebootVirtualMachineCmd() + cmd.group = self.id + return apiclient.rebootVirtualMachine(cmd) + + def deleteInstances(self, apiclient): + """Stops all instances in a VM tier""" + + cmd = destroyVirtualMachine.destroyVirtualMachineCmd() + cmd.group = self.id + return apiclient.destroyVirtualMachine(cmd) + + def changeServiceOffering(self, apiclient, serviceOfferingId): + """Change service offering of the vm tier""" + + cmd = changeServiceForVirtualMachine.changeServiceForVirtualMachineCmd() + cmd.group = self.id + cmd.serviceofferingid = serviceOfferingId + return apiclient.changeServiceForVirtualMachine(cmd) + + def recoverInstances(self, apiclient): + """Recover the instances from vm tier""" + cmd = recoverVirtualMachine.recoverVirtualMachineCmd() + cmd.group = self.id + apiclient.recoverVirtualMachine(cmd) + + +class ASA1000V: + """Manage ASA 1000v lifecycle""" def create(cls, apiclient, hostname, insideportprofile, clusterid, physicalnetworkid): """Registers ASA 1000v appliance""" diff --git a/tools/marvin/marvin/integration/lib/utils.py b/tools/marvin/marvin/integration/lib/utils.py index cff24a1b2d5..6892c41d1ec 100644 --- a/tools/marvin/marvin/integration/lib/utils.py +++ b/tools/marvin/marvin/integration/lib/utils.py @@ -106,12 +106,17 @@ def cleanup_resources(api_client, resources): obj.delete(api_client) -def is_server_ssh_ready(ipaddress, port, username, password, retries=50): +def is_server_ssh_ready(ipaddress, port, username, password, retries=50, keyPairFileLocation=None): """Return ssh handle else wait till sshd is running""" loop_cnt = retries while True: try: - ssh = remoteSSHClient(ipaddress, port, username, password) + ssh = remoteSSHClient( + host=ipaddress, + port=port, + user=username, + passwd=password, + keyPairFileLocation=keyPairFileLocation) except Exception as e: if loop_cnt == 0: raise e @@ -149,12 +154,16 @@ def fetch_api_client(config_file='datacenterCfg'): ) -def get_process_status(hostip, port, username, password, linklocalip, process): +def get_process_status(hostip, port, username, password, linklocalip, process, hypervisor=None): """Double hop and returns a process status""" #SSH to the machine ssh = remoteSSHClient(hostip, port, username, password) - ssh_command = "ssh -i ~/.ssh/id_rsa.cloud -ostricthostkeychecking=no " + if str(hypervisor).lower() == 'vmware': + ssh_command = "ssh -i /var/lib/cloud/management/.ssh/id_rsa -ostricthostkeychecking=no " + else: + ssh_command = "ssh -i ~/.ssh/id_rsa.cloud -ostricthostkeychecking=no " + ssh_command = ssh_command + \ "-oUserKnownHostsFile=/dev/null -p 3922 %s %s" % ( linklocalip, diff --git a/tools/marvin/marvin/remoteSSHClient.py b/tools/marvin/marvin/remoteSSHClient.py index 4fb2f0de8f0..04450fdf0e2 100644 --- a/tools/marvin/marvin/remoteSSHClient.py +++ b/tools/marvin/marvin/remoteSSHClient.py @@ -23,11 +23,12 @@ import logging from contextlib import closing class remoteSSHClient(object): - def __init__(self, host, port, user, passwd, retries = 10, log_lvl=logging.INFO): + def __init__(self, host, port, user, passwd, retries = 10, log_lvl=logging.INFO, keyPairFileLocation=None): self.host = host self.port = port self.user = user self.passwd = passwd + self.keyPairFile = keyPairFileLocation self.ssh = paramiko.SSHClient() self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.logger = logging.getLogger('sshClient') @@ -38,8 +39,19 @@ class remoteSSHClient(object): retry_count = retries while True: try: - self.ssh.connect(str(host),int(port), user, passwd) - self.logger.debug("SSH connect: %s@%s with passwd %s"%(user, str(host), passwd)) + if keyPairFileLocation == None: + self.ssh.connect(str(host),int(port), user, passwd) + self.logger.debug("SSH connect: %s@%s with passwd %s"%(user, str(host), passwd)) + else: + self.ssh.connect( + hostname=str(host), + port=int(port), + username=str(user), + key_filename=str(keyPairFileLocation), + look_for_keys=False + ) + self.logger.debug("connecting to server %s with user %s key %s"%(str(host), user, keyPairFileLocation)) + self.logger.debug("SSH connect: %s@%s with passwd %s"%(user, str(host), passwd)) except paramiko.SSHException, sshex: if retry_count == 0: raise cloudstackException.InvalidParameterException(repr(sshex)) From 0412c95ef845cb9b67d9fd4a3d89d11b2399b521 Mon Sep 17 00:00:00 2001 From: Hugo Trippaers Date: Tue, 23 Apr 2013 15:05:20 +0200 Subject: [PATCH 069/283] CLOUDSTACK-2152 Fix rel number, needs to be present --- packaging/centos63/package.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/centos63/package.sh b/packaging/centos63/package.sh index faa089b73fa..c466f588776 100755 --- a/packaging/centos63/package.sh +++ b/packaging/centos63/package.sh @@ -44,7 +44,7 @@ if echo $VERSION | grep SNAPSHOT ; then else DEFVER="-D_ver $REALVER" DEFPRE= - DEFREL= + DEFREL="-D_rel 1" fi mkdir -p $RPMDIR/SPECS @@ -78,7 +78,7 @@ else REALVER=`echo $VERSION` DEFVER="-D_ver $REALVER" DEFPRE= - DEFREL= + DEFREL="-D_rel 1" fi mkdir -p $RPMDIR/SPECS From c34233d5b1091bda9cd6580351845f5c90dcff2f Mon Sep 17 00:00:00 2001 From: Hugo Trippaers Date: Fri, 26 Apr 2013 08:55:47 +0200 Subject: [PATCH 070/283] Fix small typo --- agent/conf/agent.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/conf/agent.properties b/agent/conf/agent.properties index e49afbf2aaf..7dc4ba8a18c 100644 --- a/agent/conf/agent.properties +++ b/agent/conf/agent.properties @@ -78,7 +78,7 @@ domr.scripts.dir=scripts/network/domr/kvm # a sensible default will be selected based on the network.bridge.type but can # be overridden here. # native = com.cloud.hypervisor.kvm.resource.BridgeVifDriver -# openvswitch = com.cloud.hypervisor.kvm.resource.OvsBridgeDriver +# openvswitch = com.cloud.hypervisor.kvm.resource.OvsVifDriver #libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.BridgeVifDriver # set the hypervisor type, values are: kvm, lxc From c65ad6b8e80a90a535fded7e284dce8c74f94a98 Mon Sep 17 00:00:00 2001 From: Jayapal Date: Thu, 25 Apr 2013 15:19:31 +0530 Subject: [PATCH 071/283] CLOUDSTACK-2161 coping /etc/iptables/iptables-* to /etc/iptables/rules to work for old templates In 4.2 templates iptables-persistent is looking for /etc/iptables/rules.v4 file but the old templates 4.1 and earlier are looking for /etc/iptables/rules. So coping the file to both rules and rules.v4 Signed-off-by: Abhinandan Prateek --- .../systemvm/debian/config/etc/init.d/cloud-early-config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config index 187ae25c40c..6ffd648faeb 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config @@ -520,6 +520,7 @@ setup_sshd(){ local eth=$2 [ -f /etc/ssh/sshd_config ] && sed -i -e "s/^[#]*ListenAddress.*$/ListenAddress $ip/" /etc/ssh/sshd_config sed -i "/3922/s/eth./$eth/" /etc/iptables/rules.v4 + sed -i "/3922/s/eth./$eth/" /etc/iptables/rules } @@ -692,6 +693,8 @@ setup_router() { enable_fwding 1 chkconfig nfs-common off cp /etc/iptables/iptables-router /etc/iptables/rules.v4 +#for old templates + cp /etc/iptables/iptables-router /etc/iptables/rules setup_sshd $ETH1_IP "eth1" } @@ -764,6 +767,7 @@ EOF disable_rpfilter enable_fwding 1 cp /etc/iptables/iptables-vpcrouter /etc/iptables/rules.v4 + cp /etc/iptables/iptables-vpcrouter /etc/iptables/rules setup_sshd $ETH0_IP "eth0" cp /etc/vpcdnsmasq.conf /etc/dnsmasq.conf cp /etc/cloud-nic.rules /etc/udev/rules.d/cloud-nic.rules @@ -790,6 +794,7 @@ setup_dhcpsrvr() { enable_fwding 0 chkconfig nfs-common off cp /etc/iptables/iptables-router /etc/iptables/rules.v4 + cp /etc/iptables/iptables-router /etc/iptables/rules if [ "$SSHONGUEST" == "true" ] then setup_sshd $ETH0_IP "eth0" @@ -825,6 +830,7 @@ setup_secstorage() { echo "$public_ip $NAME" >> /etc/hosts cp /etc/iptables/iptables-secstorage /etc/iptables/rules.v4 + cp /etc/iptables/iptables-secstorage /etc/iptables/rules if [ "$hyp" == "vmware" ]; then setup_sshd $ETH1_IP "eth1" else @@ -849,6 +855,7 @@ setup_console_proxy() { sed -i /gateway/d /etc/hosts echo "$public_ip $NAME" >> /etc/hosts cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules.v4 + cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules if [ "$hyp" == "vmware" ]; then setup_sshd $ETH1_IP "eth1" else @@ -874,6 +881,7 @@ setup_elbvm() { echo "$public_ip $NAME" >> /etc/hosts cp /etc/iptables/iptables-elbvm /etc/iptables/rules.v4 + cp /etc/iptables/iptables-elbvm /etc/iptables/rules if [ "$SSHONGUEST" == "true" ] then setup_sshd $ETH0_IP "eth0" From 3a9001bfb6f44f322b55da41c67d748ac7528f89 Mon Sep 17 00:00:00 2001 From: Pranav Saxena Date: Fri, 26 Apr 2013 14:18:40 +0530 Subject: [PATCH 072/283] Correcting the case for secondary storage limit --- ui/scripts/domains.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/scripts/domains.js b/ui/scripts/domains.js index 8ee0ee6816a..e82f8ff44e8 100644 --- a/ui/scripts/domains.js +++ b/ui/scripts/domains.js @@ -530,7 +530,7 @@ case "10": domainObj["primaryStorageLimit"] = limit.max; break; - case "7": + case "11": domainObj["secondaryStorageLimit"] = limit.max; break; } From 318c7f2af0a664c057ec1ed057ccaad608339f62 Mon Sep 17 00:00:00 2001 From: Jayapal Date: Fri, 26 Apr 2013 14:28:02 +0530 Subject: [PATCH 073/283] CLOUDSTACK-1794 Throwing error when configuring egress rules for shared networks --- .../cloud/network/firewall/FirewallManagerImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java index 080f7b0edf6..4ad8868b86a 100644 --- a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java +++ b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java @@ -27,6 +27,7 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; +import com.cloud.network.dao.*; import org.apache.cloudstack.api.command.user.firewall.ListFirewallRulesCmd; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -56,10 +57,6 @@ import com.cloud.network.Networks.TrafficType; import com.cloud.network.NetworkManager; import com.cloud.network.NetworkModel; import com.cloud.network.NetworkRuleApplier; -import com.cloud.network.dao.FirewallRulesCidrsDao; -import com.cloud.network.dao.FirewallRulesDao; -import com.cloud.network.dao.IPAddressDao; -import com.cloud.network.dao.IPAddressVO; import com.cloud.network.element.FirewallServiceProvider; import com.cloud.network.element.NetworkACLServiceProvider; import com.cloud.network.element.PortForwardingServiceProvider; @@ -127,6 +124,8 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService, @Inject ResourceTagDao _resourceTagDao; @Inject + NetworkDao _networkDao; + @Inject VpcManager _vpcMgr; @Inject List _firewallElements; @@ -150,6 +149,11 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService, @Override public FirewallRule createEgressFirewallRule(FirewallRule rule) throws NetworkRuleConflictException { Account caller = UserContext.current().getCaller(); + + Network network = _networkDao.findById(rule.getNetworkId()); + if (network.getGuestType() == Network.GuestType.Shared) { + throw new InvalidParameterValueException("Egress firewall rules are not supported for " + network.getGuestType() + " networks"); + } return createFirewallRule(null, caller, rule.getXid(), rule.getSourcePortStart(), rule.getSourcePortEnd(), rule.getProtocol(), rule.getSourceCidrList(), rule.getIcmpCode(), From 93ef3ad55050657768703f22c0215427e09f544c Mon Sep 17 00:00:00 2001 From: Radhika PC Date: Fri, 26 Apr 2013 16:31:49 +0530 Subject: [PATCH 074/283] CLOUDSTACK-1567 ui and api changes --- docs/en-US/added-API-commands-4.2.xml | 24 ++++++++++++++++++++++++ docs/en-US/delete-event-alerts.xml | 12 ++++++++++++ docs/en-US/events.xml | 2 +- docs/en-US/images/eip-ns-basiczone.png | Bin 0 -> 55568 bytes 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 docs/en-US/images/eip-ns-basiczone.png diff --git a/docs/en-US/added-API-commands-4.2.xml b/docs/en-US/added-API-commands-4.2.xml index 4bec148ba96..34716240657 100644 --- a/docs/en-US/added-API-commands-4.2.xml +++ b/docs/en-US/added-API-commands-4.2.xml @@ -39,5 +39,29 @@ The response parameters are: id, ipaddress, secondaryips, gateway, netmask, macaddr, broadcasturi, isolationuri, isdefault, + + deleteAlerts + Deletes the specified alerts. The request parameters are: ids (allowed to pass one or + more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format). + The response parameters are: true, false + + + archiveAlerts + Archives the specified alerts. The request parameters are: ids (allowed to pass one or + more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format). + The response parameters are: true, false + + + deleteEvents + Deletes the specified events. The request parameters are: ids (allowed to pass one or + more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format). + The response parameters are: true, false + + + archiveEvents + Archives the specified events. The request parameters are: ids (allowed to pass one or + more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format). + The response parameters are: true, false + diff --git a/docs/en-US/delete-event-alerts.xml b/docs/en-US/delete-event-alerts.xml index 3eebcb727a0..ef39040c102 100644 --- a/docs/en-US/delete-event-alerts.xml +++ b/docs/en-US/delete-event-alerts.xml @@ -28,6 +28,18 @@ or by using the Details page. If you want to delete multiple alerts or events at the same time, you can use the respective context menu. You can delete alerts or events by category for a time period. + In order to support the delete or archive alerts, the following global parameters have been + added: + + + alert.purge.delay: The alerts older than specified + number of days are purged. Set the value to 0 to never purge alerts automatically. + + + alert.purge.interval: The interval in seconds to wait + before running the alert purge thread. The default is 86400 seconds (one day). + + Archived alerts or events cannot be viewed in the UI, or by using the API. They are maintained in the database for auditing or compliance purposes. diff --git a/docs/en-US/events.xml b/docs/en-US/events.xml index 4a1445873a4..3b93ee0451e 100644 --- a/docs/en-US/events.xml +++ b/docs/en-US/events.xml @@ -25,7 +25,7 @@ physical resources associated with a cloud environment. Events are used by monitoring systems, usage and billing systems, or any other event-driven workflow systems to discern a pattern and make the right business decision. In &PRODUCT; an event could be a state change of virtual or - psychical resources, an action performed by an user (action events), or policy based events + physical resources, an action performed by an user (action events), or policy based events (alerts). diff --git a/docs/en-US/images/eip-ns-basiczone.png b/docs/en-US/images/eip-ns-basiczone.png new file mode 100644 index 0000000000000000000000000000000000000000..315ff55dab9e4169559ab3d357ffc4486d8c25de GIT binary patch literal 55568 zcmd?Q1y@{6(=H5yyZfLC!QI`01%d^4OK^902=12P9)i2u1a}K=!GpWQ**y3C%30_8 z2j5x@o7qhFbaj_pS5@tBB?W0TWMX6}C@3^pnfEGCP@oCm#fS(3?x=o7`T<;^om8a7 zp(@6}`@kDmGqI0iP*ByeD33;PzfDRhgu`_R9l*V&qntyT2($7v|7IWRXD)toW`INMUDd% zK>g>!ufC4KPnI1@11AHm;*U%5dRcb^p|>FY&wJ5bWK8=#U1NUe{~3vCKOywLr_u2D zm)OOg{$Hc~{ezDGdrE)YiDnQim_Id5;eU;S1v_K>_eu)<$M7iDCz^jbgZ^tFz&3YO3Oa0zx(MfgMnOR%tib#$3~QA8d*LD&D~LbI?qz+x4dAlE`DX zz;_-FS@Na%e)dWkm&pg030Pnky1oKO#rmf=|3@MSgcsKpjLI+bHE5h5O4ih163&h` zEvjoc#}?R2!x2Dr2rvFlF3Un2A=7&H$>B&pbXwn`QpvsT8GD;U038MuUxGqs7zlhW zZ9Q*_Iv&K1OzYiu;X{kvV(6Qq@IBOVwadT|aifjXJ71Pr&Yt6#%tt9RSKJo7SBWM7U1P1o%e{*O{b8WM;at2s-6eYh>kV{Li4b*=76j3} zg&7h@^P~L%g}onhUS0afKsZ_kFr?5NKqo27K%)V;6Xl?xo_GBEyILIlzG`@8l+5<_ z?=aKj)K-wi^AkY@qT_(-OVGRp?+ab>H9P|>gtXmimbP;ZDv9XS( z*cX%4!LsLFAR0>#49It!9+ZJ@r_Gr$oFv*_z%!zJi8zc(?zKPd;Z6%Gd@~|}6;6wa zk?W4$z6^F&QOPL=WZ9!D+!rkHf5ufhri{-EyGE+fP{mz0#77U&qHoiTXD)~n;7c72 zOq7vM-OD=+dsZ#x09NRq1Z<+S1YlnNQpf|p?9H7SUETpc;X=*dAL2ciRgr-^@c}T7 za?|`E8R%NT>LG`A(Aa=^%L8{uFY{J`L+^SuTY-RooXP9I0z&Wa5$%x4XumWv0j8e3TM_hYp)$q15}=hW!=r%xx^r^mZYH#?OK` zU8JoTWbMv(+5vy@t9SQWt^(eaOK+55K|&#i(5937f@t3MAaoc5if?59I5_`R+>+9= z;C|R&>#Uy3Mdi6j1h%XLGV)Aq@t@RGT^sMmf?7W+nrcgal+)kHJXqK+fV`AfJhP7VC)tfYQGfyBem$=Iz2CMFbS z{Dok?pi;)=R$&a}7v$01c_LLohON+e`({5wr}fd!PP$IPf*0wf`{RKVJ;qh4_sTdP z`|u_a)cIy4FeHRor{UP!7@ZM^h=<|3c9w|8b;ZNcSz=>h@~D0P`x5~R9?OxOXPDs+ z!z0qpAoL3@s}>cNF85bc$*N~BOs9%>Ilo1MFol8;HFKmaK2Il_+4b6t-ej9Cmv!AD z9zrdE`JI0yajH5n!GgckOgN_(0DC(DPgch#Wk(=G!;JGaSqL8PG_49_wwuTZ8aQ^2fZx{S}<_kibJhA^5q zJAW<`Z`n3hopXAF6R_@7_?p3W!I92{ zTX)b5I0-z=T~4!(Su-(H+=~2oy=2Exr0{)*7p4JiqA#;Gb}6glXz;q^=%cy<7rPzS zczmWyWGk6G*X5Pqmig(oV)v7dr$|GE?Fao-QZPatPFPRkGcy_(6ic1@A$Enn$SZFo3N@SS zzz}~r&%ZOccbSSMZn=Yx9p!Q1LhElHM{5p%EmqTQwZhPnNP?e7i2 zJ!8sl#n3nsT+X;O^LiM*n!4DK=$v&;z}d`Y#26xXiD1{+wDyXI8$rdI zroo<$gpPx3X1_r_I&FXyf61egv7Xv58(r3svL#GPsjWO^NuwP{VUTr#oD558Wjv1$ zJ*;N}7i#pq8O|k5gc){Z66W0X0v8s% zf*XfU1BdzvI)n{;RE^a}h~j%FsqrgVJ2k?Y5%J_6FRO0lbP{VTphLySy?-bqMhP{{ zXjKbdkl}C``Df^`AjX&KE=W`Ee)!|`{l?}T-Yk=QT|P#BbdQRxLIfozE5aduSrk7n z(kC?mh8*k)kZVlU#0q>HZ^92Od%|1L-}Ai{(w^vrGE`lFW^|4oo4YEcRC#UYdT-Ebwmk1z7?o@t zyI#nv2Ik9{YiLlS=3$I}5Fv+ly7Y%I@2lMYI8G?<7 z?S6L76-{pGkax6sw!8N^@A4^J!0i_nE5L$1v9lE9{yTJhUGk@aW6LcPBO%U(pKESw zA%gpr1DP%!@5NN3F#$mAdv)TZf8tUO0&Z96Pi{!LM#VXdO_xaEWpr4qLAn`a`wasP zg`p0{K*b6jB5&PvbPUx$*m$B7G+>p<>&yOgVb;D9%>m=f61~;Q8y>R^$or?thyM=hQ+Jl*Hn80ek=y9Ag?-pY9zy*gtaBk>B>!1|j#NOq zvR7X;(KxrLg{6<{%cLBK-CXT(Jh>MWAB5G86od}ZCHRK-Z%`qIlhW2g2$4BAbVB}n zEaEM8v~%<~{&&7YhM-wmBRX`LQ3c9q#6QA{CWFeEm`V)BEKO&*1ucC}0~gDexaJp` z_;+%QR{3GUq0P*k4FAGzHDtrc>t-iiF%nq|NhXY}PeA}CxXhvib|GKG9}n}W^kb#D zeufkVdVl76E#&#UpNhNTNW6RRa1Edl1RlPc%T`w=oVSjakC%uA6wFXT^`~5Y&#pQ@dKNXdAQE;kJ$C zp~BN+tka4L55y_Cfm<&rZTG9(rsJYjQlABVj4P=b6q$gs0|6*O7xx=BU5*4?0TZ}} zWXSDEpG7ESEWhPmE_!+pW9U>2p0~*yb3gOI#eJ5uE}RYsOh2F7A8K%u|F$5wea}`h zLEcK8ft+$wt@+EPRuC`d;n)){Mof6iK(EkKARv4H3{~-yn%ketI8}{(h`y z(j$72&)xYaX0$CVG8C`W(xS`GFJWtIPx0ta6c_5$4K*-MZ5|iDbABiILvm7r-bo{Bw`cFuu(0fZJo~1nm07x=6H*2k+q^8v@z)o*J9OIBr%3SQM$y*hP%%u=;-`D>m zy)Y8LT(f?vKj#<)gdU`g{tfk&P_>|e8Q=W=jc=OUl|o604p5`Yyt~Zx#x>u_hOPqg5U~w@NZ~w1Zqoe@r@NlL-$B?#B--Eh)-9 z{`om|X9}BdEZLDwm&^R)P43R?SJVvJHj#LLO(#fE!9|HfGpiK_VK)V1Np@gJ3VjOAq(<>h`dA9FzaTHE%5NAp;=6mHni zVF8S=AA|n2H}!ziI3n9qIeKy^z7E{-L3)J#wyi1Yp_}l-@n9nfWFEygl8#> zsWGRav?2K$K5~I+k|tVxOG<_jVk5w+{vjm);jf~<+l<)kF&$MZitsd4c{G04DNTz9 zeD~l&A#lIHvtbKfiu8wIst4@+%giYXMSJ$AopxpDZA_O-=__q>i!woXM@C>20_OjZ z4?{iD`I5Ln@!IapC8=?JnpOySOy~mwK;k=juK#!HF5P0jZpsHJu!rPT3H67M0&o#S z$5JN(;ZG)L8`uB0kTP`ZhGyhMq!{b8j5drvnxtPpJ$yo?-0K(@LbT5q_@@%%#p$9DYc-sAC<+CH}p z(Cklc$e%=bstTJ369r1~z{47R7#km`0KPv5*aSFgH2WU_9BrgrMls#^_dNd48hXZ> zO}A1xs4o^s-(|l5KhGyG9p93+>gGjG2adK5BpV|SF64+yEOJF{CrP0YEd7Xjm?XN4 z5Pym~QNXoSLNy{;KQxpl_~@QhHAIivuKmXA6zrqB^=TsAUbsGA&Z=%Z()V~6a7Cpc zf+odvQ5SS~+oAB2T+xu-Lp1PvzFSFUIjOhd#s9cBSYl8NLgn(k-?sZvs3>F-@g;04 zzc+ilIsQ|K47#N@tvyF2z83v;g9+*e^PB(DsXw$7HW-GQ6fpRtGzkkVSxf2q=bi)^ z11DVL6git$*M3!JMD+t06^7`#B7Z}aatlrhLGALsm@=4##6{#5Xcqp%p3u<`IZtqxV)a-^pwTsWQ| zoFku<*zBbw8vJbde&;;Uq*ZO}lhgXWm~z?bzs^_`47U{!6as;*6=a&Ay@$gD{UKRAq@?7>k7l=% z)z!T{t!Xm@nIXwb+N{h*+qoWp%C#D&pOr;;l%#Li>XnQTF1)cE^<21nD;9flf7$2JtSiZo z*q3#QoZlbmY`jv5*`FFnyh-gG{=_3*H7wg?yFy~W`p%Lf@}`()+#hexmKyCuyl+_@ z4x8u_i;NOIPv5I(WBuW?U9H&AcGc&KBG*tsKGmq(I_Q1u{C0OTSIeLkF=W^I^aYVz z^?#jSK|2L<8A@i^gl!8ZI#{m)lbQ{z($!6_+b2$m_6|T2Q$3XAvQ#nJD*2C>!z||x zBvIU}ZGM$>HkkGUELdw^HC(wVCqm5$aFJ4ypFeMB3b=jy{vE(k_s>rc*}nJtm3~hL zBF|^Bl?I(-Y5X>6y-Khm?4>dvm|DK+Gg=&}M+c+uU>4aIJ}Fx83{{EHa}`0o4P+m4 z+BsM!%^!^eXmW{Ee;f$D6l!;FZ$Kp;xoL|}$lAn2078@0%yCOcuNUzB!zb+|ROS=x zc!ze{uYAeK%W*AKdOyajNf1$do_5gYG?PkP>%_Xc4d_FO$$cNy`n<3`#Qq3%E4sM2 zNJv0}5HR%H+|SN7`?CR~wex!*0SVaS#`G!yDUYQ?a{s?-7dtIR4D3>5SY9!Cl%n0g z`+oO&tZuu$K`?&1p`Qy6XNVj~fzvNQ7A^AQr&~X*RaQGbQ}bvp!@u-rnDE}N;=JI@X55$# zhffXj3~dPgC@l@VDJU%5UZ^$mK0z{@QhNI0ANI4frl!0++C`4nXR+5qIFfL*O-&Z< zHQcu)sPLM!)Sh_yLGDZ`*I6^_bJBs_Tcy7&bU%yV9m++)sRSoyezdEEjDy7wRGYN& zkf0MGE$mM{+gSr%iuxVicl*;c?uwY>12NA z;XQp?5cz!fL#BsH(q!lz6vD31;18d{o2)}#y%g_H30^&IH09;xr&$#J$-_cedqP-_ z2Tje)h-k6U_PVY5jzX6ugNVFUfz?zkfqq$)x`GH;k#xU402)9)kFi|yTXT6oDiM~AV9a? zfGt^ilmq+AwHisbWq*Xca`^PX3H%`U&a-!7T}I{%;uo)cfRsKbj$29pgP{VlGzr($ z)wq7AIy^Xfbo5=D$9MLV!F^8IVGnXJfWItM4oT+|1KvUvv4zlC)p67!L-8x z{NSA>_Tii^fFRvp|84K;ofVDnIh#xM&wp?eh<*hneYyU|OMMSF=ehaF3_cEZ(25_V zz7(;q8`c?lc6G}W``sIM*BU0t1K3Hm+jN&`aOq@VC-+XQqo z%E4`*>@29*CT*N6!=UAoT<2S((cq={LwJS37AXMOqsRl%n@hZ7QfIR1s>(&>CA3kU zn@vxU3%SU8yCt~ZMnmR>oX_H-c5G>F9ee{j<@5Zg<@WjwFg2==JTf(^RZb)kifKlz zDawI=j!TSVZ1$Mo(YZ@Ta6#x;BEQUO0kE=8Hv#!xZjmQc%P)iMefF(~;PZWz-_ZMT zdRTNMv%2X}i(mFte{~pdOvh(iGh|I>yRmnKjFMZ^ZeSm>y1dR)J0C-SE*B2|asGMI z4TJEzQip}^FMR8xu8c6oXr3XLOz-%uRMi$5@0!`8e=zE1=}CC;?J_W{Kv0_ zu-I_tQdG9F$a|;Ux7^$GcPFufuCIHz+ez*}l zUQ=_3I};d{Yt{Q6ZZ$DPSrU~i?Pklh8kVcd>T#vj?P^;{+5M$EHmLt-drMGu+1!&Y z!DO^x!`NXkzf5}L{6^}Ct&3I}gzl1^cIgHPFrf`y3ybct$jZMCoCaE~h!iy!{bg3w zaw3gl*50I7-eI3}RqYyyQ-M&FM2$pyI%gVBmCwq^el6-kv^X1B+wa>{K!Lw3eHUxM z5;?v=ljHZg^PA9JyUWGqNukR<&t@N-#R^i(b`5XLn96hVCxHReNz8}qUhI_!Y7H+ML%}wik z*qly~lQbFJgHq|*!Zj@ECd`8oXnCFt03TgWgcBWQwz#I8cxQ^lsQL|x-0tOJz_~z! zGi)G)Ks_J}JZ!n`rFd;Xx9g=yCgfR=x{MQj9KW2A5wHF`b+MgZ)}q%vg2WdhXp|>9 zZClEV*;>dOMOGZIbbln@m22>{e^}s8NlUSfsQiebWgxrT`B^FO;9Vr)ZBSOYg!8)l ztUhy;WH>RFz5Qz9--iR+)4du?GYxS&8)gU8`aBW# zprcyCR0L|95rf8;STV@Sw=sNbo-~imp1Vk5q{6i^Sn&O9_Lu@PVIXJ)3Y`cu9)upg z5c~phg6wUS_QJ&oL`SRe(e}D-@`n~i<5)8Pp%AbVS=+FQe%>9^8VkAd+ zU8n@S*wYb&X2HSa8Jyi`BOxSZrs?)OU9%gQGc4qvg{DqnB<~I+yK=)Yg!!rI3=NT; zVR(bJc`yBXsX$?Y8MqL5^f51Nw|1?sH?X|}E_Em2$Hy?3Q$TDp!N@X{LKjR%E7y~y zGj49}A1~nJYo@A)nC>q@P&$=X;O{_3 z0mZ9njUW=550Rkq$Ryv%rEP#v%wVGM4$(8*HAKghl1z0OQF#3TqHg!@3Gmyj(hWA) zaWxUZd2A<0AaUhGlz!r0H5TmQr*RW(4Xy;0I}J;yZ@<7ee1}Eh9}u067igoI=UN>X zaaVc?!0C^%E2%`7&2{e!yh9O4%U_wv&10KJwDd;%%ahYoB7Uw+n7_&xXQ+4L>99e?m8_q6PyjFh&#pi#2y%QiFvt@ zbk0}WK!i7*LQ4C&gpH*QaM~g1BZ#4eHF{MzC2SIh^#n$lV#;;LZN1=y0LY*uSFbuH1f6LAqVg1?$ol1cKNoMDgOC7=ab!l12$wtb|&Y|>hOeHH21mOTdcPl@|QUA`oTKm zetrBs>Sjwx1#VbKjLlK?Sp0bKV6L+I1ZipLD*NTJSU(~-!uLW|O}$4At5zf{vOoA| z-a~Y+{JN}&S;KJOM*%U6^T*s%ytfHuI^?{g4)|Z-4p2ZJw;}^T!b%M&q=KpLCY2hW z-$0^`g=RbhA-pDaHdP_-)-j(#i=kzK5+NpDmoF{LYDcmKvO&^Gs0QHF3Zl5181Z7b zJv&Ybc7^DyJQ+@e#Hbw~mz$jsnrRfXg}ItQzP0! zf)q)FkiZ!?Z|g6AMBTi7qljGseIhF%0kbP~cek6Z+&pY5Pki3^78PDUGPNs%0@cr<)S=VV%bwMqiqV9h_%@rgYiA)5r@>>xm8@mIdHi*NrUJ z`GRN{<$LPC5@U&RkZbiC1mMsr8{f@1Hq-b@%f);3cqnRXYp)A=ygUmzD$c7{NPY9lyDEn!flPEu zh>M%JD`O!WizN5T8xs8XxDYh_;!h)az&8=#4fGA{`MxGhYL!H#yOjM-vZ8Dx+`76w z6tPj3OxtL*?ns+yqNAfR$OPT*&Z!ws-<=34du>wfK~oYqeG%v%36bwrVT~#LNwefqqz{G5_*-GA zn=!8}tV~cK@ThMGw7AUn-*>u#&?l)2|5aE_QeNES599IutpFFO1aVkEap8I@8crKF z(`4Li6=(Yzui_-ePEDvT0mYs7E>Ld{r57r6tI;hel)YjdeozY^z?=ybwH~mS;uO2AY|5HdS@Ta4tV74zQiayriCA9Q@yeDv1O!<{$pWNCrmdth{`|%?h zpk$Z(I39|@%lTEBx-ITl@E8RFRfp=o-^FHkoqwo0D2sC_iFF0$G%qG0eNBc-75RVd z>Nel(ZFM`(N&;pEFvH|e@|(hCK$BwLX#gP#0Nw7$>q2*D{p8KdIOkb}3#1ml(?Ghn zldG8F9o&ctbhUp_t&O1j`Fl$H9CW(U_&^!Xg!B_3Bwj7Zb`~s{p*?K@@EsRff?n6C z%`{s=lQQ~$tr1__75-uPDnQ%IR}k1+F+zNO-CV*Q6+r0C_7CyMCxehM3_#J^XrvmG ze~xLSDj1@^4ujB7f&n)n$^e&^8u0Y$#X3D8Yc%R)yu6EXhiC5qT;-woE!!vbCYZw_ z$C1E8u}<5De_-OZmEsaF@9wokiwVbDC0a&3eCYmgHy7GZK0TDBH{u6&FRFOxqO4_T zN3}n-kZ_rx1tw^6S2&U*I*~PQczYIXv%R>u2&^m&gM7e?Y70I`IJ6Qln2k!T(N_*r zfV;lLM5sgY9mYCd>kh1sWUbfd7vYowvo6j#*4~^+bp-YbxGLMMER(KbWq~=K;T&#_w*}V7`MU$;-InrUOZz2RaOi zxinl4d+Md?)1Q`ED;w!~3KQQ$bA;^r1B^qFIxDliI=TcOV!(TV@#=S1+uz}|+B>y^ zXRWbZn*%!S5N}3y=8Yx1wPp$k_#Bvc!mp|LOb=>I!ardsQo=uN#=&_gVt6q)y zSsZkbKkhWR*k*a%Z|k)Bd*gYe9Q_?y<@@*Vn|a428XZjf;B7EUD}IEyEvHrde%zrS z$9I1Vu?_J2R;AMg57n^VAd+l^5-Sv982J?iyFv7qgm#7LgNv|!6(J%aY88z@sm~ki zKa=^=Ec$H|SoT05hf@5w6iI-HyDgxL$vH&tMhy@aM@8NfB#q`s4@F_WXZcl}3or7t z6+9gKw3P&s9XN=x9#9RSp&weXK%dAps9dcz8v`89L3;27dvNYycH@OyUj9vUa|_zB zNY|I9E2%X!kLJdg=Nmu5ovUx-Wv26iaB|3|k#Mcl*3}2r9@Z+`g(Ri(ASqB4oTaMa z8hhF=OsjBImD_hpl^|PQSP9)xJD<}>7s-%cC0#FAWU`CbkIijzAxkv)odZz)-($(K zes)hzoj*yQW+m0@=mU)BBIzb8Z9G~`!!i`Gv9ygmk|An{XNJ>(y1UF?)Q@RsB1oua z3vcV;Jel{-NJzp|>2clsd=oX994p1*x8$Fdx(fG8YrY&w!`v$#1GRACm|ggvKiU~J zc2$^E=`cpoCsb?NOSX37iy>h*G-aqId)JERu7Jj{s(Jx>LZo9@$=-)w(u~vqrAcuQ zeS;TaM+FZOG3b19tY6>AD_P=j+i5vw7EILE)z@dnx6hfPZB#5nwSP-Z-R^yZzCi7J zh8Ivg1h^Rl&9%Gg<(d{|94gqGd`45>lC99m1TzwKl(f}XIF6|Zr-~~ z9?B4F=tjgt{QeqkWnn81>vZvKM15EtYkqzB2HtpjqsT{W+0%E~ET@Vy=}H6mKw9#P za6F4aM;A?A3X^Gqq}J3vB-P-STA&fkBHO0y$@fv5WGuIF+7{2$)D#yV-xY^<%R&O4 zS4HI$mc;%2rgRln1>AghgJYrI=9QblbUKg{RBLCbfPLSCJLyZ}=COw=0k zR~#3Wi`8akYhA{CmuQge7%H-+rUotS;_N=N z^pGr@9~$&BNm8Bzdceyx&QqbGDG`+k=d8?coq(_GXq-@bYdj||MWSPUnHCqfeejc4vm*Ne3@ z@2I)*YyQSaF^P1(Wwr0m&`J>046!-&59p80{u7)2Ev4DLdbi35Li6!kjoG+xv;s}R z#YU6+$u>inj%G|9akcC0Vp-YuulTHlM{pnCXEB*J;BKU5C$MD0HHh9Z_TewUVYk9@ z=-Iz)&x67J-KfQvs)0J&Xv58vGxzP3nsvx;`3r9Pv8(hxIrFCUO+V4+X8 ze&2I#Z&oXQi}+0J+CW%qV{RMjkuRV{KV%-%tomVSXujf-QAB-U$0krci9a4xlm|eK zA7us1l`zWLC0F5(Q$TB7?L?T%&pA?F`#p8^ESamtdPvyjnXXwzfPp%*LAb_P248GL zx7(Y3a$W+z$Ewqnm;1_>>(1x77e{+Sx4)NsM+!_^wDK^YdVWo)GwL~PJN}6k@trN~ zTZ}3yY0}R6pyCsKv#v9&ToNJg=W*&D#3fs{zC^{2`x1M$6mIkjx=Mr8y;S_@`%k zcNfK#`bHwSTe0>>N4w*Xex_dRZn4yw@KRMf^(eL#5sk4t4UGa@c)sC)b9#qJO<=CCPV=B}A zM4=d*yaTJVo*sRkIwIa>hJye26`Me)3!k0X-Ybi;Dfs7B^(*LWq&g?iY1R&pI@$$N71o_XbNkzu{pvkiAXu(*u|+0{FDRUzK+W9$I?5 zQ*19vDi=6lWyVi#G~xCNGjoe1^$3Ky){N>09Ih|EzmyxKeb61Vj@o>5CKhT5tSm_+ z?IM@)9lk`dHC%tqn6I%osL(T74v!nhCc+94skZ$puGeg=CO;BTD3>w@>wSA?(2?}^ zzDyN0Eh8h8sOE0uoAAYYcT<1tQcEiB#RlI<)W6Ok1d)ft|Uarp0qMJ{XVtFt+chN>v>f%YIJHxviL zTjZ~mK40%qSDLM^qqN*(w6)MBT*~6&PLr(mUEGfMTPT&BlW+bi|9-Ifjsxqw3cw~|^Y!v;7IA%*Z zj?ap^H$#&b|6aFIV?ze*$I*CAE_;gsKe1l)8N$z3Oicx!%HU3oKW4o3xv^Iv z0ypj-11O(?7YuV@{AYSDQWJ}AL*#KTV6t;z8D(%@jLG!eu>dA zyg0pBVRgEfZ*ymSep?!IJ)*WnkaW08+HUv^l1G}JuXob$@PGpm;;yP7FXUApCB_{M zX<8_#3!@bBb>q{H{ur_CZop+@Zis8Ngd#50UUOK21XjfD4^1hqKXr4}M9Ub4$1mvM z@k83;byoWFcr5?^-7pK-hJit@JfoiI0m{ILyd!^tl9^Q`0FTUxJHp$#8E($uI7R!g z|Aepz5|}vbmv5{g;;{*pJIvj57w6$@*lXAO_(AKqzRlo7*yQl==KYam20~F%O3Hrg zm|ar6sfj0N|6t6+4Y{eGxB%GAdE+tUoQT=pL$@t$-b5o9R(=FFF>DRt6WTncJ;wt+ zh*oP0n!yjLVcm`{&zeD1T{zOn?3CrG0i>sx-M0ZE z;V9rziy(i9{V~J0@Qqh`#%q-eNnei_bZ&y|Fj2mdQuxxT^`1SH!PeKeOvZ45W@vZIJ$M z&ux~Ui;6INl%ERlQBz;}n@9KO!3~?RPeZyDy)X}gbKV@{=*Z@ZWd`xb-X3{jE*_qv70@CD^ry=0mDfL$l|eAw*FNeOM*HuoN_ z?{kZO)6>^sXT6$6%zYZhX}mx{q+do9((rgcAOamwhO*i^FV z9un_?RKljd6~mAn06%-pX!QyRf!OgiH?KRE5|;P&lx@Dpcch7ExZMZ4vSMq@ZcH3SJR_X7aqHnv4H`2 z@54o+h&2}nNhsoh5M-03SOQq`@fAEjj^mLlp=z48wiNW*s>j%uhe~@So5ealrlXdc za;0V_$$9RBZ?<&Cr*6h`u+8!s){{Mj*%Z@P#zk-6;qt;~V~I@TDQ8zLl$4;OuLf=h zaoACK!5LGfC8hJchee+eFln92?*h7yuvQ#7)!JX5v$>((3r8|X27|pR-gU1Uef!=Y zfm1xj&B@tVCphKB(1l<7SuHK<=xaXWrG!I;6h{>~^Pc|x3K>*OuYcfOcE z=+J?0sozEVGL4R6oPc=gt(+XsKYij*g1n)lgL?^afa|6uVAj39*8j}+tLDZ{WSv34 ztZ~A&wI-{{&e;ha-{S1@NbxcHHz+3AINLLn*bwgR0f?YUUSqZ-z=HjvuQgVL{Q^GW z3mYgWn#1lZ9QZMFNfj!rpzbb}rDZZ!iW)9T4FKCFdVJA4asaEss7zROPU}ng3ImzOp0rt4G z!p8mbcHs#@@p5%)nnR3G0v=ub%%wQJR+$L(C3#%msIrO08DkME3VsR33NN|dSPuki z(KhEvO~=Ihc4*e8_cT7STq^ftwN$O7(|ZW`J3;ak;iVqZJEPj_g;M)-|-t;In$lQHrd zwi4Q=Eynp=Df4sd$;~qH$Bi{-U#Kcm$(8@CAk=4)2fKZMEk=Lb1<*J(0UcUPBEM>)>UP0T} zd+n_DeZTbDCxC+rqws9QYNBts>anMWIE`ohTRe~59xm_s`Nf*={UyM;V*vaxQ$gy& z`U)RLj3?7WO#WWNrL;h!4{vOiNduIfcV3|*fsSl8v3PW;jk>9>>~C*mqm80Iv16-S zBiD)RS@<*oOhYKYEQr0JhvofU@qV*vQ}plK^onIEs{v=pMa0zo2-M8ue0Z<5Ks#3L z(`I5Q>Dy*(ydAU^XasYZF=Fe^^Y#5tzF4d^uOWj$uizbE1?G7vlh;ohifdQLR!n)& zL8;6FmVahEl-bVu6{-Jp)@Bea35@LV7$!Y7-(S~?#qHlB)&9PNEhzfjBNV{<3C02~ zdbH8;9D`hFlK_(wVi8ZP8X)$Cmr1{o(mC3osZp`uM~iBc{M`D5TT@Nxfb-~3>aSp9 zMU7y4Dzo<+QdTS8B5W5@kRXkbHf2@)$i-bm1ZDG8AQ4$-+`6cky)N6FnazT;A=WiH zdQ}Mds0etPX`N4S8e5!Bzk%W_QyA*W%2J+UCl*x#!YS38)~c)STC?%BoaCfg4-Y#+ z9t(xeF}**yangR@yCn{#Vlz8_S#1L?;Rdn;n`+~YEiHXpNh5%Za<5$B{M;vAO#yN0 zm0I)v>O$gHc^R$U@Xk7Aco8Y)IKOX%lWl!{N-=J~1<2y&!cQquu{hh*0r8tE7{>^I z=tF|l6MC=*jBk3^bV4npEnrj~(=XyH=G`8eEApfX?_Xl#Ro~~4KirOvPDs3U`XBfw z&F)QQ*3aM=maU2Z9xNDoxxb`$?oVyf{u0x#sL!@&SbnT9J)?zUeOQFp z{Y^~5+UBTe#O-Rim8YTnsP}@vE?d~Eyw!Dgto`TU9K^Ms`D%5Y)hLEGj?LrS!M7`c z-?oT4t!&6~)#kl1L}Lv7AC)CprH)iKrW9>w+t%&sLgh6YCW+bg&JNAIS}ZdGowgYq zA@Sf+oaeq&<8qO47eg$Kxc%f15aglK^x8yGFDFGR^Xl_k5k$%65)y?7nEFiY3_H6i zFv{DRfQXf4`_{~l=Ib4SU~ui+3uw}~Gv0ZY=}vTg*f2EMA-s^6g~P67-dghgdR#7Auq~!N zq88U*lbu)Be}d+3mrW5{C?|OKNHUWhAC`<+3tM?TH-HA+ect83zJUx9fY*uoZO-|d zh--#gtmsqb6HLSQHbJ}Zh1jQaQHQgd^F_IEi>07^UHl46MCj7i=$wj|v)n^|)-}Q%mdIb_627nx_>s;UIfrzaY zHLy7JW;14rDk z0qve>_zGkuH2lfQbAzn?xez3%7~7)t>mwE_(#olU=7cO!VrHM(?c@|kA8B-+f+HT&kVmz%&Bm6wAWp5yyuF4LeKTBLT3XHQ&Lj#hAbySbs??XH!$_UY=NE8j)|Cn_R!5~DqPUzE%rzG5`B?F%MOZ~DXb4q;JP0cnSj#&Fc z2@Qt3+V5Ly8%vL0LJ#CZz8meX9R3n-QX`Oc5C=@YhGed!{owdAqSNNS5dWsXdYC~$ zV{IbIhXH5_<0J1pis6v_dS6E(FznQv{j!6&=08wRlGmml($w^z=%l^DIw=Wfv|b`R zEwsa^d2o!kS5Lp}q&EL3`CT>4L39d%ZZMR{&72A)9{tKPGY*-)B?z zJM&(z$EEAnI=?KlH`Jmg@h7EE8ZYPDa!ndZy%COY+}3&mzM`c-e~(We9QRL#1_bYX zysGSBi2!<;c3z+G8;7^Gu_Ki1>E)*%a{Kg zXu(m&hl!G?bK|J71|OLobiZNryqe^+bb$?&mtGJUb9B5q)fE_Y@V#Loa?(w)MMu3^ zAe_o-BknNwn8<+Zh^cKm?Ei^O7gA~3Fg)ae@??1JPXzHv&&h9E0P$9Nm5&pXTXXUB z{bn{_x-K315KSO!hQK;gV(CNEIjJov2{-I)13XzP2>>fAW2cA5O+{;x`-{0@pla=} zcX+on!9W75HllO9miliOgMOO_Occ-*?7dF0sMPv(rrY{87qV1H;Jg8VEJDr#1CilX zpRnOX*eD`MS>GE;*UP4KSM=#w{!ffj7~eX6oxeQy8=_wIpM?HNCHJ(#7X}RxeHL+f z+~PBNH$uiIl^iQU_Q9}kzK*M>Qi#H2|F6={Rh*)JGM~~P2CXXF+})JkRm$Pt$9>AD zRqM2~Wcaq2)?3^&Lq?~D48xQVAfK(ONo&VCXwMtz(S!iil+eFk&LgQzml=Fr9`K0-oBL|4`YM;V>YW=f14 zZVcegs4I zloTe_HwrsfgaQj{^_8YYKw-_>lX0oT`QtBayYMi$1=>;}#z*L|*bH;Fk+CV`UvXmi zRhIM7b$YdyM;nl{Mn~k*(u2?1Dk>4#vDqsF$|Y%_C2VhNv(3An{$tOTJ7j^LD(j{!~642Gz!r+B6)y>^j8mAb6mX81tF0D=`ghDz0H5*gOt*$}xiT&CtUY zYK=~FT^{_NJAKU`!-Pf%Pm?JqOxpdnYPcv_Wky_jKl#-9}ym{S${A6FV&mYOEf zd6!3Bpi7G>Ha-m(s<;sXK4FT#$QGnr#H@>$8H{?>>doGh>%t&GOg}>*=d|Q)*2r$i!{ub(4x3G`%UW*G z^X9k&S7CGqjFivZQj3Py9lOUmlu-^+HylkW-f41^hs~8X>2W>3xXnOuoAUcV3`Fe4 zC5380(FJJo%n~p=zP1rF8`m%UVRNV;C)bIEkI&}O^ER#@s8eDqWJ_(mZzL!;fnuJ% z(o|yT_$d()uc;^{XJd(Ld-LZmV3>xjNsz!4K#2pOmE)}*Du0O`ns<7J%o zl`)o>hzR||4#eGWg1$XKi)l;ZYR@0$?2aedFZuOb-$~Oes=z?D1NQ$A^_F2(b>G)8 zjUXu?aYzB_RzSK_8tF#5Lpmj;K|#7hkp@Bf&>&sX-Q8X9I`{8?J?}R^;Mr@hz1FNT z=9s1=2-X$e-&1(73b_Ng5mxyJAU~2>N1Af@fh`$12zwrFF9vhlBPJx!g5@vMdv}k` zkN4u`!v4ZUi%CLBv+==&(m#=7X3moM>PtSCBf*mfV6d*MnSaM4Namb3|JvQLk6{Vl#>SC7Ub<-%9H4-44MEqikPnli;k?;aWYT9=mjf7STByW zKBfw~0n37zy&WK#;>>@72KwG{)f(A-=}CZSzq1(9bF6?28dO%1&U(}lu$5`ooBuo4 zPUE(hnxHe-sZ7fB>sT6IYT;@|MpplG{?e~-Z)4}D z9g3G`v(=na8gDn0v!k)rXDs%m?PVf1Hsg1#pxqP()w_B{m-v7V4}?Bm`!f3n@2iz$ z#PWemj^}pX%P}2J((Xqw-BfxO_>;XYDemPvqQgAtJRZ`=*BquCDIb`c*bM$0pI*#O zj1}qKegQ-@PJOWQilSeOApDv48EC@wDMP8j2Y6R7k^lk(Eq2k!0(Z1v%;!mHG&Jsa zo>2aON;3_rBFK)8_VKKz*Lc;Q;UeUz2&nx`l_Y$*{#h-EcNgw39Apk)jtP|~5SyDD zTJNhvej-R14rUCU+6ZTdTQ8V zB{d0%iJ!rUmU$rvrczk`#IR{nFDpxs`yXEDXDv3PTv(NtQ8h6jVd3A_keUlyuO}NP zb#PPyo{atZg|OTHM^8zGy$9|CK<;~;pca5zODz=|96b5&t@GMPvyE&W`YM_0m+_UC zrXxfd%ipsP+TPV8&t~X6{%E{9EGk@zn#bF!AJAO1_-Mz!G5mBR{n3STkU%BrhtA3E zg-y_3P&nh_{Qnc$=M*@*u~x>5fRAO+;w@c^39FaMz?%VUHquO0hyd6HZtH>iA64!m z$@<|@6EwrH>LBmh?H!*2eZ4P24XG`q*>ibMY+Ig|zqnzVvA<+?gmAQ@u&_I#LTLDz zEcP}d{TWTDnkrOtu(G$A(qZ!l^ z&OeLfU2geU`Wmv%=l9ejOf~<4744eRh>`u(1XKa-ta}OYhMH38vN5lId*(Y2Ye7&g~()|i~09GnE({<4|sMLbCQDfUkBz}HJvwq^cWFXhX@^oi- z>vz?2Bqzs2A>>uqv)M`&Q0=HEuedk#eix$4Mpqan+3n>~HjczeGYZk`_y|WF#Z}`i zvv+E)!o>|m@Ms%=fE06j3|aD@@gjS}^U=Ie(4Y>@hNbjBHrQ|b!a;MIF{!V#Oz+yA z+o@&j+49yBC+G*a0yWWka$T4HJVaD1Dh)*1`kG{^j)gnT7v-p7-G3U&CrCIy26V_c zFaQTrYQHuBnHGsj;fXqru$+Z;5d*?cKr(s&iWL9*G@<_HB@x{fsw|RABu}mL+ZKvl zzs~|jXKe9z&Fm5XJdWBD^Y{2WF25iXzlI|%Vcq>+ zzSLwY4_No0|E;$K{&SqC_&^;~v?Tg@3CPa`f7SiW!o(SAEWhxXGFyAiYZZ?B*;$o2 zEVi2bEt=i35kHcx<9Z-xp)j0~7xv-!uO;Q@zv|EC7X&o+F}@59{I&5u9UIZn_dN@d zXW(}`baK;w9YHHTL%A$$+O)Qe_<3&~1lV(-mlmeMSmiamx9(4T4?}Df*X#_P5qjL%&AZ*m>4=-|eJv{Y%Kq?y$DrvONez=%*`Bi#3o-ZQcykla-L-Vt z$z1a+kM&HdKKfMwm(+9AxzJ25hion4F|T;byn!YvPrnm?n&HPDplE=Ty?2#|vuyOW zCfavELF%!R$(KrR>Cz_tX(hH`j|t!12La3J;!W`=pp{tHM_E)UWeO~jeKLybSdU>J zb~_C?5akzs&P*%>sdcJp^ZVI2{^rv^1V|%;Soi)yPu0}b1L`?3JA7^YjeL`)gMja* z+(Cx7QdaZJx(`!tUZ=~W&*Q!u_pJOA$I;PelQ>)kstS}*lYWi*gm0| zPcd}E2L0?keZfrZS{SuNrMN8>L(O+s-_76d;;n1p*$Z42;&F2}?MiN$ReEqf+)O9hyC6M^ZXfs`k$P^%Gm`k&w2oR_!%n&# z+0VMqc(SHLU5Gsi=zAV7_B1C$1_*>&J=j(?=ca8pzZ+pYwtUU)2&eS?xwpgmP;x{f z-xkQ}1o=x|NLDVd^lSWc&N}70Rppy}bN}^u&Ofa7wLZ2g9%u=Ko;}3}Y%Dq7s%0uA z1p0u|ktYY6*WH_3ygg}PeIK^%hb$g0&xQ%vXooWe4XICw_(y;KsZm7X#Ugu$xLiTR zt?_($S@W%3ImaEc=Le3(lUqASLxj87=2b{Xae&bM91a(Ld zVzWK{hR_68{^fD*O3g6B3by=q2>gj8Xq)+9vl!>O$P^K0G;B1)PqksUvx*_)^wE3HE3dCJu&T(phxnWJ z+X*;Swm%Xmrhv1bFfJn=SH*PD^zqTm%?K6pwTI;|YoLl4s>QQywsA?m`TR3EkMS)V z)@sttdr`}nDMhGp%rAS&srxwxeL%|yXzKnUwGPT2tl*XEDcdShMeE~exgfZRTPDkR?Xa#MW3LPl=e9J zkEgxz9({_y;H3S2$^S}OjUz6M)vmkZ!kHz2WufO~pTCNBVUtvlK2) zkr7D&xolaE^pgvf!qS1gbybeIVME{dK>^|v#pCZb@IjEgb+|cGJ}g4+iSfNs7y7Bn zBW1W=e#(C1WziBn#uovk*@~)^AMH)XTy56J&mxb!tw>7vJ|m}G9?kjhcfM0A9Ly3J zG#dz>q3-#?Awcha9E3J6fcVcoT<5ot^KU~M6JcEV;@MF6rT}8ZmV_BrrY)B9Ab6lx zc4a2&^75K*=u{P+e!AN3M`Fivo5sT}#`c-7gK7O#vZv`)BA@vp^s;u^QSs9`O5+=N zRsw_bg4}d$t11!fzUO3}ZCjWrru?nbOx143iCY&t*A3;`LL_DRIlSu+<%zPwEHt;n-95r_=Zb3P_q{O-}fdKIqD{12F+NB(Xps%Js zi=z{9g=$AjN9=DqaUGBr{`ypiQA1pFF&*xIb0tdD=69?7e2&WhkhY(rc!A>wyE%ss z=`tLY!>aiCvgyF}jP(L7D0(5kWY%xS8zr)2H)YmoP$|trGRF|`t*f+ zqQPer(L7aC`p2*_d7ua&cjx}cHd+5?|C?7^h`WCRd)r4{j%dV%@!-R9%Hw8+uxSOG zG|M0YP*p0=XBe}|tK7D$KKz&5E_ZoOm!51H zut^=i1)#+hNAP02nOGL1Wt~`4jebpufkGTUC(>KAm%w81i#o|83|7v~XvSC}W5l8m zGMUHek4L=43?xR3<8bY*2q_~E!|rMIyc^m+Bu?g0wxYh)!wjI_w{=oe8^60ciZ6SW zU-QEpno}$xedjWjwk01Q?CdI}TmYodl=N6wNXhI;ZlEvxUY1Ot;gfKDoYGQTUd|GI z=6HPTVoyKwP6khI%FvAY)hSx5lzYcm@NadXS}MP?T|uq}x4yCmF?!coJeAe@eOkbe zXu2rYTmwB63om`eukwECi8PnYu_Es=>#3ZABnvUA6fF=FupL|A;|-X&f6`(sBhS;u za0xCmIXPcAoy}qyqCG|~;hv&7s&IVn)a3jq(b^K^<$EQbb>tmgRjJ!Bao2t$Km9Sk zCrSJquP>PgJwEsTd!RsX}Jy36rx-7(R*HG<@d}qG$zR# z;clnb@EdP#&x!w$dEt22F2UzX%_@-bA~n|0!(sj2p`pYu?-Q9v*?(DK01btg51oxu zin0~7J{?)fL&XF@14c5(?bVL3-+aD88iK>(-?u3caFzGJzHqHgP2mAj3_v6zpjjO( z|Gg9vbpwtzKT6j}qS4hI?_$snY5>pIx{02htR*2)Q#xpA6ow?!auiFX6nLJk&%=(I zDzcn>So6#y@JTVH1#Trb94bPJlFNbfwM|S2cO~bqrU_S@$&Ujly!hQcB?Gp@yN}7^ z`<|oTS3Ga)tXUItC_rE$c`>YYE~Vmm0Gcy^x`M_2OL<5K$>wTb@JITyJfh8YD~(%F z;1zGZ9iM3|fQ$Ij)kWq~L4mC)e^=-PstNyCJbN3}1F)jlwcd2ETRo>6)IxZA#wmAA zl~rsLhh0tn+)(z(FUZ?}>G@#ytXp5g2B7Lb-f#5SqkTL^}`of*`n@F(&Af!S}q*fR#0n4I(|Dy6(BopNvfBu9=Oh}b1k=}zK9`y(2> zE`fbPcb#?bwVcrak*P57!`*u+Gg4%6Iiq}^867JDx+elTR6(Bn?QXPq4H77$#Su%= z-S@DrssFJw@f1{lAke>dJG@WS=E?xeEy@tMy*RWREn0eZAi!`c-3O}*p>>4r-s*SQ zy_PwZyVYek>dwE~bx68WUE<)g# zF;DN`IRJV4=>m}8gS|rrAnoUQ2KfOeAU87hu_??WPIIidiH7iO@im%c)gFEg(^-zY zNc36q{uV8W!1?0EP^<5qfwYZti!O)xgPp zsuREaD)iC}^Br|qoJDJ#5Q%=;HlnqwoA0Nx(&n{;W-k##TauzE0jVfA?2O8X&<#t? z&bY_cr?IQprxRcAoZ-c!ml|h!^H`+3_s64nzJp6d!_T=;{w5jzwKLv~4h;>RDmTol zsh3UT$^Yd^vQ{;kE*oeM)2y{aYZMge`I>nJ{qA>pR=wEBUAsRU-)JL#I5gET&(&l~ z@XvDdgT02ks-DH&YxJ1|f-Hi628XryUZl%yL1BJ=kK!mgf8(T&TK-+yQ+d3Jaa$N| zJPLn$VDoLgTXUBQ&I!Occo~@jQmKa~BX=tG<~SA52A)UZe?K}g2zdn;wkkM|-_rG4 z7s3~TKT-)YT)vlD(BllH+p+}TCW}^eGGV`HVFn@PCZ)W6KedBis*AQB3JIv}44naC z{j)#3YkQ}+gK5xG{!ne5KmosNmm>;4B1?{cWU<|{LKa>ZmA6YzW2oRHYMQZgnQumm zTSddXZg)42!{W1<&_$y%k;X5sc)YVqUQO->TPW5|zN0h_c6j~{)^vhoX1u`UZu_$| zWS(bak?WWDCP-{;Va%=R@a>AbP1%_>N}iQzakSA3{`B+?W2hYwp#b z9ai9H8lQeVJv?39jQjhQKc#i^T0jRN!%IG?ga&YeT&IlSuHRn#g8I%zo#oDyG$NDw zl*GLdg?i5?OXk(5rGo9aHB|8&|NO?$^_|kRgFY+%&m*q%whyDMN%z0LF}!D9(k~RB zk{x``n@vm}Ec|eew`A3w=$T36=ZGt!LZks?cU;G0qmq7bx z5ZcrRAGV*S9!m4=I4I&OqhzCl_vm@*?|M)z&v{Bry5+TcLaLJdCZSmqTC(wZP-`a) z=Zd)ScwFA=7p?J2EX7yVh*%R5B4w|4?RpI2)jKd+wFWN<#-9{SgSm`0qkGtd*w3Uk z5B}EHav!Gyx6c<46zP+2nd$7{NZXV%8#UU;9wGcX>R2d;A+6%SH`Uwe@hI}l>F~;N zWs`!}(2(RHtt$T{>CYIsvW)i84H{@cgMf9+aMmUb@vA3l*snX zRRpE>M&!m$fWam$Yt*1nhnZNd3NVgpF@24-2Z3Tmi|?H|`6lL2K`vCQcO}@l33~uni@hRWeh(;aZFBtGkpSYs-m1CBZem`vnF*$eUINAh3pYx-%(MNBZ!UxGHf*CF{iBUT!qaGNKWxbiXn+GJw`* zFRYfugUpaE2VeVh2Q-{oAI^83y?~E(SoF;n?0(Z=1!u?p{H9Bj{S2kbFPl#NZR|GY zYl7(jrc^pjp4fVcN&L~cOJ_H?O;5GHhMZA-*^CPqz)mhvq(<@`p~4~?|Mlga2${VA zr^_$$SJ&}w4>*6qanOB|G|z(V#0@pHBTFcf_QgruEa@qk)w5?OqVd^3f&wRo=O;^h zlpHwn=+^twe!wQW)K8-6IaDg^5N3F%u{>Kbu?i?ARQh@*4DCRv>|Q3Y&gUYW2We4$ zVsIK(w7Mk7zuD7+_rVR5MI`v6=JM-gLJ#x}9X#Zm;X$6zl0B*G8lqERtpq^C>9eDP zm+=>#s3)l+CLCBzn?2*lcVZ@JX6m)UqGO$vpM+3m21~5rsJknbJJJ9I_$ysJx=M_; zCa0%I-*qB2q$r%7AJ_~=UND4gF?EdKOF7&xr^oA)HHDstll}KY4%`<96OtowU2_IQ zHUP*?ZMgl;W~i!K`Rwl)4p5)~(%{DFds5Yh+Q?d&$n)?$YBWDz&fzh}Ps$pTGQNbb zf%g@9x*pH9l+8c5*)t1oDBvp<^qw1=k%8|}1z2yzzaVqdWb_KQJ^C(vJ%$;Nfwxrw znHj~J=;7TdJR19KCFSMPEO?v_M4JZ+)vu7fq~H-^GDo%BwE13aZzLS?j~(0)^fX>Z zZnXYYYSgUVh!`u?`les&qacp_0Sh@1b0n>zftQ0x{{r|j2`c88qzPWOV(%!ilyB2N zmF;Sk=8D)1Z#FT1NY9OIuWsgZ$ikbd05|8rG^t%F9m>mB7x|&43(cVpX(t-*TawT} zG{<$6lie_(R6TB`7 zxw*MP|6gjZfvbz@*pK{xQJB@LE3gg=*0TLW^MMklyy|ms#Fe_*pMqb>Z=)x5dHMb_ z{F=QLbx7Sk?X;~{6X0dD_^|S>;ZbG=ILDve^-b&l!x6zHJ{^pZjwP>@FyVZ*bBa|^ zDGM(S6w$#8bdn!%zPmnXI!S)YeFHD^5ShZZo-DZ=@$p#~e;QLr$se35o#kbbj`{E) z`Iu6NrmzRa6MEmvQx-Fizpeg6DP->xks6UY3EP?iU%d9{N=HxGJ5UQze2-341q`5< zZbpnWKLsnFza|RlK?T(PBYh;|P6NI6SDB&>iIfi#UU_#z%kgC{r|cc~y96td{3RsU zEr)n?eN8fK_61u%2JWQ0o8mniU(|OF;7e>`Hv9e?`63J7p$uF6-pCgO{b4(XwZPSE z6=ZmdVt3z!YDZUt@`MWPw=c06szYaRQGbm^mx`E_%P?w(7?zlOf8IVI=WN33Pv$vX zXuP^S&~4}J(4|ksWynSa7xSEwkKb%6FT-NbNF-+-*gE}OK2~+T<+#O)s)a{mMP2n( zem)bb6Qt%3dZ^3CQ4G23T90Ia%H~ed9LQ_Q?m*f75_ueepmj>bKvUgF2Igz+-g?lF zJTkEziQ@pDC#g;q_5(^~@yN~vL6wg|{%C~C`E96^>v!!9@g(ooqS*iNy}$c%^dPDB z0@@Hb(YZY5mki=`uaPliK{(r7it@C>f)_~z$D2QO47$cLyTxT}irz+PBNlVnnY!07D|NVJq)wpcSu=--}fE}+WA0NW7Z&BlAy4Qw8c ziu@)fo-f6SSvpr{{~qp6Rilr7P9eFMy;4hh|qy zR$jgzXmW^}<2M@*9pN{)sfvKxj@3Xb13!o_Le#_7djHws_>NUR!Ssr5Y9(tkowQ#r zcVkk(cy2^EZ@agmd0?>-hXi!GTQ$&*-P3?mOvVO%Mf$<@u*K>#R10>*IQhzBw?NMVq z&R)n=21>x@MBVUYMvH&ar_gbey74C_CR=@O641Ynqy+;}1$6{8^?udYX<*M_ghNF~ z*Uj;A@4QhJaEjG;2w-aSX=3~zfds^FAc8(#5l<>L)tD$4_l`oLLw*lCn0UI%4e8{n z0e0$_w-?wjqOFF} zl8aKf@1(j*9@yTAEA@B#8@gP5Lm-9&^!=PFepUhMa+o5)G7G1}_FY;2*;fRVQs5ay z*{~Ic;s~JPgi6{1HomJg_95r18q)#;ImtZLhk#9wG=S1cxX|oPXf`siK8tx1nqMD} zfC8KK63B+5FziSm(uuOlt=ye9$&1~p75xM2EB0C(k3%*&nhTxEdFaYw$r~#vK z3y{oaASy!eXn7U0axhm{7qJIN3L?PGIMV(Bh%uo}is#y5v$qWP>$6a&#r8Kgs@c-O z^>3@x?|dxGhx^ZRT;Y6Mg(Ci`y-Bf};0$+P@yw7+EZ81w-5C}4RobG$h|CSt><({uc)oge zL>+!=P*=^K15b0+6(fN*5kRlJ)u%hTUoE22^i|e>z{VA|^12}zXo?5%RSHkUUz;pJ z@6ZxbPKV^H10_u*bW2!thGL?ksVZUst`~@{*gS3z>*;?wwFuW^J-umO*GfWcx^%2x zCt*vhsj2a~zsCJX7O|KOfb!;kA%|l*6DI9(rr1tKcQwAZ zr->;%LxybPmu#$GYjb##_`hz-q7!{XxJ8I@vt1TNd|Ze@PnhCQfq#|*_l^(T1*HSj z*;!{)$hW@>=~3&m`0biJJp~BrA}wRk%&12FAu1Na9xR0^j2O?nQsAC)RK!oH?vcfS$kYj5)=nM?u%K}_zb z^0BbF<30s7yayE#0um`v}fc zq2E={IIVTCwtZ6bW({%qDkM1b4&!2>o3`iQza`VY%3*_+x4XS^=8L?^j9=tVzAym^ zM~PD0+0aF02a!}l1|uZ&ZA4!6G!8zBe}6H^$ZFat^3U8CZT43dD&Yj6#=}Q3m7bw5 z%^u7eWX7eo&^)%xsxAEEBDmv;!_(3S(g_AjeJRB-gZz2g$l-o<=SjyNdvuHQHUF9P zpcwvt)U)1S&`%s`m?=CMkBa$d2|#W(UfQ8{C2FR{~6#^BIP)ukdk>f^V-@G83c z^AXj!Q4XpZu1}%aGO_f?=<~wg$eEA@@8iMNo-a@fvS{2xXnC*nlkj`d|FewLm}^Gl zugn*ph0~pds>}zxkp-iT2u4sHpWSyaVv(J?#grAX4gYK771>o`T|?g?lGzd0|Mw|( z`dNFV#fI5*h2h**b}|Rw0oj56N8dN|l|aJx(OyMR*ykb)d-Z=7^*H@9ih*-%T?;sw zyKPLa|3j;|n9oo+{y4R2T3(tL2N(p1Bd!8DVq2mkR{x+HGci6#@wbjO;sNUBtk}G~ zHQQBn^cU!8AS8Nx1)yR-ysC9A5h)uRCOM~N75%yU0V11paOOa|4xZwEL@pNyy1Q5k*%c|F_iV+7yo~-{>6Xj~G*%Wf`(5mbb4ZmVIw4!b^`%g~k4p5;cmK5Je|y}r zKHc5zrha4ee(VCi7a}j~uZ*)IO0lHm<$?lfq{)Y0SHWXAro*>e*UA zFol+U8szV$u>@-%{QHjMs!?@jH$7vL%(K|)Up~@AwI{lclXphOux?d8p)p-Qayo=J zQ&%tdl5Q!|xYg9sZL=VNJh0nswixV%5vA5I}PVl79?)2M;NrCzpfVr1+n~ z=6IY?%fMCitLwkU!y=!UzrkGzQOd>$rX;KBsjI7Nc^pIGYqG(xIz2+m3GO@83R4#s z=VC^tQKVtXwHRB%hTmbdx+85(qx16^9tdK6(he0l1RRoEHr6V+zDRGI*O#2fxaGRS z&IS@c;!Rw?&PJ4h&j9u}M@Pr+I;DnR$3k8V5t4`CmThvPS;b(y_W|6ehaKTZ zmyvK;59i_egf}*u%)(2U5T5I!Spv8FYpa{2?}n=Cs(q>LSh%<_T^An2~ zA7cFGL+CARd>1`%^Wm?kF->mKmv^2Qbua!9tY89)>2{&IhzM{L5?V`H6alqk2GM6u^wcO_g=qD-XuR*AqNO!0|Bv`PR!3TT$f3nWQM9lmpVm6Km1S4i+OajEIk-QPr;MQ_fN`$ZQ>G~eKQR^CgV-C%Pv6(%i$oZ!Bb(@_zEWM61@4-i19*2!9BFAH@ z*Js_OKx%4|X(|fBmDGp>#lu0T>|$Xy5p!z(ex?JvI%SU={oljMKj?nX_};mgNmWK^ zEWw8^XS~AZH)`;B*G+9>E|`JU#GQrekCutkT zXp)zMh6Uhgj8Cne9WVr?_t5 zZvn;TD~bNV9d_8wpaKcM1Re=?aoP-z`{A=o{W`zAqwe5f7x&#GLGMSD(yHRaksNA2 zA-}m=TXCR+e%30%&xA>niEurJJpuhnG`t4prFgKOMhSc6HZ@5VX0*oD*h%O2w-cbJ z1T|aQ?eTgau1@YD=!sRG;0ychm>U~wYis|$w@htGNKN`}W%FY$_pN2|7JEAXOO6k{(N z9lLp6Q&XB&TcT6xyjNK2(`)pDYMfliD^w`$p)Nq?1>RR7zx#>O@$t4*hJYF@UWI9{ zY3~&G%fUH<#81T#bW<{6Ph)YB7&mW-O%u>0K7a4(+IFrU<;LIY@%72vsOQT6_G_1s{M51Dz}fw$ zFP>}t-`VJ&Ba&Ws$g!He{;Kv=F4N~mVe zOv=-j@}x=n>f`ZTU8II*d95K%xa`nU%Hqff;D6bCM;q zo28$xO}Du1XLkhre{%N1HSRx);q$yzHSlAA(9yE++qyGjwP^?INq+bw_@0uuPHr=J z-8eKzYH+&J4)QlY!Bd>=iYnt9KD#IKIXr3i%ZCs-Ih!dvIfcfX)k%KbcjA6O3OB<5 zvfI92Io;8}ek6ccFCwuBt%aZE{dD@?Zb83N$I0sAiyGnmeUSOEQ`Wus>tr*&3oO!YiIjNir#`kviGjvCXGLw{r+DiJ8FY8X_nNeC5g z5hsmpg&F+N)bQWJ0^#KPX1-M%!t25Sp#X9F@m)oQ8)Db=nLNQOp+>=+C+ynVYYO3u zvR_yMx2CiypL8CKxFR?9E-PN*y0rYrf4qsTV>5_Ap-{?f0qy@y9`9(4Y_@&e9co7N z=q%r=@yVDX$Nhvq3vD$NS;+7}xn()nSNAB;;ndW6zccVi@58i^^9I_^l!&R4! zU{Z<8C&L-5_2jH{=b#KiY2<^b&Bso@_Zb_tUJw7aeWl0CmtNR-*^(Zk2T(KBk){D5 zcT}auCRHI&y+>jpl!RD{p$zv2We2Q&lP1E_f#JallN%% zwcwrU_uB)g4<&AgdV@c~S4Iik*O4iQoHQjchicCkFqIyDqVIGZeKQ@vFaX)X!xV-c% z6MsJa;suEl<&oQ$KSe-dDH&0eJZ+7(rqbGh`_zwPQuN`DnnKGIcLxsEnt_Z&pG~)H znWbH%l1ujb;{&svis(k;TiKJ)sD+>hH5ogzi&q@We|$=p<=ONY(QW+|YrLvD0qNazH0Gy7ai+|Kw{bFQ=3A zl!QZAN6?=3uzfPCkQg(j4xfaot7G6@z7wcbT3oo|+P*OuXdJ_}P$Kn8)9gOZ*p#`X zyGnvU$ZO&V8nUTqo2@t^#$??-{Q z6N)VK%t2qxz|;>lRIK8yoE_a@5D?`uWIHS`GehL4WfKpkI`5Wo{7N($oS-YeO-!#3 zJBo%4Euc;ZUb1rLRwB~(MP;bcuS*tjI+jiMhD_T}#9HX!!!({342oj#{%#AmS^CrSyF%9JKFNSFTO)Pxy z;2Zcjrmh*{l($wikj6cS_%dEWwh8n(`z}qzeyDKpQqxLB*-C}!nY z@{-dTTFJB;w{?o?@nTure=VsZkM4yi#1hP@0%KV??KR97iv@gF%&!;EjAA^WYg#Vs zAM~~7bctEHJVT7hUx)N-*f)6}`GG!*zymkYl!a++jOUKR%f}l`4?T+C7(?68o#8mU zqufso$Z*_g;2BE9y02y`f)KHKi0xhUzbjz7pSu}GJw32(yy?8E?Z(giDgRgve& z=WwLSv`2F#2CoC50(eeO1(XB-ESDJJdqHwh<=q7n6qd%wA7SrJ_gZQ&t=@27kL_>KQl_G zzDiXvScH&T)UTCO0xIvC!v?;SlGktQYOH=ud%cb7jm{nUsj;d+glpdtSADh{HPh4W z6hkf6b$pi6SW(Tl2{qH!`^PV8Y?SW5oV`PSOC8DphxJp$j>YUSr{fu~my9K-qGl%| z+`?m(78ch9ed}^uX83ff=OxqG=J}jv&f3T{GCR(fu#ECP20$>81v_7e9VuTC303Xu zcG*WxA%*OhI@n5HXqjR9e`x-KmKV73>pqrT*ig+|vrC!efnm>FbRf`_D5<)H-nB6x z*b!}t%UK;GhK7M1C!M+I1*^A5nY_X8oYs2OPrWn6ipA6M4BFp>lNY@Wj_y zL!O@=4R4vG!^Wjs@;Ry<9SuG4_Z@!iut+?>!scvP*c_q?Ps$vM$eP$WF?WZRX|UIb zNKi=ZIG|tge$U)OSn;9eM;H;hBNTp9go*xV?4mygYeMq$8atwZ*S%h$*%Bkh^o!m4 z0Uq9u4ik&iCv>coNeBupMT&;;_*@I#NaM;HVff{18hS?*-_lb{9bfMdzsqK#*+@#7 z;;K$JSyui~s5F!@y0Y=DQiQQz=evP$2;FLH@&Sue{wd!2M(*E&6&W`#Jw8&+fu8Uv z9+UZfFgGyU0z{+}YymjS%O$BJry8Mc#N?oc#=BCS7g9vjo@q3S_1~rnKajlaJm?&zalsX#DT6 z{6NOiFnEc{ATu>~cG;DwS1p8NoF?NU=(xQez3~Odd^eYztI$!wn3-oBrTDAVq`z@L`RDz(9WvP@ z`REK@@-|FMSz$;|6#&)0C?4Es(f<{vo0Y)__!?RCZ}4AIfcQg0_?S4aBm4gH^4dVi z#B$t&eA3Noz0iUcF8RUe-71@bV%J#<-3sDcRkiZ1I|Z)}X`;C4XUU4L`?A%hDWcp+Ajv3enyhd)`~G)=-S$?rMbUo~d?g$Vs<0G(MWf zL(k?A5+MHV3JX&V-Le>De_mZRh@df6;J1Aq?D$5el24ziA7F=q&lW)TrKI4cfdZS{ zAidBhZdzxD``Ts8PM_tU!#GGRoQ$kq{`X(TzsFBRga+fX)ZUu*WWMt!5YO=}Ukr|4 zp%o3MSFAI3vAoXg*kUtO8fNSp`elA$^o^T^nRLP6ISDL+k%0#wRn8+fc$)d3e(op8 z+rOd@H3KDK)?U{~Ls?JOPgb6f1(gSC9c!_cR%XMjo5JRH{?=;CDSZE8ES98)fu>Y4 z7+4nmo95qG#Br0b|3>$h@xC6#*C-)}*k1&~5u75M{~_WVg(=7PGoI18c2h-uzg?ZK zSO{|qCFAwFUrjmtNmw@D%hVJ!|6`AbmPLGwv0e&lZ0>;7pr;Du1z3-AtKuwt&-<+| zox1o!EK-uujcur;Bp`NnFQ(cQla0nxpy- z9Zs7m`4O5B1?_%%**^Njn)kBu2bN|(4`|Q$bu`|gH@p6}of!T8ZS2Sr*uAB;3D{&u z44C5XMSnJ#<3Mt?%pSM%I?=^AXEM39AmP9*)E1kf^)Vzbtg5h%R8S9y!{vpQqWxyY z4QU@0ZP~h|HiN9v4jx%rb%sO)Y5p?#$~ZctS1vbLD%DT_N6p~r7^v~zJ}UW}BuWtg z-OSOLY!yEY)TM&lk#;a~iM@_a0R}o^NWzxDltbqDK5H%KQ}rl?Rg>;B|E!=X78&^ zVShy^)z@FSj%)-MM>xBpfJ&Ml023^kh|DK*G$M2^O^Y71ycmD+Pn>!yByJ>Z(rIHM zCrolwl2j0=9lO!jr;c_6cA^Uj;(!0JBF!%5>WU;g0cM6wP4T>W13L0QGp44dg1${1 zU0uLZ0+3Y)U`+`6-CysF7Xd-3$J34H_3F=fgPWs&5Q2a|9ELY};r>R9`B^<*V^94J zE==k?J8uM4$Zp^{+cZGRT@3b>b}Iw}$XP99(+PoidxhZoORFd>%J9@w5>GEndwUd- z0CJ#s0o~3iEyaX8*`MLkVusBC1JhUmpATrtUjp(MY%zdt16s<3{2wuz0K<;yJqZ}a zb_c3%kFYUI4@dq}`Xlu9>JzQyKTyHal2c$_kWi0**)hFdd5_y9xcU8T2vx8UyH{`T zuaWjkIIn=4m7xrNc46qHE2=gKoEYi1cbah?B}$BP1!spg2>UuGxCxTcR^nN4gaKsA=Ve1 zR;Z*P-^Q7Kt>m6j`^Kliy(a%ABXh;S&FR4kSDXTemx1CIx-AN}ttBWZ50#f~eJAi8 zn~}H2={j1qAiGxpbxPUQpN_^3=WLz zd%FMm}O_w2in8KlEG*+tI-B9BwN_ z$IA$g%E8-c6P0)_2*=Cl^2^~9jw1jepICEoVZJXMwv`{ouy|i9WU%EcxVjSaSPjv{ zF3V;b<9!e2<1HoQGM#ZmwNMbJ;N=N>zYSX?cKXDtbJ1>3u$AxFlDEWC&csR&M47#m zTa%mt+62Zm|FPS~0jnPQ@22L0O~NDFLbJjv#Y{p|=9KDc_oA)}3=q-7v{}UAk zC6ORKhOe>|w%#`4D*2xg)K0;Q5!B6kXzafnY_S3C-M4R($&tW3SQHnoF$o!XJQ(`= zfMA143SxP@v2KOTJ@&Rfzx^l`)4~{%177DE>PLRd5%%9X*vyWqhB?@~AGi|!`vEEE zUt@1%VH1?W54-@|Nr^^fw@+gc_Qj?9eX^j}J#(2h7TM_6z^}Ws>mqKs%@x*w9 z&;oEDZZCi-?p92tu6Xy}HNi?eZ1&lS-Zsa%XtTA{SWp1a{gko)kouaz=p5!}4aE)u z5Z#`a&W#vTPbx)vg#&6h7ywLk1#^0F2)h94R4$J%gvO^E)c7o9a^R)c*o%k30s%r5 zFW6TKccvbtgh6~Ty20-k4`pPIQRJ}|7%XWU%8-lkTyhiOA4H*4-M$j0FmvGrGZ!|% zTujHN6@03$p#j#JHTRrynQ|FtLn>Dk_Q6ZR2e+mj8*4Y_aVz{c*zO#BYo&tC0W3NA zqcx#i4%iF`p}& z=K5Y$uFodh$E?t(0>T$R!Nyl>=4P9vay~xQ*($nW#5z3S2>*Jeij9CJxSF-TVIu*`6Yy7Fm+K(7?mC@`0z>X*qF8w|3&UT&uMJrJ?2?8c~ ztn(mw7ij@=qbwalPFXk#l*d%HnM_!|{H}>{dt16~?Zsi!SEA1*idgJc6P55SN>#T1 zTg^m_Mv_+^2Ibsn)nBKePrq$PN|7A-X9pwpc;FjfEN+lMHLd!8uHuCb93=&@Jmc;B zQ)-C;&ayJh9^TG-+#T#>&J+z`kq`^l*Y=6=)V#L2mx0F;g+>p8D0(q*8XLC zO@Hq?|K*L3Mc4NU-J7>X!}@a-3?JudEVP%21nu%`?Rs&l94-II%(@K^_O+?G^+Mag zNc*=I&!uOh$DB;*9cNA*Cly@ZZJQQ}Sqk{yDW+y3OOK!$eKTN;1;zb+ zwXGa!{O6untq3>?1#hw)ng8}nol)c^R`UnVJK8(qPh!BmqqPq5@L`nk?FViF#py8>7htUG4kIGB!PbLu*8=^${trvcCQq1 zsN)V{4>?WNx2>@WW9{X+<&1p}fBjN1tznVM#ITVf@0XPX@_Zn(#*SZg;-^uePd$n8 z6UKwa<@0anjiDZ^7b*U{pb)^19_w7bUNsj@L1${IXY6=dd zd>v6cYsi4Br{v4Sya|r z1i6?iu=pI>Fy+#%A4beB5%+0Y6S|!s5HfJ>K&{3II#Wx1&Q0@KJs#xdQy=I84 z!*(Ov=PGZP%PPad@+;5$F;v;Pd(6!9v!&)QKNE~DrhWr{Mf7tbLyu_);I(Nv+P6(pLmu#3}^S1db#PY>L-_ zpGopR6+vH>RiCFF9|~dbL=8>v%YN)xF<&Yx2ZA;99Bh}AdKn@n-8b+LPNZ(06hPBISe2w2J+NrEsR~xK3@Ta zKJ-K{0q}3G(EeDJNimF}Kc&w7Pie+=3fdf+ftd!Q&r3;Pm`4`$nr z&O9S@D1$^1ZLgKU0q2wgK1KeU+Fq*TFPI_H=i5H9{o{5-^da;=fBQ>Z|EI;M2gpIL zx;{PJZIv=_SGb*B^DOdhYL0CckIzC~r2}|`BRf|HBpz=yorwiA(I4>|C=Xj%0sX|Q ziuNZIMXaq421CA8FX-by@cFMBe~lG1H$PoBw8z9q;<=gs7q}#W&Gb(>bHp+ph0_#e zk!;mBp9>*js?OTl`g6N?(6A&c>WiA}FGC=N?(pmkCj(6)G_)Z~%UrL`!8~>W+A81} zL0P;Aj+JL?d82^}#!h^&>>PBZfmkop#(R}i0B)U5I&w*4zxxL^wtL-V6xdtuVU>W% z!BYD~GL(l8gY>Y);d2(2q)F~fhX+FVR?j<}GlCq`7|!auy~3<7q62_HY2xP_QBSrU z@}4}xAMBCPn~4$#6(n`>Q{!NnVUWc&ckj~GW$P^*C8X4bff4X|IFlilfLTQh#x+`? zK|r(%h(pXOfjw4y6#~0V`kD?59t+AqkCjjq)x-jk$0$1PNoPvp{sUSISK56znt6h7 zQ!}uIT14H>^RjD6_Bi=%0sW}pI;q3wFU{WI=cCZrp?M~G!$=7$zhs7eDNQHi3NP$fTnmB<_cr!NWf>(ELtJGu4oG05Ayy1 z5lXGdxNlN`Qd#))$K^A@A$$DfqdZ&CZ;9@=+r`GlT8)%q-tPqEb#wC0`vCTqX8M71 zLMs0cJy-%S=#?9DYA?Mv7sjFBQ1~;;nHhjZ0wuvW;@H|hRZLMBFiUuPQKHnRCOg{v z%{SE>Vq&^nkEv3b!1-~624oFzOxdci>H#b*)#y=fGw;9iY^`;Lh^)%5DTE3*0?VgYH?(FQqkV0!LyQ*OAG6v-WNCB3$`E>0cWwL& ziCu2?w#-L85pH{~6u{J8o110_3v_gV%CJB9>cN#LuaP8Ged)d*$`<#*Q+T98Qv6qk zDI5y=Nd+p!$eh0m`TRz^fQ9#ZIxEclc0jZ~Kbj80JqR)sbk`}B%XFX*yDiUT?%7cv zILuUv=OU;1u>$52o)+o4R7U#v$7Ag2lw1>Aa|v9|-er;4fA+!x8pX0;J8=pjG_o0B zv-!!~KgrR}HeL;<@wu~J4!|G>eZ+nTj!1v%PwRu>1KTQ?^wGIVIak<9I-G3M)+iB4EjdBETROOOay5+;a%iaJI7tL)?7ns5$q z;V7lk1W(1Et2P_T#FFR57p4zfly(on3Q#G6QTe@9;;T{g6;SzP$``;3@W!g@GhYL4 z!3~+DKhYeep{)IWH^NW;FRKkUz>k9c4vo#N6LL4?Kfzw}+gf<^)dzlTQj7Forxf+% zEHc6Z1KKnC!kd|ilQ0kdAob@7N)z^3_y>UO z^|?A5T{A|TiY;xEP^rbs5^yHHuL^5Of54Uc--0tO+^#fSlT(a1f|vJ`WHmt7d*NSp z&6Kq*{zOqZH2ikY6p_A`>W_alST1`3!5kFumcF zfg%+EoH#JJb>IiuaxzG%p>RVfu}arOwSJE)s2@s{c5^}+0;g0z1T9SOObLUxM7Jp zxF|#G=hY0hwhyJ6x5LGN_h_cy{~?yyD#B!S1g{Ncs9$1XI?Ts(G!!}&c&P87DuzX8 za#Llwt%~qk6d16weOhtzxqWm=3CMry)uXM5`$BIfCT(ZSi;dolI*}D5;d%Qok+Vw! z(>GR1(+f%uwMYRWFx`p1Ypl6nNdsrlNMbbhsS9PrZQywxRrI_sky2eO^q!2m5~ab z>D8FB>~9z(k55Uj+rH>@ZsVzox}L(cy)+y;k6x*NQq-m;7N~6{{|`hm3Qe;J#!W*I z6FtgV+(s`#B@r0{XW!e6jmyZYeB8mxcusPjcbt{k%y>Q2*&*PAckdi{Fl_zupss=l zQuVAn0J1wPt!{>SJ%V=&)27Si-S|H}=Kz~Ze?Rp@Vs<9@DWMUOZowqB+G#4s08y|X=STpTN~-CV1w~6@LoZFdSTp~Q8GG`hw=50*(oqCdzn;`U1=PDES9gM$3CO60f3>jUB`H-JP z^zYy?MpCM;D_^y7gEkLC!wsOB>+^V}5ipOV9@Y}PP~Z0J*GrwH^?m=pQ$!lQ5d<0^ zL!gHkD9A$$-i1w-{bI%-N#N08L?=*AH|$Em z5y4bcTJCkeIRM(EK7Lu?nXhltvBeZjhK?4hMS1*&H=KuYfGg%hm~~X2B3U@~29m+d zE0C-IQD*iW#`iag=H=GzhsFd1j6DbYN5KrPbxrLsuR(D$}#cd_=VIN&(x%fKN)r7=oS7d1dXc4zG7=^?4Fz3mLN%Wkgv7PQX@I+q7?`Z zO_%Csc)lS{kmN$X-+$hmV%U~%^2}|`&+my(XIlK-xl-TOe2p=RG9$MzJ>dbxIH5@Z zzagoKkQxvV_qpvM8BQ+vnZ8kuULm>GJHyt>YOyT+A$FYEkF7l$FNF1T^Vi0p{Damz zhR7_}hugD)I5mL&2X@(71|(F?KLA_i34D_&q1+Aee{R_w3iyv&pZL{+_a(Zj376Y* z=8jy%y*0bCw6;|H3kxeVkPl$`A{Pn}UEWU;gdByH@ErQ`mq00K%$VG)OMw5twNnbx z7bW&&))|9-zA#;wB>c`DLo@JL;J+yA5}LAUi!Z!*dIE}wEJ+o&cekCfT&9UCzRv{{ zg(Ha?lNOTz?|}Aww!!GvUy#sw;O*-Cu1+oDM)(e>_F$Tr!$(uhWq+w3^nl3~1jWwAxfd#iaEmt5~Q z+Rx|Tt+h;uPLq_CI1CWvBi(paTji-RJ?D@#K5o0%n&5M~YEaRmubwCgv{3A>hluk^ zk|Vp1G{9O?Y%R>yUvW>VlI|aDL{aF~b$a9_)P-Fv>U9Wl=zU#pN@#_;_mk zBaU%ZMypxJVKc!}6pe|gbUa^-r^sRYVpxJ=ABQ?^`m&lm-w3erRbY7&JbZWh^x?zY zYD)}4*gKh{4ni+lf>b^y;B|feo!6DuU+>1yQoTIw9;eI1UW@tueE@~lE-m$VXKQ(x zoZ@8~(mX(?!r)C{g_Qe4BMoTuuW!Wn7}w@;!~TZOS`I>RV!X_vQ99q^;-l_t^U*qY znr%b6{Nf=W681gv0-%hx=AULafC9;Rm-@_WUxsQ2x$TfG82;&?SBKvtMR0unjjqKB zNgDFnEaUq;kUcZ{zBhU|3FOmDLogOLDWe?@607dzuDr zXW@}}xNGp=26qykOsyb_PAdTb4!UaRyP1ef3kBuNl z$HXVsj=2Q~c#$dUMR0}-kVUVpK@}SbBjfT4)86Ux_h$+*x1Y7G>Jt(c2gmB_ zQ+JdjJpsi`T*JDm5plR0@;QuKbXSkr z%CFbol*Pq>%iEQ4i4$N62ro-(_;-JYWU~|;A06CF@KNWR>{N<_?9Uh^fOo1P7YcJo zl}{I3@fa>x8v7@EAxN%r)| zO(v-#EvG191q{FH&eJRX-)#)r{n{(m@9#Q%HZZbAe(Md9!^L`>R+hDvu0z@$PwPP@ zlUn!{o+)2SODa3GD&`2KK4DjVlgo7^Ggp{r1i1e;kAL5j)Jf@!#ube8`I!E_+6*yf zJ=LsZGrRc}_y@oiNzjv>AJr$9yW}*i%qWM)EGCUwQc6q_Ok0r1zKb{>I(u`av#z2= z^ll37EU~}c9nfXiF(8mcH+5Q@VPt21>xdAJo*70UBX#^qp=H^%AxQ4RKvqzoDF|7A z&gam+C5Be)NSa!|JL`5%oX-IzDubUA59g@fHKMF*h<)3^QLEmb_S|>mb7L{5M^W9C zl9$&;lf#bYDbu-b^jhbB*%;=3=JbDva(5Hq)FsQs6y_im%zmvMRd2CmVpLTus@U^cWxSf#7B!1^f!xslOFhDgs0a0)ItG1W zLTci71{<|0@=-~Z3(1cP-vC{%zV}{?p(!6i@UY8GJsEeYj=R(S7g3{9-L`eR#kIpj z9hZ|jX1NPkO@I|QTJCRhWis~~a^ma@ZWMM^JN*}%e}El$(B?V}Ag^~rJL}uO%`InR z0I{;s*2^J^w|qluR|hV9+_sz{sAz1+_u`MYHlMlBp?M#A=)wQan%Bk-fJB^q33#=g zC3`(nb!?av?SORC4WN;#w2hq}&r}F$Z@LF+)eh=k(U}gWBd98^jOwbZqyKs5E%8zp zCc;JMEC({+D;KR9W;cnR=G@#^w#pYq?OtgI`Qpp}QIq?N*lg|C^XB(Bgu9@A8tmBZ z08cVadPVm)bZ>Z`F7X4u`3gj)%j#^_MM_8uIh0E2R9lI}dIg66YF3amya*$#ASFG4 z<=++@hV_K3!O4ZU*(d=dE4aEqYgvfZSiOSifH2(QRZe~mK0Y2_Z7s-ETuudqD6~wB z^Vl4T*jd&6Ro8rXyV7&iJJRe(_tAS3Bo`s0{tT3FWw6OmSP&H9If|3vLtn87iMg+g zy*X$Y6c5(-g^z|^c~OeckMez)JSd)0xD%|qMa;ItwrA|~wqDIPyM8qgXgOtp!B~-u z6+Bx-jF4_gP;uSu-_tX=H<~}6dNSqEO`t>>6!W?UqQYT>>@W$*U0d4r=b+~|;>x+u z4SG4^1DC|zU{}Z8llBtC$h^s%yxN=+b1AK+sfZhj0AavG>Uz7IGOw&Criuh_32 zh-Vk*2S~2mE^qG^7xIaI7F@G8Gm)ZLbVTB zNTy|~c_G0Dlonr-33D-#!EZ` z!X(p2o4>+Bx&1!ea@gBNFVU*`I_-O|L`aeHti7QWt*fnv<6pJ&o9jAU=5g%E z^KF90gyk$8<4%^aWK6{QOey)lQu6QUu7+PacCs)((IqBXD3uVLK`;-R-GJzH| zkYKpP=RUo2LgH7pjn7|Vl>5uv{;dQBBdPH3im=BMflbmeU-Ii8awY2u>3uV20vEsE zSxF-5?Au5gDSK0hdYAKV6}DE}09iSzfGXS!tu{0S53><< z9_8esZg(G)=j$d(`_CkvLyIK)FJr_MCt4}+AB~m0AwD1p*pgvp1O^4odeq``Ro{ie zk$s6gn8S~CuF0t`*iu?3A>>#Q@w(Q|MVuKp@;{f9!BtG39OzMzvF^{#gu!6nLc(su zpBe_M;B)&vFrJbVNuH!X_IGSNpz)kFc(77skr>7q5yTm}?aZ^LM3+CP+ZoLeEj0iti;!`474K1vgH9>VaKIy+#Ik|oFOi)}Vl zr&hdP*!~IAz`6C+621CYcDht0mspXt*IE>^uqr{Y9yTigG>-*<8Kc@lLdWK;b2%2X zsBp~TU19hikRgCWIj3@w#Z;}YH96m8O7qN}PoKYG3@@P|)5@tkLP0KRr@a~+?I#DQ*4 zaQ&?>YB-OPvg@SDW546B$sne3AfUZHL|2%gLudw`UWTtbSJG)uc}<6(e^neC`LSLC z5s_?$`$KZrzVs)$Lvd?`&wH;|kOIPz&jTE(;V}N;Q6mgNnN2UWEHiY?F?IM0hBUKR zc+DVK8N0KhMW7dZ1$-kJi-K2M3}qq@^{vHw9l1%!o_pSHm^B%@j9W-^lK+=&g+^}W zCdw6Zw9{xL{` zZTiEL@;7*TSE#R~O9O5M;2(ifO$FD}^onGG%Hdkfp|HnDBbVV!*^(Xq6V5{GN4%sD z60!kZ-2x~J&yNja%=d8x6;Uai9wWLp2<6AVh0xv}Hhq7V{S@n7cSL?PhApI*G9d5w z7+g3P2bT&>fq&PY)To4;y~QJq>3a1=Y}|R6IV<_GuW5MU1;JBn)EbOkII)TL)?E zoRFZe>zI=f;{ODS{Gr^FAs{H07Y92YSM%LQOCYFPOH+W>yY9oVmekb0*2@KzwF39b z7)gUgTs(NZFd@}qu>6UxW!n2qp3NJtk%T-<1~|$3qqSN;Kc6=|be@0I@jtTa%Pu>; z2Ea_RFv!-2v@qkf-8;{$GnI5}83htit4Y8h2+E@#osF`B=$&uc_z;Ja@i@(aC6sq} zLw{PwV!)=rLBUAoGd<1}L1Nb%R!1kJl~K@`g&}*G0r9zR-MnoN_X)Ua!}G6>N{GLN z(?-{iDu4O(Ncmh^Y>pNcp0dr4T19Sy`n!{6V^*K}D^RE2yyus9Brz8;WP9Z#E^XOw{2#%$xe8x7v+hBQgf7thwbM}P6`RSPJ z3Fs&I)46rv`Jmxek@?085xD@ByEWp8-qz#aIZ(5_&|8$CxX=@>M>=VW^%S~uA9zzc zGQO>wue8QRmb!g{d?M!lP>P+~tD_CW{qN>v!ZvjyoLtDCg{8RJBWd&ugd$&tP>3E) ztGL1x95k|F4zcXqsED0v%k&_HXEQ zSkW`k7jVeQHKY*reD5Og-%SEa{?Uw!rs`+A(pJ^29q4{rw&MCq6c*yAryv5@cn}x4K$kC#9xmXP4ZyTa|l6#{1%sKQnshD8Dm-cW3-7gM8+QR(Sl@Rgt$> z-s7Z!dM*+s$#lEI^G|{%Nj&`j{S%&!rE58w`12K(b64lZ4+&d_w|cus&v1>OCC-ePaIN~N6LX1c4CkVBgS8^2GB{}%F-bt~le zQ;42VC7B7IoiAOE=#lhXg?=6V-9Avsbf1X<&zc4oa5FY?ax-X&h*3AZ{pqSgBThMy zLr>uAEpk$mjf7Bcp06bPR-eV@i?E-$h?fmSqlIF=hD+L6rKMKz+9s(e(ECOW)Q+{f zzrOhdW<0r!3PiL?AK|Db!_8~p8$$Fxwe_5P1yGcuut7 zbz>kx#L`nHQN)D43@_t*SmL7P)7+pT>fAnzTV=w=E zE%YUhUb={384tMTy-$atI_P^o`m1yT@>Zc@YfVM*|O zw#4SfN88OXO~ ztkhJBT5BY`7n^>dH{t&}6h#E@`=f^SoSXn83>XqtB=m2eD>;Q(X}GwW8uOIDuv8TN zPRYO}#`fD`Bx5H+DZrka@R<0xO!pEtWV9vjAJopwqKukW&Hfm7WyTl3m9qKt$@Tp% z5K@y~n0MpQ!LIXAu(!96HCJ;X$;<^E`8^b&8N9~KLli{q#nsh@G%v_n@s$wCZcfDb zy$`$R)hx4@f8_sBQBi)X3=<{W9flGne`OZWV)|MvYsjPuqm&hT`EIiC1-JCv`Y&fr z-eY%ZXBTA2ZB1dBCJhvn59=5`Y|b}Cg09Fp;@%9afJz-5Jt737r%bcCvv<(_kSIiL zxdg=ff7%kFp4l(7F;?wBlyl6?t{7}%`(N3jITzeqTqbi3K`$j7cQojf8LBZInm=s6 z+l?^<-S{8=6g!QOTV+Z@k6xVe4Ad@U@KkbwYEQdf7n9=Zb}&k!m-PYvYc4`>*N+7(HL*v4N9M7e8x7!Rg z(!x+@JTd+t-Dyawl;x3oT`S{-ajo0>N|=?K>kP=N=wb3fUycpwcvi9a;J&(DW@vS! z`L#^e+Y%^q_QhK=r9JR{BobOS;a3h_a<;-md<{c&+r}_8)PaOiZmO)z98AJzQhJ1( zcBIpwrmmX2qNkt%T~}==RwLie#DhrqA1f8S7Im(SY>w#7Nz`v=wzBH|NQ#B_r-ODT zAt7JMwXD^Zm#8l@czdv8=s1UJ>uZUwQUOlpaBz#oTeJdTidse7-DAXHg(2h}yz5!xcD!oWLU`U0;cLRF2O4o6MM+;-q# z+z3O=*j48=L16THHAY2m;>#^MUa}~*#2^=}9dg)XJiv}) zkk_uUu$CY4D=l5DJ|{5-KUlAL08x72<hreE+ z6QUjR;Xw1+GQZ<)=+4)_O4Gb@1Z-`dd)0R@28mX^-m1_bph00R@VfDtnXyxfCBeNR zwktm6CALd|`8jC^CCo42bP;_C-=A9-WcG-i?pvPQ%>{k(th#&1wVD=5xBBCcmd6dl z0{fixZH~*cGa#tqy$@~|@bE6WjdoH(NCdu;t9~#Tej-~f2JV&`74UBFaV&9hnZ14MPMA$xX)h)-^Dv-#2f6@UYO9A<3(R+5vQSAYFU#Y?hg zu0AlZ=0Lqd>OJeY&TUJB8ApRJEjFVA+nqK9@wqCu52CkTHA*Y&>7uOsLCwjFj}#05 z89D$pN4bx~i)57u26U&lhu?p2UyBpN%E{;7@P9o*a&^F{rQ(%8G;7Q$#qF3 z{WcnbCV+1Kl#kvT|KS_?X1_#C<}JW<;O^|^&1FR~e3MF%Y~A85g1Ry{t3Fa!+EHQ+-vQT=- zW`~g03sFj9wf;h{;c0p}?GghD1?GV!CFBXTr;LkXFd~JWPXuc0x3;x-^muJ%?Y9@} z4z%){g6gK6hCyrfP)&Y;F%n{s(5H-uY;Ecrtap)fJ}=!V!dt+#Zu51Y7W}_!hxFIR z2Z<2W9gdY>w)-hy|GEN#a7gC7lcaT&7gtr-5@CR_dYNWQW}>u2!CRYG`#{zMN>0?< z;+!+A3*;aoC`AtfOh373RU6%n-PXu5xiulwCA_)OK50ntY{^Wi;kdp%Pk5p|EU-tX zAfRS}je)NxkDPUgRN)prf2Y}9)i2VQV~9~$uw-UtwdV&N0ReObODBNf=hv409|;Qm zFp<9*A~G!v$W6IWnqNn-6^WK&zl#}s^b7DXvY8_h`Rf+5kw+}#Ps>4Pvec@lr{q-8 zv~>m&g7O8%OG9FIyWKz3U_JXm$L-BbZlN^?lo{*A~CIvtcUqb+c8#A&OF{Tq-;K))tc_26_{QG8Vp~j&LI?^OL0S zcO2YI(WyTacAyqvDa@%ow~>=u=#u#xUfv-YACo{>Bev{uMQ6nmayJ?8bAwY$5(Pwx~j6MWs5LMsWXbZ6cS5-G3mY zd~!(N;GVI5?odI#Vr2Z)zHoW_Z2=YDywV7U+d1gi;Yu@~$>C-v^?i<$IfEg zf1RkO^-jY?>_H49yOL@+8k3+#YPh&Ri4<)gbUBGpF()kFv_cht%|*V^ATSbiC~z<{ z8@l_$XMb*a{Cd&WDu6 zm!(LUS*hXyePwy2+YddKIxg>qGI!>N#fjZ{Kv>{Q4PBf5k_kx%Qfr}+!EyHyR=yX0 z#omY3%iegrXtKtYv%c0`X}6nIhBIef4C55S?oWqzX)PbE)BGblSE+eOP`Sws`D_mA zM*|&xr8Ep$>}yjt{03@m36Uhp1#313bmF}uA`XPC2a$A!sd0q|>k$-k@Prk}QHe@;NbFzVp! zn9-$~lN<3_3`MR=QiQ2T5s9LF?hcAZx;aG^Z8T76?4DesByyo!1^_dc@4VB=)ku4_cM(?Tir6_qsW&Tc%(NLUN{D+4@5_Ggz!v`|; zQGI>AYe2a< zj{4kWa{(w_YIS1nDB6zob&^Vvr#o%wjHrQ$1~6zjaB97nY{hrf9$6QONly0mc)Uw# zX)!6Yz65RhnNqLwmhTwJWL^uzv~n=fWi_e#-vDZxrQ+$yjuVK#d|y;XtNEYuiJkHB znje590MQw82-{y&*5Y#f_I#Q=W?ljjIe^Cy=tyTA)En#{8e`z<;d!VPxDVOs?=_p% z+*ec0(CPTnZWOS_cVPQL#@b!l*Amr9no7hebaGyeuMxicyP6cb>u|qb-u+pydS~)_ z-y^64yKoEMn4b>Y=*NeGmQIY|KxqcLf?dWB+xi!|o3)3dq41#B+ERjuKX1ut3YIu5 z5vim2RXdr{8fW%jRFF{0hIZ!7Gn>Bcd--rqPVmkC&i+{z*Th#i`lQ)pn3p(Qe9`Q( zgQe~Yv)Doh-i6%MNvQq^W2xQ;K1+C&$yeYVvVSGj#2H4Mdc_Q`|;PHv;WkfG~EKdkvxOn)lL32&3Yoy zdzGJE5%FC<@4KWpF4?&@$3c zufaJlO-vfnO|&-`oL#1{d=V{^G%}%rn=yoE1=Bsz+^thXxTs1X7weS>?f)-1jt0en zOX_D(q^4=FLR8r76co+6&9Bh{?hU7k%Oc}UHy}*7rtTGs;Tp49ihl5!c*5i^L0Pd9 zD3QYTQb#EB98B9kIi)42L&4Ow9FpAKZRfGwk%tZU5RId`mdsyLfrW-4fx&_xLjoVD zA%sM1tBhK!P56OaD~56NjpzqTaUmF#B4(qfAa8wnv_!eki=xGlB2KLE_li{!s4w3= zJz>8+MfJjB#3l1)F7qaTP&bgNUt%wv=(p|hmv;%KK*3mcxb6RTc+Q+Ie2&Vp5t**l z&Sf^P`bL5cWhQ^gqYfq7@0O@hPM6RY(TGtOn-wWkQK&s3Iw)Hd>Y_Nn1?@7w6*fcT zd`sxkX!jVyEZXOGjnsLQiBfoBlZVOE(-}m68kxeX!V)e=D|Jp4Vm#jcNK(b#m%-BM zfT^L|d>MuCrks3|%+&pKm}ms`QJiS#(ZEnl@98dtUs3pIyXn3wylT{v)J#%q5z*!F zGzOO~cpig{6E6^Ugh+VSq9`Gtt}OS|Rod8(J6!n7>(t}j!y50x{XZebW;(lP@Mk++ z3b&bm=aXXfyM5t1$lxNR7jIen9sksaCMQew(BYr^aldzMiqWfN*e=@P{@hYkQ)`#x z_+ri7%J%>z5p6cn*Xw+nrsbPMcKd`UB}`V|c?L?$%S#>N(X<~0Z^32J9{85gk7N3` zB}<||>j#onc59W>Z?4c&ws*sk7?eLHvMnG#hs}?jhQH(Ds$0Ty)@-xEyg`1!Rm5vp z>8h}U&<3t0h=K|Z$`4oC%p{Y82B*>3kN4xHyr+;QVq$qna4PYX`!boXRZbEUa*DLM zZGE46Blkh;)K79P7keAM+k;)R8X*uC{%Ob!Cm>`$q-d&NHnHmv37rg)M>-4im}eRo z3V8=ld_^SwbfHnritmZA6GhvK5wicsXctj2APgmv8F`oAoYy-^07cMt(b;Gs(zQ0B zjf+(gakm$xy2GsYV3t{$BDHrP1O~$UlOw0OsD$@sc#K^=Yt3v+D8Kx$QT93v)`jgT zCUt7R5{47MMUzV(frB@0zWB5_S0bw_R#9h|EHr=-QCscZpOs+XeZFmeqxB6ip z*~E!X6R5ZihZ^^IGDOa>g3?TyFSr98AzlG}uMkx=Z{=LcBSV*pc}x9Te$aJrpNngv zb=qU6qrzerwK&cpQu}dxo{N{V2gA9&2q|vhJxhpMbfEwGcTW%dY!J?PmBk>s3g(Sm zqIC#Ar;<3Cn>;a}+uEhTa%i|#H8-9C@z7toe&Na9`NNJO{$D5!|2j&3wGXsby(YC9!qO9V)s#8J$k@MQJslxYcz z4dSK6-$&AdXci2ZQ$g*_C21IBpFqk%x9yZrEY4pouaZI(2jm%KC@c*5S6L+Vzjs3? z(QQP<-L-7MjM@*Gab%czlTIwzGlBhA$y1_l#xZJZiS5DI@XfgS^xN$(IA+^xaY$k1 zQt`WMxJ+Q%6V`f8?dKB&1cy7=>DHQ+MfOVu^}lEH>qGfPcPtkWpP$J1LZU>e+K>Ah zV`7_K^AB&Sgs7a$gL=VLTV4q@g8WC|7gcnW*vgRf2JLDqRN>Fz zhKa2Dq$Ko3IjPPxQ5lEh6jysYRl=I@Eo3#6s~oe@JT-9(hSH)^$^JwmwJf>$MQLY+ ziMJ;Z@QIN_t@{5;Cs{W#bZ%HY|LopggAiZ0l~$0 zzA@sM@ad}{4-cli%&88WZsS{ID+B7vBovL?gXyDkbj$gYYW86FRU*tNwS|D%A-?Su zc+cVhV#$C>oO>V-Nyx~v_+gy|s7RtCNE?tVB_c}(wWHm{`I|_iI06my$m2az92u8F zjJ|Q>H2Ux~-glA0s-7X++)U9))Sqursq^LL2Lh}$SX7>cUOgD8UTUF5iYwiI&^+H~ zTzE;|hSN}YvG_`@T@~-C)4}E(4Kwc(WRjZcVJcIQy7F`;TcYdV4f$&`-yqGP_T&$Z zoB4luBOQ|ccL}DL-p&dbPejt*M`aoYwd1Iq$B?~x$+0w(@M6J0qN-Lpd&obCrQRkC z+w5=jNx`&jk4tL*i$OH9FXonfJ?6(KCcSoghZR;`B+L)SI9W7~*#Czf!suLN`>zwR zq0qdwAK=y!**vf-)%{KGP0;Oztl+PvcZ>S%WhntcmN2jN_m{KPgi*b2s9tB2rkKK0 zCTLi_yJrsACrrPLn;eA}sHL>>9qu|m!{1~2-F1(5&O2Xjj%}oaCn7Iu$g@pR2fg9E zWrULhO$#Oh{Wxpf=PgsKopddYIKrs4yhCNYfk)u@G{qB zKm0odjomvtJBouk-Mfvug2@(-8>sPGrqCLQFwU_wc`|F%3 zqcM7R)se=HQX>R@uJT|yL{O*+layQDC8%AT$Z7$@*bnXppX^=RO}1Ymtu?s*@hcn% zlEGyK9ddEx{a_Izb=Dc8|1L`_h+L17oRMzQ;wKykPxe*x!8x#sAJcoIA6}ZaPz%-5 z%jN8u1l!5orPhc+%sYE1aNq)j&fGk`@;khuIggan_S%bAt4&fz;C0_w%y2-uw4HrDikH? ztdjW)1}~<1h@plN+`e7l5vIe9ql`h+F+7==Vy}7P!gSf#gL%=l&e^aW3I5ai4gvL{ z%WS1m9NErahYK~O5XtO*n&s=)c)&k~LUmnsV^a@(K`SAk^v;=xwfw;H3kjuN@Y}GEtIHeRcC_Q|2>VGinmKlPv`c9r@irt z%*!cibb`XN$IJ#mYg;xI5L!AB+qRO1qkb;!8HEk?Xa$N` z@sx<4+%Zku^ynW^eLBKn35kY?`q|*FBgh0szBMmANRc8;uK}8fU5Z?w4P*fQz{v++ zM{E8aHLQ$Jj1!EwkdOPUzPA)|iJD41X6ZdL+b6^twov*~h+l=`Lmi8)Q0E8F8qF@$ z@eQ_wv6z)j3haz&b!Xn`+}=p%S<*V0mMQS8_N4gf+tLNJbI5Wf+(Dl$>RxeI$6cAG z?olIGTuOMSq4(A>Ge~Z5&`>hwDy?y-m%T`N7mLHRa^+vqZE)y_XQZJQ0?)-~C8zJ| z(4U{P> z($Bj(rXX_z3oqKu&A+K>7HCxC%Z_H#~aDNl0(4LIiVfK|R?x>Foss0xDit;7XLyspNxS-ioTnf&P0ME$45$IW5 z)Wv1esaqN^eYNrCN@veK#mp0$P=?Y-vAxTcRAquWKLr&3pc3}(%}8dQxaIlo59ZYv znbY!IKZ)2yrHtt{A`=16Zad49t>y0;<=Jn)>rc0o9T~ste%e#Xz}}&5^=|DHBwJ=_ zpsJew8Xe>*i@8RCG1B1|tuUei$I~0#p^i&0AT)fTt`q`4gp`Y*A?DrINAGvF(Q?u- z{%3wn7JAe92{JW~hPxkNXW{E@=Bvph@<3z7jO z7%P%aIHi!c17v$Ko$S^2?gzZ#zQ@zGKCk=8kxYTl;9|c!&=2)k;^N(<#N||&e&6fT zg90eeU-I-8#o!hUYllZG;DZlLNjmNW43gY_pNF;K{X7ec@SvHra-d<+(fhQqTr261 zDg1Oath(>o6Sg}iu%WW8iYmeKif910x4LH8GMR0SWMmT`){MOa@O9fg|4 zvpn=Ldzov8bbamTJUF^PXM*II4IM@tE4G$j^eU1YajXWjN$kEtXSEV9b#{V(vTu?aP%QJ zaGDr3GLIj^Iua8Df~lxzufAi8RC1*wi}L-GR;a7OWE7G?Bm1(jL*}bxl{W^JG-T>s)@314l~p8F&QtTx?Z5Bu zt&77q_}kj0Yq)kl&6I0pNYTUdhM*D3B9HerzIp4!!#;=^WW*IyWiV?JO2S3mOA2eN zIU6y?QqdTLS^={`2OIG056CH7CK6QK_a$$<+ID{1aitz#y6LYJ3S?#O>^ayhH&*Fg zsJ~rdc#R615BCBiKPX{|?RlE5t7&P^$im9;>vq6h(ZEKEU#|1#s^w#H$pFcG+!MX_ z@}q8(HqHBq;ksOzbCde~9!m;?ktgjX4SU*-BSlie!O3Zl)IUVq|4)0@{+9F^#esMh z6Sc4IDN|8t({v8=LXS~epq7Ry>0_qS%ob+YlL1;ZQzu%vl^9*-x~z#tfu#_sgmeMQ z%y~}=^MZzkSgDn)U|iIF>(~B;y}y2*bIyA{=W~90&v{8dXI*)up~_q5UM^M*W$inO=ZL(|xoOl-3#hgy zs@6@udLgRFt8YL2GJvMz5?9Vute#rk9m>}aa~8Efdo@3M{klxBlG8Z3-DTNLHGkW_ zKQm26@2*mI%S|tNvzYn^`<2P=-B_SvK6HI@NIPYRkz=xiWQnfg$0j%)YZ6r>`E|G@ zD=ep!dCq8hxNoZCFrUQ@A1$PWs3$!J!pMK0FKvIRu{}p_nNa?;{eg;`269mTkCyQv6TUu}wg-9fC7Q(wBxrYeqghG?$7|vK9gF(W10qe}qQO@k z53zTI17aV7R_xQx0G^=V>)P=tqQbmP19ixKvmm!?N4B4T5rI$!CL8Usd-UYT-6<)I z^?JlXFDM*H2q0(^(nlScqRXzK#SNV%-aTfNb^zz*YZmH|toeS0ogV;6=W~PFW7` zHbc^c6|c2}AqGGp4xD9M8E;&?;NL|D5x4agO`x1p!6yW<>?xuu_W+jHu*%R{^t-AU z4h(=_Iktt4*ByB+@I5BvY+q1JFkmrqRZE!0!VP83&y%_#obP-!cbOjvq0bVzss0q@Z#lZ+dd$X`Q(4D&009qi6KSI;a#!hpP2t7h literal 0 HcmV?d00001 From 1adec812fad2fd58559d5b2e37b8b35d121486ce Mon Sep 17 00:00:00 2001 From: Hugo Trippaers Date: Fri, 26 Apr 2013 13:56:07 +0200 Subject: [PATCH 075/283] Please, please, pretty please try to stay away from the exec plugin whereever possible. It ussually ends up being non portable across developer operating systems. Most commands like cp have a perfectly usable equivalent in ant like the copy task. --- client/pom.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/pom.xml b/client/pom.xml index 743cd363005..a7c7009ffc2 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -450,16 +450,15 @@ - test - - - - - + + + + + From ae79d782ec56c5bf9b5697850d627b66acf1b9ba Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Fri, 26 Apr 2013 10:48:25 -0700 Subject: [PATCH 076/283] Add remove NIC API calls --- .../classes/resources/messages.properties | 2 ++ ui/dictionary.jsp | 2 ++ ui/scripts/instances.js | 21 ++++++++++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index ad8f42b0e78..32f5946e96e 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -14,6 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +label.action.delete.nic=Remove NIC +message.action.delete.nic=Please confirm that want to remove this NIC, which will also remove the associated network from the VM. label.add.affinity.group=Add new affinity group message.delete.affinity.group=Please confirm that you would like to remove this affinity group. label.delete.affinity.group=Delete Affinity Group diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp index 1880be53e7e..47ba794c1be 100644 --- a/ui/dictionary.jsp +++ b/ui/dictionary.jsp @@ -25,6 +25,8 @@ under the License. <% long now = System.currentTimeMillis(); %> From 271f8759be06a6a150809f454b469d2301c25d1b Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Sat, 27 Apr 2013 18:29:46 -0700 Subject: [PATCH 090/283] CLOUDSTACK-2120: mixed zone management - API: extend listPods API to to take in zonetype. --- .../api/command/admin/pod/ListPodsByCmd.java | 7 ++++ .../cloud/server/ManagementServerImpl.java | 42 +++++++++++++------ 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/pod/ListPodsByCmd.java b/api/src/org/apache/cloudstack/api/command/admin/pod/ListPodsByCmd.java index 3dace4244ae..db233ae441e 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/pod/ListPodsByCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/pod/ListPodsByCmd.java @@ -55,6 +55,9 @@ public class ListPodsByCmd extends BaseListCmd { @Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="list pods by allocation state") private String allocationState; + @Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to") + private String zoneType; + @Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the pods") private Boolean showCapacities; @@ -78,6 +81,10 @@ public class ListPodsByCmd extends BaseListCmd { return allocationState; } + public String getZoneType() { + return zoneType; + } + public Boolean getShowCapacities() { return showCapacities; } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 050f57bca98..5db8329928a 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1068,17 +1068,29 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe @Override public Pair, Integer> searchForPods(ListPodsByCmd cmd) { - Filter searchFilter = new Filter(HostPodVO.class, "dataCenterId", true, cmd.getStartIndex(), cmd.getPageSizeVal()); - SearchCriteria sc = _hostPodDao.createSearchCriteria(); - String podName = cmd.getPodName(); Long id = cmd.getId(); - Long zoneId = cmd.getZoneId(); + Long zoneId = cmd.getZoneId(); Object keyword = cmd.getKeyword(); Object allocationState = cmd.getAllocationState(); - + String zoneType = cmd.getZoneType(); zoneId = _accountMgr.checkAccessAndSpecifyAuthority(UserContext.current().getCaller(), zoneId); + + Filter searchFilter = new Filter(HostPodVO.class, "dataCenterId", true, cmd.getStartIndex(), cmd.getPageSizeVal()); + SearchBuilder sb = _hostPodDao.createSearchBuilder(); + sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ); + sb.and("name", sb.entity().getName(), SearchCriteria.Op.LIKE); + sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ); + sb.and("allocationState", sb.entity().getAllocationState(), SearchCriteria.Op.EQ); + + if(zoneType != null) { + SearchBuilder zoneSb = _dcDao.createSearchBuilder(); + zoneSb.and("zoneNetworkType", zoneSb.entity().getNetworkType(), SearchCriteria.Op.EQ); + sb.join("zoneSb", zoneSb, sb.entity().getDataCenterId(), zoneSb.entity().getId(), JoinBuilder.JoinType.INNER); + } + + SearchCriteria sc = sb.create(); if (keyword != null) { SearchCriteria ssc = _hostPodDao.createSearchCriteria(); ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); @@ -1088,21 +1100,25 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } if (id != null) { - sc.addAnd("id", SearchCriteria.Op.EQ, id); + sc.setParameters("id", id); } - + if (podName != null) { - sc.addAnd("name", SearchCriteria.Op.LIKE, "%" + podName + "%"); + sc.setParameters("name", "%" + podName + "%"); } - + if (zoneId != null) { - sc.addAnd("dataCenterId", SearchCriteria.Op.EQ, zoneId); + sc.setParameters("dataCenterId", zoneId); } - + if (allocationState != null) { - sc.addAnd("allocationState", SearchCriteria.Op.EQ, allocationState); + sc.setParameters("allocationState", allocationState); + } + + if(zoneType != null) { + sc.setJoinParameters("zoneSb", "zoneNetworkType", zoneType); } - + Pair, Integer> result = _hostPodDao.searchAndCount(sc, searchFilter); return new Pair, Integer>(result.first(), result.second()); } From ef00f1b04f8d9e4f7ea981c3174ae9f4a84d4a58 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Sat, 27 Apr 2013 21:38:03 -0700 Subject: [PATCH 091/283] CLOUDSTACK-2120: mixed zone management - API: extend listClusters API to to take in zonetype. --- .../admin/cluster/ListClustersCmd.java | 8 +++- .../cloud/server/ManagementServerImpl.java | 47 ++++++++++++++----- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmd.java b/api/src/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmd.java index 0417b187e38..f2dd3499b84 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmd.java @@ -70,6 +70,9 @@ public class ListClustersCmd extends BaseListCmd { @Parameter(name=ApiConstants.MANAGED_STATE, type=CommandType.STRING, description="whether this cluster is managed by cloudstack") private String managedState; + @Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to") + private String zoneType; + @Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the clusters") private Boolean showCapacities; @@ -114,7 +117,10 @@ public class ListClustersCmd extends BaseListCmd { this.managedState = managedstate; } - + public String getZoneType() { + return zoneType; + } + public Boolean getShowCapacities() { return showCapacities; } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 5db8329928a..1799f7729e0 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -616,48 +616,69 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe @Override public Pair, Integer> searchForClusters(ListClustersCmd cmd) { - Filter searchFilter = new Filter(ClusterVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal()); - SearchCriteria sc = _clusterDao.createSearchCriteria(); - - Object id = cmd.getId(); + Object id = cmd.getId(); Object name = cmd.getClusterName(); Object podId = cmd.getPodId(); Long zoneId = cmd.getZoneId(); Object hypervisorType = cmd.getHypervisorType(); Object clusterType = cmd.getClusterType(); Object allocationState = cmd.getAllocationState(); + String zoneType = cmd.getZoneType(); String keyword = cmd.getKeyword(); - zoneId = _accountMgr.checkAccessAndSpecifyAuthority(UserContext.current().getCaller(), zoneId); - + + + Filter searchFilter = new Filter(ClusterVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal()); + + SearchBuilder sb = _clusterDao.createSearchBuilder(); + sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ); + sb.and("name", sb.entity().getName(), SearchCriteria.Op.LIKE); + sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ); + sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ); + sb.and("hypervisorType", sb.entity().getHypervisorType(), SearchCriteria.Op.EQ); + sb.and("clusterType", sb.entity().getClusterType(), SearchCriteria.Op.EQ); + sb.and("allocationState", sb.entity().getAllocationState(), SearchCriteria.Op.EQ); + + if(zoneType != null) { + SearchBuilder zoneSb = _dcDao.createSearchBuilder(); + zoneSb.and("zoneNetworkType", zoneSb.entity().getNetworkType(), SearchCriteria.Op.EQ); + sb.join("zoneSb", zoneSb, sb.entity().getDataCenterId(), zoneSb.entity().getId(), JoinBuilder.JoinType.INNER); + } + + + SearchCriteria sc = sb.create(); if (id != null) { - sc.addAnd("id", SearchCriteria.Op.EQ, id); + sc.setParameters("id", id); } if (name != null) { - sc.addAnd("name", SearchCriteria.Op.LIKE, "%" + name + "%"); + sc.setParameters("name", "%" + name + "%"); } if (podId != null) { - sc.addAnd("podId", SearchCriteria.Op.EQ, podId); + sc.setParameters("podId", podId); } if (zoneId != null) { - sc.addAnd("dataCenterId", SearchCriteria.Op.EQ, zoneId); + sc.setParameters("dataCenterId", zoneId); } if (hypervisorType != null) { - sc.addAnd("hypervisorType", SearchCriteria.Op.EQ, hypervisorType); + sc.setParameters("hypervisorType", hypervisorType); } if (clusterType != null) { - sc.addAnd("clusterType", SearchCriteria.Op.EQ, clusterType); + sc.setParameters("clusterType", clusterType); } if (allocationState != null) { - sc.addAnd("allocationState", SearchCriteria.Op.EQ, allocationState); + sc.setParameters("allocationState", allocationState); } + if(zoneType != null) { + sc.setJoinParameters("zoneSb", "zoneNetworkType", zoneType); + } + if (keyword != null) { SearchCriteria ssc = _clusterDao.createSearchCriteria(); ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); From b2fdd5e2a23b44e5976c7135632d1ca6ade57663 Mon Sep 17 00:00:00 2001 From: sanjeevneelarapu Date: Fri, 26 Apr 2013 17:10:37 +0530 Subject: [PATCH 092/283] CLOUDSTACK-702: Tests for Multiple IP Ranges 1. Adding a cidr in existing subnet 2. Adding a cidr in new subnet Signed-off-by: sanjeevneelarapu Signed-off-by: Prasanna Santhanam --- .../component/test_multiple_ip_ranges.py | 238 ++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 test/integration/component/test_multiple_ip_ranges.py diff --git a/test/integration/component/test_multiple_ip_ranges.py b/test/integration/component/test_multiple_ip_ranges.py new file mode 100644 index 00000000000..489e7ca3bdf --- /dev/null +++ b/test/integration/component/test_multiple_ip_ranges.py @@ -0,0 +1,238 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. +""" Tests for Multiple IP Ranges feature +""" +from marvin.cloudstackTestCase import * +from marvin.cloudstackAPI import * +from marvin.integration.lib.utils import * +from marvin.integration.lib.base import * +from marvin.integration.lib.common import * +from netaddr import * + +from nose.plugins.attrib import attr + +class Services: + """Test Multiple IP Ranges + """ + def __init__(self): + self.services = { + "account": { + "email": "test@test.com", + "firstname": "Test", + "lastname": "User", + "username": "test", + # Random characters are appended for unique + # username + "password": "password", + }, + "service_offering": { + "name": "Tiny Instance", + "displaytext": "Tiny Instance", + "cpunumber": 1, + "cpuspeed": 200, # in MHz + "memory": 256, # In MBs + }, + "disk_offering": { + "displaytext": "Small Disk", + "name": "Small Disk", + "disksize": 1 + }, + "templates": { + "displaytext": 'Template', + "name": 'Template', + "ostype": "CentOS 5.3 (64-bit)", + "templatefilter": 'self', + }, + "vlan_ip_range": { + "startip": "", + "endip": "", + "netmask": "", + "gateway": "", + "forvirtualnetwork": "false", + "vlan": "untagged", + } + } + +class TestMultipleIpRanges(cloudstackTestCase): + """Test Multiple IP Ranges for guest network + """ + + + @classmethod + def setUpClass(cls): + cls.api_client = super(TestMultipleIpRanges, cls).getClsTestClient().getApiClient() + cls.services = Services().services + # Get Zone, Domain and templates + cls.domain = get_domain(cls.api_client, cls.services) + cls.zone = get_zone(cls.api_client, cls.services) + cls.pod = get_pod(cls.api_client, cls.zone.id, cls.services) + cls.services['mode'] = cls.zone.networktype + cls.services["domainid"] = cls.domain.id + cls.services["zoneid"] = cls.zone.id + cls.account = Account.create( + cls.api_client, + cls.services["account"], + domainid=cls.domain.id + ) + cls.services["account"] = cls.account.account.name + cls._cleanup = [ + cls.account, + ] + return + + @classmethod + def tearDownClass(cls): + try: + #Cleanup resources used + cleanup_resources(cls.api_client, cls._cleanup) + except Exception as e: + raise Exception("Warning: Exception during cleanup : %s" % e) + return + + def setUp(self): + self.apiclient = self.testClient.getApiClient() + self.dbclient = self.testClient.getDbConnection() + self.cleanup = [ ] + return + + def tearDown(self): + try: + #Clean up, terminate the resources created + cleanup_resources(self.apiclient, self.cleanup) + except Exception as e: + raise Exception("Warning: Exception during cleanup : %s" % e) + return + + def increment_cidr(self): + """Takes CIDR as input and will increment by one and returns the new CIDR + """ + publicIpRange = PublicIpRange.list(self.apiclient) + self.startIp = publicIpRange[0].startip + self.endIp = publicIpRange[0].endip + self.gateway = publicIpRange[0].gateway + self.netmask = publicIpRange[0].netmask + #Pass ip address and mask length to IPNetwork to findout the CIDR + ip = IPNetwork(self.startIp+"/"+self.netmask) + new_cidr = ip.__iadd__(1) + ip2 = IPNetwork(new_cidr) + return ip2 + + def verify_vlan_range(self,vlan,services): + #compare vlan_list response with configured values + self.assertEqual( + isinstance(vlan, list), + True, + "Check list response returned a valid list" + ) + self.assertNotEqual( + len(vlan), + 0, + "check list vlan response" + ) + self.assertEqual( + vlan[0].startip, + services["startip"], + "Start IP in vlan ip range is not matched with the configured start ip" + ) + self.assertEqual( + vlan[0].endip, + services["endip"], + "End IP in vlan ip range is not matched with the configured end ip" + ) + self.assertEqual( + vlan[0].gateway, + services["gateway"], + "gateway in vlan ip range is not matched with the configured gateway" + ) + self.assertEqual( + vlan[0].netmask, + services["netmask"], + "netmask in vlan ip range is not matched with the configured netmask" + ) + return + + @attr(tags=["advanced_sg", "sg"]) + def test_01_add_ip_same_cidr(self): + """Test add guest ip range in the existing cidr + """ + #call increment_cidr function to get exiting cidr from the setup and increment it + ip2 = self.increment_cidr() + test_nw = ip2.network + #Add IP range(5 IPs) in the new CIDR + test_gateway = test_nw+1 + test_startIp = test_nw+2 + test_endIp = test_startIp+5 + test_startIp2= test_endIp+5 + test_endIp2 = test_startIp2+5 + #Populating services with new IP range + self.services["vlan_ip_range"]["startip"] = test_startIp + self.services["vlan_ip_range"]["endip"] = test_endIp + self.services["vlan_ip_range"]["gateway"] = test_gateway + self.services["vlan_ip_range"]["netmask"] = self.netmask + self.services["vlan_ip_range"]["zoneid"] = self.zone.id + self.services["vlan_ip_range"]["podid"] = self.pod.id + #create new vlan ip range + new_vlan = PublicIpRange.create(self.apiclient, self.services["vlan_ip_range"]) + self.debug("Created new vlan range with startip:%s and endip:%s" %(test_startIp,test_endIp)) + self.cleanup.append(new_vlan) + new_vlan_res = new_vlan.list(self.apiclient,new_vlan.id) + #Compare list output with configured values + self.verify_vlan_range(new_vlan_res,self.services["vlan_ip_range"]) + #Add few more ips in the same CIDR + self.services["vlan_ip_range"]["startip"] = test_startIp2 + self.services["vlan_ip_range"]["endip"] = test_endIp2 + new_vlan2 = PublicIpRange.create(self.apiclient, self.services["vlan_ip_range"]) + self.debug("Created new vlan range with startip:%s and endip:%s" %(test_startIp2,test_endIp2)) + self.cleanup.append(new_vlan2) + #list new vlan ip range + new_vlan2_res = new_vlan2.list(self.apiclient,new_vlan2.id) + #Compare list output with configured values + self.verify_vlan_range(new_vlan2_res,self.services["vlan_ip_range"]) + return + + @attr(tags=["advanced_sg", "sg"]) + def test_02_add_ip_diff_cidr(self): + """Test add ip range in a new cidr + + Steps: + 1.Get public vlan range (guest cidr) from the setup + 2.Add IP range to a new cidr + """ + #call increment_cidr function to get exiting cidr from the setup and increment it + ip2 = self.increment_cidr() + test_nw = ip2.network + #Add IP range(5 IPs) in the new CIDR + test_gateway = test_nw+1 + test_startIp = test_nw+2 + test_endIp = test_startIp+5 + #Populating services with new IP range + self.services["vlan_ip_range"]["startip"] = test_startIp + self.services["vlan_ip_range"]["endip"] = test_endIp + self.services["vlan_ip_range"]["gateway"] = test_gateway + self.services["vlan_ip_range"]["netmask"] = self.netmask + self.services["vlan_ip_range"]["zoneid"] = self.zone.id + self.services["vlan_ip_range"]["podid"] = self.pod.id + #create new vlan ip range + new_vlan = PublicIpRange.create(self.apiclient, self.services["vlan_ip_range"]) + self.debug("Created new vlan range with startip:%s and endip:%s" %(test_startIp,test_endIp)) + self.cleanup.append(new_vlan) + new_vlan_res = new_vlan.list(self.apiclient,new_vlan.id) + #Compare list output with configured values + self.verify_vlan_range(new_vlan_res,self.services["vlan_ip_range"]) + return + + From deaf9106ca557a938edf25bee65cf6b4eb3ac03f Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Mon, 29 Apr 2013 14:11:51 +0530 Subject: [PATCH 093/283] CLOUDSTACK-741: Granular Global Parameters and adding fixes for CLOUDSTACK-2176, CLOUDSTACK-2198, CLOUDSTACK-2200 Adding the zone, cluster, account level parameters The parameters at scope (zone/cluster/pool/account) can be updated by updateConfiguration API with additional parameter zoneid/clusterid/accountid/storagepoolid Whenever these scoped parameters are used in CS they get value from the corresponding details table if not defined get value from global parameter. Same with the listConfiguration API with additional parameter zoneid/clusterid/accountid/storagepoolid --- .../configuration/ConfigurationService.java | 15 +- api/src/com/cloud/network/NetworkModel.java | 2 +- .../command/admin/config/ListCfgsByCmd.java | 44 +++-- .../command/admin/config/UpdateCfgCmd.java | 47 +++-- .../api/response/ConfigurationResponse.java | 3 + .../src/com/cloud/alert/AlertManagerImpl.java | 27 ++- server/src/com/cloud/api/ApiDBUtils.java | 2 +- .../com/cloud/capacity/dao/CapacityDao.java | 2 +- .../cloud/capacity/dao/CapacityDaoImpl.java | 35 ++-- .../src/com/cloud/configuration/Config.java | 20 +- .../configuration/ConfigurationManager.java | 2 +- .../ConfigurationManagerImpl.java | 171 ++++++++++++------ .../src/com/cloud/deploy/FirstFitPlanner.java | 25 +-- .../com/cloud/network/NetworkManagerImpl.java | 7 +- .../com/cloud/network/NetworkModelImpl.java | 11 +- .../com/cloud/network/vpc/VpcManagerImpl.java | 2 +- .../vpn/RemoteAccessVpnManagerImpl.java | 6 +- .../cloud/server/ConfigurationServerImpl.java | 11 +- .../cloud/server/ManagementServerImpl.java | 41 ++++- .../dao/StoragePoolDetailsDaoImpl.java | 1 + .../cloud/template/TemplateAdapterBase.java | 7 +- .../cloud/template/TemplateManagerImpl.java | 10 +- .../cloud/network/MockNetworkModelImpl.java | 2 +- .../vpc/MockConfigurationManagerImpl.java | 8 +- .../com/cloud/vpc/MockNetworkModelImpl.java | 2 +- .../AffinityApiTestConfiguration.java | 29 ++- .../ChildTestConfiguration.java | 38 ++-- setup/db/db/schema-410to420.sql | 4 + .../integration/smoke/test_global_settings.py | 14 +- 29 files changed, 388 insertions(+), 200 deletions(-) diff --git a/api/src/com/cloud/configuration/ConfigurationService.java b/api/src/com/cloud/configuration/ConfigurationService.java index 6937d0b64de..fdbd9d6bb0b 100644 --- a/api/src/com/cloud/configuration/ConfigurationService.java +++ b/api/src/com/cloud/configuration/ConfigurationService.java @@ -20,6 +20,11 @@ import java.util.List; import javax.naming.NamingException; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.exception.ResourceAllocationException; import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPConfigCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPRemoveCmd; @@ -46,10 +51,6 @@ import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; import com.cloud.dc.DataCenter; import com.cloud.dc.Pod; import com.cloud.dc.Vlan; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.Networks.TrafficType; import com.cloud.offering.DiskOffering; import com.cloud.offering.NetworkOffering; @@ -65,7 +66,7 @@ public interface ConfigurationService { * - the command wrapping name and value parameters * @return updated configuration object if successful */ - Configuration updateConfiguration(UpdateCfgCmd cmd); + Configuration updateConfiguration(UpdateCfgCmd cmd) throws InvalidParameterValueException; /** * Create a service offering through the API @@ -250,7 +251,7 @@ public interface ConfigurationService { NetworkOffering getNetworkOffering(long id); - Integer getNetworkOfferingNetworkRate(long networkOfferingId); + Integer getNetworkOfferingNetworkRate(long networkOfferingId, Long dataCenterId); Account getVlanAccount(long vlanId); @@ -262,7 +263,7 @@ public interface ConfigurationService { Long getDefaultPageSize(); - Integer getServiceOfferingNetworkRate(long serviceOfferingId); + Integer getServiceOfferingNetworkRate(long serviceOfferingId, Long dataCenterId); DiskOffering getDiskOffering(long diskOfferingId); diff --git a/api/src/com/cloud/network/NetworkModel.java b/api/src/com/cloud/network/NetworkModel.java index 4d7d714a7ae..d81b2d76fee 100644 --- a/api/src/com/cloud/network/NetworkModel.java +++ b/api/src/com/cloud/network/NetworkModel.java @@ -181,7 +181,7 @@ public interface NetworkModel { /** * @return */ - String getDefaultNetworkDomain(); + String getDefaultNetworkDomain(long zoneId); /** * @param ntwkOffId diff --git a/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java b/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java index 9f34405ffbd..a11904e90ce 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java @@ -45,11 +45,17 @@ public class ListCfgsByCmd extends BaseListCmd { @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "lists configuration by name") private String configName; - @Parameter(name=ApiConstants.SCOPE, type = CommandType.STRING, description = "scope(zone/cluster/pool/account) of the parameter that needs to be updated") - private String scope; + @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class, description="the ID of the Zone to update the parameter value for corresponding zone") + private Long zone_id; - @Parameter(name=ApiConstants.ID, type = CommandType.UUID, entityType = {ZoneResponse.class, ClusterResponse.class, StoragePoolResponse.class, AccountResponse.class}, description = "corresponding ID of the scope") - private Long id; + @Parameter(name=ApiConstants.CLUSTER_ID, type=CommandType.UUID, entityType=ClusterResponse.class, description="the ID of the Cluster to update the parameter value for corresponding cluster") + private Long cluster_id; + + @Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.UUID, entityType=StoragePoolResponse.class, description="the ID of the Storage pool to update the parameter value for corresponding storage pool") + private Long storagepool_id; + + @Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.UUID, entityType=AccountResponse.class, description="the ID of the Account to update the parameter value for corresponding account") + private Long account_id; // /////////////////////////////////////////////////// @@ -64,14 +70,21 @@ public class ListCfgsByCmd extends BaseListCmd { return configName; } - public String getScope() { - return scope; + public Long getZoneId() { + return zone_id; } - public Long getId() { - return id; + public Long getClusterId() { + return cluster_id; } + public Long getStoragepoolId() { + return storagepool_id; + } + + public Long getAccountId() { + return account_id; + } @Override public Long getPageSizeVal() { @@ -100,10 +113,17 @@ public class ListCfgsByCmd extends BaseListCmd { for (Configuration cfg : result.first()) { ConfigurationResponse cfgResponse = _responseGenerator.createConfigurationResponse(cfg); cfgResponse.setObjectName("configuration"); - if (scope != null) { - cfgResponse.setScope(scope); - } else { - cfgResponse.setScope("global"); + if(getZoneId() != null) { + cfgResponse.setScope("zone"); + } + if(getClusterId() != null) { + cfgResponse.setScope("cluster"); + } + if(getStoragepoolId() != null) { + cfgResponse.setScope("storagepool"); + } + if(getAccountId() != null) { + cfgResponse.setScope("account"); } configResponses.add(cfgResponse); } diff --git a/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java b/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java index 074c5a3b028..deb61d3741d 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java @@ -43,11 +43,17 @@ public class UpdateCfgCmd extends BaseCmd { @Parameter(name=ApiConstants.VALUE, type=CommandType.STRING, description="the value of the configuration", length=4095) private String value; - @Parameter(name=ApiConstants.SCOPE, type = CommandType.STRING, description = "scope(zone/cluster/pool/account) of the parameter that needs to be updated") - private String scope; + @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class, description="the ID of the Zone to update the parameter value for corresponding zone") + private Long zone_id; - @Parameter(name=ApiConstants.ID, type = CommandType.UUID, entityType = {ZoneResponse.class, ClusterResponse.class, StoragePoolResponse.class, AccountResponse.class}, description = "corresponding ID of the scope") - private Long id; + @Parameter(name=ApiConstants.CLUSTER_ID, type=CommandType.UUID, entityType=ClusterResponse.class, description="the ID of the Cluster to update the parameter value for corresponding cluster") + private Long cluster_id; + + @Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.UUID, entityType=StoragePoolResponse.class, description="the ID of the Storage pool to update the parameter value for corresponding storage pool") + private Long storagepool_id; + + @Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.UUID, entityType=AccountResponse.class, description="the ID of the Account to update the parameter value for corresponding account") + private Long account_id; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -61,12 +67,20 @@ public class UpdateCfgCmd extends BaseCmd { return value; } - public String getScope() { - return scope; + public Long getZoneId() { + return zone_id; } - public Long getId() { - return id; + public Long getClusterId() { + return cluster_id; + } + + public Long getStoragepoolId() { + return storagepool_id; + } + + public Long getAccountId() { + return account_id; } ///////////////////////////////////////////////////// @@ -89,12 +103,19 @@ public class UpdateCfgCmd extends BaseCmd { if (cfg != null) { ConfigurationResponse response = _responseGenerator.createConfigurationResponse(cfg); response.setResponseName(getCommandName()); - if (scope != null) { - response.setScope(scope); - response.setValue(value); - } else { - response.setScope("global"); + if(getZoneId() != null) { + response.setScope("zone"); } + if(getClusterId() != null) { + response.setScope("cluster"); + } + if(getStoragepoolId() != null) { + response.setScope("storagepool"); + } + if(getAccountId() != null) { + response.setScope("account"); + } + response.setValue(value); this.setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update config"); diff --git a/api/src/org/apache/cloudstack/api/response/ConfigurationResponse.java b/api/src/org/apache/cloudstack/api/response/ConfigurationResponse.java index 176c47aff8b..fa0d4b45475 100644 --- a/api/src/org/apache/cloudstack/api/response/ConfigurationResponse.java +++ b/api/src/org/apache/cloudstack/api/response/ConfigurationResponse.java @@ -35,6 +35,9 @@ public class ConfigurationResponse extends BaseResponse { @SerializedName(ApiConstants.SCOPE) @Param(description="scope(zone/cluster/pool/account) of the parameter that needs to be updated") private String scope; + @SerializedName(ApiConstants.ID) @Param(description="the value of the configuration") + private Long id; + @SerializedName(ApiConstants.DESCRIPTION) @Param(description="the description of the configuration") private String description; diff --git a/server/src/com/cloud/alert/AlertManagerImpl.java b/server/src/com/cloud/alert/AlertManagerImpl.java index 655ed98ea60..6839d44635d 100755 --- a/server/src/com/cloud/alert/AlertManagerImpl.java +++ b/server/src/com/cloud/alert/AlertManagerImpl.java @@ -70,6 +70,7 @@ import com.cloud.host.dao.HostDao; import com.cloud.network.dao.IPAddressDao; import com.cloud.org.Grouping.AllocationState; import com.cloud.resource.ResourceManager; +import com.cloud.server.ConfigurationServer; import com.cloud.storage.StorageManager; import com.cloud.storage.dao.VolumeDao; import com.cloud.utils.NumbersUtil; @@ -106,7 +107,8 @@ public class AlertManagerImpl extends ManagerBase implements AlertManager { @Inject private PrimaryDataStoreDao _storagePoolDao; @Inject private ConfigurationDao _configDao; @Inject private ResourceManager _resourceMgr; - @Inject private ConfigurationManager _configMgr; + @Inject private ConfigurationManager _configMgr; + @Inject ConfigurationServer _configServer; private Timer _timer = null; private float _cpuOverProvisioningFactor = 1; private long _capacityCheckPeriod = 60L * 60L * 1000L; // one hour by default @@ -562,19 +564,30 @@ public class AlertManagerImpl extends ManagerBase implements AlertManager { float overProvFactor = 1f; capacity = _capacityDao.findCapacityBy(capacityType.intValue(), cluster.getDataCenterId(), null, cluster.getId()); - if (capacityType == Capacity.CAPACITY_TYPE_STORAGE){ - capacity.add(getUsedStats(capacityType, cluster.getDataCenterId(), cluster.getPodId(), cluster.getId())); + // cpu and memory allocated capacity notification threshold can be defined at cluster level, so getting the value if they are defined at cluster level + double capacityValue = 0; + switch (capacityType) { + case Capacity.CAPACITY_TYPE_STORAGE: + capacity.add(getUsedStats(capacityType, cluster.getDataCenterId(), cluster.getPodId(), cluster.getId())); + capacityValue = _capacityTypeThresholdMap.get(capacityType); + break; + case Capacity.CAPACITY_TYPE_CPU: + overProvFactor = ApiDBUtils.getCpuOverprovisioningFactor(); + capacityValue = Double.parseDouble(_configServer.getConfigValue(Config.CPUCapacityThreshold.key(), Config.ConfigurationParameterScope.cluster.toString(), cluster.getId())); + break; + case Capacity.CAPACITY_TYPE_MEMORY: + capacityValue = Double.parseDouble(_configServer.getConfigValue(Config.MemoryCapacityThreshold.key(), Config.ConfigurationParameterScope.cluster.toString(), cluster.getId())); + break; + default: + capacityValue = _capacityTypeThresholdMap.get(capacityType); } if (capacity == null || capacity.size() == 0){ continue; - } - if (capacityType == Capacity.CAPACITY_TYPE_CPU){ - overProvFactor = ApiDBUtils.getCpuOverprovisioningFactor(); } double totalCapacity = capacity.get(0).getTotalCapacity() * overProvFactor; double usedCapacity = capacity.get(0).getUsedCapacity() + capacity.get(0).getReservedCapacity(); - if (totalCapacity != 0 && usedCapacity/totalCapacity > _capacityTypeThresholdMap.get(capacityType)){ + if (totalCapacity != 0 && usedCapacity/totalCapacity > capacityValue){ generateEmailAlert(ApiDBUtils.findZoneById(cluster.getDataCenterId()), ApiDBUtils.findPodById(cluster.getPodId()), cluster, totalCapacity, usedCapacity, capacityType); } diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 21ce63b8ae8..e291c844a8c 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -1034,7 +1034,7 @@ public class ApiDBUtils { } public static Integer getNetworkRate(long networkOfferingId) { - return _configMgr.getNetworkOfferingNetworkRate(networkOfferingId); + return _configMgr.getNetworkOfferingNetworkRate(networkOfferingId, null); } public static Account getVlanAccount(long vlanId) { diff --git a/server/src/com/cloud/capacity/dao/CapacityDao.java b/server/src/com/cloud/capacity/dao/CapacityDao.java index 0132f69cd50..04466f4adb2 100755 --- a/server/src/com/cloud/capacity/dao/CapacityDao.java +++ b/server/src/com/cloud/capacity/dao/CapacityDao.java @@ -41,5 +41,5 @@ public interface CapacityDao extends GenericDao { List listCapacitiesGroupedByLevelAndType(Integer capacityType, Long zoneId, Long podId, Long clusterId, int level, Long limit); void updateCapacityState(Long dcId, Long podId, Long clusterId, Long hostId, String capacityState); - List listClustersCrossingThreshold(short capacityType, Long zoneId, Float disableThreshold, long computeRequested); + List listClustersCrossingThreshold(short capacityType, Long zoneId, String ConfigName, long computeRequested); } diff --git a/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java b/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java index c3d98173a5c..ec5081a6edf 100755 --- a/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java +++ b/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java @@ -27,6 +27,7 @@ import java.util.Map; import javax.ejb.Local; import javax.inject.Inject; +import com.cloud.configuration.Config; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.log4j.Logger; @@ -115,12 +116,20 @@ public class CapacityDaoImpl extends GenericDaoBase implements private static final String LIST_CAPACITY_GROUP_BY_CLUSTER_TYPE_PART2 = " GROUP BY cluster_id, capacity_type order by percent desc limit "; private static final String UPDATE_CAPACITY_STATE = "UPDATE `cloud`.`op_host_capacity` SET capacity_state = ? WHERE "; - private static final String LIST_CLUSTERS_CROSSING_THRESHOLD = "SELECT cluster_id " + - "FROM (SELECT cluster_id, ( (sum(capacity.used_capacity) + sum(capacity.reserved_capacity) + ?)/sum(total_capacity) ) ratio "+ - "FROM `cloud`.`op_host_capacity` capacity "+ - "WHERE capacity.data_center_id = ? AND capacity.capacity_type = ? AND capacity.total_capacity > 0 "+ - "GROUP BY cluster_id) tmp " + - "WHERE tmp.ratio > ? "; + + private static final String LIST_CLUSTERS_CROSSING_THRESHOLD = "SELECT clusterList.cluster_id " + + "FROM ( SELECT cluster.cluster_id cluster_id, ( (sum(cluster.used) + sum(cluster.reserved) + ?)/sum(cluster.total) ) ratio, cluster.configValue value " + + "FROM ( SELECT capacity.cluster_id cluster_id, capacity.used_capacity used, capacity.reserved_capacity reserved, capacity.total_capacity total, " + + "CASE (SELECT count(*) FROM `cloud`.`cluster_details` details WHERE details.cluster_id = capacity.cluster_id AND details.name = ? ) " + + "WHEN 1 THEN ( SELECT details.value FROM `cloud`.`cluster_details` details WHERE details.cluster_id = capacity.cluster_id AND details.name = ? ) " + + "ELSE ( SELECT config.value FROM `cloud`.`configuration` config WHERE config.name = ?) " + + "END configValue " + + "FROM `cloud`.`op_host_capacity` capacity " + + "WHERE capacity.data_center_id = ? AND capacity.capacity_type = ? AND capacity.total_capacity > 0) cluster " + + + "GROUP BY cluster.cluster_id) clusterList " + + "WHERE clusterList.ratio > clusterList.value; "; + public CapacityDaoImpl() { @@ -146,20 +155,22 @@ public class CapacityDaoImpl extends GenericDaoBase implements } @Override - public List listClustersCrossingThreshold(short capacityType, Long zoneId, Float disableThreshold, long compute_requested){ + public List listClustersCrossingThreshold(short capacityType, Long zoneId, String configName, long compute_requested){ Transaction txn = Transaction.currentTxn(); PreparedStatement pstmt = null; List result = new ArrayList(); StringBuilder sql = new StringBuilder(LIST_CLUSTERS_CROSSING_THRESHOLD); - - + // during listing the clusters that cross the threshold + // we need to check with disabled thresholds of each cluster if not defined at cluster consider the global value try { pstmt = txn.prepareAutoCloseStatement(sql.toString()); pstmt.setLong(1,compute_requested); - pstmt.setShort(2,capacityType); - pstmt.setFloat(3,disableThreshold); - pstmt.setLong(4,zoneId); + pstmt.setString(2, configName); + pstmt.setString(3, configName); + pstmt.setString(4, configName); + pstmt.setLong(5,zoneId); + pstmt.setShort(6,capacityType); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index dbcbc5332d0..af6adcf44a7 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -53,8 +53,8 @@ public enum Config { CapacityCheckPeriod("Alert", ManagementServer.class, Integer.class, "capacity.check.period", "300000", "The interval in milliseconds between capacity checks", null), StorageAllocatedCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.storage.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of allocated storage utilization above which alerts will be sent about low storage available.", null), StorageCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.storage.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of storage utilization above which alerts will be sent about low storage available.", null), - CPUCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.cpu.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of cpu utilization above which alerts will be sent about low cpu available.", null), - MemoryCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.memory.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of memory utilization above which alerts will be sent about low memory available.", null), + CPUCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.cpu.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of cpu utilization above which alerts will be sent about low cpu available.", null, ConfigurationParameterScope.cluster.toString()), + MemoryCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.memory.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of memory utilization above which alerts will be sent about low memory available.", null, ConfigurationParameterScope.cluster.toString()), PublicIpCapacityThreshold("Alert", ManagementServer.class, Float.class, "zone.virtualnetwork.publicip.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of public IP address space utilization above which alerts will be sent.", null), PrivateIpCapacityThreshold("Alert", ManagementServer.class, Float.class, "pod.privateip.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of private IP address space utilization above which alerts will be sent.", null), SecondaryStorageCapacityThreshold("Alert", ManagementServer.class, Float.class, "zone.secstorage.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of secondary storage utilization above which alerts will be sent about low storage available.", null), @@ -63,8 +63,8 @@ public enum Config { LocalStorageCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.localStorage.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of local storage utilization above which alerts will be sent about low local storage available.", null), StorageAllocatedCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "pool.storage.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of allocated storage utilization above which allocators will disable using the pool for low allocated storage available.", null), StorageCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "pool.storage.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of storage utilization above which allocators will disable using the pool for low storage available.", null), - CPUCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "cluster.cpu.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low cpu available. Keep the corresponding notification threshold lower than this to be notified beforehand.", null), - MemoryCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "cluster.memory.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of memory utilization above which allocators will disable using the cluster for low memory available. Keep the corresponding notification threshold lower than this to be notified beforehand.", null), + CPUCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "cluster.cpu.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low cpu available. Keep the corresponding notification threshold lower than this to be notified beforehand.", null, ConfigurationParameterScope.cluster.toString()), + MemoryCapacityDisableThreshold("Alert", ManagementServer.class, Float.class, "cluster.memory.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of memory utilization above which allocators will disable using the cluster for low memory available. Keep the corresponding notification threshold lower than this to be notified beforehand.", null, ConfigurationParameterScope.cluster.toString()), // Storage @@ -93,8 +93,8 @@ public enum Config { GuestVlanBits("Network", ManagementServer.class, Integer.class, "guest.vlan.bits", "12", "The number of bits to reserve for the VLAN identifier in the guest subnet.", null), //MulticastThrottlingRate("Network", ManagementServer.class, Integer.class, "multicast.throttling.rate", "10", "Default multicast rate in megabits per second allowed.", null), - NetworkThrottlingRate("Network", ManagementServer.class, Integer.class, "network.throttling.rate", "200", "Default data transfer rate in megabits per second allowed in network.", null), - GuestDomainSuffix("Network", AgentManager.class, String.class, "guest.domain.suffix", "cloud.internal", "Default domain name for vms inside virtualized networks fronted by router", null), + NetworkThrottlingRate("Network", ManagementServer.class, Integer.class, "network.throttling.rate", "200", "Default data transfer rate in megabits per second allowed in network.", null, ConfigurationParameterScope.zone.toString()), + GuestDomainSuffix("Network", AgentManager.class, String.class, "guest.domain.suffix", "cloud.internal", "Default domain name for vms inside virtualized networks fronted by router", null, ConfigurationParameterScope.zone.toString()), DirectNetworkNoDefaultRoute("Network", ManagementServer.class, Boolean.class, "direct.network.no.default.route", "false", "Direct Network Dhcp Server should not send a default route", "true/false"), OvsTunnelNetwork("Network", ManagementServer.class, Boolean.class, "sdn.ovs.controller", "false", "Enable/Disable Open vSwitch SDN controller for L2-in-L3 overlay networks", null), OvsTunnelNetworkDefaultLabel("Network", ManagementServer.class, String.class, "sdn.ovs.controller.default.label", "cloud-public", "Default network label to be used when fetching interface for GRE endpoints", null), @@ -112,7 +112,7 @@ public enum Config { //VPN RemoteAccessVpnPskLength("Network", AgentManager.class, Integer.class, "remote.access.vpn.psk.length", "24", "The length of the ipsec preshared key (minimum 8, maximum 256)", null), - RemoteAccessVpnClientIpRange("Network", AgentManager.class, String.class, "remote.access.vpn.client.iprange", "10.1.2.1-10.1.2.8", "The range of ips to be allocated to remote access vpn clients. The first ip in the range is used by the VPN server", null), + RemoteAccessVpnClientIpRange("Network", AgentManager.class, String.class, "remote.access.vpn.client.iprange", "10.1.2.1-10.1.2.8", "The range of ips to be allocated to remote access vpn clients. The first ip in the range is used by the VPN server", null, ConfigurationParameterScope.account.toString()), RemoteAccessVpnUserLimit("Network", AgentManager.class, String.class, "remote.access.vpn.user.limit", "8", "The maximum number of VPN users that can be created per account", null), Site2SiteVpnConnectionPerVpnGatewayLimit("Network", ManagementServer.class, Integer.class, "site2site.vpn.vpngateway.connection.limit", "4", "The maximum number of VPN connection per VPN gateway", null), Site2SiteVpnSubnetsPerCustomerGatewayLimit("Network", ManagementServer.class, Integer.class, "site2site.vpn.customergateway.subnets.limit", "10", "The maximum number of subnets per customer gateway", null), @@ -149,7 +149,7 @@ public enum Config { S3Enable("Advanced", ManagementServer.class, Boolean.class, "s3.enable", "false", "enable s3 ", null), EventPurgeInterval("Advanced", ManagementServer.class, Integer.class, "event.purge.interval", "86400", "The interval (in seconds) to wait before running the event purge thread", null), AccountCleanupInterval("Advanced", ManagementServer.class, Integer.class, "account.cleanup.interval", "86400", "The interval (in seconds) between cleanup for removed accounts", null), - AllowPublicUserTemplates("Advanced", ManagementServer.class, Integer.class, "allow.public.user.templates", "true", "If false, users will not be able to create public templates.", null), + AllowPublicUserTemplates("Advanced", ManagementServer.class, Integer.class, "allow.public.user.templates", "true", "If false, users will not be able to create public templates.", null, ConfigurationParameterScope.account.toString()), InstanceName("Advanced", AgentManager.class, String.class, "instance.name", "VM", "Name of the deployment instance.", "instanceName"), ExpungeDelay("Advanced", UserVmManager.class, Integer.class, "expunge.delay", "86400", "Determines how long (in seconds) to wait before actually expunging destroyed vm. The default value = the default value of expunge.interval", null), ExpungeInterval("Advanced", UserVmManager.class, Integer.class, "expunge.interval", "86400", "The interval (in seconds) to wait before running the expunge thread.", null), @@ -419,7 +419,7 @@ public enum Config { global, zone, cluster, - pool, + storagepool, account } @@ -427,7 +427,7 @@ public enum Config { static { _scopeLevelConfigsMap.put(ConfigurationParameterScope.zone.toString(), new ArrayList()); _scopeLevelConfigsMap.put(ConfigurationParameterScope.cluster.toString(), new ArrayList()); - _scopeLevelConfigsMap.put(ConfigurationParameterScope.pool.toString(), new ArrayList()); + _scopeLevelConfigsMap.put(ConfigurationParameterScope.storagepool.toString(), new ArrayList()); _scopeLevelConfigsMap.put(ConfigurationParameterScope.account.toString(), new ArrayList()); _scopeLevelConfigsMap.put(ConfigurationParameterScope.global.toString(), new ArrayList()); diff --git a/server/src/com/cloud/configuration/ConfigurationManager.java b/server/src/com/cloud/configuration/ConfigurationManager.java index 738c5bab35d..bce1776af73 100755 --- a/server/src/com/cloud/configuration/ConfigurationManager.java +++ b/server/src/com/cloud/configuration/ConfigurationManager.java @@ -60,7 +60,7 @@ public interface ConfigurationManager extends ConfigurationService, Manager { * @param name * @param value */ - void updateConfiguration(long userId, String name, String category, String value, String scope, Long id); + String updateConfiguration(long userId, String name, String category, String value, String scope, Long id); /** * Creates a new service offering diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index d5e405d5395..068a58634ed 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -39,7 +39,9 @@ import javax.naming.NamingException; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; +import com.cloud.dc.*; import com.cloud.dc.dao.*; +import com.cloud.user.*; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.api.ApiConstants.LDAPParams; import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd; @@ -64,6 +66,10 @@ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd; import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd; import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; +import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; +import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO; +import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; +import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -72,20 +78,8 @@ import com.cloud.api.ApiDBUtils; import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.dao.ConfigurationDao; -import com.cloud.dc.AccountVlanMapVO; -import com.cloud.dc.ClusterVO; -import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; -import com.cloud.dc.DataCenterIpAddressVO; -import com.cloud.dc.DataCenterLinkLocalIpAddressVO; -import com.cloud.dc.DataCenterVO; -import com.cloud.dc.DcDetailVO; -import com.cloud.dc.HostPodVO; -import com.cloud.dc.Pod; -import com.cloud.dc.PodVlanMapVO; -import com.cloud.dc.Vlan; import com.cloud.dc.Vlan.VlanType; -import com.cloud.dc.VlanVO; import com.cloud.deploy.DataCenterDeployment; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; @@ -133,6 +127,7 @@ import com.cloud.org.Grouping; import com.cloud.org.Grouping.AllocationState; import com.cloud.projects.Project; import com.cloud.projects.ProjectManager; +import com.cloud.server.ConfigurationServer; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; import com.cloud.storage.DiskOfferingVO; @@ -144,12 +139,6 @@ import com.cloud.storage.s3.S3Manager; import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.storage.swift.SwiftManager; import com.cloud.test.IPRangeConfig; -import com.cloud.user.Account; -import com.cloud.user.AccountManager; -import com.cloud.user.AccountVO; -import com.cloud.user.ResourceLimitService; -import com.cloud.user.User; -import com.cloud.user.UserContext; import com.cloud.user.dao.AccountDao; import com.cloud.utils.NumbersUtil; import com.cloud.utils.StringUtils; @@ -182,8 +171,6 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati @Inject DataCenterDao _zoneDao; @Inject - DcDetailsDao _zoneDetailsDao; - @Inject DomainDao _domainDao; @Inject SwiftDao _swiftDao; @@ -245,6 +232,18 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati FirewallRulesDao _firewallDao; @Inject VpcManager _vpcMgr; + @Inject + ConfigurationServer _configServer; + @Inject + DcDetailsDao _dcDetailsDao; + @Inject + ClusterDetailsDao _clusterDetailsDao; + @Inject + StoragePoolDetailsDao _storagePoolDetailsDao; + @Inject + AccountDetailsDao _accountDetailsDao; + @Inject + PrimaryDataStoreDao _storagePoolDao; // FIXME - why don't we have interface for DataCenterLinkLocalIpAddressDao? @Inject protected DataCenterLinkLocalIpAddressDao _LinkLocalIpAllocDao; @@ -323,9 +322,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati @Override @DB - public void updateConfiguration(long userId, String name, String category, String value, String scope, Long resourceId) { + public String updateConfiguration(long userId, String name, String category, String value, String scope, Long resourceId) { - String validationMsg = validateConfigurationValue(name, value, scope); + String validationMsg = validateConfigurationValue(name, value); if (validationMsg != null) { s_logger.error("Invalid configuration option, name: " + name + ", value:" + value); @@ -335,23 +334,61 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati // If scope of the parameter is given then it needs to be updated in the corresponding details table, // if scope is mentioned as global or not mentioned then it is normal global parameter updation if (scope != null && !scope.isEmpty() && !Config.ConfigurationParameterScope.global.toString().equalsIgnoreCase(scope)) { - if (Config.ConfigurationParameterScope.zone.toString().equalsIgnoreCase(scope)) { - DataCenterVO zone = _zoneDao.findById(resourceId); - if (zone == null) { - throw new InvalidParameterValueException("unable to find zone by id " + resourceId); - } - DcDetailVO dcDetailVO = _zoneDetailsDao.findDetail(resourceId, name.toLowerCase()); - if (dcDetailVO == null) { - dcDetailVO = new DcDetailVO(zone.getId(), name, value); - _zoneDetailsDao.persist(dcDetailVO); - } else { - dcDetailVO.setValue(value); - _zoneDetailsDao.update(resourceId, dcDetailVO); - } - } else { - s_logger.error("TO Do for the remaining levels (cluster/pool/account)"); - throw new InvalidParameterValueException("The scope "+ scope +" yet to be implemented"); + switch (Config.ConfigurationParameterScope.valueOf(scope)) { + case zone: DataCenterVO zone = _zoneDao.findById(resourceId); + if (zone == null) { + throw new InvalidParameterValueException("unable to find zone by id " + resourceId); + } + DcDetailVO dcDetailVO = _dcDetailsDao.findDetail(resourceId, name.toLowerCase()); + if (dcDetailVO == null) { + dcDetailVO = new DcDetailVO(resourceId, name, value); + _dcDetailsDao.persist(dcDetailVO); + } else { + dcDetailVO.setValue(value); + _dcDetailsDao.update(dcDetailVO.getId(), dcDetailVO); + } break; + case cluster: ClusterVO cluster = _clusterDao.findById(resourceId); + if (cluster == null) { + throw new InvalidParameterValueException("unable to find cluster by id " + resourceId); + } + ClusterDetailsVO clusterDetailsVO = _clusterDetailsDao.findDetail(resourceId, name); + if (clusterDetailsVO == null) { + clusterDetailsVO = new ClusterDetailsVO(resourceId, name, value); + _clusterDetailsDao.persist(clusterDetailsVO); + } else { + clusterDetailsVO.setValue(value); + _clusterDetailsDao.update(clusterDetailsVO.getId(), clusterDetailsVO); + } break; + + case storagepool: StoragePoolVO pool = _storagePoolDao.findById(resourceId); + if (pool == null) { + throw new InvalidParameterValueException("unable to find storage pool by id " + resourceId); + } + StoragePoolDetailVO storagePoolDetailVO = _storagePoolDetailsDao.findDetail(resourceId, name); + if (storagePoolDetailVO == null) { + storagePoolDetailVO = new StoragePoolDetailVO(resourceId, name, value); + _storagePoolDetailsDao.persist(storagePoolDetailVO); + + } else { + storagePoolDetailVO.setValue(value); + _storagePoolDetailsDao.update(storagePoolDetailVO.getId(), storagePoolDetailVO); + } break; + + case account: AccountVO account = _accountDao.findById(resourceId); + if (account == null) { + throw new InvalidParameterValueException("unable to find account by id " + resourceId); + } + AccountDetailVO accountDetailVO = _accountDetailsDao.findDetail(resourceId, name); + if (accountDetailVO == null) { + accountDetailVO = new AccountDetailVO(resourceId, name, value); + _accountDetailsDao.persist(accountDetailVO); + } else { + accountDetailVO.setValue(value); + _accountDetailsDao.update(accountDetailVO.getId(), accountDetailVO); + } break; + default: throw new InvalidParameterValueException("Scope provided is invalid"); } + return value; } // Execute all updates in a single transaction @@ -450,16 +487,19 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } txn.commit(); + return _configDao.getValue(name); } @Override @ActionEvent(eventType = EventTypes.EVENT_CONFIGURATION_VALUE_EDIT, eventDescription = "updating configuration") - public Configuration updateConfiguration(UpdateCfgCmd cmd) { + public Configuration updateConfiguration(UpdateCfgCmd cmd) throws InvalidParameterValueException { Long userId = UserContext.current().getCallerUserId(); String name = cmd.getCfgName(); String value = cmd.getValue(); - String scope = cmd.getScope(); - Long id = cmd.getId(); + Long zoneId = cmd.getZoneId(); + Long clusterId = cmd.getClusterId(); + Long storagepoolId = cmd.getStoragepoolId(); + Long accountId = cmd.getAccountId(); UserContext.current().setEventDetails(" Name: " + name + " New Value: " + (((name.toLowerCase()).contains("password")) ? "*****" : (((value == null) ? "" : value)))); // check if config value exists @@ -476,17 +516,44 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati value = null; } - updateConfiguration(userId, name, config.getCategory(), value, scope, id); - String updatedValue = _configDao.getValue(name); + String scope = null; + Long id = null; + int paramCountCheck = 0; + + if (zoneId != null) { + scope = Config.ConfigurationParameterScope.zone.toString(); + id = zoneId; + paramCountCheck++; + } + if (clusterId != null) { + scope = Config.ConfigurationParameterScope.cluster.toString(); + id = clusterId; + paramCountCheck++; + } + if (accountId != null) { + scope = Config.ConfigurationParameterScope.account.toString(); + id = accountId; + paramCountCheck++; + } + if (storagepoolId != null) { + scope = Config.ConfigurationParameterScope.storagepool.toString(); + id = storagepoolId; + paramCountCheck++; + } + + if (paramCountCheck > 1) { + throw new InvalidParameterValueException("cannot handle multiple IDs, provide only one ID corresponding to the scope"); + } + + String updatedValue = updateConfiguration(userId, name, config.getCategory(), value, scope, id); if ((value == null && updatedValue == null) || updatedValue.equalsIgnoreCase(value)) { return _configDao.findByName(name); - } else { throw new CloudRuntimeException("Unable to update configuration parameter " + name); } } - private String validateConfigurationValue(String name, String value, String scope) { + private String validateConfigurationValue(String name, String value) { Config c = Config.getConfig(name); if (c == null) { @@ -494,12 +561,6 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati return "Invalid configuration variable."; } String configScope = c.getScope(); - if (scope != null && !scope.isEmpty()) { - if (!configScope.contains(scope)) { - s_logger.error("Invalid scope " + scope + " for the parameter " + name); - return "Invalid scope for the parameter."; - } - } Class type = c.getType(); @@ -4077,7 +4138,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } @Override - public Integer getNetworkOfferingNetworkRate(long networkOfferingId) { + public Integer getNetworkOfferingNetworkRate(long networkOfferingId, Long dataCenterId) { // validate network offering information NetworkOffering no = getNetworkOffering(networkOfferingId); @@ -4089,7 +4150,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati if (no.getRateMbps() != null) { networkRate = no.getRateMbps(); } else { - networkRate = Integer.parseInt(_configDao.getValue(Config.NetworkThrottlingRate.key())); + networkRate = Integer.parseInt(_configServer.getConfigValue(Config.NetworkThrottlingRate.key(), Config.ConfigurationParameterScope.zone.toString(), dataCenterId)); } // networkRate is unsigned int in netowrkOfferings table, and can't be @@ -4225,7 +4286,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } @Override - public Integer getServiceOfferingNetworkRate(long serviceOfferingId) { + public Integer getServiceOfferingNetworkRate(long serviceOfferingId, Long dataCenterId) { // validate network offering information ServiceOffering offering = _serviceOfferingDao.findById(serviceOfferingId); @@ -4239,7 +4300,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } else { // for domain router service offering, get network rate from if (offering.getSystemVmType() != null && offering.getSystemVmType().equalsIgnoreCase(VirtualMachine.Type.DomainRouter.toString())) { - networkRate = Integer.parseInt(_configDao.getValue(Config.NetworkThrottlingRate.key())); + networkRate = Integer.parseInt(_configServer.getConfigValue(Config.NetworkThrottlingRate.key(), Config.ConfigurationParameterScope.zone.toString(), dataCenterId)); } else { networkRate = Integer.parseInt(_configDao.getValue(Config.VmNetworkThrottlingRate.key())); } diff --git a/server/src/com/cloud/deploy/FirstFitPlanner.java b/server/src/com/cloud/deploy/FirstFitPlanner.java index 1647cf7dba9..2e7e9f6128f 100755 --- a/server/src/com/cloud/deploy/FirstFitPlanner.java +++ b/server/src/com/cloud/deploy/FirstFitPlanner.java @@ -452,21 +452,6 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { return disabledPods; } - private Map getCapacityThresholdMap(){ - // Lets build this real time so that the admin wont have to restart MS if he changes these values - Map disableThresholdMap = new HashMap(); - - String cpuDisableThresholdString = _configDao.getValue(Config.CPUCapacityDisableThreshold.key()); - float cpuDisableThreshold = NumbersUtil.parseFloat(cpuDisableThresholdString, 0.85F); - disableThresholdMap.put(Capacity.CAPACITY_TYPE_CPU, cpuDisableThreshold); - - String memoryDisableThresholdString = _configDao.getValue(Config.MemoryCapacityDisableThreshold.key()); - float memoryDisableThreshold = NumbersUtil.parseFloat(memoryDisableThresholdString, 0.85F); - disableThresholdMap.put(Capacity.CAPACITY_TYPE_MEMORY, memoryDisableThreshold); - - return disableThresholdMap; - } - private List getCapacitiesForCheckingThreshold(){ List capacityList = new ArrayList(); capacityList.add(Capacity.CAPACITY_TYPE_CPU); @@ -476,7 +461,6 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { private void removeClustersCrossingThreshold(List clusterListForVmAllocation, ExcludeList avoid, VirtualMachineProfile vmProfile, DeploymentPlan plan){ - Map capacityThresholdMap = getCapacityThresholdMap(); List capacityList = getCapacitiesForCheckingThreshold(); List clustersCrossingThreshold = new ArrayList(); @@ -491,12 +475,11 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { return; } if (capacity == Capacity.CAPACITY_TYPE_CPU) { - clustersCrossingThreshold = _capacityDao.listClustersCrossingThreshold(capacity, plan.getDataCenterId(), - capacityThresholdMap.get(capacity), cpu_requested); + clustersCrossingThreshold = _capacityDao.listClustersCrossingThreshold(capacity, plan.getDataCenterId(), Config.CPUCapacityDisableThreshold.key(), cpu_requested); } else if (capacity == Capacity.CAPACITY_TYPE_MEMORY ) { clustersCrossingThreshold = _capacityDao.listClustersCrossingThreshold(capacity, plan.getDataCenterId(), - capacityThresholdMap.get(capacity), ram_requested ); + Config.MemoryCapacityDisableThreshold.key(), ram_requested ); } @@ -506,8 +489,8 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { // Remove clusters crossing disabled threshold clusterListForVmAllocation.removeAll(clustersCrossingThreshold); - s_logger.debug("Cannot allocate cluster list " + clustersCrossingThreshold.toString() + " for vm creation since their allocated percentage" + - " crosses the disable capacity threshold: " + capacityThresholdMap.get(capacity) + " for capacity Type : " + capacity + ", skipping these clusters"); + s_logger.debug("Cannot allocate cluster list " + clustersCrossingThreshold.toString() + " for vm creation since their allocated percentage" + + " crosses the disable capacity threshold defined at each cluster/ at global value for capacity Type : " + capacity + ", skipping these clusters"); } } diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 72ccac0ec7d..7adcf07f044 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -46,6 +46,7 @@ import com.cloud.host.Host; import com.cloud.host.HostVO; import com.cloud.host.Status; import com.cloud.host.dao.HostDao; +import com.cloud.server.ConfigurationServer; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.network.IpAddress.State; import com.cloud.network.Network.*; @@ -153,6 +154,8 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L RemoteAccessVpnService _vpnMgr; @Inject PodVlanMapDao _podVlanMapDao; + @Inject + ConfigurationServer _configServer; List _networkGurus; public List getNetworkGurus() { @@ -245,7 +248,6 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L int _networkGcWait; int _networkGcInterval; - String _networkDomain; int _networkLockTimeout; private Map _configs; @@ -866,7 +868,6 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L _networkGcInterval = NumbersUtil.parseInt(_configs.get(Config.NetworkGcInterval.key()), 600); _configs = _configDao.getConfiguration("Network", params); - _networkDomain = _configs.get(Config.GuestDomainSuffix.key()); _networkLockTimeout = NumbersUtil.parseInt(_configs.get(Config.NetworkLockTimeout.key()), 600); @@ -2023,7 +2024,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L // 2) If null, generate networkDomain using domain suffix from the global config variables if (networkDomain == null) { - networkDomain = "cs" + Long.toHexString(owner.getId()) + _networkDomain; + networkDomain = "cs" + Long.toHexString(owner.getId()) + _configServer.getConfigValue(Config.GuestDomainSuffix.key(), Config.ConfigurationParameterScope.zone.toString(), zoneId); } } else { diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java index c5930d9315c..bd62886674f 100755 --- a/server/src/com/cloud/network/NetworkModelImpl.java +++ b/server/src/com/cloud/network/NetworkModelImpl.java @@ -52,6 +52,7 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.UnsupportedServiceException; import com.cloud.hypervisor.Hypervisor.HypervisorType; +import com.cloud.server.ConfigurationServer; import com.cloud.network.IpAddress.State; import com.cloud.network.Network.Capability; import com.cloud.network.Network.GuestType; @@ -143,6 +144,8 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { @Inject PodVlanMapDao _podVlanMapDao; + @Inject + ConfigurationServer _configServer; List _networkElements; public List getNetworkElements() { @@ -921,9 +924,9 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { } } if (isUserVmsDefaultNetwork || isDomRGuestOrPublicNetwork) { - return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId()); + return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId(), vm.getDataCenterId()); } else { - return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId()); + return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId(), vm.getDataCenterId()); } } @@ -1564,8 +1567,8 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { } @Override - public String getDefaultNetworkDomain() { - return _networkDomain; + public String getDefaultNetworkDomain(long zoneId) { + return _configServer.getConfigValue(Config.GuestDomainSuffix.key(), Config.ConfigurationParameterScope.zone.toString(), zoneId); } @Override diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index 224a6800326..bc7bb0c75f2 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -582,7 +582,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis // 2) If null, generate networkDomain using domain suffix from the global config variables if (networkDomain == null) { - networkDomain = "cs" + Long.toHexString(owner.getId()) + _ntwkModel.getDefaultNetworkDomain(); + networkDomain = "cs" + Long.toHexString(owner.getId()) + _ntwkModel.getDefaultNetworkDomain(zoneId); } } diff --git a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java index 673535aaa42..062743b23af 100755 --- a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java +++ b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java @@ -62,6 +62,7 @@ import com.cloud.network.rules.FirewallRule.Purpose; import com.cloud.network.rules.FirewallRuleVO; import com.cloud.network.rules.RulesManager; import com.cloud.projects.Project.ListProjectResourcesCriteria; +import com.cloud.server.ConfigurationServer; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.DomainManager; @@ -100,6 +101,7 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc @Inject UsageEventDao _usageEventDao; @Inject ConfigurationDao _configDao; @Inject List _vpnServiceProviders; + @Inject ConfigurationServer _configServer; int _userLimit; @@ -156,7 +158,7 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc } if (ipRange == null) { - ipRange = _clientIpRange; + ipRange = _configServer.getConfigValue(Config.RemoteAccessVpnClientIpRange.key(), Config.ConfigurationParameterScope.account.toString(), ipAddr.getAccountId()); } String[] range = ipRange.split("-"); if (range.length != 2) { @@ -200,7 +202,7 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc private void validateRemoteAccessVpnConfiguration() throws ConfigurationException { String ipRange = _clientIpRange; if (ipRange == null) { - s_logger.warn("Remote Access VPN configuration missing client ip range -- ignoring"); + s_logger.warn("Remote Access VPN global configuration missing client ip range -- ignoring"); return; } Integer pskLength = _pskLength; diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java index cd890ce8582..3d97447fe40 100755 --- a/server/src/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/com/cloud/server/ConfigurationServerImpl.java @@ -48,8 +48,10 @@ import com.cloud.dc.*; import com.cloud.dc.dao.DcDetailsDao; import com.cloud.user.*; import com.cloud.utils.db.GenericDao; +import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; +import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -59,6 +61,7 @@ import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.configuration.dao.ResourceCountDao; import com.cloud.dc.DataCenter.NetworkType; +import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.HostPodDao; import com.cloud.dc.dao.VlanDao; @@ -112,6 +115,8 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio @Inject private ConfigurationDao _configDao; @Inject private DataCenterDao _zoneDao; + @Inject private ClusterDao _clusterDao; + @Inject private PrimaryDataStoreDao _storagePoolDao; @Inject private HostPodDao _podDao; @Inject private DiskOfferingDao _diskOfferingDao; @Inject private ServiceOfferingDao _serviceOfferingDao; @@ -698,7 +703,7 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio return dcDetailVO.getValue(); } break; - case cluster: ClusterDetailsVO cluster = _clusterDetailsDao.findById(resourceId); + case cluster: ClusterVO cluster = _clusterDao.findById(resourceId); if (cluster == null) { throw new InvalidParameterValueException("unable to find cluster by id " + resourceId); } @@ -707,7 +712,7 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio return clusterDetailsVO.getValue(); } break; - case pool: StoragePoolDetailVO pool = _storagePoolDetailsDao.findById(resourceId); + case storagepool: StoragePoolVO pool = _storagePoolDao.findById(resourceId); if (pool == null) { throw new InvalidParameterValueException("unable to find storage pool by id " + resourceId); } @@ -716,7 +721,7 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio return storagePoolDetailVO.getValue(); } break; - case account: AccountDetailVO account = _accountDetailsDao.findById(resourceId); + case account: AccountVO account = _accountDao.findById(resourceId); if (account == null) { throw new InvalidParameterValueException("unable to find account by id " + resourceId); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 1799f7729e0..f18c9d592aa 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1274,16 +1274,41 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe Object name = cmd.getConfigName(); Object category = cmd.getCategory(); Object keyword = cmd.getKeyword(); - Long id = cmd.getId(); - String scope = cmd.getScope(); + Long zoneId = cmd.getZoneId(); + Long clusterId = cmd.getClusterId(); + Long storagepoolId = cmd.getStoragepoolId(); + Long accountId = cmd.getAccountId(); + String scope = null; + Long id = null; + int paramCountCheck = 0; - if (scope!= null && !scope.isEmpty()) { + if (zoneId != null) { + scope = Config.ConfigurationParameterScope.zone.toString(); + id = zoneId; + paramCountCheck++; + } + if (clusterId != null) { + scope = Config.ConfigurationParameterScope.cluster.toString(); + id = clusterId; + paramCountCheck++; + } + if (accountId != null) { + scope = Config.ConfigurationParameterScope.account.toString(); + id = accountId; + paramCountCheck++; + } + if (storagepoolId != null) { + scope = Config.ConfigurationParameterScope.storagepool.toString(); + id = storagepoolId; + paramCountCheck++; + } + + if (paramCountCheck > 1) { + throw new InvalidParameterValueException("cannot handle multiple IDs, provide only one ID corresponding to the scope"); + } + + if (scope != null && !scope.isEmpty()) { // getting the list of parameters at requested scope - try { - Config.ConfigurationParameterScope.valueOf(scope.toLowerCase()); - } catch (Exception e ) { - throw new InvalidParameterValueException("Invalid scope " + scope + " while listing configuration parameters"); - } if (id == null) { throw new InvalidParameterValueException("Invalid id null, id is needed corresponding to the scope"); } diff --git a/server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java b/server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java index a0d5d0e6e97..38b525330f2 100644 --- a/server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java +++ b/server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java @@ -41,6 +41,7 @@ public class StoragePoolDetailsDaoImpl extends GenericDaoBase Date: Sat, 27 Apr 2013 13:21:36 +0530 Subject: [PATCH 094/283] Add VPN users automation tests Signed-off-by: Prasanna Santhanam --- test/integration/component/test_vpn_users.py | 447 +++++++++++++++++++ 1 file changed, 447 insertions(+) create mode 100644 test/integration/component/test_vpn_users.py diff --git a/test/integration/component/test_vpn_users.py b/test/integration/component/test_vpn_users.py new file mode 100644 index 00000000000..e18c5384707 --- /dev/null +++ b/test/integration/component/test_vpn_users.py @@ -0,0 +1,447 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +""" P1 tests for VPN users +""" +# Import Local Modules +from nose.plugins.attrib import attr +from marvin.cloudstackTestCase import cloudstackTestCase +from marvin.integration.lib.base import ( + Account, + ServiceOffering, + VirtualMachine, + PublicIPAddress, + Vpn, + VpnUser, + Configurations, + NATRule + ) +from marvin.integration.lib.common import (get_domain, + get_zone, + get_template, + cleanup_resources, + ) + + +class Services: + """Test VPN users Services + """ + + def __init__(self): + self.services = { + "account": { + "email": "test@test.com", + "firstname": "Test", + "lastname": "User", + "username": "test", + # Random characters are appended for unique + # username + "password": "password", + }, + "service_offering": { + "name": "Tiny Instance", + "displaytext": "Tiny Instance", + "cpunumber": 1, + "cpuspeed": 100, # in MHz + "memory": 128, # In MBs + }, + "disk_offering": { + "displaytext": "Small Disk Offering", + "name": "Small Disk Offering", + "disksize": 1 + }, + "virtual_machine": { + "displayname": "TestVM", + "username": "root", + "password": "password", + "ssh_port": 22, + "hypervisor": 'KVM', + "privateport": 22, + "publicport": 22, + "protocol": 'TCP', + }, + "vpn_user": { + "username": "test", + "password": "test", + }, + "natrule": { + "privateport": 1701, + "publicport": 1701, + "protocol": "UDP" + }, + "ostype": 'CentOS 5.5 (64-bit)', + "sleep": 60, + "timeout": 10, + # Networking mode: Advanced, Basic + } + + +class TestVPNUsers(cloudstackTestCase): + + @classmethod + def setUpClass(cls): + cls.api_client = super(TestVPNUsers, + cls).getClsTestClient().getApiClient() + cls.services = Services().services + # Get Zone, Domain and templates + cls.domain = get_domain(cls.api_client, cls.services) + cls.zone = get_zone(cls.api_client, cls.services) + cls.services["mode"] = cls.zone.networktype + + cls.template = get_template( + cls.api_client, + cls.zone.id, + cls.services["ostype"] + ) + + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.service_offering = ServiceOffering.create( + cls.api_client, + cls.services["service_offering"] + ) + + cls._cleanup = [cls.service_offering, ] + return + + @classmethod + def tearDownClass(cls): + try: + # Cleanup resources used + cleanup_resources(cls.api_client, cls._cleanup) + except Exception as e: + raise Exception("Warning: Exception during cleanup : %s" % e) + return + + def setUp(self): + self.apiclient = self.testClient.getApiClient() + self.dbclient = self.testClient.getDbConnection() + self.account = Account.create( + self.apiclient, + self.services["account"], + domainid=self.domain.id + ) + self.virtual_machine = VirtualMachine.create( + self.apiclient, + self.services["virtual_machine"], + templateid=self.template.id, + accountid=self.account.account.name, + domainid=self.account.account.domainid, + serviceofferingid=self.service_offering.id + ) + self.public_ip = PublicIPAddress.create( + self.apiclient, + self.virtual_machine.account, + self.virtual_machine.zoneid, + self.virtual_machine.domainid, + self.services["virtual_machine"] + ) + self.cleanup = [ + self.account, + ] + return + + def tearDown(self): + try: + # Clean up, terminate the created instance, volumes and snapshots + cleanup_resources(self.apiclient, self.cleanup) + except Exception as e: + raise Exception("Warning: Exception during cleanup : %s" % e) + return + + def create_VPN(self, public_ip): + """Creates VPN for the network""" + + self.debug("Creating VPN with public IP: %s" % public_ip.ipaddress.id) + try: + # Assign VPN to Public IP + vpn = Vpn.create(self.apiclient, + self.public_ip.ipaddress.id, + account=self.account.account.name, + domainid=self.account.account.domainid) + + self.debug("Verifying the remote VPN access") + vpns = Vpn.list(self.apiclient, + publicipid=public_ip.ipaddress.id, + listall=True) + self.assertEqual( + isinstance(vpns, list), + True, + "List VPNs shall return a valid response" + ) + return vpn + except Exception as e: + self.fail("Failed to create remote VPN access: %s" % e) + + def create_VPN_Users(self, rand_name=True, api_client=None): + """Creates VPN users for the network""" + + self.debug("Creating VPN users for account: %s" % + self.account.account.name) + if api_client is None: + api_client = self.apiclient + try: + vpnuser = VpnUser.create( + api_client, + self.services["vpn_user"]["username"], + self.services["vpn_user"]["password"], + account=self.account.account.name, + domainid=self.account.account.domainid, + rand_name=rand_name + ) + + self.debug("Verifying the remote VPN access") + vpn_users = VpnUser.list(self.apiclient, + id=vpnuser.id, + listall=True) + self.assertEqual( + isinstance(vpn_users, list), + True, + "List VPNs shall return a valid response" + ) + return vpnuser + except Exception as e: + self.fail("Failed to create remote VPN users: %s" % e) + + @attr(tags=["advanced", "advancedns"]) + @attr(configuration='remote.access.vpn.user.limit') + def test_01_VPN_user_limit(self): + """VPN remote access user limit tests""" + + # Validate the following + # prerequisite: change management configuration setting of + # remote.access.vpn.user.limit + # 1. provision more users than is set in the limit + # Provisioning of users after the limit should failProvisioning of + # users after the limit should fail + + self.debug("Fetching the limit for remote access VPN users") + configs = Configurations.list( + self.apiclient, + name='remote.access.vpn.user.limit', + listall=True) + self.assertEqual(isinstance(configs, list), + True, + "List configs should return a valid response") + + limit = int(configs[0].value) + + self.debug("Enabling the VPN access for IP: %s" % + self.public_ip.ipaddress.ipaddress) + + self.create_VPN(self.public_ip) + self.debug("Creating %s VPN users" % limit) + for x in range(limit): + self.create_VPN_Users() + + self.debug("Adding another user exceeding limit for remote VPN users") + with self.assertRaises(Exception): + self.create_VPN_Users() + self.debug("Limit exceeded exception raised!") + return + + @attr(tags=["advanced", "advancedns"]) + def test_02_use_vpn_port(self): + """Test create VPN when L2TP port in use""" + + # Validate the following + # 1. set a port forward for UDP: 1701 and enable VPN + # 2. set port forward rule for the udp port 1701 over which L2TP works + # 3. port forward should prevent VPN from being enabled + + self.debug("Creating a port forwarding rule on port 1701") + # Create NAT rule + nat_rule = NATRule.create( + self.apiclient, + self.virtual_machine, + self.services["natrule"], + self.public_ip.ipaddress.id) + + self.debug("Verifying the NAT rule created") + nat_rules = NATRule.list(self.apiclient, id=nat_rule.id, listall=True) + + self.assertEqual(isinstance(nat_rules, list), + True, + "List NAT rules should return a valid response") + + self.debug("Enabling the VPN connection for IP: %s" % + self.public_ip.ipaddress.ipaddress) + with self.assertRaises(Exception): + self.create_VPN(self.public_ip) + self.debug("Create VPN connection failed! Test successful!") + return + + @attr(tags=["advanced", "advancedns"]) + def test_03_enable_vpn_use_port(self): + """Test create NAT rule when VPN when L2TP enabled""" + + # Validate the following + # 1. Enable a VPN connection on source NAT + # 2. Add a VPN user + # 3. add a port forward rule for UDP port 1701. Should result in error + # saying that VPN is enabled over port 1701 + + self.debug("Enabling the VPN connection for IP: %s" % + self.public_ip.ipaddress.ipaddress) + self.create_VPN(self.public_ip) + + self.debug("Creating a port forwarding rule on port 1701") + # Create NAT rule + with self.assertRaises(Exception): + NATRule.create( + self.apiclient, + self.virtual_machine, + self.services["natrule"], + self.public_ip.ipaddress.id) + + self.debug("Create NAT rule failed! Test successful!") + return + + @attr(tags=["advanced", "advancedns"]) + def test_04_add_new_users(self): + """Test add new users to existing VPN""" + + # Validate the following + # 1. Enable a VPN connection on source NAT + # 2. Add new user to VPN when there are already existing users. + # 3. We should be able to successfully establish a VPN connection using + # the newly added user credential. + + self.debug("Enabling the VPN connection for IP: %s" % + self.public_ip.ipaddress.ipaddress) + self.create_VPN(self.public_ip) + + try: + self.debug("Adding new VPN user to account: %s" % + self.account.account.name) + self.create_VPN_Users() + + # TODO: Verify the VPN connection + self.debug("Adding another user to account") + self.create_VPN_Users() + + # TODO: Verify the VPN connection with new user + except Exception as e: + self.fail("Failed to create new VPN user: %s" % e) + return + + @attr(tags=["advanced", "advancedns"]) + def test_05_add_duplicate_user(self): + """Test add duplicate user to existing VPN""" + + # Validate the following + # 1. Enable a VPN connection on source NAT + # 2. Add a VPN user say "abc" that already an added user to the VPN. + # 3. Adding this VPN user should fail. + + self.debug("Enabling the VPN connection for IP: %s" % + self.public_ip.ipaddress.ipaddress) + self.create_VPN(self.public_ip) + + self.debug("Adding new VPN user to account: %s" % + self.account.account.name) + self.create_VPN_Users(rand_name=False) + + # TODO: Verify the VPN connection + self.debug("Adding another user to account with same username") + with self.assertRaises(Exception): + self.create_VPN_Users(rand_name=False) + return + + @attr(tags=["advanced", "advancedns"]) + def test_06_add_VPN_user_global_admin(self): + """Test as global admin, add a new VPN user to an existing VPN entry + that was created by another account.""" + + # Steps for verification + # 1. Create a new user and deploy few Vms. + # 2. Enable VPN access. Add few VPN users. + # 3. Make sure that VPN access works as expected. + # 4. As global Admin , add VPN user to this user's existing VPN entry. + # Validate the following + # 1. The newly added VPN user should get configured to the router of + # user account. + # 2. We should be able to use this newly created user credential to + # establish VPN connection that will give access all VMs of this user + + self.debug("Enabling VPN connection to account: %s" % + self.account.account.name) + self.create_VPN(self.public_ip) + self.debug("Creating VPN user for the account: %s" % + self.account.account.name) + self.create_VPN_Users() + + self.debug("Creating a global admin account") + admin = Account.create(self.apiclient, + self.services["account"], + admin=True, + domainid=self.account.account.domainid) + self.cleanup.append(admin) + self.debug("Creating API client for newly created user") + api_client = self.testClient.createUserApiClient( + UserName=self.account.account.name, + DomainName=self.account.account.domain) + + self.debug("Adding new user to VPN as a global admin: %s" % + admin.account.name) + try: + self.create_VPN_Users(api_client=api_client) + except Exception as e: + self.fail("Global admin should be allowed to create VPN user: %s" % + e) + return + + @attr(tags=["advanced", "advancedns"]) + def test_07_add_VPN_user_domain_admin(self): + """Test as domain admin, add a new VPN user to an existing VPN entry + that was created by another account.""" + + # Steps for verification + # 1. Create a new user and deploy few Vms. + # 2. Enable VPN access. Add few VPN users. + # 3. Make sure that VPN access works as expected. + # 4. As domain Admin , add VPN user to this user's existing VPN entry. + # Validate the following + # 1. The newly added VPN user should get configured to the router of + # user account. + # 2. We should be able to use this newly created user credential to + # establish VPN connection that will give access all VMs of this user + + self.debug("Enabling VPN connection to account: %s" % + self.account.account.name) + self.create_VPN(self.public_ip) + self.debug("Creating VPN user for the account: %s" % + self.account.account.name) + self.create_VPN_Users() + + self.debug("Creating a domain admin account") + admin = Account.create(self.apiclient, + self.services["account"], + domainid=self.account.account.domainid) + self.cleanup.append(admin) + self.debug("Creating API client for newly created user") + api_client = self.testClient.createUserApiClient( + UserName=self.account.account.name, + DomainName=self.account.account.domain) + + self.debug("Adding new user to VPN as a domain admin: %s" % + admin.account.name) + try: + self.create_VPN_Users(api_client=api_client) + except Exception as e: + self.fail("Domain admin should be allowed to create VPN user: %s" % + e) + return From 509cfa98567f3d64b6da8bcb50c3d18e6d2bc122 Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 11:00:48 +0100 Subject: [PATCH 095/283] CLOUDSTACK-2138 - add a sync-transifex-ui.sh script to automate the exchange between CloudStack L10N resource files and Transifex CS-UI resource files Signed-off-by: Milamber --- tools/transifex/.tx/config | 19 ++++ tools/transifex/README-transifex.txt | 65 +++++++++++ tools/transifex/sync-transifex-ui.sh | 158 +++++++++++++++++++++++++++ 3 files changed, 242 insertions(+) create mode 100644 tools/transifex/.tx/config create mode 100644 tools/transifex/README-transifex.txt create mode 100755 tools/transifex/sync-transifex-ui.sh diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config new file mode 100644 index 00000000000..171d9b10e1a --- /dev/null +++ b/tools/transifex/.tx/config @@ -0,0 +1,19 @@ +[main] +host = https://www.transifex.com + +[CloudStack_UI.2-2messagesproperties] +file_filter = translations/CloudStack_UI.2-2messagesproperties/.properties +source_lang = en + +[CloudStack_UI.30xmessagesproperties] +file_filter = translations/CloudStack_UI.30xmessagesproperties/.properties +source_lang = en + +[CloudStack_UI.41xmessageproperties] +file_filter = translations/CloudStack_UI.41xmessageproperties/.properties +source_lang = en + +[CloudStack_UI.42xmessagesproperties] +file_filter = translations/CloudStack_UI.42xmessagesproperties/.properties +source_lang = en + diff --git a/tools/transifex/README-transifex.txt b/tools/transifex/README-transifex.txt new file mode 100644 index 00000000000..986aed7afb6 --- /dev/null +++ b/tools/transifex/README-transifex.txt @@ -0,0 +1,65 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +sync-transifex-ui is a script to automate the synchronisation between +Apache CloudStack L10N resource files and Transifex CloudStack project. + +Commun usage is: + +1/ Init and configure the transifex client CLI +(Already made on git CloudStack repo) + + ./sync-transifex-ui.sh init-transifex https://www.transifex.com/projects/p/CloudStack_UI/ + +2/ Upload to Transifex the last version of the source language (en) +which generally have the new keys/values to translate. + + ./sync-transifex-ui.sh upload-source-language CloudStack_UI.42xmessagesproperties + +3/ Download the last L10N resource files from Transifex to resources +files directory in CloudStack tree to upade the L10N resource files +with the translatons from traductors. + + ./sync-transifex-ui.sh download-l10n-languages CloudStack_UI.42xmessagesproperties + +===== +The sync-transifex-ui provide too the ability to : + +* Download from Transifex the source language resource files. Be carrefully, +with this,you can remove some transation on Transifex if some keys has +been removed inside the source language resource files. + + ./sync-transifex-ui.sh download-source-language CloudStack_UI.42xmessagesproperties + +* Upload the L10N resource files on Transifex. + + ./sync-transifex-ui.sh upload-l10n-languages CloudStack_UI.42xmessagesproperties + +===== +Note 1: +Choose the good branch on git matching with the good resource on Transifex: +(no branch) <--> CloudStack_UI.2-2messagesproperties +(no branch) <--> CloudStack_UI.30xmessagesproperties +(4.1) <--> CloudStack_UI.41xmessageproperties +(master) <--> CloudStack_UI.42xmessagesproperties + +Note 2: +If you want add a new L10N language, we need edit the sync-transifex-ui.sh script +to add his language code in LIST_LANG variable, before run the download-l10n-languages +command. + + diff --git a/tools/transifex/sync-transifex-ui.sh b/tools/transifex/sync-transifex-ui.sh new file mode 100755 index 00000000000..5fb4e57b16b --- /dev/null +++ b/tools/transifex/sync-transifex-ui.sh @@ -0,0 +1,158 @@ +#!/bin/sh +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +SRCLANG=en +LIST_LANG="ca de_DE es fr_FR it_IT ja ko_KR nb_NO pt_BR ru_RU zh_CN" + +DIRECTORY_RESOURCES="../../client/WEB-INF/classes/resources" +WORKDIR="./work-dir" + +AL2_STRING="# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements. See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership. The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License. You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied. See the License for the\n# specific language governing permissions and limitations\n# under the License.\n" + +doInit() +{ + tx init + tx set --auto-remote ${ARGUMENTS} +} + +doMakeWdir() +{ + mkdir -p ${WORKDIR} +} + +doCheckInit() +{ + if [ ! -f ./.tx/config ]; then + echo "Error: Transifex project isn't init. Please run $0 init-transifex URL-transifex-project" >&2 + exit 2 + fi +} + +doUploadL10NLangs() +{ + # l10n languages + for CODELANG in ${LIST_LANG} ; do + if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then + native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties + sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties + tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties + tx push -t -r ${ARGUMENTS} -l ${CODELANG} + else + echo "Warning: the resource file for language ${CODELANG} doesn't exist." + fi + done +} + +doDownloadL10NLangs() +{ + # prepare l10n languages + for CODELANG in ${LIST_LANG} ; do + if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then + native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties + sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties + tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties + else + echo "Warning: the resource file for language ${CODELANG} doesn't exist." + fi + done + + # get all resource files from transifex + tx pull -r ${ARGUMENTS} + + # l10n languages + for CODELANG in ${LIST_LANG} ; do + #tx pull -r ${ARGUMENTS} -l ${CODELANG} + if [ -f "${WORKDIR}/messages_${CODELANG}.properties" ]; then + native2ascii -encoding UTF-8 ${WORKDIR}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties.tmp1 + grep -v "^#" ${WORKDIR}/messages_${CODELANG}.properties.tmp1 | sort -f | uniq | sed "s/'/\\\\\\\\\'/g" > ${WORKDIR}/messages_${CODELANG}.properties.tmp2 + echo "$AL2_STRING" | cat - ${WORKDIR}/messages_${CODELANG}.properties.tmp2 > ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties + else + echo "Warning: the resource file for language ${CODELANG} doesn't exist on transifex" + fi + done +} + +doUploadSourceLang() +{ + # Source language + if [ -f ${DIRECTORY_RESOURCES}/messages.properties ]; then + native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages.properties ${WORKDIR}/messages.properties + sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages.properties + tx set --source -r ${ARGUMENTS} -l ${SRCLANG} ${WORKDIR}/messages.properties + tx push -s -r ${ARGUMENTS} + else + echo "Warning: the source language doesn't exist!" + fi +} + +doDownloadSourceLang() +{ + # get all resource files from transifex + tx pull -s -r ${ARGUMENTS} + # Source language + if [ -f "${WORKDIR}/messages.properties" ]; then + native2ascii -encoding UTF-8 ${WORKDIR}/messages.properties ${WORKDIR}/messages.properties.tmp1 + grep -v "^#" ${WORKDIR}/messages.properties.tmp1 | sort -f | uniq | sed "s/'/\\\\\\\\\'/g" > ${WORKDIR}/messages.properties.tmp2 + echo "$AL2_STRING" | cat - ${WORKDIR}/messages.properties.tmp2 > ${DIRECTORY_RESOURCES}/messages.properties + else + echo "Warning: the source language hasn't been retrieve!" + fi +} + +if [ $# -ne 2 ]; then + COMMAND="error" +else + COMMAND="$1" + ARGUMENTS="$2" + doMakeWdir +fi + +case "$COMMAND" in + upload-source-language) + doCheckInit + doUploadSourceLang + ;; + + download-source-language) + doCheckInit + doDownloadSourceLang + ;; + + upload-l10n-languages) + doCheckInit + doUploadL10NLangs + ;; + + download-l10n-languages) + doCheckInit + doDownloadL10NLangs + ;; + + init-transifex) + doInit + ;; + + *|error) + echo "Usage: $0 [upload-source-language|download-source-language] [upload-l10n-languages|download-l10n-languages] transifex-resource" >&2 + echo "\n\tExemple: $0 download-l10n-languages CloudStack_UI-42xmessagesproperties\n" >&2 + echo "Usage: $0 init-transifex URL-transifex-project" >&2 + echo "\n\tExemple: $0 init-transifex https://www.transifex.com/projects/p/CloudStack_UI/\n" >&2 + exit 1 + ;; +esac + From b633353fff295782a31db86f39f5b6b937b83377 Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 11:14:57 +0100 Subject: [PATCH 096/283] CLOUDSTACK-2138 - first automate sync with Transifex. 1/ Upload the lastest EN resource file on Transifex. 2/ Download the lastest L10N resource file for "ca de_DE es fr_FR it_IT ja ko_KR nb_NO pt_BR ru_RU zh_CN" form Transifex to CS repo. --- .../classes/resources/messages_ca.properties | 1 + .../resources/messages_de_DE.properties | 1 + .../classes/resources/messages_es.properties | 1 + .../resources/messages_fr_FR.properties | 1796 +++++------ .../resources/messages_it_IT.properties | 1 + .../classes/resources/messages_ja.properties | 2679 +++++++++-------- .../resources/messages_ko_KR.properties | 1 + .../resources/messages_nb_NO.properties | 1 + .../resources/messages_pt_BR.properties | 1 + .../resources/messages_ru_RU.properties | 1 + .../resources/messages_zh_CN.properties | 1 + tools/transifex/.tx/config | 12 + 12 files changed, 2259 insertions(+), 2237 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages_ca.properties b/client/WEB-INF/classes/resources/messages_ca.properties index 2d8e953419f..4e66083dbd5 100644 --- a/client/WEB-INF/classes/resources/messages_ca.properties +++ b/client/WEB-INF/classes/resources/messages_ca.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + confirm.enable.swift=Si us plau ompliu la seg\u00fcent informaci\u00f3 per habilitar el suport per a Swift error.installWizard.message=Quelcom ha fallat, vost\u00e8 pot tornar enrere i corregir els errors detalls suggerime error.password.not.match=Els camps de contrasenya no coincideixen diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties index 45812687d2f..9b1d6b03310 100644 --- a/client/WEB-INF/classes/resources/messages_de_DE.properties +++ b/client/WEB-INF/classes/resources/messages_de_DE.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + error.installWizard.message=Ein Fehler ist aufgetreten; Sie k\u00f6nnen zur\u00fcckgehen und den Fehler korregieren error.login=Ihr Benutzername / Passwort stimmt nicht mit uneren unseren Aufzeichnungen \u00fcberein. error.session.expired=Ihre Sitzung ist abgelaufen. diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties index 28f9363724a..c0680b30613 100644 --- a/client/WEB-INF/classes/resources/messages_es.properties +++ b/client/WEB-INF/classes/resources/messages_es.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + error.installWizard.message=Algo salio mal, debes ir para atr\u00e1s y corregir los error. error.login=Su nombre de usuario / contrase\u00c3\u00b1a no coincide con nuestros registros. error.mgmt.server.inaccessible=El Servidor de Gesti\u00c3\u00b3n es inaccesible. Por favor, int\u00c3\u00a9ntelo de nuevo m\u00c3\u00a1s tarde. diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties index 6a7cc9a9d55..6d860486d0c 100644 --- a/client/WEB-INF/classes/resources/messages_fr_FR.properties +++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties @@ -15,78 +15,46 @@ # specific language governing permissions and limitations # under the License. -#Stored by I18NEdit, may be edited! -ICMP.code=Code ICMP -ICMP.type=Type ICMP -changed.item.properties=Propri\u00E9t\u00E9s de l\\'\u00E9l\u00E9ment modifi\u00E9es + +changed.item.properties=Propri\u00e9t\u00e9s de l\\'\u00e9l\u00e9ment modifi\u00e9es confirm.enable.s3=Remplir les informations suivantes pour activer le support de stockage secondaire S3 confirm.enable.swift=Remplir les informations suivantes pour activer Swift error.could.not.enable.zone=Impossible d\\'activer la zone -error.installWizard.message=Une erreur s\\'est produite ; vous pouvez retourner en arri\u00E8re et corriger les erreurs +error.installWizard.message=Une erreur s\\'est produite ; vous pouvez retourner en arri\u00e8re et corriger les erreurs error.invalid.username.password=Utilisateur ou mot de passe invalide -error.login=Votre nom d\\'utilisateur / mot de passe ne correspond pas \u00E0 nos donn\u00E9es. -error.menu.select=\u00C9chec de l\\'action car il n\\'y a aucun \u00E9l\u00E9ment s\u00E9lectionn\u00E9. +error.login=Votre nom d\\'utilisateur / mot de passe ne correspond pas \u00e0 nos donn\u00e9es. +error.menu.select=\u00c9chec de l\\'action car il n\\'y a aucun \u00e9l\u00e9ment s\u00e9lectionn\u00e9. error.mgmt.server.inaccessible=Le serveur de gestion est indisponible. Essayez plus tard. error.password.not.match=Les mots de passe ne correspondent pas -error.please.specify.physical.network.tags=L\\'offre r\u00E9seau ne sera pas disponible tant que des libell\u00E9s n\\'auront pas \u00E9t\u00E9 renseign\u00E9s pour ce r\u00E9seau physique. -error.session.expired=Votre session a expir\u00E9e. +error.please.specify.physical.network.tags=L\\'offre r\u00e9seau ne sera pas disponible tant que des libell\u00e9s n\\'auront pas \u00e9t\u00e9 renseign\u00e9s pour ce r\u00e9seau physique. +error.session.expired=Votre session a expir\u00e9e. error.something.went.wrong.please.correct.the.following=Erreur; corriger le point suivant error.unable.to.reach.management.server=Impossible de joindre le serveur d\\'administration -error.unresolved.internet.name=Votre nom Internet ne peut pas \u00EAtre r\u00E9solu. -extractable=D\u00E9compressable +error.unresolved.internet.name=Votre nom Internet ne peut pas \u00eatre r\u00e9solu. +extractable=D\u00e9compressable +force.delete.domain.warning=Attention \: Choisir cette option entra\u00eenera la suppression de tous les domaines issus et l\\'ensemble des comptes associ\u00e9s, ainsi que de leur ressources force.delete=Forcer la suppression -force.delete.domain.warning=Attention \: Choisir cette option entra\u00EEnera la suppression de tous les domaines issus et l\\'ensemble des comptes associ\u00E9s, ainsi que de leur ressources force.remove=Forcer la suppression -force.remove.host.warning=Attention \: Choisir cette option entra\u00EEnera CloudStack \u00E0\u00A0arr\u00EAter l\\'ensemble des machines virtuelles avant d\\'enlever l\\'h\u00F4te du cluster -force.stop=Forcer l\\'arr\u00EAt -force.stop.instance.warning=Attention \: un arr\u00EAt forc\u00E9 sur cette instance est la dernier option. Cela peut engendrer des pertes de donn\u00E9es et/ou un comportement inconsistant de votre instance. -image.directory=R\u00E9pertoire d\\'images -inline=Align\u00E9 -instances.actions.reboot.label=Red\u00E9marrer l\\'instance -label.CIDR.list=Liste CIDR -label.CIDR.of.destination.network=CIDR du r\u00E9seau de destination -label.CPU.cap=Limitation CPU -label.DHCP.server.type=Serveur DHCP -label.DNS.domain.for.guest.networks=Domaine DNS pour les r\u00E9seaux invit\u00E9s -label.ESP.encryption=Chiffrement ESP -label.ESP.hash=Empreinte ESP -label.ESP.lifetime=Dur\u00E9e de vie ESP (secondes) -label.ESP.policy=Mode ESP -label.IKE.DH=DH IKE -label.IKE.encryption=Chiffrement IKE -label.IKE.hash=Empreinte IKE -label.IKE.lifetime=Dur\u00E9e de vie IKE (secondes) -label.IKE.policy=Mode IKE -label.IPsec.preshared.key=Cl\u00E9 partag\u00E9e IPsec -label.LB.isolation=R\u00E9partition de charge isol\u00E9e -label.LUN.number=N\u00B0 LUN -label.PING.CIFS.password=Mot de passe CIFS PING -label.PING.CIFS.username=Identifiant CIFS PING -label.PING.dir=R\u00E9pertoire PING -label.PING.storage.IP=IP stockage PING -label.PreSetup=PreSetup -label.Pxe.server.type=Serveur PXE -label.SR.name=Nom du point de montage -label.SharedMountPoint=Point de montage partag\u00E9 -label.TFTP.dir=R\u00E9pertoire TFTP -label.VMFS.datastore=Magasin de donn\u00E9es VMFS -label.VMs.in.tier=Machines virtuelles dans le tiers -label.VPC.router.details=D\u00E9tails routeur VPC -label.VPN.connection=Connexion VPN -label.VPN.customer.gateway=Passerelle VPN client -label.VPN.gateway=Passerelle VPN +force.remove.host.warning=Attention \: Choisir cette option entra\u00eenera CloudStack \u00e0\u00a0arr\u00eater l\\'ensemble des machines virtuelles avant d\\'enlever l\\'h\u00f4te du cluster +force.stop=Forcer l\\'arr\u00eat +force.stop.instance.warning=Attention \: un arr\u00eat forc\u00e9 sur cette instance est la dernier option. Cela peut engendrer des pertes de donn\u00e9es et/ou un comportement inconsistant de votre instance. +ICMP.code=Code ICMP +ICMP.type=Type ICMP +image.directory=R\u00e9pertoire d\\'images +inline=Align\u00e9 +instances.actions.reboot.label=Red\u00e9marrer l\\'instance label.accept.project.invitation=Accepter l\\'invitation au projet +label.account.and.security.group=Compte, groupe de s\u00e9curit\u00e9 label.account=Compte -label.account.and.security.group=Compte, groupe de s\u00E9curit\u00E9 label.account.id=ID du Compte label.account.name=Nom du compte -label.account.specific=Sp\u00E9cifique au compte label.accounts=Comptes -label.acquire.new.ip=Acqu\u00E9rir une nouvelle adresse IP -label.action.attach.disk=Rattacher un disque +label.account.specific=Sp\u00e9cifique au compte +label.acquire.new.ip=Acqu\u00e9rir une nouvelle adresse IP label.action.attach.disk.processing=Rattachement du Disque... -label.action.attach.iso=Rattacher une image ISO +label.action.attach.disk=Rattacher un disque label.action.attach.iso.processing=Rattachement de l\\'image ISO +label.action.attach.iso=Rattacher une image ISO label.action.cancel.maintenance.mode=Annuler le mode maintenance label.action.cancel.maintenance.mode.processing=Annulation du mode maintenance... label.action.change.password=Changer le mot de passe @@ -94,100 +62,100 @@ label.action.change.service=Changer d\\'offre de service label.action.change.service.processing=Changement de d\\'offre de service... label.action.copy.ISO=Copier une image ISO label.action.copy.ISO.processing=Copie de l\\'image ISO... -label.action.copy.template=Copier un mod\u00E8le -label.action.copy.template.processing=Copie du Mod\u00E8le... -label.action.create.template=Cr\u00E9er un mod\u00E8le -label.action.create.template.from.vm=Cr\u00E9er un mod\u00E8le depuis la VM -label.action.create.template.from.volume=Cr\u00E9er un mod\u00E8le depuis le volume -label.action.create.template.processing=Cr\u00E9ation du Mod\u00E8le... -label.action.create.vm=Cr\u00E9er une VM -label.action.create.vm.processing=Cr\u00E9ation de la VM... -label.action.create.volume=Cr\u00E9er un Volume -label.action.create.volume.processing=Cr\u00E9ation du Volume... -label.action.delete.IP.range=Supprimer la plage IP -label.action.delete.IP.range.processing=Suppression de la plage IP... -label.action.delete.ISO=Supprimer l\\'image ISO -label.action.delete.ISO.processing=Suppression de l\\'image ISO... -label.action.delete.account=Supprimer un compte +label.action.copy.template=Copier un mod\u00e8le +label.action.copy.template.processing=Copie du Mod\u00e8le... +label.action.create.template=Cr\u00e9er un mod\u00e8le +label.action.create.template.from.vm=Cr\u00e9er un mod\u00e8le depuis la VM +label.action.create.template.from.volume=Cr\u00e9er un mod\u00e8le depuis le volume +label.action.create.template.processing=Cr\u00e9ation du Mod\u00e8le... +label.action.create.vm=Cr\u00e9er une VM +label.action.create.vm.processing=Cr\u00e9ation de la VM... +label.action.create.volume=Cr\u00e9er un Volume +label.action.create.volume.processing=Cr\u00e9ation du Volume... label.action.delete.account.processing=Suppression du compte... -label.action.delete.cluster=Supprimer le Cluster +label.action.delete.account=Supprimer un compte label.action.delete.cluster.processing=Suppression du Cluster... -label.action.delete.disk.offering=Supprimer l\\'offre Disque +label.action.delete.cluster=Supprimer le Cluster label.action.delete.disk.offering.processing=Suppression de l\\'offre Disque... -label.action.delete.domain=Supprimer le domaine +label.action.delete.disk.offering=Supprimer l\\'offre Disque label.action.delete.domain.processing=Suppression du domaine... -label.action.delete.firewall=Supprimer la r\u00E8gle de pare-feu +label.action.delete.domain=Supprimer le domaine label.action.delete.firewall.processing=Suppression du Pare-feu... -label.action.delete.ingress.rule=Supprimer la r\u00E8gle d\\'entr\u00E9e -label.action.delete.ingress.rule.processing=Suppression de la r\u00E8gle d\\'entr\u00E9e.. -label.action.delete.load.balancer=Supprimer la r\u00E8gle de r\u00E9partition de charge -label.action.delete.load.balancer.processing=Suppression du r\u00E9partiteur de charge... -label.action.delete.network=Supprimer le r\u00E9seau -label.action.delete.network.processing=Suppression du r\u00E9seau... +label.action.delete.firewall=Supprimer la r\u00e8gle de pare-feu +label.action.delete.ingress.rule.processing=Suppression de la r\u00e8gle d\\'entr\u00e9e.. +label.action.delete.ingress.rule=Supprimer la r\u00e8gle d\\'entr\u00e9e +label.action.delete.IP.range.processing=Suppression de la plage IP... +label.action.delete.IP.range=Supprimer la plage IP +label.action.delete.ISO.processing=Suppression de l\\'image ISO... +label.action.delete.ISO=Supprimer l\\'image ISO +label.action.delete.load.balancer.processing=Suppression du r\u00e9partiteur de charge... +label.action.delete.load.balancer=Supprimer la r\u00e8gle de r\u00e9partition de charge +label.action.delete.network.processing=Suppression du r\u00e9seau... +label.action.delete.network=Supprimer le r\u00e9seau label.action.delete.nexusVswitch=Supprimer le Nexus 1000v -label.action.delete.physical.network=Supprimer le r\u00E9seau physique -label.action.delete.pod=Supprimer le Pod +label.action.delete.physical.network=Supprimer le r\u00e9seau physique label.action.delete.pod.processing=Suppression du pod... -label.action.delete.primary.storage=Supprimer le stockage principal +label.action.delete.pod=Supprimer le Pod label.action.delete.primary.storage.processing=Suppression du stockage principal... -label.action.delete.secondary.storage=Supprimer le stockage secondaire +label.action.delete.primary.storage=Supprimer le stockage principal label.action.delete.secondary.storage.processing=Suppression du stockage secondaire... -label.action.delete.security.group=Supprimer le groupe de s\u00E9curit\u00E9 -label.action.delete.security.group.processing=Suppression du groupe de s\u00E9curit\u00E9 -label.action.delete.service.offering=Supprimer l\\'offre de service +label.action.delete.secondary.storage=Supprimer le stockage secondaire +label.action.delete.security.group.processing=Suppression du groupe de s\u00e9curit\u00e9 +label.action.delete.security.group=Supprimer le groupe de s\u00e9curit\u00e9 label.action.delete.service.offering.processing=Suppression de l\\'offre de service... -label.action.delete.snapshot=Supprimer l\\'instantan\u00E9 -label.action.delete.snapshot.processing=Suppression de l\\'instantan\u00E9... -label.action.delete.system.service.offering=Supprimer l\\'offre syst\u00E8me -label.action.delete.template=Supprimer le mod\u00E8le -label.action.delete.template.processing=Suppression du mod\u00E8le... -label.action.delete.user=Supprimer l\\'utilisateur +label.action.delete.service.offering=Supprimer l\\'offre de service +label.action.delete.snapshot.processing=Suppression de l\\'instantan\u00e9... +label.action.delete.snapshot=Supprimer l\\'instantan\u00e9 +label.action.delete.system.service.offering=Supprimer l\\'offre syst\u00e8me +label.action.delete.template.processing=Suppression du mod\u00e8le... +label.action.delete.template=Supprimer le mod\u00e8le label.action.delete.user.processing=Suppression de l\\'utilisateur... -label.action.delete.volume=Supprimer le volume +label.action.delete.user=Supprimer l\\'utilisateur label.action.delete.volume.processing=Suppression du volume... -label.action.delete.zone=Supprimer la zone +label.action.delete.volume=Supprimer le volume label.action.delete.zone.processing=Suppression de la zone... -label.action.destroy.instance=Supprimer l\\'instance +label.action.delete.zone=Supprimer la zone label.action.destroy.instance.processing=Suppression de l\\'instance... -label.action.destroy.systemvm=Supprimer la VM Syst\u00E8me -label.action.destroy.systemvm.processing=Suppression de la VM Syst\u00E8me... -label.action.detach.disk=D\u00E9tacher le disque -label.action.detach.disk.processing=D\u00E9tachement du disque... -label.action.detach.iso=D\u00E9tacher l\\'image ISO -label.action.detach.iso.processing=D\u00E9tachement de l\\'image ISO... -label.action.disable.account=D\u00E9sactiver le compte -label.action.disable.account.processing=D\u00E9sactivation du compte... -label.action.disable.cluster=D\u00E9sactiver le cluster -label.action.disable.cluster.processing=D\u00E9sactivation du cluster... -label.action.disable.nexusVswitch=D\u00E9sactiver le Nexus 1000v -label.action.disable.physical.network=D\u00E9sactiver le r\u00E9seau physique -label.action.disable.pod=D\u00E9sactiver le Pod -label.action.disable.pod.processing=D\u00E9sactivation du Pod... -label.action.disable.static.NAT=D\u00E9sactiver le NAT Statique -label.action.disable.static.NAT.processing=D\u00E9sactivation du NAT Statique... -label.action.disable.user=D\u00E9sactiver l\\'utilisateur -label.action.disable.user.processing=D\u00E9sactivation de l\\'utilisateur... -label.action.disable.zone=D\u00E9sactivation de la zone -label.action.disable.zone.processing=D\u00E9sactivation de la zone... -label.action.download.ISO=T\u00E9l\u00E9charger une image ISO -label.action.download.template=T\u00E9l\u00E9charger un mod\u00E8le -label.action.download.volume=T\u00E9l\u00E9charger un volume -label.action.download.volume.processing=T\u00E9l\u00E9chargement du volume... -label.action.edit.ISO=Modifier l\\'image ISO +label.action.destroy.instance=Supprimer l\\'instance +label.action.destroy.systemvm.processing=Suppression de la VM Syst\u00e8me... +label.action.destroy.systemvm=Supprimer la VM Syst\u00e8me +label.action.detach.disk=D\u00e9tacher le disque +label.action.detach.disk.processing=D\u00e9tachement du disque... +label.action.detach.iso=D\u00e9tacher l\\'image ISO +label.action.detach.iso.processing=D\u00e9tachement de l\\'image ISO... +label.action.disable.account=D\u00e9sactiver le compte +label.action.disable.account.processing=D\u00e9sactivation du compte... +label.action.disable.cluster=D\u00e9sactiver le cluster +label.action.disable.cluster.processing=D\u00e9sactivation du cluster... +label.action.disable.nexusVswitch=D\u00e9sactiver le Nexus 1000v +label.action.disable.physical.network=D\u00e9sactiver le r\u00e9seau physique +label.action.disable.pod=D\u00e9sactiver le Pod +label.action.disable.pod.processing=D\u00e9sactivation du Pod... +label.action.disable.static.NAT=D\u00e9sactiver le NAT Statique +label.action.disable.static.NAT.processing=D\u00e9sactivation du NAT Statique... +label.action.disable.user=D\u00e9sactiver l\\'utilisateur +label.action.disable.user.processing=D\u00e9sactivation de l\\'utilisateur... +label.action.disable.zone=D\u00e9sactivation de la zone +label.action.disable.zone.processing=D\u00e9sactivation de la zone... +label.action.download.ISO=T\u00e9l\u00e9charger une image ISO +label.action.download.template=T\u00e9l\u00e9charger un mod\u00e8le +label.action.download.volume.processing=T\u00e9l\u00e9chargement du volume... +label.action.download.volume=T\u00e9l\u00e9charger un volume label.action.edit.account=Modifier le Compte label.action.edit.disk.offering=Modifier l\\'offre de disque label.action.edit.domain=Modifier le domaine label.action.edit.global.setting=Modifier la configuration globale -label.action.edit.host=Modifier l\\'h\u00F4te +label.action.edit.host=Modifier l\\'h\u00f4te label.action.edit.instance=Modifier l\\'instance -label.action.edit.network=Modifier le r\u00E9seau -label.action.edit.network.offering=Modifier l\\'offre de service r\u00E9seau -label.action.edit.network.processing=Modification du R\u00E9seau... +label.action.edit.ISO=Modifier l\\'image ISO +label.action.edit.network=Modifier le r\u00e9seau +label.action.edit.network.offering=Modifier l\\'offre de service r\u00e9seau +label.action.edit.network.processing=Modification du R\u00e9seau... label.action.edit.pod=Modifier le pod label.action.edit.primary.storage=Modifier le stockage principal label.action.edit.resource.limits=Modifier les limites de ressources label.action.edit.service.offering=Modifier l\\'offre de service -label.action.edit.template=Modifier le mod\u00E8le +label.action.edit.template=Modifier le mod\u00e8le label.action.edit.user=Modifier l\\'utilisateur label.action.edit.zone=Modifier la zone label.action.enable.account=Activer le compte @@ -197,7 +165,7 @@ label.action.enable.cluster.processing=Activation du cluster... label.action.enable.maintenance.mode=Activer le mode maintenance label.action.enable.maintenance.mode.processing=Activation du mode maintenance... label.action.enable.nexusVswitch=Activer le Nexus 1000v -label.action.enable.physical.network=Activer le r\u00E9seau physique +label.action.enable.physical.network=Activer le r\u00e9seau physique label.action.enable.pod=Activer le Pod label.action.enable.pod.processing=Activation du Pod... label.action.enable.static.NAT=Activer le NAT Statique @@ -208,74 +176,69 @@ label.action.enable.zone=Activer la zone label.action.enable.zone.processing=Activation de la zone... label.action.force.reconnect=Forcer la reconnexion label.action.force.reconnect.processing=Reconnexion en cours... -label.action.generate.keys=G\u00E9n\u00E9rer les cl\u00E9s -label.action.generate.keys.processing=G\u00E9n\u00E9ration des cl\u00E9s... +label.action.generate.keys=G\u00e9n\u00e9rer les cl\u00e9s +label.action.generate.keys.processing=G\u00e9n\u00e9ration des cl\u00e9s... label.action.list.nexusVswitch=Liste des Nexus 1000v -label.action.lock.account=Verrouiller le compte label.action.lock.account.processing=Verrouillage du compte... -label.action.manage.cluster=G\u00E9rer le Cluster +label.action.lock.account=Verrouiller le compte +label.action.manage.cluster=G\u00e9rer le Cluster label.action.manage.cluster.processing=Gestion du cluster... label.action.migrate.instance=Migrer l\\'instance label.action.migrate.instance.processing=Migration de l\\'instance... label.action.migrate.router=Migration routeur label.action.migrate.router.processing=Migration routeur en cours... -label.action.migrate.systemvm=Migration VM syst\u00E8me -label.action.migrate.systemvm.processing=Migration VM syst\u00E8me en cours ... -label.action.reboot.instance=Red\u00E9marrer l\\'instance -label.action.reboot.instance.processing=Red\u00E9marrage de l\\'instance... -label.action.reboot.router=Red\u00E9marrer le routeur -label.action.reboot.router.processing=Red\u00E9marrage du routeur... -label.action.reboot.systemvm=Red\u00E9marrer la VM Syst\u00E8me -label.action.reboot.systemvm.processing=Red\u00E9marrage de la VM Syst\u00E8me... -label.action.recurring.snapshot=Instantan\u00E9s r\u00E9currents +label.action.migrate.systemvm=Migration VM syst\u00e8me +label.action.migrate.systemvm.processing=Migration VM syst\u00e8me en cours ... +label.action.reboot.instance.processing=Red\u00e9marrage de l\\'instance... +label.action.reboot.instance=Red\u00e9marrer l\\'instance +label.action.reboot.router.processing=Red\u00e9marrage du routeur... +label.action.reboot.router=Red\u00e9marrer le routeur +label.action.reboot.systemvm.processing=Red\u00e9marrage de la VM Syst\u00e8me... +label.action.reboot.systemvm=Red\u00e9marrer la VM Syst\u00e8me +label.action.recurring.snapshot=Instantan\u00e9s r\u00e9currents label.action.register.iso=Enregistrer ISO -label.action.register.template=Enregistrer mod\u00E8le -label.action.release.ip=Lib\u00E9rer l\\'adresse IP -label.action.release.ip.processing=Lib\u00E9ration de l\\'adresse IP... -label.action.remove.host=Supprimer l\\'h\u00F4te -label.action.remove.host.processing=Suppression de l\\'h\u00F4te... -label.action.reset.password=R\u00E9-initialiser le mot de passe -label.action.reset.password.processing=R\u00E9-initialisation du mot de passe... -label.action.resize.volume=Redimensionner Volume +label.action.register.template=Enregistrer mod\u00e8le +label.action.release.ip=Lib\u00e9rer l\\'adresse IP +label.action.release.ip.processing=Lib\u00e9ration de l\\'adresse IP... +label.action.remove.host.processing=Suppression de l\\'h\u00f4te... +label.action.remove.host=Supprimer l\\'h\u00f4te +label.action.reset.password.processing=R\u00e9-initialisation du mot de passe... +label.action.reset.password=R\u00e9-initialiser le mot de passe label.action.resize.volume.processing=Redimensionnement en cours... +label.action.resize.volume=Redimensionner Volume label.action.resource.limits=Limites de ressources -label.action.restore.instance=Restaurer l\\'instance label.action.restore.instance.processing=Restauration de l\\'instance... -label.action.start.instance=D\u00E9marrer l\\'instance -label.action.start.instance.processing=D\u00E9marrage de l\\'instance... -label.action.start.router=D\u00E9marrer le routeur -label.action.start.router.processing=D\u00E9marrage du routeur... -label.action.start.systemvm=D\u00E9marrer la VM syst\u00E8me -label.action.start.systemvm.processing=D\u00E9marrage de la VM syst\u00E8me... -label.action.stop.instance=Arr\u00EAter l\\'Instance -label.action.stop.instance.processing=Arr\u00EAt de l\\'Instance... -label.action.stop.router=Arr\u00EAter le routeur -label.action.stop.router.processing=Arr\u00EAt du routeur... -label.action.stop.systemvm=Arr\u00EAter la VM syst\u00E8me -label.action.stop.systemvm.processing=Arr\u00EAt de la VM syst\u00E8me... -label.action.take.snapshot=Prendre un instantan\u00E9 -label.action.take.snapshot.processing=Prise de l\\'instantan\u00E9... -label.action.unmanage.cluster=Ne plus g\u00E9rer le Cluster -label.action.unmanage.cluster.processing=Arr\u00EAt de la gestion du Cluster -label.action.update.OS.preference=Mettre \u00E0 jour les pr\u00E9f\u00E9rences d\\'OS -label.action.update.OS.preference.processing=Mise \u00E0 jour des pr\u00E9f\u00E9rences d\\'OS... -label.action.update.resource.count=Mettre \u00E0 jour le compteur des ressources -label.action.update.resource.count.processing=Mise \u00E0 jour du compteur... +label.action.restore.instance=Restaurer l\\'instance label.actions=Actions +label.action.start.instance=D\u00e9marrer l\\'instance +label.action.start.instance.processing=D\u00e9marrage de l\\'instance... +label.action.start.router=D\u00e9marrer le routeur +label.action.start.router.processing=D\u00e9marrage du routeur... +label.action.start.systemvm=D\u00e9marrer la VM syst\u00e8me +label.action.start.systemvm.processing=D\u00e9marrage de la VM syst\u00e8me... +label.action.stop.instance=Arr\u00eater l\\'Instance +label.action.stop.instance.processing=Arr\u00eat de l\\'Instance... +label.action.stop.router=Arr\u00eater le routeur +label.action.stop.router.processing=Arr\u00eat du routeur... +label.action.stop.systemvm=Arr\u00eater la VM syst\u00e8me +label.action.stop.systemvm.processing=Arr\u00eat de la VM syst\u00e8me... +label.action.take.snapshot=Prendre un instantan\u00e9 +label.action.take.snapshot.processing=Prise de l\\'instantan\u00e9... +label.action.unmanage.cluster=Ne plus g\u00e9rer le Cluster +label.action.unmanage.cluster.processing=Arr\u00eat de la gestion du Cluster +label.action.update.OS.preference=Mettre \u00e0 jour les pr\u00e9f\u00e9rences d\\'OS +label.action.update.OS.preference.processing=Mise \u00e0 jour des pr\u00e9f\u00e9rences d\\'OS... +label.action.update.resource.count=Mettre \u00e0 jour le compteur des ressources +label.action.update.resource.count.processing=Mise \u00e0 jour du compteur... label.activate.project=Activer projet label.active.sessions=Sessions actives -label.add=Ajouter -label.add.ACL=Ajouter r\u00E8gle ACL -label.add.F5.device=Ajouter un F5 -label.add.NiciraNvp.device=Ajouter un contr\u00F4leur Nvp -label.add.SRX.device=Ajouter un SRX -label.add.VM.to.tier=Ajouter une machine virtuelle au tiers -label.add.VPN.gateway=Ajouter une passerelle VPN label.add.account=Ajouter un compte -label.add.account.to.project=Ajouter un compte au projet label.add.accounts=Ajouter des comptes label.add.accounts.to=Ajouter des comptes sur -label.add.by=Ajout\u00E9 par +label.add.account.to.project=Ajouter un compte au projet +label.add.ACL=Ajouter r\u00e8gle ACL +label.add=Ajouter +label.add.by=Ajout\u00e9 par label.add.by.cidr=Ajouter par CIDR label.add.by.group=Ajouter par groupe label.add.cluster=Ajouter un cluster @@ -283,308 +246,327 @@ label.add.compute.offering=Ajouter une offre de calcul label.add.direct.iprange=Ajouter une plage d\\'adresse IP directe label.add.disk.offering=Ajouter une offre disque label.add.domain=Ajouter un domaine -label.add.egress.rule=Ajouter la r\u00E8gle sortante -label.add.firewall=Ajouter une r\u00E8gle de pare-feu -label.add.guest.network=Ajouter un r\u00E9seau d\\'invit\u00E9 -label.add.host=Ajouter un h\u00F4te -label.add.ingress.rule=Ajouter une r\u00E8gle d\\'entr\u00E9e +label.add.egress.rule=Ajouter la r\u00e8gle sortante +label.add.F5.device=Ajouter un F5 +label.add.firewall=Ajouter une r\u00e8gle de pare-feu +label.add.guest.network=Ajouter un r\u00e9seau d\\'invit\u00e9 +label.add.host=Ajouter un h\u00f4te +label.adding=Ajout +label.adding.cluster=Ajout du Cluster +label.adding.failed=\u00c9chec de l\\'ajout +label.adding.pod=Ajout du Pod +label.adding.processing=Ajout... +label.add.ingress.rule=Ajouter une r\u00e8gle d\\'entr\u00e9e +label.adding.succeeded=Ajout r\u00e9ussi +label.adding.user=Ajout de l\\'utilisateur +label.adding.zone=Ajout de la zone label.add.ip.range=Ajouter une plage IP -label.add.load.balancer=Ajouter un r\u00E9partiteur de charge +label.additional.networks=R\u00e9seaux additionnels +label.add.load.balancer=Ajouter un r\u00e9partiteur de charge label.add.more=Ajouter plus label.add.netScaler.device=Ajouter un Netscaler -label.add.network=Ajouter un r\u00E9seau -label.add.network.ACL=Ajouter une r\u00E8gle d\\'acc\u00E8s r\u00E9seau ACL -label.add.network.device=Ajouter un \u00E9quipement r\u00E9seau -label.add.network.offering=Ajouter une offre r\u00E9seau +label.add.network.ACL=Ajouter une r\u00e8gle d\\'acc\u00e8s r\u00e9seau ACL +label.add.network=Ajouter un r\u00e9seau +label.add.network.device=Ajouter un \u00e9quipement r\u00e9seau +label.add.network.offering=Ajouter une offre r\u00e9seau label.add.new.F5=Ajouter un F5 +label.add.new.gateway=Ajouter une nouvelle passerelle label.add.new.NetScaler=Ajouter un Netscaler label.add.new.SRX=Ajouter un SRX -label.add.new.gateway=Ajouter une nouvelle passerelle label.add.new.tier=Ajouter un nouveau tiers -label.add.physical.network=Ajouter un r\u00E9seau physique +label.add.NiciraNvp.device=Ajouter un contr\u00f4leur Nvp +label.add.physical.network=Ajouter un r\u00e9seau physique label.add.pod=Ajouter un pod -label.add.port.forwarding.rule=Ajouter une r\u00E8gle de transfert de port +label.add.port.forwarding.rule=Ajouter une r\u00e8gle de transfert de port label.add.primary.storage=Ajouter un stockage principal label.add.resources=Ajouter ressources label.add.route=Ajouter route -label.add.rule=Ajouter r\u00E8gle +label.add.rule=Ajouter r\u00e8gle label.add.secondary.storage=Ajouter un stockage secondaire -label.add.security.group=Ajouter un groupe de s\u00E9curit\u00E9 +label.add.security.group=Ajouter un groupe de s\u00e9curit\u00e9 label.add.service.offering=Ajouter une offre de service -label.add.static.nat.rule=Ajouter une r\u00E8gle de NAT statique +label.add.SRX.device=Ajouter un SRX +label.add.static.nat.rule=Ajouter une r\u00e8gle de NAT statique label.add.static.route=Ajouter une route statique -label.add.system.service.offering=Ajouter une offre de service syst\u00E8me -label.add.template=Ajouter un mod\u00E8le +label.add.system.service.offering=Ajouter une offre de service syst\u00e8me +label.add.template=Ajouter un mod\u00e8le label.add.to.group=Ajouter au groupe label.add.user=Ajouter un utilisateur label.add.vlan=Ajouter un VLAN label.add.vm=Ajouter VM label.add.vms=Ajouter VMs -label.add.vms.to.lb=Ajouter une/des VM(s) \u00E0 la r\u00E8gle de r\u00E9partition de charge +label.add.vms.to.lb=Ajouter une/des VM(s) \u00e0 la r\u00e8gle de r\u00e9partition de charge +label.add.VM.to.tier=Ajouter une machine virtuelle au tiers label.add.volume=Ajouter un volume label.add.vpc=Ajouter un VPC label.add.vpn.customer.gateway=Ajouter une passerelle VPN cliente +label.add.VPN.gateway=Ajouter une passerelle VPN label.add.vpn.user=Ajouter un utilisateur VPN label.add.zone=Ajouter une zone -label.adding=Ajout -label.adding.cluster=Ajout du Cluster -label.adding.failed=\u00C9chec de l\\'ajout -label.adding.pod=Ajout du Pod -label.adding.processing=Ajout... -label.adding.succeeded=Ajout r\u00E9ussi -label.adding.user=Ajout de l\\'utilisateur -label.adding.zone=Ajout de la zone -label.additional.networks=R\u00E9seaux additionnels -label.admin=Administrateur label.admin.accounts=Comptes Administrateur -label.advanced=Avanc\u00E9 -label.advanced.mode=Mode avanc\u00E9 -label.advanced.search=Recherche avanc\u00E9e +label.admin=Administrateur +label.advanced=Avanc\u00e9 +label.advanced.mode=Mode avanc\u00e9 +label.advanced.search=Recherche avanc\u00e9e label.agent.password=Mot de passe Agent label.agent.username=Identifiant Agent label.agree=Accepter label.alert=Alerte label.algorithm=Algorithme -label.allocated=Allou\u00E9 -label.allocation.state=\u00C9tat -label.api.key=Cl\u00E9 d\\'API +label.allocated=Allou\u00e9 +label.allocation.state=\u00c9tat +label.api.key=Cl\u00e9 d\\'API label.apply=Appliquer label.assign=Assigner -label.assign.to.load.balancer=Assigner l\\'instance au r\u00E9partiteur de charge -label.associated.network=R\u00E9seau associ\u00E9 -label.associated.network.id=ID du r\u00E9seau associ\u00E9 -label.attached.iso=Image ISO attach\u00E9e -label.availability=Disponibilit\u00E9 -label.availability.zone=Zone de disponibilit\u00E9 +label.assign.to.load.balancer=Assigner l\\'instance au r\u00e9partiteur de charge +label.associated.network.id=ID du r\u00e9seau associ\u00e9 +label.associated.network=R\u00e9seau associ\u00e9 +label.attached.iso=Image ISO attach\u00e9e +label.availability=Disponibilit\u00e9 +label.availability.zone=Zone de disponibilit\u00e9 label.available=Disponible label.available.public.ips=Adresses IP publiques disponibles label.back=Retour label.bandwidth=Bande passante label.basic=Basique label.basic.mode=Mode basique -label.bootable=Amor\u00E7able +label.bootable=Amor\u00e7able label.broadcast.domain.range=Plage du domaine multi-diffusion label.broadcast.domain.type=Type de domaine de multi-diffusion label.broadcast.uri=URI multi-diffusion label.by.account=Par compte -label.by.availability=Par disponibilit\u00E9 +label.by.availability=Par disponibilit\u00e9 label.by.domain=Par domaine label.by.end.date=Par date de fin label.by.level=Par niveau label.by.pod=Par Pod -label.by.role=Par r\u00F4le -label.by.start.date=Par date de d\u00E9but -label.by.state=Par \u00E9tat +label.by.role=Par r\u00f4le +label.by.start.date=Par date de d\u00e9but +label.by.state=Par \u00e9tat +label.bytes.received=Octets re\u00e7us +label.bytes.sent=Octets envoy\u00e9s label.by.traffic.type=Par type de trafic -label.by.type=Par type label.by.type.id=Par type d\\'ID +label.by.type=Par type label.by.zone=Par zone -label.bytes.received=Octets re\u00E7us -label.bytes.sent=Octets envoy\u00E9s label.cancel=Annuler -label.capacity=Capacit\u00E9 +label.capacity=Capacit\u00e9 label.certificate=Certificat label.change.service.offering=Modifier l\\'offre de service label.change.value=Modifier la valeur -label.character=Caract\u00E8re -label.checksum=Somme de contr\u00F4le MD5 +label.character=Caract\u00e8re +label.checksum=Somme de contr\u00f4le MD5 +label.cidr.account=CIDR ou Compte/Groupe de s\u00e9curit\u00e9 label.cidr=CIDR -label.cidr.account=CIDR ou Compte/Groupe de s\u00E9curit\u00E9 label.cidr.list=CIDR Source +label.CIDR.list=Liste CIDR +label.CIDR.of.destination.network=CIDR du r\u00e9seau de destination label.clean.up=Nettoyage label.clear.list=Purger la liste label.close=Fermer label.cloud.console=Console d\\'Administration du Cloud -label.cloud.managed=G\u00E9r\u00E9 par Cloud.com +label.cloud.managed=G\u00e9r\u00e9 par Cloud.com label.cluster=Cluster label.cluster.name=Nom du cluster -label.cluster.type=Type de Cluster label.clusters=Clusters +label.cluster.type=Type de Cluster label.clvm=CLVM label.code=Code -label.community=Communaut\u00E9 -label.compute=Processeur +label.community=Communaut\u00e9 label.compute.and.storage=Calcul et Stockage label.compute.offering=Offre de calcul label.compute.offerings=Offres de calcul +label.compute=Processeur label.configuration=Configuration label.configure=Configurer -label.configure.network.ACLs=Configurer les r\u00E8gles d\\'acc\u00E8s r\u00E9seau ACL +label.configure.network.ACLs=Configurer les r\u00e8gles d\\'acc\u00e8s r\u00e9seau ACL label.configure.vpc=Configurer le VPC -label.confirm.password=Confirmer le mot de passe label.confirmation=Confirmation -label.congratulations=F\u00E9licitations \! +label.confirm.password=Confirmer le mot de passe +label.congratulations=F\u00e9licitations \! label.conserve.mode=Conserver le mode label.console.proxy=Console proxy -label.continue=Continuer label.continue.basic.install=Continuer avec l\\'installation basique -label.corrections.saved=Modifications enregistr\u00E9es +label.continue=Continuer +label.corrections.saved=Modifications enregistr\u00e9es +label.cpu.allocated=CPU allou\u00e9e +label.cpu.allocated.for.VMs=CPU allou\u00e9e aux VMs +label.CPU.cap=Limitation CPU label.cpu=CPU -label.cpu.allocated=CPU allou\u00E9e -label.cpu.allocated.for.VMs=CPU allou\u00E9e aux VMs label.cpu.mhz=CPU (en MHz) -label.cpu.utilized=CPU utilis\u00E9e -label.create.VPN.connection=Cr\u00E9er une connexion VPN -label.create.project=Cr\u00E9er un projet -label.create.template=Cr\u00E9er un mod\u00E8le -label.created=Cr\u00E9\u00E9 -label.created.by.system=Cr\u00E9\u00E9 par le syst\u00E8me +label.cpu.utilized=CPU utilis\u00e9e +label.created.by.system=Cr\u00e9\u00e9 par le syst\u00e8me +label.created=Cr\u00e9\u00e9 +label.create.project=Cr\u00e9er un projet +label.create.template=Cr\u00e9er un mod\u00e8le +label.create.VPN.connection=Cr\u00e9er une connexion VPN label.cross.zones=Multi Zones -label.custom.disk.size=Taille de disque personnalis\u00E9e +label.custom.disk.size=Taille de disque personnalis\u00e9e label.daily=Quotidien -label.data.disk.offering=Offre de disque de donn\u00E9es +label.data.disk.offering=Offre de disque de donn\u00e9es label.date=Date label.day.of.month=Jour du mois label.day.of.week=Jour de la semaine -label.dead.peer.detection=D\u00E9tection de pair mort +label.dead.peer.detection=D\u00e9tection de pair mort label.decline.invitation=Refuser l\\'invitation -label.dedicated=D\u00E9di\u00E9 -label.default=Par d\u00E9faut -label.default.use=Utilisation par d\u00E9faut -label.default.view=Vue par d\u00E9faut -label.delete=Supprimer +label.dedicated=D\u00e9di\u00e9 +label.default=Par d\u00e9faut +label.default.use=Utilisation par d\u00e9faut +label.default.view=Vue par d\u00e9faut label.delete.F5=Supprimer F5 +label.delete.gateway=Supprimer la passerelle label.delete.NetScaler=Supprimer Netscaler -label.delete.NiciraNvp=Supprimer un contr\u00F4leur Nvp +label.delete.NiciraNvp=Supprimer un contr\u00f4leur Nvp +label.delete.project=Supprimer projet label.delete.SRX=Supprimer SRX +label.delete=Supprimer label.delete.VPN.connection=Supprimer la connexion VPN label.delete.VPN.customer.gateway=Supprimer la passerelle VPN client label.delete.VPN.gateway=Supprimer la passerelle VPN -label.delete.gateway=Supprimer la passerelle -label.delete.project=Supprimer projet label.delete.vpn.user=Supprimer l\\'utilisateur VPN -label.deleting.failed=Suppression \u00E9chou\u00E9e +label.deleting.failed=Suppression \u00e9chou\u00e9e label.deleting.processing=Suppression... label.description=Description -label.destination.physical.network.id=Identifiant du r\u00E9seau physique de destination +label.destination.physical.network.id=Identifiant du r\u00e9seau physique de destination label.destination.zone=Zone de destination -label.destroy=D\u00E9truire +label.destroy=D\u00e9truire label.destroy.router=Supprimer le routeur -label.detaching.disk=D\u00E9tacher le disque -label.details=D\u00E9tails -label.device.id=ID du p\u00E9riph\u00E9rique +label.detaching.disk=D\u00e9tacher le disque +label.details=D\u00e9tails +label.device.id=ID du p\u00e9riph\u00e9rique label.devices=Machines label.dhcp=DHCP -label.direct.ips=Adresses IP du r\u00E9seau partag\u00E9 -label.disable.provider=D\u00E9sactiver ce fournisseur -label.disable.vpn=D\u00E9sactiver le VPN -label.disabled=D\u00E9sactiv\u00E9 -label.disabling.vpn.access=D\u00E9sactiver l\\'acc\u00E8s VPN -label.disk.allocated=Disque Allou\u00E9 +label.DHCP.server.type=Serveur DHCP +label.direct.ips=Adresses IP du r\u00e9seau partag\u00e9 +label.disabled=D\u00e9sactiv\u00e9 +label.disable.provider=D\u00e9sactiver ce fournisseur +label.disable.vpn=D\u00e9sactiver le VPN +label.disabling.vpn.access=D\u00e9sactiver l\\'acc\u00e8s VPN +label.disk.allocated=Disque Allou\u00e9 label.disk.offering=Offre de Disque -label.disk.size=Taille du disque label.disk.size.gb=Taille du disque (en Go) +label.disk.size=Taille du disque label.disk.total=Espace disque total label.disk.volume=Volume disque label.display.name=Nom commun -label.display.text=Texte affich\u00E9 -label.dns=DNS +label.display.text=Texte affich\u00e9 label.dns.1=DNS 1 label.dns.2=DNS 2 -label.domain=Domaine +label.dns=DNS +label.DNS.domain.for.guest.networks=Domaine DNS pour les r\u00e9seaux invit\u00e9s label.domain.admin=Administrateur du domaine +label.domain=Domaine label.domain.id=ID du domaine label.domain.name=Nom de domaine label.domain.router=Routeur du domaine label.domain.suffix=Suffixe de domaine DNS (i.e., xyz.com) -label.done=Termin\u00E9 -label.double.quotes.are.not.allowed=Les guillemets ne sont pas autoris\u00E9es -label.download.progress=Progression du t\u00E9l\u00E9chargement -label.drag.new.position=D\u00E9placer sur une autre position +label.done=Termin\u00e9 +label.double.quotes.are.not.allowed=Les guillemets ne sont pas autoris\u00e9es +label.download.progress=Progression du t\u00e9l\u00e9chargement +label.drag.new.position=D\u00e9placer sur une autre position +label.edit.lb.rule=Modifier la r\u00e8gle LB label.edit=Modifier -label.edit.lb.rule=Modifier la r\u00E8gle LB -label.edit.network.details=Modifier les param\u00E8tres r\u00E9seau -label.edit.project.details=Modifier les d\u00E9tails du projet +label.edit.network.details=Modifier les param\u00e8tres r\u00e9seau +label.edit.project.details=Modifier les d\u00e9tails du projet label.edit.tags=Modifier les balises label.edit.traffic.type=Modifier le type de trafic label.edit.vpc=Modifier le VPC -label.egress.rule=R\u00E8gle sortante -label.egress.rules=R\u00E8gles de sortie -label.elastic=\u00C9lastique +label.egress.rule=R\u00e8gle sortante +label.egress.rules=R\u00e8gles de sortie label.elastic.IP=IP extensible -label.elastic.LB=R\u00E9partition de charge extensible +label.elastic.LB=R\u00e9partition de charge extensible +label.elastic=\u00c9lastique label.email=Email label.enable.provider=Activer le fournisseur label.enable.s3=Activer le stockage secondaire de type S3 label.enable.swift=Activer Swift label.enable.vpn=Activer VPN +label.enabling.vpn.access=Activation de l\\'acc\u00e8s VPN label.enabling.vpn=Activation du VPN -label.enabling.vpn.access=Activation de l\\'acc\u00E8s VPN label.end.IP=Fin de plage IP +label.endpoint.or.operation=Terminaison ou Op\u00e9ration label.end.port=Port de fin -label.end.reserved.system.IP=Adresse IP de fin r\u00E9serv\u00E9e Syst\u00E8me +label.end.reserved.system.IP=Adresse IP de fin r\u00e9serv\u00e9e Syst\u00e8me label.end.vlan=VLAN de fin -label.endpoint.or.operation=Terminaison ou Op\u00E9ration label.enter.token=Entrez le jeton unique -label.error=Erreur label.error.code=Code d\\'erreur -label.esx.host=H\u00F4te ESX/ESXi +label.error=Erreur +label.ESP.encryption=Chiffrement ESP +label.ESP.hash=Empreinte ESP +label.ESP.lifetime=Dur\u00e9e de vie ESP (secondes) +label.ESP.policy=Mode ESP +label.esx.host=H\u00f4te ESX/ESXi label.example=Exemple label.f5=F5 -label.failed=\u00C9chou\u00E9 -label.featured=Sponsoris\u00E9 -label.fetch.latest=Rafra\u00EEchir +label.failed=\u00c9chou\u00e9 +label.featured=Sponsoris\u00e9 +label.fetch.latest=Rafra\u00eechir label.filterBy=Filtre label.firewall=Pare-feu -label.first.name=Pr\u00E9nom +label.first.name=Pr\u00e9nom label.format=Format label.friday=Vendredi label.full=Complet label.full.path=Chemin complet label.gateway=Passerelle -label.general.alerts=Alertes g\u00E9n\u00E9rales -label.generating.url=G\u00E9n\u00E9ration de l\\'URL -label.go.step.2=Aller \u00E0 l\\'\u00E9tape 2 -label.go.step.3=Aller \u00E0 l\\'\u00E9tape 3 -label.go.step.4=Aller \u00E0 l\\'\u00E9tape 4 -label.go.step.5=Aller \u00E0 l\\'\u00E9tape 5 +label.general.alerts=Alertes g\u00e9n\u00e9rales +label.generating.url=G\u00e9n\u00e9ration de l\\'URL +label.go.step.2=Aller \u00e0 l\\'\u00e9tape 2 +label.go.step.3=Aller \u00e0 l\\'\u00e9tape 3 +label.go.step.4=Aller \u00e0 l\\'\u00e9tape 4 +label.go.step.5=Aller \u00e0 l\\'\u00e9tape 5 label.group=Groupe label.group.optional=Groupe (optionnel) -label.guest=Invit\u00E9 -label.guest.cidr=CIDR invit\u00E9 -label.guest.end.ip=Adresse IP de fin pour les invit\u00E9s -label.guest.gateway=Passerelle pour les invit\u00E9s -label.guest.ip=Adresse IP des invit\u00E9s -label.guest.ip.range=Plage d\\'adresses IP des invit\u00E9s -label.guest.netmask=Masque de r\u00E9seau des invit\u00E9s -label.guest.networks=R\u00E9seaux d\\'invit\u00E9 -label.guest.start.ip=Adresse IP de d\u00E9but pour les invit\u00E9s -label.guest.traffic=Trafic invit\u00E9 -label.guest.type=Type d\\'invit\u00E9 -label.ha.enabled=Haute disponibilit\u00E9 activ\u00E9e +label.guest.cidr=CIDR invit\u00e9 +label.guest.end.ip=Adresse IP de fin pour les invit\u00e9s +label.guest.gateway=Passerelle pour les invit\u00e9s +label.guest=Invit\u00e9 +label.guest.ip=Adresse IP des invit\u00e9s +label.guest.ip.range=Plage d\\'adresses IP des invit\u00e9s +label.guest.netmask=Masque de r\u00e9seau des invit\u00e9s +label.guest.networks=R\u00e9seaux d\\'invit\u00e9 +label.guest.start.ip=Adresse IP de d\u00e9but pour les invit\u00e9s +label.guest.traffic=Trafic invit\u00e9 +label.guest.type=Type d\\'invit\u00e9 +label.ha.enabled=Haute disponibilit\u00e9 activ\u00e9e label.help=Aide -label.hide.ingress.rule=Cacher la r\u00E8gle d\\'entr\u00E9e +label.hide.ingress.rule=Cacher la r\u00e8gle d\\'entr\u00e9e label.hints=Astuces -label.host=H\u00F4te -label.host.MAC=Adresse MAC h\u00F4te -label.host.alerts=Alertes des h\u00F4tes -label.host.name=Nom d\\'h\u00F4te -label.host.tags=\u00C9tiquettes d\\'h\u00F4te -label.hosts=H\u00F4tes +label.host.alerts=Alertes des h\u00f4tes +label.host=H\u00f4te +label.host.MAC=Adresse MAC h\u00f4te +label.host.name=Nom d\\'h\u00f4te +label.hosts=H\u00f4tes +label.host.tags=\u00c9tiquettes d\\'h\u00f4te label.hourly=Chaque heure -label.hypervisor=Hyperviseur label.hypervisor.capabilities=Fonctions hyperviseur +label.hypervisor=Hyperviseur label.hypervisor.type=Type d\\'hyperviseur label.hypervisor.version=Version hyperviseur label.id=ID +label.IKE.DH=DH IKE +label.IKE.encryption=Chiffrement IKE +label.IKE.hash=Empreinte IKE +label.IKE.lifetime=Dur\u00e9e de vie IKE (secondes) +label.IKE.policy=Mode IKE label.info=Information -label.ingress.rule=R\u00E8gle d\\'entr\u00E9e -label.initiated.by=Initi\u00E9 par +label.ingress.rule=R\u00e8gle d\\'entr\u00e9e +label.initiated.by=Initi\u00e9 par label.installWizard.addClusterIntro.subtitle=Qu\\'est ce qu\\'un cluster ? label.installWizard.addClusterIntro.title=Ajoutons un cluster -label.installWizard.addHostIntro.subtitle=Qu\\'est ce qu\\'un h\u00F4te ? -label.installWizard.addHostIntro.title=Ajoutons un h\u00F4te +label.installWizard.addHostIntro.subtitle=Qu\\'est ce qu\\'un h\u00f4te ? +label.installWizard.addHostIntro.title=Ajoutons un h\u00f4te label.installWizard.addPodIntro.subtitle=Qu\\'est ce qu\\'un pod ? label.installWizard.addPodIntro.title=Ajoutons un pod label.installWizard.addPrimaryStorageIntro.subtitle=Qu\\'est ce que le stockage principal ? label.installWizard.addPrimaryStorageIntro.title=Ajoutons du stockage principal label.installWizard.addSecondaryStorageIntro.subtitle=Qu\\'est ce que le stockage secondaire ? label.installWizard.addSecondaryStorageIntro.title=Ajoutons du stockage secondaire -label.installWizard.addZone.title=Ajouter une zone label.installWizard.addZoneIntro.subtitle=Qu\\'est ce qu\\'une zone ? label.installWizard.addZoneIntro.title=Ajoutons une zone -label.installWizard.click.launch=Appuyer sur le bouton d\u00E9marrer. -label.installWizard.subtitle=Ce tutoriel vous aidera \u00E0 configurer votre installation CloudStack&\#8482; +label.installWizard.addZone.title=Ajouter une zone +label.installWizard.click.launch=Appuyer sur le bouton d\u00e9marrer. +label.installWizard.subtitle=Ce tutoriel vous aidera \u00e0 configurer votre installation CloudStack&\#8482; label.installWizard.title=Bonjour et bienvenue dans CloudStack&\#8482; label.instance=Instance label.instance.limits=Limites des instances @@ -594,105 +576,108 @@ label.internal.dns.1=DNS interne 1 label.internal.dns.2=DNS interne 2 label.internal.name=Nom interne label.interval.type=Type d\\'intervalle -label.introduction.to.cloudstack=Introduction \u00E0 CloudStack&\#8482; +label.introduction.to.cloudstack=Introduction \u00e0 CloudStack&\#8482; label.invalid.integer=Nombre entier invalide label.invalid.number=Nombre invalide label.invitations=Invitations +label.invited.accounts=Comptes invit\u00e9s label.invite=Inviter label.invite.to=Inviter sur -label.invited.accounts=Comptes invit\u00E9s -label.ip=IP label.ip.address=Adresse IP +label.ipaddress=Adresse IP label.ip.allocations=Allocations de IPs +label.ip=IP label.ip.limits=Limite de IPs publiques label.ip.or.fqdn=IP ou FQDN label.ip.range=Plage IP label.ip.ranges=Plages IP -label.ipaddress=Adresse IP +label.IPsec.preshared.key=Cl\u00e9 partag\u00e9e IPsec label.ips=IPs -label.is.default=Est par d\u00E9faut -label.is.redundant.router=Redondant -label.is.shared=Est partag\u00E9 -label.is.system=Est Syst\u00E8me label.iscsi=iSCSI +label.is.default=Est par d\u00e9faut +label.iso.boot=D\u00e9marrage par ISO label.iso=ISO -label.iso.boot=D\u00E9marrage par ISO -label.isolated.networks=R\u00E9seaux isol\u00E9s -label.isolation.method=M\u00E9thode de s\u00E9paration +label.isolated.networks=R\u00e9seaux isol\u00e9s +label.isolation.method=M\u00e9thode de s\u00e9paration label.isolation.mode=Mode d\\'isolation label.isolation.uri=URI d\\'isolation -label.item.listing=Liste des \u00E9l\u00E9ments +label.is.redundant.router=Redondant +label.is.shared=Est partag\u00e9 +label.is.system=Est Syst\u00e8me +label.item.listing=Liste des \u00e9l\u00e9ments label.keep=Conserver -label.key=Clef label.keyboard.type=Type de clavier -label.kvm.traffic.label=Libell\u00E9 pour le trafic KVM -label.label=Libell\u00E9 -label.lang.brportugese=Portuguais Br\u00E9sil +label.key=Clef +label.kvm.traffic.label=Libell\u00e9 pour le trafic KVM +label.label=Libell\u00e9 +label.lang.brportugese=Portuguais Br\u00e9sil label.lang.catalan=Catalan -label.lang.chinese=Chinois (simplifi\u00E9) +label.lang.chinese=Chinois (simplifi\u00e9) label.lang.english=Anglais -label.lang.french=Fran\u00E7ais +label.lang.french=Fran\u00e7ais label.lang.german=Allemand label.lang.italian=Italien label.lang.japanese=Japonais -label.lang.korean=Cor\u00E9en -label.lang.norwegian=Norv\u00E9gien +label.lang.korean=Cor\u00e9en +label.lang.norwegian=Norv\u00e9gien label.lang.russian=Russe label.lang.spanish=Espagnol -label.last.disconnected=Derni\u00E8re D\u00E9connexion +label.last.disconnected=Derni\u00e8re D\u00e9connexion label.last.name=Nom -label.latest.events=Derniers \u00E9v\u00E9nements -label.launch=D\u00E9marrer -label.launch.vm=D\u00E9marrer VM -label.launch.zone=D\u00E9marrer la zone +label.latest.events=Derniers \u00e9v\u00e9nements +label.launch=D\u00e9marrer +label.launch.vm=D\u00e9marrer VM +label.launch.zone=D\u00e9marrer la zone +label.LB.isolation=R\u00e9partition de charge isol\u00e9e label.least.connections=Le moins de connexions label.level=Niveau label.linklocal.ip=Adresse IP de lien local -label.load.balancer=R\u00E9partiteur de charge -label.load.balancing=R\u00E9partition de charge -label.load.balancing.policies=R\u00E8gles de r\u00E9partition de charge +label.load.balancer=R\u00e9partiteur de charge +label.load.balancing.policies=R\u00e8gles de r\u00e9partition de charge +label.load.balancing=R\u00e9partition de charge label.loading=Chargement en cours label.local=Local +label.local.storage.enabled=Stockage local activ\u00e9 label.local.storage=Stockage local -label.local.storage.enabled=Stockage local activ\u00E9 label.login=Connexion -label.logout=D\u00E9connexion +label.logout=D\u00e9connexion label.lun=LUN -label.make.project.owner=Devenir propri\u00E9taire du projet -label.manage=G\u00E9r\u00E9 -label.manage.resources=G\u00E9rer les ressources +label.LUN.number=N\u00b0 LUN +label.make.project.owner=Devenir propri\u00e9taire du projet +label.manage=G\u00e9r\u00e9 label.management=Administration label.management.ips=Adresses IP de gestion -label.max.guest.limit=Nombre maximum d\\'invit\u00E9s -label.max.networks=R\u00E9seaux Max. +label.manage.resources=G\u00e9rer les ressources +label.max.guest.limit=Nombre maximum d\\'invit\u00e9s +label.maximum=Maximum +label.max.networks=R\u00e9seaux Max. label.max.public.ips=Max. IP publiques -label.max.snapshots=Max instantan\u00E9es -label.max.templates=Max. mod\u00E8les +label.max.snapshots=Max instantan\u00e9es +label.max.templates=Max. mod\u00e8les label.max.vms=Max. VMs utilisateur label.max.volumes=Max. volumes label.max.vpcs=Max. VPCs -label.maximum=Maximum label.may.continue=Vous pouvez continuer. -label.memory=M\u00E9moire (en Mo) -label.memory.allocated=M\u00E9moire allou\u00E9e -label.memory.mb=M\u00E9moire (en MB) -label.memory.total=M\u00E9moire totale -label.memory.used=M\u00E9moire utilis\u00E9e +label.memory.allocated=M\u00e9moire allou\u00e9e +label.memory.mb=M\u00e9moire (en MB) +label.memory=M\u00e9moire (en Mo) +label.memory.total=M\u00e9moire totale +label.memory.used=M\u00e9moire utilis\u00e9e label.menu.accounts=Comptes label.menu.alerts=Alertes label.menu.all.accounts=Tous les comptes label.menu.all.instances=Toutes les instances -label.menu.community.isos=ISO de la communaut\u00E9 -label.menu.community.templates=Mod\u00E8les de la communaut\u00E9 +label.menu.community.isos=ISO de la communaut\u00e9 +label.menu.community.templates=Mod\u00e8les de la communaut\u00e9 label.menu.configuration=Configuration label.menu.dashboard=Tableau de bord -label.menu.destroyed.instances=Instances d\u00E9truites +label.menu.destroyed.instances=Instances d\u00e9truites label.menu.disk.offerings=Offres de disque label.menu.domains=Domaines -label.menu.events=\u00C9v\u00E9nements -label.menu.featured.isos=ISOs Sponsoris\u00E9es -label.menu.featured.templates=Mod\u00E8les sponsoris\u00E9s -label.menu.global.settings=Param\u00E8tres globaux +label.menu.events=\u00c9v\u00e9nements +label.menu.featured.isos=ISOs Sponsoris\u00e9es +label.menu.featured.templates=Mod\u00e8les sponsoris\u00e9s +label.menu.global.settings=Param\u00e8tres globaux label.menu.infrastructure=Infrastructure label.menu.instances=Instances label.menu.ipaddresses=Adresses IP @@ -700,72 +685,72 @@ label.menu.isos=ISOs label.menu.my.accounts=Mes comptes label.menu.my.instances=Mes instances label.menu.my.isos=Mes ISOs -label.menu.my.templates=Mes mod\u00E8les -label.menu.network=R\u00E9seau -label.menu.network.offerings=Offres de Service R\u00E9seau +label.menu.my.templates=Mes mod\u00e8les +label.menu.network.offerings=Offres de Service R\u00e9seau +label.menu.network=R\u00e9seau label.menu.physical.resources=Ressources physiques label.menu.running.instances=Instances actives -label.menu.security.groups=Groupes de s\u00E9curit\u00E9 +label.menu.security.groups=Groupes de s\u00e9curit\u00e9 label.menu.service.offerings=Offres de Service -label.menu.snapshots=Instantan\u00E9s -label.menu.stopped.instances=Instances Arr\u00EAt\u00E9es +label.menu.snapshots=Instantan\u00e9s +label.menu.stopped.instances=Instances Arr\u00eat\u00e9es label.menu.storage=Stockage -label.menu.system=Syst\u00E8me -label.menu.system.service.offerings=Offres syst\u00E8me -label.menu.system.vms=\ VMs Syst\u00E8mes -label.menu.templates=Mod\u00E8les +label.menu.system.service.offerings=Offres syst\u00e8me +label.menu.system=Syst\u00e8me +label.menu.system.vms=\ VMs Syst\u00e8mes +label.menu.templates=Mod\u00e8les label.menu.virtual.appliances=Appliances Virtuelles label.menu.virtual.resources=Ressources Virtuelles label.menu.volumes=Volumes +label.migrate.instance.to.host=Migration de l\\'instance sur un autre h\u00f4te label.migrate.instance.to=Migrer l\\'instance vers -label.migrate.instance.to.host=Migration de l\\'instance sur un autre h\u00F4te label.migrate.instance.to.ps=Migration de l\\'instance sur un autre stockage principal label.migrate.router.to=Migrer le routeur vers -label.migrate.systemvm.to=Migrer la VM syst\u00E8me vers -label.migrate.to.host=Migrer vers un h\u00F4te +label.migrate.systemvm.to=Migrer la VM syst\u00e8me vers +label.migrate.to.host=Migrer vers un h\u00f4te label.migrate.to.storage=Migrer vers un stockage label.migrate.volume=Migration du volume vers un autre stockage principal label.minimum=Minimum label.minute.past.hour=minute(s) label.monday=Lundi label.monthly=Mensuel -label.more.templates=Plus de mod\u00E8les +label.more.templates=Plus de mod\u00e8les label.move.down.row=Descendre d\\'un cran -label.move.to.bottom=D\u00E9placer en bas +label.move.to.bottom=D\u00e9placer en bas label.move.to.top=Placer au dessus label.move.up.row=Monter d\\'un cran label.my.account=Mon compte -label.my.network=Mon r\u00E9seau -label.my.templates=Mes mod\u00E8les +label.my.network=Mon r\u00e9seau +label.my.templates=Mes mod\u00e8les label.name=Nom label.name.optional=Nom (optionnel) label.nat.port.range=Plage de port NAT +label.netmask=Masque de r\u00e9seau label.netScaler=NetScaler -label.netmask=Masque de r\u00E9seau -label.network=R\u00E9seau -label.network.ACL=R\u00E8gles d\\'acc\u00E8s r\u00E9seau ACL -label.network.ACL.total=Total R\u00E8gles d\\'acc\u00E8s r\u00E9seau -label.network.ACLs=R\u00E8gles d\\'acc\u00E8s r\u00E9seau -label.network.desc=Description r\u00E9seau -label.network.device=\u00C9quipement R\u00E9seau -label.network.device.type=Type d\\'\u00E9quipement r\u00E9seau +label.network.ACL=R\u00e8gles d\\'acc\u00e8s r\u00e9seau ACL +label.network.ACLs=R\u00e8gles d\\'acc\u00e8s r\u00e9seau +label.network.ACL.total=Total R\u00e8gles d\\'acc\u00e8s r\u00e9seau +label.network.desc=Description r\u00e9seau +label.network.device.type=Type d\\'\u00e9quipement r\u00e9seau +label.network.device=\u00c9quipement R\u00e9seau label.network.domain=Nom de domaine -label.network.domain.text=Domaine r\u00E9seau -label.network.id=ID r\u00E9seau -label.network.label.display.for.blank.value=Utiliser la passerelle par d\u00E9faut -label.network.name=Nom du r\u00E9seau -label.network.offering=Offre de Service R\u00E9seau -label.network.offering.display.text=Texte affich\u00E9 d\\'Offre de R\u00E9seau -label.network.offering.id=ID de l\\'Offre de Service R\u00E9seau -label.network.offering.name=Nom de l\\'Offre de Service R\u00E9seau -label.network.rate=D\u00E9bit R\u00E9seau -label.network.rate.megabytes=D\u00E9bit r\u00E9seau (Mo/s) -label.network.read=Lecture r\u00E9seau -label.network.service.providers=Fournisseurs de service r\u00E9seau -label.network.type=Type de r\u00E9seau -label.network.write=\u00C9criture r\u00E9seau -label.networking.and.security=R\u00E9seau et s\u00E9curit\u00E9 -label.networks=R\u00E9seaux +label.network.domain.text=Domaine r\u00e9seau +label.network.id=ID r\u00e9seau +label.networking.and.security=R\u00e9seau et s\u00e9curit\u00e9 +label.network.label.display.for.blank.value=Utiliser la passerelle par d\u00e9faut +label.network.name=Nom du r\u00e9seau +label.network.offering.display.text=Texte affich\u00e9 d\\'Offre de R\u00e9seau +label.network.offering.id=ID de l\\'Offre de Service R\u00e9seau +label.network.offering.name=Nom de l\\'Offre de Service R\u00e9seau +label.network.offering=Offre de Service R\u00e9seau +label.network.rate=D\u00e9bit R\u00e9seau +label.network.rate.megabytes=D\u00e9bit r\u00e9seau (Mo/s) +label.network.read=Lecture r\u00e9seau +label.network=R\u00e9seau +label.network.service.providers=Fournisseurs de service r\u00e9seau +label.networks=R\u00e9seaux +label.network.type=Type de r\u00e9seau +label.network.write=\u00c9criture r\u00e9seau label.new=Nouveau label.new.password=Nouveau mot de passe label.new.project=Nouveau projet @@ -775,220 +760,228 @@ label.nexusVswitch=Nexus 1000v label.nfs=NFS label.nfs.server=Serveur NFS label.nfs.storage=Stockage NFS -label.nic.adapter.type=Type de carte r\u00E9seau -label.nicira.controller.address=Adresse du contr\u00F4leur +label.nic.adapter.type=Type de carte r\u00e9seau +label.nicira.controller.address=Adresse du contr\u00f4leur label.nicira.l3gatewayserviceuuid=Uuid du service passerelle L3 label.nicira.transportzoneuuid=Uuid de la Zone Transport label.nics=Cartes NIC -label.no=Non label.no.actions=Aucune action disponible -label.no.alerts=Aucune alerte r\u00E9cente -label.no.data=Aucune donn\u00E9e -label.no.errors=Aucune erreur r\u00E9cente +label.no.alerts=Aucune alerte r\u00e9cente +label.no.data=Aucune donn\u00e9e +label.no.errors=Aucune erreur r\u00e9cente label.no.isos=Aucun ISOs disponible -label.no.items=Aucun \u00E9l\u00E9ment disponible -label.no.security.groups=Aucun groupe de s\u00E9curit\u00E9 disponible -label.no.thanks=Non merci +label.no.items=Aucun \u00e9l\u00e9ment disponible label.none=Aucun +label.no=Non +label.no.security.groups=Aucun groupe de s\u00e9curit\u00e9 disponible label.not.found=Introuvable +label.no.thanks=Non merci label.notifications=Messages -label.num.cpu.cores=Nombre de c\u0153urs label.number.of.clusters=Nombre de clusters -label.number.of.hosts=Nombre d\\'H\u00F4tes +label.number.of.hosts=Nombre d\\'H\u00f4tes label.number.of.pods=Nombre de Pods -label.number.of.system.vms=Nombre de VM Syst\u00E8me +label.number.of.system.vms=Nombre de VM Syst\u00e8me label.number.of.virtual.routers=Nombre de routeurs virtuels label.number.of.zones=Nombre de zones +label.num.cpu.cores=Nombre de c\u0153urs label.numretries=Nombre de tentatives label.ocfs2=OCFS2 -label.offer.ha=Offrir la haute disponibilit\u00E9 +label.offer.ha=Offrir la haute disponibilit\u00e9 label.ok=OK label.optional=Facultatif label.order=Ordre -label.os.preference=Pr\u00E9f\u00E9rence OS +label.os.preference=Pr\u00e9f\u00e9rence OS label.os.type=Type du OS -label.owned.public.ips=Adresses IP Publiques d\u00E9tenues -label.owner.account=Propri\u00E9taire -label.owner.domain=Propri\u00E9taire +label.owned.public.ips=Adresses IP Publiques d\u00e9tenues +label.owner.account=Propri\u00e9taire +label.owner.domain=Propri\u00e9taire label.parent.domain=Parent du Domaine +label.password.enabled=Mot de passe activ\u00e9 label.password=Mot de passe -label.password.enabled=Mot de passe activ\u00E9 label.path=Chemin -label.perfect.forward.secrecy=Confidentialit\u00E9 persistante -label.physical.network=R\u00E9seau physique -label.physical.network.ID=Identifiant du r\u00E9seau physique +label.perfect.forward.secrecy=Confidentialit\u00e9 persistante +label.physical.network.ID=Identifiant du r\u00e9seau physique +label.physical.network=R\u00e9seau physique +label.PING.CIFS.password=Mot de passe CIFS PING +label.PING.CIFS.username=Identifiant CIFS PING +label.PING.dir=R\u00e9pertoire PING +label.PING.storage.IP=IP stockage PING label.please.specify.netscaler.info=Renseigner les informations sur le Netscaler label.please.wait=Patientez s\\'il vous plait -label.pod=Pod label.pod.name=Nom du pod +label.pod=Pod label.pods=Pods +label.port.forwarding.policies=R\u00e8gles de transfert de port label.port.forwarding=Redirection de port -label.port.forwarding.policies=R\u00E8gles de transfert de port label.port.range=Plage de ports -label.prev=Pr\u00E9c\u00E9dent +label.PreSetup=PreSetup label.previous=Retour -label.primary.allocated=Stockage principal allou\u00E9 -label.primary.network=R\u00E9seau principal -label.primary.storage=Premier stockage +label.prev=Pr\u00e9c\u00e9dent +label.primary.allocated=Stockage principal allou\u00e9 +label.primary.network=R\u00e9seau principal label.primary.storage.count=Groupes de stockage principal -label.primary.used=Stockage principal utilis\u00E9 -label.private.Gateway=Passerelle priv\u00E9e -label.private.interface=Interface priv\u00E9e -label.private.ip=Adresse IP Priv\u00E9e -label.private.ip.range=Plage d\\'adresses IP Priv\u00E9es -label.private.ips=Adresses IP Priv\u00E9es -label.private.network=R\u00E9seau priv\u00E9 -label.private.port=Port priv\u00E9 -label.private.zone=Zone Priv\u00E9e -label.privatekey=Cl\u00E9 priv\u00E9e PKCS\#8 -label.project=Projet +label.primary.storage=Premier stockage +label.primary.used=Stockage principal utilis\u00e9 +label.private.Gateway=Passerelle priv\u00e9e +label.private.interface=Interface priv\u00e9e +label.private.ip=Adresse IP Priv\u00e9e +label.private.ip.range=Plage d\\'adresses IP Priv\u00e9es +label.private.ips=Adresses IP Priv\u00e9es +label.privatekey=Cl\u00e9 priv\u00e9e PKCS\#8 +label.private.network=R\u00e9seau priv\u00e9 +label.private.port=Port priv\u00e9 +label.private.zone=Zone Priv\u00e9e label.project.dashboard=Tableau de bord projet label.project.id=ID projet label.project.invite=Inviter sur le projet label.project.name=Nom du projet -label.project.view=Vue projet +label.project=Projet label.projects=Projets +label.project.view=Vue projet label.protocol=Protocole label.providers=Fournisseurs -label.public=Publique label.public.interface=Interface publique label.public.ip=Adresse IP publique label.public.ips=Adresses IP publiques -label.public.network=R\u00E9seau public +label.public.network=R\u00e9seau public label.public.port=Port public +label.public=Publique label.public.traffic=Trafic public label.public.zone=Zone publique -label.purpose=R\u00F4le -label.quickview=Aper\u00E7u -label.reboot=Red\u00E9marrer -label.recent.errors=Erreurs r\u00E9centes -label.redundant.router=Routeur redondant +label.purpose=R\u00f4le +label.Pxe.server.type=Serveur PXE +label.quickview=Aper\u00e7u +label.reboot=Red\u00e9marrer +label.recent.errors=Erreurs r\u00e9centes label.redundant.router.capability=Router redondant -label.redundant.state=\u00C9tat de la redondance +label.redundant.router=Routeur redondant +label.redundant.state=\u00c9tat de la redondance label.refresh=Actualiser label.related=Connexes label.remind.later=Rappeler moi plus tard -label.remove.ACL=Supprimer une r\u00E8gle ACL -label.remove.egress.rule=Supprimer la r\u00E8gle sortante -label.remove.from.load.balancer=Supprimer l\\'instance du r\u00E9partiteur de charge -label.remove.ingress.rule=Supprimer la r\u00E8gle entrante +label.remove.ACL=Supprimer une r\u00e8gle ACL +label.remove.egress.rule=Supprimer la r\u00e8gle sortante +label.remove.from.load.balancer=Supprimer l\\'instance du r\u00e9partiteur de charge +label.remove.ingress.rule=Supprimer la r\u00e8gle entrante label.remove.ip.range=Supprimer la plage IP -label.remove.pf=Supprimer la r\u00E8gle de transfert de port +label.remove.pf=Supprimer la r\u00e8gle de transfert de port label.remove.project.account=Supprimer le compte projet -label.remove.rule=Supprimer la r\u00E8gle +label.remove.rule=Supprimer la r\u00e8gle label.remove.static.nat.rule=Supprimer le NAT statique label.remove.static.route=Supprimer une route statique label.remove.tier=Supprimer le tiers -label.remove.vm.from.lb=Supprimer la VM de la r\u00E8gle de r\u00E9partition de charge +label.remove.vm.from.lb=Supprimer la VM de la r\u00e8gle de r\u00e9partition de charge label.remove.vpc=Supprimer le VPC label.removing=Suppression label.removing.user=Retrait de l\\'utilisateur label.required=Requis -label.reserved.system.gateway=Passerelle r\u00E9serv\u00E9e Syst\u00E8me -label.reserved.system.ip=Adresse IP Syst\u00E8me r\u00E9serv\u00E9e -label.reserved.system.netmask=Masque de sous-r\u00E9seau r\u00E9serv\u00E9 Syst\u00E8me -label.reset.VPN.connection=R\u00E9-initialiser la connexion VPN +label.reserved.system.gateway=Passerelle r\u00e9serv\u00e9e Syst\u00e8me +label.reserved.system.ip=Adresse IP Syst\u00e8me r\u00e9serv\u00e9e +label.reserved.system.netmask=Masque de sous-r\u00e9seau r\u00e9serv\u00e9 Syst\u00e8me +label.reset.VPN.connection=R\u00e9-initialiser la connexion VPN label.resize.new.offering.id=Nouvelle Offre label.resize.new.size=Nouvelle Taille (Go) -label.resize.shrink.ok=R\u00E9duction OK -label.resource=Ressource +label.resize.shrink.ok=R\u00e9duction OK label.resource.limits=Limite des ressources -label.resource.state=\u00C9tat des ressources +label.resource=Ressource label.resources=Ressources -label.restart.network=Red\u00E9marrage du r\u00E9seau -label.restart.required=Red\u00E9marrage n\u00E9cessaire -label.restart.vpc=Red\u00E9marrer le VPC +label.resource.state=\u00c9tat des ressources +label.restart.network=Red\u00e9marrage du r\u00e9seau +label.restart.required=Red\u00e9marrage n\u00e9cessaire +label.restart.vpc=Red\u00e9marrer le VPC label.restore=Restaurer label.review=Revoir -label.revoke.project.invite=R\u00E9voquer l\\'invitation -label.role=R\u00F4le -label.root.disk.controller=Contr\u00F4leur de disque principal +label.revoke.project.invite=R\u00e9voquer l\\'invitation +label.role=R\u00f4le +label.root.disk.controller=Contr\u00f4leur de disque principal label.root.disk.offering=Offre de disque racine -label.round.robin=Al\u00E9atoire -label.rules=R\u00E8gles +label.round.robin=Al\u00e9atoire +label.rules=R\u00e8gles label.running.vms=VMs actives -label.s3.access_key=Cl\u00E9 d\\'Acc\u00E8s +label.s3.access_key=Cl\u00e9 d\\'Acc\u00e8s label.s3.bucket=Seau -label.s3.connection_timeout=D\u00E9lai d\\'expiration de connexion +label.s3.connection_timeout=D\u00e9lai d\\'expiration de connexion label.s3.endpoint=Terminaison label.s3.max_error_retry=Nombre d\\'essai en erreur max. -label.s3.secret_key=Cl\u00E9 Priv\u00E9e -label.s3.socket_timeout=D\u00E9lai d\\'expiration de la socket +label.s3.secret_key=Cl\u00e9 Priv\u00e9e +label.s3.socket_timeout=D\u00e9lai d\\'expiration de la socket label.s3.use_https=Utiliser HTTPS label.saturday=Samedi -label.save=Sauvegarder label.save.and.continue=Enregistrer et continuer +label.save=Sauvegarder label.saving.processing=Sauvegarde en cours... -label.scope=Port\u00E9e +label.scope=Port\u00e9e label.search=Rechercher -label.secondary.storage=Stockage secondaire label.secondary.storage.count=Groupes de stockage secondaire +label.secondary.storage=Stockage secondaire label.secondary.storage.vm=VM stockage secondaire -label.secondary.used=Stockage secondaire utilis\u00E9 -label.secret.key=Cl\u00E9 priv\u00E9e -label.security.group=Groupe de s\u00E9curit\u00E9 -label.security.group.name=Nom du groupe de s\u00E9curit\u00E9 -label.security.groups=Groupes de s\u00E9curit\u00E9 -label.security.groups.enabled=Groupes de s\u00E9curit\u00E9 Activ\u00E9s -label.select=S\u00E9lectionner -label.select-view=S\u00E9lectionner la vue -label.select.a.template=S\u00E9lectionner un mod\u00E8le -label.select.a.zone=S\u00E9lectionner une zone -label.select.instance=S\u00E9lectionner une instance -label.select.instance.to.attach.volume.to=S\u00E9lectionner l\\'instance \u00E0 laquelle rattacher ce volume -label.select.iso.or.template=S\u00E9lectionner un ISO ou un mod\u00E8le -label.select.offering=S\u00E9lectionner une offre -label.select.project=S\u00E9lectionner un projet -label.select.tier=S\u00E9lectionner le tiers -label.select.vm.for.static.nat=S\u00E9lectionner une VM pour le NAT statique -label.sent=Envoy\u00E9 +label.secondary.used=Stockage secondaire utilis\u00e9 +label.secret.key=Cl\u00e9 priv\u00e9e +label.security.group=Groupe de s\u00e9curit\u00e9 +label.security.group.name=Nom du groupe de s\u00e9curit\u00e9 +label.security.groups.enabled=Groupes de s\u00e9curit\u00e9 Activ\u00e9s +label.security.groups=Groupes de s\u00e9curit\u00e9 +label.select.a.template=S\u00e9lectionner un mod\u00e8le +label.select.a.zone=S\u00e9lectionner une zone +label.select.instance=S\u00e9lectionner une instance +label.select.instance.to.attach.volume.to=S\u00e9lectionner l\\'instance \u00e0 laquelle rattacher ce volume +label.select.iso.or.template=S\u00e9lectionner un ISO ou un mod\u00e8le +label.select.offering=S\u00e9lectionner une offre +label.select.project=S\u00e9lectionner un projet +label.select=S\u00e9lectionner +label.select.tier=S\u00e9lectionner le tiers +label.select-view=S\u00e9lectionner la vue +label.select.vm.for.static.nat=S\u00e9lectionner une VM pour le NAT statique +label.sent=Envoy\u00e9 label.server=Serveur label.service.capabilities=Fonctions disponibles label.service.offering=Offre de Service -label.session.expired=Session expir\u00E9e -label.set.up.zone.type=Configurer le type de zone +label.session.expired=Session expir\u00e9e label.setup=Configuration -label.setup.network=Configurer le r\u00E9seau +label.setup.network=Configurer le r\u00e9seau label.setup.zone=Configurer la zone +label.set.up.zone.type=Configurer le type de zone label.shared=En partage -label.show.ingress.rule=Montrer la r\u00E8gle d\\'entr\u00E9e -label.shutdown.provider=\u00C9teindre ce fournisseur -label.site.to.site.VPN=VPN Site-\u00E0-Site +label.SharedMountPoint=Point de montage partag\u00e9 +label.show.ingress.rule=Montrer la r\u00e8gle d\\'entr\u00e9e +label.shutdown.provider=\u00c9teindre ce fournisseur +label.site.to.site.VPN=VPN Site-\u00e0-Site label.size=Taille -label.skip.guide=J\\'ai d\u00E9j\u00E0 utilis\u00E9 CloudStack avant, passer ce tutoriel -label.snapshot=Instantan\u00E9 -label.snapshot.limits=Limites d\\'instantan\u00E9s -label.snapshot.name=Nom Instantan\u00E9 -label.snapshot.s=Instantan\u00E9(s) -label.snapshot.schedule=Configurer un instantan\u00E9 r\u00E9current -label.snapshots=Instantan\u00E9s -label.source=Origine +label.skip.guide=J\\'ai d\u00e9j\u00e0 utilis\u00e9 CloudStack avant, passer ce tutoriel +label.snapshot=Instantan\u00e9 +label.snapshot.limits=Limites d\\'instantan\u00e9s +label.snapshot.name=Nom Instantan\u00e9 +label.snapshot.schedule=Configurer un instantan\u00e9 r\u00e9current +label.snapshot.s=Instantan\u00e9(s) +label.snapshots=Instantan\u00e9s label.source.nat=NAT Source -label.specify.IP.ranges=Sp\u00E9cifier des plages IP -label.specify.vlan=Pr\u00E9ciser le VLAN +label.source=Origine +label.specify.IP.ranges=Sp\u00e9cifier des plages IP +label.specify.vlan=Pr\u00e9ciser le VLAN +label.SR.name=Nom du point de montage label.srx=SRX -label.start.IP=Plage de d\u00E9but IP -label.start.port=Port de d\u00E9but -label.start.reserved.system.IP=Adresse IP de d\u00E9but r\u00E9serv\u00E9e Syst\u00E8me -label.start.vlan=VLAN de d\u00E9part -label.state=\u00C9tat +label.start.IP=Plage de d\u00e9but IP +label.start.port=Port de d\u00e9but +label.start.reserved.system.IP=Adresse IP de d\u00e9but r\u00e9serv\u00e9e Syst\u00e8me +label.start.vlan=VLAN de d\u00e9part +label.state=\u00c9tat +label.static.nat.enabled=NAT statique activ\u00e9 label.static.nat=NAT Statique -label.static.nat.enabled=NAT statique activ\u00E9 label.static.nat.to=NAT Statique vers -label.static.nat.vm.details=D\u00E9tails des NAT statique VM +label.static.nat.vm.details=D\u00e9tails des NAT statique VM label.statistics=Statistiques label.status=Statut -label.step.1=\u00C9tape 1 -label.step.1.title=\u00C9tape 1 \: S\u00E9lectionnez un mod\u00E8le -label.step.2=\u00C9tape 2 -label.step.2.title=\u00C9tape 2 \: Offre de Service -label.step.3=\u00C9tape 3 -label.step.3.title=\u00C9tape 3 \: S\u00E9lectionnez une offre de service -label.step.4=\u00C9tape 4 -label.step.4.title=\u00C9tape 4 \: R\u00E9seau -label.step.5=\u00C9tape 5 -label.step.5.title=\u00C9tape 5 \: V\u00E9rification -label.stickiness=Fid\u00E9lit\u00E9 +label.step.1.title=\u00c9tape 1 \: S\u00e9lectionnez un mod\u00e8le +label.step.1=\u00c9tape 1 +label.step.2.title=\u00c9tape 2 \: Offre de Service +label.step.2=\u00c9tape 2 +label.step.3.title=\u00c9tape 3 \: S\u00e9lectionnez une offre de service +label.step.3=\u00c9tape 3 +label.step.4.title=\u00c9tape 4 \: R\u00e9seau +label.step.4=\u00c9tape 4 +label.step.5.title=\u00c9tape 5 \: V\u00e9rification +label.step.5=\u00c9tape 5 +label.stickiness=Fid\u00e9lit\u00e9 label.sticky.cookie-name=Nom du cookie label.sticky.domain=Domaine label.sticky.expire=Expiration @@ -997,127 +990,134 @@ label.sticky.indirect=Indirect label.sticky.length=Longueur label.sticky.mode=Mode label.sticky.nocache=Pas de cache -label.sticky.postonly=Apr\u00E8s seulement -label.sticky.prefix=Pr\u00E9fixe -label.sticky.request-learn=Apprendre la requ\u00EAte +label.sticky.postonly=Apr\u00e8s seulement +label.sticky.prefix=Pr\u00e9fixe +label.sticky.request-learn=Apprendre la requ\u00eate label.sticky.tablesize=Taille du tableau -label.stop=Arr\u00EAter -label.stopped.vms=VMs arr\u00EAt\u00E9es +label.stop=Arr\u00eater +label.stopped.vms=VMs arr\u00eat\u00e9es label.storage=Stockage -label.storage.tags=\u00C9tiquettes de stockage +label.storage.tags=\u00c9tiquettes de stockage label.storage.traffic=Trafic stockage label.storage.type=Type de stockage -label.subdomain.access=Acc\u00E8s sous-domaine +label.subdomain.access=Acc\u00e8s sous-domaine label.submit=Envoyer label.submitted.by=[Soumis par \: ] -label.succeeded=R\u00E9ussi +label.succeeded=R\u00e9ussi label.sunday=Dimanche -label.super.cidr.for.guest.networks=Super CIDR pour les r\u00E9seaux invit\u00E9s -label.supported.services=Services support\u00E9s -label.supported.source.NAT.type=Type de NAT support\u00E9 +label.super.cidr.for.guest.networks=Super CIDR pour les r\u00e9seaux invit\u00e9s +label.supported.services=Services support\u00e9s +label.supported.source.NAT.type=Type de NAT support\u00e9 label.suspend.project=Suspendre projet -label.system.capacity=Capacit\u00E9 syst\u00E8me -label.system.offering=Offre de syst\u00E8me -label.system.service.offering=Offre de Service Syst\u00E8me -label.system.vm=VM Syst\u00E8me -label.system.vm.type=Type de VM syst\u00E8me -label.system.vms=\ VMs Syst\u00E8mes -label.system.wide.capacity=Capacit\u00E9 globale -label.tagged=\u00C9tiquet\u00E9 -label.tags=\u00C9tiquette +label.system.capacity=Capacit\u00e9 syst\u00e8me +label.system.offering=Offre de syst\u00e8me +label.system.service.offering=Offre de Service Syst\u00e8me +label.system.vms=\ VMs Syst\u00e8mes +label.system.vm.type=Type de VM syst\u00e8me +label.system.vm=VM Syst\u00e8me +label.system.wide.capacity=Capacit\u00e9 globale +label.tagged=\u00c9tiquet\u00e9 +label.tags=\u00c9tiquette label.target.iqn=Cible IQN -label.task.completed=T\u00E2che termin\u00E9e -label.template=Mod\u00E8le -label.template.limits=Limites de mod\u00E8le -label.theme.default=Th\u00E8me par d\u00E9faut -label.theme.grey=Personnalis\u00E9 - Gris -label.theme.lightblue=Personnalis\u00E9 - Bleu clair +label.task.completed=T\u00e2che termin\u00e9e +label.template.limits=Limites de mod\u00e8le +label.template=Mod\u00e8le +label.TFTP.dir=R\u00e9pertoire TFTP +label.theme.default=Th\u00e8me par d\u00e9faut +label.theme.grey=Personnalis\u00e9 - Gris +label.theme.lightblue=Personnalis\u00e9 - Bleu clair label.thursday=Jeudi +label.tier.details=D\u00e9tails du tiers label.tier=Tiers -label.tier.details=D\u00E9tails du tiers +label.timeout=D\u00e9lai d\\'expiration +label.timeout.in.second=D\u00e9lai d\\'expiration (secondes) label.time=Temps label.time.zone=Fuseau horaire -label.timeout=D\u00E9lai d\\'expiration -label.timeout.in.second=D\u00E9lai d\\'expiration (secondes) label.timezone=Fuseau horaire label.token=Jeton unique -label.total.CPU=Capacit\u00E9 totale en CPU -label.total.cpu=Capacit\u00E9 Totale en CPU -label.total.hosts=Total H\u00F4tes -label.total.memory=Total m\u00E9moire +label.total.cpu=Capacit\u00e9 Totale en CPU +label.total.CPU=Capacit\u00e9 totale en CPU +label.total.hosts=Total H\u00f4tes +label.total.memory=Total m\u00e9moire label.total.of.ip=Total adresses IP label.total.of.vm=Total VM label.total.storage=Total stockage label.total.vms=Nombre total de VMs -label.traffic.label=Libell\u00E9 de trafic -label.traffic.type=Type de Trafic +label.traffic.label=Libell\u00e9 de trafic label.traffic.types=Types de trafic +label.traffic.type=Type de Trafic label.tuesday=Mardi -label.type=Type label.type.id=ID du Type +label.type=Type label.unavailable=Indisponible -label.unlimited=Illimit\u00E9 -label.untagged=Non Tagg\u00E9 -label.update.project.resources=Mettre \u00E0 jour les ressources du projet -label.update.ssl=Certificat SSL +label.unlimited=Illimit\u00e9 +label.untagged=Non Tagg\u00e9 +label.update.project.resources=Mettre \u00e0 jour les ressources du projet label.update.ssl.cert=Certificat SSL -label.updating=Mise \u00E0 jour +label.update.ssl=Certificat SSL +label.updating=Mise \u00e0 jour label.upload=Charger label.upload.volume=Charger un volume label.url=URL label.usage.interface=Interface Utilisation -label.used=Utilis\u00E9 -label.user=Utilisateur +label.used=Utilis\u00e9 label.username=Nom d\\'Utilisateur label.users=Utilisateurs +label.user=Utilisateur label.value=Valeur label.vcdcname=Nom du DC vCenter label.vcenter.cluster=Cluster vCenter label.vcenter.datacenter=Datacenter vCenter label.vcenter.datastore=Datastore vCenter -label.vcenter.host=H\u00F4te vCenter +label.vcenter.host=H\u00f4te vCenter label.vcenter.password=Mot de passe vCenter label.vcenter.username=Nom d\\'utilisateur vCenter label.vcipaddress=Adresse IP vCenter label.version=Version -label.view=Voir label.view.all=Voir tout label.view.console=Voir la console -label.view.more=Voir plus label.viewing=Consultation en cours +label.view.more=Voir plus +label.view=Voir label.virtual.appliance=Appliance Virtuelle label.virtual.appliances=Appliances Virtuelles label.virtual.machines=Machines virtuelles -label.virtual.network=R\u00E9seau virtuel +label.virtual.network=R\u00e9seau virtuel label.virtual.router=Routeur Virtuel label.virtual.routers=Routeurs virtuels -label.vlan=VLAN label.vlan.id=ID du VLAN label.vlan.range=Plage du VLAN +label.vlan=VLAN label.vm.add=Ajouter une instance -label.vm.destroy=D\u00E9truire +label.vm.destroy=D\u00e9truire label.vm.display.name=Nom commun VM -label.vm.name=Nom de la VM -label.vm.reboot=Red\u00E9marrer -label.vm.start=D\u00E9marrer -label.vm.state=\u00C9tat VM -label.vm.stop=Arr\u00EAter +label.VMFS.datastore=Magasin de donn\u00e9es VMFS label.vmfs=VMFS +label.vm.name=Nom de la VM +label.vm.reboot=Red\u00e9marrer +label.VMs.in.tier=Machines virtuelles dans le tiers +label.vm.start=D\u00e9marrer +label.vm.state=\u00c9tat VM +label.vm.stop=Arr\u00eater label.vms=VMs -label.vmware.traffic.label=Libell\u00E9 pour le trafic VMware +label.vmware.traffic.label=Libell\u00e9 pour le trafic VMware label.volgroup=Groupe de Volume -label.volume=Volume label.volume.limits=Limites des volumes label.volume.name=Nom du volume label.volumes=Volumes -label.vpc=VPC +label.volume=Volume label.vpc.id=ID VPC -label.vpn=VPN +label.VPC.router.details=D\u00e9tails routeur VPC +label.vpc=VPC +label.VPN.connection=Connexion VPN label.vpn.customer.gateway=Passerelle VPN client -label.vsmctrlvlanid=\ ID VLAN Contr\u00F4le +label.VPN.customer.gateway=Passerelle VPN client +label.VPN.gateway=Passerelle VPN +label.vpn=VPN +label.vsmctrlvlanid=\ ID VLAN Contr\u00f4le label.vsmpktvlanid=ID VLAN Paquet label.vsmstoragevlanid=VLAN ID Stockage -label.vsphere.managed=G\u00E9r\u00E9e par vSphere +label.vsphere.managed=G\u00e9r\u00e9e par vSphere label.waiting=En attente label.warn=Avertissement label.wednesday=Mercredi @@ -1125,353 +1125,353 @@ label.weekly=Hebdomadaire label.welcome=Bienvenue label.welcome.cloud.console=Bienvenue dans la Console d\\'Administration label.what.is.cloudstack=Qu\\'est-ce-que CloudStack&\#8482; ? -label.xen.traffic.label=Libell\u00E9 pour le trafic XenServer +label.xen.traffic.label=Libell\u00e9 pour le trafic XenServer label.yes=Oui -label.zone=Zone -label.zone.details=D\u00E9tails de la zone +label.zone.details=D\u00e9tails de la zone label.zone.id=ID de la zone label.zone.name=Nom de zone -label.zone.step.1.title=\u00C9tape 1 \: S\u00E9lectionnez un r\u00E9seau -label.zone.step.2.title=\u00C9tape 2 \: Ajoutez une zone -label.zone.step.3.title=\u00C9tape 3 \: Ajoutez un Pod -label.zone.step.4.title=\u00C9tape 4 \: Ajoutez une plage d\\'adresses IP -label.zone.type=Type de zone -label.zone.wide=Transverse \u00E0 la zone -label.zoneWizard.trafficType.guest=Invit\u00E9 \: Trafic entre les machines virtuelles utilisateurs -label.zoneWizard.trafficType.management=Administration \: Trafic entre les ressources internes de CloudStack, incluant tous les composants qui communiquent avec le serveur d\\'administration, tels que les h\u00F4tes and les machines virtuelles Syst\u00E8mes CloudStack -label.zoneWizard.trafficType.public=Public \: Trafic entre Internet et les machines virtuelles dans le nuage -label.zoneWizard.trafficType.storage=Stockage \: Trafic entre les serveurs de stockages principaux et secondaires, tel que le transfert de machines virtuelles mod\u00E8les et des instantan\u00E9s de disques +label.zone.step.1.title=\u00c9tape 1 \: S\u00e9lectionnez un r\u00e9seau +label.zone.step.2.title=\u00c9tape 2 \: Ajoutez une zone +label.zone.step.3.title=\u00c9tape 3 \: Ajoutez un Pod +label.zone.step.4.title=\u00c9tape 4 \: Ajoutez une plage d\\'adresses IP label.zones=Zones -managed.state=\u00C9tat de la gestion -message.Zone.creation.complete=Cr\u00E9ation de la zone termin\u00E9e -message.acquire.new.ip=Confirmer l\\'acquisition d\\'une nouvelle adresse IP pour ce r\u00E9seau. +label.zone.type=Type de zone +label.zone.wide=Transverse \u00e0 la zone +label.zoneWizard.trafficType.guest=Invit\u00e9 \: Trafic entre les machines virtuelles utilisateurs +label.zoneWizard.trafficType.management=Administration \: Trafic entre les ressources internes de CloudStack, incluant tous les composants qui communiquent avec le serveur d\\'administration, tels que les h\u00f4tes and les machines virtuelles Syst\u00e8mes CloudStack +label.zoneWizard.trafficType.public=Public \: Trafic entre Internet et les machines virtuelles dans le nuage +label.zoneWizard.trafficType.storage=Stockage \: Trafic entre les serveurs de stockages principaux et secondaires, tel que le transfert de machines virtuelles mod\u00e8les et des instantan\u00e9s de disques +label.zone=Zone +managed.state=\u00c9tat de la gestion +message.acquire.new.ip=Confirmer l\\'acquisition d\\'une nouvelle adresse IP pour ce r\u00e9seau. message.acquire.new.ip.vpc=Veuillez confirmer que vous voulez une nouvelle adresse IP pour ce VPC -message.acquire.public.ip=S\u00E9lectionnez la zone dans laquelle vous voulez acqu\u00E9rir votre nouvelle adresse IP. -message.action.cancel.maintenance=Votre h\u00F4te a quitt\u00E9 la maintenance. Ce processus peut prendre jusqu\\'\u00E0 plusieurs minutes. +message.acquire.public.ip=S\u00e9lectionnez la zone dans laquelle vous voulez acqu\u00e9rir votre nouvelle adresse IP. message.action.cancel.maintenance.mode=Confirmer l\\'annulation de cette maintenance. -message.action.change.service.warning.for.instance=Votre instance doit \u00EAtre arr\u00EAt\u00E9e avant d\\'essayer de changer son offre de service. -message.action.change.service.warning.for.router=Votre routeur doit \u00EAtre arr\u00EAt\u00E9 avant d\\'essayer de changer son offre de service. -message.action.delete.ISO=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette ISO. -message.action.delete.ISO.for.all.zones=L\\'ISO est utilis\u00E9 par toutes les zones. S\\'il vous pla\u00EEt confirmer que vous voulez le supprimer de toutes les zones. -message.action.delete.cluster=\u00CAtes-vous s\u00FBr que vous voulez supprimer ce cluster. -message.action.delete.disk.offering=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette offre de disque. -message.action.delete.domain=\u00CAtes-vous s\u00FBr que vous voulez supprimer ce domaine. -message.action.delete.external.firewall=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce pare-feu externe. Attention \: Si vous pr\u00E9voyez de rajouter le m\u00EAme pare-feu externe de nouveau, vous devez r\u00E9-initialiser les donn\u00E9es d\\'utilisation sur l\\'appareil. -message.action.delete.external.load.balancer=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce r\u00E9partiteur de charge externe. Attention \: Si vous pensez ajouter le m\u00EAme r\u00E9partiteur de charge plus tard, vous devez remettre \u00E0 z\u00E9ro les statistiques d\\'utilisation de cet \u00E9quipement. -message.action.delete.ingress.rule=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette r\u00E8gle d\\'entr\u00E9e. -message.action.delete.network=\u00CAtes-vous s\u00FBr que vous voulez supprimer ce r\u00E9seau. +message.action.cancel.maintenance=Votre h\u00f4te a quitt\u00e9 la maintenance. Ce processus peut prendre jusqu\\'\u00e0 plusieurs minutes. +message.action.change.service.warning.for.instance=Votre instance doit \u00eatre arr\u00eat\u00e9e avant d\\'essayer de changer son offre de service. +message.action.change.service.warning.for.router=Votre routeur doit \u00eatre arr\u00eat\u00e9 avant d\\'essayer de changer son offre de service. +message.action.delete.cluster=\u00cates-vous s\u00fbr que vous voulez supprimer ce cluster. +message.action.delete.disk.offering=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette offre de disque. +message.action.delete.domain=\u00cates-vous s\u00fbr que vous voulez supprimer ce domaine. +message.action.delete.external.firewall=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce pare-feu externe. Attention \: Si vous pr\u00e9voyez de rajouter le m\u00eame pare-feu externe de nouveau, vous devez r\u00e9-initialiser les donn\u00e9es d\\'utilisation sur l\\'appareil. +message.action.delete.external.load.balancer=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce r\u00e9partiteur de charge externe. Attention \: Si vous pensez ajouter le m\u00eame r\u00e9partiteur de charge plus tard, vous devez remettre \u00e0 z\u00e9ro les statistiques d\\'utilisation de cet \u00e9quipement. +message.action.delete.ingress.rule=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette r\u00e8gle d\\'entr\u00e9e. +message.action.delete.ISO.for.all.zones=L\\'ISO est utilis\u00e9 par toutes les zones. S\\'il vous pla\u00eet confirmer que vous voulez le supprimer de toutes les zones. +message.action.delete.ISO=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette ISO. +message.action.delete.network=\u00cates-vous s\u00fbr que vous voulez supprimer ce r\u00e9seau. message.action.delete.nexusVswitch=Confirmer la suppession de ce Nexus 1000v -message.action.delete.physical.network=Confirmer la suppression du r\u00E9seau physique -message.action.delete.pod=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce pod. -message.action.delete.primary.storage=\u00CAtes-vous s\u00FBr que vous voulez supprimer ce stockage principal. -message.action.delete.secondary.storage=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce stockage secondaire. -message.action.delete.security.group=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce groupe de s\u00E9curit\u00E9. -message.action.delete.service.offering=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette offre de service. -message.action.delete.snapshot=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cet instantan\u00E9 -message.action.delete.system.service.offering=\u00CAtes-vous s\u00FBr que vous voulez supprimer l\\'offre syst\u00E8me. -message.action.delete.template=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce mod\u00E8le. -message.action.delete.template.for.all.zones=Ce mod\u00E8le est utilis\u00E9 par toutes les zones. \u00CAtes-vous s\u00FBr que vous souhaitez le supprimer de toutes les zones. -message.action.delete.volume=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce volume. -message.action.delete.zone=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette zone. -message.action.destroy.instance=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette instance. -message.action.destroy.systemvm=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer cette VM Syst\u00E8me. -message.action.disable.cluster=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9sactiver ce cluster -message.action.disable.nexusVswitch=Confirmer la d\u00E9sactivation de ce Nexus 1000v -message.action.disable.physical.network=Confirmer l\\'activation de ce r\u00E9seau physique. -message.action.disable.pod=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9sactiver ce Pod -message.action.disable.static.NAT=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9sactiver le NAT statique. -message.action.disable.zone=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9sactiver cette zone -message.action.download.iso=Confirmer le t\u00E9l\u00E9chargement de cet ISO -message.action.download.template=Confirmer le t\u00E9l\u00E9chargement de ce mod\u00E8le -message.action.enable.cluster=\u00CAtes-vous s\u00FBr que vous souhaitez activer ce cluster -message.action.enable.maintenance=Votre h\u00F4te a \u00E9t\u00E9 mis en mode maintenance avec succ\u00E8s. Ce processus peut durer plusieurs minutes ou plus, suivant le nombre de VMs actives sur cet h\u00F4te. +message.action.delete.physical.network=Confirmer la suppression du r\u00e9seau physique +message.action.delete.pod=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce pod. +message.action.delete.primary.storage=\u00cates-vous s\u00fbr que vous voulez supprimer ce stockage principal. +message.action.delete.secondary.storage=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce stockage secondaire. +message.action.delete.security.group=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce groupe de s\u00e9curit\u00e9. +message.action.delete.service.offering=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette offre de service. +message.action.delete.snapshot=\u00cates-vous s\u00fbr que vous souhaitez supprimer cet instantan\u00e9 +message.action.delete.system.service.offering=\u00cates-vous s\u00fbr que vous voulez supprimer l\\'offre syst\u00e8me. +message.action.delete.template.for.all.zones=Ce mod\u00e8le est utilis\u00e9 par toutes les zones. \u00cates-vous s\u00fbr que vous souhaitez le supprimer de toutes les zones. +message.action.delete.template=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce mod\u00e8le. +message.action.delete.volume=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce volume. +message.action.delete.zone=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette zone. +message.action.destroy.instance=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette instance. +message.action.destroy.systemvm=\u00cates-vous s\u00fbr que vous souhaitez supprimer cette VM Syst\u00e8me. +message.action.disable.cluster=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9sactiver ce cluster +message.action.disable.nexusVswitch=Confirmer la d\u00e9sactivation de ce Nexus 1000v +message.action.disable.physical.network=Confirmer l\\'activation de ce r\u00e9seau physique. +message.action.disable.pod=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9sactiver ce Pod +message.action.disable.static.NAT=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9sactiver le NAT statique. +message.action.disable.zone=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9sactiver cette zone +message.action.download.iso=Confirmer le t\u00e9l\u00e9chargement de cet ISO +message.action.download.template=Confirmer le t\u00e9l\u00e9chargement de ce mod\u00e8le +message.action.enable.cluster=\u00cates-vous s\u00fbr que vous souhaitez activer ce cluster +message.action.enable.maintenance=Votre h\u00f4te a \u00e9t\u00e9 mis en mode maintenance avec succ\u00e8s. Ce processus peut durer plusieurs minutes ou plus, suivant le nombre de VMs actives sur cet h\u00f4te. message.action.enable.nexusVswitch=Confirmer l\\'activation de ce Nexus 1000v -message.action.enable.physical.network=Confirmer l\\'activation de ce r\u00E9seau physique. -message.action.enable.pod=\u00CAtes-vous s\u00FBr que vous souhaitez activer ce Pod -message.action.enable.zone=\u00CAtes-vous s\u00FBr que vous souhaitez activer cette zone -message.action.force.reconnect=Votre h\u00F4te a \u00E9t\u00E9 forc\u00E9e \u00E0 se reconnecter avec succ\u00E8s. Ce processus peut prendre jusqu\\'\u00E0 plusieurs minutes. -message.action.host.enable.maintenance.mode=Activer le mode maintenance va causer la migration \u00E0 chaud de l\\'ensemble des instances de cet h\u00F4te sur les autres h\u00F4tes disponibles. +message.action.enable.physical.network=Confirmer l\\'activation de ce r\u00e9seau physique. +message.action.enable.pod=\u00cates-vous s\u00fbr que vous souhaitez activer ce Pod +message.action.enable.zone=\u00cates-vous s\u00fbr que vous souhaitez activer cette zone +message.action.force.reconnect=Votre h\u00f4te a \u00e9t\u00e9 forc\u00e9e \u00e0 se reconnecter avec succ\u00e8s. Ce processus peut prendre jusqu\\'\u00e0 plusieurs minutes. +message.action.host.enable.maintenance.mode=Activer le mode maintenance va causer la migration \u00e0 chaud de l\\'ensemble des instances de cet h\u00f4te sur les autres h\u00f4tes disponibles. message.action.instance.reset.password=Confirmer le changement du mot de passe ROOT pour cette machine virtuelle. -message.action.manage.cluster=\u00CAtes-vous s\u00FBr que vous souhaitez g\u00E9rer le cluster -message.action.primarystorage.enable.maintenance.mode=Attention \: placer ce stockage principal en mode maintenance va provoquer l\\'arr\u00EAt de l\\'ensemble des VMs utilisant des volumes sur ce stockage. Souhaitez-vous continuer ? -message.action.reboot.instance=\u00CAtes-vous s\u00FBr que vous souhaitez red\u00E9marrer cette instance. -message.action.reboot.router=Tous les services fournit par ce routeur virtuel vont \u00EAtre interrompus. Confirmer le r\u00E9-amor\u00E7age de ce routeur. -message.action.reboot.systemvm=\u00CAtes-vous s\u00FBr que vous souhaitez red\u00E9marrer cette VM Syst\u00E8me -message.action.release.ip=\u00CAtes-vous s\u00FBr que vous souhaitez lib\u00E9rer cette IP. -message.action.remove.host=\u00CAtes-vous s\u00FBr que vous voulez supprimer cet h\u00F4te. -message.action.reset.password.off=Votre instance ne supporte pas pour le moment cette fonctionnalit\u00E9. -message.action.reset.password.warning=Votre instance doit \u00EAtre arr\u00EAt\u00E9e avant d\\'essayer de changer son mot de passe. -message.action.restore.instance=\u00CAtes-vous s\u00FBr que vous souhaitez restaurer cette instance. -message.action.start.instance=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9marrer cette instance. -message.action.start.router=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9marrer ce routeur. -message.action.start.systemvm=\u00CAtes-vous s\u00FBr que vous souhaitez red\u00E9marrer cette VM syst\u00E8me. -message.action.stop.instance=\u00CAtes-vous s\u00FBr que vous souhaitez arr\u00EAter cette instance. -message.action.stop.router=Tous les services fournit par ce routeur virtuel vont \u00EAtre interrompus. Confirmer l\\'arr\u00EAt de ce routeur. -message.action.stop.systemvm=\u00CAtes-vous s\u00FBr que vous souhaitez arr\u00EAter cette VM. -message.action.take.snapshot=Confirmer la prise d\\'un instantan\u00E9 pour ce volume. -message.action.unmanage.cluster=Confirmez que vous ne voulez plus g\u00E9rer le cluster -message.activate.project=\u00CAtes-vous s\u00FBr de vouloir activer ce projet ? -message.add.VPN.gateway=Confirmer l\\'ajout d\\'une passerelle VPN -message.add.cluster=Ajouter un cluster d\\'hyperviseurs g\u00E9r\u00E9 pour cette zone , pod -message.add.cluster.zone=Ajouter un cluster d\\'hyperviseurs g\u00E9r\u00E9 pour cette zone -message.add.disk.offering=Renseignez les param\u00E8tres suivants pour ajouter un offre de service de disques -message.add.domain=Sp\u00E9cifier le sous domaine que vous souhaitez cr\u00E9er sous ce domaine -message.add.firewall=Ajouter un pare-feu \u00E0 cette zone -message.add.guest.network=Confirmer l\\'ajout du r\u00E9seau invit\u00E9 -message.add.host=Renseignez les param\u00E8tres suivants pour ajouter une h\u00F4te -message.add.ip.range=Ajouter une plage IP pour le r\u00E9seau publique dans la zone -message.add.ip.range.direct.network=Ajouter une plage IP au r\u00E9seau direct dans la zone -message.add.ip.range.to.pod=

Ajouter une plage IP pour le pod\:

-message.add.load.balancer=Ajouter un r\u00E9partiteur de charge \u00E0 la zone -message.add.load.balancer.under.ip=La r\u00E8gle de r\u00E9partition de charge \u00E9t\u00E9 ajout\u00E9e sous l\\'adresse IP \: -message.add.network=Ajouter un nouveau r\u00E9seau \u00E0 la zone\: -message.add.new.gateway.to.vpc=Renseigner les informations suivantes pour ajouter une nouvelle passerelle pour ce VPC -message.add.pod=Ajouter un nouveau pod \u00E0 la zone -message.add.pod.during.zone.creation=Chaque zone doit contenir un ou plusieurs pods, et le premier pod sera ajout\u00E9 maintenant. Une pod contient les h\u00F4tes et les serveurs de stockage principal, qui seront ajout\u00E9s dans une \u00E9tape ult\u00E9rieure. Configurer une plage d\\'adresses IP r\u00E9serv\u00E9es pour le trafic de gestion interne de CloudStack. La plage d\\'IP r\u00E9serv\u00E9e doit \u00EAtre unique pour chaque zone dans le nuage. -message.add.primary=Renseignez les param\u00E8tres suivants pour ajouter un stockage principal -message.add.primary.storage=Ajouter un nouveau stockage principal \u00E0 la zone , pod -message.add.secondary.storage=Ajouter un nouveau stockage pour la zone -message.add.service.offering=Renseigner les informations suivantes pour ajouter une nouvelle offre de service de calcul. -message.add.system.service.offering=Ajouter les informations suivantes pour cr\u00E9er une nouvelle offre syst\u00E8me. -message.add.template=Renseignez les informations suivantes pour cr\u00E9er votre nouveau mod\u00E8le -message.add.volume=Renseignez les informations suivantes pour ajouter un nouveau volume +message.action.manage.cluster=\u00cates-vous s\u00fbr que vous souhaitez g\u00e9rer le cluster +message.action.primarystorage.enable.maintenance.mode=Attention \: placer ce stockage principal en mode maintenance va provoquer l\\'arr\u00eat de l\\'ensemble des VMs utilisant des volumes sur ce stockage. Souhaitez-vous continuer ? +message.action.reboot.instance=\u00cates-vous s\u00fbr que vous souhaitez red\u00e9marrer cette instance. +message.action.reboot.router=Tous les services fournit par ce routeur virtuel vont \u00eatre interrompus. Confirmer le r\u00e9-amor\u00e7age de ce routeur. +message.action.reboot.systemvm=\u00cates-vous s\u00fbr que vous souhaitez red\u00e9marrer cette VM Syst\u00e8me +message.action.release.ip=\u00cates-vous s\u00fbr que vous souhaitez lib\u00e9rer cette IP. +message.action.remove.host=\u00cates-vous s\u00fbr que vous voulez supprimer cet h\u00f4te. +message.action.reset.password.off=Votre instance ne supporte pas pour le moment cette fonctionnalit\u00e9. +message.action.reset.password.warning=Votre instance doit \u00eatre arr\u00eat\u00e9e avant d\\'essayer de changer son mot de passe. +message.action.restore.instance=\u00cates-vous s\u00fbr que vous souhaitez restaurer cette instance. +message.action.start.instance=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9marrer cette instance. +message.action.start.router=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9marrer ce routeur. +message.action.start.systemvm=\u00cates-vous s\u00fbr que vous souhaitez red\u00e9marrer cette VM syst\u00e8me. +message.action.stop.instance=\u00cates-vous s\u00fbr que vous souhaitez arr\u00eater cette instance. +message.action.stop.router=Tous les services fournit par ce routeur virtuel vont \u00eatre interrompus. Confirmer l\\'arr\u00eat de ce routeur. +message.action.stop.systemvm=\u00cates-vous s\u00fbr que vous souhaitez arr\u00eater cette VM. +message.action.take.snapshot=Confirmer la prise d\\'un instantan\u00e9 pour ce volume. +message.action.unmanage.cluster=Confirmez que vous ne voulez plus g\u00e9rer le cluster +message.activate.project=\u00cates-vous s\u00fbr de vouloir activer ce projet ? +message.add.cluster=Ajouter un cluster d\\'hyperviseurs g\u00e9r\u00e9 pour cette zone , pod +message.add.cluster.zone=Ajouter un cluster d\\'hyperviseurs g\u00e9r\u00e9 pour cette zone +message.add.disk.offering=Renseignez les param\u00e8tres suivants pour ajouter un offre de service de disques +message.add.domain=Sp\u00e9cifier le sous domaine que vous souhaitez cr\u00e9er sous ce domaine +message.add.firewall=Ajouter un pare-feu \u00e0 cette zone +message.add.guest.network=Confirmer l\\'ajout du r\u00e9seau invit\u00e9 +message.add.host=Renseignez les param\u00e8tres suivants pour ajouter une h\u00f4te +message.adding.host=Ajout un h\u00f4te message.adding.Netscaler.device=Ajouter un Netscaler message.adding.Netscaler.provider=Ajouter un fournisseur Netscaler -message.adding.host=Ajout un h\u00F4te -message.additional.networks.desc=S\u00E9lectionnez le(s) r\u00E9seau(x) additionnel(s) au(x)quel(s) sera connect\u00E9e votre instance. -message.advanced.mode.desc=Choisissez ce mod\u00E8le de r\u00E9seau si vous souhaitez b\u00E9n\u00E9ficier du support des VLANs. Ce mode de r\u00E9seau donne le plus de flexibilit\u00E9 aux administrateurs pour fournir des offres de service r\u00E9seau personnalis\u00E9es comme fournir des pare-feux, VPN, r\u00E9partiteurs de charge ou \u00E9galement activer des r\u00E9seaux virtuels ou directs. -message.advanced.security.group=Choisissez ceci si vous souhaitez utiliser les groupes de s\u00E9curit\u00E9 pour fournir l\\'isolation des VMs invit\u00E9es. -message.advanced.virtual=Choisissez ceci si vous souhaitez utiliser des VLANs pour fournir l\\'isolation des VMs invit\u00E9es. -message.after.enable.s3=Le stockage secondaire S3 est configur\u00E9. Note \: Quand vous quitterez cette page, vous ne pourrez plus re-configurer le support S3. -message.after.enable.swift=Swift configur\u00E9. Remarque \: une fois que vous quitterez cette page, il ne sera plus possible de re-configurer Swift \u00E0 nouveau. -message.alert.state.detected=\u00C9tat d\\'alerte d\u00E9tect\u00E9 -message.allow.vpn.access=Entrez un nom d\\'utilisateur et un mot de passe pour l\\'utilisateur que vous souhaitez autoriser \u00E0 utiliser l\\'acc\u00E8s VPN. -message.apply.snapshot.policy=Vous avez mis \u00E0 jour votre politique d\\'instantan\u00E9s avec succ\u00E8s. -message.attach.iso.confirm=\u00CAtes-vous s\u00FBr que vous souhaitez attacher l\\'image ISO \u00E0 cette instance. -message.attach.volume=Renseignez les donn\u00E9es suivantes pour attacher un nouveau volume. Si vous attachez un volume disque \u00E0 une machine virtuelle sous Windows, vous aurez besoin de red\u00E9marrer l\\'instance pour voir le nouveau disque. -message.basic.mode.desc=Choisissez ce mod\u00E8le de r\u00E9seau si vous *ne voulez pas* activer le support des VLANs. Toutes les instances cr\u00E9\u00E9es avec ce mod\u00E8le de r\u00E9seau se verront assigner une adresse IP et les groupes de s\u00E9curit\u00E9 seront utilis\u00E9s pour fournir l\\'isolation entre les VMs. -message.change.offering.confirm=\u00CAtes-vous s\u00FBr que vous souhaitez changer l\\'offre de service de cette instance. +message.add.ip.range=Ajouter une plage IP pour le r\u00e9seau publique dans la zone +message.add.ip.range.direct.network=Ajouter une plage IP au r\u00e9seau direct dans la zone +message.add.ip.range.to.pod=

Ajouter une plage IP pour le pod\:

+message.additional.networks.desc=S\u00e9lectionnez le(s) r\u00e9seau(x) additionnel(s) au(x)quel(s) sera connect\u00e9e votre instance. +message.add.load.balancer=Ajouter un r\u00e9partiteur de charge \u00e0 la zone +message.add.load.balancer.under.ip=La r\u00e8gle de r\u00e9partition de charge \u00e9t\u00e9 ajout\u00e9e sous l\\'adresse IP \: +message.add.network=Ajouter un nouveau r\u00e9seau \u00e0 la zone\: +message.add.new.gateway.to.vpc=Renseigner les informations suivantes pour ajouter une nouvelle passerelle pour ce VPC +message.add.pod=Ajouter un nouveau pod \u00e0 la zone +message.add.pod.during.zone.creation=Chaque zone doit contenir un ou plusieurs pods, et le premier pod sera ajout\u00e9 maintenant. Une pod contient les h\u00f4tes et les serveurs de stockage principal, qui seront ajout\u00e9s dans une \u00e9tape ult\u00e9rieure. Configurer une plage d\\'adresses IP r\u00e9serv\u00e9es pour le trafic de gestion interne de CloudStack. La plage d\\'IP r\u00e9serv\u00e9e doit \u00eatre unique pour chaque zone dans le nuage. +message.add.primary=Renseignez les param\u00e8tres suivants pour ajouter un stockage principal +message.add.primary.storage=Ajouter un nouveau stockage principal \u00e0 la zone , pod +message.add.secondary.storage=Ajouter un nouveau stockage pour la zone +message.add.service.offering=Renseigner les informations suivantes pour ajouter une nouvelle offre de service de calcul. +message.add.system.service.offering=Ajouter les informations suivantes pour cr\u00e9er une nouvelle offre syst\u00e8me. +message.add.template=Renseignez les informations suivantes pour cr\u00e9er votre nouveau mod\u00e8le +message.add.volume=Renseignez les informations suivantes pour ajouter un nouveau volume +message.add.VPN.gateway=Confirmer l\\'ajout d\\'une passerelle VPN +message.advanced.mode.desc=Choisissez ce mod\u00e8le de r\u00e9seau si vous souhaitez b\u00e9n\u00e9ficier du support des VLANs. Ce mode de r\u00e9seau donne le plus de flexibilit\u00e9 aux administrateurs pour fournir des offres de service r\u00e9seau personnalis\u00e9es comme fournir des pare-feux, VPN, r\u00e9partiteurs de charge ou \u00e9galement activer des r\u00e9seaux virtuels ou directs. +message.advanced.security.group=Choisissez ceci si vous souhaitez utiliser les groupes de s\u00e9curit\u00e9 pour fournir l\\'isolation des VMs invit\u00e9es. +message.advanced.virtual=Choisissez ceci si vous souhaitez utiliser des VLANs pour fournir l\\'isolation des VMs invit\u00e9es. +message.after.enable.s3=Le stockage secondaire S3 est configur\u00e9. Note \: Quand vous quitterez cette page, vous ne pourrez plus re-configurer le support S3. +message.after.enable.swift=Swift configur\u00e9. Remarque \: une fois que vous quitterez cette page, il ne sera plus possible de re-configurer Swift \u00e0 nouveau. +message.alert.state.detected=\u00c9tat d\\'alerte d\u00e9tect\u00e9 +message.allow.vpn.access=Entrez un nom d\\'utilisateur et un mot de passe pour l\\'utilisateur que vous souhaitez autoriser \u00e0 utiliser l\\'acc\u00e8s VPN. +message.apply.snapshot.policy=Vous avez mis \u00e0 jour votre politique d\\'instantan\u00e9s avec succ\u00e8s. +message.attach.iso.confirm=\u00cates-vous s\u00fbr que vous souhaitez attacher l\\'image ISO \u00e0 cette instance. +message.attach.volume=Renseignez les donn\u00e9es suivantes pour attacher un nouveau volume. Si vous attachez un volume disque \u00e0 une machine virtuelle sous Windows, vous aurez besoin de red\u00e9marrer l\\'instance pour voir le nouveau disque. +message.basic.mode.desc=Choisissez ce mod\u00e8le de r\u00e9seau si vous *ne voulez pas* activer le support des VLANs. Toutes les instances cr\u00e9\u00e9es avec ce mod\u00e8le de r\u00e9seau se verront assigner une adresse IP et les groupes de s\u00e9curit\u00e9 seront utilis\u00e9s pour fournir l\\'isolation entre les VMs. +message.change.offering.confirm=\u00cates-vous s\u00fbr que vous souhaitez changer l\\'offre de service de cette instance. message.change.password=Merci de modifier votre mot de passe. -message.configure.all.traffic.types=Vous avez de multiples r\u00E9seaux physiques ; veuillez configurer les libell\u00E9s pour chaque type de trafic en cliquant sur le bouton Modifier. -message.configuring.guest.traffic=Configuration du r\u00E9seau VM -message.configuring.physical.networks=Configuration des r\u00E9seaux physiques -message.configuring.public.traffic=Configuration du r\u00E9seau public -message.configuring.storage.traffic=Configuration du r\u00E9seau de stockage -message.confirm.action.force.reconnect=Confirmer la re-connexion forc\u00E9e de cet h\u00F4te. +message.configure.all.traffic.types=Vous avez de multiples r\u00e9seaux physiques ; veuillez configurer les libell\u00e9s pour chaque type de trafic en cliquant sur le bouton Modifier. +message.configuring.guest.traffic=Configuration du r\u00e9seau VM +message.configuring.physical.networks=Configuration des r\u00e9seaux physiques +message.configuring.public.traffic=Configuration du r\u00e9seau public +message.configuring.storage.traffic=Configuration du r\u00e9seau de stockage +message.confirm.action.force.reconnect=Confirmer la re-connexion forc\u00e9e de cet h\u00f4te. message.confirm.delete.F5=Confirmer la suppression du F5 message.confirm.delete.NetScaler=Confirmer la suppression du Netscaler message.confirm.delete.SRX=Confirmer la suppression du SRX -message.confirm.destroy.router=\u00CAtes-vous s\u00FBr que vous voulez supprimer ce routeur -message.confirm.disable.provider=Confirmer la d\u00E9sactivation de ce fournisseur +message.confirm.destroy.router=\u00cates-vous s\u00fbr que vous voulez supprimer ce routeur +message.confirm.disable.provider=Confirmer la d\u00e9sactivation de ce fournisseur message.confirm.enable.provider=Confirmer l\\'activation de ce fournisseur -message.confirm.join.project=\u00CAtes-vous s\u00FBr que vous souhaitez rejoindre ce projet. -message.confirm.remove.IP.range=\u00CAtes-vous s\u00FBr que vous voulez supprimer cette plage d\\'adresses IP -message.confirm.shutdown.provider=Confirmer l\\'arr\u00EAt de ce fournisseur -message.copy.iso.confirm=\u00CAtes-vous s\u00FBr que vous souhaitez copier votre image ISO vers -message.copy.template=Copier le mod\u00E8le XXX de la zone vers -message.create.template=Voulez vous cr\u00E9er un mod\u00E8le ? -message.create.template.vm=Cr\u00E9er la VM depuis le mod\u00E8le -message.create.template.volume=Renseignez les informations suivantes avec de cr\u00E9er un mod\u00E8le \u00E0 partir de votre volume de disque\:. La cr\u00E9ation du mod\u00E8le peut prendre plusieurs minutes suivant la taille du volume. -message.creating.cluster=Cr\u00E9ation du cluster -message.creating.guest.network=Cr\u00E9ation du r\u00E9seau pour les invit\u00E9s -message.creating.physical.networks=Cr\u00E9ation des r\u00E9seaux physiques -message.creating.pod=Cr\u00E9ation d\\'un pod -message.creating.primary.storage=Cr\u00E9ation du stockage principal -message.creating.secondary.storage=Cr\u00E9ation du stockage secondaire -message.creating.zone=Cr\u00E9ation de la zone +message.confirm.join.project=\u00cates-vous s\u00fbr que vous souhaitez rejoindre ce projet. +message.confirm.remove.IP.range=\u00cates-vous s\u00fbr que vous voulez supprimer cette plage d\\'adresses IP +message.confirm.shutdown.provider=Confirmer l\\'arr\u00eat de ce fournisseur +message.copy.iso.confirm=\u00cates-vous s\u00fbr que vous souhaitez copier votre image ISO vers +message.copy.template=Copier le mod\u00e8le XXX de la zone vers +message.create.template.vm=Cr\u00e9er la VM depuis le mod\u00e8le +message.create.template.volume=Renseignez les informations suivantes avec de cr\u00e9er un mod\u00e8le \u00e0 partir de votre volume de disque\:. La cr\u00e9ation du mod\u00e8le peut prendre plusieurs minutes suivant la taille du volume. +message.create.template=Voulez vous cr\u00e9er un mod\u00e8le ? +message.creating.cluster=Cr\u00e9ation du cluster +message.creating.guest.network=Cr\u00e9ation du r\u00e9seau pour les invit\u00e9s +message.creating.physical.networks=Cr\u00e9ation des r\u00e9seaux physiques +message.creating.pod=Cr\u00e9ation d\\'un pod +message.creating.primary.storage=Cr\u00e9ation du stockage principal +message.creating.secondary.storage=Cr\u00e9ation du stockage secondaire +message.creating.zone=Cr\u00e9ation de la zone message.decline.invitation=Voulez-vous refuser cette invitation au projet ? -message.delete.VPN.connection=\u00CAtes-vous s\u00FBr que vous voulez supprimer la connexion VPN -message.delete.VPN.customer.gateway=\u00CAtes-vous s\u00FBr que vous voulez supprimer cette passerelle VPN client -message.delete.VPN.gateway=\u00CAtes-vous s\u00FBr que vous voulez supprimer cette passerelle VPN -message.delete.account=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer ce compte. -message.delete.gateway=\u00CAtes-vous s\u00FBr que vous voulez supprimer cette passerelle -message.delete.project=\u00CAtes-vous s\u00FBr de vouloir supprimer ce projet ? -message.delete.user=\u00CAtes-vous s\u00FBr que vous voulez supprimer cet utilisateur. -message.desc.advanced.zone=Pour des topologies de r\u00E9seau plus sophistiqu\u00E9es. Ce mod\u00E8le de r\u00E9seau permet plus de flexibilit\u00E9 dans la d\u00E9finition des r\u00E9seaux d\\'invit\u00E9s et propose des offres personnalis\u00E9es telles que le support de pare-feu, VPN ou d\\'\u00E9quilibrage de charge. -message.desc.basic.zone=Fournit un r\u00E9seau unique o\u00F9 chaque instance de machine virtuelle se voit attribuer une adresse IP directement depuis le r\u00E9seau. L\\'isolation des invit\u00E9s peut \u00EAtre assur\u00E9 au niveau de la couche r\u00E9seau-3 tels que les groupes de s\u00E9curit\u00E9 (filtrage d\\'adresse IP source). -message.desc.cluster=Chaque pod doit contenir un ou plusieurs clusters, et le premier cluster sera ajout\u00E9 tout de suite. Un cluster est un regroupement pour h\u00F4tes. Les h\u00F4tes d\\'un cluster ont tous un mat\u00E9riel identique, ex\u00E9cutent le m\u00EAme hyperviseur, sont dans le m\u00EAme sous-r\u00E9seau, et acc\u00E8dent au m\u00EAme stockage partag\u00E9. Chaque cluster comprend une ou plusieurs h\u00F4tes et un ou plusieurs serveurs de stockage principal. -message.desc.host=Chaque cluster doit contenir au moins un h\u00F4te (machine) pour ex\u00E9cuter des machines virtuelles invit\u00E9es, et le premier h\u00F4te sera ajout\u00E9 tout de suite. Pour un h\u00F4te fonctionnant dans CloudStack, vous devez installer un logiciel hyperviseur sur l\\'h\u00F4te, attribuer une adresse IP \u00E0 l\\'h\u00F4te, et s\\'assurer que l\\'h\u00F4te est connect\u00E9 au serveur d\\'administration CloudStack.

Indiquer le nom de l\\'h\u00F4te ou son adresse IP, l\\'identifiant de connexion (g\u00E9n\u00E9ralement root) et le mot de passe ainsi que toutes les \u00E9tiquettes permettant de classer les h\u00F4tes. -message.desc.primary.storage=Chaque cluster doit contenir un ou plusieurs serveurs de stockage principal, et le premier sera ajout\u00E9 tout de suite. Le stockage principal contient les volumes de disque pour les machines virtuelles s\\'ex\u00E9cutant sur les h\u00F4tes dans le cluster. Utiliser les protocoles standards pris en charge par l\\'hyperviseur sous-jacent. -message.desc.secondary.storage=Chaque zone doit avoir au moins un serveur NFS ou un serveur de stockage secondaire, et sera ajout\u00E9 en premier tout de suite. Le stockage secondaire entrepose les mod\u00E8les de machines virtuelles, les images ISO et les images disques des volumes des machines virtuelles. Ce serveur doit \u00EAtre accessible pour toutes les machines h\u00F4tes dans la zone.

Saisir l\\'adresse IP et le chemin d\\'export. -message.desc.zone=Une zone est la plus grande unit\u00E9 organisationnelle dans CloudStack, et correspond typiquement \u00E0 un centre de donn\u00E9es. Les zones fournissent un isolement physique et de la redondance. Une zone est constitu\u00E9e d\\'un ou plusieurs pods (dont chacun contient les h\u00F4tes et les serveurs de stockage principal) et un serveur de stockage secondaire qui est partag\u00E9e par tous les pods dans la zone. -message.detach.disk=Voulez-vous d\u00E9tacher ce disque ? -message.detach.iso.confirm=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9tacher l\\'image ISO de cette instance. -message.disable.account=Veuillez confirmer que vous voulez d\u00E9sactiver ce compte. En d\u00E9sactivant le compte, tous les utilisateurs pour ce compte n\\'auront plus acc\u00E8s \u00E0 leurs ressources sur le cloud. Toutes les machines virtuelles vont \u00EAtre arr\u00EAt\u00E9es imm\u00E9diatement. -message.disable.snapshot.policy=Vous avez d\u00E9sactiv\u00E9 votre politique d\\'instantan\u00E9 avec succ\u00E8s. -message.disable.user=Confirmer la d\u00E9sactivation de cet utilisateur. -message.disable.vpn=\u00CAtes-vous s\u00FBr de vouloir d\u00E9sactiver le VPN ? -message.disable.vpn.access=\u00CAtes-vous s\u00FBr que vous souhaitez d\u00E9sactiver l\\'acc\u00E8s VPN. -message.download.ISO=Cliquer
00000 pour t\u00E9l\u00E9charger une image ISO -message.download.template=Cliquer sur 00000 pour t\u00E9l\u00E9charger le mod\u00E8le -message.download.volume=Cliquer sur 00000 pour t\u00E9l\u00E9charger le volume -message.download.volume.confirm=Confirmer le t\u00E9l\u00E9chargement du volume +message.delete.account=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce compte. +message.delete.gateway=\u00cates-vous s\u00fbr que vous voulez supprimer cette passerelle +message.delete.project=\u00cates-vous s\u00fbr de vouloir supprimer ce projet ? +message.delete.user=\u00cates-vous s\u00fbr que vous voulez supprimer cet utilisateur. +message.delete.VPN.connection=\u00cates-vous s\u00fbr que vous voulez supprimer la connexion VPN +message.delete.VPN.customer.gateway=\u00cates-vous s\u00fbr que vous voulez supprimer cette passerelle VPN client +message.delete.VPN.gateway=\u00cates-vous s\u00fbr que vous voulez supprimer cette passerelle VPN +message.desc.advanced.zone=Pour des topologies de r\u00e9seau plus sophistiqu\u00e9es. Ce mod\u00e8le de r\u00e9seau permet plus de flexibilit\u00e9 dans la d\u00e9finition des r\u00e9seaux d\\'invit\u00e9s et propose des offres personnalis\u00e9es telles que le support de pare-feu, VPN ou d\\'\u00e9quilibrage de charge. +message.desc.basic.zone=Fournit un r\u00e9seau unique o\u00f9 chaque instance de machine virtuelle se voit attribuer une adresse IP directement depuis le r\u00e9seau. L\\'isolation des invit\u00e9s peut \u00eatre assur\u00e9 au niveau de la couche r\u00e9seau-3 tels que les groupes de s\u00e9curit\u00e9 (filtrage d\\'adresse IP source). +message.desc.cluster=Chaque pod doit contenir un ou plusieurs clusters, et le premier cluster sera ajout\u00e9 tout de suite. Un cluster est un regroupement pour h\u00f4tes. Les h\u00f4tes d\\'un cluster ont tous un mat\u00e9riel identique, ex\u00e9cutent le m\u00eame hyperviseur, sont dans le m\u00eame sous-r\u00e9seau, et acc\u00e8dent au m\u00eame stockage partag\u00e9. Chaque cluster comprend une ou plusieurs h\u00f4tes et un ou plusieurs serveurs de stockage principal. +message.desc.host=Chaque cluster doit contenir au moins un h\u00f4te (machine) pour ex\u00e9cuter des machines virtuelles invit\u00e9es, et le premier h\u00f4te sera ajout\u00e9 tout de suite. Pour un h\u00f4te fonctionnant dans CloudStack, vous devez installer un logiciel hyperviseur sur l\\'h\u00f4te, attribuer une adresse IP \u00e0 l\\'h\u00f4te, et s\\'assurer que l\\'h\u00f4te est connect\u00e9 au serveur d\\'administration CloudStack.

Indiquer le nom de l\\'h\u00f4te ou son adresse IP, l\\'identifiant de connexion (g\u00e9n\u00e9ralement root) et le mot de passe ainsi que toutes les \u00e9tiquettes permettant de classer les h\u00f4tes. +message.desc.primary.storage=Chaque cluster doit contenir un ou plusieurs serveurs de stockage principal, et le premier sera ajout\u00e9 tout de suite. Le stockage principal contient les volumes de disque pour les machines virtuelles s\\'ex\u00e9cutant sur les h\u00f4tes dans le cluster. Utiliser les protocoles standards pris en charge par l\\'hyperviseur sous-jacent. +message.desc.secondary.storage=Chaque zone doit avoir au moins un serveur NFS ou un serveur de stockage secondaire, et sera ajout\u00e9 en premier tout de suite. Le stockage secondaire entrepose les mod\u00e8les de machines virtuelles, les images ISO et les images disques des volumes des machines virtuelles. Ce serveur doit \u00eatre accessible pour toutes les machines h\u00f4tes dans la zone.

Saisir l\\'adresse IP et le chemin d\\'export. +message.desc.zone=Une zone est la plus grande unit\u00e9 organisationnelle dans CloudStack, et correspond typiquement \u00e0 un centre de donn\u00e9es. Les zones fournissent un isolement physique et de la redondance. Une zone est constitu\u00e9e d\\'un ou plusieurs pods (dont chacun contient les h\u00f4tes et les serveurs de stockage principal) et un serveur de stockage secondaire qui est partag\u00e9e par tous les pods dans la zone. +message.detach.disk=Voulez-vous d\u00e9tacher ce disque ? +message.detach.iso.confirm=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9tacher l\\'image ISO de cette instance. +message.disable.account=Veuillez confirmer que vous voulez d\u00e9sactiver ce compte. En d\u00e9sactivant le compte, tous les utilisateurs pour ce compte n\\'auront plus acc\u00e8s \u00e0 leurs ressources sur le cloud. Toutes les machines virtuelles vont \u00eatre arr\u00eat\u00e9es imm\u00e9diatement. +message.disable.snapshot.policy=Vous avez d\u00e9sactiv\u00e9 votre politique d\\'instantan\u00e9 avec succ\u00e8s. +message.disable.user=Confirmer la d\u00e9sactivation de cet utilisateur. +message.disable.vpn.access=\u00cates-vous s\u00fbr que vous souhaitez d\u00e9sactiver l\\'acc\u00e8s VPN. +message.disable.vpn=\u00cates-vous s\u00fbr de vouloir d\u00e9sactiver le VPN ? +message.download.ISO=Cliquer 00000 pour t\u00e9l\u00e9charger une image ISO +message.download.template=Cliquer sur 00000 pour t\u00e9l\u00e9charger le mod\u00e8le +message.download.volume=Cliquer sur 00000 pour t\u00e9l\u00e9charger le volume +message.download.volume.confirm=Confirmer le t\u00e9l\u00e9chargement du volume message.edit.account=Modifier ("-1" signifie pas de limite de ressources) message.edit.confirm=Confirmer les changements avant de cliquer sur "Enregistrer". -message.edit.limits=Renseignez les limites pour les ressources suivantes. "-1" indique qu\\'il n\\'y a pas de limites pour la cr\u00E9ation de ressources. -message.edit.traffic.type=Sp\u00E9cifier le libell\u00E9 de trafic associ\u00E9 avec ce type de trafic. -message.enable.account=\u00CAtes-vous s\u00FBr que vous souhaitez activer ce compte. +message.edit.limits=Renseignez les limites pour les ressources suivantes. "-1" indique qu\\'il n\\'y a pas de limites pour la cr\u00e9ation de ressources. +message.edit.traffic.type=Sp\u00e9cifier le libell\u00e9 de trafic associ\u00e9 avec ce type de trafic. +message.enable.account=\u00cates-vous s\u00fbr que vous souhaitez activer ce compte. +message.enabled.vpn.ip.sec=Votre cl\u00e9 partag\u00e9e IPSec est +message.enabled.vpn=Votre acc\u00e8s VPN est activ\u00e9 et peut \u00eatre acc\u00e9d\u00e9 par l\\'IP message.enable.user=Confirmer l\\'activation de cet utilisateur. -message.enable.vpn=Confirmer l\\'activation de l\\'acc\u00E8s VPN pour cette adresse IP. -message.enable.vpn.access=Le VPN est d\u00E9sactiv\u00E9 pour cette adresse IP. Voulez vous activer l\\'acc\u00E8s VPN ? -message.enabled.vpn=Votre acc\u00E8s VPN est activ\u00E9 et peut \u00EAtre acc\u00E9d\u00E9 par l\\'IP -message.enabled.vpn.ip.sec=Votre cl\u00E9 partag\u00E9e IPSec est -message.enabling.security.group.provider=Activation du fournisseur de groupe de s\u00E9curit\u00E9 +message.enable.vpn.access=Le VPN est d\u00e9sactiv\u00e9 pour cette adresse IP. Voulez vous activer l\\'acc\u00e8s VPN ? +message.enable.vpn=Confirmer l\\'activation de l\\'acc\u00e8s VPN pour cette adresse IP. +message.enabling.security.group.provider=Activation du fournisseur de groupe de s\u00e9curit\u00e9 message.enabling.zone=Activation de la zone -message.enter.token=Entrer le jeton unique re\u00E7u dans le message d\\'invitation. -message.generate.keys=Confirmer la g\u00E9n\u00E9ration de nouvelles clefs pour cet utilisateur. -message.guest.traffic.in.advanced.zone=Le trafic r\u00E9seau d\\'invit\u00E9 est la communication entre les machines virtuelles utilisateur. Sp\u00E9cifier une plage d\\'identifiant VLAN pour le trafic des invit\u00E9s pour chaque r\u00E9seau physique. -message.guest.traffic.in.basic.zone=Le trafic r\u00E9seau d\\'invit\u00E9 est la communication entre les machines virtuelles utilisateur. Sp\u00E9cifier une plage d\\'adresses IP que CloudStack peut assigner aux machines virtuelles Invit\u00E9. S\\'assurer que cette plage n\\'empi\u00E8te pas sur la plage r\u00E9serv\u00E9e aux adresses IP Syst\u00E8me. -message.installWizard.click.retry=Appuyer sur le bouton pour essayer \u00E0 nouveau le d\u00E9marrage. -message.installWizard.copy.whatIsACluster=Un cluster permet de grouper les h\u00F4tes. Les h\u00F4tes d\\'un cluster ont un mat\u00E9riel identique, ex\u00E9cutent le m\u00EAme hyperviseur, sont sur le m\u00EAme sous-r\u00E9seau, et acc\u00E8dent au m\u00EAme stockage partag\u00E9. Les instances de machines virtuelles (VM) peuvent \u00EAtre migr\u00E9es \u00E0 chaud d\\'un h\u00F4te \u00E0 un autre au sein du m\u00EAme groupe, sans interrompre les services utilisateur. Un cluster est la trois \u00E8me plus large unit\u00E9 organisationnelle dans un d\u00E9ploiement CloudStack&\#8482;. Les clusters sont contenus dans les pods et les pods sont contenus dans les zones.

CloudStack&\#8482; permet d\\'avoir plusieurs clusters dans un d\u00E9ploiement en nuage, mais pour une installation basique, il n\\'y a qu\\'un seul cluster. -message.installWizard.copy.whatIsAHost=Un h\u00F4te est une machine. Les h\u00F4tes fournissent les ressources informatiques qui ex\u00E9cutent les machines virtuelles invit\u00E9es. Chaque h\u00F4te a un logiciel hyperviseur install\u00E9 pour g\u00E9rer les machines virtuelles invit\u00E9es (sauf pour les h\u00F4tes de type \\'bare-metal\\', qui sont un cas particulier d\u00E9taill\u00E9 dans le Guide d\\'installation avanc\u00E9e). Par exemple, un serveur Linux avec KVM, un serveur Citrix XenServer, et un serveur ESXi sont des h\u00F4tes. Dans une installation basique, un seul h\u00F4te ex\u00E9cutant XenServer ou KVM est utilis\u00E9.

L\\'h\u00F4te est la plus petite unit\u00E9 organisation au sein d\\'un d\u00E9ploiement CloudStack&\#8482;. Les h\u00F4tes sont contenus dans les clusters, les clusters sont contenus dans les pods et les pods sont contenus dans les zones. -message.installWizard.copy.whatIsAPod=Un pod repr\u00E9sente souvent un seul rack. Les h\u00F4tes dans le m\u00EAme pod sont dans le m\u00EAme sous-r\u00E9seau.
Un pod est la deuxi\u00E8me plus grande unit\u00E9 organisationnelle au sein d\\'un d\u00E9ploiement CloudStack&\#8482;. Les pods sont contenus dans les zones. Chaque zone peut contenir un ou plusieurs pods ; dans l\\'Installation Basique, vous aurez juste un pod dans votre zone. -message.installWizard.copy.whatIsAZone=Une zone est la plus grande unit\u00E9 organisationnelle au sein d\\'un d\u00E9ploiement CloudStack&\#8482;. Une zone correspond typiquement \u00E0 un centre de donn\u00E9es, mais il est permis d\\'avoir plusieurs zones dans un centre de donn\u00E9es. L\\'avantage d\\'organiser une infrastructure en zones est de fournir une isolation physique et de la redondance. Par exemple, chaque zone peut avoir sa propre alimentation et de liaison avec le r\u00E9seau, et les zones peuvent \u00EAtre tr\u00E8s \u00E9loign\u00E9es g\u00E9ographiquement (m\u00EAme si ce n\\'est pas une obligation). -message.installWizard.copy.whatIsCloudStack=CloudStack&\#8482; est une plate-forme logicielle de pools de ressources informatiques pour construire des infrastructures publiques, priv\u00E9es et hybrides en tant que services (IaaS) dans les nuages. CloudStack&\#8482; g\u00E8re le r\u00E9seau, le stockage et les noeuds de calcul qui composent une infrastructure dans les nuages. Utilisez CloudStack&\#8482; pour d\u00E9ployer, g\u00E9rer et configurer les environnements d\\'informatiques dans les nuages.

S\\'\u00E9tendant au-del\u00E0 des machines virtuelles individuelles fonctionnant sur du mat\u00E9riel standard, CloudStack&\#8482; offre une solution d\\'informatique en nuage cl\u00E9 en main pour fournir des centres de donn\u00E9es virtuels comme service - fournissant tous les composants essentiels pour construire, d\u00E9ployer et g\u00E9rer des applications \\'cloud\\' multi-niveaux et multi-locataire. Les versions libre et Premium sont disponibles, la version Libre offrant des caract\u00E9ristiques presque identiques. -message.installWizard.copy.whatIsPrimaryStorage=Une infrastructure CloudStack&\#8482; utilise deux types de stockage \: stockage principal et stockage secondaire. Les deux peuvent \u00EAtre des serveurs iSCSI ou NFS, ou sur disque local.

Le stockage principal est associ\u00E9 \u00E0 un cluster, et stocke les volumes disques de chaque machine virtuelle pour toutes les VMs s\\'ex\u00E9cutant sur les h\u00F4tes dans le cluster. Le serveur de stockage principal est typiquement proche des h\u00F4tes. -message.installWizard.copy.whatIsSecondaryStorage=Le stockage secondaire est associ\u00E9 \u00E0 une zone, et il stocke les \u00E9l\u00E9ments suivants\:
  • Mod\u00E8les - images de syst\u00E8mes d\\'exploitation qui peuvent \u00EAtre utilis\u00E9es pour d\u00E9marrer les machines virtuelles et peuvent inclure des informations de configuration suppl\u00E9mentaires, telles que les applications pr\u00E9-install\u00E9es
  • Images ISO - images de syst\u00E8me d\\'exploitation ou d\\'installation d\\'OS qui peuvent \u00EAtre amor\u00E7able ou non-amor\u00E7able
  • Images de volume disque - capture des donn\u00E9es de machines virtuelles qui peuvent \u00EAtre utilis\u00E9es pour la r\u00E9cup\u00E9ration des donn\u00E9es ou cr\u00E9er des mod\u00E8les
+message.enter.token=Entrer le jeton unique re\u00e7u dans le message d\\'invitation. +message.generate.keys=Confirmer la g\u00e9n\u00e9ration de nouvelles clefs pour cet utilisateur. +message.guest.traffic.in.advanced.zone=Le trafic r\u00e9seau d\\'invit\u00e9 est la communication entre les machines virtuelles utilisateur. Sp\u00e9cifier une plage d\\'identifiant VLAN pour le trafic des invit\u00e9s pour chaque r\u00e9seau physique. +message.guest.traffic.in.basic.zone=Le trafic r\u00e9seau d\\'invit\u00e9 est la communication entre les machines virtuelles utilisateur. Sp\u00e9cifier une plage d\\'adresses IP que CloudStack peut assigner aux machines virtuelles Invit\u00e9. S\\'assurer que cette plage n\\'empi\u00e8te pas sur la plage r\u00e9serv\u00e9e aux adresses IP Syst\u00e8me. +message.installWizard.click.retry=Appuyer sur le bouton pour essayer \u00e0 nouveau le d\u00e9marrage. +message.installWizard.copy.whatIsACluster=Un cluster permet de grouper les h\u00f4tes. Les h\u00f4tes d\\'un cluster ont un mat\u00e9riel identique, ex\u00e9cutent le m\u00eame hyperviseur, sont sur le m\u00eame sous-r\u00e9seau, et acc\u00e8dent au m\u00eame stockage partag\u00e9. Les instances de machines virtuelles (VM) peuvent \u00eatre migr\u00e9es \u00e0 chaud d\\'un h\u00f4te \u00e0 un autre au sein du m\u00eame groupe, sans interrompre les services utilisateur. Un cluster est la trois \u00e8me plus large unit\u00e9 organisationnelle dans un d\u00e9ploiement CloudStack&\#8482;. Les clusters sont contenus dans les pods et les pods sont contenus dans les zones.

CloudStack&\#8482; permet d\\'avoir plusieurs clusters dans un d\u00e9ploiement en nuage, mais pour une installation basique, il n\\'y a qu\\'un seul cluster. +message.installWizard.copy.whatIsAHost=Un h\u00f4te est une machine. Les h\u00f4tes fournissent les ressources informatiques qui ex\u00e9cutent les machines virtuelles invit\u00e9es. Chaque h\u00f4te a un logiciel hyperviseur install\u00e9 pour g\u00e9rer les machines virtuelles invit\u00e9es (sauf pour les h\u00f4tes de type \\'bare-metal\\', qui sont un cas particulier d\u00e9taill\u00e9 dans le Guide d\\'installation avanc\u00e9e). Par exemple, un serveur Linux avec KVM, un serveur Citrix XenServer, et un serveur ESXi sont des h\u00f4tes. Dans une installation basique, un seul h\u00f4te ex\u00e9cutant XenServer ou KVM est utilis\u00e9.

L\\'h\u00f4te est la plus petite unit\u00e9 organisation au sein d\\'un d\u00e9ploiement CloudStack&\#8482;. Les h\u00f4tes sont contenus dans les clusters, les clusters sont contenus dans les pods et les pods sont contenus dans les zones. +message.installWizard.copy.whatIsAPod=Un pod repr\u00e9sente souvent un seul rack. Les h\u00f4tes dans le m\u00eame pod sont dans le m\u00eame sous-r\u00e9seau.
Un pod est la deuxi\u00e8me plus grande unit\u00e9 organisationnelle au sein d\\'un d\u00e9ploiement CloudStack&\#8482;. Les pods sont contenus dans les zones. Chaque zone peut contenir un ou plusieurs pods ; dans l\\'Installation Basique, vous aurez juste un pod dans votre zone. +message.installWizard.copy.whatIsAZone=Une zone est la plus grande unit\u00e9 organisationnelle au sein d\\'un d\u00e9ploiement CloudStack&\#8482;. Une zone correspond typiquement \u00e0 un centre de donn\u00e9es, mais il est permis d\\'avoir plusieurs zones dans un centre de donn\u00e9es. L\\'avantage d\\'organiser une infrastructure en zones est de fournir une isolation physique et de la redondance. Par exemple, chaque zone peut avoir sa propre alimentation et de liaison avec le r\u00e9seau, et les zones peuvent \u00eatre tr\u00e8s \u00e9loign\u00e9es g\u00e9ographiquement (m\u00eame si ce n\\'est pas une obligation). +message.installWizard.copy.whatIsCloudStack=CloudStack&\#8482; est une plate-forme logicielle de pools de ressources informatiques pour construire des infrastructures publiques, priv\u00e9es et hybrides en tant que services (IaaS) dans les nuages. CloudStack&\#8482; g\u00e8re le r\u00e9seau, le stockage et les noeuds de calcul qui composent une infrastructure dans les nuages. Utilisez CloudStack&\#8482; pour d\u00e9ployer, g\u00e9rer et configurer les environnements d\\'informatiques dans les nuages.

S\\'\u00e9tendant au-del\u00e0 des machines virtuelles individuelles fonctionnant sur du mat\u00e9riel standard, CloudStack&\#8482; offre une solution d\\'informatique en nuage cl\u00e9 en main pour fournir des centres de donn\u00e9es virtuels comme service - fournissant tous les composants essentiels pour construire, d\u00e9ployer et g\u00e9rer des applications \\'cloud\\' multi-niveaux et multi-locataire. Les versions libre et Premium sont disponibles, la version Libre offrant des caract\u00e9ristiques presque identiques. +message.installWizard.copy.whatIsPrimaryStorage=Une infrastructure CloudStack&\#8482; utilise deux types de stockage \: stockage principal et stockage secondaire. Les deux peuvent \u00eatre des serveurs iSCSI ou NFS, ou sur disque local.

Le stockage principal est associ\u00e9 \u00e0 un cluster, et stocke les volumes disques de chaque machine virtuelle pour toutes les VMs s\\'ex\u00e9cutant sur les h\u00f4tes dans le cluster. Le serveur de stockage principal est typiquement proche des h\u00f4tes. +message.installWizard.copy.whatIsSecondaryStorage=Le stockage secondaire est associ\u00e9 \u00e0 une zone, et il stocke les \u00e9l\u00e9ments suivants\:
  • Mod\u00e8les - images de syst\u00e8mes d\\'exploitation qui peuvent \u00eatre utilis\u00e9es pour d\u00e9marrer les machines virtuelles et peuvent inclure des informations de configuration suppl\u00e9mentaires, telles que les applications pr\u00e9-install\u00e9es
  • Images ISO - images de syst\u00e8me d\\'exploitation ou d\\'installation d\\'OS qui peuvent \u00eatre amor\u00e7able ou non-amor\u00e7able
  • Images de volume disque - capture des donn\u00e9es de machines virtuelles qui peuvent \u00eatre utilis\u00e9es pour la r\u00e9cup\u00e9ration des donn\u00e9es ou cr\u00e9er des mod\u00e8les
message.installWizard.now.building=Construction de votre Cloud en cours -message.installWizard.tooltip.addCluster.name=Un nom pour le cluster. Ce choix est libre et n\\'est pas utilis\u00E9 par CloudStack. +message.installWizard.tooltip.addCluster.name=Un nom pour le cluster. Ce choix est libre et n\\'est pas utilis\u00e9 par CloudStack. message.installWizard.tooltip.addHost.hostname=Le nom DNS ou adresse IP du serveur. -message.installWizard.tooltip.addHost.password=Le mot de passe pour l\\'utilisateur indiqu\u00E9 pr\u00E9c\u00E9demment (issu de l\\'installation XenServer). +message.installWizard.tooltip.addHost.password=Le mot de passe pour l\\'utilisateur indiqu\u00e9 pr\u00e9c\u00e9demment (issu de l\\'installation XenServer). message.installWizard.tooltip.addHost.username=Habituellement root. message.installWizard.tooltip.addPod.name=Nom pour le pod -message.installWizard.tooltip.addPod.reservedSystemEndIp=Ceci est la plage d\\'adresses IP dans le r\u00E9seau priv\u00E9 que CloudStack utilise la gestion des VMs du stockage secondaire et les VMs Console Proxy. Ces adresses IP sont prises dans le m\u00EAme sous-r\u00E9seau que les serveurs h\u00F4tes. +message.installWizard.tooltip.addPod.reservedSystemEndIp=Ceci est la plage d\\'adresses IP dans le r\u00e9seau priv\u00e9 que CloudStack utilise la gestion des VMs du stockage secondaire et les VMs Console Proxy. Ces adresses IP sont prises dans le m\u00eame sous-r\u00e9seau que les serveurs h\u00f4tes. message.installWizard.tooltip.addPod.reservedSystemGateway=Passerelle pour les serveurs dans ce pod -message.installWizard.tooltip.addPod.reservedSystemNetmask=Le masque r\u00E9seau que les instances utiliseront sur le r\u00E9seau -message.installWizard.tooltip.addPod.reservedSystemStartIp=Ceci est la plage d\\'adresses IP dans le r\u00E9seau priv\u00E9 que CloudStack utilise la gestion des VMs du stockage secondaire et les VMs Console Proxy. Ces adresses IP sont prises dans le m\u00EAme sous-r\u00E9seau que les serveurs h\u00F4tes. +message.installWizard.tooltip.addPod.reservedSystemNetmask=Le masque r\u00e9seau que les instances utiliseront sur le r\u00e9seau +message.installWizard.tooltip.addPod.reservedSystemStartIp=Ceci est la plage d\\'adresses IP dans le r\u00e9seau priv\u00e9 que CloudStack utilise la gestion des VMs du stockage secondaire et les VMs Console Proxy. Ces adresses IP sont prises dans le m\u00eame sous-r\u00e9seau que les serveurs h\u00f4tes. message.installWizard.tooltip.addPrimaryStorage.name=Nom pour ce stockage -message.installWizard.tooltip.addPrimaryStorage.path=(pour NFS) Dans NFS, ceci est le chemin d\\'export depuis le serveur. (pour SharedMountPoint) Le chemin. Avec KVM, c\\'est le chemin sur chaque h\u00F4te o\u00F9 ce stockage principal est mont\u00E9. Par exemple, "/mnt/primary". +message.installWizard.tooltip.addPrimaryStorage.path=(pour NFS) Dans NFS, ceci est le chemin d\\'export depuis le serveur. (pour SharedMountPoint) Le chemin. Avec KVM, c\\'est le chemin sur chaque h\u00f4te o\u00f9 ce stockage principal est mont\u00e9. Par exemple, "/mnt/primary". message.installWizard.tooltip.addPrimaryStorage.server=(pour NFS, iSCSI ou PreSetup) Adresse IP ou nom DNS du stockage message.installWizard.tooltip.addSecondaryStorage.nfsServer=Adresse IP du serveur NFS supportant le stockage secondaire -message.installWizard.tooltip.addSecondaryStorage.path=Le chemin export\u00E9, situ\u00E9 sur le serveur sp\u00E9cifi\u00E9 pr\u00E9c\u00E9demment -message.installWizard.tooltip.addZone.dns1=Ces serveurs DNS sont utilis\u00E9s par les machines virtuelles Invit\u00E9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00E9seau public, ce dernier sera ajout\u00E9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00E9s ici. -message.installWizard.tooltip.addZone.dns2=Ces serveurs DNS sont utilis\u00E9s par les machines virtuelles Invit\u00E9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00E9seau public, ce dernier sera ajout\u00E9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00E9s ici. -message.installWizard.tooltip.addZone.internaldns1=Ces serveurs DNS sont utilis\u00E9s par les machines virtuelles Invit\u00E9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00E9seau public, ce dernier sera ajout\u00E9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00E9s ici. -message.installWizard.tooltip.addZone.internaldns2=Ces serveurs DNS sont utilis\u00E9s par les machines virtuelles Invit\u00E9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00E9seau public, ce dernier sera ajout\u00E9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00E9s ici. +message.installWizard.tooltip.addSecondaryStorage.path=Le chemin export\u00e9, situ\u00e9 sur le serveur sp\u00e9cifi\u00e9 pr\u00e9c\u00e9demment +message.installWizard.tooltip.addZone.dns1=Ces serveurs DNS sont utilis\u00e9s par les machines virtuelles Invit\u00e9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00e9seau public, ce dernier sera ajout\u00e9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00e9s ici. +message.installWizard.tooltip.addZone.dns2=Ces serveurs DNS sont utilis\u00e9s par les machines virtuelles Invit\u00e9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00e9seau public, ce dernier sera ajout\u00e9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00e9s ici. +message.installWizard.tooltip.addZone.internaldns1=Ces serveurs DNS sont utilis\u00e9s par les machines virtuelles Invit\u00e9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00e9seau public, ce dernier sera ajout\u00e9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00e9s ici. +message.installWizard.tooltip.addZone.internaldns2=Ces serveurs DNS sont utilis\u00e9s par les machines virtuelles Invit\u00e9es dans la zone. Ces serveurs DNS seront accessibles par le r\u00e9seau public, ce dernier sera ajout\u00e9 plus tard. Les adresses IP publiques pour la zone doivent avoir une route vers les serveurs DNS indiqu\u00e9s ici. message.installWizard.tooltip.addZone.name=Nom pour la zone -message.installWizard.tooltip.configureGuestTraffic.description=Description pour ce r\u00E9seau -message.installWizard.tooltip.configureGuestTraffic.guestEndIp=La plage d\\'adresses IP qui sera disponible en allocation pour les machines invit\u00E9es dans cette zone. Si une carte r\u00E9seau est utilis\u00E9e, ces adresses IP peuvent \u00EAtre dans le m\u00EAme CIDR que le CIDR du pod. -message.installWizard.tooltip.configureGuestTraffic.guestGateway=La passerelle que les instances invit\u00E9es doivent utiliser -message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Le masque r\u00E9seau que les instances devrait utiliser sur le r\u00E9seau -message.installWizard.tooltip.configureGuestTraffic.guestStartIp=La plage d\\'adresses IP qui sera disponible en allocation pour les machines invit\u00E9es dans cette zone. Si une carte r\u00E9seau est utilis\u00E9e, ces adresses IP peuvent \u00EAtre dans le m\u00EAme CIDR que le CIDR du pod. -message.installWizard.tooltip.configureGuestTraffic.name=Nom pour ce r\u00E9seau -message.instanceWizard.noTemplates=Vous n\\'avez pas de image disponible ; Ajouter un mod\u00E8le compatible puis relancer l\\'assistant de cr\u00E9ation d\\'instance. -message.ip.address.changed=Vos adresses IP ont peut \u00EAtre chang\u00E9es ; Voulez vous rafra\u00EEchir la liste ? Dans ce cas, le panneau de d\u00E9tail se fermera. -message.iso.desc=Image disque contenant des donn\u00E9es ou un support amor\u00E7able pour OS -message.join.project=Vous avez rejoint un projet. S\u00E9lectionnez la vue Projet pour le voir. -message.launch.vm.on.private.network=Souhaitez vous d\u00E9marrer cette instance sur votre propre r\u00E9seau priv\u00E9 ? -message.launch.zone=La zone est pr\u00EAte \u00E0 d\u00E9marrer ; passer \u00E0 l\\'\u00E9tape suivante. -message.lock.account=\u00CAtes-vous s\u00FBr que vous souhaitez verrouiller ce compte. En le verrouillant, les utilisateurs de ce compte ne seront plus capables de g\u00E9rer leurs ressources. Les ressources existantes resteront toutefois accessibles. -message.migrate.instance.confirm=Confirmez l\\'h\u00F4te vers lequel vous souhaitez migrer cette instance -message.migrate.instance.to.host=Confirmer la migration de l\\'instance vers un autre h\u00F4te +message.installWizard.tooltip.configureGuestTraffic.description=Description pour ce r\u00e9seau +message.installWizard.tooltip.configureGuestTraffic.guestEndIp=La plage d\\'adresses IP qui sera disponible en allocation pour les machines invit\u00e9es dans cette zone. Si une carte r\u00e9seau est utilis\u00e9e, ces adresses IP peuvent \u00eatre dans le m\u00eame CIDR que le CIDR du pod. +message.installWizard.tooltip.configureGuestTraffic.guestGateway=La passerelle que les instances invit\u00e9es doivent utiliser +message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Le masque r\u00e9seau que les instances devrait utiliser sur le r\u00e9seau +message.installWizard.tooltip.configureGuestTraffic.guestStartIp=La plage d\\'adresses IP qui sera disponible en allocation pour les machines invit\u00e9es dans cette zone. Si une carte r\u00e9seau est utilis\u00e9e, ces adresses IP peuvent \u00eatre dans le m\u00eame CIDR que le CIDR du pod. +message.installWizard.tooltip.configureGuestTraffic.name=Nom pour ce r\u00e9seau +message.instanceWizard.noTemplates=Vous n\\'avez pas de image disponible ; Ajouter un mod\u00e8le compatible puis relancer l\\'assistant de cr\u00e9ation d\\'instance. +message.ip.address.changed=Vos adresses IP ont peut \u00eatre chang\u00e9es ; Voulez vous rafra\u00eechir la liste ? Dans ce cas, le panneau de d\u00e9tail se fermera. +message.iso.desc=Image disque contenant des donn\u00e9es ou un support amor\u00e7able pour OS +message.join.project=Vous avez rejoint un projet. S\u00e9lectionnez la vue Projet pour le voir. +message.launch.vm.on.private.network=Souhaitez vous d\u00e9marrer cette instance sur votre propre r\u00e9seau priv\u00e9 ? +message.launch.zone=La zone est pr\u00eate \u00e0 d\u00e9marrer ; passer \u00e0 l\\'\u00e9tape suivante. +message.lock.account=\u00cates-vous s\u00fbr que vous souhaitez verrouiller ce compte. En le verrouillant, les utilisateurs de ce compte ne seront plus capables de g\u00e9rer leurs ressources. Les ressources existantes resteront toutefois accessibles. +message.migrate.instance.confirm=Confirmez l\\'h\u00f4te vers lequel vous souhaitez migrer cette instance +message.migrate.instance.to.host=Confirmer la migration de l\\'instance vers un autre h\u00f4te message.migrate.instance.to.ps=Confirmer la migration de l\\'instance vers un autre stockage principal message.migrate.router.confirm=Confirmer la migration du routeur vers \: -message.migrate.systemvm.confirm=Confirmer la migration de la VM syst\u00E8me vers \: +message.migrate.systemvm.confirm=Confirmer la migration de la VM syst\u00e8me vers \: message.migrate.volume=Confirmer la migration du volume vers un autre stockage principal. message.new.user=Renseigner les informations suivantes pour ajouter un nouveau compte utilisateur -message.no.network.support=S\u00E9lectionnez l\\'hyperviseur. vSphere, n\\'a pas de fonctionnalit\u00E9s suppl\u00E9mentaires pour le r\u00E9seau. Continuez \u00E0 l\\'\u00E9tape 5. -message.no.network.support.configuration.not.true=Il n\\'y a pas de zone avec la fonction groupe de s\u00E9curit\u00E9 active. D\u00E8s lors, pas de fonction r\u00E9seau suppl\u00E9mentaires disponibles. Continuer \u00E0 l\\'\u00E9tape 5. -message.no.projects=Vous n\\'avez pas de projet.
Vous pouvez en cr\u00E9er un depuis la section projets. +message.no.network.support.configuration.not.true=Il n\\'y a pas de zone avec la fonction groupe de s\u00e9curit\u00e9 active. D\u00e8s lors, pas de fonction r\u00e9seau suppl\u00e9mentaires disponibles. Continuer \u00e0 l\\'\u00e9tape 5. +message.no.network.support=S\u00e9lectionnez l\\'hyperviseur. vSphere, n\\'a pas de fonctionnalit\u00e9s suppl\u00e9mentaires pour le r\u00e9seau. Continuez \u00e0 l\\'\u00e9tape 5. message.no.projects.adminOnly=Vous n\\'avez pas de projet.
Contacter votre administrateur pour ajouter un projet. +message.no.projects=Vous n\\'avez pas de projet.
Vous pouvez en cr\u00e9er un depuis la section projets. message.number.clusters=

\# de Clusters

-message.number.hosts=

\# d\\' H\u00F4tes

+message.number.hosts=

\# d\\' H\u00f4tes

message.number.pods=

\# de Pods

message.number.storage=

\# de Volumes de Stockage Principal

message.number.zones=

\# de Zones

message.pending.projects.1=Vous avez des invitations projet en attente \: -message.pending.projects.2=Pour les visualiser, aller dans la section projets, puis s\u00E9lectionner invitation dans la liste d\u00E9roulante. -message.please.add.at.lease.one.traffic.range=Ajouter au moins une plage r\u00E9seau -message.please.proceed=Continuer vers la prochaine \u00E9tape. -message.please.select.a.configuration.for.your.zone=S\u00E9lectionner une configuration pour la zone. -message.please.select.a.different.public.and.management.network.before.removing=S\u00E9lectionner un r\u00E9seau public et d\\'administration diff\u00E9rent avant de supprimer -message.please.select.networks=S\u00E9lectionner les r\u00E9seaux pour votre machine virtuelle. -message.please.wait.while.zone.is.being.created=Patienter pendant la cr\u00E9ation de la zone, cela peut prendre du temps... -message.project.invite.sent=Invitation envoy\u00E9e ; les utilisateurs seront ajout\u00E9s apr\u00E8s acceptation de l\\'invitation -message.public.traffic.in.advanced.zone=Le trafic public est g\u00E9n\u00E9r\u00E9 lorsque les machines virtuelles dans le nuage acc\u00E8dent \u00E0 Internet. Des adresses IP publiquement accessibles doivent \u00EAtre pr\u00E9vues \u00E0 cet effet. Les utilisateurs peuvent utiliser l\\'interface d\\'administration de CloudStack pour acqu\u00E9rir ces adresses IP qui impl\u00E9menteront une translation d\\'adresse NAT entre le r\u00E9seau d\\'invit\u00E9 et le r\u00E9seau public.

Fournir au moins une plage d\\'adresses IP pour le trafic Internet. -message.public.traffic.in.basic.zone=Le trafic public est g\u00E9n\u00E9r\u00E9 lorsque les machines virtuelles dans le nuage acc\u00E8dent \u00E0 Internet ou fournissent des services \u00E0 des utilisateurs sur Internet. Des adresses IP publiquement accessibles doivent \u00EAtre pr\u00E9vus \u00E0 cet effet. Quand une instance est cr\u00E9\u00E9e, une adresse IP publique depuis un ensemble d\\'adresses IP publiques sera allou\u00E9e \u00E0 l\\'instance, en plus de l\\'adresse IP de l\\'invit\u00E9. La translation d\\'adresses statique NAT 1-1 sera mises en place automatiquement entre l\\'adresse IP publique et l\\'adresse IP de l\\'invit\u00E9. Les utilisateurs peuvent \u00E9galement utiliser l\\'interface d\\'administration CloudStack pour acqu\u00E9rir des adresses IP suppl\u00E9mentaires pour ajouter une translation d\\'adresse statique NAT entre leurs instances et le r\u00E9seau d\\'adresses IP publiques. +message.pending.projects.2=Pour les visualiser, aller dans la section projets, puis s\u00e9lectionner invitation dans la liste d\u00e9roulante. +message.please.add.at.lease.one.traffic.range=Ajouter au moins une plage r\u00e9seau +message.please.proceed=Continuer vers la prochaine \u00e9tape. +message.please.select.a.configuration.for.your.zone=S\u00e9lectionner une configuration pour la zone. +message.please.select.a.different.public.and.management.network.before.removing=S\u00e9lectionner un r\u00e9seau public et d\\'administration diff\u00e9rent avant de supprimer +message.please.select.networks=S\u00e9lectionner les r\u00e9seaux pour votre machine virtuelle. +message.please.wait.while.zone.is.being.created=Patienter pendant la cr\u00e9ation de la zone, cela peut prendre du temps... +message.project.invite.sent=Invitation envoy\u00e9e ; les utilisateurs seront ajout\u00e9s apr\u00e8s acceptation de l\\'invitation +message.public.traffic.in.advanced.zone=Le trafic public est g\u00e9n\u00e9r\u00e9 lorsque les machines virtuelles dans le nuage acc\u00e8dent \u00e0 Internet. Des adresses IP publiquement accessibles doivent \u00eatre pr\u00e9vues \u00e0 cet effet. Les utilisateurs peuvent utiliser l\\'interface d\\'administration de CloudStack pour acqu\u00e9rir ces adresses IP qui impl\u00e9menteront une translation d\\'adresse NAT entre le r\u00e9seau d\\'invit\u00e9 et le r\u00e9seau public.

Fournir au moins une plage d\\'adresses IP pour le trafic Internet. +message.public.traffic.in.basic.zone=Le trafic public est g\u00e9n\u00e9r\u00e9 lorsque les machines virtuelles dans le nuage acc\u00e8dent \u00e0 Internet ou fournissent des services \u00e0 des utilisateurs sur Internet. Des adresses IP publiquement accessibles doivent \u00eatre pr\u00e9vus \u00e0 cet effet. Quand une instance est cr\u00e9\u00e9e, une adresse IP publique depuis un ensemble d\\'adresses IP publiques sera allou\u00e9e \u00e0 l\\'instance, en plus de l\\'adresse IP de l\\'invit\u00e9. La translation d\\'adresses statique NAT 1-1 sera mises en place automatiquement entre l\\'adresse IP publique et l\\'adresse IP de l\\'invit\u00e9. Les utilisateurs peuvent \u00e9galement utiliser l\\'interface d\\'administration CloudStack pour acqu\u00e9rir des adresses IP suppl\u00e9mentaires pour ajouter une translation d\\'adresse statique NAT entre leurs instances et le r\u00e9seau d\\'adresses IP publiques. message.remove.vpc=Confirmer la suppression du VPC -message.remove.vpn.access=\u00CAtes-vous s\u00FBr que vous souhaitez supprimer l\\'acc\u00E8s VPN \u00E0 l\\'utilisateur suivant. -message.reset.VPN.connection=Confirmer le r\u00E9-initialisation de la connexion VPN -message.reset.password.warning.notPasswordEnabled=Le mod\u00E8le de cette instance a \u00E9t\u00E9 cr\u00E9\u00E9 sans la gestion de mot de passe -message.reset.password.warning.notStopped=Votre instance doit \u00EAtre arr\u00EAt\u00E9e avant de changer son mot de passe -message.restart.mgmt.server=Red\u00E9marrez votre(vos) serveur(s) de management pour appliquer les nouveaux param\u00E8tres. -message.restart.mgmt.usage.server=Red\u00E9marrer le ou les serveur(s) de gestion et le ou les serveur(s) de consommation pour que les nouveaux param\u00E8tres soient pris en compte. -message.restart.network=Tous les services fournit par ce routeur virtuel vont \u00EAtre interrompus. Confirmer le red\u00E9marrage de ce routeur. -message.restart.vpc=Confirmer le red\u00E9marrage du VPC -message.security.group.usage=(Utilisez Ctrl-clic pour s\u00E9lectionner les groupes de s\u00E9curit\u00E9 vis\u00E9s) -message.select.a.zone=Une zone correspond typiquement \u00E0 un seul centre de donn\u00E9es. Des zones multiples peuvent permettre de rendre votre cloud plus fiable en apportant une isolation physique et de la redondance. -message.select.instance=S\u00E9lectionner une instance. -message.select.iso=S\u00E9lectionner un ISO pour votre nouvelle instance virtuelle. -message.select.item=Merci de s\u00E9lectionner un \u00E9l\u00E9ment. -message.select.security.groups=Merci de s\u00E9lectionner un(des) groupe(s) de s\u00E9curit\u00E9 pour la nouvelle VM -message.select.template=S\u00E9lectionner un mod\u00E8le pour votre nouvelle instance virtuelle. -message.setup.physical.network.during.zone.creation=Lorsque vous ajoutez une zone avanc\u00E9e, vous avez besoin de d\u00E9finir un ou plusieurs r\u00E9seaux physiques. Chaque r\u00E9seau correspond \u00E0 une carte r\u00E9seau sur l\\'hyperviseur. Chaque r\u00E9seau physique peut supporter un ou plusieurs types de trafic, avec certaines restrictions sur la fa\u00E7on dont ils peuvent \u00EAtre combin\u00E9s.

Glisser et d\u00E9poser un ou plusieurs types de trafic sur chaque r\u00E9seau physique. -message.setup.physical.network.during.zone.creation.basic=Quand vous ajoutez une zone basique, vous pouvez param\u00E9trer un seul r\u00E9seau physique, correspondant \u00E0 une carte r\u00E9seau sur l\\'hyperviseur. Ce r\u00E9seau comportera plusieurs types de trafic.

Vous pouvez \u00E9galement glisser et d\u00E9poser d\\'autres types de trafic sur le r\u00E9seau physique. -message.setup.successful=Installation du Cloud r\u00E9ussie \! -message.snapshot.schedule=Vous pouvez mettre en place les politiques de g\u00E9n\u00E9ration d\\'instantan\u00E9s en s\u00E9lectionnant les options disponibles ci-dessous et en appliquant votre politique. +message.remove.vpn.access=\u00cates-vous s\u00fbr que vous souhaitez supprimer l\\'acc\u00e8s VPN \u00e0 l\\'utilisateur suivant. +message.reset.password.warning.notPasswordEnabled=Le mod\u00e8le de cette instance a \u00e9t\u00e9 cr\u00e9\u00e9 sans la gestion de mot de passe +message.reset.password.warning.notStopped=Votre instance doit \u00eatre arr\u00eat\u00e9e avant de changer son mot de passe +message.reset.VPN.connection=Confirmer le r\u00e9-initialisation de la connexion VPN +message.restart.mgmt.server=Red\u00e9marrez votre(vos) serveur(s) de management pour appliquer les nouveaux param\u00e8tres. +message.restart.mgmt.usage.server=Red\u00e9marrer le ou les serveur(s) de gestion et le ou les serveur(s) de consommation pour que les nouveaux param\u00e8tres soient pris en compte. +message.restart.network=Tous les services fournit par ce routeur virtuel vont \u00eatre interrompus. Confirmer le red\u00e9marrage de ce routeur. +message.restart.vpc=Confirmer le red\u00e9marrage du VPC +message.security.group.usage=(Utilisez Ctrl-clic pour s\u00e9lectionner les groupes de s\u00e9curit\u00e9 vis\u00e9s) +message.select.a.zone=Une zone correspond typiquement \u00e0 un seul centre de donn\u00e9es. Des zones multiples peuvent permettre de rendre votre cloud plus fiable en apportant une isolation physique et de la redondance. +message.select.instance=S\u00e9lectionner une instance. +message.select.iso=S\u00e9lectionner un ISO pour votre nouvelle instance virtuelle. +message.select.item=Merci de s\u00e9lectionner un \u00e9l\u00e9ment. +message.select.security.groups=Merci de s\u00e9lectionner un(des) groupe(s) de s\u00e9curit\u00e9 pour la nouvelle VM +message.select.template=S\u00e9lectionner un mod\u00e8le pour votre nouvelle instance virtuelle. +message.setup.physical.network.during.zone.creation.basic=Quand vous ajoutez une zone basique, vous pouvez param\u00e9trer un seul r\u00e9seau physique, correspondant \u00e0 une carte r\u00e9seau sur l\\'hyperviseur. Ce r\u00e9seau comportera plusieurs types de trafic.

Vous pouvez \u00e9galement glisser et d\u00e9poser d\\'autres types de trafic sur le r\u00e9seau physique. +message.setup.physical.network.during.zone.creation=Lorsque vous ajoutez une zone avanc\u00e9e, vous avez besoin de d\u00e9finir un ou plusieurs r\u00e9seaux physiques. Chaque r\u00e9seau correspond \u00e0 une carte r\u00e9seau sur l\\'hyperviseur. Chaque r\u00e9seau physique peut supporter un ou plusieurs types de trafic, avec certaines restrictions sur la fa\u00e7on dont ils peuvent \u00eatre combin\u00e9s.

Glisser et d\u00e9poser un ou plusieurs types de trafic sur chaque r\u00e9seau physique. +message.setup.successful=Installation du Cloud r\u00e9ussie \! +message.snapshot.schedule=Vous pouvez mettre en place les politiques de g\u00e9n\u00e9ration d\\'instantan\u00e9s en s\u00e9lectionnant les options disponibles ci-dessous et en appliquant votre politique. message.specify.url=Renseigner l\\'URL -message.step.1.continue=S\u00E9lectionnez un mod\u00E8le ou une image ISO pour continuer -message.step.1.desc=S\u00E9lectionnez un mod\u00E8le pour votre nouvelle instance virtuelle. Vous pouvez \u00E9galement choisir un mod\u00E8le vierge sur lequel une image ISO pourra \u00EAtre install\u00E9e. -message.step.2.continue=S\u00E9lectionnez une offre de service pour continuer -message.step.3.continue=S\u00E9lectionnez un offre de service de disque pour continuer -message.step.4.continue=S\u00E9lectionnez au moins un r\u00E9seau pour continuer -message.step.4.desc=S\u00E9lectionnez le r\u00E9seau principal auquel votre instance va \u00EAtre connect\u00E9. -message.storage.traffic=Trafic entre les ressources internes de CloudStack, incluant tous les composants qui communiquent avec le serveur d\\'administration, tels que les h\u00F4tes et les machines virtuelles Syst\u00E8mes CloudStack. Veuillez configurer le trafic de stockage ici. -message.suspend.project=\u00CAtes-vous s\u00FBr de vouloir suspendre ce projet ? -message.template.desc=Image OS pouvant \u00EAtre utilis\u00E9e pour d\u00E9marrer une VM -message.tooltip.dns.1=Nom d\\'un serveur DNS utilis\u00E9 par les VM de la zone. Les adresses IP publiques de cette zone doivent avoir une route vers ce serveur. -message.tooltip.dns.2=Nom d\\'un serveur DNS secondaire utilis\u00E9 par les VM de la zone. Les adresses IP publiques de cette zone doivent avoir une route vers ce serveur. -message.tooltip.internal.dns.1=Nom d\\'un serveur DNS que CloudStack peut utiliser pour les VM syst\u00E8me dans cette zone. Les adresses IP priv\u00E9es des pods doivent avoir une route vers ce serveur. -message.tooltip.internal.dns.2=Nom d\\'un serveur DNS que CloudStack peut utiliser pour les VM syst\u00E8me dans cette zone. Les adresses IP priv\u00E9es des pods doivent avoir une route vers ce serveur. -message.tooltip.network.domain=Suffixe DNS qui cr\u00E9era un nom de domaine personnalis\u00E9 pour les r\u00E9seau accessible par les VM invit\u00E9es. +message.step.1.continue=S\u00e9lectionnez un mod\u00e8le ou une image ISO pour continuer +message.step.1.desc=S\u00e9lectionnez un mod\u00e8le pour votre nouvelle instance virtuelle. Vous pouvez \u00e9galement choisir un mod\u00e8le vierge sur lequel une image ISO pourra \u00eatre install\u00e9e. +message.step.2.continue=S\u00e9lectionnez une offre de service pour continuer +message.step.3.continue=S\u00e9lectionnez un offre de service de disque pour continuer +message.step.4.continue=S\u00e9lectionnez au moins un r\u00e9seau pour continuer +message.step.4.desc=S\u00e9lectionnez le r\u00e9seau principal auquel votre instance va \u00eatre connect\u00e9. +message.storage.traffic=Trafic entre les ressources internes de CloudStack, incluant tous les composants qui communiquent avec le serveur d\\'administration, tels que les h\u00f4tes et les machines virtuelles Syst\u00e8mes CloudStack. Veuillez configurer le trafic de stockage ici. +message.suspend.project=\u00cates-vous s\u00fbr de vouloir suspendre ce projet ? +message.template.desc=Image OS pouvant \u00eatre utilis\u00e9e pour d\u00e9marrer une VM +message.tooltip.dns.1=Nom d\\'un serveur DNS utilis\u00e9 par les VM de la zone. Les adresses IP publiques de cette zone doivent avoir une route vers ce serveur. +message.tooltip.dns.2=Nom d\\'un serveur DNS secondaire utilis\u00e9 par les VM de la zone. Les adresses IP publiques de cette zone doivent avoir une route vers ce serveur. +message.tooltip.internal.dns.1=Nom d\\'un serveur DNS que CloudStack peut utiliser pour les VM syst\u00e8me dans cette zone. Les adresses IP priv\u00e9es des pods doivent avoir une route vers ce serveur. +message.tooltip.internal.dns.2=Nom d\\'un serveur DNS que CloudStack peut utiliser pour les VM syst\u00e8me dans cette zone. Les adresses IP priv\u00e9es des pods doivent avoir une route vers ce serveur. +message.tooltip.network.domain=Suffixe DNS qui cr\u00e9era un nom de domaine personnalis\u00e9 pour les r\u00e9seau accessible par les VM invit\u00e9es. message.tooltip.pod.name=Nom pour ce pod. -message.tooltip.reserved.system.gateway=La passerelle pour les h\u00F4tes du pod. -message.tooltip.reserved.system.netmask=Le pr\u00E9fixe r\u00E9seau utilis\u00E9 par le sous-r\u00E9seau du pod. Au format CIDR. +message.tooltip.reserved.system.gateway=La passerelle pour les h\u00f4tes du pod. +message.tooltip.reserved.system.netmask=Le pr\u00e9fixe r\u00e9seau utilis\u00e9 par le sous-r\u00e9seau du pod. Au format CIDR. message.tooltip.zone.name=Nom pour cette zone. -message.update.os.preference=Choisissez votre OS pr\u00E9f\u00E9r\u00E9 pour cet h\u00F4te. Toutes les instances avec des pr\u00E9f\u00E9rences similaires seront d\\'abord allou\u00E9es \u00E0 cet h\u00F4te avant d\\'en choisir un autre. -message.update.resource.count=Confirmer la mise \u00E0 jour des ressources pour ce compte. -message.update.ssl=Soumettez un nouveau certificat SSL compatible X.509 qui sera mis \u00E0 jour sur l\\'ensemble de instance de proxy console. -message.validate.instance.name=Le nom de l\\'instance ne peut d\u00E9passer 63 caract\u00E8res. Seuls les lettres de a \u00E0 z, les chiffres de 0 \u00E0 9 et les tirets sont accept\u00E9s. Le nom doit commencer par une lettre et se terminer par une lettre ou un chiffre. -message.virtual.network.desc=Un r\u00E9seau virtuel d\u00E9di\u00E9 pour votre compte. Ce domaine de multi-diffusion est contenu dans un VLAN et l\\'ensemble des r\u00E9seaux d\\'acc\u00E8s publique sont rout\u00E9s par un routeur virtuel. -message.vm.create.template.confirm=Cr\u00E9er un mod\u00E8le va red\u00E9marrer la VM automatiquement -message.vm.review.launch=Merci de v\u00E9rifier les informations suivantes et de confirmer que votre instance virtuelle est correcte avant de la d\u00E9marrer. -message.volume.create.template.confirm=\u00CAtes-vous s\u00FBr que vous souhaitez cr\u00E9er un mod\u00E8le pour ce disque. La cr\u00E9ation peut prendre plusieurs minutes, voire plus, selon la taille du volume. -message.you.must.have.at.least.one.physical.network=Vous devez avoir au moins un r\u00E9seau physique -message.zone.creation.complete.would.you.like.to.enable.this.zone=Cr\u00E9ation de la zone termin\u00E9e. Voulez-vous l\\'activer ? -message.zone.no.network.selection=La zone s\u00E9lectionn\u00E9e ne propose pas le r\u00E9seau choisi -message.zone.step.1.desc=S\u00E9lectionnez un mod\u00E8le de r\u00E9seau pour votre zone. +message.update.os.preference=Choisissez votre OS pr\u00e9f\u00e9r\u00e9 pour cet h\u00f4te. Toutes les instances avec des pr\u00e9f\u00e9rences similaires seront d\\'abord allou\u00e9es \u00e0 cet h\u00f4te avant d\\'en choisir un autre. +message.update.resource.count=Confirmer la mise \u00e0 jour des ressources pour ce compte. +message.update.ssl=Soumettez un nouveau certificat SSL compatible X.509 qui sera mis \u00e0 jour sur l\\'ensemble de instance de proxy console. +message.validate.instance.name=Le nom de l\\'instance ne peut d\u00e9passer 63 caract\u00e8res. Seuls les lettres de a \u00e0 z, les chiffres de 0 \u00e0 9 et les tirets sont accept\u00e9s. Le nom doit commencer par une lettre et se terminer par une lettre ou un chiffre. +message.virtual.network.desc=Un r\u00e9seau virtuel d\u00e9di\u00e9 pour votre compte. Ce domaine de multi-diffusion est contenu dans un VLAN et l\\'ensemble des r\u00e9seaux d\\'acc\u00e8s publique sont rout\u00e9s par un routeur virtuel. +message.vm.create.template.confirm=Cr\u00e9er un mod\u00e8le va red\u00e9marrer la VM automatiquement +message.vm.review.launch=Merci de v\u00e9rifier les informations suivantes et de confirmer que votre instance virtuelle est correcte avant de la d\u00e9marrer. +message.volume.create.template.confirm=\u00cates-vous s\u00fbr que vous souhaitez cr\u00e9er un mod\u00e8le pour ce disque. La cr\u00e9ation peut prendre plusieurs minutes, voire plus, selon la taille du volume. +message.you.must.have.at.least.one.physical.network=Vous devez avoir au moins un r\u00e9seau physique +message.Zone.creation.complete=Cr\u00e9ation de la zone termin\u00e9e +message.zone.creation.complete.would.you.like.to.enable.this.zone=Cr\u00e9ation de la zone termin\u00e9e. Voulez-vous l\\'activer ? +message.zone.no.network.selection=La zone s\u00e9lectionn\u00e9e ne propose pas le r\u00e9seau choisi +message.zone.step.1.desc=S\u00e9lectionnez un mod\u00e8le de r\u00e9seau pour votre zone. message.zone.step.2.desc=Renseigner les informations suivantes pour ajouter une nouvelle zone message.zone.step.3.desc=Renseigner les informations suivantes pour ajouter un nouveau pod -message.zoneWizard.enable.local.storage=ATTENTION \: si vous activez le stockage local pour cette zone, vous devez effectuer les op\u00E9rations suivantes, selon l\\'endroit o\u00F9 vous souhaitez lancer vos machines virtuelles Syst\u00E8mes \:

1. Si les machines virtuelles Syst\u00E8mes doivent \u00EAtre lanc\u00E9es depuis le stockage principal, ce dernier doit \u00EAtre ajout\u00E9 \u00E0 la zone apr\u00E8s la cr\u00E9ation. Vous devez \u00E9galement d\u00E9marrer la zone dans un \u00E9tat d\u00E9sactiv\u00E9.

2. Si les machines virtuelles Syst\u00E8mes doivent \u00EAtre lanc\u00E9es depuis le stockage local, le param\u00E8tre system.vm.use.local.storage doit \u00EAtre d\u00E9fini \u00E0 \\'true\\' avant d\\'activer la zone.


Voulez-vous continuer ? +message.zoneWizard.enable.local.storage=ATTENTION \: si vous activez le stockage local pour cette zone, vous devez effectuer les op\u00e9rations suivantes, selon l\\'endroit o\u00f9 vous souhaitez lancer vos machines virtuelles Syst\u00e8mes \:

1. Si les machines virtuelles Syst\u00e8mes doivent \u00eatre lanc\u00e9es depuis le stockage principal, ce dernier doit \u00eatre ajout\u00e9 \u00e0 la zone apr\u00e8s la cr\u00e9ation. Vous devez \u00e9galement d\u00e9marrer la zone dans un \u00e9tat d\u00e9sactiv\u00e9.

2. Si les machines virtuelles Syst\u00e8mes doivent \u00eatre lanc\u00e9es depuis le stockage local, le param\u00e8tre system.vm.use.local.storage doit \u00eatre d\u00e9fini \u00e0 \\'true\\' avant d\\'activer la zone.


Voulez-vous continuer ? mode=Mode -network.rate=D\u00E9bit R\u00E9seau -notification.reboot.instance=Red\u00E9marrer l\\'instance -notification.start.instance=D\u00E9marrer l\\'instance +network.rate=D\u00e9bit R\u00e9seau +notification.reboot.instance=Red\u00e9marrer l\\'instance +notification.start.instance=D\u00e9marrer l\\'instance notification.stop.instance=Stopper l\\'instance -side.by.side=C\u00F4te \u00E0 c\u00F4te -state.Accepted=Accept\u00E9 +side.by.side=C\u00f4te \u00e0 c\u00f4te +state.Accepted=Accept\u00e9 state.Active=Actif -state.Allocated=Allou\u00E9 +state.Allocated=Allou\u00e9 state.Allocating=Allocation en cours -state.BackedUp=Sauvegard\u00E9 +state.BackedUp=Sauvegard\u00e9 state.BackingUp=Sauvegarde en cours -state.Completed=Termin\u00E9 -state.Creating=Cr\u00E9ation en cours -state.Declined=Refus\u00E9 -state.Destroyed=Supprim\u00E9e -state.Disabled=D\u00E9sactiv\u00E9 +state.Completed=Termin\u00e9 +state.Creating=Cr\u00e9ation en cours +state.Declined=Refus\u00e9 +state.Destroyed=Supprim\u00e9e +state.Disabled=D\u00e9sactiv\u00e9 +state.enabled=Actifs state.Enabled=Actifs state.Error=Erreur state.Expunging=Purge en cours state.Migrating=Migration en cours state.Pending=En attente -state.Ready=Pr\u00EAt -state.Running=D\u00E9marr\u00E9e -state.Starting=D\u00E9marrage en cours -state.Stopped=Arr\u00EAt\u00E9e -state.Stopping=Arr\u00EAt en cours +state.ready=Pr\u00eat +state.Ready=Pr\u00eat +state.Running=D\u00e9marr\u00e9e +state.Starting=D\u00e9marrage en cours +state.Stopped=Arr\u00eat\u00e9e +state.Stopping=Arr\u00eat en cours state.Suspended=Suspendu -state.enabled=Actifs -state.ready=Pr\u00EAt ui.listView.filters.all=Tous ui.listView.filters.mine=Mon diff --git a/client/WEB-INF/classes/resources/messages_it_IT.properties b/client/WEB-INF/classes/resources/messages_it_IT.properties index c6bc2dba127..f0c6524a3f0 100644 --- a/client/WEB-INF/classes/resources/messages_it_IT.properties +++ b/client/WEB-INF/classes/resources/messages_it_IT.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=Elementi delle propriet\u00e0 modificati confirm.enable.s3=Si prega di inserire i valori richiesti per abilitare il supporto per il Secondary Storage di tipo S3 confirm.enable.swift=Si prega di inserire i valori richiesti per abilitare il supporto per Swift diff --git a/client/WEB-INF/classes/resources/messages_ja.properties b/client/WEB-INF/classes/resources/messages_ja.properties index 2380e914a75..e4ea7944048 100644 --- a/client/WEB-INF/classes/resources/messages_ja.properties +++ b/client/WEB-INF/classes/resources/messages_ja.properties @@ -15,873 +15,874 @@ # specific language governing permissions and limitations # under the License. -changed.item.properties=\u9805\u76EE\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5909\u66F4 + +changed.item.properties=\u9805\u76ee\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5909\u66f4 confirm.enable.s3=S3\u57fa\u76e4\u30bb\u30ab\u30f3\u30c0\u30ea\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u6709\u52b9\u5316\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 -confirm.enable.swift=Swift1 \u306E\u30B5\u30DD\u30FC\u30C8\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u3001\u6B21\u306E\u60C5\u5831\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -error.could.not.enable.zone=\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -error.installWizard.message=\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u623B\u3063\u3066\u30A8\u30E9\u30FC\u3092\u4FEE\u6B63\u3067\u304D\u307E\u3059\u3002 -error.invalid.username.password=\u7121\u52B9\u306A\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9 -error.login=\u30E6\u30FC\u30B6\u30FC\u540D/\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u8A18\u9332\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002 +confirm.enable.swift=Swift1 \u306e\u30b5\u30dd\u30fc\u30c8\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +error.could.not.enable.zone=\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +error.installWizard.message=\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u623b\u3063\u3066\u30a8\u30e9\u30fc\u3092\u4fee\u6b63\u3067\u304d\u307e\u3059\u3002 +error.invalid.username.password=\u7121\u52b9\u306a\u30e6\u30fc\u30b6\u30fc\u540d\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9 +error.login=\u30e6\u30fc\u30b6\u30fc\u540d/\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u8a18\u9332\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002 error.menu.select=\u00e3\u0082\u00a2\u00e3\u0082\u00a4\u00e3\u0083\u0086\u00e3\u0083\u00a0\u00e3\u0081\u008c\u00e9\u0081\u00b8\u00e6\u008a\u009e\u00e3\u0081\u0095\u00e3\u0082\u008c\u00e3\u0081\u00a6\u00e3\u0081\u0084\u00e3\u0081\u00aa\u00e3\u0081\u0084\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0082\u00a2\u00e3\u0082\u00af\u00e3\u0082\u00b7\u00e3\u0083\u00a7\u00e3\u0083\u00b3\u00e3\u0082\u0092\u00e5\u00ae\u009f\u00e8\u00a1\u008c\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u0093\u00e3\u0081\u00a8\u00e3\u0081\u008c\u00e3\u0081\u00a7\u00e3\u0081\u008d\u00e3\u0081\u00be\u00e3\u0081\u009b\u00e3\u0082\u0093 -error.mgmt.server.inaccessible=\u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\u5F8C\u3067\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -error.password.not.match=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093 -error.please.specify.physical.network.tags=\u3053\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u30BF\u30B0\u3092\u6307\u5B9A\u3057\u306A\u3051\u308C\u3070\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 -error.session.expired=\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F\u3002 -error.something.went.wrong.please.correct.the.following=\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u6B21\u306E\u5185\u5BB9\u3092\u4FEE\u6B63\u3057\u3066\u304F\u3060\u3055\u3044 -error.unable.to.reach.management.server=\u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u3068\u901A\u4FE1\u3067\u304D\u307E\u305B\u3093 +error.mgmt.server.inaccessible=\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u5f8c\u3067\u518d\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +error.password.not.match=\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u4e00\u81f4\u3057\u307e\u305b\u3093 +error.please.specify.physical.network.tags=\u3053\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30bf\u30b0\u3092\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002 +error.session.expired=\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u6709\u52b9\u671f\u9650\u304c\u5207\u308c\u307e\u3057\u305f\u3002 +error.something.went.wrong.please.correct.the.following=\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u6b21\u306e\u5185\u5bb9\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044 +error.unable.to.reach.management.server=\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u3067\u304d\u307e\u305b\u3093 error.unresolved.internet.name=\u3042\u306a\u305f\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u540d\u306f\u89e3\u6c7a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002 -extractable=\u62BD\u51FA\u53EF\u80FD -force.delete.domain.warning=\u8B66\u544A\: \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u5B50\u30C9\u30E1\u30A4\u30F3\u304A\u3088\u3073\u95A2\u9023\u3059\u308B\u3059\u3079\u3066\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3068\u305D\u306E\u30EA\u30BD\u30FC\u30B9\u304C\u524A\u9664\u3055\u308C\u307E\u3059\u3002 -force.delete=\u5F37\u5236\u524A\u9664 -force.remove.host.warning=\u8B66\u544A\: \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3059\u308B\u3068\u3001\u5B9F\u884C\u4E2D\u306E\u3059\u3079\u3066\u306E\u4EEE\u60F3\u30DE\u30B7\u30F3\u304C\u5F37\u5236\u7684\u306B\u505C\u6B62\u3055\u308C\u3001\u30AF\u30E9\u30B9\u30BF\u30FC\u304B\u3089\u3053\u306E\u30DB\u30B9\u30C8\u304C\u5F37\u5236\u7684\u306B\u89E3\u9664\u3055\u308C\u307E\u3059\u3002 -force.remove=\u5F37\u5236\u89E3\u9664 -force.stop.instance.warning=\u8B66\u544A\: \u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u5F37\u5236\u505C\u6B62\u306F\u3001\u6700\u7D42\u624B\u6BB5\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30C7\u30FC\u30BF\u3092\u640D\u5931\u3059\u308B\u3060\u3051\u3067\u306A\u304F\u3001\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u52D5\u4F5C\u304C\u4E00\u8CAB\u3057\u306A\u304F\u306A\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -force.stop=\u5F37\u5236\u505C\u6B62 -ICMP.code=ICMP \u30B3\u30FC\u30C9 -ICMP.type=ICMP \u306E\u7A2E\u985E -image.directory=\u753B\u50CF\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA -inline=\u76F4\u5217 -instances.actions.reboot.label=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u518D\u8D77\u52D5 -label.accept.project.invitation=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u306E\u62DB\u5F85\u306E\u627F\u8AFE -label.account.and.security.group=\u30A2\u30AB\u30A6\u30F3\u30C8\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 -label.account.id=\u30A2\u30AB\u30A6\u30F3\u30C8 ID -label.account.name=\u30A2\u30AB\u30A6\u30F3\u30C8\u540D -label.account.specific=\u30A2\u30AB\u30A6\u30F3\u30C8\u56FA\u6709 -label.accounts=\u30A2\u30AB\u30A6\u30F3\u30C8 -label.account=\u30A2\u30AB\u30A6\u30F3\u30C8 -label.acquire.new.ip=\u65B0\u3057\u3044 IP \u30A2\u30C9\u30EC\u30B9\u306E\u53D6\u5F97 -label.action.attach.disk.processing=\u30C7\u30A3\u30B9\u30AF\u3092\u30A2\u30BF\u30C3\u30C1\u3057\u3066\u3044\u307E\u3059... -label.action.attach.disk=\u30C7\u30A3\u30B9\u30AF\u306E\u30A2\u30BF\u30C3\u30C1 -label.action.attach.iso=ISO \u306E\u30A2\u30BF\u30C3\u30C1 -label.action.attach.iso.processing=ISO \u3092\u30A2\u30BF\u30C3\u30C1\u3057\u3066\u3044\u307E\u3059... -label.action.cancel.maintenance.mode.processing=\u4FDD\u5B88\u30E2\u30FC\u30C9\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u3044\u307E\u3059... -label.action.cancel.maintenance.mode=\u4FDD\u5B88\u30E2\u30FC\u30C9\u306E\u30AD\u30E3\u30F3\u30BB\u30EB -label.action.change.password=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u5909\u66F4 -label.action.change.service.processing=\u30B5\u30FC\u30D3\u30B9\u3092\u5909\u66F4\u3057\u3066\u3044\u307E\u3059... -label.action.change.service=\u30B5\u30FC\u30D3\u30B9\u306E\u5909\u66F4 -label.action.copy.ISO=ISO \u306E\u30B3\u30D4\u30FC -label.action.copy.ISO.processing=ISO \u3092\u30B3\u30D4\u30FC\u3057\u3066\u3044\u307E\u3059... -label.action.copy.template.processing=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u30B3\u30D4\u30FC\u3057\u3066\u3044\u307E\u3059... -label.action.copy.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30B3\u30D4\u30FC -label.action.create.template.from.vm=VM \u304B\u3089\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u4F5C\u6210 -label.action.create.template.from.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u304B\u3089\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u4F5C\u6210 -label.action.create.template.processing=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... -label.action.create.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210 -label.action.create.vm.processing=VM \u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... -label.action.create.vm=VM \u306E\u4F5C\u6210 -label.action.create.volume.processing=\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... -label.action.create.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u4F5C\u6210 -label.action.delete.account.processing=\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u524A\u9664 -label.action.delete.cluster.processing=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u524A\u9664 -label.action.delete.disk.offering.processing=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.disk.offering=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u524A\u9664 -label.action.delete.domain.processing=\u30C9\u30E1\u30A4\u30F3\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.domain=\u30C9\u30E1\u30A4\u30F3\u306E\u524A\u9664 -label.action.delete.firewall.processing=\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.firewall=\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u898F\u5247\u306E\u524A\u9664 -label.action.delete.ingress.rule.processing=\u53D7\u4FE1\u898F\u5247\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.ingress.rule=\u53D7\u4FE1\u898F\u5247\u306E\u524A\u9664 -label.action.delete.IP.range=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306E\u524A\u9664 -label.action.delete.IP.range.processing=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.ISO=ISO \u306E\u524A\u9664 -label.action.delete.ISO.processing=ISO \u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.load.balancer.processing=\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.load.balancer=\u8CA0\u8377\u5206\u6563\u898F\u5247\u306E\u524A\u9664 -label.action.delete.network.processing=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u524A\u9664 -label.action.delete.nexusVswitch=Nexus 1000V \u306E\u524A\u9664 -label.action.delete.physical.network=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u524A\u9664 -label.action.delete.pod.processing=\u30DD\u30C3\u30C9\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.pod=\u30DD\u30C3\u30C9\u306E\u524A\u9664 -label.action.delete.primary.storage.processing=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.primary.storage=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u524A\u9664 -label.action.delete.secondary.storage.processing=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.secondary.storage=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u524A\u9664 -label.action.delete.security.group.processing=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.security.group=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u306E\u524A\u9664 -label.action.delete.service.offering.processing=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.service.offering=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u524A\u9664 -label.action.delete.snapshot.processing=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.snapshot=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u524A\u9664 -label.action.delete.system.service.offering=\u30B7\u30B9\u30C6\u30E0 \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u524A\u9664 -label.action.delete.template.processing=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u524A\u9664 -label.action.delete.user.processing=\u30E6\u30FC\u30B6\u30FC\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.user=\u30E6\u30FC\u30B6\u30FC\u306E\u524A\u9664 -label.action.delete.volume.processing=\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u524A\u9664 -label.action.delete.zone.processing=\u30BE\u30FC\u30F3\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.delete.zone=\u30BE\u30FC\u30F3\u306E\u524A\u9664 -label.action.destroy.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u7834\u68C4\u3057\u3066\u3044\u307E\u3059... -label.action.destroy.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u7834\u68C4 -label.action.destroy.systemvm.processing=\u30B7\u30B9\u30C6\u30E0 VM \u3092\u7834\u68C4\u3057\u3066\u3044\u307E\u3059... -label.action.destroy.systemvm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u7834\u68C4 -label.action.detach.disk.processing=\u30C7\u30A3\u30B9\u30AF\u3092\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u3044\u307E\u3059... -label.action.detach.disk=\u30C7\u30A3\u30B9\u30AF\u306E\u30C7\u30BF\u30C3\u30C1 -label.action.detach.iso=ISO \u306E\u30C7\u30BF\u30C3\u30C1 -label.action.detach.iso.processing=ISO \u3092\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u3044\u307E\u3059... -label.action.disable.account.processing=\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u7121\u52B9\u5316 -label.action.disable.cluster.processing=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u7121\u52B9\u5316 -label.action.disable.nexusVswitch=Nexus 1000V \u306E\u7121\u52B9\u5316 -label.action.disable.physical.network=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u7121\u52B9\u5316 -label.action.disable.pod.processing=\u30DD\u30C3\u30C9\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.pod=\u30DD\u30C3\u30C9\u306E\u7121\u52B9\u5316 -label.action.disable.static.NAT.processing=\u9759\u7684 NAT \u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.static.NAT=\u9759\u7684 NAT \u306E\u7121\u52B9\u5316 -label.action.disable.user.processing=\u30E6\u30FC\u30B6\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.user=\u30E6\u30FC\u30B6\u30FC\u306E\u7121\u52B9\u5316 -label.action.disable.zone.processing=\u30BE\u30FC\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.disable.zone=\u30BE\u30FC\u30F3\u306E\u7121\u52B9\u5316 -label.action.download.ISO=ISO \u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 -label.action.download.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 -label.action.download.volume.processing=\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u3044\u307E\u3059... -label.action.download.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 -label.action.edit.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u7DE8\u96C6 -label.action.edit.disk.offering=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u7DE8\u96C6 -label.action.edit.domain=\u30C9\u30E1\u30A4\u30F3\u306E\u7DE8\u96C6 -label.action.edit.global.setting=\u30B0\u30ED\u30FC\u30D0\u30EB\u8A2D\u5B9A\u306E\u7DE8\u96C6 -label.action.edit.host=\u30DB\u30B9\u30C8\u306E\u7DE8\u96C6 -label.action.edit.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u7DE8\u96C6 -label.action.edit.ISO=ISO \u306E\u7DE8\u96C6 -label.action.edit.network.offering=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u7DE8\u96C6 -label.action.edit.network.processing=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u7DE8\u96C6\u3057\u3066\u3044\u307E\u3059... -label.action.edit.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u7DE8\u96C6 -label.action.edit.pod=\u30DD\u30C3\u30C9\u306E\u7DE8\u96C6 -label.action.edit.primary.storage=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u7DE8\u96C6 -label.action.edit.resource.limits=\u30EA\u30BD\u30FC\u30B9\u5236\u9650\u306E\u7DE8\u96C6 -label.action.edit.service.offering=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u7DE8\u96C6 -label.action.edit.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u7DE8\u96C6 -label.action.edit.user=\u30E6\u30FC\u30B6\u30FC\u306E\u7DE8\u96C6 -label.action.edit.zone=\u30BE\u30FC\u30F3\u306E\u7DE8\u96C6 -label.action.enable.account.processing=\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u6709\u52B9\u5316 -label.action.enable.cluster.processing=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u6709\u52B9\u5316 -label.action.enable.maintenance.mode.processing=\u4FDD\u5B88\u30E2\u30FC\u30C9\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.maintenance.mode=\u4FDD\u5B88\u30E2\u30FC\u30C9\u306E\u6709\u52B9\u5316 -label.action.enable.nexusVswitch=Nexus 1000V \u306E\u6709\u52B9\u5316 -label.action.enable.physical.network=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u6709\u52B9\u5316 -label.action.enable.pod.processing=\u30DD\u30C3\u30C9\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.pod=\u30DD\u30C3\u30C9\u306E\u6709\u52B9\u5316 -label.action.enable.static.NAT.processing=\u9759\u7684 NAT \u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.static.NAT=\u9759\u7684 NAT \u306E\u6709\u52B9\u5316 -label.action.enable.user.processing=\u30E6\u30FC\u30B6\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.user=\u30E6\u30FC\u30B6\u30FC\u306E\u6709\u52B9\u5316 -label.action.enable.zone.processing=\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.enable.zone=\u30BE\u30FC\u30F3\u306E\u6709\u52B9\u5316 -label.action.force.reconnect.processing=\u518D\u63A5\u7D9A\u3057\u3066\u3044\u307E\u3059... -label.action.force.reconnect=\u5F37\u5236\u518D\u63A5\u7D9A -label.action.generate.keys.processing=\u30AD\u30FC\u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059... -label.action.generate.keys=\u30AD\u30FC\u306E\u751F\u6210 -label.action.list.nexusVswitch=Nexus 1000V \u306E\u4E00\u89A7\u8868\u793A -label.action.lock.account.processing=\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u30ED\u30C3\u30AF\u3057\u3066\u3044\u307E\u3059... -label.action.lock.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30ED\u30C3\u30AF -label.action.manage.cluster.processing=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u7BA1\u7406\u5BFE\u8C61\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.manage.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u7BA1\u7406\u5BFE\u8C61\u5316 -label.action.migrate.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u79FB\u884C\u3057\u3066\u3044\u307E\u3059... -label.action.migrate.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u79FB\u884C -label.action.migrate.router.processing=\u30EB\u30FC\u30BF\u30FC\u3092\u79FB\u884C\u3057\u3066\u3044\u307E\u3059... -label.action.migrate.router=\u30EB\u30FC\u30BF\u30FC\u306E\u79FB\u884C -label.action.migrate.systemvm.processing=\u30B7\u30B9\u30C6\u30E0 VM \u3092\u79FB\u884C\u3057\u3066\u3044\u307E\u3059... -label.action.migrate.systemvm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u79FB\u884C -label.action.reboot.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u518D\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.reboot.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u518D\u8D77\u52D5 -label.action.reboot.router.processing=\u30EB\u30FC\u30BF\u30FC\u3092\u518D\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.reboot.router=\u30EB\u30FC\u30BF\u30FC\u306E\u518D\u8D77\u52D5 -label.action.reboot.systemvm.processing=\u30B7\u30B9\u30C6\u30E0 VM \u3092\u518D\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.reboot.systemvm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u518D\u8D77\u52D5 -label.action.recurring.snapshot=\u5B9A\u671F\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 -label.action.register.iso=ISO \u306E\u767B\u9332 -label.action.register.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u767B\u9332 -label.action.release.ip=IP \u30A2\u30C9\u30EC\u30B9\u306E\u89E3\u653E -label.action.release.ip.processing=IP \u30A2\u30C9\u30EC\u30B9\u3092\u89E3\u653E\u3057\u3066\u3044\u307E\u3059... -label.action.remove.host.processing=\u30DB\u30B9\u30C8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.action.remove.host=\u30DB\u30B9\u30C8\u306E\u524A\u9664 -label.action.reset.password.processing=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3066\u3044\u307E\u3059... -label.action.reset.password=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u30EA\u30BB\u30C3\u30C8 -label.action.resource.limits=\u30EA\u30BD\u30FC\u30B9\u5236\u9650 -label.action.restore.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u5FA9\u5143\u3057\u3066\u3044\u307E\u3059... -label.action.restore.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u5FA9\u5143 -label.action.start.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.start.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u8D77\u52D5 -label.action.start.router.processing=\u30EB\u30FC\u30BF\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.start.router=\u30EB\u30FC\u30BF\u30FC\u306E\u8D77\u52D5 -label.action.start.systemvm.processing=\u30B7\u30B9\u30C6\u30E0 VM \u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059... -label.action.start.systemvm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u8D77\u52D5 -label.action.stop.instance.processing=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u505C\u6B62\u3057\u3066\u3044\u307E\u3059... -label.action.stop.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u505C\u6B62 -label.action.stop.router.processing=\u30EB\u30FC\u30BF\u30FC\u3092\u505C\u6B62\u3057\u3066\u3044\u307E\u3059... -label.action.stop.router=\u30EB\u30FC\u30BF\u30FC\u306E\u505C\u6B62 -label.action.stop.systemvm.processing=\u30B7\u30B9\u30C6\u30E0 VM \u3092\u505C\u6B62\u3057\u3066\u3044\u307E\u3059... -label.action.stop.systemvm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u505C\u6B62 -label.actions=\u64CD\u4F5C -label.action.take.snapshot.processing=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059.... -label.action.take.snapshot=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u4F5C\u6210 -label.action.unmanage.cluster.processing=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u975E\u7BA1\u7406\u5BFE\u8C61\u306B\u3057\u3066\u3044\u307E\u3059... -label.action.unmanage.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u975E\u7BA1\u7406\u5BFE\u8C61\u5316 -label.action.update.OS.preference=OS \u57FA\u672C\u8A2D\u5B9A\u306E\u66F4\u65B0 -label.action.update.OS.preference.processing=OS \u57FA\u672C\u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u3066\u3044\u307E\u3059... -label.action.update.resource.count.processing=\u30EA\u30BD\u30FC\u30B9\u6570\u3092\u66F4\u65B0\u3057\u3066\u3044\u307E\u3059... -label.action.update.resource.count=\u30EA\u30BD\u30FC\u30B9\u6570\u306E\u66F4\u65B0 -label.activate.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30A2\u30AF\u30C6\u30A3\u30D6\u5316 -label.active.sessions=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30BB\u30C3\u30B7\u30E7\u30F3 -label.add.accounts.to=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u8FFD\u52A0\u5148\: -label.add.accounts=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u8FFD\u52A0 -label.add.account.to.project=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u306E\u8FFD\u52A0 -label.add.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u8FFD\u52A0 -label.add.ACL=ACL \u306E\u8FFD\u52A0 -label.add.by.cidr=CIDR \u3067\u8FFD\u52A0 -label.add.by.group=\u30B0\u30EB\u30FC\u30D7\u3067\u8FFD\u52A0 -label.add.by=\u8FFD\u52A0\u5358\u4F4D -label.add.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u8FFD\u52A0 -label.add.compute.offering=\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u8FFD\u52A0 -label.add.direct.iprange=\u76F4\u63A5 IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306E\u8FFD\u52A0 -label.add.disk.offering=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u8FFD\u52A0 -label.add.domain=\u30C9\u30E1\u30A4\u30F3\u306E\u8FFD\u52A0 -label.add.egress.rule=\u9001\u4FE1\u898F\u5247\u306E\u8FFD\u52A0 -label.add.F5.device=F5 \u30C7\u30D0\u30A4\u30B9\u306E\u8FFD\u52A0 -label.add.firewall=\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u898F\u5247\u306E\u8FFD\u52A0 -label.add.guest.network=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8FFD\u52A0 -label.add.host=\u30DB\u30B9\u30C8\u306E\u8FFD\u52A0 -label.adding.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -label.adding.failed=\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -label.adding.pod=\u30DD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -label.adding.processing=\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059... -label.add.ingress.rule=\u53D7\u4FE1\u898F\u5247\u306E\u8FFD\u52A0 -label.adding.succeeded=\u8FFD\u52A0\u3057\u307E\u3057\u305F -label.adding=\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -label.adding.user=\u30E6\u30FC\u30B6\u30FC\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -label.adding.zone=\u30BE\u30FC\u30F3\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -label.add.ip.range=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306E\u8FFD\u52A0 -label.additional.networks=\u8FFD\u52A0\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.add.load.balancer=\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u306E\u8FFD\u52A0 -label.add.more=\u305D\u306E\u307B\u304B\u306E\u9805\u76EE\u306E\u8FFD\u52A0 -label.add.netScaler.device=Netscaler \u30C7\u30D0\u30A4\u30B9\u306E\u8FFD\u52A0 -label.add.network.ACL=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ACL \u306E\u8FFD\u52A0 -label.add.network.device=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C7\u30D0\u30A4\u30B9\u306E\u8FFD\u52A0 -label.add.network.offering=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u8FFD\u52A0 -label.add.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8FFD\u52A0 -label.add.new.F5=\u65B0\u3057\u3044 F5 \u306E\u8FFD\u52A0 -label.add.new.gateway=\u65B0\u3057\u3044\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u8FFD\u52A0 -label.add.new.NetScaler=\u65B0\u3057\u3044 NetScaler \u306E\u8FFD\u52A0 -label.add.new.SRX=\u65B0\u3057\u3044 SRX \u306E\u8FFD\u52A0 -label.add.new.tier=\u65B0\u3057\u3044\u968E\u5C64\u306E\u8FFD\u52A0 +extractable=\u62bd\u51fa\u53ef\u80fd +force.delete.domain.warning=\u8b66\u544a\: \u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u3059\u3079\u3066\u306e\u5b50\u30c9\u30e1\u30a4\u30f3\u304a\u3088\u3073\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u305d\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u524a\u9664\u3055\u308c\u307e\u3059\u3002 +force.delete=\u5f37\u5236\u524a\u9664 +force.remove.host.warning=\u8b66\u544a\: \u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u5b9f\u884c\u4e2d\u306e\u3059\u3079\u3066\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u304c\u5f37\u5236\u7684\u306b\u505c\u6b62\u3055\u308c\u3001\u30af\u30e9\u30b9\u30bf\u30fc\u304b\u3089\u3053\u306e\u30db\u30b9\u30c8\u304c\u5f37\u5236\u7684\u306b\u89e3\u9664\u3055\u308c\u307e\u3059\u3002 +force.remove=\u5f37\u5236\u89e3\u9664 +force.stop.instance.warning=\u8b66\u544a\: \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u5f37\u5236\u505c\u6b62\u306f\u3001\u6700\u7d42\u624b\u6bb5\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30c7\u30fc\u30bf\u3092\u640d\u5931\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u52d5\u4f5c\u304c\u4e00\u8cab\u3057\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +force.stop=\u5f37\u5236\u505c\u6b62 +ICMP.code=ICMP \u30b3\u30fc\u30c9 +ICMP.type=ICMP \u306e\u7a2e\u985e +image.directory=\u753b\u50cf\u30c7\u30a3\u30ec\u30af\u30c8\u30ea +inline=\u76f4\u5217 +instances.actions.reboot.label=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u8d77\u52d5 +label.accept.project.invitation=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u62db\u5f85\u306e\u627f\u8afe +label.account.and.security.group=\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 +label.account.id=\u30a2\u30ab\u30a6\u30f3\u30c8 ID +label.account.name=\u30a2\u30ab\u30a6\u30f3\u30c8\u540d +label.account.specific=\u30a2\u30ab\u30a6\u30f3\u30c8\u56fa\u6709 +label.accounts=\u30a2\u30ab\u30a6\u30f3\u30c8 +label.account=\u30a2\u30ab\u30a6\u30f3\u30c8 +label.acquire.new.ip=\u65b0\u3057\u3044 IP \u30a2\u30c9\u30ec\u30b9\u306e\u53d6\u5f97 +label.action.attach.disk.processing=\u30c7\u30a3\u30b9\u30af\u3092\u30a2\u30bf\u30c3\u30c1\u3057\u3066\u3044\u307e\u3059... +label.action.attach.disk=\u30c7\u30a3\u30b9\u30af\u306e\u30a2\u30bf\u30c3\u30c1 +label.action.attach.iso=ISO \u306e\u30a2\u30bf\u30c3\u30c1 +label.action.attach.iso.processing=ISO \u3092\u30a2\u30bf\u30c3\u30c1\u3057\u3066\u3044\u307e\u3059... +label.action.cancel.maintenance.mode.processing=\u4fdd\u5b88\u30e2\u30fc\u30c9\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u3066\u3044\u307e\u3059... +label.action.cancel.maintenance.mode=\u4fdd\u5b88\u30e2\u30fc\u30c9\u306e\u30ad\u30e3\u30f3\u30bb\u30eb +label.action.change.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5909\u66f4 +label.action.change.service.processing=\u30b5\u30fc\u30d3\u30b9\u3092\u5909\u66f4\u3057\u3066\u3044\u307e\u3059... +label.action.change.service=\u30b5\u30fc\u30d3\u30b9\u306e\u5909\u66f4 +label.action.copy.ISO=ISO \u306e\u30b3\u30d4\u30fc +label.action.copy.ISO.processing=ISO \u3092\u30b3\u30d4\u30fc\u3057\u3066\u3044\u307e\u3059... +label.action.copy.template.processing=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u30b3\u30d4\u30fc\u3057\u3066\u3044\u307e\u3059... +label.action.copy.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30b3\u30d4\u30fc +label.action.create.template.from.vm=VM \u304b\u3089\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u4f5c\u6210 +label.action.create.template.from.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u304b\u3089\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u4f5c\u6210 +label.action.create.template.processing=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059... +label.action.create.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210 +label.action.create.vm.processing=VM \u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059... +label.action.create.vm=VM \u306e\u4f5c\u6210 +label.action.create.volume.processing=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059... +label.action.create.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u4f5c\u6210 +label.action.delete.account.processing=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u524a\u9664 +label.action.delete.cluster.processing=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u524a\u9664 +label.action.delete.disk.offering.processing=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.disk.offering=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u524a\u9664 +label.action.delete.domain.processing=\u30c9\u30e1\u30a4\u30f3\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.domain=\u30c9\u30e1\u30a4\u30f3\u306e\u524a\u9664 +label.action.delete.firewall.processing=\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.firewall=\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u898f\u5247\u306e\u524a\u9664 +label.action.delete.ingress.rule.processing=\u53d7\u4fe1\u898f\u5247\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.ingress.rule=\u53d7\u4fe1\u898f\u5247\u306e\u524a\u9664 +label.action.delete.IP.range=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u524a\u9664 +label.action.delete.IP.range.processing=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.ISO=ISO \u306e\u524a\u9664 +label.action.delete.ISO.processing=ISO \u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.load.balancer.processing=\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.load.balancer=\u8ca0\u8377\u5206\u6563\u898f\u5247\u306e\u524a\u9664 +label.action.delete.network.processing=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u524a\u9664 +label.action.delete.nexusVswitch=Nexus 1000V \u306e\u524a\u9664 +label.action.delete.physical.network=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u524a\u9664 +label.action.delete.pod.processing=\u30dd\u30c3\u30c9\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.pod=\u30dd\u30c3\u30c9\u306e\u524a\u9664 +label.action.delete.primary.storage.processing=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.primary.storage=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u524a\u9664 +label.action.delete.secondary.storage.processing=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.secondary.storage=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u524a\u9664 +label.action.delete.security.group.processing=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.security.group=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u306e\u524a\u9664 +label.action.delete.service.offering.processing=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u524a\u9664 +label.action.delete.snapshot.processing=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.snapshot=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u524a\u9664 +label.action.delete.system.service.offering=\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u524a\u9664 +label.action.delete.template.processing=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u524a\u9664 +label.action.delete.user.processing=\u30e6\u30fc\u30b6\u30fc\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.user=\u30e6\u30fc\u30b6\u30fc\u306e\u524a\u9664 +label.action.delete.volume.processing=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u524a\u9664 +label.action.delete.zone.processing=\u30be\u30fc\u30f3\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.delete.zone=\u30be\u30fc\u30f3\u306e\u524a\u9664 +label.action.destroy.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7834\u68c4\u3057\u3066\u3044\u307e\u3059... +label.action.destroy.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u7834\u68c4 +label.action.destroy.systemvm.processing=\u30b7\u30b9\u30c6\u30e0 VM \u3092\u7834\u68c4\u3057\u3066\u3044\u307e\u3059... +label.action.destroy.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u7834\u68c4 +label.action.detach.disk.processing=\u30c7\u30a3\u30b9\u30af\u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3044\u307e\u3059... +label.action.detach.disk=\u30c7\u30a3\u30b9\u30af\u306e\u30c7\u30bf\u30c3\u30c1 +label.action.detach.iso=ISO \u306e\u30c7\u30bf\u30c3\u30c1 +label.action.detach.iso.processing=ISO \u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3044\u307e\u3059... +label.action.disable.account.processing=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u7121\u52b9\u5316 +label.action.disable.cluster.processing=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u7121\u52b9\u5316 +label.action.disable.nexusVswitch=Nexus 1000V \u306e\u7121\u52b9\u5316 +label.action.disable.physical.network=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u7121\u52b9\u5316 +label.action.disable.pod.processing=\u30dd\u30c3\u30c9\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.pod=\u30dd\u30c3\u30c9\u306e\u7121\u52b9\u5316 +label.action.disable.static.NAT.processing=\u9759\u7684 NAT \u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.static.NAT=\u9759\u7684 NAT \u306e\u7121\u52b9\u5316 +label.action.disable.user.processing=\u30e6\u30fc\u30b6\u30fc\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.user=\u30e6\u30fc\u30b6\u30fc\u306e\u7121\u52b9\u5316 +label.action.disable.zone.processing=\u30be\u30fc\u30f3\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.disable.zone=\u30be\u30fc\u30f3\u306e\u7121\u52b9\u5316 +label.action.download.ISO=ISO \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 +label.action.download.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 +label.action.download.volume.processing=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059... +label.action.download.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 +label.action.edit.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u7de8\u96c6 +label.action.edit.disk.offering=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u7de8\u96c6 +label.action.edit.domain=\u30c9\u30e1\u30a4\u30f3\u306e\u7de8\u96c6 +label.action.edit.global.setting=\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a\u306e\u7de8\u96c6 +label.action.edit.host=\u30db\u30b9\u30c8\u306e\u7de8\u96c6 +label.action.edit.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u7de8\u96c6 +label.action.edit.ISO=ISO \u306e\u7de8\u96c6 +label.action.edit.network.offering=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u7de8\u96c6 +label.action.edit.network.processing=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u7de8\u96c6\u3057\u3066\u3044\u307e\u3059... +label.action.edit.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u7de8\u96c6 +label.action.edit.pod=\u30dd\u30c3\u30c9\u306e\u7de8\u96c6 +label.action.edit.primary.storage=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u7de8\u96c6 +label.action.edit.resource.limits=\u30ea\u30bd\u30fc\u30b9\u5236\u9650\u306e\u7de8\u96c6 +label.action.edit.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u7de8\u96c6 +label.action.edit.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u7de8\u96c6 +label.action.edit.user=\u30e6\u30fc\u30b6\u30fc\u306e\u7de8\u96c6 +label.action.edit.zone=\u30be\u30fc\u30f3\u306e\u7de8\u96c6 +label.action.enable.account.processing=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u6709\u52b9\u5316 +label.action.enable.cluster.processing=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u6709\u52b9\u5316 +label.action.enable.maintenance.mode.processing=\u4fdd\u5b88\u30e2\u30fc\u30c9\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.maintenance.mode=\u4fdd\u5b88\u30e2\u30fc\u30c9\u306e\u6709\u52b9\u5316 +label.action.enable.nexusVswitch=Nexus 1000V \u306e\u6709\u52b9\u5316 +label.action.enable.physical.network=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6709\u52b9\u5316 +label.action.enable.pod.processing=\u30dd\u30c3\u30c9\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.pod=\u30dd\u30c3\u30c9\u306e\u6709\u52b9\u5316 +label.action.enable.static.NAT.processing=\u9759\u7684 NAT \u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.static.NAT=\u9759\u7684 NAT \u306e\u6709\u52b9\u5316 +label.action.enable.user.processing=\u30e6\u30fc\u30b6\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.user=\u30e6\u30fc\u30b6\u30fc\u306e\u6709\u52b9\u5316 +label.action.enable.zone.processing=\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.enable.zone=\u30be\u30fc\u30f3\u306e\u6709\u52b9\u5316 +label.action.force.reconnect.processing=\u518d\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059... +label.action.force.reconnect=\u5f37\u5236\u518d\u63a5\u7d9a +label.action.generate.keys.processing=\u30ad\u30fc\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059... +label.action.generate.keys=\u30ad\u30fc\u306e\u751f\u6210 +label.action.list.nexusVswitch=Nexus 1000V \u306e\u4e00\u89a7\u8868\u793a +label.action.lock.account.processing=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30ed\u30c3\u30af\u3057\u3066\u3044\u307e\u3059... +label.action.lock.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30ed\u30c3\u30af +label.action.manage.cluster.processing=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u7ba1\u7406\u5bfe\u8c61\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.manage.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u7ba1\u7406\u5bfe\u8c61\u5316 +label.action.migrate.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u79fb\u884c\u3057\u3066\u3044\u307e\u3059... +label.action.migrate.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c +label.action.migrate.router.processing=\u30eb\u30fc\u30bf\u30fc\u3092\u79fb\u884c\u3057\u3066\u3044\u307e\u3059... +label.action.migrate.router=\u30eb\u30fc\u30bf\u30fc\u306e\u79fb\u884c +label.action.migrate.systemvm.processing=\u30b7\u30b9\u30c6\u30e0 VM \u3092\u79fb\u884c\u3057\u3066\u3044\u307e\u3059... +label.action.migrate.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u79fb\u884c +label.action.reboot.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.reboot.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u8d77\u52d5 +label.action.reboot.router.processing=\u30eb\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.reboot.router=\u30eb\u30fc\u30bf\u30fc\u306e\u518d\u8d77\u52d5 +label.action.reboot.systemvm.processing=\u30b7\u30b9\u30c6\u30e0 VM \u3092\u518d\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.reboot.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u518d\u8d77\u52d5 +label.action.recurring.snapshot=\u5b9a\u671f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 +label.action.register.iso=ISO \u306e\u767b\u9332 +label.action.register.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u767b\u9332 +label.action.release.ip=IP \u30a2\u30c9\u30ec\u30b9\u306e\u89e3\u653e +label.action.release.ip.processing=IP \u30a2\u30c9\u30ec\u30b9\u3092\u89e3\u653e\u3057\u3066\u3044\u307e\u3059... +label.action.remove.host.processing=\u30db\u30b9\u30c8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.action.remove.host=\u30db\u30b9\u30c8\u306e\u524a\u9664 +label.action.reset.password.processing=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u3066\u3044\u307e\u3059... +label.action.reset.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u30ea\u30bb\u30c3\u30c8 +label.action.resource.limits=\u30ea\u30bd\u30fc\u30b9\u5236\u9650 +label.action.restore.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5fa9\u5143\u3057\u3066\u3044\u307e\u3059... +label.action.restore.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u5fa9\u5143 +label.action.start.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.start.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8d77\u52d5 +label.action.start.router.processing=\u30eb\u30fc\u30bf\u30fc\u3092\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.start.router=\u30eb\u30fc\u30bf\u30fc\u306e\u8d77\u52d5 +label.action.start.systemvm.processing=\u30b7\u30b9\u30c6\u30e0 VM \u3092\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059... +label.action.start.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u8d77\u52d5 +label.action.stop.instance.processing=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3057\u3066\u3044\u307e\u3059... +label.action.stop.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u505c\u6b62 +label.action.stop.router.processing=\u30eb\u30fc\u30bf\u30fc\u3092\u505c\u6b62\u3057\u3066\u3044\u307e\u3059... +label.action.stop.router=\u30eb\u30fc\u30bf\u30fc\u306e\u505c\u6b62 +label.action.stop.systemvm.processing=\u30b7\u30b9\u30c6\u30e0 VM \u3092\u505c\u6b62\u3057\u3066\u3044\u307e\u3059... +label.action.stop.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u505c\u6b62 +label.actions=\u64cd\u4f5c +label.action.take.snapshot.processing=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059.... +label.action.take.snapshot=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u4f5c\u6210 +label.action.unmanage.cluster.processing=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u975e\u7ba1\u7406\u5bfe\u8c61\u306b\u3057\u3066\u3044\u307e\u3059... +label.action.unmanage.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u975e\u7ba1\u7406\u5bfe\u8c61\u5316 +label.action.update.OS.preference=OS \u57fa\u672c\u8a2d\u5b9a\u306e\u66f4\u65b0 +label.action.update.OS.preference.processing=OS \u57fa\u672c\u8a2d\u5b9a\u3092\u66f4\u65b0\u3057\u3066\u3044\u307e\u3059... +label.action.update.resource.count.processing=\u30ea\u30bd\u30fc\u30b9\u6570\u3092\u66f4\u65b0\u3057\u3066\u3044\u307e\u3059... +label.action.update.resource.count=\u30ea\u30bd\u30fc\u30b9\u6570\u306e\u66f4\u65b0 +label.activate.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u5316 +label.active.sessions=\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bb\u30c3\u30b7\u30e7\u30f3 +label.add.accounts.to=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8ffd\u52a0\u5148\: +label.add.accounts=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8ffd\u52a0 +label.add.account.to.project=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u8ffd\u52a0 +label.add.account=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8ffd\u52a0 +label.add.ACL=ACL \u306e\u8ffd\u52a0 +label.add.by.cidr=CIDR \u3067\u8ffd\u52a0 +label.add.by.group=\u30b0\u30eb\u30fc\u30d7\u3067\u8ffd\u52a0 +label.add.by=\u8ffd\u52a0\u5358\u4f4d +label.add.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u8ffd\u52a0 +label.add.compute.offering=\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8ffd\u52a0 +label.add.direct.iprange=\u76f4\u63a5 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u8ffd\u52a0 +label.add.disk.offering=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8ffd\u52a0 +label.add.domain=\u30c9\u30e1\u30a4\u30f3\u306e\u8ffd\u52a0 +label.add.egress.rule=\u9001\u4fe1\u898f\u5247\u306e\u8ffd\u52a0 +label.add.F5.device=F5 \u30c7\u30d0\u30a4\u30b9\u306e\u8ffd\u52a0 +label.add.firewall=\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u898f\u5247\u306e\u8ffd\u52a0 +label.add.guest.network=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0 +label.add.host=\u30db\u30b9\u30c8\u306e\u8ffd\u52a0 +label.adding.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +label.adding.failed=\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +label.adding.pod=\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +label.adding.processing=\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059... +label.add.ingress.rule=\u53d7\u4fe1\u898f\u5247\u306e\u8ffd\u52a0 +label.adding.succeeded=\u8ffd\u52a0\u3057\u307e\u3057\u305f +label.adding=\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +label.adding.user=\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +label.adding.zone=\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +label.add.ip.range=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u8ffd\u52a0 +label.additional.networks=\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.add.load.balancer=\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u306e\u8ffd\u52a0 +label.add.more=\u305d\u306e\u307b\u304b\u306e\u9805\u76ee\u306e\u8ffd\u52a0 +label.add.netScaler.device=Netscaler \u30c7\u30d0\u30a4\u30b9\u306e\u8ffd\u52a0 +label.add.network.ACL=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL \u306e\u8ffd\u52a0 +label.add.network.device=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c7\u30d0\u30a4\u30b9\u306e\u8ffd\u52a0 +label.add.network.offering=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8ffd\u52a0 +label.add.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0 +label.add.new.F5=\u65b0\u3057\u3044 F5 \u306e\u8ffd\u52a0 +label.add.new.gateway=\u65b0\u3057\u3044\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u8ffd\u52a0 +label.add.new.NetScaler=\u65b0\u3057\u3044 NetScaler \u306e\u8ffd\u52a0 +label.add.new.SRX=\u65b0\u3057\u3044 SRX \u306e\u8ffd\u52a0 +label.add.new.tier=\u65b0\u3057\u3044\u968e\u5c64\u306e\u8ffd\u52a0 label.add.NiciraNvp.device=NVP\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306e\u8ffd\u52a0 -label.add.physical.network=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8FFD\u52A0 -label.add.pod=\u30DD\u30C3\u30C9\u306E\u8FFD\u52A0 -label.add.port.forwarding.rule=\u30DD\u30FC\u30C8\u8EE2\u9001\u898F\u5247\u306E\u8FFD\u52A0 -label.add.primary.storage=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u8FFD\u52A0 -label.add.resources=\u30EA\u30BD\u30FC\u30B9\u306E\u8FFD\u52A0 -label.add.route=\u30EB\u30FC\u30C8\u306E\u8FFD\u52A0 -label.add.rule=\u898F\u5247\u306E\u8FFD\u52A0 -label.add.secondary.storage=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u8FFD\u52A0 -label.add.security.group=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u306E\u8FFD\u52A0 -label.add.service.offering=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u8FFD\u52A0 -label.add.SRX.device=SRX \u30C7\u30D0\u30A4\u30B9\u306E\u8FFD\u52A0 -label.add.static.nat.rule=\u9759\u7684 NAT \u898F\u5247\u306E\u8FFD\u52A0 -label.add.static.route=\u9759\u7684\u30EB\u30FC\u30C8\u306E\u8FFD\u52A0 -label.add.system.service.offering=\u30B7\u30B9\u30C6\u30E0 \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u8FFD\u52A0 -label.add.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u8FFD\u52A0 -label.add.to.group=\u30B0\u30EB\u30FC\u30D7\u3078\u306E\u8FFD\u52A0 -label.add=\u8FFD\u52A0 -label.add.user=\u30E6\u30FC\u30B6\u30FC\u306E\u8FFD\u52A0 -label.add.vlan=VLAN \u306E\u8FFD\u52A0 -label.add.vms.to.lb=\u8CA0\u8377\u5206\u6563\u898F\u5247\u3078\u306E VM \u306E\u8FFD\u52A0 -label.add.vms=VM \u306E\u8FFD\u52A0 -label.add.VM.to.tier=\u968E\u5C64\u3078\u306E VM \u306E\u8FFD\u52A0 -label.add.vm=VM \u306E\u8FFD\u52A0 -label.add.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u8FFD\u52A0 -label.add.vpc=VPC \u306E\u8FFD\u52A0 -label.add.vpn.customer.gateway=VPN \u30AB\u30B9\u30BF\u30DE\u30FC \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u8FFD\u52A0 -label.add.VPN.gateway=VPN \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u8FFD\u52A0 -label.add.vpn.user=VPN \u30E6\u30FC\u30B6\u30FC\u306E\u8FFD\u52A0 -label.add.zone=\u30BE\u30FC\u30F3\u306E\u8FFD\u52A0 -label.admin.accounts=\u7BA1\u7406\u8005\u30A2\u30AB\u30A6\u30F3\u30C8 -label.admin=\u7BA1\u7406\u8005 -label.advanced.mode=\u62E1\u5F35\u30E2\u30FC\u30C9 -label.advanced.search=\u9AD8\u5EA6\u306A\u691C\u7D22 -label.advanced=\u62E1\u5F35 -label.agent.password=\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u30D1\u30B9\u30EF\u30FC\u30C9 -label.agent.username=\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u30E6\u30FC\u30B6\u30FC\u540D -label.agree=\u540C\u610F\u3059\u308B -label.alert=\u30A2\u30E9\u30FC\u30C8 -label.algorithm=\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0 -label.allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F -label.allocation.state=\u5272\u308A\u5F53\u3066\u72B6\u614B -label.api.key=API \u30AD\u30FC +label.add.physical.network=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0 +label.add.pod=\u30dd\u30c3\u30c9\u306e\u8ffd\u52a0 +label.add.port.forwarding.rule=\u30dd\u30fc\u30c8\u8ee2\u9001\u898f\u5247\u306e\u8ffd\u52a0 +label.add.primary.storage=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u8ffd\u52a0 +label.add.resources=\u30ea\u30bd\u30fc\u30b9\u306e\u8ffd\u52a0 +label.add.route=\u30eb\u30fc\u30c8\u306e\u8ffd\u52a0 +label.add.rule=\u898f\u5247\u306e\u8ffd\u52a0 +label.add.secondary.storage=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u8ffd\u52a0 +label.add.security.group=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u306e\u8ffd\u52a0 +label.add.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8ffd\u52a0 +label.add.SRX.device=SRX \u30c7\u30d0\u30a4\u30b9\u306e\u8ffd\u52a0 +label.add.static.nat.rule=\u9759\u7684 NAT \u898f\u5247\u306e\u8ffd\u52a0 +label.add.static.route=\u9759\u7684\u30eb\u30fc\u30c8\u306e\u8ffd\u52a0 +label.add.system.service.offering=\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8ffd\u52a0 +label.add.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u8ffd\u52a0 +label.add.to.group=\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u8ffd\u52a0 +label.add=\u8ffd\u52a0 +label.add.user=\u30e6\u30fc\u30b6\u30fc\u306e\u8ffd\u52a0 +label.add.vlan=VLAN \u306e\u8ffd\u52a0 +label.add.vms.to.lb=\u8ca0\u8377\u5206\u6563\u898f\u5247\u3078\u306e VM \u306e\u8ffd\u52a0 +label.add.vms=VM \u306e\u8ffd\u52a0 +label.add.VM.to.tier=\u968e\u5c64\u3078\u306e VM \u306e\u8ffd\u52a0 +label.add.vm=VM \u306e\u8ffd\u52a0 +label.add.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u8ffd\u52a0 +label.add.vpc=VPC \u306e\u8ffd\u52a0 +label.add.vpn.customer.gateway=VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u8ffd\u52a0 +label.add.VPN.gateway=VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u8ffd\u52a0 +label.add.vpn.user=VPN \u30e6\u30fc\u30b6\u30fc\u306e\u8ffd\u52a0 +label.add.zone=\u30be\u30fc\u30f3\u306e\u8ffd\u52a0 +label.admin.accounts=\u7ba1\u7406\u8005\u30a2\u30ab\u30a6\u30f3\u30c8 +label.admin=\u7ba1\u7406\u8005 +label.advanced.mode=\u62e1\u5f35\u30e2\u30fc\u30c9 +label.advanced.search=\u9ad8\u5ea6\u306a\u691c\u7d22 +label.advanced=\u62e1\u5f35 +label.agent.password=\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u30d1\u30b9\u30ef\u30fc\u30c9 +label.agent.username=\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u30e6\u30fc\u30b6\u30fc\u540d +label.agree=\u540c\u610f\u3059\u308b +label.alert=\u30a2\u30e9\u30fc\u30c8 +label.algorithm=\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 +label.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f +label.allocation.state=\u5272\u308a\u5f53\u3066\u72b6\u614b +label.api.key=API \u30ad\u30fc label.apply=\u9069\u7528 -label.assign.to.load.balancer=\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u5272\u308A\u5F53\u3066\u3066\u3044\u307E\u3059 -label.assign=\u5272\u308A\u5F53\u3066 -label.associated.network.id=\u95A2\u9023\u3065\u3051\u3089\u308C\u305F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ID -label.associated.network=\u95A2\u9023\u3065\u3051\u3089\u308C\u305F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.attached.iso=\u30A2\u30BF\u30C3\u30C1\u3055\u308C\u305F ISO -label.availability=\u53EF\u7528\u6027 -label.availability.zone=\u5229\u7528\u53EF\u80FD\u30BE\u30FC\u30F3 -label.available.public.ips=\u4F7F\u7528\u3067\u304D\u308B\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9 -label.available=\u4F7F\u7528\u53EF\u80FD -label.back=\u623B\u308B -label.bandwidth=\u5E2F\u57DF\u5E45 -label.basic.mode=\u57FA\u672C\u30E2\u30FC\u30C9 -label.basic=\u57FA\u672C -label.bootable=\u8D77\u52D5\u53EF\u80FD -label.broadcast.domain.range=\u30D6\u30ED\u30FC\u30C9\u30AD\u30E3\u30B9\u30C8 \u30C9\u30E1\u30A4\u30F3\u306E\u7BC4\u56F2 -label.broadcast.domain.type=\u30D6\u30ED\u30FC\u30C9\u30AD\u30E3\u30B9\u30C8 \u30C9\u30E1\u30A4\u30F3\u306E\u7A2E\u985E +label.assign.to.load.balancer=\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u307e\u3059 +label.assign=\u5272\u308a\u5f53\u3066 +label.associated.network.id=\u95a2\u9023\u3065\u3051\u3089\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ID +label.associated.network=\u95a2\u9023\u3065\u3051\u3089\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.attached.iso=\u30a2\u30bf\u30c3\u30c1\u3055\u308c\u305f ISO +label.availability=\u53ef\u7528\u6027 +label.availability.zone=\u5229\u7528\u53ef\u80fd\u30be\u30fc\u30f3 +label.available.public.ips=\u4f7f\u7528\u3067\u304d\u308b\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 +label.available=\u4f7f\u7528\u53ef\u80fd +label.back=\u623b\u308b +label.bandwidth=\u5e2f\u57df\u5e45 +label.basic.mode=\u57fa\u672c\u30e2\u30fc\u30c9 +label.basic=\u57fa\u672c +label.bootable=\u8d77\u52d5\u53ef\u80fd +label.broadcast.domain.range=\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8 \u30c9\u30e1\u30a4\u30f3\u306e\u7bc4\u56f2 +label.broadcast.domain.type=\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8 \u30c9\u30e1\u30a4\u30f3\u306e\u7a2e\u985e label.broadcast.uri=Broadcast URI -label.by.account=\u30A2\u30AB\u30A6\u30F3\u30C8 -label.by.availability=\u53EF\u7528\u6027 -label.by.domain=\u30C9\u30E1\u30A4\u30F3 -label.by.end.date=\u7D42\u4E86\u65E5 -label.by.level=\u30EC\u30D9\u30EB -label.by.pod=\u30DD\u30C3\u30C9 -label.by.role=\u5F79\u5272 -label.by.start.date=\u958B\u59CB\u65E5 -label.by.state=\u72B6\u614B -label.bytes.received=\u53D7\u4FE1\u30D0\u30A4\u30C8 -label.bytes.sent=\u9001\u4FE1\u30D0\u30A4\u30C8 -label.by.traffic.type=\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E -label.by.type.id=\u7A2E\u985E ID -label.by.type=\u7A2E\u985E -label.by.zone=\u30BE\u30FC\u30F3 -label.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -label.capacity=\u51E6\u7406\u80FD\u529B -label.certificate=\u8A3C\u660E\u66F8 -label.change.service.offering=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u5909\u66F4 -label.change.value=\u5024\u306E\u5909\u66F4 -label.character=\u6587\u5B57 -label.checksum=MD5 \u30C1\u30A7\u30C3\u30AF\u30B5\u30E0 -label.cidr.account=CIDR \u307E\u305F\u306F\u30A2\u30AB\u30A6\u30F3\u30C8/\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 +label.by.account=\u30a2\u30ab\u30a6\u30f3\u30c8 +label.by.availability=\u53ef\u7528\u6027 +label.by.domain=\u30c9\u30e1\u30a4\u30f3 +label.by.end.date=\u7d42\u4e86\u65e5 +label.by.level=\u30ec\u30d9\u30eb +label.by.pod=\u30dd\u30c3\u30c9 +label.by.role=\u5f79\u5272 +label.by.start.date=\u958b\u59cb\u65e5 +label.by.state=\u72b6\u614b +label.bytes.received=\u53d7\u4fe1\u30d0\u30a4\u30c8 +label.bytes.sent=\u9001\u4fe1\u30d0\u30a4\u30c8 +label.by.traffic.type=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e +label.by.type.id=\u7a2e\u985e ID +label.by.type=\u7a2e\u985e +label.by.zone=\u30be\u30fc\u30f3 +label.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb +label.capacity=\u51e6\u7406\u80fd\u529b +label.certificate=\u8a3c\u660e\u66f8 +label.change.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u5909\u66f4 +label.change.value=\u5024\u306e\u5909\u66f4 +label.character=\u6587\u5b57 +label.checksum=MD5 \u30c1\u30a7\u30c3\u30af\u30b5\u30e0 +label.cidr.account=CIDR \u307e\u305f\u306f\u30a2\u30ab\u30a6\u30f3\u30c8/\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 label.cidr=CIDR -label.CIDR.list=CIDR \u4E00\u89A7 -label.cidr.list=\u9001\u4FE1\u5143 CIDR -label.CIDR.of.destination.network=\u5B9B\u5148\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E CIDR -label.clean.up=\u30AF\u30EA\u30FC\u30F3 \u30A2\u30C3\u30D7 -label.clear.list=\u4E00\u89A7\u306E\u6D88\u53BB -label.close=\u9589\u3058\u308B -label.cloud.console=\u30AF\u30E9\u30A6\u30C9\u7BA1\u7406\u30B3\u30F3\u30BD\u30FC\u30EB -label.cloud.managed=Cloud.com \u306B\u3088\u308B\u7BA1\u7406 -label.cluster.name=\u30AF\u30E9\u30B9\u30BF\u30FC\u540D -label.clusters=\u30AF\u30E9\u30B9\u30BF\u30FC -label.cluster.type=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u7A2E\u985E -label.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC +label.CIDR.list=CIDR \u4e00\u89a7 +label.cidr.list=\u9001\u4fe1\u5143 CIDR +label.CIDR.of.destination.network=\u5b9b\u5148\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e CIDR +label.clean.up=\u30af\u30ea\u30fc\u30f3 \u30a2\u30c3\u30d7 +label.clear.list=\u4e00\u89a7\u306e\u6d88\u53bb +label.close=\u9589\u3058\u308b +label.cloud.console=\u30af\u30e9\u30a6\u30c9\u7ba1\u7406\u30b3\u30f3\u30bd\u30fc\u30eb +label.cloud.managed=Cloud.com \u306b\u3088\u308b\u7ba1\u7406 +label.cluster.name=\u30af\u30e9\u30b9\u30bf\u30fc\u540d +label.clusters=\u30af\u30e9\u30b9\u30bf\u30fc +label.cluster.type=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u7a2e\u985e +label.cluster=\u30af\u30e9\u30b9\u30bf\u30fc label.clvm=CLVM -label.code=\u30B3\u30FC\u30C9 -label.community=\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3 -label.compute.and.storage=\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0\u3068\u30B9\u30C8\u30EC\u30FC\u30B8 -label.compute.offerings=\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.compute.offering=\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.compute=\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 -label.configuration=\u69CB\u6210 -label.configure.network.ACLs=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ACL \u306E\u69CB\u6210 -label.configure=\u69CB\u6210 -label.configure.vpc=VPC \u306E\u69CB\u6210 -label.confirmation=\u78BA\u8A8D -label.confirm.password=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u78BA\u8A8D\u5165\u529B -label.congratulations=\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u306F\u3053\u308C\u3067\u5B8C\u4E86\u3067\u3059\u3002 -label.conserve.mode=\u7BC0\u7D04\u30E2\u30FC\u30C9 -label.console.proxy=\u30B3\u30F3\u30BD\u30FC\u30EB \u30D7\u30ED\u30AD\u30B7 -label.continue.basic.install=\u57FA\u672C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3092\u7D9A\u884C\u3059\u308B -label.continue=\u7D9A\u884C -label.corrections.saved=\u63A5\u7D9A\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F -label.cpu.allocated.for.VMs=VM \u306B\u5272\u308A\u5F53\u3066\u6E08\u307F\u306E CPU -label.cpu.allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F\u306E CPU +label.code=\u30b3\u30fc\u30c9 +label.community=\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 +label.compute.and.storage=\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30b9\u30c8\u30ec\u30fc\u30b8 +label.compute.offerings=\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.compute.offering=\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.compute=\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 +label.configuration=\u69cb\u6210 +label.configure.network.ACLs=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL \u306e\u69cb\u6210 +label.configure=\u69cb\u6210 +label.configure.vpc=VPC \u306e\u69cb\u6210 +label.confirmation=\u78ba\u8a8d +label.confirm.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u78ba\u8a8d\u5165\u529b +label.congratulations=\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306f\u3053\u308c\u3067\u5b8c\u4e86\u3067\u3059\u3002 +label.conserve.mode=\u7bc0\u7d04\u30e2\u30fc\u30c9 +label.console.proxy=\u30b3\u30f3\u30bd\u30fc\u30eb \u30d7\u30ed\u30ad\u30b7 +label.continue.basic.install=\u57fa\u672c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u7d9a\u884c\u3059\u308b +label.continue=\u7d9a\u884c +label.corrections.saved=\u63a5\u7d9a\u304c\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f +label.cpu.allocated.for.VMs=VM \u306b\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e CPU +label.cpu.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e CPU label.CPU.cap=CPU \u5236\u9650 label.cpu=CPU label.cpu.mhz=CPU (MHz) -label.cpu.utilized=CPU \u4F7F\u7528\u7387 -label.created.by.system=\u30B7\u30B9\u30C6\u30E0\u4F5C\u6210 -label.created=\u4F5C\u6210\u65E5\u6642 -label.create.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210 -label.create.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210 -label.create.VPN.connection=VPN \u63A5\u7D9A\u306E\u4F5C\u6210 -label.cross.zones=\u30AF\u30ED\u30B9 \u30BE\u30FC\u30F3 -label.custom.disk.size=\u30AB\u30B9\u30BF\u30E0 \u30C7\u30A3\u30B9\u30AF \u30B5\u30A4\u30BA -label.daily=\u6BCE\u65E5 -label.data.disk.offering=\u30C7\u30FC\u30BF \u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.date=\u65E5\u6642 -label.day.of.month=\u6BCE\u6708\u6307\u5B9A\u65E5 -label.day.of.week=\u6BCE\u9031\u6307\u5B9A\u65E5 -label.dead.peer.detection=\u505C\u6B62\u30D4\u30A2\u306E\u691C\u51FA -label.decline.invitation=\u62DB\u5F85\u306E\u8F9E\u9000 -label.dedicated=\u5C02\u7528 -label.default=\u30C7\u30D5\u30A9\u30EB\u30C8 -label.default.use=\u30C7\u30D5\u30A9\u30EB\u30C8\u4F7F\u7528 -label.default.view=\u30C7\u30D5\u30A9\u30EB\u30C8 \u30D3\u30E5\u30FC -label.delete.F5=F5 \u306E\u524A\u9664 -label.delete.gateway=\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u524A\u9664 -label.delete.NetScaler=NetScaler \u306E\u524A\u9664 +label.cpu.utilized=CPU \u4f7f\u7528\u7387 +label.created.by.system=\u30b7\u30b9\u30c6\u30e0\u4f5c\u6210 +label.created=\u4f5c\u6210\u65e5\u6642 +label.create.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210 +label.create.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210 +label.create.VPN.connection=VPN \u63a5\u7d9a\u306e\u4f5c\u6210 +label.cross.zones=\u30af\u30ed\u30b9 \u30be\u30fc\u30f3 +label.custom.disk.size=\u30ab\u30b9\u30bf\u30e0 \u30c7\u30a3\u30b9\u30af \u30b5\u30a4\u30ba +label.daily=\u6bce\u65e5 +label.data.disk.offering=\u30c7\u30fc\u30bf \u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.date=\u65e5\u6642 +label.day.of.month=\u6bce\u6708\u6307\u5b9a\u65e5 +label.day.of.week=\u6bce\u9031\u6307\u5b9a\u65e5 +label.dead.peer.detection=\u505c\u6b62\u30d4\u30a2\u306e\u691c\u51fa +label.decline.invitation=\u62db\u5f85\u306e\u8f9e\u9000 +label.dedicated=\u5c02\u7528 +label.default=\u30c7\u30d5\u30a9\u30eb\u30c8 +label.default.use=\u30c7\u30d5\u30a9\u30eb\u30c8\u4f7f\u7528 +label.default.view=\u30c7\u30d5\u30a9\u30eb\u30c8 \u30d3\u30e5\u30fc +label.delete.F5=F5 \u306e\u524a\u9664 +label.delete.gateway=\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u524a\u9664 +label.delete.NetScaler=NetScaler \u306e\u524a\u9664 label.delete.NiciraNvp=NVP\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306e\u524a\u9664 -label.delete.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664 -label.delete.SRX=SRX \u306E\u524A\u9664 -label.delete=\u524A\u9664 -label.delete.VPN.connection=VPN \u63A5\u7D9A\u306E\u524A\u9664 -label.delete.VPN.customer.gateway=VPN \u30AB\u30B9\u30BF\u30DE\u30FC \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u524A\u9664 -label.delete.VPN.gateway=VPN \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u306E\u524A\u9664 -label.delete.vpn.user=VPN \u30E6\u30FC\u30B6\u30FC\u306E\u524A\u9664 -label.deleting.failed=\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -label.deleting.processing=\u524A\u9664\u3057\u3066\u3044\u307E\u3059... -label.description=\u8AAC\u660E -label.destination.physical.network.id=\u30D6\u30EA\u30C3\u30B8\u5148\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ID -label.destination.zone=\u30B3\u30D4\u30FC\u5148\u30BE\u30FC\u30F3 -label.destroy.router=\u30EB\u30FC\u30BF\u30FC\u306E\u7834\u68C4 +label.delete.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u524a\u9664 +label.delete.SRX=SRX \u306e\u524a\u9664 +label.delete=\u524a\u9664 +label.delete.VPN.connection=VPN \u63a5\u7d9a\u306e\u524a\u9664 +label.delete.VPN.customer.gateway=VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u524a\u9664 +label.delete.VPN.gateway=VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u306e\u524a\u9664 +label.delete.vpn.user=VPN \u30e6\u30fc\u30b6\u30fc\u306e\u524a\u9664 +label.deleting.failed=\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +label.deleting.processing=\u524a\u9664\u3057\u3066\u3044\u307e\u3059... +label.description=\u8aac\u660e +label.destination.physical.network.id=\u30d6\u30ea\u30c3\u30b8\u5148\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ID +label.destination.zone=\u30b3\u30d4\u30fc\u5148\u30be\u30fc\u30f3 +label.destroy.router=\u30eb\u30fc\u30bf\u30fc\u306e\u7834\u68c4 label.destroy=\u7834\u68c4 -label.detaching.disk=\u30C7\u30A3\u30B9\u30AF\u3092\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u3044\u307E\u3059 -label.details=\u8A73\u7D30 -label.device.id=\u30C7\u30D0\u30A4\u30B9 ID -label.devices=\u30C7\u30D0\u30A4\u30B9 +label.detaching.disk=\u30c7\u30a3\u30b9\u30af\u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3044\u307e\u3059 +label.details=\u8a73\u7d30 +label.device.id=\u30c7\u30d0\u30a4\u30b9 ID +label.devices=\u30c7\u30d0\u30a4\u30b9 label.dhcp=DHCP -label.DHCP.server.type=DHCP \u30B5\u30FC\u30D0\u30FC\u306E\u7A2E\u985E -label.direct.ips=\u76F4\u63A5 IP \u30A2\u30C9\u30EC\u30B9 -label.disabled=\u7121\u52B9 -label.disable.provider=\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306E\u7121\u52B9\u5316 -label.disable.vpn=VPN \u306E\u7121\u52B9\u5316 -label.disabling.vpn.access=VPN \u30A2\u30AF\u30BB\u30B9\u3092\u7121\u52B9\u306B\u3057\u3066\u3044\u307E\u3059 -label.disk.allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F\u306E\u30C7\u30A3\u30B9\u30AF -label.disk.offering=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.disk.size.gb=\u30C7\u30A3\u30B9\u30AF \u30B5\u30A4\u30BA (GB \u5358\u4F4D) -label.disk.size=\u30C7\u30A3\u30B9\u30AF \u30B5\u30A4\u30BA -label.disk.total=\u30C7\u30A3\u30B9\u30AF\u5408\u8A08 -label.disk.volume=\u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0 -label.display.name=\u8868\u793A\u540D -label.display.text=\u8868\u793A\u30C6\u30AD\u30B9\u30C8 +label.DHCP.server.type=DHCP \u30b5\u30fc\u30d0\u30fc\u306e\u7a2e\u985e +label.direct.ips=\u76f4\u63a5 IP \u30a2\u30c9\u30ec\u30b9 +label.disabled=\u7121\u52b9 +label.disable.provider=\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u7121\u52b9\u5316 +label.disable.vpn=VPN \u306e\u7121\u52b9\u5316 +label.disabling.vpn.access=VPN \u30a2\u30af\u30bb\u30b9\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059 +label.disk.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e\u30c7\u30a3\u30b9\u30af +label.disk.offering=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.disk.size.gb=\u30c7\u30a3\u30b9\u30af \u30b5\u30a4\u30ba (GB \u5358\u4f4d) +label.disk.size=\u30c7\u30a3\u30b9\u30af \u30b5\u30a4\u30ba +label.disk.total=\u30c7\u30a3\u30b9\u30af\u5408\u8a08 +label.disk.volume=\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0 +label.display.name=\u8868\u793a\u540d +label.display.text=\u8868\u793a\u30c6\u30ad\u30b9\u30c8 label.dns.1=DNS 1 label.dns.2=DNS 2 label.dns=DNS -label.DNS.domain.for.guest.networks=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E DNS \u30C9\u30E1\u30A4\u30F3 -label.domain.admin=\u30C9\u30E1\u30A4\u30F3\u7BA1\u7406\u8005 -label.domain.id=\u30C9\u30E1\u30A4\u30F3 ID -label.domain.name=\u30C9\u30E1\u30A4\u30F3\u540D -label.domain.router=\u30C9\u30E1\u30A4\u30F3 \u30EB\u30FC\u30BF\u30FC -label.domain.suffix=DNS \u30C9\u30E1\u30A4\u30F3 \u30B5\u30D5\u30A3\u30C3\u30AF\u30B9 (\u4F8B\: xyz.com) -label.domain=\u30C9\u30E1\u30A4\u30F3 -label.done=\u5B8C\u4E86 -label.double.quotes.are.not.allowed=\u4E8C\u91CD\u5F15\u7528\u7B26\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 -label.download.progress=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306E\u9032\u6357\u72B6\u6CC1 -label.drag.new.position=\u65B0\u3057\u3044\u4F4D\u7F6E\u306B\u30C9\u30E9\u30C3\u30B0 -label.edit.lb.rule=\u8CA0\u8377\u5206\u6563\u898F\u5247\u306E\u7DE8\u96C6 -label.edit.network.details=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8A73\u7D30\u306E\u7DE8\u96C6 -label.edit.project.details=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u8A73\u7D30\u306E\u7DE8\u96C6 -label.edit.tags=\u30BF\u30B0\u306E\u7DE8\u96C6 -label.edit.traffic.type=\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E\u306E\u7DE8\u96C6 -label.edit=\u7DE8\u96C6 -label.edit.vpc=VPC \u306E\u7DE8\u96C6 +label.DNS.domain.for.guest.networks=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e DNS \u30c9\u30e1\u30a4\u30f3 +label.domain.admin=\u30c9\u30e1\u30a4\u30f3\u7ba1\u7406\u8005 +label.domain.id=\u30c9\u30e1\u30a4\u30f3 ID +label.domain.name=\u30c9\u30e1\u30a4\u30f3\u540d +label.domain.router=\u30c9\u30e1\u30a4\u30f3 \u30eb\u30fc\u30bf\u30fc +label.domain.suffix=DNS \u30c9\u30e1\u30a4\u30f3 \u30b5\u30d5\u30a3\u30c3\u30af\u30b9 (\u4f8b\: xyz.com) +label.domain=\u30c9\u30e1\u30a4\u30f3 +label.done=\u5b8c\u4e86 +label.double.quotes.are.not.allowed=\u4e8c\u91cd\u5f15\u7528\u7b26\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093 +label.download.progress=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u9032\u6357\u72b6\u6cc1 +label.drag.new.position=\u65b0\u3057\u3044\u4f4d\u7f6e\u306b\u30c9\u30e9\u30c3\u30b0 +label.edit.lb.rule=\u8ca0\u8377\u5206\u6563\u898f\u5247\u306e\u7de8\u96c6 +label.edit.network.details=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a73\u7d30\u306e\u7de8\u96c6 +label.edit.project.details=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8a73\u7d30\u306e\u7de8\u96c6 +label.edit.tags=\u30bf\u30b0\u306e\u7de8\u96c6 +label.edit.traffic.type=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u306e\u7de8\u96c6 +label.edit=\u7de8\u96c6 +label.edit.vpc=VPC \u306e\u7de8\u96c6 label.egress.rules=\u9001\u4fe1\u30eb\u30fc\u30eb -label.egress.rule=\u9001\u4FE1\u898F\u5247 -label.elastic.IP=\u30A8\u30E9\u30B9\u30C6\u30A3\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9 -label.elastic.LB=\u30A8\u30E9\u30B9\u30C6\u30A3\u30C3\u30AF\u8CA0\u8377\u5206\u6563 -label.elastic=\u30A8\u30E9\u30B9\u30C6\u30A3\u30C3\u30AF -label.email=\u96FB\u5B50\u30E1\u30FC\u30EB -label.enable.provider=\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306E\u6709\u52B9\u5316 +label.egress.rule=\u9001\u4fe1\u898f\u5247 +label.elastic.IP=\u30a8\u30e9\u30b9\u30c6\u30a3\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 +label.elastic.LB=\u30a8\u30e9\u30b9\u30c6\u30a3\u30c3\u30af\u8ca0\u8377\u5206\u6563 +label.elastic=\u30a8\u30e9\u30b9\u30c6\u30a3\u30c3\u30af +label.email=\u96fb\u5b50\u30e1\u30fc\u30eb +label.enable.provider=\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u6709\u52b9\u5316 label.enable.s3=S3\u57fa\u76e4\u30bb\u30ab\u30f3\u30c0\u30ea\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u6709\u52b9\u5316 -label.enable.swift=Swift \u306E\u6709\u52B9\u5316 -label.enable.vpn=VPN \u306E\u6709\u52B9\u5316 -label.enabling.vpn.access=VPN \u30A2\u30AF\u30BB\u30B9\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059 -label.enabling.vpn=VPN \u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059 -label.end.IP=\u7D42\u4E86 IP \u30A2\u30C9\u30EC\u30B9 -label.endpoint.or.operation=\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u307E\u305F\u306F\u64CD\u4F5C +label.enable.swift=Swift \u306e\u6709\u52b9\u5316 +label.enable.vpn=VPN \u306e\u6709\u52b9\u5316 +label.enabling.vpn.access=VPN \u30a2\u30af\u30bb\u30b9\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059 +label.enabling.vpn=VPN \u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059 +label.end.IP=\u7d42\u4e86 IP \u30a2\u30c9\u30ec\u30b9 +label.endpoint.or.operation=\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u307e\u305f\u306f\u64cd\u4f5c label.endpoint=\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8 -label.end.port=\u7D42\u4E86\u30DD\u30FC\u30C8 -label.end.reserved.system.IP=\u4E88\u7D04\u6E08\u307F\u7D42\u4E86\u30B7\u30B9\u30C6\u30E0 IP \u30A2\u30C9\u30EC\u30B9 -label.end.vlan=\u7D42\u4E86 VLAN -label.enter.token=\u30C8\u30FC\u30AF\u30F3\u306E\u5165\u529B -label.error.code=\u30A8\u30E9\u30FC \u30B3\u30FC\u30C9 -label.error=\u30A8\u30E9\u30FC -label.ESP.encryption=ESP \u6697\u53F7\u5316 -label.ESP.hash=ESP \u30CF\u30C3\u30B7\u30E5 -label.ESP.policy=ESP \u30DD\u30EA\u30B7\u30FC -label.esx.host=ESX/ESXi \u30DB\u30B9\u30C8 -label.example=\u4F8B +label.end.port=\u7d42\u4e86\u30dd\u30fc\u30c8 +label.end.reserved.system.IP=\u4e88\u7d04\u6e08\u307f\u7d42\u4e86\u30b7\u30b9\u30c6\u30e0 IP \u30a2\u30c9\u30ec\u30b9 +label.end.vlan=\u7d42\u4e86 VLAN +label.enter.token=\u30c8\u30fc\u30af\u30f3\u306e\u5165\u529b +label.error.code=\u30a8\u30e9\u30fc \u30b3\u30fc\u30c9 +label.error=\u30a8\u30e9\u30fc +label.ESP.encryption=ESP \u6697\u53f7\u5316 +label.ESP.hash=ESP \u30cf\u30c3\u30b7\u30e5 +label.ESP.policy=ESP \u30dd\u30ea\u30b7\u30fc +label.esx.host=ESX/ESXi \u30db\u30b9\u30c8 +label.example=\u4f8b label.f5=F5 label.failed=\u5931\u6557 -label.featured=\u304A\u3059\u3059\u3081 -label.fetch.latest=\u6700\u65B0\u60C5\u5831\u306E\u53D6\u5F97 -label.filterBy=\u30D5\u30A3\u30EB\u30BF\u30FC -label.firewall=\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB -label.first.name=\u540D -label.format=\u5F62\u5F0F -label.friday=\u91D1\u66DC\u65E5 -label.full.path=\u30D5\u30EB \u30D1\u30B9 -label.full=\u5B8C\u5168 -label.gateway=\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.general.alerts=\u4E00\u822C\u30A2\u30E9\u30FC\u30C8 -label.generating.url=URL \u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059 -label.go.step.2=\u624B\u9806 2 \u306B\u9032\u3080 -label.go.step.3=\u624B\u9806 3 \u306B\u9032\u3080 -label.go.step.4=\u624B\u9806 4 \u306B\u9032\u3080 -label.go.step.5=\u624B\u9806 5 \u306B\u9032\u3080 -label.group.optional=\u30B0\u30EB\u30FC\u30D7 (\u30AA\u30D7\u30B7\u30E7\u30F3) -label.group=\u30B0\u30EB\u30FC\u30D7 -label.guest.cidr=\u30B2\u30B9\u30C8 CIDR -label.guest.end.ip=\u30B2\u30B9\u30C8\u306E\u7D42\u4E86 IP \u30A2\u30C9\u30EC\u30B9 -label.guest.gateway=\u30B2\u30B9\u30C8 \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.guest.ip.range=\u30B2\u30B9\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2 -label.guest.ip=\u30B2\u30B9\u30C8 IP \u30A2\u30C9\u30EC\u30B9 -label.guest.netmask=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30DE\u30B9\u30AF -label.guest.networks=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.guest.start.ip=\u30B2\u30B9\u30C8\u306E\u958B\u59CB IP \u30A2\u30C9\u30EC\u30B9 -label.guest.traffic=\u30B2\u30B9\u30C8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF -label.guest.type=\u30B2\u30B9\u30C8\u306E\u7A2E\u985E -label.guest=\u30B2\u30B9\u30C8 -label.ha.enabled=\u9AD8\u53EF\u7528\u6027\u6709\u52B9 -label.help=\u30D8\u30EB\u30D7 -label.hide.ingress.rule=\u53D7\u4FE1\u898F\u5247\u3092\u96A0\u3059 -label.hints=\u30D2\u30F3\u30C8 -label.host.alerts=\u30DB\u30B9\u30C8 \u30A2\u30E9\u30FC\u30C8 -label.host.MAC=\u30DB\u30B9\u30C8\u306E MAC -label.host.name=\u30DB\u30B9\u30C8\u540D -label.hosts=\u30DB\u30B9\u30C8 +label.featured=\u304a\u3059\u3059\u3081 +label.fetch.latest=\u6700\u65b0\u60c5\u5831\u306e\u53d6\u5f97 +label.filterBy=\u30d5\u30a3\u30eb\u30bf\u30fc +label.firewall=\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb +label.first.name=\u540d +label.format=\u5f62\u5f0f +label.friday=\u91d1\u66dc\u65e5 +label.full.path=\u30d5\u30eb \u30d1\u30b9 +label.full=\u5b8c\u5168 +label.gateway=\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.general.alerts=\u4e00\u822c\u30a2\u30e9\u30fc\u30c8 +label.generating.url=URL \u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059 +label.go.step.2=\u624b\u9806 2 \u306b\u9032\u3080 +label.go.step.3=\u624b\u9806 3 \u306b\u9032\u3080 +label.go.step.4=\u624b\u9806 4 \u306b\u9032\u3080 +label.go.step.5=\u624b\u9806 5 \u306b\u9032\u3080 +label.group.optional=\u30b0\u30eb\u30fc\u30d7 (\u30aa\u30d7\u30b7\u30e7\u30f3) +label.group=\u30b0\u30eb\u30fc\u30d7 +label.guest.cidr=\u30b2\u30b9\u30c8 CIDR +label.guest.end.ip=\u30b2\u30b9\u30c8\u306e\u7d42\u4e86 IP \u30a2\u30c9\u30ec\u30b9 +label.guest.gateway=\u30b2\u30b9\u30c8 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.guest.ip.range=\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2 +label.guest.ip=\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9 +label.guest.netmask=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30de\u30b9\u30af +label.guest.networks=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.guest.start.ip=\u30b2\u30b9\u30c8\u306e\u958b\u59cb IP \u30a2\u30c9\u30ec\u30b9 +label.guest.traffic=\u30b2\u30b9\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af +label.guest.type=\u30b2\u30b9\u30c8\u306e\u7a2e\u985e +label.guest=\u30b2\u30b9\u30c8 +label.ha.enabled=\u9ad8\u53ef\u7528\u6027\u6709\u52b9 +label.help=\u30d8\u30eb\u30d7 +label.hide.ingress.rule=\u53d7\u4fe1\u898f\u5247\u3092\u96a0\u3059 +label.hints=\u30d2\u30f3\u30c8 +label.host.alerts=\u30db\u30b9\u30c8 \u30a2\u30e9\u30fc\u30c8 +label.host.MAC=\u30db\u30b9\u30c8\u306e MAC +label.host.name=\u30db\u30b9\u30c8\u540d +label.hosts=\u30db\u30b9\u30c8 label.host.tags=\u00e3\u0083\u009b\u00e3\u0082\u00b9\u00e3\u0083\u0088\u00e3\u0082\u00bf\u00e3\u0082\u00b0 -label.host=\u30DB\u30B9\u30C8 -label.hourly=\u6BCE\u6642 -label.hypervisor.capabilities=\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u306E\u6A5F\u80FD -label.hypervisor.type=\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u306E\u7A2E\u985E -label.hypervisor=\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC -label.hypervisor.version=\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u306E\u30D0\u30FC\u30B8\u30E7\u30F3 +label.host=\u30db\u30b9\u30c8 +label.hourly=\u6bce\u6642 +label.hypervisor.capabilities=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u306e\u6a5f\u80fd +label.hypervisor.type=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u306e\u7a2e\u985e +label.hypervisor=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc +label.hypervisor.version=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 label.id=ID label.IKE.DH=IKE DH -label.IKE.encryption=IKE \u6697\u53F7\u5316 -label.IKE.hash=IKE \u30CF\u30C3\u30B7\u30E5 -label.IKE.policy=IKE \u30DD\u30EA\u30B7\u30FC -label.info=\u60C5\u5831 -label.ingress.rule=\u53D7\u4FE1\u898F\u5247 -label.initiated.by=\u958B\u59CB\u30E6\u30FC\u30B6\u30FC -label.installWizard.addClusterIntro.subtitle=\u30AF\u30E9\u30B9\u30BF\u30FC\u306B\u3064\u3044\u3066 -label.installWizard.addClusterIntro.title=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 -label.installWizard.addHostIntro.subtitle=\u30DB\u30B9\u30C8\u306B\u3064\u3044\u3066 -label.installWizard.addHostIntro.title=\u30DB\u30B9\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 -label.installWizard.addPodIntro.subtitle=\u30DD\u30C3\u30C9\u306B\u3064\u3044\u3066 -label.installWizard.addPodIntro.title=\u30DD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 -label.installWizard.addPrimaryStorageIntro.subtitle=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u3064\u3044\u3066 -label.installWizard.addPrimaryStorageIntro.title=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 +label.IKE.encryption=IKE \u6697\u53f7\u5316 +label.IKE.hash=IKE \u30cf\u30c3\u30b7\u30e5 +label.IKE.policy=IKE \u30dd\u30ea\u30b7\u30fc +label.info=\u60c5\u5831 +label.ingress.rule=\u53d7\u4fe1\u898f\u5247 +label.initiated.by=\u958b\u59cb\u30e6\u30fc\u30b6\u30fc +label.installWizard.addClusterIntro.subtitle=\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u3064\u3044\u3066 +label.installWizard.addClusterIntro.title=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 +label.installWizard.addHostIntro.subtitle=\u30db\u30b9\u30c8\u306b\u3064\u3044\u3066 +label.installWizard.addHostIntro.title=\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 +label.installWizard.addPodIntro.subtitle=\u30dd\u30c3\u30c9\u306b\u3064\u3044\u3066 +label.installWizard.addPodIntro.title=\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 +label.installWizard.addPrimaryStorageIntro.subtitle=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u3064\u3044\u3066 +label.installWizard.addPrimaryStorageIntro.title=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 label.installWizard.addSecondaryStorageIntro.subtitle=\u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u30b9\u30c8\u30ec\u30fc\u30b8\u3068\u306f\uff1f -label.installWizard.addSecondaryStorageIntro.title=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 -label.installWizard.addZoneIntro.subtitle=\u30BE\u30FC\u30F3\u306B\u3064\u3044\u3066 -label.installWizard.addZoneIntro.title=\u30BE\u30FC\u30F3\u3092\u8FFD\u52A0\u3057\u307E\u3057\u3087\u3046 -label.installWizard.addZone.title=\u30BE\u30FC\u30F3\u306E\u8FFD\u52A0 -label.installWizard.click.launch=[\u8D77\u52D5] \u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -label.installWizard.subtitle=\u3053\u306E\u30AC\u30A4\u30C9 \u30C4\u30A2\u30FC\u306F CloudStack&\#8482; \u74B0\u5883\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u306B\u5F79\u7ACB\u3061\u307E\u3059 -label.installWizard.title=CloudStack&\#8482; \u3078\u3088\u3046\u3053\u305D -label.instance.limits=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5236\u9650 -label.instance.name=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u540D -label.instances=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.internal.dns.1=\u5185\u90E8 DNS 1 -label.internal.dns.2=\u5185\u90E8 DNS 2 -label.internal.name=\u5185\u90E8\u540D -label.interval.type=\u9593\u9694\u306E\u7A2E\u985E -label.introduction.to.cloudstack=CloudStack&\#8482; \u306E\u7D39\u4ECB -label.invalid.integer=\u7121\u52B9\u306A\u6574\u6570 -label.invalid.number=\u7121\u52B9\u306A\u6570 -label.invitations=\u62DB\u5F85\u72B6 -label.invited.accounts=\u62DB\u5F85\u6E08\u307F\u30A2\u30AB\u30A6\u30F3\u30C8 -label.invite.to=\u62DB\u5F85\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\: -label.invite=\u62DB\u5F85 -label.ip.address=IP \u30A2\u30C9\u30EC\u30B9 -label.ipaddress=IP \u30A2\u30C9\u30EC\u30B9 -label.ip.allocations=IP \u30A2\u30C9\u30EC\u30B9\u306E\u5272\u308A\u5F53\u3066 +label.installWizard.addSecondaryStorageIntro.title=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 +label.installWizard.addZoneIntro.subtitle=\u30be\u30fc\u30f3\u306b\u3064\u3044\u3066 +label.installWizard.addZoneIntro.title=\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046 +label.installWizard.addZone.title=\u30be\u30fc\u30f3\u306e\u8ffd\u52a0 +label.installWizard.click.launch=[\u8d77\u52d5] \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +label.installWizard.subtitle=\u3053\u306e\u30ac\u30a4\u30c9 \u30c4\u30a2\u30fc\u306f CloudStack&\#8482; \u74b0\u5883\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306b\u5f79\u7acb\u3061\u307e\u3059 +label.installWizard.title=CloudStack&\#8482; \u3078\u3088\u3046\u3053\u305d +label.instance.limits=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5236\u9650 +label.instance.name=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u540d +label.instances=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.internal.dns.1=\u5185\u90e8 DNS 1 +label.internal.dns.2=\u5185\u90e8 DNS 2 +label.internal.name=\u5185\u90e8\u540d +label.interval.type=\u9593\u9694\u306e\u7a2e\u985e +label.introduction.to.cloudstack=CloudStack&\#8482; \u306e\u7d39\u4ecb +label.invalid.integer=\u7121\u52b9\u306a\u6574\u6570 +label.invalid.number=\u7121\u52b9\u306a\u6570 +label.invitations=\u62db\u5f85\u72b6 +label.invited.accounts=\u62db\u5f85\u6e08\u307f\u30a2\u30ab\u30a6\u30f3\u30c8 +label.invite.to=\u62db\u5f85\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\: +label.invite=\u62db\u5f85 +label.ip.address=IP \u30a2\u30c9\u30ec\u30b9 +label.ipaddress=IP \u30a2\u30c9\u30ec\u30b9 +label.ip.allocations=IP \u30a2\u30c9\u30ec\u30b9\u306e\u5272\u308a\u5f53\u3066 label.ip=IP -label.ip.limits=\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u306E\u5236\u9650 -label.ip.or.fqdn=IP \u30A2\u30C9\u30EC\u30B9\u307E\u305F\u306F FQDN -label.ip.range=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2 -label.ip.ranges=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2 -label.IPsec.preshared.key=IPsec \u4E8B\u524D\u5171\u6709\u30AD\u30FC +label.ip.limits=\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u306e\u5236\u9650 +label.ip.or.fqdn=IP \u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f FQDN +label.ip.range=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2 +label.ip.ranges=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2 +label.IPsec.preshared.key=IPsec \u4e8b\u524d\u5171\u6709\u30ad\u30fc label.ips=IP label.iscsi=iSCSI -label.is.default=\u30C7\u30D5\u30A9\u30EB\u30C8 -label.iso.boot=ISO \u8D77\u52D5 +label.is.default=\u30c7\u30d5\u30a9\u30eb\u30c8 +label.iso.boot=ISO \u8d77\u52d5 label.iso=ISO -label.isolated.networks=\u5206\u96E2\u3055\u308C\u305F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.isolation.method=\u5206\u96E2\u65B9\u6CD5 -label.isolation.mode=\u5206\u96E2\u30E2\u30FC\u30C9 +label.isolated.networks=\u5206\u96e2\u3055\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.isolation.method=\u5206\u96e2\u65b9\u6cd5 +label.isolation.mode=\u5206\u96e2\u30e2\u30fc\u30c9 label.isolation.uri=Isolation URI label.is.redundant.router=\u5197\u9577 label.is.shared=\u5171\u6709 -label.is.system=\u30B7\u30B9\u30C6\u30E0 -label.item.listing=\u9805\u76EE\u4E00\u89A7 -label.keep=\u7DAD\u6301 -label.keyboard.type=\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u7A2E\u985E -label.key=\u30AD\u30FC -label.kvm.traffic.label=KVM \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u30E9\u30D9\u30EB -label.label=\u30E9\u30D9\u30EB +label.is.system=\u30b7\u30b9\u30c6\u30e0 +label.item.listing=\u9805\u76ee\u4e00\u89a7 +label.keep=\u7dad\u6301 +label.keyboard.type=\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u7a2e\u985e +label.key=\u30ad\u30fc +label.kvm.traffic.label=KVM \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u30e9\u30d9\u30eb +label.label=\u30e9\u30d9\u30eb label.lang.brportugese=Brazilian Portugese -label.lang.chinese=\u7C21\u4F53\u5B57\u4E2D\u56FD\u8A9E -label.lang.english=\u82F1\u8A9E +label.lang.chinese=\u7c21\u4f53\u5b57\u4e2d\u56fd\u8a9e +label.lang.english=\u82f1\u8a9e label.lang.french=French -label.lang.japanese=\u65E5\u672C\u8A9E +label.lang.japanese=\u65e5\u672c\u8a9e label.lang.russian=Russian -label.lang.spanish=\u30B9\u30DA\u30A4\u30F3\u8A9E -label.last.disconnected=\u6700\u7D42\u5207\u65AD\u65E5\u6642 -label.last.name=\u59D3 -label.latest.events=\u6700\u65B0\u30A4\u30D9\u30F3\u30C8 -label.launch=\u8D77\u52D5 -label.launch.vm=VM \u306E\u8D77\u52D5 -label.LB.isolation=\u8CA0\u8377\u5206\u6563\u5206\u96E2 -label.least.connections=\u6700\u5C0F\u63A5\u7D9A -label.level=\u30EC\u30D9\u30EB -label.linklocal.ip=\u30EA\u30F3\u30AF \u30ED\u30FC\u30AB\u30EB IP \u30A2\u30C9\u30EC\u30B9 -label.load.balancer=\u8CA0\u8377\u5206\u6563\u88C5\u7F6E -label.load.balancing.policies=\u8CA0\u8377\u5206\u6563\u30DD\u30EA\u30B7\u30FC -label.load.balancing=\u8CA0\u8377\u5206\u6563 -label.loading=\u30ED\u30FC\u30C9\u3057\u3066\u3044\u307E\u3059 -label.local.storage.enabled=\u30ED\u30FC\u30AB\u30EB \u30B9\u30C8\u30EC\u30FC\u30B8\u306F\u6709\u52B9\u3067\u3059 -label.local.storage=\u30ED\u30FC\u30AB\u30EB \u30B9\u30C8\u30EC\u30FC\u30B8 -label.local=\u30ED\u30FC\u30AB\u30EB -label.login=\u30ED\u30B0\u30AA\u30F3 -label.logout=\u30ED\u30B0\u30AA\u30D5 +label.lang.spanish=\u30b9\u30da\u30a4\u30f3\u8a9e +label.last.disconnected=\u6700\u7d42\u5207\u65ad\u65e5\u6642 +label.last.name=\u59d3 +label.latest.events=\u6700\u65b0\u30a4\u30d9\u30f3\u30c8 +label.launch=\u8d77\u52d5 +label.launch.vm=VM \u306e\u8d77\u52d5 +label.LB.isolation=\u8ca0\u8377\u5206\u6563\u5206\u96e2 +label.least.connections=\u6700\u5c0f\u63a5\u7d9a +label.level=\u30ec\u30d9\u30eb +label.linklocal.ip=\u30ea\u30f3\u30af \u30ed\u30fc\u30ab\u30eb IP \u30a2\u30c9\u30ec\u30b9 +label.load.balancer=\u8ca0\u8377\u5206\u6563\u88c5\u7f6e +label.load.balancing.policies=\u8ca0\u8377\u5206\u6563\u30dd\u30ea\u30b7\u30fc +label.load.balancing=\u8ca0\u8377\u5206\u6563 +label.loading=\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059 +label.local.storage.enabled=\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u6709\u52b9\u3067\u3059 +label.local.storage=\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8 +label.local=\u30ed\u30fc\u30ab\u30eb +label.login=\u30ed\u30b0\u30aa\u30f3 +label.logout=\u30ed\u30b0\u30aa\u30d5 label.lun=LUN -label.LUN.number=LUN \u756A\u53F7 -label.make.project.owner=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6240\u6709\u8005\u5316 -label.management.ips=\u7BA1\u7406 IP \u30A2\u30C9\u30EC\u30B9 -label.management=\u7BA1\u7406 -label.manage.resources=\u30EA\u30BD\u30FC\u30B9\u306E\u7BA1\u7406 -label.manage=\u7BA1\u7406 -label.max.guest.limit=\u6700\u5927\u30B2\u30B9\u30C8\u5236\u9650 +label.LUN.number=LUN \u756a\u53f7 +label.make.project.owner=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u6240\u6709\u8005\u5316 +label.management.ips=\u7ba1\u7406 IP \u30a2\u30c9\u30ec\u30b9 +label.management=\u7ba1\u7406 +label.manage.resources=\u30ea\u30bd\u30fc\u30b9\u306e\u7ba1\u7406 +label.manage=\u7ba1\u7406 +label.max.guest.limit=\u6700\u5927\u30b2\u30b9\u30c8\u5236\u9650 label.maximum=\u6700\u5927 -label.max.networks=\u6700\u5927\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u6570 -label.max.public.ips=\u6700\u5927\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u6570 -label.max.snapshots=\u6700\u5927\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u6570 -label.max.templates=\u6700\u5927\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6570 -label.max.vms=\u6700\u5927\u30E6\u30FC\u30B6\u30FC VM \u6570 -label.max.volumes=\u6700\u5927\u30DC\u30EA\u30E5\u30FC\u30E0\u6570 +label.max.networks=\u6700\u5927\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6570 +label.max.public.ips=\u6700\u5927\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u6570 +label.max.snapshots=\u6700\u5927\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u6570 +label.max.templates=\u6700\u5927\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6570 +label.max.vms=\u6700\u5927\u30e6\u30fc\u30b6\u30fc VM \u6570 +label.max.volumes=\u6700\u5927\u30dc\u30ea\u30e5\u30fc\u30e0\u6570 label.max.vpcs=Max. VPCs -label.may.continue=\u7D9A\u884C\u3067\u304D\u307E\u3059\u3002 -label.memory.allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F\u306E\u30E1\u30E2\u30EA -label.memory.mb=\u30E1\u30E2\u30EA (MB) -label.memory.total=\u30E1\u30E2\u30EA\u5408\u8A08 -label.memory=\u30E1\u30E2\u30EA -label.memory.used=\u30E1\u30E2\u30EA\u4F7F\u7528\u91CF -label.menu.accounts=\u30A2\u30AB\u30A6\u30F3\u30C8 -label.menu.alerts=\u30A2\u30E9\u30FC\u30C8 -label.menu.all.accounts=\u3059\u3079\u3066\u306E\u30A2\u30AB\u30A6\u30F3\u30C8 -label.menu.all.instances=\u3059\u3079\u3066\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.community.isos=\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3 ISO -label.menu.community.templates=\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3 \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.menu.configuration=\u69CB\u6210 -label.menu.dashboard=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9 -label.menu.destroyed.instances=\u7834\u68C4\u3055\u308C\u305F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.disk.offerings=\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.menu.domains=\u30C9\u30E1\u30A4\u30F3 -label.menu.events=\u30A4\u30D9\u30F3\u30C8 -label.menu.featured.isos=\u304A\u3059\u3059\u3081\u306E ISO -label.menu.featured.templates=\u304A\u3059\u3059\u3081\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.menu.global.settings=\u30B0\u30ED\u30FC\u30D0\u30EB\u8A2D\u5B9A -label.menu.infrastructure=\u30A4\u30F3\u30D5\u30E9\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3 -label.menu.instances=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.ipaddresses=IP \u30A2\u30C9\u30EC\u30B9 +label.may.continue=\u7d9a\u884c\u3067\u304d\u307e\u3059\u3002 +label.memory.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e\u30e1\u30e2\u30ea +label.memory.mb=\u30e1\u30e2\u30ea (MB) +label.memory.total=\u30e1\u30e2\u30ea\u5408\u8a08 +label.memory=\u30e1\u30e2\u30ea +label.memory.used=\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf +label.menu.accounts=\u30a2\u30ab\u30a6\u30f3\u30c8 +label.menu.alerts=\u30a2\u30e9\u30fc\u30c8 +label.menu.all.accounts=\u3059\u3079\u3066\u306e\u30a2\u30ab\u30a6\u30f3\u30c8 +label.menu.all.instances=\u3059\u3079\u3066\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.community.isos=\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 ISO +label.menu.community.templates=\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.menu.configuration=\u69cb\u6210 +label.menu.dashboard=\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9 +label.menu.destroyed.instances=\u7834\u68c4\u3055\u308c\u305f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.disk.offerings=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.menu.domains=\u30c9\u30e1\u30a4\u30f3 +label.menu.events=\u30a4\u30d9\u30f3\u30c8 +label.menu.featured.isos=\u304a\u3059\u3059\u3081\u306e ISO +label.menu.featured.templates=\u304a\u3059\u3059\u3081\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.menu.global.settings=\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a +label.menu.infrastructure=\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3 +label.menu.instances=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.ipaddresses=IP \u30a2\u30c9\u30ec\u30b9 label.menu.isos=ISO -label.menu.my.accounts=\u30DE\u30A4 \u30A2\u30AB\u30A6\u30F3\u30C8 -label.menu.my.instances=\u30DE\u30A4 \u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.my.isos=\u30DE\u30A4 ISO -label.menu.my.templates=\u30DE\u30A4 \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.menu.network.offerings=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.menu.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.menu.physical.resources=\u7269\u7406\u30EA\u30BD\u30FC\u30B9 -label.menu.running.instances=\u5B9F\u884C\u4E2D\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.security.groups=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 -label.menu.service.offerings=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.menu.snapshots=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 -label.menu.stopped.instances=\u505C\u6B62\u3055\u308C\u305F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 -label.menu.storage=\u30B9\u30C8\u30EC\u30FC\u30B8 -label.menu.system.service.offerings=\u30B7\u30B9\u30C6\u30E0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.menu.system=\u30B7\u30B9\u30C6\u30E0 -label.menu.system.vms=\u30B7\u30B9\u30C6\u30E0 VM -label.menu.templates=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.menu.virtual.appliances=\u4EEE\u60F3\u30A2\u30D7\u30E9\u30A4\u30A2\u30F3\u30B9 -label.menu.virtual.resources=\u4EEE\u60F3\u30EA\u30BD\u30FC\u30B9 -label.menu.volumes=\u30DC\u30EA\u30E5\u30FC\u30E0 -label.migrate.instance.to.host=\u5225\u306E\u30DB\u30B9\u30C8\u3078\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u79FB\u884C -label.migrate.instance.to.ps=\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u79FB\u884C -label.migrate.instance.to=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u79FB\u884C\u5148\: -label.migrate.router.to=\u30EB\u30FC\u30BF\u30FC\u306E\u79FB\u884C\u5148\: -label.migrate.systemvm.to=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u79FB\u884C\u5148\: +label.menu.my.accounts=\u30de\u30a4 \u30a2\u30ab\u30a6\u30f3\u30c8 +label.menu.my.instances=\u30de\u30a4 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.my.isos=\u30de\u30a4 ISO +label.menu.my.templates=\u30de\u30a4 \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.menu.network.offerings=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.menu.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.menu.physical.resources=\u7269\u7406\u30ea\u30bd\u30fc\u30b9 +label.menu.running.instances=\u5b9f\u884c\u4e2d\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.security.groups=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 +label.menu.service.offerings=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.menu.snapshots=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 +label.menu.stopped.instances=\u505c\u6b62\u3055\u308c\u305f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 +label.menu.storage=\u30b9\u30c8\u30ec\u30fc\u30b8 +label.menu.system.service.offerings=\u30b7\u30b9\u30c6\u30e0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.menu.system=\u30b7\u30b9\u30c6\u30e0 +label.menu.system.vms=\u30b7\u30b9\u30c6\u30e0 VM +label.menu.templates=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.menu.virtual.appliances=\u4eee\u60f3\u30a2\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9 +label.menu.virtual.resources=\u4eee\u60f3\u30ea\u30bd\u30fc\u30b9 +label.menu.volumes=\u30dc\u30ea\u30e5\u30fc\u30e0 +label.migrate.instance.to.host=\u5225\u306e\u30db\u30b9\u30c8\u3078\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c +label.migrate.instance.to.ps=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c +label.migrate.instance.to=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c\u5148\: +label.migrate.router.to=\u30eb\u30fc\u30bf\u30fc\u306e\u79fb\u884c\u5148\: +label.migrate.systemvm.to=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u79fb\u884c\u5148\: label.migrate.to.host=\u30db\u30b9\u30c8\u3078\u79fb\u884c label.migrate.to.storage=\u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u79fb\u884c -label.migrate.volume=\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u79FB\u884C -label.minimum=\u6700\u5C0F -label.minute.past.hour=\u5206 (\u6BCE\u6642) -label.monday=\u6708\u66DC\u65E5 -label.monthly=\u6BCE\u6708 -label.more.templates=\u305D\u306E\u307B\u304B\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.move.down.row=1 \u884C\u4E0B\u306B\u79FB\u52D5 -label.move.to.bottom=\u6700\u4E0B\u4F4D\u306B\u79FB\u52D5 -label.move.to.top=\u6700\u4E0A\u4F4D\u306B\u79FB\u52D5 -label.move.up.row=1 \u884C\u4E0A\u306B\u79FB\u52D5 -label.my.account=\u30DE\u30A4 \u30A2\u30AB\u30A6\u30F3\u30C8 -label.my.network=\u30DE\u30A4 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.my.templates=\u30DE\u30A4 \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.name.optional=\u540D\u524D (\u30AA\u30D7\u30B7\u30E7\u30F3) -label.name=\u540D\u524D -label.nat.port.range=NAT \u30DD\u30FC\u30C8\u306E\u7BC4\u56F2 -label.netmask=\u30CD\u30C3\u30C8\u30DE\u30B9\u30AF +label.migrate.volume=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u79fb\u884c +label.minimum=\u6700\u5c0f +label.minute.past.hour=\u5206 (\u6bce\u6642) +label.monday=\u6708\u66dc\u65e5 +label.monthly=\u6bce\u6708 +label.more.templates=\u305d\u306e\u307b\u304b\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.move.down.row=1 \u884c\u4e0b\u306b\u79fb\u52d5 +label.move.to.bottom=\u6700\u4e0b\u4f4d\u306b\u79fb\u52d5 +label.move.to.top=\u6700\u4e0a\u4f4d\u306b\u79fb\u52d5 +label.move.up.row=1 \u884c\u4e0a\u306b\u79fb\u52d5 +label.my.account=\u30de\u30a4 \u30a2\u30ab\u30a6\u30f3\u30c8 +label.my.network=\u30de\u30a4 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.my.templates=\u30de\u30a4 \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.name.optional=\u540d\u524d (\u30aa\u30d7\u30b7\u30e7\u30f3) +label.name=\u540d\u524d +label.nat.port.range=NAT \u30dd\u30fc\u30c8\u306e\u7bc4\u56f2 +label.netmask=\u30cd\u30c3\u30c8\u30de\u30b9\u30af label.netScaler=NetScaler -label.network.ACLs=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ACL -label.network.ACL.total=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ACL \u5408\u8A08 -label.network.ACL=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ACL -label.network.desc=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8AAC\u660E -label.network.device.type=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C7\u30D0\u30A4\u30B9\u306E\u7A2E\u985E -label.network.device=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C7\u30D0\u30A4\u30B9 -label.network.domain.text=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C9\u30E1\u30A4\u30F3 -label.network.domain=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C9\u30E1\u30A4\u30F3 -label.network.id=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ID -label.networking.and.security=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 -label.network.label.display.for.blank.value=\u30C7\u30D5\u30A9\u30EB\u30C8 \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u4F7F\u7528 -label.network.name=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u540D -label.network.offering.display.text=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u8868\u793A\u30C6\u30AD\u30B9\u30C8 -label.network.offering.id=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 ID -label.network.offering.name=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u540D -label.network.offering=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.network.rate.megabytes=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u901F\u5EA6 (MB/\u79D2) -label.network.rate=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u901F\u5EA6 -label.network.read=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8AAD\u307F\u53D6\u308A -label.network.service.providers=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30B5\u30FC\u30D3\u30B9 \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC -label.networks=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.network.type=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u7A2E\u985E -label.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.network.write=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u66F8\u304D\u8FBC\u307F -label.new.password=\u65B0\u3057\u3044\u30D1\u30B9\u30EF\u30FC\u30C9 -label.new.project=\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 -label.new=\u65B0\u898F -label.new.vm=\u65B0\u3057\u3044 VM -label.next=\u6B21\u3078 +label.network.ACLs=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL +label.network.ACL.total=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL \u5408\u8a08 +label.network.ACL=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL +label.network.desc=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8aac\u660e +label.network.device.type=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c7\u30d0\u30a4\u30b9\u306e\u7a2e\u985e +label.network.device=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c7\u30d0\u30a4\u30b9 +label.network.domain.text=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c9\u30e1\u30a4\u30f3 +label.network.domain=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c9\u30e1\u30a4\u30f3 +label.network.id=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ID +label.networking.and.security=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 +label.network.label.display.for.blank.value=\u30c7\u30d5\u30a9\u30eb\u30c8 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u4f7f\u7528 +label.network.name=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u540d +label.network.offering.display.text=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u8868\u793a\u30c6\u30ad\u30b9\u30c8 +label.network.offering.id=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 ID +label.network.offering.name=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u540d +label.network.offering=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.network.rate.megabytes=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901f\u5ea6 (MB/\u79d2) +label.network.rate=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901f\u5ea6 +label.network.read=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8aad\u307f\u53d6\u308a +label.network.service.providers=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30b5\u30fc\u30d3\u30b9 \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc +label.networks=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.network.type=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u7a2e\u985e +label.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.network.write=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u66f8\u304d\u8fbc\u307f +label.new.password=\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9 +label.new.project=\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 +label.new=\u65b0\u898f +label.new.vm=\u65b0\u3057\u3044 VM +label.next=\u6b21\u3078 label.nexusVswitch=Nexus 1000V label.nfs=NFS -label.nfs.server=NFS \u30B5\u30FC\u30D0\u30FC -label.nfs.storage=NFS \u30B9\u30C8\u30EC\u30FC\u30B8 -label.nic.adapter.type=NIC \u30A2\u30C0\u30D7\u30BF\u30FC\u306E\u7A2E\u985E +label.nfs.server=NFS \u30b5\u30fc\u30d0\u30fc +label.nfs.storage=NFS \u30b9\u30c8\u30ec\u30fc\u30b8 +label.nic.adapter.type=NIC \u30a2\u30c0\u30d7\u30bf\u30fc\u306e\u7a2e\u985e label.nicira.controller.address=\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306e\u30a2\u30c9\u30ec\u30b9 label.nicira.l3gatewayserviceuuid=L3 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u30b5\u30fc\u30d3\u30b9UUID label.nicira.transportzoneuuid=Transport Zone Uuid label.nics=NIC -label.no.actions=\u5B9F\u884C\u3067\u304D\u308B\u64CD\u4F5C\u306F\u3042\u308A\u307E\u305B\u3093 -label.no.alerts=\u6700\u8FD1\u306E\u30A2\u30E9\u30FC\u30C8\u306F\u3042\u308A\u307E\u305B\u3093 -label.no.data=\u8868\u793A\u3059\u308B\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093 -label.no.errors=\u6700\u8FD1\u306E\u30A8\u30E9\u30FC\u306F\u3042\u308A\u307E\u305B\u3093 -label.no.isos=\u4F7F\u7528\u3067\u304D\u308B ISO \u306F\u3042\u308A\u307E\u305B\u3093 -label.no.items=\u4F7F\u7528\u3067\u304D\u308B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093 -label.none=\u306A\u3057 -label.no.security.groups=\u4F7F\u7528\u3067\u304D\u308B\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u306F\u3042\u308A\u307E\u305B\u3093 -label.not.found=\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -label.no.thanks=\u8A2D\u5B9A\u3057\u306A\u3044 -label.notifications=\u901A\u77E5 +label.no.actions=\u5b9f\u884c\u3067\u304d\u308b\u64cd\u4f5c\u306f\u3042\u308a\u307e\u305b\u3093 +label.no.alerts=\u6700\u8fd1\u306e\u30a2\u30e9\u30fc\u30c8\u306f\u3042\u308a\u307e\u305b\u3093 +label.no.data=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093 +label.no.errors=\u6700\u8fd1\u306e\u30a8\u30e9\u30fc\u306f\u3042\u308a\u307e\u305b\u3093 +label.no.isos=\u4f7f\u7528\u3067\u304d\u308b ISO \u306f\u3042\u308a\u307e\u305b\u3093 +label.no.items=\u4f7f\u7528\u3067\u304d\u308b\u9805\u76ee\u306f\u3042\u308a\u307e\u305b\u3093 +label.none=\u306a\u3057 +label.no.security.groups=\u4f7f\u7528\u3067\u304d\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u306f\u3042\u308a\u307e\u305b\u3093 +label.not.found=\u898b\u3064\u304b\u308a\u307e\u305b\u3093 +label.no.thanks=\u8a2d\u5b9a\u3057\u306a\u3044 +label.notifications=\u901a\u77e5 label.no=\u3044\u3044\u3048 -label.number.of.clusters=\u30AF\u30E9\u30B9\u30BF\u30FC\u6570 -label.number.of.hosts=\u30DB\u30B9\u30C8\u6570 -label.number.of.pods=\u30DD\u30C3\u30C9\u6570 -label.number.of.system.vms=\u30B7\u30B9\u30C6\u30E0 VM \u6570 -label.number.of.virtual.routers=\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC\u6570 -label.number.of.zones=\u30BE\u30FC\u30F3\u6570 -label.num.cpu.cores=CPU \u30B3\u30A2\u6570 -label.numretries=\u518D\u8A66\u884C\u56DE\u6570 +label.number.of.clusters=\u30af\u30e9\u30b9\u30bf\u30fc\u6570 +label.number.of.hosts=\u30db\u30b9\u30c8\u6570 +label.number.of.pods=\u30dd\u30c3\u30c9\u6570 +label.number.of.system.vms=\u30b7\u30b9\u30c6\u30e0 VM \u6570 +label.number.of.virtual.routers=\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc\u6570 +label.number.of.zones=\u30be\u30fc\u30f3\u6570 +label.num.cpu.cores=CPU \u30b3\u30a2\u6570 +label.numretries=\u518d\u8a66\u884c\u56de\u6570 label.ocfs2=OCFS2 -label.offer.ha=\u9AD8\u53EF\u7528\u6027\u306E\u63D0\u4F9B +label.offer.ha=\u9ad8\u53ef\u7528\u6027\u306e\u63d0\u4f9b label.ok=OK -label.optional=\u30AA\u30D7\u30B7\u30E7\u30F3 -label.order=\u9806\u5E8F -label.os.preference=OS \u57FA\u672C\u8A2D\u5B9A -label.os.type=OS \u306E\u7A2E\u985E -label.owned.public.ips=\u6240\u6709\u3059\u308B\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9 -label.owner.account=\u6240\u6709\u8005\u30A2\u30AB\u30A6\u30F3\u30C8 +label.optional=\u30aa\u30d7\u30b7\u30e7\u30f3 +label.order=\u9806\u5e8f +label.os.preference=OS \u57fa\u672c\u8a2d\u5b9a +label.os.type=OS \u306e\u7a2e\u985e +label.owned.public.ips=\u6240\u6709\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 +label.owner.account=\u6240\u6709\u8005\u30a2\u30ab\u30a6\u30f3\u30c8 label.owner.domain=\u00e6\u0089\u0080\u00e6\u009c\u0089\u00e8\u0080\u0085\u00e3\u0083\u0089\u00e3\u0083\u00a1\u00e3\u0082\u00a4\u00e3\u0083\u00b3 -label.parent.domain=\u89AA\u30C9\u30E1\u30A4\u30F3 -label.password.enabled=\u30D1\u30B9\u30EF\u30FC\u30C9\u7BA1\u7406\u6709\u52B9 -label.password=\u30D1\u30B9\u30EF\u30FC\u30C9 -label.path=\u30D1\u30B9 +label.parent.domain=\u89aa\u30c9\u30e1\u30a4\u30f3 +label.password.enabled=\u30d1\u30b9\u30ef\u30fc\u30c9\u7ba1\u7406\u6709\u52b9 +label.password=\u30d1\u30b9\u30ef\u30fc\u30c9 +label.path=\u30d1\u30b9 label.perfect.forward.secrecy=Perfect Forward Secrecy -label.physical.network.ID=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF ID -label.PING.CIFS.password=PING CIFS \u30D1\u30B9\u30EF\u30FC\u30C9 -label.PING.CIFS.username=PING CIFS \u30E6\u30FC\u30B6\u30FC\u540D -label.PING.dir=PING \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA -label.PING.storage.IP=PING \u5BFE\u8C61\u306E\u30B9\u30C8\u30EC\u30FC\u30B8 IP \u30A2\u30C9\u30EC\u30B9 -label.please.specify.netscaler.info=Netscaler \u60C5\u5831\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044 -label.please.wait=\u304A\u5F85\u3061\u304F\u3060\u3055\u3044 -label.pod.name=\u30DD\u30C3\u30C9\u540D -label.pods=\u30DD\u30C3\u30C9 -label.pod=\u30DD\u30C3\u30C9 -label.port.forwarding.policies=\u30DD\u30FC\u30C8\u8EE2\u9001\u30DD\u30EA\u30B7\u30FC -label.port.forwarding=\u30DD\u30FC\u30C8\u8EE2\u9001 -label.port.range=\u30DD\u30FC\u30C8\u306E\u7BC4\u56F2 +label.physical.network.ID=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ID +label.PING.CIFS.password=PING CIFS \u30d1\u30b9\u30ef\u30fc\u30c9 +label.PING.CIFS.username=PING CIFS \u30e6\u30fc\u30b6\u30fc\u540d +label.PING.dir=PING \u30c7\u30a3\u30ec\u30af\u30c8\u30ea +label.PING.storage.IP=PING \u5bfe\u8c61\u306e\u30b9\u30c8\u30ec\u30fc\u30b8 IP \u30a2\u30c9\u30ec\u30b9 +label.please.specify.netscaler.info=Netscaler \u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044 +label.please.wait=\u304a\u5f85\u3061\u304f\u3060\u3055\u3044 +label.pod.name=\u30dd\u30c3\u30c9\u540d +label.pods=\u30dd\u30c3\u30c9 +label.pod=\u30dd\u30c3\u30c9 +label.port.forwarding.policies=\u30dd\u30fc\u30c8\u8ee2\u9001\u30dd\u30ea\u30b7\u30fc +label.port.forwarding=\u30dd\u30fc\u30c8\u8ee2\u9001 +label.port.range=\u30dd\u30fc\u30c8\u306e\u7bc4\u56f2 label.PreSetup=PreSetup -label.previous=\u623B\u308B -label.prev=\u623B\u308B -label.primary.allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 -label.primary.network=\u30D7\u30E9\u30A4\u30DE\u30EA \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.primary.storage.count=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30D7\u30FC\u30EB -label.primary.storage=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 -label.primary.used=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF -label.private.Gateway=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.private.interface=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9 -label.private.ip.range=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2 -label.private.ips=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9 -label.private.ip=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9 -label.privatekey=PKC\#8 \u79D8\u5BC6\u30AD\u30FC -label.private.network=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.private.port=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30DD\u30FC\u30C8 -label.private.zone=\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30BE\u30FC\u30F3 -label.project.dashboard=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9 -label.project.id=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ID -label.project.invite=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u306E\u62DB\u5F85 -label.project.name=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D -label.projects=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 -label.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 -label.project.view=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30D3\u30E5\u30FC -label.protocol=\u30D7\u30ED\u30C8\u30B3\u30EB -label.providers=\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC -label.public.interface=\u30D1\u30D6\u30EA\u30C3\u30AF \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9 -label.public.ips=\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9 -label.public.ip=\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9 -label.public.network=\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.public.port=\u30D1\u30D6\u30EA\u30C3\u30AF \u30DD\u30FC\u30C8 -label.public=\u30D1\u30D6\u30EA\u30C3\u30AF -label.public.zone=\u30D1\u30D6\u30EA\u30C3\u30AF \u30BE\u30FC\u30F3 -label.purpose=\u76EE\u7684 -label.Pxe.server.type=PXE \u30B5\u30FC\u30D0\u30FC\u306E\u7A2E\u985E +label.previous=\u623b\u308b +label.prev=\u623b\u308b +label.primary.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 +label.primary.network=\u30d7\u30e9\u30a4\u30de\u30ea \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.primary.storage.count=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30d7\u30fc\u30eb +label.primary.storage=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 +label.primary.used=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u91cf +label.private.Gateway=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.private.interface=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9 +label.private.ip.range=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2 +label.private.ips=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9 +label.private.ip=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9 +label.privatekey=PKC\#8 \u79d8\u5bc6\u30ad\u30fc +label.private.network=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.private.port=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30dd\u30fc\u30c8 +label.private.zone=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30be\u30fc\u30f3 +label.project.dashboard=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9 +label.project.id=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 ID +label.project.invite=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u62db\u5f85 +label.project.name=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d +label.projects=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 +label.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 +label.project.view=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30d3\u30e5\u30fc +label.protocol=\u30d7\u30ed\u30c8\u30b3\u30eb +label.providers=\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc +label.public.interface=\u30d1\u30d6\u30ea\u30c3\u30af \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9 +label.public.ips=\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 +label.public.ip=\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 +label.public.network=\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.public.port=\u30d1\u30d6\u30ea\u30c3\u30af \u30dd\u30fc\u30c8 +label.public=\u30d1\u30d6\u30ea\u30c3\u30af +label.public.zone=\u30d1\u30d6\u30ea\u30c3\u30af \u30be\u30fc\u30f3 +label.purpose=\u76ee\u7684 +label.Pxe.server.type=PXE \u30b5\u30fc\u30d0\u30fc\u306e\u7a2e\u985e label.quickview=\u30af\u30a4\u30c3\u30af\u30d3\u30e5\u30fc label.reboot=\u518d\u8d77\u52d5 -label.recent.errors=\u6700\u8FD1\u306E\u30A8\u30E9\u30FC -label.redundant.router.capability=\u5197\u9577\u30EB\u30FC\u30BF\u30FC\u6A5F\u80FD -label.redundant.router=\u5197\u9577\u30EB\u30FC\u30BF\u30FC -label.redundant.state=\u5197\u9577\u72B6\u614B -label.refresh=\u66F4\u65B0 -label.related=\u95A2\u9023 -label.remind.later=\u30A2\u30E9\u30FC\u30E0\u3092\u8868\u793A\u3059\u308B -label.remove.ACL=ACL \u306E\u524A\u9664 -label.remove.egress.rule=\u9001\u4FE1\u898F\u5247\u306E\u524A\u9664 -label.remove.from.load.balancer=\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u304B\u3089\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059 -label.remove.ingress.rule=\u53D7\u4FE1\u898F\u5247\u306E\u524A\u9664 -label.remove.ip.range=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306E\u524A\u9664 -label.remove.pf=\u30DD\u30FC\u30C8\u8EE2\u9001\u898F\u5247\u306E\u524A\u9664 -label.remove.rule=\u898F\u5247\u306E\u524A\u9664 -label.remove.static.nat.rule=\u9759\u7684 NAT \u898F\u5247\u306E\u524A\u9664 -label.remove.static.route=\u9759\u7684\u30EB\u30FC\u30C8\u306E\u524A\u9664 -label.remove.tier=\u968E\u5C64\u306E\u524A\u9664 -label.remove.vm.from.lb=\u8CA0\u8377\u5206\u6563\u898F\u5247\u304B\u3089\u306E VM \u306E\u524A\u9664 -label.remove.vpc=VPC \u306E\u524A\u9664 -label.removing=\u524A\u9664\u3057\u3066\u3044\u307E\u3059 -label.removing.user=\u30E6\u30FC\u30B6\u30FC\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059 -label.required=\u5FC5\u9808\u3067\u3059 -label.reserved.system.gateway=\u4E88\u7D04\u6E08\u307F\u30B7\u30B9\u30C6\u30E0 \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.reserved.system.ip=\u4E88\u7D04\u6E08\u307F\u30B7\u30B9\u30C6\u30E0 IP \u30A2\u30C9\u30EC\u30B9 -label.reserved.system.netmask=\u4E88\u7D04\u6E08\u307F\u30B7\u30B9\u30C6\u30E0 \u30CD\u30C3\u30C8\u30DE\u30B9\u30AF -label.reset.VPN.connection=VPN \u63A5\u7D9A\u306E\u30EA\u30BB\u30C3\u30C8 -label.resource.limits=\u30EA\u30BD\u30FC\u30B9\u5236\u9650 -label.resource.state=\u30EA\u30BD\u30FC\u30B9\u306E\u72B6\u614B -label.resources=\u30EA\u30BD\u30FC\u30B9 -label.resource=\u30EA\u30BD\u30FC\u30B9 -label.restart.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u518D\u8D77\u52D5 -label.restart.required=\u518D\u8D77\u52D5\u304C\u5FC5\u8981 -label.restart.vpc=VPC \u306E\u518D\u8D77\u52D5 +label.recent.errors=\u6700\u8fd1\u306e\u30a8\u30e9\u30fc +label.redundant.router.capability=\u5197\u9577\u30eb\u30fc\u30bf\u30fc\u6a5f\u80fd +label.redundant.router=\u5197\u9577\u30eb\u30fc\u30bf\u30fc +label.redundant.state=\u5197\u9577\u72b6\u614b +label.refresh=\u66f4\u65b0 +label.related=\u95a2\u9023 +label.remind.later=\u30a2\u30e9\u30fc\u30e0\u3092\u8868\u793a\u3059\u308b +label.remove.ACL=ACL \u306e\u524a\u9664 +label.remove.egress.rule=\u9001\u4fe1\u898f\u5247\u306e\u524a\u9664 +label.remove.from.load.balancer=\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u304b\u3089\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 +label.remove.ingress.rule=\u53d7\u4fe1\u898f\u5247\u306e\u524a\u9664 +label.remove.ip.range=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u524a\u9664 +label.remove.pf=\u30dd\u30fc\u30c8\u8ee2\u9001\u898f\u5247\u306e\u524a\u9664 +label.remove.rule=\u898f\u5247\u306e\u524a\u9664 +label.remove.static.nat.rule=\u9759\u7684 NAT \u898f\u5247\u306e\u524a\u9664 +label.remove.static.route=\u9759\u7684\u30eb\u30fc\u30c8\u306e\u524a\u9664 +label.remove.tier=\u968e\u5c64\u306e\u524a\u9664 +label.remove.vm.from.lb=\u8ca0\u8377\u5206\u6563\u898f\u5247\u304b\u3089\u306e VM \u306e\u524a\u9664 +label.remove.vpc=VPC \u306e\u524a\u9664 +label.removing=\u524a\u9664\u3057\u3066\u3044\u307e\u3059 +label.removing.user=\u30e6\u30fc\u30b6\u30fc\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 +label.required=\u5fc5\u9808\u3067\u3059 +label.reserved.system.gateway=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.reserved.system.ip=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 IP \u30a2\u30c9\u30ec\u30b9 +label.reserved.system.netmask=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 \u30cd\u30c3\u30c8\u30de\u30b9\u30af +label.reset.VPN.connection=VPN \u63a5\u7d9a\u306e\u30ea\u30bb\u30c3\u30c8 +label.resource.limits=\u30ea\u30bd\u30fc\u30b9\u5236\u9650 +label.resource.state=\u30ea\u30bd\u30fc\u30b9\u306e\u72b6\u614b +label.resources=\u30ea\u30bd\u30fc\u30b9 +label.resource=\u30ea\u30bd\u30fc\u30b9 +label.restart.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u518d\u8d77\u52d5 +label.restart.required=\u518d\u8d77\u52d5\u304c\u5fc5\u8981 +label.restart.vpc=VPC \u306e\u518d\u8d77\u52d5 label.restore=\u30ea\u30b9\u30c8\u30a2 -label.review=\u78BA\u8A8D -label.revoke.project.invite=\u62DB\u5F85\u306E\u53D6\u308A\u6D88\u3057 -label.role=\u5F79\u5272 -label.root.disk.controller=\u30EB\u30FC\u30C8 \u30C7\u30A3\u30B9\u30AF \u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC -label.root.disk.offering=\u30EB\u30FC\u30C8 \u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.round.robin=\u30E9\u30A6\u30F3\u30C9\u30ED\u30D3\u30F3 -label.rules=\u898F\u5247 -label.running.vms=\u5B9F\u884C\u4E2D\u306E VM +label.review=\u78ba\u8a8d +label.revoke.project.invite=\u62db\u5f85\u306e\u53d6\u308a\u6d88\u3057 +label.role=\u5f79\u5272 +label.root.disk.controller=\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc +label.root.disk.offering=\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.round.robin=\u30e9\u30a6\u30f3\u30c9\u30ed\u30d3\u30f3 +label.rules=\u898f\u5247 +label.running.vms=\u5b9f\u884c\u4e2d\u306e VM label.s3.access_key=\u30a2\u30af\u30bb\u30b9\u30ad\u30fc label.s3.bucket=\u30d0\u30b1\u30c3\u30c8 label.s3.connection_timeout=\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 @@ -890,569 +891,569 @@ label.s3.max_error_retry=\u30a8\u30e9\u30fc\u6642\u306e\u6700\u5927\u30ea\u30c8\ label.s3.secret_key=\u79d8\u5bc6\u9375 label.s3.socket_timeout=\u30bd\u30b1\u30c3\u30c8\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 label.s3.use_https=HTTPS\u306e\u4f7f\u7528 -label.saturday=\u571F\u66DC\u65E5 -label.save.and.continue=\u4FDD\u5B58\u3057\u3066\u7D9A\u884C -label.save=\u4FDD\u5B58 -label.saving.processing=\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059... -label.scope=\u30B9\u30B3\u30FC\u30D7 -label.search=\u691C\u7D22 -label.secondary.storage.count=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30D7\u30FC\u30EB -label.secondary.storage=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 -label.secondary.storage.vm=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 VM -label.secondary.used=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF +label.saturday=\u571f\u66dc\u65e5 +label.save.and.continue=\u4fdd\u5b58\u3057\u3066\u7d9a\u884c +label.save=\u4fdd\u5b58 +label.saving.processing=\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059... +label.scope=\u30b9\u30b3\u30fc\u30d7 +label.search=\u691c\u7d22 +label.secondary.storage.count=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30d7\u30fc\u30eb +label.secondary.storage=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 +label.secondary.storage.vm=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 VM +label.secondary.used=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u91cf label.secret.key=\u79d8\u5bc6\u9375 -label.security.group.name=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u540D -label.security.groups.enabled=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u6709\u52B9 -label.security.groups=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 -label.security.group=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 -label.select.a.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u9078\u629E -label.select.a.zone=\u30BE\u30FC\u30F3\u306E\u9078\u629E -label.select.instance.to.attach.volume.to=\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30A2\u30BF\u30C3\u30C1\u3059\u308B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 -label.select.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u9078\u629E -label.select.iso.or.template=ISO \u307E\u305F\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u9078\u629E -label.select.offering=\u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u9078\u629E -label.select.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u9078\u629E -label.select.tier=\u968E\u5C64\u306E\u9078\u629E -label.select=\u9078\u629E -label.select-view=\u30D3\u30E5\u30FC\u306E\u9078\u629E -label.select.vm.for.static.nat=\u9759\u7684 NAT \u7528 VM \u306E\u9078\u629E -label.sent=\u9001\u4FE1\u6E08\u307F -label.server=\u30B5\u30FC\u30D0\u30FC -label.service.capabilities=\u30B5\u30FC\u30D3\u30B9\u306E\u6A5F\u80FD -label.service.offering=\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.session.expired=\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F -label.setup.network=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7 -label.setup=\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7 -label.set.up.zone.type=\u30BE\u30FC\u30F3\u306E\u7A2E\u985E\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7 -label.setup.zone=\u30BE\u30FC\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7 +label.security.group.name=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u540d +label.security.groups.enabled=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u6709\u52b9 +label.security.groups=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 +label.security.group=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 +label.select.a.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u9078\u629e +label.select.a.zone=\u30be\u30fc\u30f3\u306e\u9078\u629e +label.select.instance.to.attach.volume.to=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30a2\u30bf\u30c3\u30c1\u3059\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 +label.select.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u9078\u629e +label.select.iso.or.template=ISO \u307e\u305f\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u9078\u629e +label.select.offering=\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u9078\u629e +label.select.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u9078\u629e +label.select.tier=\u968e\u5c64\u306e\u9078\u629e +label.select=\u9078\u629e +label.select-view=\u30d3\u30e5\u30fc\u306e\u9078\u629e +label.select.vm.for.static.nat=\u9759\u7684 NAT \u7528 VM \u306e\u9078\u629e +label.sent=\u9001\u4fe1\u6e08\u307f +label.server=\u30b5\u30fc\u30d0\u30fc +label.service.capabilities=\u30b5\u30fc\u30d3\u30b9\u306e\u6a5f\u80fd +label.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.session.expired=\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u6709\u52b9\u671f\u9650\u304c\u5207\u308c\u307e\u3057\u305f +label.setup.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 +label.setup=\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 +label.set.up.zone.type=\u30be\u30fc\u30f3\u306e\u7a2e\u985e\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 +label.setup.zone=\u30be\u30fc\u30f3\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 label.SharedMountPoint=SharedMountPoint label.shared=\u5171\u6709 -label.show.ingress.rule=\u53D7\u4FE1\u898F\u5247\u306E\u8868\u793A -label.shutdown.provider=\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306E\u30B7\u30E3\u30C3\u30C8\u30C0\u30A6\u30F3 -label.site.to.site.VPN=\u30B5\u30A4\u30C8\u9593 VPN -label.size=\u30B5\u30A4\u30BA -label.skip.guide=CloudStack \u3092\u4F7F\u7528\u3057\u305F\u3053\u3068\u304C\u3042\u308B\u306E\u3067\u3001\u3053\u306E\u30AC\u30A4\u30C9\u3092\u30B9\u30AD\u30C3\u30D7\u3059\u308B -label.snapshot.limits=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u5236\u9650 -label.snapshot.name=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u540D -label.snapshot.schedule=\u5B9A\u671F\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7 -label.snapshot.s=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 -label.snapshots=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 -label.snapshot=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 -label.source.nat=\u9001\u4FE1\u5143 NAT -label.source=\u9001\u4FE1\u5143 -label.specify.IP.ranges=IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306E\u6307\u5B9A -label.specify.vlan=VLAN \u306E\u6307\u5B9A -label.SR.name = SR \u540D\u30E9\u30D9\u30EB +label.show.ingress.rule=\u53d7\u4fe1\u898f\u5247\u306e\u8868\u793a +label.shutdown.provider=\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3 +label.site.to.site.VPN=\u30b5\u30a4\u30c8\u9593 VPN +label.size=\u30b5\u30a4\u30ba +label.skip.guide=CloudStack \u3092\u4f7f\u7528\u3057\u305f\u3053\u3068\u304c\u3042\u308b\u306e\u3067\u3001\u3053\u306e\u30ac\u30a4\u30c9\u3092\u30b9\u30ad\u30c3\u30d7\u3059\u308b +label.snapshot.limits=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u5236\u9650 +label.snapshot.name=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u540d +label.snapshot.schedule=\u5b9a\u671f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 +label.snapshot.s=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 +label.snapshots=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 +label.snapshot=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 +label.source.nat=\u9001\u4fe1\u5143 NAT +label.source=\u9001\u4fe1\u5143 +label.specify.IP.ranges=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u6307\u5b9a +label.specify.vlan=VLAN \u306e\u6307\u5b9a +label.SR.name = SR \u540d\u30e9\u30d9\u30eb label.srx=SRX -label.start.IP=\u958B\u59CB IP \u30A2\u30C9\u30EC\u30B9 -label.start.port=\u958B\u59CB\u30DD\u30FC\u30C8 -label.start.reserved.system.IP=\u4E88\u7D04\u6E08\u307F\u958B\u59CB\u30B7\u30B9\u30C6\u30E0 IP \u30A2\u30C9\u30EC\u30B9 -label.start.vlan=\u958B\u59CB VLAN -label.state=\u72B6\u614B -label.static.nat.enabled=\u9759\u7684 NAT \u6709\u52B9 -label.static.nat.to=\u9759\u7684 NAT \u306E\u8A2D\u5B9A\u5148\: +label.start.IP=\u958b\u59cb IP \u30a2\u30c9\u30ec\u30b9 +label.start.port=\u958b\u59cb\u30dd\u30fc\u30c8 +label.start.reserved.system.IP=\u4e88\u7d04\u6e08\u307f\u958b\u59cb\u30b7\u30b9\u30c6\u30e0 IP \u30a2\u30c9\u30ec\u30b9 +label.start.vlan=\u958b\u59cb VLAN +label.state=\u72b6\u614b +label.static.nat.enabled=\u9759\u7684 NAT \u6709\u52b9 +label.static.nat.to=\u9759\u7684 NAT \u306e\u8a2d\u5b9a\u5148\: label.static.nat=\u9759\u7684 NAT -label.static.nat.vm.details=\u9759\u7684 NAT VM \u306E\u8A73\u7D30 -label.statistics=\u7D71\u8A08 -label.status=\u72B6\u614B -label.step.1.title=\u624B\u9806 1. \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u9078\u629E -label.step.1=\u624B\u9806 1 -label.step.2.title=\u624B\u9806 2. \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.step.2=\u624B\u9806 2 -label.step.3.title=\u624B\u9806 3. \u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u306E\u9078\u629E -label.step.3=\u624B\u9806 3 -label.step.4.title=\u624B\u9806 4. \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.step.4=\u624B\u9806 4 -label.step.5.title=\u624B\u9806 5. \u78BA\u8A8D -label.step.5=\u624B\u9806 5 -label.stickiness=\u6301\u7D9A\u6027 -label.sticky.cookie-name=Cookie \u540D -label.sticky.domain=\u30C9\u30E1\u30A4\u30F3 -label.sticky.expire=\u5931\u52B9 -label.sticky.holdtime=\u4FDD\u6301\u6642\u9593 -label.sticky.indirect=\u9593\u63A5 +label.static.nat.vm.details=\u9759\u7684 NAT VM \u306e\u8a73\u7d30 +label.statistics=\u7d71\u8a08 +label.status=\u72b6\u614b +label.step.1.title=\u624b\u9806 1. \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u9078\u629e +label.step.1=\u624b\u9806 1 +label.step.2.title=\u624b\u9806 2. \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.step.2=\u624b\u9806 2 +label.step.3.title=\u624b\u9806 3. \u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u9078\u629e +label.step.3=\u624b\u9806 3 +label.step.4.title=\u624b\u9806 4. \u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.step.4=\u624b\u9806 4 +label.step.5.title=\u624b\u9806 5. \u78ba\u8a8d +label.step.5=\u624b\u9806 5 +label.stickiness=\u6301\u7d9a\u6027 +label.sticky.cookie-name=Cookie \u540d +label.sticky.domain=\u30c9\u30e1\u30a4\u30f3 +label.sticky.expire=\u5931\u52b9 +label.sticky.holdtime=\u4fdd\u6301\u6642\u9593 +label.sticky.indirect=\u9593\u63a5 label.sticky.length=\u9577\u3055 -label.sticky.mode=\u30E2\u30FC\u30C9 -label.sticky.nocache=\u30AD\u30E3\u30C3\u30B7\u30E5\u306A\u3057 -label.sticky.postonly=\u30DD\u30B9\u30C8\u306E\u307F -label.sticky.prefix=\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9 -label.sticky.request-learn=\u30E9\u30FC\u30CB\u30F3\u30B0\u306E\u8981\u6C42 -label.sticky.tablesize=\u30C6\u30FC\u30D6\u30EB \u30B5\u30A4\u30BA -label.stopped.vms=\u505C\u6B62\u4E2D\u306E VM +label.sticky.mode=\u30e2\u30fc\u30c9 +label.sticky.nocache=\u30ad\u30e3\u30c3\u30b7\u30e5\u306a\u3057 +label.sticky.postonly=\u30dd\u30b9\u30c8\u306e\u307f +label.sticky.prefix=\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9 +label.sticky.request-learn=\u30e9\u30fc\u30cb\u30f3\u30b0\u306e\u8981\u6c42 +label.sticky.tablesize=\u30c6\u30fc\u30d6\u30eb \u30b5\u30a4\u30ba +label.stopped.vms=\u505c\u6b62\u4e2d\u306e VM label.stop=\u505c\u6b62 -label.storage.tags=\u30B9\u30C8\u30EC\u30FC\u30B8 \u30BF\u30B0 -label.storage.traffic=\u30B9\u30C8\u30EC\u30FC\u30B8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF -label.storage.type=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u7A2E\u985E -label.storage=\u30B9\u30C8\u30EC\u30FC\u30B8 -label.subdomain.access=\u30B5\u30D6\u30C9\u30E1\u30A4\u30F3 \u30A2\u30AF\u30BB\u30B9 -label.submitted.by=[\u9001\u4FE1\u30E6\u30FC\u30B6\u30FC\: ] -label.submit=\u9001\u4FE1 -label.succeeded=\u6210\u529F -label.sunday=\u65E5\u66DC\u65E5 -label.super.cidr.for.guest.networks=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u30B9\u30FC\u30D1\u30FC CIDR -label.supported.services=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u30B5\u30FC\u30D3\u30B9 -label.supported.source.NAT.type=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u9001\u4FE1\u5143 NAT \u306E\u7A2E\u985E -label.suspend.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u6642\u505C\u6B62 -label.system.capacity=\u30B7\u30B9\u30C6\u30E0\u306E\u51E6\u7406\u80FD\u529B -label.system.offering=\u30B7\u30B9\u30C6\u30E0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.system.service.offering=\u30B7\u30B9\u30C6\u30E0 \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0 -label.system.vms=\u30B7\u30B9\u30C6\u30E0 VM -label.system.vm.type=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u7A2E\u985E -label.system.vm=\u30B7\u30B9\u30C6\u30E0 VM -label.system.wide.capacity=\u30B7\u30B9\u30C6\u30E0\u5168\u4F53\u306E\u51E6\u7406\u80FD\u529B -label.tagged=\u30BF\u30B0\u3042\u308A -label.tags=\u30BF\u30B0 -label.target.iqn=\u30BF\u30FC\u30B2\u30C3\u30C8 IQN -label.task.completed=\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F -label.template.limits=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5236\u9650 -label.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -label.TFTP.dir=TFTP \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA -label.theme.default=\u30C7\u30D5\u30A9\u30EB\u30C8 \u30C6\u30FC\u30DE -label.theme.grey=\u30AB\u30B9\u30BF\u30E0 - \u30B0\u30EC\u30FC -label.theme.lightblue=\u30AB\u30B9\u30BF\u30E0 - \u30E9\u30A4\u30C8 \u30D6\u30EB\u30FC -label.thursday=\u6728\u66DC\u65E5 -label.tier.details=\u968E\u5C64\u306E\u8A73\u7D30 -label.tier=\u968E\u5C64 -label.timeout.in.second = \u30BF\u30A4\u30E0\u30A2\u30A6\u30C8 (\u79D2) -label.timeout=\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8 -label.time=\u6642\u523B -label.time.zone=\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3 -label.timezone=\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3 -label.token=\u30C8\u30FC\u30AF\u30F3 -label.total.cpu=CPU \u5408\u8A08 -label.total.CPU=CPU \u5408\u8A08 -label.total.hosts=\u30DB\u30B9\u30C8\u5408\u8A08 -label.total.memory=\u30E1\u30E2\u30EA\u5408\u8A08 -label.total.of.ip=IP \u30A2\u30C9\u30EC\u30B9\u5408\u8A08 -label.total.of.vm=VM \u5408\u8A08 -label.total.storage=\u30B9\u30C8\u30EC\u30FC\u30B8\u5408\u8A08 -label.total.vms=VM \u5408\u8A08 -label.traffic.label=\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF \u30E9\u30D9\u30EB -label.traffic.types=\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E -label.traffic.type=\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E -label.tuesday=\u706B\u66DC\u65E5 -label.type.id=\u7A2E\u985E ID -label.type=\u7A2E\u985E -label.unavailable=\u4F7F\u7528\u4E0D\u80FD +label.storage.tags=\u30b9\u30c8\u30ec\u30fc\u30b8 \u30bf\u30b0 +label.storage.traffic=\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af +label.storage.type=\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u7a2e\u985e +label.storage=\u30b9\u30c8\u30ec\u30fc\u30b8 +label.subdomain.access=\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3 \u30a2\u30af\u30bb\u30b9 +label.submitted.by=[\u9001\u4fe1\u30e6\u30fc\u30b6\u30fc\: ] +label.submit=\u9001\u4fe1 +label.succeeded=\u6210\u529f +label.sunday=\u65e5\u66dc\u65e5 +label.super.cidr.for.guest.networks=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30b9\u30fc\u30d1\u30fc CIDR +label.supported.services=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u30b5\u30fc\u30d3\u30b9 +label.supported.source.NAT.type=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u9001\u4fe1\u5143 NAT \u306e\u7a2e\u985e +label.suspend.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e00\u6642\u505c\u6b62 +label.system.capacity=\u30b7\u30b9\u30c6\u30e0\u306e\u51e6\u7406\u80fd\u529b +label.system.offering=\u30b7\u30b9\u30c6\u30e0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.system.service.offering=\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 +label.system.vms=\u30b7\u30b9\u30c6\u30e0 VM +label.system.vm.type=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u7a2e\u985e +label.system.vm=\u30b7\u30b9\u30c6\u30e0 VM +label.system.wide.capacity=\u30b7\u30b9\u30c6\u30e0\u5168\u4f53\u306e\u51e6\u7406\u80fd\u529b +label.tagged=\u30bf\u30b0\u3042\u308a +label.tags=\u30bf\u30b0 +label.target.iqn=\u30bf\u30fc\u30b2\u30c3\u30c8 IQN +label.task.completed=\u30bf\u30b9\u30af\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f +label.template.limits=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u5236\u9650 +label.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +label.TFTP.dir=TFTP \u30c7\u30a3\u30ec\u30af\u30c8\u30ea +label.theme.default=\u30c7\u30d5\u30a9\u30eb\u30c8 \u30c6\u30fc\u30de +label.theme.grey=\u30ab\u30b9\u30bf\u30e0 - \u30b0\u30ec\u30fc +label.theme.lightblue=\u30ab\u30b9\u30bf\u30e0 - \u30e9\u30a4\u30c8 \u30d6\u30eb\u30fc +label.thursday=\u6728\u66dc\u65e5 +label.tier.details=\u968e\u5c64\u306e\u8a73\u7d30 +label.tier=\u968e\u5c64 +label.timeout.in.second = \u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 (\u79d2) +label.timeout=\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 +label.time=\u6642\u523b +label.time.zone=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3 +label.timezone=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3 +label.token=\u30c8\u30fc\u30af\u30f3 +label.total.cpu=CPU \u5408\u8a08 +label.total.CPU=CPU \u5408\u8a08 +label.total.hosts=\u30db\u30b9\u30c8\u5408\u8a08 +label.total.memory=\u30e1\u30e2\u30ea\u5408\u8a08 +label.total.of.ip=IP \u30a2\u30c9\u30ec\u30b9\u5408\u8a08 +label.total.of.vm=VM \u5408\u8a08 +label.total.storage=\u30b9\u30c8\u30ec\u30fc\u30b8\u5408\u8a08 +label.total.vms=VM \u5408\u8a08 +label.traffic.label=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb +label.traffic.types=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e +label.traffic.type=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e +label.tuesday=\u706b\u66dc\u65e5 +label.type.id=\u7a2e\u985e ID +label.type=\u7a2e\u985e +label.unavailable=\u4f7f\u7528\u4e0d\u80fd label.unlimited=\u7121\u5236\u9650 -label.untagged=\u30BF\u30B0\u306A\u3057 -label.update.project.resources=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30EA\u30BD\u30FC\u30B9\u306E\u66F4\u65B0 -label.update.ssl.cert= SSL \u8A3C\u660E\u66F8\u306E\u66F4\u65B0 -label.update.ssl= SSL \u8A3C\u660E\u66F8\u306E\u66F4\u65B0 -label.updating=\u66F4\u65B0\u3057\u3066\u3044\u307E\u3059 -label.upload=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9 -label.upload.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9 +label.untagged=\u30bf\u30b0\u306a\u3057 +label.update.project.resources=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30ea\u30bd\u30fc\u30b9\u306e\u66f4\u65b0 +label.update.ssl.cert= SSL \u8a3c\u660e\u66f8\u306e\u66f4\u65b0 +label.update.ssl= SSL \u8a3c\u660e\u66f8\u306e\u66f4\u65b0 +label.updating=\u66f4\u65b0\u3057\u3066\u3044\u307e\u3059 +label.upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 +label.upload.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 label.url=URL -label.usage.interface=\u4F7F\u7528\u72B6\u6CC1\u6E2C\u5B9A\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9 -label.used=\u4F7F\u7528\u4E2D -label.username=\u30E6\u30FC\u30B6\u30FC\u540D -label.users=\u30E6\u30FC\u30B6\u30FC -label.user=\u30E6\u30FC\u30B6\u30FC +label.usage.interface=\u4f7f\u7528\u72b6\u6cc1\u6e2c\u5b9a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9 +label.used=\u4f7f\u7528\u4e2d +label.username=\u30e6\u30fc\u30b6\u30fc\u540d +label.users=\u30e6\u30fc\u30b6\u30fc +label.user=\u30e6\u30fc\u30b6\u30fc label.value=\u5024 -label.vcdcname=vCenter DC \u540D -label.vcenter.cluster=vCenter \u30AF\u30E9\u30B9\u30BF\u30FC -label.vcenter.datacenter=vCenter \u30C7\u30FC\u30BF\u30BB\u30F3\u30BF\u30FC -label.vcenter.datastore=vCenter \u30C7\u30FC\u30BF\u30B9\u30C8\u30A2 -label.vcenter.host=vCenter \u30DB\u30B9\u30C8 -label.vcenter.password=vCenter \u30D1\u30B9\u30EF\u30FC\u30C9 -label.vcenter.username=vCenter \u30E6\u30FC\u30B6\u30FC\u540D -label.vcipaddress=vCenter IP \u30A2\u30C9\u30EC\u30B9 -label.version=\u30D0\u30FC\u30B8\u30E7\u30F3 -label.view.all=\u3059\u3079\u3066\u8868\u793A -label.view.console=\u30B3\u30F3\u30BD\u30FC\u30EB\u306E\u8868\u793A -label.viewing=\u8868\u793A\u9805\u76EE\: -label.view.more=\u8A73\u7D30\u8868\u793A -label.view=\u8868\u793A - -label.virtual.appliances=\u4EEE\u60F3\u30A2\u30D7\u30E9\u30A4\u30A2\u30F3\u30B9 -label.virtual.appliance=\u4EEE\u60F3\u30A2\u30D7\u30E9\u30A4\u30A2\u30F3\u30B9 -label.virtual.machines=\u4EEE\u60F3\u30DE\u30B7\u30F3 -label.virtual.network=\u4EEE\u60F3\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF -label.virtual.routers=\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC -label.virtual.router=\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC +label.vcdcname=vCenter DC \u540d +label.vcenter.cluster=vCenter \u30af\u30e9\u30b9\u30bf\u30fc +label.vcenter.datacenter=vCenter \u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc +label.vcenter.datastore=vCenter \u30c7\u30fc\u30bf\u30b9\u30c8\u30a2 +label.vcenter.host=vCenter \u30db\u30b9\u30c8 +label.vcenter.password=vCenter \u30d1\u30b9\u30ef\u30fc\u30c9 +label.vcenter.username=vCenter \u30e6\u30fc\u30b6\u30fc\u540d +label.vcipaddress=vCenter IP \u30a2\u30c9\u30ec\u30b9 +label.version=\u30d0\u30fc\u30b8\u30e7\u30f3 +label.view.all=\u3059\u3079\u3066\u8868\u793a +label.view.console=\u30b3\u30f3\u30bd\u30fc\u30eb\u306e\u8868\u793a +label.viewing=\u8868\u793a\u9805\u76ee\: +label.view.more=\u8a73\u7d30\u8868\u793a +label.view=\u8868\u793a - +label.virtual.appliances=\u4eee\u60f3\u30a2\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9 +label.virtual.appliance=\u4eee\u60f3\u30a2\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9 +label.virtual.machines=\u4eee\u60f3\u30de\u30b7\u30f3 +label.virtual.network=\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af +label.virtual.routers=\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc +label.virtual.router=\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc label.vlan.id=VLAN ID -label.vlan.range=VLAN \u306E\u7BC4\u56F2 +label.vlan.range=VLAN \u306e\u7bc4\u56f2 label.vlan=VLAN -label.vm.add=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u8FFD\u52A0 +label.vm.add=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8ffd\u52a0 label.vm.destroy=\u7834\u68c4 -label.vm.display.name=VM \u8868\u793A\u540D -label.VMFS.datastore=VMFS \u30C7\u30FC\u30BF\u30B9\u30C8\u30A2 +label.vm.display.name=VM \u8868\u793a\u540d +label.VMFS.datastore=VMFS \u30c7\u30fc\u30bf\u30b9\u30c8\u30a2 label.vmfs=VMFS -label.vm.name=VM \u540D +label.vm.name=VM \u540d label.vm.reboot=\u518d\u8d77\u52d5 -label.VMs.in.tier=\u968E\u5C64\u5185\u306E VM -label.vmsnapshot.type=\u7A2E\u985E -label.vm.start=\u8D77\u52D5 -label.vm.state=VM \u306E\u72B6\u614B +label.VMs.in.tier=\u968e\u5c64\u5185\u306e VM +label.vmsnapshot.type=\u7a2e\u985e +label.vm.start=\u8d77\u52d5 +label.vm.state=VM \u306e\u72b6\u614b label.vm.stop=\u505c\u6b62 label.vms=VM -label.vmware.traffic.label=VMware \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u30E9\u30D9\u30EB -label.volgroup=\u30DC\u30EA\u30E5\u30FC\u30E0 \u30B0\u30EB\u30FC\u30D7 -label.volume.limits=\u30DC\u30EA\u30E5\u30FC\u30E0\u5236\u9650 -label.volume.name=\u30DC\u30EA\u30E5\u30FC\u30E0\u540D -label.volumes=\u30DC\u30EA\u30E5\u30FC\u30E0 -label.volume=\u30DC\u30EA\u30E5\u30FC\u30E0 +label.vmware.traffic.label=VMware \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u30e9\u30d9\u30eb +label.volgroup=\u30dc\u30ea\u30e5\u30fc\u30e0 \u30b0\u30eb\u30fc\u30d7 +label.volume.limits=\u30dc\u30ea\u30e5\u30fc\u30e0\u5236\u9650 +label.volume.name=\u30dc\u30ea\u30e5\u30fc\u30e0\u540d +label.volumes=\u30dc\u30ea\u30e5\u30fc\u30e0 +label.volume=\u30dc\u30ea\u30e5\u30fc\u30e0 label.vpc.id=VPC ID -label.VPC.router.details=VPC \u30EB\u30FC\u30BF\u30FC\u306E\u8A73\u7D30 +label.VPC.router.details=VPC \u30eb\u30fc\u30bf\u30fc\u306e\u8a73\u7d30 label.vpc=VPC -label.VPN.connection=VPN \u63A5\u7D9A -label.vpn.customer.gateway=VPN \u30AB\u30B9\u30BF\u30DE\u30FC \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.VPN.customer.gateway=VPN \u30AB\u30B9\u30BF\u30DE\u30FC \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 -label.VPN.gateway=VPN \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4 +label.VPN.connection=VPN \u63a5\u7d9a +label.vpn.customer.gateway=VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.VPN.customer.gateway=VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 +label.VPN.gateway=VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 label.vpn=VPN -label.vsmctrlvlanid=\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB VLAN ID -label.vsmpktvlanid=\u30D1\u30B1\u30C3\u30C8 VLAN ID -label.vsmstoragevlanid=\u30B9\u30C8\u30EC\u30FC\u30B8 VLAN ID -label.vsphere.managed=vSphere \u306B\u3088\u308B\u7BA1\u7406 -label.waiting=\u5F85\u6A5F\u3057\u3066\u3044\u307E\u3059 -label.warn=\u8B66\u544A -label.wednesday=\u6C34\u66DC\u65E5 -label.weekly=\u6BCE\u9031 -label.welcome.cloud.console=\u7BA1\u7406\u30B3\u30F3\u30BD\u30FC\u30EB\u3078\u3088\u3046\u3053\u305D -label.welcome=\u3088\u3046\u3053\u305D -label.what.is.cloudstack=CloudStack&\#8482; \u306B\u3064\u3044\u3066 -label.xen.traffic.label=XenServer \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u30E9\u30D9\u30EB -label.yes=\u306F\u3044 -label.zone.details=\u30BE\u30FC\u30F3\u306E\u8A73\u7D30 -label.zone.id=\u30BE\u30FC\u30F3 ID -label.zone.name=\u30BE\u30FC\u30F3\u540D -label.zone.step.1.title=\u624B\u9806 1. \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u9078\u629E -label.zone.step.2.title=\u624B\u9806 2. \u30BE\u30FC\u30F3\u306E\u8FFD\u52A0 -label.zone.step.3.title=\u624B\u9806 3. \u30DD\u30C3\u30C9\u306E\u8FFD\u52A0 -label.zone.step.4.title=\u624B\u9806 4. IP \u30A2\u30C9\u30EC\u30B9\u7BC4\u56F2\u306E\u8FFD\u52A0 -label.zones=\u30BE\u30FC\u30F3 -label.zone.type=\u30BE\u30FC\u30F3\u306E\u7A2E\u985E -label.zone=\u30BE\u30FC\u30F3 -label.zone.wide=\u30BE\u30FC\u30F3\u5168\u4F53 +label.vsmctrlvlanid=\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb VLAN ID +label.vsmpktvlanid=\u30d1\u30b1\u30c3\u30c8 VLAN ID +label.vsmstoragevlanid=\u30b9\u30c8\u30ec\u30fc\u30b8 VLAN ID +label.vsphere.managed=vSphere \u306b\u3088\u308b\u7ba1\u7406 +label.waiting=\u5f85\u6a5f\u3057\u3066\u3044\u307e\u3059 +label.warn=\u8b66\u544a +label.wednesday=\u6c34\u66dc\u65e5 +label.weekly=\u6bce\u9031 +label.welcome.cloud.console=\u7ba1\u7406\u30b3\u30f3\u30bd\u30fc\u30eb\u3078\u3088\u3046\u3053\u305d +label.welcome=\u3088\u3046\u3053\u305d +label.what.is.cloudstack=CloudStack&\#8482; \u306b\u3064\u3044\u3066 +label.xen.traffic.label=XenServer \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u30e9\u30d9\u30eb +label.yes=\u306f\u3044 +label.zone.details=\u30be\u30fc\u30f3\u306e\u8a73\u7d30 +label.zone.id=\u30be\u30fc\u30f3 ID +label.zone.name=\u30be\u30fc\u30f3\u540d +label.zone.step.1.title=\u624b\u9806 1. \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9078\u629e +label.zone.step.2.title=\u624b\u9806 2. \u30be\u30fc\u30f3\u306e\u8ffd\u52a0 +label.zone.step.3.title=\u624b\u9806 3. \u30dd\u30c3\u30c9\u306e\u8ffd\u52a0 +label.zone.step.4.title=\u624b\u9806 4. IP \u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u306e\u8ffd\u52a0 +label.zones=\u30be\u30fc\u30f3 +label.zone.type=\u30be\u30fc\u30f3\u306e\u7a2e\u985e +label.zone=\u30be\u30fc\u30f3 +label.zone.wide=\u30be\u30fc\u30f3\u5168\u4f53 label.zoneWizard.trafficType.guest=\u30b2\u30b9\u30c8\: \u30a8\u30f3\u30c9\u30e6\u30fc\u30b6\u30fc\u4eee\u60f3\u30de\u30b7\u30f3\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af label.zoneWizard.trafficType.management=\u7ba1\u7406\: \u30db\u30b9\u30c8\u3084\u30b7\u30b9\u30c6\u30e0VM\u306a\u3069\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u3059\u308b\u3042\u3089\u3086\u308b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u542b\u3081\u305f\u3001CloudStack\u5185\u90e8\u306e\u30ea\u30bd\u30fc\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af label.zoneWizard.trafficType.public=\u30d1\u30d6\u30ea\u30c3\u30af\: \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u30af\u30e9\u30a6\u30c9\u5185\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af label.zoneWizard.trafficType.storage=\u30b9\u30c8\u30ec\u30fc\u30b8\: VM\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3068\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u3088\u3046\u306a\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u3068\u30bb\u30ab\u30f3\u30c0\u30ea\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30fc\u30d0\u30fc\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3002 -managed.state=\u7BA1\u7406\u5BFE\u8C61\u72B6\u614B -message.acquire.new.ip=\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u65B0\u3057\u3044 IP \u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? +managed.state=\u7ba1\u7406\u5bfe\u8c61\u72b6\u614b +message.acquire.new.ip=\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u65b0\u3057\u3044 IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.acquire.new.ip.vpc=VPC\u306e\u65b0\u3057\u3044IP\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -message.acquire.public.ip=\u65B0\u3057\u3044 IP \u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97\u3059\u308B\u30BE\u30FC\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.action.cancel.maintenance.mode=\u3053\u306E\u4FDD\u5B88\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.cancel.maintenance=\u30DB\u30B9\u30C8\u306E\u4FDD\u5B88\u306F\u6B63\u5E38\u306B\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u51E6\u7406\u306B\u306F\u6570\u5206\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.change.service.warning.for.instance=\u73FE\u5728\u306E\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u524D\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u505C\u6B62\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.change.service.warning.for.router=\u73FE\u5728\u306E\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u524D\u306B\u30EB\u30FC\u30BF\u30FC\u3092\u505C\u6B62\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.delete.cluster=\u3053\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.disk.offering=\u3053\u306E\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.domain=\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.external.firewall=\u3053\u306E\u5916\u90E8\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? \u8B66\u544A\: \u540C\u3058\u5916\u90E8\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3092\u518D\u5EA6\u8FFD\u52A0\u3059\u308B\u4E88\u5B9A\u3067\u3042\u308B\u5834\u5408\u306F\u3001\u30C7\u30D0\u30A4\u30B9\u306E\u4F7F\u7528\u72B6\u6CC1\u30C7\u30FC\u30BF\u3092\u30EA\u30BB\u30C3\u30C8\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.delete.external.load.balancer=\u3053\u306E\u5916\u90E8\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? \u8B66\u544A\: \u540C\u3058\u5916\u90E8\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u3092\u518D\u5EA6\u8FFD\u52A0\u3059\u308B\u4E88\u5B9A\u3067\u3042\u308B\u5834\u5408\u306F\u3001\u30C7\u30D0\u30A4\u30B9\u306E\u4F7F\u7528\u72B6\u6CC1\u30C7\u30FC\u30BF\u3092\u30EA\u30BB\u30C3\u30C8\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.delete.ingress.rule=\u3053\u306E\u53D7\u4FE1\u898F\u5247\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.ISO.for.all.zones=\u305D\u306E ISO \u306F\u3059\u3079\u3066\u306E\u30BE\u30FC\u30F3\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30BE\u30FC\u30F3\u304B\u3089\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.ISO=\u3053\u306E ISO \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.network=\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.nexusVswitch=\u3053\u306E Nexus 1000V \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.physical.network=\u3053\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.pod=\u3053\u306E\u30DD\u30C3\u30C9\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.primary.storage=\u3053\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.secondary.storage=\u3053\u306E\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.security.group=\u3053\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.service.offering=\u3053\u306E\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.snapshot=\u3053\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.system.service.offering=\u3053\u306E\u30B7\u30B9\u30C6\u30E0 \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.template.for.all.zones=\u305D\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u3059\u3079\u3066\u306E\u30BE\u30FC\u30F3\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30BE\u30FC\u30F3\u304B\u3089\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.template=\u3053\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.volume=\u3053\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.delete.zone=\u3053\u306E\u30BE\u30FC\u30F3\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.destroy.instance=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u7834\u68C4\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.destroy.systemvm=\u3053\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3092\u7834\u68C4\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.cluster=\u3053\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.nexusVswitch=\u3053\u306E Nexus 1000V \u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.physical.network=\u3053\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.pod=\u3053\u306E\u30DD\u30C3\u30C9\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.static.NAT=\u9759\u7684 NAT \u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.disable.zone=\u3053\u306E\u30BE\u30FC\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.download.iso=\u3053\u306E ISO \u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.download.template=\u3053\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.enable.cluster=\u3053\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.enable.maintenance=\u30DB\u30B9\u30C8\u3092\u4FDD\u5B88\u3059\u308B\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F\u3002\u3053\u306E\u30DB\u30B9\u30C8\u4E0A\u306E VM \u6570\u306B\u3088\u3063\u3066\u306F\u3001\u3053\u306E\u51E6\u7406\u306B\u306F\u6570\u5206\u4EE5\u4E0A\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.enable.nexusVswitch=\u3053\u306E Nexus 1000V \u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.enable.physical.network=\u3053\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.enable.pod=\u3053\u306E\u30DD\u30C3\u30C9\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.enable.zone=\u3053\u306E\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.force.reconnect=\u30DB\u30B9\u30C8\u306F\u5F37\u5236\u7684\u306B\u518D\u63A5\u7D9A\u3057\u307E\u3057\u305F\u3002\u3053\u306E\u51E6\u7406\u306B\u306F\u6570\u5206\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.host.enable.maintenance.mode=\u4FDD\u5B88\u30E2\u30FC\u30C9\u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u3053\u306E\u30DB\u30B9\u30C8\u3067\u5B9F\u884C\u4E2D\u306E\u3059\u3079\u3066\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u307B\u304B\u306E\u4F7F\u7528\u3067\u304D\u308B\u30DB\u30B9\u30C8\u306B\u30E9\u30A4\u30D6 \u30DE\u30A4\u30B0\u30EC\u30FC\u30B7\u30E7\u30F3\u3055\u308C\u307E\u3059\u3002 +message.acquire.public.ip=\u65b0\u3057\u3044 IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3059\u308b\u30be\u30fc\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.action.cancel.maintenance.mode=\u3053\u306e\u4fdd\u5b88\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.cancel.maintenance=\u30db\u30b9\u30c8\u306e\u4fdd\u5b88\u306f\u6b63\u5e38\u306b\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u306e\u51e6\u7406\u306b\u306f\u6570\u5206\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.change.service.warning.for.instance=\u73fe\u5728\u306e\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u5909\u66f4\u3059\u308b\u524d\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.change.service.warning.for.router=\u73fe\u5728\u306e\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u5909\u66f4\u3059\u308b\u524d\u306b\u30eb\u30fc\u30bf\u30fc\u3092\u505c\u6b62\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.delete.cluster=\u3053\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.disk.offering=\u3053\u306e\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.domain=\u3053\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.external.firewall=\u3053\u306e\u5916\u90e8\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? \u8b66\u544a\: \u540c\u3058\u5916\u90e8\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u518d\u5ea6\u8ffd\u52a0\u3059\u308b\u4e88\u5b9a\u3067\u3042\u308b\u5834\u5408\u306f\u3001\u30c7\u30d0\u30a4\u30b9\u306e\u4f7f\u7528\u72b6\u6cc1\u30c7\u30fc\u30bf\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.delete.external.load.balancer=\u3053\u306e\u5916\u90e8\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? \u8b66\u544a\: \u540c\u3058\u5916\u90e8\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3092\u518d\u5ea6\u8ffd\u52a0\u3059\u308b\u4e88\u5b9a\u3067\u3042\u308b\u5834\u5408\u306f\u3001\u30c7\u30d0\u30a4\u30b9\u306e\u4f7f\u7528\u72b6\u6cc1\u30c7\u30fc\u30bf\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.delete.ingress.rule=\u3053\u306e\u53d7\u4fe1\u898f\u5247\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.ISO.for.all.zones=\u305d\u306e ISO \u306f\u3059\u3079\u3066\u306e\u30be\u30fc\u30f3\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3059\u3079\u3066\u306e\u30be\u30fc\u30f3\u304b\u3089\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.ISO=\u3053\u306e ISO \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.network=\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.nexusVswitch=\u3053\u306e Nexus 1000V \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.physical.network=\u3053\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.pod=\u3053\u306e\u30dd\u30c3\u30c9\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.primary.storage=\u3053\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.secondary.storage=\u3053\u306e\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.security.group=\u3053\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.service.offering=\u3053\u306e\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.snapshot=\u3053\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.system.service.offering=\u3053\u306e\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.template.for.all.zones=\u305d\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306f\u3059\u3079\u3066\u306e\u30be\u30fc\u30f3\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3059\u3079\u3066\u306e\u30be\u30fc\u30f3\u304b\u3089\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.template=\u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.volume=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.delete.zone=\u3053\u306e\u30be\u30fc\u30f3\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.destroy.instance=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7834\u68c4\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.destroy.systemvm=\u3053\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3092\u7834\u68c4\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.cluster=\u3053\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.nexusVswitch=\u3053\u306e Nexus 1000V \u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.physical.network=\u3053\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.pod=\u3053\u306e\u30dd\u30c3\u30c9\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.static.NAT=\u9759\u7684 NAT \u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.disable.zone=\u3053\u306e\u30be\u30fc\u30f3\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.download.iso=\u3053\u306e ISO \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.download.template=\u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.enable.cluster=\u3053\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.enable.maintenance=\u30db\u30b9\u30c8\u3092\u4fdd\u5b88\u3059\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u3053\u306e\u30db\u30b9\u30c8\u4e0a\u306e VM \u6570\u306b\u3088\u3063\u3066\u306f\u3001\u3053\u306e\u51e6\u7406\u306b\u306f\u6570\u5206\u4ee5\u4e0a\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.enable.nexusVswitch=\u3053\u306e Nexus 1000V \u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.enable.physical.network=\u3053\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.enable.pod=\u3053\u306e\u30dd\u30c3\u30c9\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.enable.zone=\u3053\u306e\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.force.reconnect=\u30db\u30b9\u30c8\u306f\u5f37\u5236\u7684\u306b\u518d\u63a5\u7d9a\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u51e6\u7406\u306b\u306f\u6570\u5206\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.host.enable.maintenance.mode=\u4fdd\u5b88\u30e2\u30fc\u30c9\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3001\u3053\u306e\u30db\u30b9\u30c8\u3067\u5b9f\u884c\u4e2d\u306e\u3059\u3079\u3066\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u307b\u304b\u306e\u4f7f\u7528\u3067\u304d\u308b\u30db\u30b9\u30c8\u306b\u30e9\u30a4\u30d6 \u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3055\u308c\u307e\u3059\u3002 message.action.instance.reset.password=\u00e3\u0081\u0093\u00e3\u0081\u00ae\u00e4\u00bb\u00ae\u00e6\u0083\u00b3\u00e3\u0083\u009e\u00e3\u0082\u00b7\u00e3\u0083\u00b3\u00e3\u0081\u00ae\u00e3\u0083\u00ab\u00e3\u0083\u00bc\u00e3\u0083\u0088\u00e3\u0083\u0091\u00e3\u0082\u00b9\u00e3\u0083\u00af\u00e3\u0083\u00bc\u00e3\u0083\u0089\u00e3\u0082\u0092\u00e5\u00a4\u0089\u00e6\u009b\u00b4\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0082\u0082\u00e3\u0082\u0088\u00e3\u0082\u008d\u00e3\u0081\u0097\u00e3\u0081\u0084\u00e3\u0081\u00a7\u00e3\u0081\u0099\u00e3\u0081\u008b? -message.action.manage.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u7BA1\u7406\u5BFE\u8C61\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.primarystorage.enable.maintenance.mode=\u8B66\u544A\: \u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4FDD\u5B88\u30E2\u30FC\u30C9\u306B\u3059\u308B\u3068\u3001\u305D\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u4E0A\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u4F7F\u7528\u3059\u308B\u3059\u3079\u3066\u306E VM \u304C\u505C\u6B62\u3057\u307E\u3059\u3002\u7D9A\u884C\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.reboot.instance=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.reboot.router=\u3053\u306E\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC\u3067\u63D0\u4F9B\u3059\u308B\u3059\u3079\u3066\u306E\u30B5\u30FC\u30D3\u30B9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30EB\u30FC\u30BF\u30FC\u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.reboot.systemvm=\u3053\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.release.ip=\u3053\u306E IP \u30A2\u30C9\u30EC\u30B9\u3092\u89E3\u653E\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.remove.host=\u3053\u306E\u30DB\u30B9\u30C8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.reset.password.off=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u73FE\u5728\u3053\u306E\u6A5F\u80FD\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 -message.action.reset.password.warning=\u73FE\u5728\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3059\u308B\u524D\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u505C\u6B62\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.action.restore.instance=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u5FA9\u5143\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.start.instance=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.start.router=\u3053\u306E\u30EB\u30FC\u30BF\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.start.systemvm=\u3053\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3092\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.stop.instance=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u505C\u6B62\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.stop.router=\u3053\u306E\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC\u3067\u63D0\u4F9B\u3059\u308B\u3059\u3079\u3066\u306E\u30B5\u30FC\u30D3\u30B9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30EB\u30FC\u30BF\u30FC\u3092\u505C\u6B62\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.stop.systemvm=\u3053\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3092\u505C\u6B62\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.take.snapshot=\u3053\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.action.unmanage.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u975E\u7BA1\u7406\u5BFE\u8C61\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.activate.project=\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.add.cluster=\u30BE\u30FC\u30F3 \u306E\u30DD\u30C3\u30C9 \u306B\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3067\u7BA1\u7406\u3055\u308C\u308B\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.cluster.zone=\u30BE\u30FC\u30F3 \u306B\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3067\u7BA1\u7406\u3055\u308C\u308B\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.disk.offering=\u65B0\u3057\u3044\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.domain=\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u306B\u4F5C\u6210\u3059\u308B\u30B5\u30D6\u30C9\u30E1\u30A4\u30F3\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.firewall=\u30BE\u30FC\u30F3\u306B\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.guest.network=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u8FFD\u52A0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.add.host=\u65B0\u3057\u3044\u30DB\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.adding.host=\u30DB\u30B9\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -message.adding.Netscaler.device=Netscaler \u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -message.adding.Netscaler.provider=Netscaler \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059 -message.add.ip.range.direct.network=\u30BE\u30FC\u30F3 \u306E\u76F4\u63A5\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u306B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.ip.range.to.pod=

\u30DD\u30C3\u30C9 \u306B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u8FFD\u52A0\u3057\u307E\u3059

-message.add.ip.range=\u30BE\u30FC\u30F3\u306E\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.additional.networks.desc=\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u63A5\u7D9A\u3059\u308B\u8FFD\u52A0\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.load.balancer=\u30BE\u30FC\u30F3\u306B\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.load.balancer.under.ip=\u8CA0\u8377\u5206\u6563\u898F\u5247\u304C\u6B21\u306E IP \u30A2\u30C9\u30EC\u30B9\u306B\u5BFE\u3057\u3066\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\: -message.add.network=\u30BE\u30FC\u30F3 \u306B\u65B0\u3057\u3044\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.new.gateway.to.vpc=\u3053\u306E VPC \u306B\u65B0\u3057\u3044\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306E\u60C5\u5831\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.pod.during.zone.creation=\u5404\u30BE\u30FC\u30F3\u306B\u306F 1 \u3064\u4EE5\u4E0A\u306E\u30DD\u30C3\u30C9\u304C\u5FC5\u8981\u3067\u3059\u3002\u4ECA\u3053\u3053\u3067\u6700\u521D\u306E\u30DD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u30DD\u30C3\u30C9\u306F\u30DB\u30B9\u30C8\u3068\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304B\u3089\u69CB\u6210\u3055\u308C\u307E\u3059\u304C\u3001\u3053\u308C\u3089\u306F\u5F8C\u306E\u624B\u9806\u3067\u8FFD\u52A0\u3057\u307E\u3059\u3002\u6700\u521D\u306B\u3001CloudStack \u306E\u5185\u90E8\u7BA1\u7406\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u305F\u3081\u306B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u4E88\u7D04\u3057\u307E\u3059\u3002IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u306F\u3001\u30AF\u30E9\u30A6\u30C9\u5185\u306E\u5404\u30BE\u30FC\u30F3\u3067\u91CD\u8907\u3057\u306A\u3044\u3088\u3046\u306B\u4E88\u7D04\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.add.pod=\u30BE\u30FC\u30F3 \u306B\u65B0\u3057\u3044\u30DD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.primary.storage=\u30BE\u30FC\u30F3 \u306E\u30DD\u30C3\u30C9 \u306B\u65B0\u3057\u3044\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.primary=\u65B0\u3057\u3044\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.secondary.storage=\u30BE\u30FC\u30F3 \u306B\u65B0\u3057\u3044\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0\u3057\u307E\u3059 -message.add.service.offering=\u65B0\u3057\u3044\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30C7\u30FC\u30BF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.system.service.offering=\u65B0\u3057\u3044\u30B7\u30B9\u30C6\u30E0 \u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30C7\u30FC\u30BF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.template=\u65B0\u3057\u3044\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30C7\u30FC\u30BF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.volume=\u65B0\u3057\u3044\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u8FFD\u52A0\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30C7\u30FC\u30BF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.add.VPN.gateway=VPN \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u8FFD\u52A0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.advanced.mode.desc=VLAN \u30B5\u30DD\u30FC\u30C8\u3092\u6709\u52B9\u306B\u3059\u308B\u5834\u5408\u306F\u3001\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30E2\u30C7\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3053\u306E\u30E2\u30C7\u30EB\u3067\u306F\u6700\u3082\u67D4\u8EDF\u306B\u30AB\u30B9\u30BF\u30E0 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u63D0\u4F9B\u3067\u304D\u3001\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3001VPN\u3001\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u306E\u30B5\u30DD\u30FC\u30C8\u306E\u307B\u304B\u306B\u3001\u76F4\u63A5\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3068\u4EEE\u60F3\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3082\u6709\u52B9\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 -message.advanced.security.group=\u30B2\u30B9\u30C8 VM \u3092\u5206\u96E2\u3059\u308B\u305F\u3081\u306B\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306F\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.advanced.virtual=\u30B2\u30B9\u30C8 VM \u3092\u5206\u96E2\u3059\u308B\u305F\u3081\u306B\u30BE\u30FC\u30F3\u5168\u4F53\u306E VLAN \u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306F\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +message.action.manage.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u7ba1\u7406\u5bfe\u8c61\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.primarystorage.enable.maintenance.mode=\u8b66\u544a\: \u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4fdd\u5b88\u30e2\u30fc\u30c9\u306b\u3059\u308b\u3068\u3001\u305d\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u4e0a\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u4f7f\u7528\u3059\u308b\u3059\u3079\u3066\u306e VM \u304c\u505c\u6b62\u3057\u307e\u3059\u3002\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.reboot.instance=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.reboot.router=\u3053\u306e\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc\u3067\u63d0\u4f9b\u3059\u308b\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d3\u30b9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30eb\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.reboot.systemvm=\u3053\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3092\u518d\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.release.ip=\u3053\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u89e3\u653e\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.remove.host=\u3053\u306e\u30db\u30b9\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.reset.password.off=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u73fe\u5728\u3053\u306e\u6a5f\u80fd\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002 +message.action.reset.password.warning=\u73fe\u5728\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u66f4\u3059\u308b\u524d\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.action.restore.instance=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5fa9\u5143\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.start.instance=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.start.router=\u3053\u306e\u30eb\u30fc\u30bf\u30fc\u3092\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.start.systemvm=\u3053\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3092\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.stop.instance=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.stop.router=\u3053\u306e\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc\u3067\u63d0\u4f9b\u3059\u308b\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d3\u30b9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30eb\u30fc\u30bf\u30fc\u3092\u505c\u6b62\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.stop.systemvm=\u3053\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3092\u505c\u6b62\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.take.snapshot=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.action.unmanage.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u975e\u7ba1\u7406\u5bfe\u8c61\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.activate.project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.add.cluster=\u30be\u30fc\u30f3 \u306e\u30dd\u30c3\u30c9 \u306b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3067\u7ba1\u7406\u3055\u308c\u308b\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.cluster.zone=\u30be\u30fc\u30f3 \u306b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3067\u7ba1\u7406\u3055\u308c\u308b\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.disk.offering=\u65b0\u3057\u3044\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.domain=\u3053\u306e\u30c9\u30e1\u30a4\u30f3\u306b\u4f5c\u6210\u3059\u308b\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.firewall=\u30be\u30fc\u30f3\u306b\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.guest.network=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.add.host=\u65b0\u3057\u3044\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.adding.host=\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +message.adding.Netscaler.device=Netscaler \u30c7\u30d0\u30a4\u30b9\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +message.adding.Netscaler.provider=Netscaler \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059 +message.add.ip.range.direct.network=\u30be\u30fc\u30f3 \u306e\u76f4\u63a5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u306b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.ip.range.to.pod=

\u30dd\u30c3\u30c9 \u306b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u8ffd\u52a0\u3057\u307e\u3059

+message.add.ip.range=\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.additional.networks.desc=\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u63a5\u7d9a\u3059\u308b\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.load.balancer=\u30be\u30fc\u30f3\u306b\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.load.balancer.under.ip=\u8ca0\u8377\u5206\u6563\u898f\u5247\u304c\u6b21\u306e IP \u30a2\u30c9\u30ec\u30b9\u306b\u5bfe\u3057\u3066\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\: +message.add.network=\u30be\u30fc\u30f3 \u306b\u65b0\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.new.gateway.to.vpc=\u3053\u306e VPC \u306b\u65b0\u3057\u3044\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306e\u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.pod.during.zone.creation=\u5404\u30be\u30fc\u30f3\u306b\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30dd\u30c3\u30c9\u306f\u30db\u30b9\u30c8\u3068\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u304c\u3001\u3053\u308c\u3089\u306f\u5f8c\u306e\u624b\u9806\u3067\u8ffd\u52a0\u3057\u307e\u3059\u3002\u6700\u521d\u306b\u3001CloudStack \u306e\u5185\u90e8\u7ba1\u7406\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u4e88\u7d04\u3057\u307e\u3059\u3002IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306f\u3001\u30af\u30e9\u30a6\u30c9\u5185\u306e\u5404\u30be\u30fc\u30f3\u3067\u91cd\u8907\u3057\u306a\u3044\u3088\u3046\u306b\u4e88\u7d04\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.add.pod=\u30be\u30fc\u30f3 \u306b\u65b0\u3057\u3044\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.primary.storage=\u30be\u30fc\u30f3 \u306e\u30dd\u30c3\u30c9 \u306b\u65b0\u3057\u3044\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.primary=\u65b0\u3057\u3044\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.secondary.storage=\u30be\u30fc\u30f3 \u306b\u65b0\u3057\u3044\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u307e\u3059 +message.add.service.offering=\u65b0\u3057\u3044\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.system.service.offering=\u65b0\u3057\u3044\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.template=\u65b0\u3057\u3044\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.volume=\u65b0\u3057\u3044\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.add.VPN.gateway=VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.advanced.mode.desc=VLAN \u30b5\u30dd\u30fc\u30c8\u3092\u6709\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30e2\u30c7\u30eb\u3067\u306f\u6700\u3082\u67d4\u8edf\u306b\u30ab\u30b9\u30bf\u30e0 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u63d0\u4f9b\u3067\u304d\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3001VPN\u3001\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u306e\u30b5\u30dd\u30fc\u30c8\u306e\u307b\u304b\u306b\u3001\u76f4\u63a5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3082\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 +message.advanced.security.group=\u30b2\u30b9\u30c8 VM \u3092\u5206\u96e2\u3059\u308b\u305f\u3081\u306b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.advanced.virtual=\u30b2\u30b9\u30c8 VM \u3092\u5206\u96e2\u3059\u308b\u305f\u3081\u306b\u30be\u30fc\u30f3\u5168\u4f53\u306e VLAN \u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.after.enable.s3=S3\u57fa\u76e4\u30bb\u30ab\u30f3\u30c0\u30ea\u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u8a2d\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002 \u30ce\u30fc\u30c8\:\u3053\u306e\u30da\u30fc\u30b8\u3092\u9589\u3058\u308b\u3068S3\u3092\u518d\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002 -message.after.enable.swift=Swift \u304C\u69CB\u6210\u3055\u308C\u307E\u3057\u305F\u3002\u6CE8\: \u3053\u306E\u30DA\u30FC\u30B8\u3092\u9589\u3058\u308B\u3068\u3001Swift \u3092\u518D\u69CB\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -message.alert.state.detected=\u30A2\u30E9\u30FC\u30C8\u72B6\u614B\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F -message.allow.vpn.access=VPN \u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u306E\u30E6\u30FC\u30B6\u30FC\u540D\u3068\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.apply.snapshot.policy=\u73FE\u5728\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 \u30DD\u30EA\u30B7\u30FC\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002 -message.attach.iso.confirm=\u3053\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B ISO \u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30BF\u30C3\u30C1\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.attach.volume=\u65B0\u3057\u3044\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30A2\u30BF\u30C3\u30C1\u3059\u308B\u305F\u3081\u306B\u3001\u6B21\u306E\u30C7\u30FC\u30BF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002Windows \u30D9\u30FC\u30B9\u306E\u4EEE\u60F3\u30DE\u30B7\u30F3\u306B\u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30A2\u30BF\u30C3\u30C1\u3059\u308B\u5834\u5408\u306F\u3001\u30A2\u30BF\u30C3\u30C1\u3057\u305F\u30C7\u30A3\u30B9\u30AF\u3092\u8A8D\u8B58\u3059\u308B\u305F\u3081\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u518D\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.basic.mode.desc=VLAN \u30B5\u30DD\u30FC\u30C8\u304C\u4E0D\u8981\u3067\u3042\u308B\u5834\u5408\u306F\u3001\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30E2\u30C7\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30E2\u30C7\u30EB\u3067\u4F5C\u6210\u3055\u308C\u308B\u3059\u3079\u3066\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304B\u3089\u76F4\u63A5 IP \u30A2\u30C9\u30EC\u30B9\u304C\u5272\u308A\u5F53\u3066\u3089\u308C\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u3057\u3066\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3068\u5206\u96E2\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002 -message.change.offering.confirm=\u3053\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u5909\u66F4\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.change.password=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.configure.all.traffic.types=\u8907\u6570\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304C\u3042\u308A\u307E\u3059\u3002[\u7DE8\u96C6] \u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E\u3054\u3068\u306B\u30E9\u30D9\u30EB\u3092\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.configuring.guest.traffic=\u30B2\u30B9\u30C8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u69CB\u6210\u3057\u3066\u3044\u307E\u3059 -message.configuring.physical.networks=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u69CB\u6210\u3057\u3066\u3044\u307E\u3059 -message.configuring.public.traffic=\u30D1\u30D6\u30EA\u30C3\u30AF \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u69CB\u6210\u3057\u3066\u3044\u307E\u3059 -message.configuring.storage.traffic=\u30B9\u30C8\u30EC\u30FC\u30B8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u69CB\u6210\u3057\u3066\u3044\u307E\u3059 -message.confirm.action.force.reconnect=\u3053\u306E\u30DB\u30B9\u30C8\u3092\u5F37\u5236\u518D\u63A5\u7D9A\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.delete.F5=F5 \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.delete.NetScaler=NetScaler \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.delete.SRX=SRX \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.destroy.router=\u3053\u306E\u30EB\u30FC\u30BF\u30FC\u3092\u7834\u68C4\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.disable.provider=\u3053\u306E\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.enable.provider=\u3053\u306E\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.join.project=\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.remove.IP.range=\u3053\u306E IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.confirm.shutdown.provider=\u3053\u306E\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u30B7\u30E3\u30C3\u30C8\u30C0\u30A6\u30F3\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.copy.iso.confirm=ISO \u3092\u6B21\u306E\u5834\u6240\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.copy.template=\u30BE\u30FC\u30F3 \u304B\u3089\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 XXX \u3092\u6B21\u306E\u5834\u6240\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3059\: -message.create.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.create.template.vm=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 \u304B\u3089 VM \u3092\u4F5C\u6210\u3057\u307E\u3059 -message.create.template.volume=\u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0 \u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\u524D\u306B\u3001\u6B21\u306E\u60C5\u5831\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30DC\u30EA\u30E5\u30FC\u30E0 \u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u306F\u3001\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\u306B\u306F\u6570\u5206\u4EE5\u4E0A\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -message.creating.cluster=\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.guest.network=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.physical.networks=\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.pod=\u30DD\u30C3\u30C9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.primary.storage=\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.secondary.storage=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.creating.zone=\u30BE\u30FC\u30F3\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059 -message.decline.invitation=\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u306E\u62DB\u5F85\u3092\u8F9E\u9000\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.account=\u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.gateway=\u3053\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.project=\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.user=\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.VPN.connection=VPN \u63A5\u7D9A\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.VPN.customer.gateway=\u3053\u306E VPN \u30AB\u30B9\u30BF\u30DE\u30FC \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.delete.VPN.gateway=\u3053\u306E VPN \u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.desc.advanced.zone=\u3088\u308A\u6D17\u7DF4\u3055\u308C\u305F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u6280\u8853\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30E2\u30C7\u30EB\u3092\u9078\u629E\u3059\u308B\u3068\u3001\u3088\u308A\u67D4\u8EDF\u306B\u30B2\u30B9\u30C8\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u5B9A\u7FA9\u3057\u3001\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3001VPN\u3001\u8CA0\u8377\u5206\u6563\u88C5\u7F6E\u306E\u30B5\u30DD\u30FC\u30C8\u306E\u3088\u3046\u306A\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u305F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u63D0\u4F9B\u3067\u304D\u307E\u3059\u3002 -message.desc.basic.zone=\u5404 VM \u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B IP \u30A2\u30C9\u30EC\u30B9\u304C\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304B\u3089\u76F4\u63A5\u5272\u308A\u5F53\u3066\u3089\u308C\u308B\u3001\u5358\u4E00\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u63D0\u4F9B\u3057\u307E\u3059\u3002\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 (\u9001\u4FE1\u5143 IP \u30A2\u30C9\u30EC\u30B9\u306E\u30D5\u30A3\u30EB\u30BF\u30FC) \u306E\u3088\u3046\u306A\u30EC\u30A4\u30E4\u30FC 3 \u30EC\u30D9\u30EB\u306E\u65B9\u6CD5\u3067\u30B2\u30B9\u30C8\u3092\u5206\u96E2\u3067\u304D\u307E\u3059\u3002 -message.desc.cluster=\u5404\u30DD\u30C3\u30C9\u306B\u306F 1 \u3064\u4EE5\u4E0A\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u304C\u5FC5\u8981\u3067\u3059\u3002\u4ECA\u3053\u3053\u3067\u6700\u521D\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u30AF\u30E9\u30B9\u30BF\u30FC\u306F\u30DB\u30B9\u30C8\u3092\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u65B9\u6CD5\u3067\u3059\u30021 \u3064\u306E\u30AF\u30E9\u30B9\u30BF\u30FC\u5185\u306E\u30DB\u30B9\u30C8\u306F\u3059\u3079\u3066\u540C\u4E00\u306E\u30CF\u30FC\u30C9\u30A6\u30A7\u30A2\u304B\u3089\u69CB\u6210\u3055\u308C\u3001\u540C\u3058\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3092\u5B9F\u884C\u3057\u3001\u540C\u3058\u30B5\u30D6\u30CD\u30C3\u30C8\u4E0A\u306B\u3042\u308A\u3001\u540C\u3058\u5171\u6709\u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u307E\u3059\u3002\u5404\u30AF\u30E9\u30B9\u30BF\u30FC\u306F 1 \u3064\u4EE5\u4E0A\u306E\u30DB\u30B9\u30C8\u3068 1 \u3064\u4EE5\u4E0A\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304B\u3089\u69CB\u6210\u3055\u308C\u307E\u3059\u3002 -message.desc.host=\u5404\u30AF\u30E9\u30B9\u30BF\u30FC\u306B\u306F\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u3001\u30B2\u30B9\u30C8 VM \u3092\u5B9F\u884C\u3059\u308B\u305F\u3081\u306E\u30DB\u30B9\u30C8 (\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30FC) \u304C\u5FC5\u8981\u3067\u3059\u3002\u4ECA\u3053\u3053\u3067\u6700\u521D\u306E\u30DB\u30B9\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002CloudStack \u3067\u30DB\u30B9\u30C8\u3092\u6A5F\u80FD\u3055\u305B\u308B\u306B\u306F\u3001\u30DB\u30B9\u30C8\u306B\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066 IP \u30A2\u30C9\u30EC\u30B9\u3092\u5272\u308A\u5F53\u3066\u3001\u30DB\u30B9\u30C8\u304C CloudStack \u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u306B\u63A5\u7D9A\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002

\u30DB\u30B9\u30C8\u306E DNS \u540D\u307E\u305F\u306F IP \u30A2\u30C9\u30EC\u30B9\u3001\u30E6\u30FC\u30B6\u30FC\u540D (\u901A\u5E38\u306F root) \u3068\u30D1\u30B9\u30EF\u30FC\u30C9\u3001\u304A\u3088\u3073\u30DB\u30B9\u30C8\u306E\u5206\u985E\u306B\u4F7F\u7528\u3059\u308B\u30E9\u30D9\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.desc.primary.storage=\u5404\u30AF\u30E9\u30B9\u30BF\u30FC\u306B\u306F\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u3001\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304C\u5FC5\u8981\u3067\u3059\u3002\u4ECA\u3053\u3053\u3067\u6700\u521D\u306E\u30B5\u30FC\u30D0\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306F\u3001\u30AF\u30E9\u30B9\u30BF\u30FC\u5185\u306E\u30DB\u30B9\u30C8\u4E0A\u3067\u52D5\u4F5C\u3059\u308B\u3059\u3079\u3066\u306E VM \u306E\u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u683C\u7D0D\u3057\u307E\u3059\u3002\u57FA\u790E\u3068\u306A\u308B\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u3001\u6A19\u6E96\u306B\u6E96\u62E0\u3057\u305F\u30D7\u30ED\u30C8\u30B3\u30EB\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.desc.secondary.storage=\u5404\u30BE\u30FC\u30F3\u306B\u306F\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u3001NFS \u3064\u307E\u308A\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304C\u5FC5\u8981\u3067\u3059\u3002\u4ECA\u3053\u3053\u3067\u6700\u521D\u306E\u30B5\u30FC\u30D0\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306F VM \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3001ISO \u30A4\u30E1\u30FC\u30B8\u3001\u304A\u3088\u3073VM \u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u683C\u7D0D\u3057\u307E\u3059\u3002\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306F\u30BE\u30FC\u30F3\u5185\u306E\u3059\u3079\u3066\u306E\u30DB\u30B9\u30C8\u3067\u4F7F\u7528\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002

IP \u30A2\u30C9\u30EC\u30B9\u3068\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30D1\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.desc.zone=\u30BE\u30FC\u30F3\u306F CloudStack \u74B0\u5883\u5185\u306E\u6700\u5927\u306E\u7D44\u7E54\u5358\u4F4D\u3067\u3001\u901A\u5E38\u3001\u5358\u4E00\u306E\u30C7\u30FC\u30BF\u30BB\u30F3\u30BF\u30FC\u306B\u76F8\u5F53\u3057\u307E\u3059\u3002\u30BE\u30FC\u30F3\u306B\u3088\u3063\u3066\u7269\u7406\u7684\u306A\u5206\u96E2\u3068\u5197\u9577\u6027\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u30BE\u30FC\u30F3\u306F 1 \u3064\u4EE5\u4E0A\u306E\u30DD\u30C3\u30C9 (\u5404\u30DD\u30C3\u30C9\u306F\u30DB\u30B9\u30C8\u3068\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304B\u3089\u69CB\u6210\u3055\u308C\u307E\u3059) \u3068\u3001\u30BE\u30FC\u30F3\u5185\u306E\u3059\u3079\u3066\u306E\u30DD\u30C3\u30C9\u3067\u5171\u6709\u3055\u308C\u308B\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30B5\u30FC\u30D0\u30FC\u304B\u3089\u69CB\u6210\u3055\u308C\u307E\u3059\u3002 -message.detach.disk=\u3053\u306E\u30C7\u30A3\u30B9\u30AF\u3092\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.detach.iso.confirm=\u3053\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304B\u3089 ISO \u30D5\u30A1\u30A4\u30EB\u3092\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? +message.after.enable.swift=Swift \u304c\u69cb\u6210\u3055\u308c\u307e\u3057\u305f\u3002\u6ce8\: \u3053\u306e\u30da\u30fc\u30b8\u3092\u9589\u3058\u308b\u3068\u3001Swift \u3092\u518d\u69cb\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002 +message.alert.state.detected=\u30a2\u30e9\u30fc\u30c8\u72b6\u614b\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f +message.allow.vpn.access=VPN \u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.apply.snapshot.policy=\u73fe\u5728\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 \u30dd\u30ea\u30b7\u30fc\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002 +message.attach.iso.confirm=\u3053\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b ISO \u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30bf\u30c3\u30c1\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.attach.volume=\u65b0\u3057\u3044\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30a2\u30bf\u30c3\u30c1\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002Windows \u30d9\u30fc\u30b9\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u306b\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30a2\u30bf\u30c3\u30c1\u3059\u308b\u5834\u5408\u306f\u3001\u30a2\u30bf\u30c3\u30c1\u3057\u305f\u30c7\u30a3\u30b9\u30af\u3092\u8a8d\u8b58\u3059\u308b\u305f\u3081\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.basic.mode.desc=VLAN \u30b5\u30dd\u30fc\u30c8\u304c\u4e0d\u8981\u3067\u3042\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3067\u4f5c\u6210\u3055\u308c\u308b\u3059\u3079\u3066\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u76f4\u63a5 IP \u30a2\u30c9\u30ec\u30b9\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u3057\u3066\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3068\u5206\u96e2\u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002 +message.change.offering.confirm=\u3053\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u5909\u66f4\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.change.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.configure.all.traffic.types=\u8907\u6570\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u3042\u308a\u307e\u3059\u3002[\u7de8\u96c6] \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3054\u3068\u306b\u30e9\u30d9\u30eb\u3092\u69cb\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.configuring.guest.traffic=\u30b2\u30b9\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059 +message.configuring.physical.networks=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059 +message.configuring.public.traffic=\u30d1\u30d6\u30ea\u30c3\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059 +message.configuring.storage.traffic=\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059 +message.confirm.action.force.reconnect=\u3053\u306e\u30db\u30b9\u30c8\u3092\u5f37\u5236\u518d\u63a5\u7d9a\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.delete.F5=F5 \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.delete.NetScaler=NetScaler \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.delete.SRX=SRX \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.destroy.router=\u3053\u306e\u30eb\u30fc\u30bf\u30fc\u3092\u7834\u68c4\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.disable.provider=\u3053\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.enable.provider=\u3053\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.join.project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u53c2\u52a0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.remove.IP.range=\u3053\u306e IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.confirm.shutdown.provider=\u3053\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.copy.iso.confirm=ISO \u3092\u6b21\u306e\u5834\u6240\u306b\u30b3\u30d4\u30fc\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.copy.template=\u30be\u30fc\u30f3 \u304b\u3089\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 XXX \u3092\u6b21\u306e\u5834\u6240\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\: +message.create.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.create.template.vm=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 \u304b\u3089 VM \u3092\u4f5c\u6210\u3057\u307e\u3059 +message.create.template.volume=\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0 \u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\u524d\u306b\u3001\u6b21\u306e\u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30dc\u30ea\u30e5\u30fc\u30e0 \u30b5\u30a4\u30ba\u306b\u3088\u3063\u3066\u306f\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210\u306b\u306f\u6570\u5206\u4ee5\u4e0a\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +message.creating.cluster=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.guest.network=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.physical.networks=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.pod=\u30dd\u30c3\u30c9\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.primary.storage=\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.secondary.storage=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.creating.zone=\u30be\u30fc\u30f3\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059 +message.decline.invitation=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u62db\u5f85\u3092\u8f9e\u9000\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.account=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.gateway=\u3053\u306e\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.user=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.VPN.connection=VPN \u63a5\u7d9a\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.VPN.customer.gateway=\u3053\u306e VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.delete.VPN.gateway=\u3053\u306e VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.desc.advanced.zone=\u3088\u308a\u6d17\u7df4\u3055\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6280\u8853\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u3088\u308a\u67d4\u8edf\u306b\u30b2\u30b9\u30c8\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5b9a\u7fa9\u3057\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3001VPN\u3001\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u306e\u30b5\u30dd\u30fc\u30c8\u306e\u3088\u3046\u306a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u63d0\u4f9b\u3067\u304d\u307e\u3059\u3002 +message.desc.basic.zone=\u5404 VM \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b IP \u30a2\u30c9\u30ec\u30b9\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u76f4\u63a5\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u3001\u5358\u4e00\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 (\u9001\u4fe1\u5143 IP \u30a2\u30c9\u30ec\u30b9\u306e\u30d5\u30a3\u30eb\u30bf\u30fc) \u306e\u3088\u3046\u306a\u30ec\u30a4\u30e4\u30fc 3 \u30ec\u30d9\u30eb\u306e\u65b9\u6cd5\u3067\u30b2\u30b9\u30c8\u3092\u5206\u96e2\u3067\u304d\u307e\u3059\u3002 +message.desc.cluster=\u5404\u30dd\u30c3\u30c9\u306b\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30af\u30e9\u30b9\u30bf\u30fc\u306f\u30db\u30b9\u30c8\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u65b9\u6cd5\u3067\u3059\u30021 \u3064\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u306f\u3059\u3079\u3066\u540c\u4e00\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304b\u3089\u69cb\u6210\u3055\u308c\u3001\u540c\u3058\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u5b9f\u884c\u3057\u3001\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u308a\u3001\u540c\u3058\u5171\u6709\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30db\u30b9\u30c8\u3068 1 \u3064\u4ee5\u4e0a\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002 +message.desc.host=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30b2\u30b9\u30c8 VM \u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u30db\u30b9\u30c8 (\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc) \u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002CloudStack \u3067\u30db\u30b9\u30c8\u3092\u6a5f\u80fd\u3055\u305b\u308b\u306b\u306f\u3001\u30db\u30b9\u30c8\u306b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066 IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u3001\u30db\u30b9\u30c8\u304c CloudStack \u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u30db\u30b9\u30c8\u306e DNS \u540d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9\u3001\u30e6\u30fc\u30b6\u30fc\u540d (\u901a\u5e38\u306f root) \u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3001\u304a\u3088\u3073\u30db\u30b9\u30c8\u306e\u5206\u985e\u306b\u4f7f\u7528\u3059\u308b\u30e9\u30d9\u30eb\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.desc.primary.storage=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u3001\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u3059\u3079\u3066\u306e VM \u306e\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u57fa\u790e\u3068\u306a\u308b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u3001\u6a19\u6e96\u306b\u6e96\u62e0\u3057\u305f\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.desc.secondary.storage=\u5404\u30be\u30fc\u30f3\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001NFS \u3064\u307e\u308a\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f VM \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3001ISO \u30a4\u30e1\u30fc\u30b8\u3001\u304a\u3088\u3073VM \u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306f\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30db\u30b9\u30c8\u3067\u4f7f\u7528\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

IP \u30a2\u30c9\u30ec\u30b9\u3068\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30d1\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.desc.zone=\u30be\u30fc\u30f3\u306f CloudStack \u74b0\u5883\u5185\u306e\u6700\u5927\u306e\u7d44\u7e54\u5358\u4f4d\u3067\u3001\u901a\u5e38\u3001\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\u30be\u30fc\u30f3\u306b\u3088\u3063\u3066\u7269\u7406\u7684\u306a\u5206\u96e2\u3068\u5197\u9577\u6027\u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u30be\u30fc\u30f3\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9 (\u5404\u30dd\u30c3\u30c9\u306f\u30db\u30b9\u30c8\u3068\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059) \u3068\u3001\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30dd\u30c3\u30c9\u3067\u5171\u6709\u3055\u308c\u308b\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002 +message.detach.disk=\u3053\u306e\u30c7\u30a3\u30b9\u30af\u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.detach.iso.confirm=\u3053\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304b\u3089 ISO \u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.disable.account=\u00e3\u0081\u0093\u00e3\u0081\u00ae\u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0082\u0092\u00e7\u0084\u00a1\u00e5\u008a\u00b9\u00e3\u0081\u00ab\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0082\u0082\u00e3\u0082\u0088\u00e3\u0082\u008d\u00e3\u0081\u0097\u00e3\u0081\u0084\u00e3\u0081\u00a7\u00e3\u0081\u0099\u00e3\u0081\u008b? \u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0082\u0092\u00e7\u0084\u00a1\u00e5\u008a\u00b9\u00e3\u0081\u00ab\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u0093\u00e3\u0081\u00a8\u00e3\u0081\u00ab\u00e3\u0082\u0088\u00e3\u0082\u008a\u00e3\u0080\u0081\u00e3\u0081\u0093\u00e3\u0081\u00ae\u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0081\u00ae\u00e3\u0081\u0099\u00e3\u0081\u00b9\u00e3\u0081\u00a6\u00e3\u0081\u00ae\u00e3\u0083\u00a6\u00e3\u0083\u00bc\u00e3\u0082\u00b6\u00e3\u0083\u00bc\u00e3\u0081\u00af\u00e3\u0082\u00af\u00e3\u0083\u00a9\u00e3\u0082\u00a6\u00e3\u0083\u0089\u00e3\u0083\u00aa\u00e3\u0082\u00bd\u00e3\u0083\u00bc\u00e3\u0082\u00b9\u00e3\u0081\u00ab\u00e3\u0082\u00a2\u00e3\u0082\u00af\u00e3\u0082\u00bb\u00e3\u0082\u00b9\u00e3\u0081\u00a7\u00e3\u0081\u008d\u00e3\u0081\u00aa\u00e3\u0081\u008f\u00e3\u0081\u00aa\u00e3\u0082\u008a\u00e3\u0081\u00be\u00e3\u0081\u0099\u00e3\u0080\u0082\u00e5\u00ae\u009f\u00e8\u00a1\u008c\u00e4\u00b8\u00ad\u00e3\u0081\u00ae\u00e3\u0081\u0099\u00e3\u0081\u00b9\u00e3\u0081\u00a6\u00e3\u0081\u00ae\u00e4\u00bb\u00ae\u00e6\u0083\u00b3\u00e3\u0083\u009e\u00e3\u0082\u00b7\u00e3\u0083\u00b3\u00e3\u0081\u00af\u00e3\u0081\u0099\u00e3\u0081\u0090\u00e3\u0081\u00ab\u00e3\u0082\u00b7\u00e3\u0083\u00a3\u00e3\u0083\u0083\u00e3\u0083\u0088\u00e3\u0083\u0080\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0081\u0095\u00e3\u0082\u008c\u00e3\u0081\u00be\u00e3\u0081\u0099\u00e3\u0080\u0082 -message.disable.snapshot.policy=\u73FE\u5728\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 \u30DD\u30EA\u30B7\u30FC\u3092\u7121\u52B9\u306B\u3057\u307E\u3057\u305F\u3002 -message.disable.user=\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.disable.vpn.access=VPN \u30A2\u30AF\u30BB\u30B9\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.disable.vpn=VPN \u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? +message.disable.snapshot.policy=\u73fe\u5728\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 \u30dd\u30ea\u30b7\u30fc\u3092\u7121\u52b9\u306b\u3057\u307e\u3057\u305f\u3002 +message.disable.user=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.disable.vpn.access=VPN \u30a2\u30af\u30bb\u30b9\u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.disable.vpn=VPN \u3092\u7121\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.download.ISO=ISO\u00e3\u0082\u0092\u00e3\u0083\u0080\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u00ad\u00e3\u0083\u00bc\u00e3\u0083\u0089\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab00000\u00e3\u0082\u0092\u00e3\u0082\u00af\u00e3\u0083\u00aa\u00e3\u0083\u0083\u00e3\u0082\u00af\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 message.download.template=\u00e3\u0083\u0086\u00e3\u0083\u00b3\u00e3\u0083\u0097\u00e3\u0083\u00ac\u00e3\u0083\u00bc\u00e3\u0083\u0088\u00e3\u0082\u0092\u00e3\u0083\u0080\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u00ad\u00e3\u0083\u00bc\u00e3\u0083\u0089\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab00000\u00e3\u0082\u0092\u00e3\u0082\u00af\u00e3\u0083\u00aa\u00e3\u0083\u0083\u00e3\u0082\u00af\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 -message.download.volume.confirm=\u3053\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.download.volume=\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3059\u308B\u306B\u306F 00000 \u3092\u30AF\u30EA\u30C3\u30AF\u3057\u307E\u3059 -message.edit.account=\u7DE8\u96C6 ("-1" \u306F\u3001\u30EA\u30BD\u30FC\u30B9\u4F5C\u6210\u306E\u91CF\u306B\u5236\u9650\u304C\u306A\u3044\u3053\u3068\u3092\u793A\u3057\u307E\u3059) -message.edit.confirm=[\u4FDD\u5B58] \u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u524D\u306B\u5909\u66F4\u5185\u5BB9\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.edit.limits=\u6B21\u306E\u30EA\u30BD\u30FC\u30B9\u306B\u5236\u9650\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u300C-1\u300D\u306F\u3001\u30EA\u30BD\u30FC\u30B9\u4F5C\u6210\u306B\u5236\u9650\u304C\u306A\u3044\u3053\u3068\u3092\u793A\u3057\u307E\u3059\u3002 -message.edit.traffic.type=\u3053\u306E\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E\u306B\u95A2\u9023\u4ED8\u3051\u308B\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF \u30E9\u30D9\u30EB\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.enable.account=\u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.enabled.vpn.ip.sec=IPSec \u4E8B\u524D\u5171\u6709\u30AD\u30FC\: -message.enabled.vpn=\u73FE\u5728\u3001VPN \u30A2\u30AF\u30BB\u30B9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u6B21\u306E IP \u30A2\u30C9\u30EC\u30B9\u7D4C\u7531\u3067\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u3059\u3002 -message.enable.user=\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.enable.vpn.access=\u73FE\u5728\u3053\u306E IP \u30A2\u30C9\u30EC\u30B9\u306B\u5BFE\u3059\u308B VPN \u306F\u7121\u52B9\u3067\u3059\u3002VPN \u30A2\u30AF\u30BB\u30B9\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.enable.vpn=\u3053\u306E IP \u30A2\u30C9\u30EC\u30B9\u306B\u5BFE\u3059\u308B VPN \u30A2\u30AF\u30BB\u30B9\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.enabling.security.group.provider=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7 \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059 -message.enabling.zone=\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u307E\u3059 -message.enter.token=\u96FB\u5B50\u30E1\u30FC\u30EB\u306E\u62DB\u5F85\u72B6\u306B\u8A18\u8F09\u3055\u308C\u3066\u3044\u308B\u30C8\u30FC\u30AF\u30F3\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.generate.keys=\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u65B0\u3057\u3044\u30AD\u30FC\u3092\u751F\u6210\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.guest.traffic.in.advanced.zone=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306F\u3001\u30A8\u30F3\u30C9 \u30E6\u30FC\u30B6\u30FC\u306E\u4EEE\u60F3\u30DE\u30B7\u30F3\u9593\u306E\u901A\u4FE1\u3067\u3059\u3002\u5404\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u30B2\u30B9\u30C8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u901A\u4FE1\u3059\u308B\u305F\u3081\u306E VLAN ID \u306E\u7BC4\u56F2\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.guest.traffic.in.basic.zone=\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306F\u3001\u30A8\u30F3\u30C9 \u30E6\u30FC\u30B6\u30FC\u306E\u4EEE\u60F3\u30DE\u30B7\u30F3\u9593\u306E\u901A\u4FE1\u3067\u3059\u3002CloudStack \u3067\u30B2\u30B9\u30C8 VM \u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u308B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3053\u306E\u7BC4\u56F2\u304C\u4E88\u7D04\u6E08\u307F\u306E\u30B7\u30B9\u30C6\u30E0 IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3068\u91CD\u8907\u3057\u306A\u3044\u3088\u3046\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.installWizard.click.retry=\u8D77\u52D5\u3092\u518D\u8A66\u884C\u3059\u308B\u306B\u306F\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.installWizard.copy.whatIsAPod=\u901A\u5E38\u30011 \u3064\u306E\u30DD\u30C3\u30C9\u306F\u5358\u4E00\u306E\u30E9\u30C3\u30AF\u3092\u8868\u3057\u307E\u3059\u3002\u540C\u3058\u30DD\u30C3\u30C9\u5185\u306E\u30DB\u30B9\u30C8\u306F\u540C\u3058\u30B5\u30D6\u30CD\u30C3\u30C8\u306B\u542B\u307E\u308C\u307E\u3059\u3002

\u30DD\u30C3\u30C9\u306F CloudStack&\#8482; \u74B0\u5883\u5185\u306E 2 \u756A\u76EE\u306B\u5927\u304D\u306A\u7D44\u7E54\u5358\u4F4D\u3067\u3059\u3002\u30DD\u30C3\u30C9\u306F\u30BE\u30FC\u30F3\u306B\u542B\u307E\u308C\u307E\u3059\u3002\u5404\u30BE\u30FC\u30F3\u306F 1 \u3064\u4EE5\u4E0A\u306E\u30DD\u30C3\u30C9\u3092\u542B\u3080\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u57FA\u672C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3067\u306F\u3001\u30BE\u30FC\u30F3\u5185\u306E\u30DD\u30C3\u30C9\u306F 1 \u3064\u3067\u3059\u3002 -message.installWizard.copy.whatIsAZone=\u30BE\u30FC\u30F3\u306F CloudStack&\#8482; \u74B0\u5883\u5185\u306E\u6700\u5927\u306E\u7D44\u7E54\u5358\u4F4D\u3067\u3059\u30021 \u3064\u306E\u30C7\u30FC\u30BF\u30BB\u30F3\u30BF\u30FC\u5185\u306B\u8907\u6570\u306E\u30BE\u30FC\u30F3\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059\u304C\u3001\u901A\u5E38\u3001\u30BE\u30FC\u30F3\u306F\u5358\u4E00\u306E\u30C7\u30FC\u30BF\u30BB\u30F3\u30BF\u30FC\u306B\u76F8\u5F53\u3057\u307E\u3059\u3002\u30A4\u30F3\u30D5\u30E9\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3\u3092\u30BE\u30FC\u30F3\u306B\u7D44\u7E54\u5316\u3059\u308B\u3068\u3001\u30BE\u30FC\u30F3\u3092\u7269\u7406\u7684\u306B\u5206\u96E2\u3057\u3066\u5197\u9577\u5316\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u5404\u30BE\u30FC\u30F3\u306B\u96FB\u6E90\u3068\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30A2\u30C3\u30D7\u30EA\u30F3\u30AF\u3092\u914D\u5099\u3057\u307E\u3059\u3002\u5FC5\u9808\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30BE\u30FC\u30F3\u306F\u9060\u9694\u5730\u306B\u5206\u6563\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 -message.installWizard.copy.whatIsSecondaryStorage=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306F\u30BE\u30FC\u30F3\u3068\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3001\u6B21\u306E\u9805\u76EE\u3092\u683C\u7D0D\u3057\u307E\u3059\u3002
  • \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 - VM \u306E\u8D77\u52D5\u306B\u4F7F\u7528\u3067\u304D\u308B OS \u30A4\u30E1\u30FC\u30B8\u3067\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306A\u3069\u8FFD\u52A0\u306E\u69CB\u6210\u3092\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002
  • ISO \u30A4\u30E1\u30FC\u30B8 - \u8D77\u52D5\u53EF\u80FD\u307E\u305F\u306F\u8D77\u52D5\u4E0D\u53EF\u306E OS \u30A4\u30E1\u30FC\u30B8\u3067\u3059\u3002
  • \u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 - VM \u30C7\u30FC\u30BF\u306E\u4FDD\u5B58\u30B3\u30D4\u30FC\u3067\u3059\u3002\u30C7\u30FC\u30BF\u306E\u5FA9\u5143\u307E\u305F\u306F\u65B0\u3057\u3044\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
-message.installWizard.tooltip.addCluster.name=\u30AF\u30E9\u30B9\u30BF\u30FC\u306E\u540D\u524D\u3067\u3059\u3002CloudStack \u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u306A\u3044\u3001\u4EFB\u610F\u306E\u30C6\u30AD\u30B9\u30C8\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002 -message.installWizard.tooltip.addHost.hostname=\u30DB\u30B9\u30C8\u306E DNS \u540D\u307E\u305F\u306F IP \u30A2\u30C9\u30EC\u30B9\u3067\u3059\u3002 -message.installWizard.tooltip.addHost.password=XenServer \u5074\u3067\u6307\u5B9A\u3057\u305F\u3001\u4E0A\u306E\u30E6\u30FC\u30B6\u30FC\u540D\u306B\u5BFE\u3059\u308B\u30D1\u30B9\u30EF\u30FC\u30C9\u3067\u3059\u3002 -message.installWizard.tooltip.addHost.username=\u901A\u5E38\u306F root \u3067\u3059\u3002 -message.installWizard.tooltip.addPod.name=\u30DD\u30C3\u30C9\u306E\u540D\u524D\u3067\u3059\u3002 -message.installWizard.tooltip.addPod.reservedSystemEndIp=\u3053\u308C\u306F\u3001\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 VM \u304A\u3088\u3073\u30B3\u30F3\u30BD\u30FC\u30EB \u30D7\u30ED\u30AD\u30B7 VM \u3092\u7BA1\u7406\u3059\u308B\u305F\u3081\u306B CloudStack \u3067\u4F7F\u7528\u3059\u308B\u3001\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u5185\u306E IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3067\u3059\u3002\u3053\u308C\u3089\u306E IP \u30A2\u30C9\u30EC\u30B9\u306F\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30B5\u30FC\u30D0\u30FC\u3068\u540C\u3058\u30B5\u30D6\u30CD\u30C3\u30C8\u304B\u3089\u5272\u308A\u5F53\u3066\u307E\u3059\u3002 -message.installWizard.tooltip.addPod.reservedSystemGateway=\u3053\u306E\u30DD\u30C3\u30C9\u5185\u306E\u30DB\u30B9\u30C8\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3067\u3059\u3002 -message.installWizard.tooltip.addPod.reservedSystemNetmask=\u30B2\u30B9\u30C8\u306E\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u30CD\u30C3\u30C8\u4E0A\u3067\u4F7F\u7528\u3055\u308C\u308B\u30CD\u30C3\u30C8\u30DE\u30B9\u30AF\u3067\u3059\u3002 -message.installWizard.tooltip.addPod.reservedSystemStartIp=\u3053\u308C\u306F\u3001\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 VM \u304A\u3088\u3073\u30B3\u30F3\u30BD\u30FC\u30EB \u30D7\u30ED\u30AD\u30B7 VM \u3092\u7BA1\u7406\u3059\u308B\u305F\u3081\u306B CloudStack \u3067\u4F7F\u7528\u3059\u308B\u3001\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u5185\u306E IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3067\u3059\u3002\u3053\u308C\u3089\u306E IP \u30A2\u30C9\u30EC\u30B9\u306F\u30B3\u30F3\u30D4\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0 \u30B5\u30FC\u30D0\u30FC\u3068\u540C\u3058\u30B5\u30D6\u30CD\u30C3\u30C8\u304B\u3089\u5272\u308A\u5F53\u3066\u307E\u3059\u3002 -message.installWizard.tooltip.addPrimaryStorage.name=\u30B9\u30C8\u30EC\u30FC\u30B8 \u30C7\u30D0\u30A4\u30B9\u306E\u540D\u524D\u3067\u3059\u3002 -message.installWizard.tooltip.addPrimaryStorage.path=(NFS \u306E\u5834\u5408) \u30B5\u30FC\u30D0\u30FC\u304B\u3089\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30D1\u30B9\u3067\u3059\u3002(SharedMountPoint \u306E\u5834\u5408) \u30D1\u30B9\u3067\u3059\u3002KVM \u3067\u306F\u3053\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u30DE\u30A6\u30F3\u30C8\u3055\u308C\u308B\u5404\u30DB\u30B9\u30C8\u4E0A\u306E\u30D1\u30B9\u3067\u3059\u3002\u305F\u3068\u3048\u3070\u3001/mnt/primary \u3067\u3059\u3002 -message.installWizard.tooltip.addPrimaryStorage.server=(NFS\u3001iSCSI\u3001\u307E\u305F\u306F PreSetup \u306E\u5834\u5408) \u30B9\u30C8\u30EC\u30FC\u30B8 \u30C7\u30D0\u30A4\u30B9\u306E IP \u30A2\u30C9\u30EC\u30B9\u307E\u305F\u306F DNS \u540D\u3067\u3059\u3002 -message.installWizard.tooltip.addSecondaryStorage.nfsServer=\u30BB\u30AB\u30F3\u30C0\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u30DB\u30B9\u30C8\u3059\u308B NFS \u30B5\u30FC\u30D0\u30FC\u306E IP \u30A2\u30C9\u30EC\u30B9\u3067\u3059\u3002 -message.installWizard.tooltip.addSecondaryStorage.path=\u4E0A\u306B\u6307\u5B9A\u3057\u305F\u30B5\u30FC\u30D0\u30FC\u306B\u5B58\u5728\u3059\u308B\u3001\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30D1\u30B9\u3067\u3059\u3002 -message.installWizard.tooltip.addZone.dns1=\u30BE\u30FC\u30F3\u5185\u306E\u30B2\u30B9\u30C8 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u3067\u3059\u3002\u3053\u308C\u3089\u306E DNS \u30B5\u30FC\u30D0\u30FC\u306B\u306F\u3001\u5F8C\u3067\u8FFD\u52A0\u3059\u308B\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u7D4C\u7531\u3067\u30A2\u30AF\u30BB\u30B9\u3057\u307E\u3059\u3002\u30BE\u30FC\u30F3\u306E\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u3053\u3067\u6307\u5B9A\u3059\u308B\u30D1\u30D6\u30EA\u30C3\u30AF DNS \u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.addZone.dns2=\u30BE\u30FC\u30F3\u5185\u306E\u30B2\u30B9\u30C8 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u3067\u3059\u3002\u3053\u308C\u3089\u306E DNS \u30B5\u30FC\u30D0\u30FC\u306B\u306F\u3001\u5F8C\u3067\u8FFD\u52A0\u3059\u308B\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u7D4C\u7531\u3067\u30A2\u30AF\u30BB\u30B9\u3057\u307E\u3059\u3002\u30BE\u30FC\u30F3\u306E\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u3053\u3067\u6307\u5B9A\u3059\u308B\u30D1\u30D6\u30EA\u30C3\u30AF DNS \u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.addZone.internaldns1=\u30BE\u30FC\u30F3\u5185\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u3067\u3059\u3002\u3053\u308C\u3089\u306E DNS \u30B5\u30FC\u30D0\u30FC\u306F\u3001\u30B7\u30B9\u30C6\u30E0 VM \u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u4ECB\u3057\u3066\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002\u30DD\u30C3\u30C9\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u3053\u3067\u6307\u5B9A\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.addZone.internaldns2=\u30BE\u30FC\u30F3\u5185\u306E\u30B7\u30B9\u30C6\u30E0 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u3067\u3059\u3002\u3053\u308C\u3089\u306E DNS \u30B5\u30FC\u30D0\u30FC\u306F\u3001\u30B7\u30B9\u30C6\u30E0 VM \u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u4ECB\u3057\u3066\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002\u30DD\u30C3\u30C9\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u3053\u3067\u6307\u5B9A\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.addZone.name=\u30BE\u30FC\u30F3\u306E\u540D\u524D\u3067\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.description=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u8AAC\u660E\u3067\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.guestEndIp=\u3053\u306E\u30BE\u30FC\u30F3\u306E\u30B2\u30B9\u30C8\u306B\u5272\u308A\u5F53\u3066\u308B\u3053\u3068\u304C\u3067\u304D\u308B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3067\u3059\u3002\u4F7F\u7528\u3059\u308B NIC \u304C 1 \u3064\u306E\u5834\u5408\u306F\u3001\u3053\u308C\u3089\u306E IP \u30A2\u30C9\u30EC\u30B9\u306F\u30DD\u30C3\u30C9\u306E CIDR \u3068\u540C\u3058 CIDR \u306B\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.guestGateway=\u30B2\u30B9\u30C8\u306E\u4F7F\u7528\u3059\u308B\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3067\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.guestNetmask=\u30B2\u30B9\u30C8\u306E\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u30CD\u30C3\u30C8\u4E0A\u3067\u4F7F\u7528\u3055\u308C\u308B\u30CD\u30C3\u30C8\u30DE\u30B9\u30AF\u3067\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.guestStartIp=\u3053\u306E\u30BE\u30FC\u30F3\u306E\u30B2\u30B9\u30C8\u306B\u5272\u308A\u5F53\u3066\u308B\u3053\u3068\u304C\u3067\u304D\u308B IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3067\u3059\u3002\u4F7F\u7528\u3059\u308B NIC \u304C 1 \u3064\u306E\u5834\u5408\u306F\u3001\u3053\u308C\u3089\u306E IP \u30A2\u30C9\u30EC\u30B9\u306F\u30DD\u30C3\u30C9\u306E CIDR \u3068\u540C\u3058 CIDR \u306B\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.installWizard.tooltip.configureGuestTraffic.name=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u540D\u524D\u3067\u3059\u3002 -message.instanceWizard.noTemplates=\u4F7F\u7528\u53EF\u80FD\u306A\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u3042\u308B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3001\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9 \u30A6\u30A3\u30B6\u30FC\u30C9\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.ip.address.changed=\u304A\u4F7F\u3044\u306E IP \u30A2\u30C9\u30EC\u30B9\u304C\u5909\u66F4\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u4E00\u89A7\u3092\u66F4\u65B0\u3057\u307E\u3059\u304B? \u305D\u306E\u5834\u5408\u306F\u3001\u8A73\u7D30\u30DA\u30A4\u30F3\u304C\u9589\u3058\u308B\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.iso.desc=\u30C7\u30FC\u30BF\u307E\u305F\u306F OS \u8D77\u52D5\u53EF\u80FD\u30E1\u30C7\u30A3\u30A2\u3092\u542B\u3080\u30C7\u30A3\u30B9\u30AF \u30A4\u30E1\u30FC\u30B8 -message.join.project=\u3053\u308C\u3067\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u307E\u3057\u305F\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u53C2\u7167\u3059\u308B\u306B\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30D3\u30E5\u30FC\u306B\u5207\u308A\u66FF\u3048\u3066\u304F\u3060\u3055\u3044\u3002 -message.launch.zone=\u30BE\u30FC\u30F3\u3092\u8D77\u52D5\u3059\u308B\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F\u3002\u6B21\u306E\u624B\u9806\u306B\u9032\u3093\u3067\u304F\u3060\u3055\u3044\u3002 -message.lock.account=\u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u30ED\u30C3\u30AF\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? \u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u3059\u3079\u3066\u306E\u30E6\u30FC\u30B6\u30FC\u304C\u30AF\u30E9\u30A6\u30C9 \u30EA\u30BD\u30FC\u30B9\u3092\u7BA1\u7406\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002\u305D\u306E\u5F8C\u3082\u65E2\u5B58\u306E\u30EA\u30BD\u30FC\u30B9\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u3059\u3002 -message.migrate.instance.confirm=\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u79FB\u884C\u5148\u306F\u6B21\u306E\u30DB\u30B9\u30C8\u3067\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.migrate.instance.to.host=\u5225\u306E\u30DB\u30B9\u30C8\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u79FB\u884C\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.migrate.instance.to.ps=\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u79FB\u884C\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.migrate.router.confirm=\u30EB\u30FC\u30BF\u30FC\u306E\u79FB\u884C\u5148\u306F\u6B21\u306E\u30DB\u30B9\u30C8\u3067\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.migrate.systemvm.confirm=\u30B7\u30B9\u30C6\u30E0 VM \u306E\u79FB\u884C\u5148\u306F\u6B21\u306E\u30DB\u30B9\u30C8\u3067\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.migrate.volume=\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u79FB\u884C\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? +message.download.volume.confirm=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.download.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f 00000 \u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059 +message.edit.account=\u7de8\u96c6 ("-1" \u306f\u3001\u30ea\u30bd\u30fc\u30b9\u4f5c\u6210\u306e\u91cf\u306b\u5236\u9650\u304c\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u307e\u3059) +message.edit.confirm=[\u4fdd\u5b58] \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u524d\u306b\u5909\u66f4\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.edit.limits=\u6b21\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u5236\u9650\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u300c-1\u300d\u306f\u3001\u30ea\u30bd\u30fc\u30b9\u4f5c\u6210\u306b\u5236\u9650\u304c\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u307e\u3059\u3002 +message.edit.traffic.type=\u3053\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u306b\u95a2\u9023\u4ed8\u3051\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.enable.account=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.enabled.vpn.ip.sec=IPSec \u4e8b\u524d\u5171\u6709\u30ad\u30fc\: +message.enabled.vpn=\u73fe\u5728\u3001VPN \u30a2\u30af\u30bb\u30b9\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u6b21\u306e IP \u30a2\u30c9\u30ec\u30b9\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002 +message.enable.user=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.enable.vpn.access=\u73fe\u5728\u3053\u306e IP \u30a2\u30c9\u30ec\u30b9\u306b\u5bfe\u3059\u308b VPN \u306f\u7121\u52b9\u3067\u3059\u3002VPN \u30a2\u30af\u30bb\u30b9\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.enable.vpn=\u3053\u306e IP \u30a2\u30c9\u30ec\u30b9\u306b\u5bfe\u3059\u308b VPN \u30a2\u30af\u30bb\u30b9\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.enabling.security.group.provider=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059 +message.enabling.zone=\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059 +message.enter.token=\u96fb\u5b50\u30e1\u30fc\u30eb\u306e\u62db\u5f85\u72b6\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u30c8\u30fc\u30af\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.generate.keys=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u65b0\u3057\u3044\u30ad\u30fc\u3092\u751f\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.guest.traffic.in.advanced.zone=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3001\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u9593\u306e\u901a\u4fe1\u3067\u3059\u3002\u5404\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30b2\u30b9\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u901a\u4fe1\u3059\u308b\u305f\u3081\u306e VLAN ID \u306e\u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.guest.traffic.in.basic.zone=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3001\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u9593\u306e\u901a\u4fe1\u3067\u3059\u3002CloudStack \u3067\u30b2\u30b9\u30c8 VM \u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u7bc4\u56f2\u304c\u4e88\u7d04\u6e08\u307f\u306e\u30b7\u30b9\u30c6\u30e0 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3068\u91cd\u8907\u3057\u306a\u3044\u3088\u3046\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.installWizard.click.retry=\u8d77\u52d5\u3092\u518d\u8a66\u884c\u3059\u308b\u306b\u306f\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.installWizard.copy.whatIsAPod=\u901a\u5e38\u30011 \u3064\u306e\u30dd\u30c3\u30c9\u306f\u5358\u4e00\u306e\u30e9\u30c3\u30af\u3092\u8868\u3057\u307e\u3059\u3002\u540c\u3058\u30dd\u30c3\u30c9\u5185\u306e\u30db\u30b9\u30c8\u306f\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u542b\u307e\u308c\u307e\u3059\u3002

\u30dd\u30c3\u30c9\u306f CloudStack&\#8482; \u74b0\u5883\u5185\u306e 2 \u756a\u76ee\u306b\u5927\u304d\u306a\u7d44\u7e54\u5358\u4f4d\u3067\u3059\u3002\u30dd\u30c3\u30c9\u306f\u30be\u30fc\u30f3\u306b\u542b\u307e\u308c\u307e\u3059\u3002\u5404\u30be\u30fc\u30f3\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9\u3092\u542b\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u57fa\u672c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u306f\u3001\u30be\u30fc\u30f3\u5185\u306e\u30dd\u30c3\u30c9\u306f 1 \u3064\u3067\u3059\u3002 +message.installWizard.copy.whatIsAZone=\u30be\u30fc\u30f3\u306f CloudStack&\#8482; \u74b0\u5883\u5185\u306e\u6700\u5927\u306e\u7d44\u7e54\u5358\u4f4d\u3067\u3059\u30021 \u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u5185\u306b\u8907\u6570\u306e\u30be\u30fc\u30f3\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u304c\u3001\u901a\u5e38\u3001\u30be\u30fc\u30f3\u306f\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u3092\u30be\u30fc\u30f3\u306b\u7d44\u7e54\u5316\u3059\u308b\u3068\u3001\u30be\u30fc\u30f3\u3092\u7269\u7406\u7684\u306b\u5206\u96e2\u3057\u3066\u5197\u9577\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u5404\u30be\u30fc\u30f3\u306b\u96fb\u6e90\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30a2\u30c3\u30d7\u30ea\u30f3\u30af\u3092\u914d\u5099\u3057\u307e\u3059\u3002\u5fc5\u9808\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u30be\u30fc\u30f3\u306f\u9060\u9694\u5730\u306b\u5206\u6563\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 +message.installWizard.copy.whatIsSecondaryStorage=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u30be\u30fc\u30f3\u3068\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3001\u6b21\u306e\u9805\u76ee\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002
  • \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 - VM \u306e\u8d77\u52d5\u306b\u4f7f\u7528\u3067\u304d\u308b OS \u30a4\u30e1\u30fc\u30b8\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306a\u3069\u8ffd\u52a0\u306e\u69cb\u6210\u3092\u542b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002
  • ISO \u30a4\u30e1\u30fc\u30b8 - \u8d77\u52d5\u53ef\u80fd\u307e\u305f\u306f\u8d77\u52d5\u4e0d\u53ef\u306e OS \u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002
  • \u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8 - VM \u30c7\u30fc\u30bf\u306e\u4fdd\u5b58\u30b3\u30d4\u30fc\u3067\u3059\u3002\u30c7\u30fc\u30bf\u306e\u5fa9\u5143\u307e\u305f\u306f\u65b0\u3057\u3044\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
+message.installWizard.tooltip.addCluster.name=\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u540d\u524d\u3067\u3059\u3002CloudStack \u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u306a\u3044\u3001\u4efb\u610f\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002 +message.installWizard.tooltip.addHost.hostname=\u30db\u30b9\u30c8\u306e DNS \u540d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9\u3067\u3059\u3002 +message.installWizard.tooltip.addHost.password=XenServer \u5074\u3067\u6307\u5b9a\u3057\u305f\u3001\u4e0a\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u306b\u5bfe\u3059\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u3002 +message.installWizard.tooltip.addHost.username=\u901a\u5e38\u306f root \u3067\u3059\u3002 +message.installWizard.tooltip.addPod.name=\u30dd\u30c3\u30c9\u306e\u540d\u524d\u3067\u3059\u3002 +message.installWizard.tooltip.addPod.reservedSystemEndIp=\u3053\u308c\u306f\u3001\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 VM \u304a\u3088\u3073\u30b3\u30f3\u30bd\u30fc\u30eb \u30d7\u30ed\u30ad\u30b7 VM \u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b CloudStack \u3067\u4f7f\u7528\u3059\u308b\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306e IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3067\u3059\u3002\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u306f\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30b5\u30fc\u30d0\u30fc\u3068\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u304b\u3089\u5272\u308a\u5f53\u3066\u307e\u3059\u3002 +message.installWizard.tooltip.addPod.reservedSystemGateway=\u3053\u306e\u30dd\u30c3\u30c9\u5185\u306e\u30db\u30b9\u30c8\u306e\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3067\u3059\u3002 +message.installWizard.tooltip.addPod.reservedSystemNetmask=\u30b2\u30b9\u30c8\u306e\u4f7f\u7528\u3059\u308b\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u3067\u4f7f\u7528\u3055\u308c\u308b\u30cd\u30c3\u30c8\u30de\u30b9\u30af\u3067\u3059\u3002 +message.installWizard.tooltip.addPod.reservedSystemStartIp=\u3053\u308c\u306f\u3001\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 VM \u304a\u3088\u3073\u30b3\u30f3\u30bd\u30fc\u30eb \u30d7\u30ed\u30ad\u30b7 VM \u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b CloudStack \u3067\u4f7f\u7528\u3059\u308b\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306e IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3067\u3059\u3002\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u306f\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 \u30b5\u30fc\u30d0\u30fc\u3068\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u304b\u3089\u5272\u308a\u5f53\u3066\u307e\u3059\u3002 +message.installWizard.tooltip.addPrimaryStorage.name=\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c7\u30d0\u30a4\u30b9\u306e\u540d\u524d\u3067\u3059\u3002 +message.installWizard.tooltip.addPrimaryStorage.path=(NFS \u306e\u5834\u5408) \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30d1\u30b9\u3067\u3059\u3002(SharedMountPoint \u306e\u5834\u5408) \u30d1\u30b9\u3067\u3059\u3002KVM \u3067\u306f\u3053\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u308b\u5404\u30db\u30b9\u30c8\u4e0a\u306e\u30d1\u30b9\u3067\u3059\u3002\u305f\u3068\u3048\u3070\u3001/mnt/primary \u3067\u3059\u3002 +message.installWizard.tooltip.addPrimaryStorage.server=(NFS\u3001iSCSI\u3001\u307e\u305f\u306f PreSetup \u306e\u5834\u5408) \u30b9\u30c8\u30ec\u30fc\u30b8 \u30c7\u30d0\u30a4\u30b9\u306e IP \u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f DNS \u540d\u3067\u3059\u3002 +message.installWizard.tooltip.addSecondaryStorage.nfsServer=\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u30db\u30b9\u30c8\u3059\u308b NFS \u30b5\u30fc\u30d0\u30fc\u306e IP \u30a2\u30c9\u30ec\u30b9\u3067\u3059\u3002 +message.installWizard.tooltip.addSecondaryStorage.path=\u4e0a\u306b\u6307\u5b9a\u3057\u305f\u30b5\u30fc\u30d0\u30fc\u306b\u5b58\u5728\u3059\u308b\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30d1\u30b9\u3067\u3059\u3002 +message.installWizard.tooltip.addZone.dns1=\u30be\u30fc\u30f3\u5185\u306e\u30b2\u30b9\u30c8 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3002\u3053\u308c\u3089\u306e DNS \u30b5\u30fc\u30d0\u30fc\u306b\u306f\u3001\u5f8c\u3067\u8ffd\u52a0\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u3053\u3067\u6307\u5b9a\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af DNS \u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.addZone.dns2=\u30be\u30fc\u30f3\u5185\u306e\u30b2\u30b9\u30c8 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3002\u3053\u308c\u3089\u306e DNS \u30b5\u30fc\u30d0\u30fc\u306b\u306f\u3001\u5f8c\u3067\u8ffd\u52a0\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u3053\u3067\u6307\u5b9a\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af DNS \u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.addZone.internaldns1=\u30be\u30fc\u30f3\u5185\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3002\u3053\u308c\u3089\u306e DNS \u30b5\u30fc\u30d0\u30fc\u306f\u3001\u30b7\u30b9\u30c6\u30e0 VM \u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4ecb\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002\u30dd\u30c3\u30c9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u3053\u3067\u6307\u5b9a\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.addZone.internaldns2=\u30be\u30fc\u30f3\u5185\u306e\u30b7\u30b9\u30c6\u30e0 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3002\u3053\u308c\u3089\u306e DNS \u30b5\u30fc\u30d0\u30fc\u306f\u3001\u30b7\u30b9\u30c6\u30e0 VM \u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4ecb\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002\u30dd\u30c3\u30c9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u3053\u3067\u6307\u5b9a\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.addZone.name=\u30be\u30fc\u30f3\u306e\u540d\u524d\u3067\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.description=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8aac\u660e\u3067\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.guestEndIp=\u3053\u306e\u30be\u30fc\u30f3\u306e\u30b2\u30b9\u30c8\u306b\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u308b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3067\u3059\u3002\u4f7f\u7528\u3059\u308b NIC \u304c 1 \u3064\u306e\u5834\u5408\u306f\u3001\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u306f\u30dd\u30c3\u30c9\u306e CIDR \u3068\u540c\u3058 CIDR \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.guestGateway=\u30b2\u30b9\u30c8\u306e\u4f7f\u7528\u3059\u308b\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3067\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.guestNetmask=\u30b2\u30b9\u30c8\u306e\u4f7f\u7528\u3059\u308b\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u3067\u4f7f\u7528\u3055\u308c\u308b\u30cd\u30c3\u30c8\u30de\u30b9\u30af\u3067\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.guestStartIp=\u3053\u306e\u30be\u30fc\u30f3\u306e\u30b2\u30b9\u30c8\u306b\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u308b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3067\u3059\u3002\u4f7f\u7528\u3059\u308b NIC \u304c 1 \u3064\u306e\u5834\u5408\u306f\u3001\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u306f\u30dd\u30c3\u30c9\u306e CIDR \u3068\u540c\u3058 CIDR \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.installWizard.tooltip.configureGuestTraffic.name=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u540d\u524d\u3067\u3059\u3002 +message.instanceWizard.noTemplates=\u4f7f\u7528\u53ef\u80fd\u306a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u3042\u308b\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 \u30a6\u30a3\u30b6\u30fc\u30c9\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.ip.address.changed=\u304a\u4f7f\u3044\u306e IP \u30a2\u30c9\u30ec\u30b9\u304c\u5909\u66f4\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u4e00\u89a7\u3092\u66f4\u65b0\u3057\u307e\u3059\u304b? \u305d\u306e\u5834\u5408\u306f\u3001\u8a73\u7d30\u30da\u30a4\u30f3\u304c\u9589\u3058\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.iso.desc=\u30c7\u30fc\u30bf\u307e\u305f\u306f OS \u8d77\u52d5\u53ef\u80fd\u30e1\u30c7\u30a3\u30a2\u3092\u542b\u3080\u30c7\u30a3\u30b9\u30af \u30a4\u30e1\u30fc\u30b8 +message.join.project=\u3053\u308c\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u53c2\u7167\u3059\u308b\u306b\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30d3\u30e5\u30fc\u306b\u5207\u308a\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002 +message.launch.zone=\u30be\u30fc\u30f3\u3092\u8d77\u52d5\u3059\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u6b21\u306e\u624b\u9806\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 +message.lock.account=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30ed\u30c3\u30af\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? \u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u3059\u3079\u3066\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30af\u30e9\u30a6\u30c9 \u30ea\u30bd\u30fc\u30b9\u3092\u7ba1\u7406\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u305d\u306e\u5f8c\u3082\u65e2\u5b58\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002 +message.migrate.instance.confirm=\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.migrate.instance.to.host=\u5225\u306e\u30db\u30b9\u30c8\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u79fb\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.migrate.instance.to.ps=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u79fb\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.migrate.router.confirm=\u30eb\u30fc\u30bf\u30fc\u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.migrate.systemvm.confirm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.migrate.volume=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u79fb\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.new.user=\u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0081\u00ab\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084\u00e3\u0083\u00a6\u00e3\u0083\u00bc\u00e3\u0082\u00b6\u00e3\u0083\u00bc\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e8\u00a8\u00ad\u00e5\u00ae\u009a\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084 -message.no.network.support.configuration.not.true=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u304C\u6709\u52B9\u306A\u30BE\u30FC\u30F3\u304C\u7121\u3044\u305F\u3081\u3001\u8FFD\u52A0\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u6A5F\u80FD\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u624B\u9806 5. \u306B\u9032\u3093\u3067\u304F\u3060\u3055\u3044\u3002 -message.no.network.support=\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u3068\u3057\u3066 vSphere \u3092\u9078\u629E\u3057\u307E\u3057\u305F\u304C\u3001\u3053\u306E\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u306B\u8FFD\u52A0\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u6A5F\u80FD\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u624B\u9806 5. \u306B\u9032\u3093\u3067\u304F\u3060\u3055\u3044\u3002 -message.no.projects.adminOnly=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
\u7BA1\u7406\u8005\u306B\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.no.projects=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30BB\u30AF\u30B7\u30E7\u30F3\u304B\u3089\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.number.clusters=

\u30AF\u30E9\u30B9\u30BF\u30FC\u6570

-message.number.hosts=

\u30DB\u30B9\u30C8\u6570

-message.number.pods=

\u30DD\u30C3\u30C9\u6570

-message.number.storage=

\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8 \u30DC\u30EA\u30E5\u30FC\u30E0\u6570

-message.number.zones=

\u30BE\u30FC\u30F3\u6570

-message.pending.projects.1=\u4FDD\u7559\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u62DB\u5F85\u72B6\u304C\u3042\u308A\u307E\u3059\u3002 -message.pending.projects.2=\u8868\u793A\u3059\u308B\u306B\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u79FB\u52D5\u3057\u3066\u3001\u4E00\u89A7\u304B\u3089\u62DB\u5F85\u72B6\u3092\u9078\u629E\u3057\u307E\u3059\u3002 -message.please.add.at.lease.one.traffic.range=\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7BC4\u56F2\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.please.proceed=\u6B21\u306E\u624B\u9806\u306B\u9032\u3093\u3067\u304F\u3060\u3055\u3044\u3002 -message.please.select.a.configuration.for.your.zone=\u30BE\u30FC\u30F3\u306E\u69CB\u6210\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.please.select.a.different.public.and.management.network.before.removing=\u524A\u9664\u306E\u524D\u306B\u7570\u306A\u308B\u30D1\u30D6\u30EA\u30C3\u30AF\u304A\u3088\u3073\u7BA1\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.please.select.networks=\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.please.wait.while.zone.is.being.created=\u30BE\u30FC\u30F3\u304C\u4F5C\u6210\u3055\u308C\u308B\u307E\u3067\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044... -message.project.invite.sent=\u30E6\u30FC\u30B6\u30FC\u306B\u62DB\u5F85\u72B6\u304C\u9001\u4FE1\u3055\u308C\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u30FC\u304C\u62DB\u5F85\u3092\u627F\u8AFE\u3059\u308B\u3068\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002 -message.public.traffic.in.advanced.zone=\u30AF\u30E9\u30A6\u30C9\u5185\u306E VM \u304C\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3068\u3001\u30D1\u30D6\u30EA\u30C3\u30AF \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u304C\u751F\u6210\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u305F\u3081\u306B\u3001\u4E00\u822C\u306B\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A IP \u30A2\u30C9\u30EC\u30B9\u3092\u5272\u308A\u5F53\u3066\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30A8\u30F3\u30C9 \u30E6\u30FC\u30B6\u30FC\u306F CloudStack \u306E\u30E6\u30FC\u30B6\u30FC \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u4F7F\u7528\u3057\u3066\u3053\u308C\u3089\u306E IP \u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97\u3057\u3001\u30B2\u30B9\u30C8 \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3068\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u9593\u306B NAT \u3092\u5B9F\u88C5\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002

\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u305F\u3081\u306B\u3001\u5C11\u306A\u304F\u3068\u3082 1 \u3064 IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.public.traffic.in.basic.zone=\u30AF\u30E9\u30A6\u30C9\u5185\u306E VM \u304C\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u304B\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u7D4C\u7531\u3067\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u306B\u30B5\u30FC\u30D3\u30B9\u3092\u63D0\u4F9B\u3059\u308B\u3068\u3001\u30D1\u30D6\u30EA\u30C3\u30AF \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u304C\u751F\u6210\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u305F\u3081\u306B\u3001\u4E00\u822C\u306B\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A IP \u30A2\u30C9\u30EC\u30B9\u3092\u5272\u308A\u5F53\u3066\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3059\u308B\u3068\u3001\u30B2\u30B9\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u306E\u307B\u304B\u306B\u3053\u306E\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u306E\u7BC4\u56F2\u304B\u3089\u30A2\u30C9\u30EC\u30B9\u304C 1 \u3064\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3059\u3002\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u3068\u30B2\u30B9\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u306E\u9593\u306B\u3001\u9759\u7684\u306A 1 \u5BFE 1 \u306E NAT \u304C\u81EA\u52D5\u7684\u306B\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3055\u308C\u307E\u3059\u3002\u30A8\u30F3\u30C9 \u30E6\u30FC\u30B6\u30FC\u306F CloudStack \u306E\u30E6\u30FC\u30B6\u30FC \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u4F7F\u7528\u3057\u3066\u8FFD\u52A0\u306E IP \u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97\u3057\u3001\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3068\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u306E\u9593\u306B\u9759\u7684 NAT \u3092\u5B9F\u88C5\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002 -message.remove.vpc=VPC \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.remove.vpn.access=\u6B21\u306E\u30E6\u30FC\u30B6\u30FC\u304B\u3089 VPN \u30A2\u30AF\u30BB\u30B9\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.reset.password.warning.notPasswordEnabled=\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u3001\u30D1\u30B9\u30EF\u30FC\u30C9\u7BA1\u7406\u3092\u6709\u52B9\u306B\u305B\u305A\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\u3002 -message.reset.password.warning.notStopped=\u73FE\u5728\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3059\u308B\u524D\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u505C\u6B62\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.reset.VPN.connection=VPN \u63A5\u7D9A\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.restart.mgmt.server=\u65B0\u3057\u3044\u8A2D\u5B9A\u3092\u6709\u52B9\u306B\u3059\u308B\u305F\u3081\u306B\u3001\u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.restart.mgmt.usage.server=\u65B0\u3057\u3044\u8A2D\u5B9A\u3092\u6709\u52B9\u306B\u3059\u308B\u305F\u3081\u306B\u3001\u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u3068\u4F7F\u7528\u72B6\u6CC1\u6E2C\u5B9A\u30B5\u30FC\u30D0\u30FC\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.restart.network=\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3067\u63D0\u4F9B\u3059\u308B\u3059\u3079\u3066\u306E\u30B5\u30FC\u30D3\u30B9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.restart.vpc=VPC \u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.security.group.usage=(\u8A72\u5F53\u3059\u308B\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u3059\u3079\u3066\u9078\u629E\u3059\u308B\u306B\u306F\u3001Ctrl \u30AD\u30FC\u3092\u62BC\u3057\u306A\u304C\u3089\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044) -message.select.a.zone=\u30BE\u30FC\u30F3\u306F\u901A\u5E38\u3001\u5358\u4E00\u306E\u30C7\u30FC\u30BF\u30BB\u30F3\u30BF\u30FC\u306B\u76F8\u5F53\u3057\u307E\u3059\u3002\u8907\u6570\u306E\u30BE\u30FC\u30F3\u3092\u8A2D\u5B9A\u3057\u3001\u7269\u7406\u7684\u306B\u5206\u96E2\u3057\u3066\u5197\u9577\u6027\u3092\u6301\u305F\u305B\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u30AF\u30E9\u30A6\u30C9\u306E\u4FE1\u983C\u6027\u3092\u9AD8\u3081\u307E\u3059\u3002 -message.select.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.select.iso=\u65B0\u3057\u3044\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E ISO \u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.select.item=\u9805\u76EE\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.select.security.groups=\u65B0\u3057\u3044\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 \u30B0\u30EB\u30FC\u30D7\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.select.template=\u65B0\u3057\u3044\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.setup.physical.network.during.zone.creation.basic=\u57FA\u672C\u30BE\u30FC\u30F3\u3092\u8FFD\u52A0\u3059\u308B\u3068\u304D\u306F\u3001\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u4E0A\u306E NIC \u306B\u5BFE\u5FDC\u3059\u308B 1 \u3064\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3067\u304D\u307E\u3059\u3002\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306F\u3044\u304F\u3064\u304B\u306E\u7A2E\u985E\u306E\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u4F1D\u9001\u3057\u307E\u3059\u3002

\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306B\u307B\u304B\u306E\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E\u3092\u30C9\u30E9\u30C3\u30B0 \u30A2\u30F3\u30C9 \u30C9\u30ED\u30C3\u30D7\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002 -message.setup.physical.network.during.zone.creation=\u62E1\u5F35\u30BE\u30FC\u30F3\u3092\u8FFD\u52A0\u3059\u308B\u3068\u304D\u306F\u30011 \u3064\u4EE5\u4E0A\u306E\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306F\u30CF\u30A4\u30D1\u30FC\u30D0\u30A4\u30B6\u30FC\u4E0A\u306E 1 \u3064\u306E NIC \u306B\u5BFE\u5FDC\u3057\u307E\u3059\u3002\u5404\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3067\u306F\u3001\u7D44\u307F\u5408\u308F\u305B\u306B\u5236\u9650\u304C\u3042\u308A\u307E\u3059\u304C\u30011 \u3064\u4EE5\u4E0A\u306E\u7A2E\u985E\u306E\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u901A\u4FE1\u3067\u304D\u307E\u3059\u3002

\u5404\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306B\u5BFE\u3057\u3066\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u306E\u7A2E\u985E\u3092\u30C9\u30E9\u30C3\u30B0 \u30A2\u30F3\u30C9 \u30C9\u30ED\u30C3\u30D7\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.setup.successful=\u30AF\u30E9\u30A6\u30C9\u304C\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F\u3002 -message.snapshot.schedule=\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304B\u3089\u9078\u629E\u3057\u3066\u30DD\u30EA\u30B7\u30FC\u306E\u57FA\u672C\u8A2D\u5B9A\u3092\u9069\u7528\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u5B9A\u671F\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3067\u304D\u307E\u3059\u3002 -message.specify.url=URL \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044 -message.step.1.continue=\u7D9A\u884C\u3059\u308B\u306B\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u307E\u305F\u306F ISO \u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 -message.step.1.desc=\u65B0\u3057\u3044\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u7528\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002ISO \u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3067\u304D\u308B\u7A7A\u767D\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u9078\u629E\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002 -message.step.2.continue=\u7D9A\u884C\u3059\u308B\u306B\u306F\u30B5\u30FC\u30D3\u30B9 \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 +message.no.network.support.configuration.not.true=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u304c\u6709\u52b9\u306a\u30be\u30fc\u30f3\u304c\u7121\u3044\u305f\u3081\u3001\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u624b\u9806 5. \u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 +message.no.network.support=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3068\u3057\u3066 vSphere \u3092\u9078\u629e\u3057\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u306b\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u624b\u9806 5. \u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 +message.no.projects.adminOnly=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\u7ba1\u7406\u8005\u306b\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210\u3092\u4f9d\u983c\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.no.projects=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30bb\u30af\u30b7\u30e7\u30f3\u304b\u3089\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.number.clusters=

\u30af\u30e9\u30b9\u30bf\u30fc\u6570

+message.number.hosts=

\u30db\u30b9\u30c8\u6570

+message.number.pods=

\u30dd\u30c3\u30c9\u6570

+message.number.storage=

\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30dc\u30ea\u30e5\u30fc\u30e0\u6570

+message.number.zones=

\u30be\u30fc\u30f3\u6570

+message.pending.projects.1=\u4fdd\u7559\u4e2d\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u62db\u5f85\u72b6\u304c\u3042\u308a\u307e\u3059\u3002 +message.pending.projects.2=\u8868\u793a\u3059\u308b\u306b\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u79fb\u52d5\u3057\u3066\u3001\u4e00\u89a7\u304b\u3089\u62db\u5f85\u72b6\u3092\u9078\u629e\u3057\u307e\u3059\u3002 +message.please.add.at.lease.one.traffic.range=\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7bc4\u56f2\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.please.proceed=\u6b21\u306e\u624b\u9806\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 +message.please.select.a.configuration.for.your.zone=\u30be\u30fc\u30f3\u306e\u69cb\u6210\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.please.select.a.different.public.and.management.network.before.removing=\u524a\u9664\u306e\u524d\u306b\u7570\u306a\u308b\u30d1\u30d6\u30ea\u30c3\u30af\u304a\u3088\u3073\u7ba1\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.please.select.networks=\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.please.wait.while.zone.is.being.created=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\u308b\u307e\u3067\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044... +message.project.invite.sent=\u30e6\u30fc\u30b6\u30fc\u306b\u62db\u5f85\u72b6\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002\u30e6\u30fc\u30b6\u30fc\u304c\u62db\u5f85\u3092\u627f\u8afe\u3059\u308b\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002 +message.public.traffic.in.advanced.zone=\u30af\u30e9\u30a6\u30c9\u5185\u306e VM \u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001\u30d1\u30d6\u30ea\u30c3\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u305f\u3081\u306b\u3001\u4e00\u822c\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306f CloudStack \u306e\u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3057\u3001\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9593\u306b NAT \u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b\u3001\u5c11\u306a\u304f\u3068\u3082 1 \u3064 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.public.traffic.in.basic.zone=\u30af\u30e9\u30a6\u30c9\u5185\u306e VM \u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u304b\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u3068\u3001\u30d1\u30d6\u30ea\u30c3\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u305f\u3081\u306b\u3001\u4e00\u822c\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u307b\u304b\u306b\u3053\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u304b\u3089\u30a2\u30c9\u30ec\u30b9\u304c 1 \u3064\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u3059\u3002\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u3068\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u9593\u306b\u3001\u9759\u7684\u306a 1 \u5bfe 1 \u306e NAT \u304c\u81ea\u52d5\u7684\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306f CloudStack \u306e\u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f7f\u7528\u3057\u3066\u8ffd\u52a0\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3057\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3068\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u306e\u9593\u306b\u9759\u7684 NAT \u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 +message.remove.vpc=VPC \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.remove.vpn.access=\u6b21\u306e\u30e6\u30fc\u30b6\u30fc\u304b\u3089 VPN \u30a2\u30af\u30bb\u30b9\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.reset.password.warning.notPasswordEnabled=\u3053\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306f\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u7ba1\u7406\u3092\u6709\u52b9\u306b\u305b\u305a\u306b\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002 +message.reset.password.warning.notStopped=\u73fe\u5728\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u66f4\u3059\u308b\u524d\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.reset.VPN.connection=VPN \u63a5\u7d9a\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.restart.mgmt.server=\u65b0\u3057\u3044\u8a2d\u5b9a\u3092\u6709\u52b9\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.restart.mgmt.usage.server=\u65b0\u3057\u3044\u8a2d\u5b9a\u3092\u6709\u52b9\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u4f7f\u7528\u72b6\u6cc1\u6e2c\u5b9a\u30b5\u30fc\u30d0\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.restart.network=\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u63d0\u4f9b\u3059\u308b\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d3\u30b9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u518d\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.restart.vpc=VPC \u3092\u518d\u8d77\u52d5\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.security.group.usage=(\u8a72\u5f53\u3059\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u3059\u3079\u3066\u9078\u629e\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044) +message.select.a.zone=\u30be\u30fc\u30f3\u306f\u901a\u5e38\u3001\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\u8907\u6570\u306e\u30be\u30fc\u30f3\u3092\u8a2d\u5b9a\u3057\u3001\u7269\u7406\u7684\u306b\u5206\u96e2\u3057\u3066\u5197\u9577\u6027\u3092\u6301\u305f\u305b\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u30af\u30e9\u30a6\u30c9\u306e\u4fe1\u983c\u6027\u3092\u9ad8\u3081\u307e\u3059\u3002 +message.select.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.select.iso=\u65b0\u3057\u3044\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e ISO \u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.select.item=\u9805\u76ee\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.select.security.groups=\u65b0\u3057\u3044\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.select.template=\u65b0\u3057\u3044\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.setup.physical.network.during.zone.creation.basic=\u57fa\u672c\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3068\u304d\u306f\u3001\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u4e0a\u306e NIC \u306b\u5bfe\u5fdc\u3059\u308b 1 \u3064\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3044\u304f\u3064\u304b\u306e\u7a2e\u985e\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u4f1d\u9001\u3057\u307e\u3059\u3002

\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u307b\u304b\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3092\u30c9\u30e9\u30c3\u30b0 \u30a2\u30f3\u30c9 \u30c9\u30ed\u30c3\u30d7\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 +message.setup.physical.network.during.zone.creation=\u62e1\u5f35\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3068\u304d\u306f\u30011 \u3064\u4ee5\u4e0a\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5404\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u4e0a\u306e 1 \u3064\u306e NIC \u306b\u5bfe\u5fdc\u3057\u307e\u3059\u3002\u5404\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u306f\u3001\u7d44\u307f\u5408\u308f\u305b\u306b\u5236\u9650\u304c\u3042\u308a\u307e\u3059\u304c\u30011 \u3064\u4ee5\u4e0a\u306e\u7a2e\u985e\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u901a\u4fe1\u3067\u304d\u307e\u3059\u3002

\u5404\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5bfe\u3057\u3066\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3092\u30c9\u30e9\u30c3\u30b0 \u30a2\u30f3\u30c9 \u30c9\u30ed\u30c3\u30d7\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.setup.successful=\u30af\u30e9\u30a6\u30c9\u304c\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3055\u308c\u307e\u3057\u305f\u3002 +message.snapshot.schedule=\u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304b\u3089\u9078\u629e\u3057\u3066\u30dd\u30ea\u30b7\u30fc\u306e\u57fa\u672c\u8a2d\u5b9a\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u5b9a\u671f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u307e\u3059\u3002 +message.specify.url=URL \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044 +message.step.1.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u307e\u305f\u306f ISO \u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 +message.step.1.desc=\u65b0\u3057\u3044\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7528\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002ISO \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u308b\u7a7a\u767d\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 +message.step.2.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 message.step.2.desc= -message.step.3.continue=\u7D9A\u884C\u3059\u308B\u306B\u306F\u30C7\u30A3\u30B9\u30AF \u30AA\u30D5\u30A1\u30EA\u30F3\u30B0\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 +message.step.3.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 message.step.3.desc= -message.step.4.continue=\u7D9A\u884C\u3059\u308B\u306B\u306F\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 -message.step.4.desc=\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u63A5\u7D9A\u3059\u308B\u30D7\u30E9\u30A4\u30DE\u30EA \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.storage.traffic=\u30DB\u30B9\u30C8\u3084 CloudStack \u30B7\u30B9\u30C6\u30E0 VM \u306A\u3069\u3001\u7BA1\u7406\u30B5\u30FC\u30D0\u30FC\u3068\u901A\u4FE1\u3059\u308B CloudStack \u306E\u5185\u90E8\u30EA\u30BD\u30FC\u30B9\u9593\u306E\u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3067\u3059\u3002\u3053\u3053\u3067\u30B9\u30C8\u30EC\u30FC\u30B8 \u30C8\u30E9\u30D5\u30A3\u30C3\u30AF\u3092\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.suspend.project=\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u6642\u505C\u6B62\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.template.desc=VM \u306E\u8D77\u52D5\u306B\u4F7F\u7528\u3067\u304D\u308B OS \u30A4\u30E1\u30FC\u30B8 -message.tooltip.dns.1=\u30BE\u30FC\u30F3\u5185\u306E VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u30BE\u30FC\u30F3\u306E\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.tooltip.dns.2=\u30BE\u30FC\u30F3\u5185\u306E VM \u3067\u4F7F\u7528\u3059\u308B 2 \u756A\u76EE\u306E DNS \u30B5\u30FC\u30D0\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u30BE\u30FC\u30F3\u306E\u30D1\u30D6\u30EA\u30C3\u30AF IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.tooltip.internal.dns.1=\u30BE\u30FC\u30F3\u5185\u306E CloudStack \u5185\u90E8\u30B7\u30B9\u30C6\u30E0 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u30DD\u30C3\u30C9\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.tooltip.internal.dns.2=\u30BE\u30FC\u30F3\u5185\u306E CloudStack \u5185\u90E8\u30B7\u30B9\u30C6\u30E0 VM \u3067\u4F7F\u7528\u3059\u308B DNS \u30B5\u30FC\u30D0\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u30DD\u30C3\u30C9\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 IP \u30A2\u30C9\u30EC\u30B9\u304B\u3089\u3001\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306B\u901A\u4FE1\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.tooltip.network.domain=DNS \u30B5\u30D5\u30A3\u30C3\u30AF\u30B9\u3067\u3059\u3002\u3053\u306E\u30B5\u30D5\u30A3\u30C3\u30AF\u30B9\u304B\u3089\u30B2\u30B9\u30C8 VM \u3067\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u30AB\u30B9\u30BF\u30E0 \u30C9\u30E1\u30A4\u30F3\u540D\u304C\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002 -message.tooltip.pod.name=\u3053\u306E\u30DD\u30C3\u30C9\u306E\u540D\u524D\u3067\u3059\u3002 -message.tooltip.reserved.system.gateway=\u30DD\u30C3\u30C9\u5185\u306E\u30DB\u30B9\u30C8\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3067\u3059\u3002 -message.tooltip.reserved.system.netmask=\u30DD\u30C3\u30C9\u306E\u30B5\u30D6\u30CD\u30C3\u30C8\u3092\u5B9A\u7FA9\u3059\u308B\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u3067\u3059\u3002CIDR \u8868\u8A18\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 -message.tooltip.zone.name=\u30BE\u30FC\u30F3\u306E\u540D\u524D\u3067\u3059\u3002 -message.update.os.preference=\u3053\u306E\u30DB\u30B9\u30C8\u306E OS \u57FA\u672C\u8A2D\u5B9A\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u540C\u69D8\u306E\u57FA\u672C\u8A2D\u5B9A\u3092\u6301\u3064\u3059\u3079\u3066\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001\u5225\u306E\u30DB\u30B9\u30C8\u3092\u9078\u629E\u3059\u308B\u524D\u306B\u307E\u305A\u3053\u306E\u30DB\u30B9\u30C8\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3059\u3002 -message.update.resource.count=\u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30EA\u30BD\u30FC\u30B9\u6570\u3092\u66F4\u65B0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.update.ssl=\u5404\u30B3\u30F3\u30BD\u30FC\u30EB \u30D7\u30ED\u30AD\u30B7\u306E\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u66F4\u65B0\u3059\u308B\u3001X.509 \u6E96\u62E0\u306E\u65B0\u3057\u3044 SSL \u8A3C\u660E\u66F8\u3092\u9001\u4FE1\u3057\u3066\u304F\u3060\u3055\u3044\: -message.validate.instance.name=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u540D\u306F 63 \u6587\u5B57\u4EE5\u5185\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002ASCII \u6587\u5B57\u306E a\uFF5Ez\u3001A\uFF5EZ\u3001\u6570\u5B57\u306E 0\uFF5E9\u3001\u304A\u3088\u3073\u30CF\u30A4\u30D5\u30F3\u306E\u307F\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\u6587\u5B57\u3067\u59CB\u307E\u308A\u3001\u6587\u5B57\u307E\u305F\u306F\u6570\u5B57\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -message.virtual.network.desc=\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u5C02\u7528\u4EEE\u60F3\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3067\u3059\u3002\u30D6\u30ED\u30FC\u30C9\u30AD\u30E3\u30B9\u30C8 \u30C9\u30E1\u30A4\u30F3\u306F VLAN \u5185\u306B\u914D\u7F6E\u3055\u308C\u3001\u30D1\u30D6\u30EA\u30C3\u30AF \u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u306F\u3059\u3079\u3066\u4EEE\u60F3\u30EB\u30FC\u30BF\u30FC\u306B\u3088\u3063\u3066\u30EB\u30FC\u30C6\u30A3\u30F3\u30B0\u3055\u308C\u307E\u3059\u3002 -message.vm.create.template.confirm=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\u3068 VM \u304C\u81EA\u52D5\u7684\u306B\u518D\u8D77\u52D5\u3055\u308C\u307E\u3059\u3002 -message.vm.review.launch=\u6B21\u306E\u60C5\u5831\u3092\u53C2\u7167\u3057\u3066\u3001\u4EEE\u60F3\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u6B63\u3057\u304F\u8A2D\u5B9A\u3057\u305F\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304B\u3089\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -message.volume.create.template.confirm=\u3053\u306E\u30C7\u30A3\u30B9\u30AF \u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? \u30DC\u30EA\u30E5\u30FC\u30E0 \u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u306F\u3001\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\u306B\u306F\u6570\u5206\u4EE5\u4E0A\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -message.you.must.have.at.least.one.physical.network=\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u7269\u7406\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304C\u5FC5\u8981\u3067\u3059 -message.Zone.creation.complete=\u30BE\u30FC\u30F3\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F -message.zone.creation.complete.would.you.like.to.enable.this.zone=\u30BE\u30FC\u30F3\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -message.zone.no.network.selection=\u9078\u629E\u3057\u305F\u30BE\u30FC\u30F3\u3067\u306F\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3067\u304D\u307E\u305B\u3093\u3002 -message.zone.step.1.desc=\u30BE\u30FC\u30F3\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF \u30E2\u30C7\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +message.step.4.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 +message.step.4.desc=\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u63a5\u7d9a\u3059\u308b\u30d7\u30e9\u30a4\u30de\u30ea \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.storage.traffic=\u30db\u30b9\u30c8\u3084 CloudStack \u30b7\u30b9\u30c6\u30e0 VM \u306a\u3069\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u3059\u308b CloudStack \u306e\u5185\u90e8\u30ea\u30bd\u30fc\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3067\u3059\u3002\u3053\u3053\u3067\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.suspend.project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4e00\u6642\u505c\u6b62\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.template.desc=VM \u306e\u8d77\u52d5\u306b\u4f7f\u7528\u3067\u304d\u308b OS \u30a4\u30e1\u30fc\u30b8 +message.tooltip.dns.1=\u30be\u30fc\u30f3\u5185\u306e VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306e\u540d\u524d\u3067\u3059\u3002\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.tooltip.dns.2=\u30be\u30fc\u30f3\u5185\u306e VM \u3067\u4f7f\u7528\u3059\u308b 2 \u756a\u76ee\u306e DNS \u30b5\u30fc\u30d0\u30fc\u306e\u540d\u524d\u3067\u3059\u3002\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.tooltip.internal.dns.1=\u30be\u30fc\u30f3\u5185\u306e CloudStack \u5185\u90e8\u30b7\u30b9\u30c6\u30e0 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306e\u540d\u524d\u3067\u3059\u3002\u30dd\u30c3\u30c9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.tooltip.internal.dns.2=\u30be\u30fc\u30f3\u5185\u306e CloudStack \u5185\u90e8\u30b7\u30b9\u30c6\u30e0 VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306e\u540d\u524d\u3067\u3059\u3002\u30dd\u30c3\u30c9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.tooltip.network.domain=DNS \u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u3067\u3059\u3002\u3053\u306e\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u304b\u3089\u30b2\u30b9\u30c8 VM \u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30ab\u30b9\u30bf\u30e0 \u30c9\u30e1\u30a4\u30f3\u540d\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002 +message.tooltip.pod.name=\u3053\u306e\u30dd\u30c3\u30c9\u306e\u540d\u524d\u3067\u3059\u3002 +message.tooltip.reserved.system.gateway=\u30dd\u30c3\u30c9\u5185\u306e\u30db\u30b9\u30c8\u306e\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3067\u3059\u3002 +message.tooltip.reserved.system.netmask=\u30dd\u30c3\u30c9\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u5b9a\u7fa9\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3067\u3059\u3002CIDR \u8868\u8a18\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 +message.tooltip.zone.name=\u30be\u30fc\u30f3\u306e\u540d\u524d\u3067\u3059\u3002 +message.update.os.preference=\u3053\u306e\u30db\u30b9\u30c8\u306e OS \u57fa\u672c\u8a2d\u5b9a\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u540c\u69d8\u306e\u57fa\u672c\u8a2d\u5b9a\u3092\u6301\u3064\u3059\u3079\u3066\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u3001\u5225\u306e\u30db\u30b9\u30c8\u3092\u9078\u629e\u3059\u308b\u524d\u306b\u307e\u305a\u3053\u306e\u30db\u30b9\u30c8\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u3059\u3002 +message.update.resource.count=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30ea\u30bd\u30fc\u30b9\u6570\u3092\u66f4\u65b0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.update.ssl=\u5404\u30b3\u30f3\u30bd\u30fc\u30eb \u30d7\u30ed\u30ad\u30b7\u306e\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u66f4\u65b0\u3059\u308b\u3001X.509 \u6e96\u62e0\u306e\u65b0\u3057\u3044 SSL \u8a3c\u660e\u66f8\u3092\u9001\u4fe1\u3057\u3066\u304f\u3060\u3055\u3044\: +message.validate.instance.name=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u540d\u306f 63 \u6587\u5b57\u4ee5\u5185\u3067\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002ASCII \u6587\u5b57\u306e a\uff5ez\u3001A\uff5eZ\u3001\u6570\u5b57\u306e 0\uff5e9\u3001\u304a\u3088\u3073\u30cf\u30a4\u30d5\u30f3\u306e\u307f\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u6587\u5b57\u3067\u59cb\u307e\u308a\u3001\u6587\u5b57\u307e\u305f\u306f\u6570\u5b57\u3067\u7d42\u308f\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +message.virtual.network.desc=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u5c02\u7528\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u3059\u3002\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8 \u30c9\u30e1\u30a4\u30f3\u306f VLAN \u5185\u306b\u914d\u7f6e\u3055\u308c\u3001\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f\u3059\u3079\u3066\u4eee\u60f3\u30eb\u30fc\u30bf\u30fc\u306b\u3088\u3063\u3066\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3055\u308c\u307e\u3059\u3002 +message.vm.create.template.confirm=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3068 VM \u304c\u81ea\u52d5\u7684\u306b\u518d\u8d77\u52d5\u3055\u308c\u307e\u3059\u3002 +message.vm.review.launch=\u6b21\u306e\u60c5\u5831\u3092\u53c2\u7167\u3057\u3066\u3001\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304b\u3089\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +message.volume.create.template.confirm=\u3053\u306e\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? \u30dc\u30ea\u30e5\u30fc\u30e0 \u30b5\u30a4\u30ba\u306b\u3088\u3063\u3066\u306f\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210\u306b\u306f\u6570\u5206\u4ee5\u4e0a\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +message.you.must.have.at.least.one.physical.network=\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u5fc5\u8981\u3067\u3059 +message.Zone.creation.complete=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f +message.zone.creation.complete.would.you.like.to.enable.this.zone=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u306e\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +message.zone.no.network.selection=\u9078\u629e\u3057\u305f\u30be\u30fc\u30f3\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3002 +message.zone.step.1.desc=\u30be\u30fc\u30f3\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.zone.step.2.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Zone\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e5\u0085\u00a5\u00e5\u008a\u009b\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 message.zone.step.3.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Pod\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e5\u0085\u00a5\u00e5\u008a\u009b\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 -message.zoneWizard.enable.local.storage=\u8B66\u544A\: \u3053\u306E\u30BE\u30FC\u30F3\u306E\u30ED\u30FC\u30AB\u30EB \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u6709\u52B9\u306B\u3059\u308B\u5834\u5408\u306F\u3001\u30B7\u30B9\u30C6\u30E0 VM \u306E\u8D77\u52D5\u5834\u6240\u306B\u5FDC\u3058\u3066\u6B21\u306E\u64CD\u4F5C\u304C\u5FC5\u8981\u3067\u3059\u3002

1. \u30B7\u30B9\u30C6\u30E0 VM \u3092\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3067\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u306F\u3001\u30D7\u30E9\u30A4\u30DE\u30EA \u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4F5C\u6210\u3057\u305F\u5F8C\u3067\u30BE\u30FC\u30F3\u306B\u8FFD\u52A0\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u307E\u305F\u3001\u7121\u52B9\u72B6\u614B\u306E\u30BE\u30FC\u30F3\u3092\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u3082\u3042\u308A\u307E\u3059\u3002

2. \u30B7\u30B9\u30C6\u30E0 VM \u3092\u30ED\u30FC\u30AB\u30EB \u30B9\u30C8\u30EC\u30FC\u30B8\u3067\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u306F\u3001system.vm.use.local.storage \u3092 true \u306B\u8A2D\u5B9A\u3057\u3066\u304B\u3089\u30BE\u30FC\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002


\u7D9A\u884C\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -mode=\u30E2\u30FC\u30C9 -network.rate=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u901F\u5EA6 -notification.reboot.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u518D\u8D77\u52D5 -notification.start.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u8D77\u52D5 -notification.stop.instance=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u505C\u6B62 -side.by.side=\u4E26\u5217 -state.Accepted=\u627F\u8AFE\u6E08\u307F -state.Active=\u30A2\u30AF\u30C6\u30A3\u30D6 -state.Allocated=\u5272\u308A\u5F53\u3066\u6E08\u307F -state.Allocating=\u5272\u308A\u5F53\u3066\u4E2D -state.BackedUp=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u6E08\u307F -state.BackingUp=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u4E2D -state.Completed=\u5B8C\u4E86 -state.Creating=\u4F5C\u6210\u4E2D -state.Declined=\u8F9E\u9000 -state.Destroyed=\u7834\u68C4\u6E08\u307F -state.Disabled=\u7121\u52B9 -state.enabled=\u6709\u52B9 -state.Enabled=\u6709\u52B9 -state.Error=\u30A8\u30E9\u30FC -state.Expunging=\u62B9\u6D88\u4E2D -state.Migrating=\u79FB\u884C\u4E2D -state.Pending=\u4FDD\u7559 -state.ready=\u6E96\u5099\u5B8C\u4E86 -state.Ready=\u6E96\u5099\u5B8C\u4E86 -state.Running=\u5B9F\u884C\u4E2D -state.Starting=\u958B\u59CB\u4E2D -state.Stopped=\u505C\u6B62\u6E08\u307F -state.Stopping=\u505C\u6B62\u3057\u3066\u3044\u307E\u3059 -state.Suspended=\u4E00\u6642\u505C\u6B62 +message.zoneWizard.enable.local.storage=\u8b66\u544a\: \u3053\u306e\u30be\u30fc\u30f3\u306e\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u6709\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u3001\u30b7\u30b9\u30c6\u30e0 VM \u306e\u8d77\u52d5\u5834\u6240\u306b\u5fdc\u3058\u3066\u6b21\u306e\u64cd\u4f5c\u304c\u5fc5\u8981\u3067\u3059\u3002

1. \u30b7\u30b9\u30c6\u30e0 VM \u3092\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u305f\u5f8c\u3067\u30be\u30fc\u30f3\u306b\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u7121\u52b9\u72b6\u614b\u306e\u30be\u30fc\u30f3\u3092\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u3082\u3042\u308a\u307e\u3059\u3002

2. \u30b7\u30b9\u30c6\u30e0 VM \u3092\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001system.vm.use.local.storage \u3092 true \u306b\u8a2d\u5b9a\u3057\u3066\u304b\u3089\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002


\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? +mode=\u30e2\u30fc\u30c9 +network.rate=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901f\u5ea6 +notification.reboot.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u8d77\u52d5 +notification.start.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8d77\u52d5 +notification.stop.instance=\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u505c\u6b62 +side.by.side=\u4e26\u5217 +state.Accepted=\u627f\u8afe\u6e08\u307f +state.Active=\u30a2\u30af\u30c6\u30a3\u30d6 +state.Allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f +state.Allocating=\u5272\u308a\u5f53\u3066\u4e2d +state.BackedUp=\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u6e08\u307f +state.BackingUp=\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4e2d +state.Completed=\u5b8c\u4e86 +state.Creating=\u4f5c\u6210\u4e2d +state.Declined=\u8f9e\u9000 +state.Destroyed=\u7834\u68c4\u6e08\u307f +state.Disabled=\u7121\u52b9 +state.enabled=\u6709\u52b9 +state.Enabled=\u6709\u52b9 +state.Error=\u30a8\u30e9\u30fc +state.Expunging=\u62b9\u6d88\u4e2d +state.Migrating=\u79fb\u884c\u4e2d +state.Pending=\u4fdd\u7559 +state.ready=\u6e96\u5099\u5b8c\u4e86 +state.Ready=\u6e96\u5099\u5b8c\u4e86 +state.Running=\u5b9f\u884c\u4e2d +state.Starting=\u958b\u59cb\u4e2d +state.Stopped=\u505c\u6b62\u6e08\u307f +state.Stopping=\u505c\u6b62\u3057\u3066\u3044\u307e\u3059 +state.Suspended=\u4e00\u6642\u505c\u6b62 ui.listView.filters.all=\u3059\u3079\u3066 -ui.listView.filters.mine=\u81EA\u5206\u306E\u3082\u306E +ui.listView.filters.mine=\u81ea\u5206\u306e\u3082\u306e diff --git a/client/WEB-INF/classes/resources/messages_ko_KR.properties b/client/WEB-INF/classes/resources/messages_ko_KR.properties index 757871acde0..0a4f9903eb0 100644 --- a/client/WEB-INF/classes/resources/messages_ko_KR.properties +++ b/client/WEB-INF/classes/resources/messages_ko_KR.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=\ud56d\ubaa9 \uc18d\uc131 \ubcc0\uacbd confirm.enable.swift=Swift \uae30\uc220 \uc9c0\uc6d0\ub97c \uc0ac\uc6a9 \ud558\ub824\uba74 \ub2e4\uc74c \uc815\ubcf4\ub97c \uc785\ub825\ud574 \uc8fc\uc2ed\uc2dc\uc624. error.could.not.enable.zone=Zone\uc744 \uc0ac\uc6a9 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. diff --git a/client/WEB-INF/classes/resources/messages_nb_NO.properties b/client/WEB-INF/classes/resources/messages_nb_NO.properties index be412449398..8fba48ca9c4 100644 --- a/client/WEB-INF/classes/resources/messages_nb_NO.properties +++ b/client/WEB-INF/classes/resources/messages_nb_NO.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=Endrede egenskaper error.could.not.enable.zone=Kunne ikke aktivere sonen error.installWizard.message=Noe gikk galt. G\u00e5 tilbake og korriger feilene. diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties index fd24f542e8d..780b844c0b7 100644 --- a/client/WEB-INF/classes/resources/messages_pt_BR.properties +++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=Alteradas propriedades do item confirm.enable.s3=Por favor preencha as informa\u00e7\u00f5es abaixo para habilitar suporte a storage secund\u00e1ria fornecida por S3 confirm.enable.swift=Por favor preencha as informa\u00e7\u00f5es abaixo para habilitar suporte ao Swift diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties index b28f6b69e6f..5f492c07329 100644 --- a/client/WEB-INF/classes/resources/messages_ru_RU.properties +++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b confirm.enable.swift=\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043d\u0438\u0436\u0435\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438 Swift error.could.not.enable.zone=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u043e\u043d\u0443 diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties index f62439d460d..c842979eb12 100644 --- a/client/WEB-INF/classes/resources/messages_zh_CN.properties +++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. + changed.item.properties=\u66f4\u6539\u9879\u76ee\u5c5e\u6027 confirm.enable.s3=\u8bf7\u586b\u5199\u4e0b\u5217\u4fe1\u606f\u4ee5\u542f\u7528\u652f\u6301S3\u7684\u4e8c\u7ea7\u5b58\u50a8 confirm.enable.swift=\u8bf7\u586b\u5199\u4ee5\u4e0b\u4fe1\u606f\u4ee5\u542f\u7528\u5bf9 SWIFT \u7684\u652f\u6301 diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config index 171d9b10e1a..80c02aa957c 100644 --- a/tools/transifex/.tx/config +++ b/tools/transifex/.tx/config @@ -15,5 +15,17 @@ source_lang = en [CloudStack_UI.42xmessagesproperties] file_filter = translations/CloudStack_UI.42xmessagesproperties/.properties +source_file = work-dir/messages.properties source_lang = en +trans.ca = work-dir/messages_ca.properties +trans.de_DE = work-dir/messages_de_DE.properties +trans.es = work-dir/messages_es.properties +trans.fr_FR = work-dir/messages_fr_FR.properties +trans.it_IT = work-dir/messages_it_IT.properties +trans.ja = work-dir/messages_ja.properties +trans.ko_KR = work-dir/messages_ko_KR.properties +trans.nb_NO = work-dir/messages_nb_NO.properties +trans.pt_BR = work-dir/messages_pt_BR.properties +trans.ru_RU = work-dir/messages_ru_RU.properties +trans.zh_CN = work-dir/messages_zh_CN.properties From 0f2a249411635fff6e27092b2982dfe4a4e9c594 Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 11:47:45 +0100 Subject: [PATCH 097/283] CLOUDSTACK-2138 - add requirements in README to use sync-transifex-ui.sh script --- tools/transifex/README-transifex.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/transifex/README-transifex.txt b/tools/transifex/README-transifex.txt index 986aed7afb6..4b1cd8d00de 100644 --- a/tools/transifex/README-transifex.txt +++ b/tools/transifex/README-transifex.txt @@ -18,6 +18,12 @@ sync-transifex-ui is a script to automate the synchronisation between Apache CloudStack L10N resource files and Transifex CloudStack project. +Requirements to use this script: +* A GNU/Linux or Unix machine +* Transifex client installed +http://support.transifex.com/customer/portal/topics/440187-transifex-client/articles +On Debian/Ubuntu: apt-get install transifex-client + Commun usage is: 1/ Init and configure the transifex client CLI From 6bf67c9f682740f22952a648d13e294cb97879c1 Mon Sep 17 00:00:00 2001 From: Pranav Saxena Date: Mon, 29 Apr 2013 16:21:49 +0530 Subject: [PATCH 098/283] CLOUDSTACK-2113:System VM scaleUp UI support --- ui/scripts/system.js | 160 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 158 insertions(+), 2 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8c962fc2b7b..7aa0566fbef 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -5424,6 +5424,83 @@ poll: pollAsyncJobResult } }, + + scaleUp:{ + label:'scaleUp System VM', + createForm: { + title: 'label.change.service.offering', + desc: '', + fields: { + serviceOfferingId: { + label: 'label.compute.offering', + select: function(args) { + var apiCmd = "listServiceOfferings&issystem=true"; + if(args.context.systemVMs[0].systemvmtype == "secondarystoragevm") + apiCmd += "&systemvmtype=secondarystoragevm"; + else if(args.context.systemVMs[0].systemvmtype == "consoleproxy") + apiCmd += "&systemvmtype=consoleproxy"; + $.ajax({ + url: createURL(apiCmd), + dataType: "json", + async: true, + success: function(json) { + var serviceofferings = json.listserviceofferingsresponse.serviceoffering; + var items = []; + $(serviceofferings).each(function() { + if(this.id != args.context.systemVMs[0].serviceofferingid) { + items.push({id: this.id, description: this.name}); + } + }); + args.response.success({data: items}); + } + }); + } + } + } + }, + + action: function(args) { + $.ajax({ + url: createURL("scaleVirtualMachine&id=" + args.context.systemVMs[0].id + "&serviceofferingid=" + args.data.serviceOfferingId), + dataType: "json", + async: true, + success: function(json) { + var jid = json.scalevirtualmachineresponse.jobid; + args.response.success( + {_custom: + {jobId: jid, + getUpdatedItem: function(json) { + return json.queryasyncjobresultresponse.jobresult.virtualmachine; + }, + getActionFilter: function() { + return vmActionfilter; + } + + } + } + ); + }, + error:function(json){ + args.response.error(parseXMLHttpResponse(json)); + } + + }); + }, + messages: { + confirm: function(args) { + return 'Do you really want to scale up the system VM ?'; + }, + notification: function(args) { + + return 'System VM Scaled Up'; + } + }, + notification: { + poll: pollAsyncJobResult + } + + }, + viewConsole: { label: 'label.view.console', @@ -6658,6 +6735,83 @@ } }, + scaleUp:{ + label:'scaleUp System VM', + createForm: { + title: 'label.change.service.offering', + desc: '', + fields: { + serviceOfferingId: { + label: 'label.compute.offering', + select: function(args) { + var apiCmd = "listServiceOfferings&issystem=true"; + if(args.context.systemVMs[0].systemvmtype == "secondarystoragevm") + apiCmd += "&systemvmtype=secondarystoragevm"; + else if(args.context.systemVMs[0].systemvmtype == "consoleproxy") + apiCmd += "&systemvmtype=consoleproxy"; + $.ajax({ + url: createURL(apiCmd), + dataType: "json", + async: true, + success: function(json) { + var serviceofferings = json.listserviceofferingsresponse.serviceoffering; + var items = []; + $(serviceofferings).each(function() { + if(this.id != args.context.systemVMs[0].serviceofferingid) { + items.push({id: this.id, description: this.name}); + } + }); + args.response.success({data: items}); + } + }); + } + } + } + }, + + action: function(args) { + $.ajax({ + url: createURL("scaleVirtualMachine&id=" + args.context.systemVMs[0].id + "&serviceofferingid=" + args.data.serviceOfferingId), + dataType: "json", + async: true, + success: function(json) { + var jid = json.scalevirtualmachineresponse.jobid; + args.response.success( + {_custom: + {jobId: jid, + getUpdatedItem: function(json) { + return json.queryasyncjobresultresponse.jobresult.virtualmachine; + }, + getActionFilter: function() { + return vmActionfilter; + } + } + } + ); + }, + error:function(json){ + args.response.error(parseXMLHttpResponse(json)); + } + + }); + }, + messages: { + confirm: function(args) { + return 'Do you really want to scale up the system VM ?'; + }, + notification: function(args) { + + return 'System VM Scaled Up'; + } + }, + notification: { + poll: pollAsyncJobResult + } + + }, + + + viewConsole: { label: 'label.view.console', action: { @@ -11687,14 +11841,16 @@ if (jsonObj.state == 'Running') { allowedActions.push("stop"); allowedActions.push("restart"); - allowedActions.push("remove"); + allowedActions.push("remove"); + allowedActions.push("scaleUp"); allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); } else if (jsonObj.state == 'Stopped') { allowedActions.push("start"); - allowedActions.push("changeService"); + allowedActions.push("scaleUp"); + allowedActions.push("changeService"); allowedActions.push("remove"); } else if (jsonObj.state == 'Error') { From 134704bb10fd6177c103b12adb3045683ce2f1ad Mon Sep 17 00:00:00 2001 From: Sebastien Goasguen Date: Mon, 29 Apr 2013 06:56:46 -0400 Subject: [PATCH 099/283] [TRANSLATION] Adding arabic strings --- .../classes/resources/messages.properties | 1 + .../classes/resources/messages_ar.properties | 1547 +++++++++++++++++ ui/index.jsp | 1 + 3 files changed, 1549 insertions(+) create mode 100644 client/WEB-INF/classes/resources/messages_ar.properties diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index fbc04713fb7..9f84c5ac96d 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -631,6 +631,7 @@ label.lang.japanese=Japanese label.lang.korean=Korean label.lang.russian=Russian label.lang.spanish=Spanish +label.lang.arabic=Arabic label.last.disconnected=Last Disconnected label.last.name=Last Name label.latest.events=Latest events diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties new file mode 100644 index 00000000000..b4b1974ddd1 --- /dev/null +++ b/client/WEB-INF/classes/resources/messages_ar.properties @@ -0,0 +1,1547 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + +#new labels (begin) ********************************************************************************************** +label.egress.rules=\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0631\u0648\u062c +message.acquire.new.ip.vpc=\u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0628\u0648\u0631\u062a\u0648\u0643\u0648\u0644 \u0625\u0646\u062a\u0631\u0646\u062a \u062c\u062f\u064a\u062f \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a. +label.zoneWizard.trafficType.management=\u0625\u062f\u0627\u0631\u0629\\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u060c \u0645\u062a\u0636\u0645\u0646\u0629 \u0623\u064a \u062c\u0632\u0621 \u064a\u062a\u0635\u0644 \u0628\u062e\u0627\u062f\u0645\\\u0633\u064a\u0631\u0641\u0631 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u060c \u0645\u062b\u0644 \u0627\u0644\u0645\u0636\u064a\u0641\u0627\u062a \u0648 \u0623\u0646\u0638\u0645\u0629 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629. +label.zoneWizard.trafficType.public=\u0627\u0644\u0639\u0627\u0645\u0629 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u0629. +label.zoneWizard.trafficType.guest=\u0627\u0644\u0636\u064a\u0641 \\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0647\u0627\u0626\u064a. +label.zoneWizard.trafficType.storage=\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0645\u0644\u0642\u0645\u0627\u062a \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0642\u0648\u0627\u0644\u0628 VM \u0648\u0627\u0644\u0644\u0642\u0637\u0627\u062a +label.quickview=\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629 +label.migrate.to.host=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641 +label.migrate.to.storage=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 +label.stop=\u062a\u0648\u0642\u0641 +label.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 +label.destroy=\u0647\u062f\u0645 +label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629 +label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 +label.broadcast.uri=\u0628\u062b \u0627\u0644\u0631\u0627\u0628\u0637 +label.enable.s3=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u0648\u064a S3 +confirm.enable.s3=\u0641\u0636\u0644\u0627 \u0642\u0645 \u0628\u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0642\u0627\u062f\u0645\u0629 \u0644\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. +message.after.enable.s3=\u062a\u0645 \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. \u062a\u0646\u0648\u064a\u0647 \: \u0639\u0646\u062f \u0645\u063a\u0627\u062f\u0631\u062a\u0643 \u0644\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0644\u0646 \u064a\u0643\u0648\u0646 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 S3 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649. +label.s3.access_key=\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0648\u0635\u0648\u0644 +label.s3.secret_key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a +label.s3.bucket=\u062f\u0644\u0648 +label.s3.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629 +label.s3.use_https=\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS +label.s3.connection_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 +label.s3.max_error_retry=\u0623\u0642\u0635\u0649 \u062e\u0637\u0623 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 +label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\u0633 +#new labels (end) ************************************************************************************************ + + +#modified labels (begin) ***************************************************************************************** +label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN +message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\:

\n1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 +#modified labels (end) ******************************************************************************************* + +label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs +label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs +label.add.network.ACL=\u0625\u0636\u0627\u0641\u0629 \u0634\u0628\u0643\u0629 ACL +label.private.Gateway=\u0645\u0646\u0641\u0630\\Gateway \u062e\u0627\u0635 +label.VPC.router.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u062c\u0647\u0627\u0632 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 VPC +label.VMs.in.tier=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0637\u0628\u0642\u0629 +label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a +label.tier.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0628\u0642\u0629 +label.edit.tags=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a +label.action.enable.physical.network=\u062a\u0645\u0643\u064a\u0646 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +label.action.disable.physical.network=\u062a\u0639\u0637\u064a\u0644 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +message.action.enable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +message.action.disable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 + +label.select.tier=\u062d\u062f\u062f \u0637\u0628\u0642\u0629 +label.add.ACL=\u0625\u0636\u0627\u0641\u0629 ACL +label.remove.ACL=\u0625\u0632\u0627\u0644\u0629 ACL +label.tier=\u0637\u0628\u0642\u0629 +label.network.ACL=\u0634\u0628\u0643\u0629 ACL +label.network.ACL.total=\u0625\u062c\u0645\u0627\u0644 \u0634\u0628\u0643\u0629 ACL +label.add.new.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u062c\u062f\u064a\u062f\u0629 +message.add.new.gateway.to.vpc=\u0641\u0636\u0644\u0627 \u062d\u062f\u062f \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0644\u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 gateway \u0644\u0647\u0630\u0647 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 VPC +label.delete.gateway=\u0627\u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 +message.delete.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 +label.CIDR.of.destination.network=CIDR \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0648\u062c\u0647\u0629. +label.add.route=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u0627\u0631 +label.add.static.route=\u0625\u0636\u0627\u0641\u0629 \u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a +label.remove.static.route=\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a +label.add.VPN.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +# message.add.VPN.gateway=Please confirm that you want to add a VPN Gateway +label.VPN.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.delete.VPN.gateway=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +message.delete.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.VPN.connection=\u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627 +label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE +label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP +label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.VPN.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644 +label.CIDR.list=\u0642\u0627\u0626\u0645\u0629 CIDR +label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) +label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) +label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f +label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +message.reset.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0639\u0627\u062f\u0629-\u0636\u0628\u0637 \u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN +label.delete.VPN.connection=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +# message.delete.VPN.connection=Please confirm that you want to delete VPN connection +label.add.new.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062c\u062f\u064a\u062f\u0629 +label.add.VM.to.tier=\u0625\u0636\u0627\u0641\u0629 \u062c\u0647\u0627\u0632 \u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0637\u0628\u0642\u0629 +label.remove.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 + +label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a +label.associated.network=\u0634\u0628\u0643\u0629 \u0645\u0631\u062a\u0628\u0637\u0629 +label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 +label.dns=\u0646\u0638\u0627\u0645 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0644 DNS + +label.vpc=\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 VPC +label.vpc.id=\u0647\u0648\u064a\u0629 \u062e\u0627\u0635\u0629 \u0628\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 +label.tier=\u0637\u0628\u0642\u0629 +label.add.vpc=\u0625\u0636\u0627\u0641\u0629 \u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 +label.super.cidr.for.guest.networks=CIDR \u0645\u0645\u062a\u0627\u0632 \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0636\u064a\u0641. +# label.DNS.domain.for.guest.networks=DNS domain for Guest Networks +# label.configure.vpc=Configure VPC +# label.edit.vpc=Edit VPC +# label.restart.vpc=restart VPC +# message.restart.vpc=Please confirm that you want to restart the VPC +# label.remove.vpc=remove VPC +# message.remove.vpc=Please confirm that you want to remove the VPC +# label.vpn.customer.gateway=VPN Customer Gateway +# label.add.vpn.customer.gateway=Add VPN Customer Gateway +# label.IKE.encryption=IKE Encryption +# label.IKE.hash=IKE Hash +# label.IKE.DH=IKE DH +# label.ESP.encryption=ESP Encryption +# label.ESP.hash=ESP Hash +# label.perfect.forward.secrecy=Perfect Forward Secrecy +label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) +label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) +label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f +label.delete.VPN.customer.gateway=\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 VPN \u0627\u0644\u0645\u062e\u0635\u0635\u0629 +# message.delete.VPN.customer.gateway=Please confirm that you want to delete this VPN Customer Gateway + +# label.network.domain.text=Network domain +label.memory.mb=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 ( \u0628\u0627\u0644\u0645\u064a\u062c\u0627\u0628\u0627\u064a\u0628\u062a) +label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632) + +# message.action.remove.host=Please confirm that you want to remove this host. + +# message.action.reboot.router=All services provided by this virtual router will be interrupted. Please confirm that you want to reboot this router. +# message.action.stop.router=All services provided by this virtual router will be interrupted. Please confirm that you want to stop this router. +# message.restart.network=All services provided by this network will be interrupted. Please confirm that you want to restart this network. + + +# label.ipaddress=IP Address +# label.vcdcname=vCenter DC name +# label.vcipaddress=vCenter IP Address +# label.vsmctrlvlanid=Control VLAN ID +# label.vsmpktvlanid=Packet VLAN ID +# label.vsmstoragevlanid=Storage VLAN ID +# label.nexusVswitch=Nexus 1000v +# label.action.delete.nexusVswitch=Delete Nexus 1000v +# label.action.enable.nexusVswitch=Enable Nexus 1000v +# label.action.disable.nexusVswitch=Disable Nexus 1000v +# label.action.list.nexusVswitch=List Nexus 1000v +# message.action.delete.nexusVswitch=Please confirm that you want to delete this nexus 1000v +# message.action.enable.nexusVswitch=Please confirm that you want to enable this nexus 1000v +# message.action.disable.nexusVswitch=Please confirm that you want to disable this nexus 1000v +# message.specify.url=Please specify URL +# label.select.instance.to.attach.volume.to=Select instance to attach volume to +label.upload=\u0631\u0641\u0639 +# label.upload.volume=Upload volume +# label.virtual.routers=Virtual Routers +# label.primary.storage.count=Primary Storage Pools +# label.secondary.storage.count=Secondary Storage Pools +# label.number.of.system.vms=Number of System VMs +# label.number.of.virtual.routers=Number of Virtual Routers +# label.action.register.iso=Register ISO +# label.isolation.method=Isolation method +# label.action.register.template=Register template +# label.checksum=MD5 checksum +# label.vpn=VPN +# label.vlan=VLAN + + +# label.management.ips=Management IP Addresses +label.devices=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 +# label.rules=Rules +# label.traffic.label=Traffic label +# label.vm.state=VM state +# message.setup.physical.network.during.zone.creation.basic=When adding a basic zone, you can set up one physical network, which corresponds to a NIC on the hypervisor. The network carries several types of traffic.

You may also drag and drop other traffic types onto the physical network. +# label.domain.router=Domain router +# label.console.proxy=Console proxy +# label.secondary.storage.vm=Secondary storage VM +# label.add.netScaler.device=Add Netscaler device +# label.add.F5.device=Add F5 device +# label.add.SRX.device=Add SRX device +# label.account.and.security.group=Account, Security group +# label.fetch.latest=Fetch latest +# label.system.offering=System Offering +# message.validate.instance.name=Instance name can not be longer than 63 characters. Only ASCII letters a~z, A~Z, digits 0~9, hyphen are allowed. Must start with a letter and end with a letter or a digit. + + +# label.isolated.networks=Isolated networks +# label.latest.events=Latest events +# state.Enabled=Enabled +# label.system.wide.capacity=System-wide capacity +# label.network.service.providers=Network Service Providers +# message.launch.zone=Zone is ready to launch; please proceed to the next step. +# error.unable.to.reach.management.server=Unable to reach Management Server +# label.internal.name=Internal name +# message.configure.all.traffic.types=You have multiple physical networks; please configure labels for each traffic type by clicking on the Edit button. +# message.edit.traffic.type=Please specify the traffic label you want associated with this traffic type. +# label.edit.traffic.type=Edit traffic type +# label.label=Label +# label.max.networks=Max. networks +# error.invalid.username.password=Invalid username or password +# message.enabling.security.group.provider=Enabling Security Group provider +# message.adding.Netscaler.provider=Adding Netscaler provider +# message.creating.guest.network=Creating guest network +# label.action.delete.physical.network=Delete physical network +# message.action.delete.physical.network=Please confirm that you want to delete this physical network +# message.installWizard.copy.whatIsAHost=A host is a single computer. Hosts provide the computing resources that run the guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs (except for bare metal hosts, which are a special case discussed in the Advanced Installation Guide). For example, a Linux KVM-enabled server, a Citrix XenServer server, and an ESXi server are hosts. In a Basic Installation, we use a single host running XenServer or KVM.

The host is the smallest organizational unit within a CloudStack&\\\#8482; deployment. Hosts are contained within clusters, clusters are contained within pods, and pods are contained within zones. + + +# label.add.compute.offering=Add compute offering +# label.compute.offering=Compute offering +# label.compute.offerings=Compute offerings +# label.select.offering=Select offering +# label.menu.infrastructure=Infrastructure +label.sticky.tablesize=\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644 +# label.sticky.expire=Expires +# label.sticky.cookie-name=Cookie name +# label.sticky.mode=Mode +# label.sticky.length=Length +# label.sticky.holdtime=Hold time +# label.sticky.request-learn=Request learn +# label.sticky.prefix=Prefix +# label.sticky.nocache=No cache +# label.sticky.indirect=Indirect +# label.sticky.postonly=Post only +# label.sticky.domain=Domain +# state.Allocating=Allocating +# state.Migrating=Migrating +# error.please.specify.physical.network.tags=Network offerings is not available until you specify tags for this physical network. + + +# state.Stopping=Stopping +# message.add.load.balancer.under.ip=The load balancer rule has been added under IP\\\: +# message.select.instance=Please select an instance. +# label.select=Select +# label.select.vm.for.static.nat=Select VM for static NAT +# label.select.instance=Select instance +# label.nat.port.range=NAT Port Range +# label.static.nat.vm.details=Static NAT VM Details +# label.edit.lb.rule=Edit LB rule +# message.migrate.instance.to.host=Please confirm that you want to migrate instance to another host. +# label.migrate.instance.to.host=Migrate instance to another host +# message.migrate.instance.to.ps=Please confirm that you want to migrate instance to another primary storage. +# label.migrate.instance.to.ps=Migrate instance to another primary storage +# label.corrections.saved=Corrections saved +# message.installWizard.copy.whatIsSecondaryStorage=Secondary storage is associated with a zone, and it stores the following\\\:
  • Templates - OS images that can be used to boot VMs and can include additional configuration information, such as installed applications
  • ISO images - OS images that can be bootable or non-bootable
  • Disk volume snapshots - saved copies of VM data which can be used for data recovery or to create new templates
+# message.installWizard.copy.whatIsPrimaryStorage=A CloudStack&\\\#8482; cloud infrastructure makes use of two types of storage\\\: primary storage and secondary storage. Both of these can be iSCSI or NFS servers, or localdisk.

Primary storage is associated with a cluster, and it stores the disk volumes of each guest VM for all the VMs running on hosts in that cluster. The primary storage server is typically located close to the hosts. +# message.installWizard.copy.whatIsACluster=A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack&\\\#8482; deployment. Clusters are contained within pods, and pods are contained within zones.

CloudStack&\\\#8482; allows multiple clusters in a cloud deployment, but for a Basic Installation, we only need one cluster. +# message.installWizard.copy.whatIsAPod=A pod often represents a single rack. Hosts in the same pod are in the same subnet.

A pod is the second-largest organizational unit within a CloudStack&\\\#8482; deployment. Pods are contained within zones. Each zone can contain one or more pods; in the Basic Installation, you will have just one pod in your zone. +# message.installWizard.copy.whatIsAZone=A zone is the largest organizational unit within a CloudStack&\\\#8482; deployment. A zone typically corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter. The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For example, each zone can have its own power supply and network uplink, and the zones can be widely separated geographically (though this is not required). +# message.installWizard.copy.whatIsCloudStack=CloudStack&\\\#8482 is a software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. CloudStack&\\\#8482 manages the network, storage, and compute nodes that make up a cloud infrastructure. Use CloudStack&\\\#8482 to deploy, manage, and configure cloud computing environments.

Extending beyond individual virtual machine images running on commodity hardware, CloudStack&\\\#8482 provides a turnkey cloud infrastructure software stack for delivering virtual datacenters as a service - delivering all of the essential components to build, deploy, and manage multi-tier and multi-tenant cloud applications. Both open-source and Premium versions are available, with the open-source version offering nearly identical features. +# message.installWizard.tooltip.addSecondaryStorage.path=The exported path, located on the server you specified above +# message.installWizard.tooltip.addSecondaryStorage.nfsServer=The IP address of the NFS server hosting the secondary storage +# message.installWizard.tooltip.addPrimaryStorage.path=(for NFS) In NFS this is the exported path from the server. Path (for SharedMountPoint). With KVM this is the path on each host that is where this primary storage is mounted. For example, "/mnt/primary". +# message.installWizard.tooltip.addPrimaryStorage.server=(for NFS, iSCSI, or PreSetup) The IP address or DNS name of the storage device. +# message.installWizard.tooltip.addPrimaryStorage.name=The name for the storage device. +# message.installWizard.tooltip.addHost.password=This is the password for the user named above (from your XenServer install). +# message.installWizard.tooltip.addHost.username=Usually root. +# message.installWizard.tooltip.addHost.hostname=The DNS name or IP address of the host. +# message.installWizard.tooltip.addCluster.name=A name for the cluster. This can be text of your choosing and is not used by CloudStack. +# message.installWizard.tooltip.addPod.reservedSystemEndIp=This is the IP range in the private network that the CloudStack uses to manage Secondary Storage VMs and Console Proxy VMs. These IP addresses are taken from the same subnet as computing servers. +# message.installWizard.tooltip.addPod.reservedSystemStartIp=This is the IP range in the private network that the CloudStack uses to manage Secondary Storage VMs and Console Proxy VMs. These IP addresses are taken from the same subnet as computing servers. +# message.installWizard.tooltip.addPod.reservedSystemNetmask=The netmask in use on the subnet the guests will use. +# message.installWizard.tooltip.addPod.reservedSystemGateway=The gateway for the hosts in that pod. +# message.installWizard.tooltip.addPod.name=A name for the pod +# message.installWizard.tooltip.configureGuestTraffic.guestEndIp=The range of IP addresses that will be available for allocation to guests in this zone. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. +# message.installWizard.tooltip.configureGuestTraffic.guestStartIp=The range of IP addresses that will be available for allocation to guests in this zone. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. +# message.installWizard.tooltip.configureGuestTraffic.guestNetmask=The netmask in use on the subnet that the guests should use +# message.installWizard.tooltip.configureGuestTraffic.guestGateway=The gateway that the guests should use +# message.installWizard.tooltip.configureGuestTraffic.description=A description for your network +# message.installWizard.tooltip.configureGuestTraffic.name=A name for your network +# message.installWizard.tooltip.addZone.internaldns2=These are DNS servers for use by system VMs in the zone. These DNS servers will be accessed via the private network interface of the System VMs. The private IP address you provide for the pods must have a route to the DNS server named here. +# message.installWizard.tooltip.addZone.internaldns1=These are DNS servers for use by system VMs in the zone. These DNS servers will be accessed via the private network interface of the System VMs. The private IP address you provide for the pods must have a route to the DNS server named here. +# message.installWizard.tooltip.addZone.dns2=These are DNS servers for use by guest VMs in the zone. These DNS servers will be accessed via the public network you will add later. The public IP addresses for the zone must have a route to the DNS server named here. +# message.installWizard.tooltip.addZone.name=A name for the zone +# message.installWizard.tooltip.addZone.dns1=These are DNS servers for use by guest VMs in the zone. These DNS servers will be accessed via the public network you will add later. The public IP addresses for the zone must have a route to the DNS server named here. +# message.setup.successful=Cloud setup successful\\\! +# label.may.continue=You may now continue. +# error.installWizard.message=Something went wrong; you may go back and correct any errors +# message.installWizard.now.building=Now building your cloud... +# message.installWizard.click.retry=Click the button to retry launch. +# label.launch=Launch +# label.installWizard.click.launch=Click the launch button. +# label.congratulations=Congratulations\\\! +# label.installWizard.addSecondaryStorageIntro.subtitle=What is secondary storage? +# label.installWizard.addSecondaryStorageIntro.title=Let’s add secondary storage +# label.installWizard.addPrimaryStorageIntro.subtitle=What is primary storage? +# label.installWizard.addPrimaryStorageIntro.title=Let’s add primary storage +# label.installWizard.addHostIntro.subtitle=What is a host? +# label.installWizard.addHostIntro.title=Let’s add a host +# label.installWizard.addClusterIntro.subtitle=What is a cluster? +# label.installWizard.addClusterIntro.title=Let’s add a cluster +# label.installWizard.addPodIntro.subtitle=What is a pod? +# label.installWizard.addPodIntro.title=Let’s add a pod +# label.installWizard.addZone.title=Add zone +# label.installWizard.addZoneIntro.subtitle=What is a zone? +# label.installWizard.addZoneIntro.title=Let’s add a zone +# error.password.not.match=The password fields do not match +# label.confirm.password=Confirm password +# message.change.password=Please change your password. +# label.save.and.continue=Save and continue +# label.skip.guide=I have used CloudStack before, skip this guide +# label.continue.basic.install=Continue with basic installation +# label.introduction.to.cloudstack=Introduction to CloudStack&\\\#8482 +# label.what.is.cloudstack=What is CloudStack&\\\#8482? +# label.hints=Hints +# label.installWizard.subtitle=This tour will aid you in setting up your CloudStack&\\\#8482 installation +# label.continue=Continue +# label.installWizard.title=Hello and Welcome to CloudStack&\\\#8482 +# label.agree=Agree +# label.manage.resources=Manage Resources +# label.port.forwarding.policies=Port forwarding policies +# label.load.balancing.policies=Load balancing policies +# label.networking.and.security=Networking and security +# label.bandwidth=Bandwidth +# label.virtual.machines=Virtual machines +# label.compute.and.storage=Compute and Storage +# label.task.completed=Task completed +# label.update.project.resources=Update project resources +# label.remove.project.account=Remove project account +# label.item.listing=Item listing +# message.select.item=Please select an item. +# label.removing=Removing +# label.invite=Invite +# label.add.by=Add by +# label.max.vms=Max. user VMs +# label.max.public.ips=Max. public IPs +# label.max.volumes=Max. volumes +# label.max.snapshots=Max. snapshots +# label.max.templates=Max. templates +# label.max.vpcs=Max. VPCs +# label.project.dashboard=Project dashboard +label.remind.later=\u0630\u0643\u0631\u0646\u064a \u0644\u0627\u062d\u0642\u0627\u064b +label.invited.accounts=\u062f\u0639\u0648\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640 +label.add.accounts.to=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a \u0625\u0644\u0649 +label.add.accounts=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.project.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 +label.networks=\u0627\u0644\u0634\u0628\u0643\u0627\u062a +# label.launch.vm=Launch VM +# label.new.vm=New VM +label.previous=\u0627\u0644\u0633\u0627\u0628\u0642 +label.add.to.group=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 +message.vm.review.launch=\u064a\u0631\u062c\u0649 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0648\u062a\u0623\u0643\u062f \u0623\u0646 \u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0635\u062d\u064a\u062d \u0642\u0628\u0644 \u0627\u0644\u0625\u0646\u0637\u0644\u0627\u0642 +# message.select.security.groups=Please select security group(s) for your new VM +label.new=\u062c\u062f\u064a\u062f +message.please.select.networks=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0644\u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a +# message.please.proceed=Please proceed to the next step. +# message.zone.no.network.selection=The zone you selected does not have any choices for network selection. +label.no.thanks=\u0644\u0627\u061b \u0634\u0643\u0631\u0627\u064b +label.my.templates=\u0642\u0648\u0627\u0644\u0628\u064a +message.select.template=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0642\u0627\u0644\u0628 \u0644\u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u062c\u062f\u064a\u062f +# message.select.iso=Please select an ISO for your new virtual instance. +# message.template.desc=OS image that can be used to boot VMs +# message.iso.desc=Disc image containing data or bootable media for OS +# label.select.iso.or.template=Select ISO or template +# message.select.a.zone=A zone typically corresponds to a single datacenter. Multiple zones help make the cloud more reliable by providing physical isolation and redundancy. +# label.select.a.zone=Select a zone +label.review=\u0645\u0631\u0627\u062c\u0639\u0629 +label.select.a.template=\u0627\u062e\u062a\u0631 \u0642\u0627\u0644\u0628 +label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a +state.Allocated=\u062a\u062e\u0635\u064a\u0635 +changed.item.properties=\u062a\u063a\u064a\u0631 \u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0639\u0646\u0635\u0631 +label.apply=\u062a\u0637\u0628\u064a\u0642 +label.default=\u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a +label.viewing=\u0639\u0631\u0636 +label.move.to.top=\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0623\u0639\u0644\u0649 +label.move.up.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0644\u0649 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f +label.move.down.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f +label.move.to.bottom=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 +label.drag.new.position=\u0627\u0633\u062d\u0628 \u0644\u0645\u0648\u0642\u0641 \u062c\u062f\u064a\u062f +label.order=\u062a\u0631\u062a\u064a\u0628 +label.no.data=\u0644\u0627 \u064a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0644\u0639\u0631\u0636 +label.change.value=\u062a\u063a\u064a\u0631 \u0627\u0644\u0642\u064a\u0645\u0629 +label.clear.list=\u0645\u0633\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629 +label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644 +message.add.domain=\u064a\u0631\u062c\u0649 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0627\u0644 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0646\u0634\u0627\u0621 \u062a\u062d\u062a \u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 +message.delete.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.enable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.disable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.generate.keys=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0627\u062a\u064a\u062d \u062c\u062f\u064a\u062f\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.update.resource.count=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628 +# message.edit.account=Edit ("-1" indicates no limit to the amount of resources create) +# label.total.of.vm=Total of VM +# label.total.of.ip=Total of IP Address +state.enabled=\u062a\u0645\u0643\u064a\u0646 +# message.action.download.iso=Please confirm that you want to download this ISO. +# message.action.download.template=Please confirm that you want to download this template. +# label.destination.zone=Destination Zone +label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d +# label.nic.adapter.type=NIC adapter type +# label.root.disk.controller=Root disk controller +# label.community=Community +# label.remove.egress.rule=Remove egress rule +# label.add.egress.rule=Add egress rule +# label.egress.rule=Egress rule +# label.remove.ingress.rule=Remove ingress rule +# label.delete.vpn.user=Delete VPN user +# label.add.vpn.user=Add VPN user +# label.remove.pf=Remove port forwarding rule +# label.remove.vm.from.lb=Remove VM from load balancer rule +# label.add.vms.to.lb=Add VM(s) to load balancer rule +# label.add.vm=Add VM +# label.remove.static.nat.rule=Remove static NAT rule +# label.remove.rule=Remove rule +# label.add.static.nat.rule=Add static NAT rule +label.add.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 +label.configuration=\u0627\u0644\u062a\u0643\u0648\u064a\u0646 +# message.disable.vpn=Are you sure you want to disable VPN? +# label.disable.vpn=Disable VPN +# message.enable.vpn=Please confirm that you want VPN access enabled for this IP address. +# label.enable.vpn=Enable VPN +# message.acquire.new.ip=Please confirm that you would like to acquire a new IP for this network. +label.elastic=\u0645\u0631\u0646 +label.my.network=\u0634\u0628\u0643\u062a\u064a +# label.add.vms=Add VMs +label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646 +# label.stickiness=Stickiness +label.source=\u0645\u0635\u062f\u0631 +label.least.connections=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a +# label.round.robin=Round-robin +label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 +label.clean.up=\u062a\u0646\u0638\u064a\u0641 +label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 +label.edit.network.details=\u062a\u062d\u0631\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 +# label.add.guest.network=Add guest network +# label.guest.networks=Guest networks +# message.ip.address.changed=Your IP addresses may have changed; would you like to refresh the listing? Note that in this case the details pane will close. +# state.BackingUp=Backing Up +# state.BackedUp=Backed Up +# label.done=Done +# label.vm.name=VM name +# message.migrate.volume=Please confirm that you want to migrate volume to another primary storage. +# label.migrate.volume=Migrate volume to another primary storage +# message.create.template=Are you sure you want to create template? +# label.create.template=Create template +# message.download.volume.confirm=Please confirm that you want to download this volume +message.detach.disk=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0631\u0635\u061f +state.ready=\u062c\u0627\u0647\u0632 +state.Ready=\u062c\u0627\u0647\u0632 +# label.vm.display.name=VM display name +label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 +# label.local.storage=Local Storage +label.direct.ips=\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 IPs +label.view.all=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 +label.zone.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 +# message.alert.state.detected=Alert state detected +# state.Starting=Starting +state.Expunging=\u0645\u062d\u0648 +state.Creating=\u0625\u0646\u0634\u0627\u0621 +message.decline.invitation=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0631\u0641\u0636 \u0647\u0630\u0647 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061f +label.decline.invitation=\u0631\u0641\u0636 \u0627\u0644\u062f\u0639\u0648\u0629 +message.confirm.join.project=\u0646\u0631\u062c\u0648 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.join.project=\u0644\u0642\u062f \u0627\u0646\u0636\u0645\u0645\u062a \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639. \u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0637\u0631\u064a\u0642\u0629 \u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.accept.project.invitation=\u0642\u0628\u0648\u0644 \u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +# label.token=Token +# label.project.id=Project ID +# message.enter.token=Please enter the token that you were given in your invite e-mail. +# label.enter.token=Enter token +state.Accepted=\u062a\u0645 \u0627\u0644\u0642\u0628\u0648\u0644 +state.Pending=\u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 +state.Completed=\u062a\u0645 \u0627\u0644\u0627\u0643\u0645\u0627\u0644 +state.Declined=\u062a\u0645 \u0627\u0644\u0631\u0641\u0636 +label.project=\u0645\u0634\u0631\u0648\u0639 +label.invitations=\u062f\u0639\u0648\u0627\u062a +label.delete.project=\u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.delete.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +message.activate.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +label.activate.project=\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.suspend.project=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.suspend.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u064a\u0642\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +state.Suspended=\u062a\u0645 \u0627\u0644\u0625\u064a\u0642\u0627\u0641 +label.edit.project.details=\u0627\u0636\u0627\u0641\u0629 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.new.project=\u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f +state.Active=\u0646\u0634\u0637 +# state.Disabled=Disabled +label.projects=\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 +label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 +# label.remove.project.account=Remove project account +message.project.invite.sent=\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 ; \u0633\u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0645\u062c\u0631\u062f \u0642\u0628\u0648\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 +label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 +label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629 +label.project.invite=\u062f\u0639\u0648\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.select.project=\u062d\u062f\u062f \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.no.projects=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u064a\u0631\u062c\u0649 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0645\u0646 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639. +message.no.projects.adminOnly=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u0627\u0644\u0631\u062c\u0627\u0621 \u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f. +message.pending.projects.1=\u0644\u062f\u064a\u0643 \u062f\u0639\u0648\u0627\u062a \u0645\u0634\u0631\u0648\u0639 \u0645\u0639\u0644\u0642\u0629/\: +message.pending.projects.2=\u0644\u0639\u0631\u0636\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639\u060c \u062b\u0645 \u062d\u062f\u062f \u062f\u0639\u0648\u0627\u062a \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062f\u0644\u0629. +message.instanceWizard.noTemplates=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u062a\u0627\u062d\u0629\u061b \u064a\u0631\u062c\u0649 \u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0644\u0628 \u0645\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0637\u0644\u0627\u0642 \u0627\u0644\u0645\u0639\u0627\u0644\u062c . +label.view=\u0639\u0631\u0636 +instances.actions.reboot.label=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628 +label.ok=\u0645\u0648\u0627\u0641\u0642 +notification.reboot.instance=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +notification.start.instance=\u0628\u062f\u0621 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +notification.stop.instance=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +label.display.name=\u0639\u0631\u0636 \u0627\u0644\u0627\u0633\u0645 +label.zone.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 +ui.listView.filters.all=\u0627\u0644\u0643\u0644 +# ui.listView.filters.mine=Mine +# state.Running=Running +state.Stopped=\u062a\u0648\u0642\u0641 +state.Destroyed=\u062f\u0645\u0631 +state.Error=\u062e\u0637\u0623 +message.reset.password.warning.notPasswordEnabled=\u0627\u0644\u0642\u0627\u0644\u0628 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u062a\u0645 \u0627\u0646\u0634\u0627\u0626\u0647 \u0645\u0646 \u062f\u0648\u0646 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0645\u0645\u0643\u0646\u0629 +message.reset.password.warning.notStopped=\u064a\u062c\u0628 \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0642\u0628\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 +label.notifications=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a +label.default.view=\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 +label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 + +message.add.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f \u0644\u0637\u0631\u062d +message.action.delete.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u062e\u062f\u0645\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0642\u062f\u0645\u0629. +label.action.delete.system.service.offering=\u062d\u0630\u0641 \u0646\u0638\u0627\u0645 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u062e\u062f\u0645\u0629 +# label.hypervisor.capabilities=Hypervisor capabilities +# label.hypervisor.version=Hypervisor version +label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641 +# label.add.network.offering=Add network offering +label.supported.services=\t\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629 +label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629 +label.guest.type=\u0646\u0648\u0639 \u0627\u0644\u0636\u064a\u0641 +label.specify.IP.ranges=\u062a\u062d\u062f\u064a\u062f \u0646\u0637\u0627\u0642\u0627\u062a IP +# label.conserve.mode=Conserve mode +# label.created.by.system=Created by system +# label.menu.system.service.offerings=System Offerings +# label.add.system.service.offering=Add System Service Offering +# label.redundant.router.capability=Redundant router capability +# label.supported.source.NAT.type=Supported Source NAT type +# label.elastic.LB=Elastic LB +# label.LB.isolation=LB isolation +# label.elastic.IP=Elastic IP +# label.network.label.display.for.blank.value=Use default gateway +# label.xen.traffic.label=XenServer traffic label +# label.kvm.traffic.label=KVM traffic label +# label.vmware.traffic.label=VMware traffic label +# label.start.IP=Start IP +# label.end.IP=End IP +# label.remove.ip.range=Remove IP range +# label.ip.ranges=IP Ranges +# label.start.vlan=Start Vlan +# label.end.vlan=End Vlan +# label.broadcast.domain.range=Broadcast domain range +# label.compute=Compute +# message.add.guest.network=Please confirm that you would like to add a guest network +# label.subdomain.access=Subdomain Access +# label.guest.start.ip=Guest start IP +# label.guest.end.ip=Guest end IP +# label.virtual.router=Virtual Router +# label.physical.network.ID=Physical network ID +# label.destination.physical.network.id=Destination physical network ID +# label.dhcp=DHCP +# label.destroy.router=Destroy router +# message.confirm.destroy.router=Please confirm that you would like to destroy this router +# label.change.service.offering=Change service offering +# label.view.console=View console +# label.redundant.state=Redundant state +# label.enable.provider=Enable provider +# message.confirm.enable.provider=Please confirm that you would like to enable this provider +# label.disable.provider=Disable provider +# message.confirm.disable.provider=Please confirm that you would like to disable this provider +# label.shutdown.provider=Shutdown provider +# message.confirm.shutdown.provider=Please confirm that you would like to shutdown this provider +# label.netScaler=NetScaler +# label.add.new.NetScaler=Add new NetScaler +# label.capacity=Capacity +# label.dedicated=Dedicated +# label.f5=F5 +# label.add.new.F5=Add new F5 +# label.srx=SRX +# label.providers=Providers +# label.add.new.SRX=Add new SRX +# label.timeout=Timeout +# label.public.network=Public network +# label.private.network=Private network +# label.enable.swift=Enable Swift +# confirm.enable.swift=Please fill in the following information to enable support for Swift +# message.after.enable.swift=Swift configured. Note\\\: When you leave this page, you will not be able to re-configure Swift again. +# label.key=Key +# label.delete.NetScaler=Delete NetScaler +# message.confirm.delete.NetScaler=Please confirm that you would like to delete NetScaler +# label.delete.F5=Delete F5 +# message.confirm.delete.F5=Please confirm that you would like to delete F5 +# label.delete.SRX=Delete SRX +# message.confirm.delete.SRX=Please confirm that you would like to delete SRX +# label.pods=Pods +# label.pod.name=Pod name +# label.reserved.system.gateway=Reserved system gateway +# label.reserved.system.netmask=Reserved system netmask +# label.start.reserved.system.IP=Start Reserved system IP +# label.end.reserved.system.IP=End Reserved system IP +# label.clusters=Clusters +# label.cluster.name=Cluster Name +# label.host.MAC=Host MAC +# label.agent.username=Agent Username +# label.agent.password=Agent Password +# message.confirm.action.force.reconnect=Please confirm that you want to force reconnect this host. +# label.resource.state=Resource state +# label.LUN.number=LUN \\\# +# message.confirm.remove.IP.range=Please confirm that you would like to remove this IP range. +# message.tooltip.zone.name=A name for the zone. +# message.tooltip.dns.1=Name of a DNS server for use by VMs in the zone. The public IP addresses for the zone must have a route to this server. +# message.tooltip.dns.2=A second DNS server name for use by VMs in the zone. The public IP addresses for the zone must have a route to this server. +# message.tooltip.internal.dns.1=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server. +# message.tooltip.internal.dns.2=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server. +# message.tooltip.network.domain=A DNS suffix that will create a custom domain name for the network that is accessed by guest VMs. +# message.tooltip.pod.name=A name for this pod. +# message.tooltip.reserved.system.gateway=The gateway for the hosts in the pod. +# message.tooltip.reserved.system.netmask=The network prefix that defines the pod subnet. Uses CIDR notation. +# message.creating.zone=Creating zone +# message.creating.physical.networks=Creating physical networks +# message.configuring.physical.networks=Configuring physical networks +# message.adding.Netscaler.device=Adding Netscaler device +# message.creating.pod=Creating pod +# message.configuring.public.traffic=Configuring public traffic +# message.configuring.storage.traffic=Configuring storage traffic +# message.configuring.guest.traffic=Configuring guest traffic +# message.creating.cluster=Creating cluster +# message.adding.host=Adding host +# message.creating.primary.storage=Creating primary storage +# message.creating.secondary.storage=Creating secondary storage +# message.Zone.creation.complete=Zone creation complete +# message.enabling.zone=Enabling zone +# error.something.went.wrong.please.correct.the.following=Something went wrong; please correct the following +# error.could.not.enable.zone=Could not enable zone +# message.zone.creation.complete.would.you.like.to.enable.this.zone=Zone creation complete. Would you like to enable this zone? +# message.please.add.at.lease.one.traffic.range=Please add at least one traffic range. +# message.you.must.have.at.least.one.physical.network=You must have at least one physical network +# message.please.select.a.different.public.and.management.network.before.removing=Please select a different public and management network before removing + +# label.zone.type=Zone Type +# label.setup.zone=Setup Zone +# label.setup.network=Setup Network +# label.add.resources=Add Resources +# label.launch=Launch +# label.set.up.zone.type=Set up zone type +# message.please.select.a.configuration.for.your.zone=Please select a configuration for your zone. +# message.desc.basic.zone=Provide a single network where each VM instance is assigned an IP directly from the network. Guest isolation can be provided through layer-3 means such as security groups (IP address source filtering). +# label.basic=Basic +# message.desc.advanced.zone=For more sophisticated network topologies. This network model provides the most flexibility in defining guest networks and providing custom network offerings such as firewall, VPN, or load balancer support. +# label.advanced=Advanced +# message.desc.zone=A zone is the largest organizational unit in CloudStack, and it typically corresponds to a single datacenter. Zones provide physical isolation and redundancy. A zone consists of one or more pods (each of which contains hosts and primary storage servers) and a secondary storage server which is shared by all pods in the zone. +# label.physical.network=Physical Network +# label.public.traffic=Public traffic +# label.guest.traffic=Guest Traffic +# label.storage.traffic=Storage Traffic +# message.setup.physical.network.during.zone.creation=When adding an advanced zone, you need to set up one or more physical networks. Each network corresponds to a NIC on the hypervisor. Each physical network can carry one or more types of traffic, with certain restrictions on how they may be combined.

Drag and drop one or more traffic types onto each physical network. +# label.add.physical.network=Add physical network +# label.traffic.types=Traffic Types +# label.management=Management +# label.guest=Guest +# label.please.specify.netscaler.info=Please specify Netscaler info +# message.public.traffic.in.advanced.zone=Public traffic is generated when VMs in the cloud access the internet. Publicly-accessible IPs must be allocated for this purpose. End users can use the CloudStack UI to acquire these IPs to implement NAT between their guest network and their public network.

Provide at least one range of IP addresses for internet traffic. +# message.public.traffic.in.basic.zone=Public traffic is generated when VMs in the cloud access the Internet or provide services to clients over the Internet. Publicly accessible IPs must be allocated for this purpose. When a instance is created, an IP from this set of Public IPs will be allocated to the instance in addition to the guest IP address. Static 1-1 NAT will be set up automatically between the public IP and the guest IP. End users can also use the CloudStack UI to acquire additional IPs to implement static NAT between their instances and the public IP. +# message.add.pod.during.zone.creation=Each zone must contain in one or more pods, and we will add the first pod now. A pod contains hosts and primary storage servers, which you will add in a later step. First, configure a range of reserved IP addresses for CloudStack's internal management traffic. The reserved IP range must be unique for each zone in the cloud. +# message.guest.traffic.in.advanced.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of VLAN IDs to carry guest traffic for each physical network. +# message.guest.traffic.in.basic.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of IP addresses that CloudStack can assign to guest VMs. Make sure this range does not overlap the reserved system IP range. +# message.storage.traffic=Traffic between CloudStack's internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs. Please configure storage traffic here. +# message.desc.cluster=Each pod must contain one or more clusters, and we will add the first cluster now. A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Each cluster consists of one or more hosts and one or more primary storage servers. +# message.desc.host=Each cluster must contain at least one host (computer) for guest VMs to run on, and we will add the first host now. For a host to function in CloudStack, you must install hypervisor software on the host, assign an IP address to the host, and ensure the host is connected to the CloudStack management server.

Give the host's DNS or IP address, the user name (usually root) and password, and any labels you use to categorize hosts. +# message.desc.primary.storage=Each cluster must contain one or more primary storage servers, and we will add the first one now. Primary storage contains the disk volumes for all the VMs running on hosts in the cluster. Use any standards-compliant protocol that is supported by the underlying hypervisor. +# message.desc.secondary.storage=Each zone must have at least one NFS or secondary storage server, and we will add the first one now. Secondary storage stores VM templates, ISO images, and VM disk volume snapshots. This server must be available to all hosts in the zone.

Provide the IP address and exported path. +# label.launch.zone=Launch zone +# message.please.wait.while.zone.is.being.created=Please wait while your zone is being created; this may take a while... + +# label.load.balancing=Load Balancing +# label.static.nat.enabled=Static NAT Enabled +# label.zones=Zones +# label.view.more=View more +# label.number.of.zones=Number of Zones +# label.number.of.pods=Number of Pods +# label.number.of.clusters=Number of Clusters +# label.number.of.hosts=Number of Hosts +# label.total.hosts=Total Hosts +# label.total.CPU=Total CPU +# label.total.memory=Total Memory +# label.total.storage=Total Storage +# label.purpose=Purpose + + + + +# label.action.migrate.router=Migrate Router +# label.action.migrate.router.processing=Migrating Router.... +# message.migrate.router.confirm=Please confirm the host you wish to migrate the router to\\\: +# label.migrate.router.to=Migrate Router to + +# label.action.migrate.systemvm=Migrate System VM +# label.action.migrate.systemvm.processing=Migrating System VM.... +# message.migrate.systemvm.confirm=Please confirm the host you wish to migrate the system VM to\\\: +# label.migrate.systemvm.to=Migrate System VM to + + +# mode=Mode +# side.by.side=Side by Side +# inline=Inline + +# extractable=Extractable + +# label.ocfs2=OCFS2 + +# label.action.edit.host=Edit Host + +# network.rate=Network Rate + +# ICMP.type=ICMP Type +# ICMP.code=ICMP Code + +# image.directory=Image Directory + +# label.action.create.template.from.vm=Create Template from VM +# label.action.create.template.from.volume=Create Template from Volume + +# message.vm.create.template.confirm=Create Template will reboot the VM automatically. + +# label.action.manage.cluster=Manage Cluster +# message.action.manage.cluster=Please confirm that you want to manage the cluster. +# label.action.manage.cluster.processing=Managing Cluster.... + +# label.action.unmanage.cluster=Unmanage Cluster +# message.action.unmanage.cluster=Please confirm that you want to unmanage the cluster. +# label.action.unmanage.cluster.processing=Unmanaging Cluster.... + +# label.allocation.state=Allocation State +# managed.state=Managed State + +# label.default.use=Default Use +# label.host.tags=Host Tags + +# label.cidr=CIDR +# label.cidr.list=Source CIDR + +# label.storage.tags=Storage Tags + +# label.redundant.router=Redundant Router +# label.is.redundant.router=Redundant + +# force.delete=Force Delete +# force.delete.domain.warning=Warning\\\: Choosing this option will cause the deletion of all child domains and all associated accounts and their resources. + +# force.remove=Force Remove +# force.remove.host.warning=Warning\\\: Choosing this option will cause CloudStack to forcefully stop all running virtual machines before removing this host from the cluster. + +# force.stop=Force Stop +# force.stop.instance.warning=Warning\\\: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine state. + +# label.PreSetup=PreSetup +# label.SR.name = SR Name-Label +# label.SharedMountPoint=SharedMountPoint +# label.clvm=CLVM +# label.volgroup=Volume Group +# label.VMFS.datastore=VMFS datastore + +# label.network.device=Network Device +# label.add.network.device=Add Network Device +# label.network.device.type=Network Device Type +# label.DHCP.server.type=DHCP Server Type +# label.Pxe.server.type=Pxe Server Type +# label.PING.storage.IP=PING storage IP +# label.PING.dir=PING Directory +# label.TFTP.dir=TFTP Directory +# label.PING.CIFS.username=PING CIFS username +# label.PING.CIFS.password=PING CIFS password +# label.CPU.cap=CPU Cap + + +# label.action.enable.zone=Enable Zone +# label.action.enable.zone.processing=Enabling Zone.... +# message.action.enable.zone=Please confirm that you want to enable this zone. +# label.action.disable.zone=Disable Zone +# label.action.disable.zone.processing=Disabling Zone.... +# message.action.disable.zone=Please confirm that you want to disable this zone. + +# label.action.enable.pod=Enable Pod +# label.action.enable.pod.processing=Enabling Pod.... +# message.action.enable.pod=Please confirm that you want to enable this pod. +# label.action.disable.pod=Disable Pod +# label.action.disable.pod.processing=Disabling Pod.... +# message.action.disable.pod=Please confirm that you want to disable this pod. + +# label.action.enable.cluster=Enable Cluster +# label.action.enable.cluster.processing=Enabling Cluster.... +# message.action.enable.cluster=Please confirm that you want to enable this cluster. +# label.action.disable.cluster=Disable Cluster +# label.action.disable.cluster.processing=Disabling Cluster.... +# message.action.disable.cluster=Please confirm that you want to disable this cluster. + +# label.account.id=Account ID +# label.account.name=Account Name +# label.account.specific=Account-Specific +# label.account=Account +# label.accounts=Accounts +# label.acquire.new.ip=Acquire New IP +# label.show.ingress.rule=Show Ingress Rule +# label.hide.ingress.rule=Hide Ingress Rule +# label.action.attach.disk.processing=Attaching Disk.... +# label.action.attach.disk=Attach Disk +# label.action.attach.iso.processing=Attaching ISO.... +# label.action.attach.iso=Attach ISO +# label.action.cancel.maintenance.mode.processing=Cancelling Maintenance Mode.... +# label.action.cancel.maintenance.mode=Cancel Maintenance Mode +# label.action.change.password=Change Password +# label.action.change.service.processing=Changing Service.... +# label.action.change.service=Change Service +# label.action.copy.ISO.processing=Coping ISO.... +# label.action.copy.ISO=Copy ISO +# label.action.copy.template.processing=Coping Template.... +# label.action.copy.template=Copy Template +# label.action.create.template.processing=Creating Template.... +# label.action.create.template=Create Template +# label.action.create.vm.processing=Creating VM.... +# label.action.create.vm=Create VM +# label.action.create.volume.processing=Creating Volume.... +# label.action.create.volume=Create Volume +# label.action.delete.IP.range.processing=Deleting IP Range.... +# label.action.delete.IP.range=Delete IP Range +# label.action.delete.ISO.processing=Deleting ISO.... +# label.action.delete.ISO=Delete ISO +# label.action.delete.account.processing=Deleting account.... +# label.action.delete.account=Delete account +# label.action.delete.cluster.processing=Deleting Cluster.... +# label.action.delete.cluster=Delete Cluster +# label.action.delete.disk.offering.processing=Deleting Disk Offering.... +# label.action.delete.disk.offering=Delete Disk Offering + +# label.action.update.resource.count=Update Resource Count +# label.action.update.resource.count.processing=Updating Resource Count.... + +# label.action.delete.domain=Delete Domain +# label.action.delete.domain.processing=Deleting Domain.... + +# label.action.delete.firewall.processing=Deleting Firewall.... +# label.action.delete.firewall=Delete firewall rule +# label.action.delete.ingress.rule.processing=Deleting Ingress Rule.... +# label.action.delete.ingress.rule=Delete Ingress Rule +# label.action.delete.load.balancer.processing=Deleting Load Balancer.... +# label.action.delete.load.balancer=Delete load balancer rule +# label.action.edit.network.processing=Editing Network.... +# label.action.edit.network=Edit Network +# label.action.delete.network.processing=Deleting Network.... +# label.action.delete.network=Delete Network +# label.action.delete.pod.processing=Deleting Pod.... +# label.action.delete.pod=Delete Pod +# label.action.delete.primary.storage.processing=Deleting Primary Storage.... +# label.action.delete.primary.storage=Delete Primary Storage +# label.action.delete.secondary.storage.processing=Deleting Secondary Storage.... +# label.action.delete.secondary.storage=Delete Secondary Storage +# label.action.delete.security.group.processing=Deleting Security Group.... +# label.action.delete.security.group=Delete Security Group +# label.action.delete.service.offering.processing=Deleting Service Offering.... +# label.action.delete.service.offering=Delete Service Offering +# label.action.delete.snapshot.processing=Deleting Snapshot.... +# label.action.delete.snapshot=Delete Snapshot +# label.action.delete.template.processing=Deleting Template.... +# label.action.delete.template=Delete Template +# label.action.delete.user.processing=Deleting User.... +# label.action.delete.user=Delete User +# label.action.delete.volume.processing=Deleting Volume.... +# label.action.delete.volume=Delete Volume +# label.action.delete.zone.processing=Deleting Zone.... +# label.action.delete.zone=Delete Zone +# label.action.destroy.instance.processing=Destroying Instance.... +# label.action.destroy.instance=Destroy Instance +# label.action.destroy.systemvm.processing=Destroying System VM.... +# label.action.destroy.systemvm=Destroy System VM +# label.action.detach.disk.processing=Detaching Disk.... +# label.action.detach.disk=Detach Disk +# label.action.detach.iso.processing=Detaching ISO.... +# label.action.detach.iso=Detach ISO +# label.action.disable.account.processing=Disabling account.... +# label.action.disable.account=Disable account +# label.action.disable.static.NAT.processing=Disabling Static NAT.... +# label.action.disable.static.NAT=Disable Static NAT +# label.action.disable.user.processing=Disabling User.... +# label.action.disable.user=Disable User +# label.action.download.ISO=Download ISO +# label.action.download.template=Download Template +# label.action.download.volume.processing=Downloading Volume.... +# label.action.download.volume=Download Volume +# label.action.edit.ISO=Edit ISO +# label.action.edit.account=Edit account +# label.action.edit.disk.offering=Edit Disk Offering +# label.action.edit.domain=Edit Domain +# label.action.edit.global.setting=Edit Global Setting +# label.action.edit.instance=Edit Instance +# label.action.edit.network.offering=Edit Network Offering +# label.action.edit.pod=Edit Pod +# label.action.edit.primary.storage=Edit Primary Storage +# label.action.edit.resource.limits=Edit Resource Limits +# label.action.edit.service.offering=Edit Service Offering +# label.action.edit.template=Edit Template +# label.action.edit.user=Edit User +# label.action.edit.zone=Edit Zone +# label.action.enable.account.processing=Enabling account.... +# label.action.enable.account=Enable account +# label.action.enable.maintenance.mode.processing=Enabling Maintenance Mode.... +# label.action.enable.maintenance.mode=Enable Maintenance Mode +# label.action.enable.static.NAT.processing=Enabling Static NAT.... +# label.action.enable.static.NAT=Enable Static NAT +# label.action.enable.user.processing=Enabling User.... +# label.action.enable.user=Enable User +# label.action.force.reconnect.processing=Reconnecting.... +# label.action.force.reconnect=Force Reconnect +# label.action.generate.keys.processing=Generate Keys.... +# label.action.generate.keys=Generate Keys +# label.action.lock.account.processing=Locking account.... +# label.action.lock.account=Lock account +# label.action.migrate.instance=Migrate Instance +# label.action.migrate.instance.processing=Migrating Instance.... +# label.action.reboot.instance.processing=Rebooting Instance.... +# label.action.reboot.instance=Reboot Instance +# label.action.reboot.router.processing=Rebooting Router.... +# label.action.reboot.router=Reboot Router +# label.action.reboot.systemvm.processing=Rebooting System VM.... +# label.action.reboot.systemvm=Reboot System VM +# label.action.recurring.snapshot=Recurring Snapshots +# label.action.release.ip.processing=Releasing IP.... +# label.action.release.ip=Release IP +# label.action.remove.host.processing=Removing Host.... +# label.action.remove.host=Remove Host +# label.action.reset.password.processing=Resetting Password.... +# label.action.reset.password=Reset Password +# label.action.resource.limits=Resource limits +# label.action.restore.instance.processing=Restoring Instance.... +# label.action.restore.instance=Restore Instance +# label.action.start.instance.processing=Starting Instance.... +# label.action.start.instance=Start Instance +# label.action.start.router.processing=Starting Router.... +# label.action.start.router=Start Router +# label.action.start.systemvm.processing=Starting System VM.... +# label.action.start.systemvm=Start System VM +# label.action.stop.instance.processing=Stopping Instance.... +# label.action.stop.instance=Stop Instance +# label.action.stop.router.processing=Stopping Router.... +# label.action.stop.router=Stop Router +# label.action.stop.systemvm.processing=Stopping System VM.... +# label.action.stop.systemvm=Stop System VM +# label.action.take.snapshot.processing=Taking Snapshot.... +# label.action.take.snapshot=Take Snapshot +# label.action.update.OS.preference.processing=Updating OS Preference.... +# label.action.update.OS.preference=Update OS Preference +# label.actions=Actions +# label.active.sessions=Active Sessions +# label.add.account=Add Account +# label.add.by.cidr=Add By CIDR +# label.add.by.group=Add By Group +# label.add.cluster=Add Cluster +# label.add.direct.iprange=Add Direct Ip Range +# label.add.disk.offering=Add Disk Offering +# label.add.domain=Add Domain +# label.add.firewall=Add firewall rule +# label.add.host=Add Host +# label.add.ingress.rule=Add Ingress Rule +# label.add.ip.range=Add IP Range +# label.add.load.balancer=Add Load Balancer +# label.add.more=Add More +# label.add.network=Add Network +# label.add.pod=Add Pod +# label.add.primary.storage=Add Primary Storage +# label.add.secondary.storage=Add Secondary Storage +# label.add.security.group=Add Security Group +# label.add.service.offering=Add Service Offering +# label.add.template=Add Template +# label.add.user=Add User +# label.add.vlan=Add VLAN +# label.add.volume=Add Volume +# label.add.zone=Add Zone +# label.add=Add +# label.adding.cluster=Adding Cluster +# label.adding.failed=Adding Failed +# label.adding.pod=Adding Pod +# label.adding.processing=Adding.... +# label.adding.succeeded=Adding Succeeded +# label.adding.user=Adding User +# label.adding.zone=Adding Zone +# label.adding=Adding +# label.additional.networks=Additional Networks +# label.admin.accounts=Admin Accounts +# label.admin=Admin +# label.advanced.mode=Advanced Mode +# label.advanced.search=Advance Search +# label.advanced=Advanced +# label.alert=Alert +# label.algorithm=Algorithm +# label.allocated=Allocated +# label.api.key=API Key +# label.assign.to.load.balancer=Assigning instance to load balancer +# label.assign=Assign +# label.associated.network.id=Associated Network ID +# label.attached.iso=Attached ISO +# label.availability.zone=Availability Zone +# label.availability=Availability +# label.available.public.ips=Available Public IP Addresses +# label.available=Available +# label.back=Back +# label.basic.mode=Basic Mode +# label.bootable=Bootable +# label.broadcast.domain.type=Broadcast Domain Type +# label.by.account=By Account +# label.by.availability=By Availability +# label.by.domain=By Domain +# label.by.end.date=By End Date +# label.by.level=By Level +# label.by.pod=By Pod +# label.by.role=By Role +# label.by.start.date=By Start Date +# label.by.state=By State +# label.by.traffic.type=By Traffic Type +# label.by.type.id=By Type ID +# label.by.type=By Type +# label.by.zone=By Zone +# label.bytes.received=Bytes Received +# label.bytes.sent=Bytes Sent +# label.cancel=Cancel +# label.certificate=Certificate +# label.privatekey=PKCS\\\#8 Private Key +# label.domain.suffix=DNS Domain Suffix (i.e., xyz.com) +# label.character=Character +# label.cidr.account=CIDR or Account/Security Group +# label.close=Close +# label.cloud.console=Cloud Management Console +# label.cloud.managed=Cloud.com Managed +# label.cluster.type=Cluster Type +# label.cluster=Cluster +# label.code=Code +# label.confirmation=Confirmation +# label.cpu.allocated.for.VMs=CPU Allocated for VMs +# label.cpu.allocated=CPU Allocated +# label.cpu.utilized=CPU Utilized +# label.cpu=CPU +# label.created=Created +# label.cross.zones=Cross Zones +# label.custom.disk.size=Custom Disk Size +# label.daily=Daily +# label.data.disk.offering=Data Disk Offering +# label.date=Date +# label.day.of.month=Day of Month +# label.day.of.week=Day of Week +# label.delete=Delete +# label.deleting.failed=Deleting Failed +# label.deleting.processing=Deleting.... +# label.description=Description +# label.detaching.disk=Detaching Disk +# label.details=Details +# label.device.id=Device ID +# label.disabled=Disabled +# label.disabling.vpn.access=Disabling VPN Access +# label.disk.allocated=Disk Allocated +# label.disk.offering=Disk Offering +# label.disk.size.gb=Disk Size (in GB) +# label.disk.size=Disk Size +# label.disk.total=Disk Total +# label.disk.volume=Disk Volume +# label.display.text=Display Text +# label.dns.1=DNS 1 +# label.dns.2=DNS 2 +# label.domain.admin=Domain Admin +# label.domain.id=Domain ID +# label.domain.name=Domain Name +# label.domain=Domain +# label.double.quotes.are.not.allowed=Double quotes are not allowed +# label.download.progress=Download Progress +# label.edit=Edit +# label.email=Email +# label.enabling.vpn.access=Enabling VPN Access +# label.enabling.vpn=Enabling VPN +# label.end.port=End Port +# label.endpoint.or.operation=Endpoint or Operation +# label.error.code=Error Code +# label.error=Error +# label.esx.host=ESX/ESXi Host +# label.example=Example +# label.failed=Failed +# label.featured=Featured +# label.firewall=Firewall +# label.first.name=First Name +# label.format=Format +# label.friday=Friday +# label.full=Full +# label.gateway=Gateway +# label.general.alerts=General Alerts +# label.generating.url=Generating URL +# label.go.step.2=Go to Step 2 +# label.go.step.3=Go to Step 3 +# label.go.step.4=Go to Step 4 +# label.go.step.5=Go to Step 5 +# label.group.optional=Group (Optional) +# label.group=Group +# label.guest.cidr=Guest CIDR +# label.guest.gateway=Guest Gateway +# label.guest.ip.range=Guest IP Range +# label.guest.ip=Guest IP Address +# label.guest.netmask=Guest Netmask +# label.ha.enabled=HA Enabled +# label.help=Help +# label.host.alerts=Host Alerts +# label.host.name=Host Name +# label.host=Host +# label.hosts=Hosts +# label.hourly=Hourly +# label.hypervisor.type=Hypervisor Type +# label.hypervisor=Hypervisor +# label.id=ID +# label.info=Info +# label.ingress.rule=Ingress Rule +# label.initiated.by=Initiated By +# label.instance.limits=Instance Limits +# label.instance.name=Instance Name +# label.instance=Instance +# label.instances=Instances +# label.internal.dns.1=Internal DNS 1 +# label.internal.dns.2=Internal DNS 2 +# label.interval.type=Interval Type +# label.invalid.integer=Invalid Integer +# label.invalid.number=Invalid Number +# label.ip.address=IP Address +# label.ip.allocations=IP Allocations +# label.ip.limits=Public IP Limits +# label.ip.or.fqdn=IP or FQDN +# label.ip.range=IP Range +# label.ip=IP +# label.ips=IPs +# label.is.default=Is Default +# label.is.shared=Is Shared +# label.is.system=Is System +# label.iscsi=iSCSI +# label.iso.boot=ISO Boot +# label.iso=ISO +# label.isolation.mode=Isolation Mode +# label.keep=Keep +# label.lang.chinese=Chinese (Simplified) +# label.lang.english=English +# label.lang.japanese=Japanese +# label.lang.spanish=Spanish +# label.lang.russian=Russian +# label.lang.french=French +# label.lang.brportugese=Brazilian Portugese +# label.last.disconnected=Last Disconnected +# label.last.name=Last Name +# label.level=Level +# label.linklocal.ip=Link Local IP Adddress +# label.load.balancer=Load Balancer +# label.loading=Loading +# label.local=Local +label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a +# label.login=Login +# label.logout=Logout +# label.lun=LUN +# label.manage=Manage +# label.maximum=Maximum +# label.memory.allocated=Memory Allocated +# label.memory.total=Memory Total +# label.memory.used=Memory Used +# label.memory=Memory +# label.menu.accounts=Accounts +label.menu.alerts=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a +label.menu.all.accounts=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a +label.menu.all.instances=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0627\u0644\u0627\u062a +label.menu.community.isos=\u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a \u0627\u0644\u0645\u062c\u062a\u0645\u0639\u064a +label.menu.community.templates=\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0645\u062c\u062a\u0645\u0639 +label.menu.configuration=\u062a\u0631\u062a\u064a\u0628 +label.menu.dashboard=\u0644\u0648\u062d\u0629 \u0627\u0644\u0642\u064a\u0627\u062f\u0629 +label.menu.destroyed.instances=\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u062f\u0645\u064a\u0631 +label.menu.disk.offerings=\u0639\u0631\u0648\u0636 \u0627\u0644\u0642\u0631\u0635 +label.menu.domains=\u0627\u0644\u0645\u062c\u0627\u0644\u0627\u062a +label.menu.events=\u0623\u062d\u062f\u0627\u062b +label.menu.featured.isos=\u0645\u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a +label.menu.featured.templates=\u0642\u0648\u0627\u0644\u0628 \u0645\u0645\u064a\u0632\u0629 +label.menu.global.settings=\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0645\u064a\u0629 +label.menu.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a +# label.menu.ipaddresses=IP Addresses +# label.menu.isos=ISOs +# label.menu.my.accounts=My Accounts +# label.menu.my.instances=My Instances +# label.menu.my.isos=My ISOs +# label.menu.my.templates=My Templates +# label.menu.network.offerings=Network Offerings +# label.menu.network=Network +# label.menu.physical.resources=Physical Resources +# label.menu.running.instances=Running Instances +# label.menu.security.groups=Security Groups +# label.menu.service.offerings=Service Offerings +# label.menu.snapshots=Snapshots +# label.menu.stopped.instances=Stopped Instances +# label.menu.storage=Storage +# label.menu.system.vms=System VMs +# label.menu.system=System +# label.menu.templates=Templates +# label.menu.virtual.appliances=Virtual Appliances +# label.menu.virtual.resources=Virtual Resources +# label.menu.volumes=Volumes +# label.migrate.instance.to=Migrate instance to +# label.minimum=Minimum +# label.minute.past.hour=minute(s) Past the Hour +# label.monday=Monday +# label.monthly=Monthly +# label.more.templates=More Templates +# label.my.account=My Account +# label.name.optional=Name (Optional) +# label.name=Name +# label.netmask=Netmask +# label.network.desc=Network Desc +# label.network.domain=Network Domain +# label.network.id=Network ID +# label.network.name=Network Name +# label.network.offering.display.text=Network Offering Display Text +# label.network.offering.id=Network Offering ID +# label.network.offering.name=Network Offering Name +# label.network.offering=Network Offering +# label.network.rate=Network Rate +# label.network.rate.megabytes=Network Rate (Mb/s) +# label.network.read=Network Read +# label.network.type=Network Type +# label.network.write=Network Write +# label.network=Network +# label.new.password=New Password +# label.next=Next +# label.nfs.server=NFS Server +# label.nfs.storage=NFS Storage +# label.nfs=NFS +# label.nics=NICs +# label.no.actions=No Available Actions +# label.no.alerts=No Recent Alerts +# label.no.errors=No Recent Errors +# label.no.isos=No available ISOs +# label.no.items=No Available Items +# label.no.security.groups=No Available Security Groups +label.no.thanks=\u0644\u0627\u061b \u0634\u0643\u0631\u0627\u064b +# label.no=No +# label.none=None +# label.not.found=Not Found +# label.num.cpu.cores=\\\# of CPU Cores +# label.numretries=Number of Retries +# label.offer.ha=Offer HA +# label.optional=Optional +# label.os.preference=OS Preference +# label.os.type=OS Type +# label.owned.public.ips=Owned Public IP Addresses +# label.owner.account=Owner Account +# label.owner.domain=Owner Domain +# label.parent.domain=Parent Domain +# label.password.enabled=Password Enabled +# label.password=Password +# label.path=Path +# label.please.wait=Please Wait +# label.pod=Pod +# label.port.forwarding=Port Forwarding +# label.port.range=Port Range +# label.prev=Prev +# label.primary.allocated=Primary Storage Allocated +# label.primary.network=Primary Network +# label.primary.storage=Primary Storage +# label.primary.used=Primary Storage Used +# label.private.interface=Private Interface +# label.private.ip.range=Private IP Range +# label.private.ip=Private IP Address +# label.private.ips=Private IP Addresses +# label.private.port=Private Port +# label.private.zone=Private Zone +# label.protocol=Protocol +# label.public.interface=Public Interface +# label.public.ip=Public IP Address +# label.public.ips=Public IP Addresses +# label.public.port=Public Port +# label.public.zone=Public Zone +# label.public=Public +# label.recent.errors=Recent Errors +# label.refresh=Refresh +# label.related=Related +# label.remove.from.load.balancer=Removing instance from load balancer +# label.removing.user=Removing User +# label.required=Required +# label.reserved.system.ip=Reserved System IP +# label.resource.limits=Resource Limits +# label.resource=Resource +# label.resources=Resources +# label.role=Role +# label.root.disk.offering=Root Disk Offering +# label.running.vms=Running VMs +# label.saturday=Saturday +# label.save=Save +# label.saving.processing=Saving.... +label.scope=\u0627\u0644\u0645\u062c\u0627\u0644 +label.search=\u0628\u062d\u062b +# label.secondary.storage=Secondary Storage +# label.secondary.used=Secondary Storage Used +# label.secret.key=Secret Key +# label.security.group.name=Security Group Name +# label.security.group=Security Group +# label.security.groups.enabled=Security Groups Enabled +# label.security.groups=Security Groups +# label.sent=Sent +# label.server=Server +# label.service.offering=Service Offering +# label.system.service.offering=System Service Offering +# label.session.expired=Session Expired +# label.shared=Shared +# label.size=Size +# label.snapshot.limits=Snapshot Limits +# label.snapshot.name=Snapshot Name +# label.snapshot.s=Snapshot (s) +# label.snapshot.schedule=Setup Recurring Snapshot +# label.snapshot=Snapshot +# label.snapshots=Snapshots +# label.source.nat=Source NAT +# label.specify.vlan=Specify VLAN +# label.start.port=Start Port +# label.state=State +# label.static.nat.to=Static NAT to +# label.static.nat=Static NAT +# label.statistics=Statistics +# label.status=Status +# label.step.1.title=Step 1\\\: Select a Template +# label.step.1=Step 1 +# label.step.2.title=Step 2\\\: Service Offering +# label.step.2=Step 2 +# label.step.3.title=Step 3\\\: Select a Disk Offering +# label.step.3=Step 3 +# label.step.4.title=Step 4\\\: Network +# label.step.4=Step 4 +# label.step.5.title=Step 5\\\: Review +# label.step.5=Step 5 +# label.stopped.vms=Stopped VMs +# label.storage.type=Storage Type +# label.storage=Storage +# label.submit=Submit +# label.submitted.by=[Submitted by\\\: ] +# label.succeeded=Succeeded +# label.sunday=Sunday +# label.system.capacity=System Capacity +# label.system.vm.type=System VM Type +# label.system.vm=System VM +# label.system.vms=System VMs +# label.tagged=Tagged +# label.tags=Tags +# label.target.iqn=Target IQN +# label.template.limits=Template Limits +# label.template=Template +# label.theme.default=Default Theme +# label.theme.grey=Custom - Grey +# label.theme.lightblue=Custom - Light Blue +# label.thursday=Thursday +# label.time.zone=Timezone +# label.time=Time +# label.timeout.in.second = Timeout(seconds) +# label.timezone=Timezone +# label.total.cpu=Total CPU +# label.total.vms=Total VMs +# label.traffic.type=Traffic Type +# label.tuesday=Tuesday +# label.type.id=Type ID +# label.type=Type +# label.unavailable=Unavailable +# label.unlimited=Unlimited +# label.untagged=Untagged +# label.update.ssl.cert= SSL Certificate +# label.update.ssl= SSL Certificate +# label.updating=Updating +# label.url=URL +# label.usage.interface=Usage Interface +# label.used=Used +# label.user=User +# label.username=Username +# label.users=Users +# label.value=Value +# label.vcenter.cluster=vCenter Cluster +# label.vcenter.datacenter=vCenter Datacenter +# label.vcenter.datastore=vCenter Datastore +# label.vcenter.host=vCenter Host +# label.vcenter.password=vCenter Password +# label.vcenter.username=vCenter Username +# label.version=Version +# label.virtual.appliance=Virtual Appliance +# label.virtual.appliances=Virtual Appliances +# label.virtual.network=Virtual Network +# label.vlan.id=VLAN ID +# label.vlan.range=VLAN Range +# label.vm.add=Add Instance +# label.vm.destroy=Destroy +# label.vm.reboot=Reboot +# label.vm.start=Start +# label.vm.stop=Stop +# label.vmfs=VMFS +# label.vms=VMs +label.volume.limits=\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u0646\u0637\u0642\u0629 +# label.volume.name=Volume Name +# label.volume=Volume +# label.volumes=Volumes +# label.vsphere.managed=vSphere Managed +label.waiting=\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631 +label.warn=\u062a\u062d\u0630\u064a\u0631 +label.wednesday=\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 +label.weekly=\u0625\u0633\u0628\u0648\u0639\u064a +label.welcome.cloud.console=\u0645\u0631\u062d\u0628\u0627 \u0628\u0643\u0645 \u0641\u064a \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0625\u0631\u0627\u062f\u064a\u0629 +label.welcome=\u0645\u0631\u062d\u0628\u0627 +label.yes=\u0646\u0639\u0645 +# label.zone.id=Zone ID +label.zone.step.1.title=\u0627\u0644\u062e\u0637\u0648\u0629 1 \\\: \u0639\u0644\u0649 .<\u0642\u0648\u064a> \u0627\u062e\u062a\u0631 \u0634\u0628\u0643\u0629 +label.zone.step.2.title=\u0627\u0644\u062e\u0637\u0648\u0629 2 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u0646\u0637\u0642\u0629 +label.zone.step.3.title=\u0627\u0644\u062e\u0637\u0648\u0629 3 \\\: \u0639\u0644\u0649 <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u062f +label.zone.step.4.title=\u0627\u0644\u062e\u0637\u0648\u0629 4 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 IP <\\\u0642\u0648\u064a> +label.zone.wide=\u0645\u0646\u0637\u0642\u0629 \u0648\u0627\u0633\u0639\u0629 +# label.zone=Zone + +#Messages +# message.acquire.public.ip=Please select a zone from which you want to acquire your new IP from. +# message.action.cancel.maintenance.mode=Please confirm that you want to cancel this maintenance. +# message.action.cancel.maintenance=Your host has been successfully canceled for maintenance. This process can take up to several minutes. +# message.action.delete.ISO.for.all.zones=The ISO is used by all zones. Please confirm that you want to delete it from all zones. +# message.action.delete.ISO=Please confirm that you want to delete this ISO. +# message.action.delete.cluster=Please confirm that you want to delete this cluster. +# message.action.delete.disk.offering=Please confirm that you want to delete this disk offering. +# message.action.delete.domain=Please confirm that you want to delete this domain. +# message.action.delete.external.firewall=Please confirm that you would like to remove this external firewall. Warning\\\: If you are planning to add back the same external firewall, you must reset usage data on the device. +# message.action.delete.external.load.balancer=Please confirm that you would like to remove this external load balancer. Warning\\\: If you are planning to add back the same external load balancer, you must reset usage data on the device. +# message.action.delete.ingress.rule=Please confirm that you want to delete this ingress rule. +# message.action.delete.network=Please confirm that you want to delete this network. +# message.action.delete.pod=Please confirm that you want to delete this pod. +# message.action.delete.primary.storage=Please confirm that you want to delete this primary storage. +# message.action.delete.secondary.storage=Please confirm that you want to delete this secondary storage. +# message.action.delete.security.group=Please confirm that you want to delete this security group. +# message.action.delete.service.offering=Please confirm that you want to delete this service offering. +# message.action.delete.snapshot=Please confirm that you want to delete this snapshot. +# message.action.delete.template.for.all.zones=The template is used by all zones. Please confirm that you want to delete it from all zones. +# message.action.delete.template=Please confirm that you want to delete this template. +# message.action.delete.volume=Please confirm that you want to delete this volume. +# message.action.delete.zone=Please confirm that you want to delete this zone. +# message.action.destroy.instance=Please confirm that you want to destroy this instance. +# message.action.destroy.systemvm=Please confirm that you want to destroy this System VM. +# message.action.disable.static.NAT=Please confirm that you want to disable static NAT. +# message.action.enable.maintenance=Your host has been successfully prepared for maintenance. This process can take up to several minutes or longer depending on how many VMs are currently on this host. +# message.action.force.reconnect=Your host has been successfully forced to reconnect. This process can take up to several minutes. +# message.action.host.enable.maintenance.mode=Enabling maintenance mode will cause a live migration of all running instances on this host to any available host. +# message.action.instance.reset.password=Please confirm that you want to change the ROOT password for this virtual machine. +# message.action.primarystorage.enable.maintenance.mode=Warning\\\: placing the primary storage into maintenance mode will cause all VMs using volumes from it to be stopped. Do you want to continue? +# message.action.reboot.instance=Please confirm that you want to reboot this instance. +# message.action.reboot.systemvm=Please confirm that you want to reboot this system VM. +# message.action.release.ip=Please confirm that you want to release this IP. +# message.action.remove.host=Please confirm that you want to remove this host. +# message.action.restore.instance=Please confirm that you want to restore this instance. +# message.action.start.instance=Please confirm that you want to start this instance. +# message.action.start.router=Please confirm that you want to start this router. +# message.action.start.systemvm=Please confirm that you want to start this system VM. +# message.action.stop.instance=Please confirm that you want to stop this instance. +# message.action.stop.systemvm=Please confirm that you want to stop this system VM. +# message.action.take.snapshot=Please confirm that you want to take a snapshot of this volume. +# message.add.cluster.zone=Add a hypervisor managed cluster for zone +# message.add.cluster=Add a hypervisor managed cluster for zone , pod +# message.add.disk.offering=Please specify the following parameters to add a new disk offering +# message.add.firewall=Add a firewall to zone +# message.add.host=Please specify the following parameters to add a new host +# message.add.ip.range.direct.network=Add an IP range to direct network in zone +# message.add.ip.range.to.pod=

Add an IP range to pod\\\:

+# message.add.ip.range=Add an IP range to public network in zone +# message.add.load.balancer=Add a load balancer to zone +# message.add.network=Add a new network for zone\\\: +# message.add.pod=Add a new pod for zone +# message.add.primary.storage=Add a new Primary Storage for zone , pod +# message.add.primary=Please specify the following parameters to add a new primary storage +# message.add.secondary.storage=Add a new storage for zone +# message.add.service.offering=Please fill in the following data to add a new compute offering. +# message.add.template=Please enter the following data to create your new template +# message.add.volume=Please fill in the following data to add a new volume. +# message.additional.networks.desc=Please select additional network(s) that your virtual instance will be connected to. +# message.advanced.mode.desc=Choose this network model if you wish to enable VLAN support. This network model provides the most flexibility in allowing administrators to provide custom network offerings such as providing firewall, vpn, or load balancer support as well as enabling direct vs virtual networking. +# message.advanced.security.group=Choose this if you wish to use security groups to provide guest VM isolation. +# message.advanced.virtual=Choose this if you wish to use zone-wide VLANs to provide guest VM isolation. +# message.allow.vpn.access=Please enter a username and password of the user that you want to allow VPN access. +# message.attach.iso.confirm=Please confirm that you want to attach the ISO to this virtual instance. +# message.attach.volume=Please fill in the following data to attach a new volume. If you are attaching a disk volume to a Windows based virtual machine, you will need to reboot the instance to see the attached disk. +# message.basic.mode.desc=Choose this network model if you do *not* want to enable any VLAN support. All virtual instances created under this network model will be assigned an IP directly from the network and security groups are used to provide security and segregation. +# message.change.offering.confirm=Please confirm that you wish to change the service offering of this virtual instance. +# message.copy.iso.confirm=Please confirm that you wish to copy your ISO to +# message.copy.template=Copy template XXX from zone to +# message.create.template.vm=Create VM from template +# message.create.template.volume=Please specify the following information before creating a template of your disk volume\\\: . Creation of the template can range from several minutes to longer depending on the size of the volume. +# message.delete.account=Please confirm that you want to delete this account. +# message.detach.iso.confirm=Please confirm that you want to detach the ISO from this virtual instance. +# message.disable.account=Please confirm that you want to disable this account. By disabling the account, all users for this account will no longer have access to their cloud resources. All running virtual machines will be immediately shut down. +# message.disable.vpn.access=Please confirm that you want to disable VPN Access. +# message.download.ISO=Please click 00000 to download ISO +# message.download.template=Please click 00000 to download template +# message.download.volume=Please click 00000 to download volume +# message.edit.confirm=Please confirm that your changes before clicking "Save". +# message.edit.limits=Please specify limits to the following resources. A "-1" indicates no limit to the amount of resources create. +message.enable.account=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628. +# message.enable.vpn.access=VPN is currently disabled for this IP Address. Would you like to enable VPN access? +# message.enabled.vpn.ip.sec=Your IPSec pre-shared key is +# message.enabled.vpn=Your VPN access is currently enabled and can be accessed via the IP +# message.launch.vm.on.private.network=Do you wish to launch your instance on your own private dedicated network? +# message.lock.account=Please confirm that you want to lock this account. By locking the account, all users for this account will no longer be able to manage their cloud resources. Existing resources can still be accessed. +# message.migrate.instance.confirm=Please confirm the host you wish to migrate the virtual instance to. +# message.new.user=Specify the following to add a new user to the account +# message.no.network.support.configuration.not.true=You do not have any zone that has security group enabled. Thus, no additional network features. Please continue to step 5. +# message.no.network.support=Your selected hypervisor, vSphere, does not have any additional network features. Please continue to step 5. +# message.number.clusters=

\\\# of Clusters

+# message.number.hosts=

\\\# of Hosts

+# message.number.pods=

\\\# of Pods

+# message.number.storage=

\\\# of Primary Storage Volumes

+# message.number.zones=

\\\# of Zones

+# message.remove.vpn.access=Please confirm that you want to remove VPN access from the following user. +# message.restart.mgmt.server=Please restart your management server(s) for your new settings to take effect. +# message.restart.mgmt.usage.server=Please restart your management server(s) and usage server(s) for your new settings to take effect. +# message.security.group.usage=(Use Ctrl-click to select all applicable security groups) +# message.snapshot.schedule=You can setup recurring snapshot schedules by selecting from the available options below and applying your policy preference +# message.step.1.continue=Please select a template or ISO to continue +# message.step.1.desc=Please select a template for your new virtual instance. You can also choose to select a blank template from which an ISO image can be installed onto. +# message.step.2.continue=Please select a service offering to continue +message.step.2.desc= +# message.step.3.continue=Please select a disk offering to continue +message.step.3.desc= +# message.step.4.continue=Please select at least one network to continue +# message.step.4.desc=Please select the primary network that your virtual instance will be connected to. +# message.update.os.preference=Please choose a OS preference for this host. All virtual instances with similar preferences will be first allocated to this host before choosing another. +# message.update.ssl=Please submit a new X.509 compliant SSL certificate to be updated to each console proxy virtual instance\\\: +# message.virtual.network.desc=A dedicated virtualized network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router. +# message.volume.create.template.confirm=Please confirm that you wish to create a template for this disk volume. Creation of the template can range from several minutes to longer depending on the size of the volume. +# message.zone.step.1.desc=Please select a network model for your zone. +# message.zone.step.2.desc=Please enter the following info to add a new zone +# message.zone.step.3.desc=Please enter the following info to add a new pod +# message.apply.snapshot.policy=You have successfully updated your current snapshot policy. +# message.disable.snapshot.policy=You have successfully disabled your current snapshot policy. +# message.action.change.service.warning.for.instance=Your instance must be stopped before attempting to change its current service offering. +# message.action.change.service.warning.for.router=Your router must be stopped before attempting to change its current service offering. +# message.action.reset.password.warning=Your instance must be stopped before attempting to change its current password. +# message.action.reset.password.off=Your instance currently does not support this feature. + +#Errors +# error.login=Your username/password does not match our records. +# error.menu.select=Unable to perform action due to no items being selected. +# error.mgmt.server.inaccessible=The Management Server is unaccessible. Please try again later. +# error.session.expired=Your session has expired. +# error.unresolved.internet.name=Your internet name cannot be resolved. + +# label.add.NiciraNvp.device=Add Nvp Controller +# label.delete.NiciraNvp=Remove Nvp Controller +# label.nicira.controller.address=Controller Address +# label.nicira.transportzoneuuid=Transport Zone Uuid +# label.nicira.l3gatewayserviceuuid=L3 Gateway Service Uuid + diff --git a/ui/index.jsp b/ui/index.jsp index 12cb9557912..69341fd91f9 100644 --- a/ui/index.jsp +++ b/ui/index.jsp @@ -81,6 +81,7 @@ under the License. +
From 4ebe0469ea17c331e8f02e06dd70b584130bd06a Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 12:06:25 +0100 Subject: [PATCH 100/283] remove a \n char --- client/WEB-INF/classes/resources/messages_ar.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties index b4b1974ddd1..aa8e4410dda 100644 --- a/client/WEB-INF/classes/resources/messages_ar.properties +++ b/client/WEB-INF/classes/resources/messages_ar.properties @@ -48,7 +48,7 @@ label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\ #modified labels (begin) ***************************************************************************************** label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN -message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\:

\n1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 +message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\:

1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 #modified labels (end) ******************************************************************************************* label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs From 8e5186daf1ffdf6a8c011dd803bd7b7094af1654 Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 12:40:13 +0100 Subject: [PATCH 101/283] CLOUDSTACK-2138 - Add Arabic L10N, fix a issue with sed on OSX, detab some lines --- tools/transifex/sync-transifex-ui.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/transifex/sync-transifex-ui.sh b/tools/transifex/sync-transifex-ui.sh index 5fb4e57b16b..daba88d00ea 100755 --- a/tools/transifex/sync-transifex-ui.sh +++ b/tools/transifex/sync-transifex-ui.sh @@ -17,7 +17,7 @@ # under the License. SRCLANG=en -LIST_LANG="ca de_DE es fr_FR it_IT ja ko_KR nb_NO pt_BR ru_RU zh_CN" +LIST_LANG="ar ca de_DE es fr_FR it_IT ja ko_KR nb_NO pt_BR ru_RU zh_CN" DIRECTORY_RESOURCES="../../client/WEB-INF/classes/resources" WORKDIR="./work-dir" @@ -49,8 +49,8 @@ doUploadL10NLangs() for CODELANG in ${LIST_LANG} ; do if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties - sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties - tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties + sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties + tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties tx push -t -r ${ARGUMENTS} -l ${CODELANG} else echo "Warning: the resource file for language ${CODELANG} doesn't exist." @@ -64,8 +64,8 @@ doDownloadL10NLangs() for CODELANG in ${LIST_LANG} ; do if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties - sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties - tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties + sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties + tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties else echo "Warning: the resource file for language ${CODELANG} doesn't exist." fi @@ -92,11 +92,11 @@ doUploadSourceLang() # Source language if [ -f ${DIRECTORY_RESOURCES}/messages.properties ]; then native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages.properties ${WORKDIR}/messages.properties - sed -i "s/\\\\\\\'/'/g" ${WORKDIR}/messages.properties + sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages.properties tx set --source -r ${ARGUMENTS} -l ${SRCLANG} ${WORKDIR}/messages.properties tx push -s -r ${ARGUMENTS} else - echo "Warning: the source language doesn't exist!" + echo "Warning: the source language doesn't exist!" fi } @@ -110,8 +110,8 @@ doDownloadSourceLang() grep -v "^#" ${WORKDIR}/messages.properties.tmp1 | sort -f | uniq | sed "s/'/\\\\\\\\\'/g" > ${WORKDIR}/messages.properties.tmp2 echo "$AL2_STRING" | cat - ${WORKDIR}/messages.properties.tmp2 > ${DIRECTORY_RESOURCES}/messages.properties else - echo "Warning: the source language hasn't been retrieve!" - fi + echo "Warning: the source language hasn't been retrieve!" + fi } if [ $# -ne 2 ]; then @@ -119,7 +119,7 @@ if [ $# -ne 2 ]; then else COMMAND="$1" ARGUMENTS="$2" - doMakeWdir + doMakeWdir fi case "$COMMAND" in From 53d69d34ca20d7d824f8a4cc9ac66228926f80ce Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 13:53:25 +0100 Subject: [PATCH 102/283] Add more detail in a warning message. useful when we add a new L10N language at first time --- tools/transifex/sync-transifex-ui.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/transifex/sync-transifex-ui.sh b/tools/transifex/sync-transifex-ui.sh index daba88d00ea..ed108098028 100755 --- a/tools/transifex/sync-transifex-ui.sh +++ b/tools/transifex/sync-transifex-ui.sh @@ -67,7 +67,9 @@ doDownloadL10NLangs() sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties else - echo "Warning: the resource file for language ${CODELANG} doesn't exist." + echo "\nWarning: the resource file for language ${CODELANG} doesn't exist." + echo "Run this command to force get this language from transifex:" + echo "\ntx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties\n" fi done From 02e5262a61d96393fcd3e6d9a3ec86db67428712 Mon Sep 17 00:00:00 2001 From: Radhika PC Date: Mon, 29 Apr 2013 18:41:38 +0530 Subject: [PATCH 103/283] CLOUDSTACK-847 --- docs/en-US/guest-ip-ranges.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/en-US/guest-ip-ranges.xml b/docs/en-US/guest-ip-ranges.xml index 1f8c8a1a4b1..b3ebd761394 100644 --- a/docs/en-US/guest-ip-ranges.xml +++ b/docs/en-US/guest-ip-ranges.xml @@ -21,8 +21,12 @@ specific language governing permissions and limitations under the License. --> -
- Guest IP Ranges - The IP ranges for guest network traffic are set on a per-account basis by the user. This allows the users to configure their network in a fashion that will enable VPN linking between their guest network and their clients. + Guest IP Ranges + The IP ranges for guest network traffic are set on a per-account basis by the user. This + allows the users to configure their network in a fashion that will enable VPN linking between + their guest network and their clients. + In shared networks in Basic zone and Security Group-enabled Advanced networks, you will have + the flexibility to add multiple guest IP ranges from different subnets. You can add or remove + one IP range at a time.
From 35b416616e451b984d85f198d721b8f0fdb3a47b Mon Sep 17 00:00:00 2001 From: Radhika PC Date: Mon, 29 Apr 2013 18:56:52 +0530 Subject: [PATCH 104/283] CLOUDSTACK-847 api changes --- docs/en-US/changed-API-commands-4.2.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/en-US/changed-API-commands-4.2.xml b/docs/en-US/changed-API-commands-4.2.xml index 26f10ff6037..2dd5a3b05ea 100644 --- a/docs/en-US/changed-API-commands-4.2.xml +++ b/docs/en-US/changed-API-commands-4.2.xml @@ -29,6 +29,15 @@ + + createVlanIpRange + + No new parameter has been added. However, the current functionality has been + extended to add guest IPs from a different subnet in shared networks in a Basic zone. + Ensure that you provide netmask and gateway if you are adding guest IPs from a + different subnet. + + updateResourceLimit @@ -113,8 +122,10 @@ removelan (removes the specified VLAN range) - The removevlan and vlan parameters can be used together. If the VLAN range that you are trying - to remove is in use, the operation will not succeed. + + The removevlan and vlan parameters can be used together. If the VLAN range that + you are trying to remove is in use, the operation will not succeed. + From 9416cb14a9f9008d2c9e6355000e5abbbaeef3cf Mon Sep 17 00:00:00 2001 From: Sebastien Goasguen Date: Mon, 29 Apr 2013 09:51:24 -0400 Subject: [PATCH 105/283] Adding arabic key to resource file --- .../classes/resources/messages.properties | 577 +++++++++--------- 1 file changed, 286 insertions(+), 291 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index bab65dea64e..8f9c662d63d 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -14,16 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -label.add.affinity.group=Add new affinity group -message.delete.affinity.group=Please confirm that you would like to remove this affinity group. -label.delete.affinity.group=Delete Affinity Group -label.edit.affinity.group=Edit Affinity Group -label.affinity=Affinity -label.anti.affinity=Anti-affinity -label.affinity.groups=Affinity Groups -label.anti.affinity.groups=Anti-affinity Groups -label.affinity.group=Affinity Group -label.anti.affinity.group=Anti-affinity Group + changed.item.properties=Changed item properties confirm.enable.s3=Please fill in the following information to enable support for S3-backed Secondary Storage confirm.enable.swift=Please fill in the following information to enable support for Swift @@ -31,7 +22,7 @@ error.could.not.enable.zone=Could not enable zone error.installWizard.message=Something went wrong; you may go back and correct any errors error.invalid.username.password=Invalid username or password error.login=Your username/password does not match our records. -error.menu.select=Unable to perform action due to no items being selected. +error.menu.select=Unable to perform action due to no items being selected. error.mgmt.server.inaccessible=The Management Server is unaccessible. Please try again later. error.password.not.match=The password fields do not match error.please.specify.physical.network.tags=Network offerings is not available until you specify tags for this physical network. @@ -40,115 +31,115 @@ error.something.went.wrong.please.correct.the.following=Something went wrong; pl error.unable.to.reach.management.server=Unable to reach Management Server error.unresolved.internet.name=Your internet name cannot be resolved. extractable=Extractable -force.delete.domain.warning=Warning: Choosing this option will cause the deletion of all child domains and all associated accounts and their resources. +force.delete.domain.warning=Warning\: Choosing this option will cause the deletion of all child domains and all associated accounts and their resources. force.delete=Force Delete +force.remove.host.warning=Warning\: Choosing this option will cause CloudStack to forcefully stop all running virtual machines before removing this host from the cluster. force.remove=Force Remove -force.remove.host.warning=Warning: Choosing this option will cause CloudStack to forcefully stop all running virtual machines before removing this host from the cluster. +force.stop.instance.warning=Warning\: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine state. force.stop=Force Stop -force.stop.instance.warning=Warning: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine state. ICMP.code=ICMP Code ICMP.type=ICMP Type image.directory=Image Directory inline=Inline instances.actions.reboot.label=Reboot instance label.accept.project.invitation=Accept project invitation -label.account=Account label.account.and.security.group=Account, Security group label.account.id=Account ID label.account.name=Account Name -label.accounts=Accounts label.account.specific=Account-Specific +label.account=Account +label.accounts=Accounts label.acquire.new.ip=Acquire New IP -label.action.attach.disk=Attach Disk label.action.attach.disk.processing=Attaching Disk.... -label.action.attach.iso=Attach ISO +label.action.attach.disk=Attach Disk label.action.attach.iso.processing=Attaching ISO.... -label.action.cancel.maintenance.mode=Cancel Maintenance Mode +label.action.attach.iso=Attach ISO label.action.cancel.maintenance.mode.processing=Cancelling Maintenance Mode.... +label.action.cancel.maintenance.mode=Cancel Maintenance Mode label.action.change.password=Change Password -label.action.change.service=Change Service label.action.change.service.processing=Changing Service.... -label.action.copy.ISO=Copy ISO +label.action.change.service=Change Service label.action.copy.ISO.processing=Coping ISO.... -label.action.copy.template=Copy Template +label.action.copy.ISO=Copy ISO label.action.copy.template.processing=Coping Template.... -label.action.create.template=Create Template +label.action.copy.template=Copy Template label.action.create.template.from.vm=Create Template from VM label.action.create.template.from.volume=Create Template from Volume label.action.create.template.processing=Creating Template.... -label.action.create.vm=Create VM +label.action.create.template=Create Template label.action.create.vm.processing=Creating VM.... -label.action.create.volume=Create Volume +label.action.create.vm=Create VM label.action.create.volume.processing=Creating Volume.... -label.action.delete.account=Delete account +label.action.create.volume=Create Volume label.action.delete.account.processing=Deleting account.... -label.action.delete.cluster=Delete Cluster +label.action.delete.account=Delete account label.action.delete.cluster.processing=Deleting Cluster.... -label.action.delete.disk.offering=Delete Disk Offering +label.action.delete.cluster=Delete Cluster label.action.delete.disk.offering.processing=Deleting Disk Offering.... -label.action.delete.domain=Delete Domain +label.action.delete.disk.offering=Delete Disk Offering label.action.delete.domain.processing=Deleting Domain.... -label.action.delete.firewall=Delete firewall rule +label.action.delete.domain=Delete Domain label.action.delete.firewall.processing=Deleting Firewall.... -label.action.delete.ingress.rule=Delete Ingress Rule +label.action.delete.firewall=Delete firewall rule label.action.delete.ingress.rule.processing=Deleting Ingress Rule.... -label.action.delete.IP.range=Delete IP Range +label.action.delete.ingress.rule=Delete Ingress Rule label.action.delete.IP.range.processing=Deleting IP Range.... -label.action.delete.ISO=Delete ISO +label.action.delete.IP.range=Delete IP Range label.action.delete.ISO.processing=Deleting ISO.... -label.action.delete.load.balancer=Delete load balancer rule +label.action.delete.ISO=Delete ISO label.action.delete.load.balancer.processing=Deleting Load Balancer.... -label.action.delete.network=Delete Network +label.action.delete.load.balancer=Delete load balancer rule label.action.delete.network.processing=Deleting Network.... +label.action.delete.network=Delete Network label.action.delete.nexusVswitch=Delete Nexus 1000v label.action.delete.physical.network=Delete physical network -label.action.delete.pod=Delete Pod label.action.delete.pod.processing=Deleting Pod.... -label.action.delete.primary.storage=Delete Primary Storage +label.action.delete.pod=Delete Pod label.action.delete.primary.storage.processing=Deleting Primary Storage.... -label.action.delete.secondary.storage=Delete Secondary Storage +label.action.delete.primary.storage=Delete Primary Storage label.action.delete.secondary.storage.processing=Deleting Secondary Storage.... -label.action.delete.security.group=Delete Security Group +label.action.delete.secondary.storage=Delete Secondary Storage label.action.delete.security.group.processing=Deleting Security Group.... -label.action.delete.service.offering=Delete Service Offering +label.action.delete.security.group=Delete Security Group label.action.delete.service.offering.processing=Deleting Service Offering.... -label.action.delete.snapshot=Delete Snapshot +label.action.delete.service.offering=Delete Service Offering label.action.delete.snapshot.processing=Deleting Snapshot.... +label.action.delete.snapshot=Delete Snapshot label.action.delete.system.service.offering=Delete System Service Offering -label.action.delete.template=Delete Template label.action.delete.template.processing=Deleting Template.... -label.action.delete.user=Delete User +label.action.delete.template=Delete Template label.action.delete.user.processing=Deleting User.... -label.action.delete.volume=Delete Volume +label.action.delete.user=Delete User label.action.delete.volume.processing=Deleting Volume.... -label.action.delete.zone=Delete Zone +label.action.delete.volume=Delete Volume label.action.delete.zone.processing=Deleting Zone.... -label.action.destroy.instance=Destroy Instance +label.action.delete.zone=Delete Zone label.action.destroy.instance.processing=Destroying Instance.... -label.action.destroy.systemvm=Destroy System VM +label.action.destroy.instance=Destroy Instance label.action.destroy.systemvm.processing=Destroying System VM.... -label.action.detach.disk=Detach Disk +label.action.destroy.systemvm=Destroy System VM label.action.detach.disk.processing=Detaching Disk.... -label.action.detach.iso=Detach ISO +label.action.detach.disk=Detach Disk label.action.detach.iso.processing=Detaching ISO.... -label.action.disable.account=Disable account +label.action.detach.iso=Detach ISO label.action.disable.account.processing=Disabling account.... -label.action.disable.cluster=Disable Cluster +label.action.disable.account=Disable account label.action.disable.cluster.processing=Disabling Cluster.... +label.action.disable.cluster=Disable Cluster label.action.disable.nexusVswitch=Disable Nexus 1000v label.action.disable.physical.network=Disable physical network -label.action.disable.pod=Disable Pod label.action.disable.pod.processing=Disabling Pod.... -label.action.disable.static.NAT=Disable Static NAT +label.action.disable.pod=Disable Pod label.action.disable.static.NAT.processing=Disabling Static NAT.... -label.action.disable.user=Disable User +label.action.disable.static.NAT=Disable Static NAT label.action.disable.user.processing=Disabling User.... -label.action.disable.zone=Disable Zone +label.action.disable.user=Disable User label.action.disable.zone.processing=Disabling Zone.... +label.action.disable.zone=Disable Zone label.action.download.ISO=Download ISO label.action.download.template=Download Template -label.action.download.volume=Download Volume label.action.download.volume.processing=Downloading Volume.... +label.action.download.volume=Download Volume label.action.edit.account=Edit account label.action.edit.disk.offering=Edit Disk Offering label.action.edit.domain=Edit Domain @@ -156,9 +147,9 @@ label.action.edit.global.setting=Edit Global Setting label.action.edit.host=Edit Host label.action.edit.instance=Edit Instance label.action.edit.ISO=Edit ISO -label.action.edit.network=Edit Network label.action.edit.network.offering=Edit Network Offering label.action.edit.network.processing=Editing Network.... +label.action.edit.network=Edit Network label.action.edit.pod=Edit Pod label.action.edit.primary.storage=Edit Primary Storage label.action.edit.resource.limits=Edit Resource Limits @@ -166,37 +157,37 @@ label.action.edit.service.offering=Edit Service Offering label.action.edit.template=Edit Template label.action.edit.user=Edit User label.action.edit.zone=Edit Zone -label.action.enable.account=Enable account label.action.enable.account.processing=Enabling account.... -label.action.enable.cluster=Enable Cluster +label.action.enable.account=Enable account label.action.enable.cluster.processing=Enabling Cluster.... -label.action.enable.maintenance.mode=Enable Maintenance Mode +label.action.enable.cluster=Enable Cluster label.action.enable.maintenance.mode.processing=Enabling Maintenance Mode.... +label.action.enable.maintenance.mode=Enable Maintenance Mode label.action.enable.nexusVswitch=Enable Nexus 1000v label.action.enable.physical.network=Enable physical network -label.action.enable.pod=Enable Pod label.action.enable.pod.processing=Enabling Pod.... -label.action.enable.static.NAT=Enable Static NAT +label.action.enable.pod=Enable Pod label.action.enable.static.NAT.processing=Enabling Static NAT.... -label.action.enable.user=Enable User +label.action.enable.static.NAT=Enable Static NAT label.action.enable.user.processing=Enabling User.... -label.action.enable.zone=Enable Zone +label.action.enable.user=Enable User label.action.enable.zone.processing=Enabling Zone.... -label.action.force.reconnect=Force Reconnect +label.action.enable.zone=Enable Zone label.action.force.reconnect.processing=Reconnecting.... -label.action.generate.keys=Generate Keys +label.action.force.reconnect=Force Reconnect label.action.generate.keys.processing=Generate Keys.... +label.action.generate.keys=Generate Keys label.action.list.nexusVswitch=List Nexus 1000v -label.action.lock.account=Lock account label.action.lock.account.processing=Locking account.... -label.action.manage.cluster=Manage Cluster +label.action.lock.account=Lock account label.action.manage.cluster.processing=Managing Cluster.... -label.action.migrate.instance=Migrate Instance +label.action.manage.cluster=Manage Cluster label.action.migrate.instance.processing=Migrating Instance.... -label.action.migrate.router=Migrate Router +label.action.migrate.instance=Migrate Instance label.action.migrate.router.processing=Migrating Router.... -label.action.migrate.systemvm=Migrate System VM +label.action.migrate.router=Migrate Router label.action.migrate.systemvm.processing=Migrating System VM.... +label.action.migrate.systemvm=Migrate System VM label.action.reboot.instance.processing=Rebooting Instance.... label.action.reboot.instance=Reboot Instance label.action.reboot.router.processing=Rebooting Router.... @@ -217,7 +208,6 @@ label.action.resize.volume=Resize Volume label.action.resource.limits=Resource limits label.action.restore.instance.processing=Restoring Instance.... label.action.restore.instance=Restore Instance -label.actions=Actions label.action.start.instance.processing=Starting Instance.... label.action.start.instance=Start Instance label.action.start.router.processing=Starting Router.... @@ -241,18 +231,19 @@ label.action.update.resource.count=Update Resource Count label.action.vmsnapshot.create=Take VM Snapshot label.action.vmsnapshot.delete=Delete VM snapshot label.action.vmsnapshot.revert=Revert to VM snapshot +label.actions=Actions label.activate.project=Activate Project label.active.sessions=Active Sessions -label.add.account=Add Account -label.add.accounts=Add accounts -label.add.accounts.to=Add accounts to label.add.account.to.project=Add account to project +label.add.account=Add Account +label.add.accounts.to=Add accounts to +label.add.accounts=Add accounts label.add.ACL=Add ACL -label.add=Add +label.add.affinity.group=Add new affinity group label.add.BigSwitchVns.device=Add BigSwitch Vns Controller -label.add.by=Add by label.add.by.cidr=Add By CIDR label.add.by.group=Add By Group +label.add.by=Add by label.add.cluster=Add Cluster label.add.compute.offering=Add compute offering label.add.direct.iprange=Add Direct Ip Range @@ -263,24 +254,15 @@ label.add.F5.device=Add F5 device label.add.firewall=Add firewall rule label.add.guest.network=Add guest network label.add.host=Add Host -label.adding=Adding -label.adding.cluster=Adding Cluster -label.adding.failed=Adding Failed -label.adding.pod=Adding Pod -label.adding.processing=Adding.... label.add.ingress.rule=Add Ingress Rule -label.adding.succeeded=Adding Succeeded -label.adding.user=Adding User -label.adding.zone=Adding Zone label.add.ip.range=Add IP Range -label.additional.networks=Additional Networks label.add.load.balancer=Add Load Balancer label.add.more=Add More label.add.netScaler.device=Add Netscaler device label.add.network.ACL=Add network ACL -label.add.network=Add Network label.add.network.device=Add Network Device label.add.network.offering=Add network offering +label.add.network=Add Network label.add.new.F5=Add new F5 label.add.new.gateway=Add new gateway label.add.new.NetScaler=Add new NetScaler @@ -306,21 +288,34 @@ label.add.template=Add Template label.add.to.group=Add to group label.add.user=Add User label.add.vlan=Add VLAN -label.add.vm=Add VM -label.add.vms=Add VMs -label.add.vms.to.lb=Add VM(s) to load balancer rule label.add.VM.to.tier=Add VM to tier +label.add.vm=Add VM +label.add.vms.to.lb=Add VM(s) to load balancer rule +label.add.vms=Add VMs label.add.volume=Add Volume label.add.vpc=Add VPC label.add.vpn.customer.gateway=Add VPN Customer Gateway label.add.VPN.gateway=Add VPN Gateway label.add.vpn.user=Add VPN user label.add.zone=Add Zone +label.add=Add +label.adding.cluster=Adding Cluster +label.adding.failed=Adding Failed +label.adding.pod=Adding Pod +label.adding.processing=Adding.... +label.adding.succeeded=Adding Succeeded +label.adding.user=Adding User +label.adding.zone=Adding Zone +label.adding=Adding +label.additional.networks=Additional Networks label.admin.accounts=Admin Accounts label.admin=Admin -label.advanced=Advanced label.advanced.mode=Advanced Mode label.advanced.search=Advance Search +label.advanced=Advanced +label.affinity.group=Affinity Group +label.affinity.groups=Affinity Groups +label.affinity=Affinity label.agent.password=Agent Password label.agent.username=Agent Username label.agree=Agree @@ -328,23 +323,26 @@ label.alert=Alert label.algorithm=Algorithm label.allocated=Allocated label.allocation.state=Allocation State +label.anti.affinity.group=Anti-affinity Group +label.anti.affinity.groups=Anti-affinity Groups +label.anti.affinity=Anti-affinity label.api.key=API Key label.apply=Apply -label.assign=Assign label.assign.to.load.balancer=Assigning instance to load balancer -label.associated.network=Associated Network +label.assign=Assign label.associated.network.id=Associated Network ID +label.associated.network=Associated Network label.attached.iso=Attached ISO label.author.email=Author e-mail label.author.name=Author name -label.availability=Availability label.availability.zone=Availability Zone -label.available=Available +label.availability=Availability label.available.public.ips=Available Public IP Addresses +label.available=Available label.back=Back label.bandwidth=Bandwidth -label.basic=Basic label.basic.mode=Basic Mode +label.basic=Basic label.bigswitch.controller.address=BigSwitch Vns Controller Address label.bootable=Bootable label.broadcast.domain.range=Broadcast domain range @@ -359,12 +357,12 @@ label.by.pod=By Pod label.by.role=By Role label.by.start.date=By Start Date label.by.state=By State +label.by.traffic.type=By Traffic Type +label.by.type.id=By Type ID +label.by.type=By Type +label.by.zone=By Zone label.bytes.received=Bytes Received label.bytes.sent=Bytes Sent -label.by.traffic.type=By Traffic Type -label.by.type=By Type -label.by.type.id=By Type ID -label.by.zone=By Zone label.cancel=Cancel label.capacity=Capacity label.certificate=Certificate @@ -373,50 +371,50 @@ label.change.value=Change value label.character=Character label.checksum=MD5 checksum label.cidr.account=CIDR or Account/Security Group -label.cidr=CIDR label.CIDR.list=CIDR list label.cidr.list=Source CIDR label.CIDR.of.destination.network=CIDR of destination network +label.cidr=CIDR label.clean.up=Clean up label.clear.list=Clear list label.close=Close label.cloud.console=Cloud Management Console label.cloud.managed=Cloud.com Managed -label.cluster=Cluster label.cluster.name=Cluster Name -label.clusters=Clusters label.cluster.type=Cluster Type +label.cluster=Cluster +label.clusters=Clusters label.clvm=CLVM label.code=Code label.community=Community label.compute.and.storage=Compute and Storage -label.compute=Compute label.compute.offering=Compute offering label.compute.offerings=Compute offerings +label.compute=Compute label.configuration=Configuration -label.configure=Configure label.configure.network.ACLs=Configure Network ACLs label.configure.vpc=Configure VPC -label.confirmation=Confirmation +label.configure=Configure label.confirm.password=Confirm password -label.congratulations=Congratulations! +label.confirmation=Confirmation +label.congratulations=Congratulations\! label.conserve.mode=Conserve mode label.console.proxy=Console proxy label.continue.basic.install=Continue with basic installation label.continue=Continue label.corrections.saved=Corrections saved -label.cpu.allocated=CPU Allocated label.cpu.allocated.for.VMs=CPU Allocated for VMs +label.cpu.allocated=CPU Allocated label.CPU.cap=CPU Cap -label.cpu=CPU label.cpu.limits=CPU limits label.cpu.mhz=CPU (in MHz) label.cpu.utilized=CPU Utilized -label.created.by.system=Created by system -label.created=Created +label.cpu=CPU label.create.project=Create project label.create.template=Create template label.create.VPN.connection=Create VPN Connection +label.created.by.system=Created by system +label.created=Created label.cross.zones=Cross Zones label.custom.disk.size=Custom Disk Size label.daily=Daily @@ -427,11 +425,11 @@ label.day.of.week=Day of Week label.dead.peer.detection=Dead Peer Detection label.decline.invitation=Decline invitation label.dedicated=Dedicated -label.default=Default label.default.use=Default Use label.default.view=Default View +label.default=Default +label.delete.affinity.group=Delete Affinity Group label.delete.BigSwitchVns=Remove BigSwitch Vns Controller -label.delete=Delete label.delete.F5=Delete F5 label.delete.gateway=delete gateway label.delete.NetScaler=Delete NetScaler @@ -442,58 +440,60 @@ label.delete.VPN.connection=delete VPN connection label.delete.VPN.customer.gateway=delete VPN Customer Gateway label.delete.VPN.gateway=delete VPN Gateway label.delete.vpn.user=Delete VPN user +label.delete=Delete label.deleting.failed=Deleting Failed label.deleting.processing=Deleting.... label.description=Description label.destination.physical.network.id=Destination physical network ID label.destination.zone=Destination Zone -label.destroy=Destroy label.destroy.router=Destroy router +label.destroy=Destroy label.detaching.disk=Detaching Disk label.details=Details label.device.id=Device ID label.devices=Devices -label.dhcp=DHCP label.DHCP.server.type=DHCP Server Type +label.dhcp=DHCP label.direct.ips=Shared Network IPs -label.disabled=Disabled label.disable.provider=Disable provider label.disable.vpn=Disable VPN +label.disabled=Disabled label.disabling.vpn.access=Disabling VPN Access label.disk.allocated=Disk Allocated label.disk.offering=Disk Offering -label.disk.size=Disk Size label.disk.size.gb=Disk Size (in GB) +label.disk.size=Disk Size label.disk.total=Disk Total label.disk.volume=Disk Volume label.display.name=Display name label.display.text=Display Text label.dns.1=DNS 1 label.dns.2=DNS 2 -label.dns=DNS label.DNS.domain.for.guest.networks=DNS domain for Guest Networks +label.dns=DNS label.domain.admin=Domain Admin -label.domain=Domain label.domain.id=Domain ID label.domain.name=Domain Name label.domain.router=Domain router label.domain.suffix=DNS Domain Suffix (i.e., xyz.com) +label.domain=Domain label.done=Done label.double.quotes.are.not.allowed=Double quotes are not allowed label.download.progress=Download Progress label.drag.new.position=Drag to new position -label.edit=Edit +label.edit.affinity.group=Edit Affinity Group label.edit.lb.rule=Edit LB rule label.edit.network.details=Edit network details label.edit.project.details=Edit project details label.edit.tags=Edit tags label.edit.traffic.type=Edit traffic type label.edit.vpc=Edit VPC +label.edit=Edit label.egress.rule=Egress rule label.egress.rules=Egress rules -label.elastic=Elastic label.elastic.IP=Elastic IP label.elastic.LB=Elastic LB +label.elastic=Elastic label.email=Email label.enable.provider=Enable provider label.enable.s3=Enable S3-backed Secondary Storage @@ -502,18 +502,17 @@ label.enable.vpn=Enable VPN label.enabling.vpn.access=Enabling VPN Access label.enabling.vpn=Enabling VPN label.end.IP=End IP -label.endpoint=Endpoint -label.endpoint.or.operation=Endpoint or Operation label.end.port=End Port label.end.reserved.system.IP=End Reserved system IP label.end.vlan=End Vlan +label.endpoint.or.operation=Endpoint or Operation +label.endpoint=Endpoint label.enter.token=Enter token label.error.code=Error Code label.error=Error label.ESP.encryption=ESP Encryption label.ESP.hash=ESP Hash label.ESP.lifetime=ESP Lifetime (second) -label.ESP.lifetime=ESP Lifetime(second) label.ESP.policy=ESP policy label.esx.host=ESX/ESXi Host label.example=Example @@ -527,8 +526,8 @@ label.firewall=Firewall label.first.name=First Name label.format=Format label.friday=Friday -label.full=Full label.full.path=Full path +label.full=Full label.gateway=Gateway label.general.alerts=General Alerts label.generating.url=Generating URL @@ -536,40 +535,39 @@ label.go.step.2=Go to Step 2 label.go.step.3=Go to Step 3 label.go.step.4=Go to Step 4 label.go.step.5=Go to Step 5 -label.group=Group label.group.optional=Group (Optional) +label.group=Group label.guest.cidr=Guest CIDR label.guest.end.ip=Guest end IP label.guest.gateway=Guest Gateway -label.guest=Guest -label.guest.ip=Guest IP Address label.guest.ip.range=Guest IP Range +label.guest.ip=Guest IP Address label.guest.netmask=Guest Netmask label.guest.networks=Guest networks label.guest.start.ip=Guest start IP label.guest.traffic=Guest Traffic label.guest.type=Guest Type +label.guest=Guest label.ha.enabled=HA Enabled label.help=Help label.hide.ingress.rule=Hide Ingress Rule label.hints=Hints label.host.alerts=Host Alerts -label.host=Host label.host.MAC=Host MAC label.host.name=Host Name +label.host.tags=Host Tags +label.host=Host label.hosts=Hosts -label.host.tags=Host Tags label.hourly=Hourly label.hypervisor.capabilities=Hypervisor capabilities -label.hypervisor=Hypervisor label.hypervisor.type=Hypervisor Type label.hypervisor.version=Hypervisor version +label.hypervisor=Hypervisor label.id=ID label.IKE.DH=IKE DH label.IKE.encryption=IKE Encryption label.IKE.hash=IKE Hash label.IKE.lifetime=IKE lifetime (second) -label.IKE.lifetime=IKE Lifetime (second) label.IKE.policy=IKE policy label.info=Info label.ingress.rule=Ingress Rule @@ -584,54 +582,55 @@ label.installWizard.addPrimaryStorageIntro.subtitle=What is primary storage? label.installWizard.addPrimaryStorageIntro.title=Let’s add primary storage label.installWizard.addSecondaryStorageIntro.subtitle=What is secondary storage? label.installWizard.addSecondaryStorageIntro.title=Let’s add secondary storage +label.installWizard.addZone.title=Add zone label.installWizard.addZoneIntro.subtitle=What is a zone? label.installWizard.addZoneIntro.title=Let’s add a zone -label.installWizard.addZone.title=Add zone label.installWizard.click.launch=Click the launch button. -label.installWizard.subtitle=This tour will aid you in setting up your CloudStack™ installation -label.installWizard.title=Hello and Welcome to CloudStack™ -label.instance=Instance +label.installWizard.subtitle=This tour will aid you in setting up your CloudStack&\#8482 installation +label.installWizard.title=Hello and Welcome to CloudStack&\#8482 label.instance.limits=Instance Limits label.instance.name=Instance Name +label.instance=Instance label.instances=Instances label.internal.dns.1=Internal DNS 1 label.internal.dns.2=Internal DNS 2 label.internal.name=Internal name label.interval.type=Interval Type -label.introduction.to.cloudstack=Introduction to CloudStack™ +label.introduction.to.cloudstack=Introduction to CloudStack&\#8482 label.invalid.integer=Invalid Integer label.invalid.number=Invalid Number label.invitations=Invitations -label.invited.accounts=Invited accounts -label.invite=Invite label.invite.to=Invite to +label.invite=Invite +label.invited.accounts=Invited accounts label.ip.address=IP Address -label.ipaddress=IP Address label.ip.allocations=IP Allocations -label.ip=IP label.ip.limits=Public IP Limits label.ip.or.fqdn=IP or FQDN label.ip.range=IP Range label.ip.ranges=IP Ranges -label.IPsec.preshared.key=IPsec Preshared-Key +label.ip=IP +label.ipaddress=IP Address label.ips=IPs -label.iscsi=iSCSI +label.IPsec.preshared.key=IPsec Preshared-Key label.is.default=Is Default +label.is.redundant.router=Redundant +label.is.shared=Is Shared +label.is.system=Is System +label.iscsi=iSCSI label.iso.boot=ISO Boot label.iso=ISO label.isolated.networks=Isolated networks label.isolation.method=Isolation method label.isolation.mode=Isolation Mode label.isolation.uri=Isolation URI -label.is.redundant.router=Redundant -label.is.shared=Is Shared -label.is.system=Is System label.item.listing=Item listing label.keep=Keep -label.keyboard.type=Keyboard type label.key=Key +label.keyboard.type=Keyboard type label.kvm.traffic.label=KVM traffic label label.label=Label +label.lang.arabic=Arabic label.lang.brportugese=Brazilian Portugese label.lang.catalan=Catalan label.lang.chinese=Chinese (Simplified) @@ -644,37 +643,34 @@ label.lang.korean=Korean label.lang.norwegian=Norwegian label.lang.russian=Russian label.lang.spanish=Spanish -label.lang.arabic=Arabic label.last.disconnected=Last Disconnected label.last.name=Last Name label.latest.events=Latest events -label.launch=Launch label.launch.vm=Launch VM -label.launch.zone=Launch zone +label.launch.zone=Launch zone +label.launch=Launch label.LB.isolation=LB isolation label.least.connections=Least connections label.level=Level label.linklocal.ip=Link Local IP Adddress label.load.balancer=Load Balancer -label.load.balancing=Load Balancing label.load.balancing.policies=Load balancing policies +label.load.balancing=Load Balancing label.loading=Loading -label.local=Local label.local.storage.enabled=Local storage enabled -label.local.storage.enabled=Local Storage Enabled label.local.storage=Local Storage +label.local=Local label.login=Login label.logout=Logout +label.LUN.number=LUN \# label.lun=LUN -label.LUN.number=LUN # label.make.project.owner=Make account project owner +label.manage.resources=Manage Resources label.manage=Manage label.management.ips=Management IP Addresses label.management=Management -label.manage.resources=Manage Resources label.max.cpus=Max. CPU cores label.max.guest.limit=Max guest limit -label.maximum=Maximum label.max.memory=Max. memory (MiB) label.max.networks=Max. networks label.max.primary.storage=Max. primary (GiB) @@ -685,13 +681,14 @@ label.max.templates=Max. templates label.max.vms=Max. user VMs label.max.volumes=Max. volumes label.max.vpcs=Max. VPCs +label.maximum=Maximum label.may.continue=You may now continue. label.memory.allocated=Memory Allocated label.memory.limits=Memory limits (MiB) label.memory.mb=Memory (in MB) -label.memory=Memory label.memory.total=Memory Total label.memory.used=Memory Used +label.memory=Memory label.menu.accounts=Accounts label.menu.alerts=Alerts label.menu.all.accounts=All Accounts @@ -715,8 +712,8 @@ label.menu.my.accounts=My Accounts label.menu.my.instances=My Instances label.menu.my.isos=My ISOs label.menu.my.templates=My Templates -label.menu.network=Network label.menu.network.offerings=Network Offerings +label.menu.network=Network label.menu.physical.resources=Physical Resources label.menu.regions=Regions label.menu.running.instances=Running Instances @@ -726,15 +723,15 @@ label.menu.snapshots=Snapshots label.menu.stopped.instances=Stopped Instances label.menu.storage=Storage label.menu.system.service.offerings=System Offerings -label.menu.system=System label.menu.system.vms=System VMs +label.menu.system=System label.menu.templates=Templates label.menu.virtual.appliances=Virtual Appliances label.menu.virtual.resources=Virtual Resources label.menu.volumes=Volumes label.migrate.instance.to.host=Migrate instance to another host -label.migrate.instance.to=Migrate instance to label.migrate.instance.to.ps=Migrate instance to another primary storage +label.migrate.instance.to=Migrate instance to label.migrate.router.to=Migrate Router to label.migrate.systemvm.to=Migrate System VM to label.migrate.to.host=Migrate to host @@ -752,24 +749,22 @@ label.move.up.row=Move up one row label.my.account=My Account label.my.network=My network label.my.templates=My templates -label.name=Name label.name.optional=Name (Optional) +label.name=Name label.nat.port.range=NAT Port Range label.netmask=Netmask label.netScaler=NetScaler +label.network.ACL.total=Network ACL Total label.network.ACL=Network ACL label.network.ACLs=Network ACLs -label.network.ACL.total=Network ACL Total label.network.desc=Network Desc -label.network.device=Network Device label.network.device.type=Network Device Type -label.network.domain=Network Domain +label.network.device=Network Device label.network.domain.text=Network domain +label.network.domain=Network Domain label.network.id=Network ID -label.networking.and.security=Networking and security label.network.label.display.for.blank.value=Use default gateway label.network.name=Network Name -label.network=Network label.network.offering.display.text=Network Offering Display Text label.network.offering.id=Network Offering ID label.network.offering.name=Network Offering Name @@ -778,18 +773,20 @@ label.network.rate.megabytes=Network Rate (Mb/s) label.network.rate=Network Rate label.network.read=Network Read label.network.service.providers=Network Service Providers -label.networks=Networks label.network.type=Network Type label.network.write=Network Write -label.new=New +label.network=Network +label.networking.and.security=Networking and security +label.networks=Networks label.new.password=New Password label.new.project=New Project label.new.vm=New VM +label.new=New label.next=Next label.nexusVswitch=Nexus 1000v -label.nfs=NFS label.nfs.server=NFS Server label.nfs.storage=NFS Storage +label.nfs=NFS label.nic.adapter.type=NIC adapter type label.nicira.controller.address=Controller Address label.nicira.l3gatewayserviceuuid=L3 Gateway Service Uuid @@ -801,20 +798,19 @@ label.no.data=No data to show label.no.errors=No Recent Errors label.no.isos=No available ISOs label.no.items=No Available Items -label.none=None -label.no=No label.no.security.groups=No Available Security Groups -label.not.found=Not Found label.no.thanks=No thanks -label.no.thanks=No Thanks +label.no=No +label.none=None +label.not.found=Not Found label.notifications=Notifications +label.num.cpu.cores=\# of CPU Cores label.number.of.clusters=Number of Clusters label.number.of.hosts=Number of Hosts label.number.of.pods=Number of Pods label.number.of.system.vms=Number of System VMs label.number.of.virtual.routers=Number of Virtual Routers label.number.of.zones=Number of Zones -label.num.cpu.cores=# of CPU Cores label.numretries=Number of Retries label.ocfs2=OCFS2 label.offer.ha=Offer HA @@ -825,14 +821,14 @@ label.os.preference=OS Preference label.os.type=OS Type label.owned.public.ips=Owned Public IP Addresses label.owner.account=Owner Account -label.owner.domain=Owner Domain +label.owner.domain=Owner Domain label.parent.domain=Parent Domain label.password.enabled=Password Enabled label.password=Password label.path=Path label.perfect.forward.secrecy=Perfect Forward Secrecy label.physical.network.ID=Physical network ID -label.physical.network=Physical Network +label.physical.network=Physical Network label.PING.CIFS.password=PING CIFS password label.PING.CIFS.username=PING CIFS username label.PING.dir=PING Directory @@ -848,8 +844,8 @@ label.port.forwarding.policies=Port forwarding policies label.port.forwarding=Port Forwarding label.port.range=Port Range label.PreSetup=PreSetup -label.previous=Previous label.prev=Prev +label.previous=Previous label.primary.allocated=Primary Storage Allocated label.primary.network=Primary Network label.primary.storage.count=Primary Storage Pools @@ -858,20 +854,20 @@ label.primary.storage=Primary Storage label.primary.used=Primary Storage Used label.private.Gateway=Private Gateway label.private.interface=Private Interface -label.private.ip=Private IP Address label.private.ip.range=Private IP Range +label.private.ip=Private IP Address label.private.ips=Private IP Addresses -label.privatekey=PKCS#8 Private Key label.private.network=Private network label.private.port=Private Port label.private.zone=Private Zone +label.privatekey=PKCS\#8 Private Key label.project.dashboard=Project dashboard label.project.id=Project ID label.project.invite=Invite to project label.project.name=Project name +label.project.view=Project View label.project=Project label.projects=Projects -label.project.view=Project View label.protocol=Protocol label.providers=Providers label.public.interface=Public Interface @@ -879,9 +875,9 @@ label.public.ip=Public IP Address label.public.ips=Public IP Addresses label.public.network=Public network label.public.port=Public Port -label.public=Public -label.public.traffic=Public traffic +label.public.traffic=Public traffic label.public.zone=Public Zone +label.public=Public label.purpose=Purpose label.Pxe.server.type=Pxe Server Type label.quickview=Quickview @@ -901,7 +897,6 @@ label.remove.ingress.rule=Remove ingress rule label.remove.ip.range=Remove IP range label.remove.pf=Remove port forwarding rule label.remove.project.account=Remove account from project -label.remove.project.account=Remove project account label.remove.region=Remove Region label.remove.rule=Remove rule label.remove.static.nat.rule=Remove static NAT rule @@ -909,8 +904,8 @@ label.remove.static.route=Remove static route label.remove.tier=Remove tier label.remove.vm.from.lb=Remove VM from load balancer rule label.remove.vpc=remove VPC -label.removing=Removing label.removing.user=Removing User +label.removing=Removing label.required=Required label.reserved.system.gateway=Reserved system gateway label.reserved.system.ip=Reserved System IP @@ -920,9 +915,9 @@ label.resize.new.offering.id=New Offering label.resize.new.size=New Size(GB) label.resize.shrink.ok=Shrink OK label.resource.limits=Resource Limits +label.resource.state=Resource state label.resource=Resource label.resources=Resources -label.resource.state=Resource state label.restart.network=Restart network label.restart.required=Restart required label.restart.vpc=restart VPC @@ -951,36 +946,36 @@ label.scope=Scope label.search=Search label.secondary.storage.count=Secondary Storage Pools label.secondary.storage.limits=Secondary Storage limits (GiB) -label.secondary.storage=Secondary Storage label.secondary.storage.vm=Secondary storage VM +label.secondary.storage=Secondary Storage label.secondary.used=Secondary Storage Used label.secret.key=Secret Key label.security.group.name=Security Group Name label.security.group=Security Group label.security.groups.enabled=Security Groups Enabled label.security.groups=Security Groups +label.select-view=Select view label.select.a.template=Select a template label.select.a.zone=Select a zone -label.select.instance=Select instance label.select.instance.to.attach.volume.to=Select instance to attach volume to +label.select.instance=Select instance label.select.iso.or.template=Select ISO or template label.select.offering=Select offering label.select.project=Select Project -label.select=Select label.select.tier=Select Tier -label.select-view=Select view label.select.vm.for.static.nat=Select VM for static NAT +label.select=Select label.sent=Sent label.server=Server label.service.capabilities=Service Capabilities label.service.offering=Service Offering label.session.expired=Session Expired -label.setup.network=Setup Network -label.setup=Setup -label.setup.zone=Setup Zone label.set.up.zone.type=Set up zone type -label.SharedMountPoint=SharedMountPoint +label.setup.network=Setup Network +label.setup.zone=Setup Zone +label.setup=Setup label.shared=Shared +label.SharedMountPoint=SharedMountPoint label.show.ingress.rule=Show Ingress Rule label.shutdown.provider=Shutdown provider label.site.to.site.VPN=Site-to-site VPN @@ -988,9 +983,9 @@ label.size=Size label.skip.guide=I have used CloudStack before, skip this guide label.snapshot.limits=Snapshot Limits label.snapshot.name=Snapshot Name +label.snapshot.s=Snapshot (s) label.snapshot.schedule=Setup Recurring Snapshot label.snapshot=Snapshot -label.snapshot.s=Snapshot (s) label.snapshots=Snapshots label.source.nat=Source NAT label.source=Source @@ -1004,21 +999,21 @@ label.start.reserved.system.IP=Start Reserved system IP label.start.vlan=Start Vlan label.state=State label.static.nat.enabled=Static NAT Enabled -label.static.nat=Static NAT label.static.nat.to=Static NAT to label.static.nat.vm.details=Static NAT VM Details +label.static.nat=Static NAT label.statistics=Statistics label.status=Status +label.step.1.title=Step 1\: Select a Template label.step.1=Step 1 -label.step.1.title=Step 1: Select a Template +label.step.2.title=Step 2\: Service Offering label.step.2=Step 2 -label.step.2.title=Step 2: Service Offering +label.step.3.title=Step 3\: Select a Disk Offering label.step.3=Step 3 -label.step.3.title=Step 3: Select a Disk Offering +label.step.4.title=Step 4\: Network label.step.4=Step 4 -label.step.4.title=Step 4: Network +label.step.5.title=Step 5\: Review label.step.5=Step 5 -label.step.5.title=Step 5: Review label.stickiness=Stickiness label.sticky.cookie-name=Cookie name label.sticky.domain=Domain @@ -1032,15 +1027,15 @@ label.sticky.postonly=Post only label.sticky.prefix=Prefix label.sticky.request-learn=Request learn label.sticky.tablesize=Table size -label.stopped.vms=Stopped VMs label.stop=Stop -label.storage=Storage +label.stopped.vms=Stopped VMs label.storage.tags=Storage Tags label.storage.traffic=Storage Traffic label.storage.type=Storage Type +label.storage=Storage label.subdomain.access=Subdomain Access label.submit=Submit -label.submitted.by=[Submitted by: ] +label.submitted.by=[Submitted by\: ] label.succeeded=Succeeded label.sunday=Sunday label.super.cidr.for.guest.networks=Super CIDR for Guest Networks @@ -1050,9 +1045,9 @@ label.suspend.project=Suspend Project label.system.capacity=System Capacity label.system.offering=System Offering label.system.service.offering=System Service Offering -label.system.vms=System VMs -label.system.vm=System VM label.system.vm.type=System VM Type +label.system.vm=System VM +label.system.vms=System VMs label.system.wide.capacity=System-wide capacity label.tagged=Tagged label.tags=Tags @@ -1067,14 +1062,14 @@ label.theme.lightblue=Custom - Light Blue label.thursday=Thursday label.tier.details=Tier details label.tier=Tier +label.time.zone=Timezone +label.time=Time label.timeout.in.second = Timeout(seconds) label.timeout=Timeout -label.time=Time -label.time.zone=Timezone label.timezone=Timezone label.token=Token -label.total.cpu=Total CPU label.total.CPU=Total CPU +label.total.cpu=Total CPU label.total.hosts=Total Hosts label.total.memory=Total Memory label.total.of.ip=Total of IP Address @@ -1082,8 +1077,8 @@ label.total.of.vm=Total of VM label.total.storage=Total Storage label.total.vms=Total VMs label.traffic.label=Traffic label -label.traffic.types=Traffic Types label.traffic.type=Traffic Type +label.traffic.types=Traffic Types label.tuesday=Tuesday label.type.id=Type ID label.type=Type @@ -1094,15 +1089,15 @@ label.update.project.resources=Update project resources label.update.ssl.cert= SSL Certificate label.update.ssl= SSL Certificate label.updating=Updating -label.upload=Upload label.upload.volume=Upload volume +label.upload=Upload label.url=URL label.usage.interface=Usage Interface +label.use.vm.ip=Use VM IP\: label.used=Used +label.user=User label.username=Username label.users=Users -label.user=User -label.use.vm.ip=Use VM IP: label.value=Value label.vcdcname=vCenter DC name label.vcenter.cluster=vCenter Cluster @@ -1115,47 +1110,47 @@ label.vcipaddress=vCenter IP Address label.version=Version label.view.all=View all label.view.console=View console -label.viewing=Viewing label.view.more=View more label.view=View -label.virtual.appliances=Virtual Appliances +label.viewing=Viewing label.virtual.appliance=Virtual Appliance +label.virtual.appliances=Virtual Appliances label.virtual.machines=Virtual machines label.virtual.network=Virtual Network -label.virtual.routers=Virtual Routers label.virtual.router=Virtual Router +label.virtual.routers=Virtual Routers label.vlan.id=VLAN ID label.vlan.range=VLAN Range label.vlan=VLAN label.vm.add=Add Instance label.vm.destroy=Destroy label.vm.display.name=VM display name -label.VMFS.datastore=VMFS datastore -label.vmfs=VMFS label.vm.name=VM name label.vm.reboot=Reboot +label.vm.start=Start +label.vm.state=VM state +label.vm.stop=Stop +label.VMFS.datastore=VMFS datastore +label.vmfs=VMFS label.VMs.in.tier=VMs in tier +label.vms=VMs label.vmsnapshot.current=isCurrent label.vmsnapshot.memory=Snapshot memory label.vmsnapshot.parentname=Parent label.vmsnapshot.type=Type label.vmsnapshot=VM Snapshots -label.vm.start=Start -label.vm.state=VM state -label.vm.stop=Stop -label.vms=VMs label.vmware.traffic.label=VMware traffic label label.volgroup=Volume Group label.volume.limits=Volume Limits label.volume.name=Volume Name -label.volumes=Volumes label.volume=Volume +label.volumes=Volumes label.vpc.id=VPC ID label.VPC.router.details=VPC router details label.vpc=VPC label.VPN.connection=VPN Connection -label.vpn.customer.gateway=VPN Customer Gateway label.VPN.customer.gateway=VPN Customer Gateway +label.vpn.customer.gateway=VPN Customer Gateway label.VPN.gateway=VPN Gateway label.vpn=VPN label.vsmctrlvlanid=Control VLAN ID @@ -1168,27 +1163,27 @@ label.wednesday=Wednesday label.weekly=Weekly label.welcome.cloud.console=Welcome to Management Console label.welcome=Welcome -label.what.is.cloudstack=What is CloudStack™? +label.what.is.cloudstack=What is CloudStack&\#8482? label.xen.traffic.label=XenServer traffic label label.yes=Yes label.zone.details=Zone details label.zone.id=Zone ID label.zone.name=Zone name -label.zone.step.1.title=Step 1: Select a Network -label.zone.step.2.title=Step 2: Add a Zone -label.zone.step.3.title=Step 3: Add a Pod -label.zone.step.4.title=Step 4: Add an IP range -label.zones=Zones +label.zone.step.1.title=Step 1\: Select a Network +label.zone.step.2.title=Step 2\: Add a Zone +label.zone.step.3.title=Step 3\: Add a Pod +label.zone.step.4.title=Step 4\: Add an IP range label.zone.type=Zone Type label.zone.wide=Zone-Wide -label.zoneWizard.trafficType.guest=Guest: Traffic between end-user virtual machines -label.zoneWizard.trafficType.management=Management: Traffic between CloudStack\'s internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs -label.zoneWizard.trafficType.public=Public: Traffic between the internet and virtual machines in the cloud. -label.zoneWizard.trafficType.storage=Storage: Traffic between primary and secondary storage servers, such as VM templates and snapshots label.zone=Zone +label.zones=Zones +label.zoneWizard.trafficType.guest=Guest\: Traffic between end-user virtual machines +label.zoneWizard.trafficType.management=Management\: Traffic between CloudStack\\\\'s internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs +label.zoneWizard.trafficType.public=Public\: Traffic between the internet and virtual machines in the cloud. +label.zoneWizard.trafficType.storage=Storage\: Traffic between primary and secondary storage servers, such as VM templates and snapshots managed.state=Managed State -message.acquire.new.ip=Please confirm that you would like to acquire a new IP for this network. message.acquire.new.ip.vpc=Please confirm that you would like to acquire a new IP for this VPC. +message.acquire.new.ip=Please confirm that you would like to acquire a new IP for this network. message.acquire.public.ip=Please select a zone from which you want to acquire your new IP from. message.action.cancel.maintenance.mode=Please confirm that you want to cancel this maintenance. message.action.cancel.maintenance=Your host has been successfully canceled for maintenance. This process can take up to several minutes. @@ -1197,8 +1192,8 @@ message.action.change.service.warning.for.router=Your router must be stopped bef message.action.delete.cluster=Please confirm that you want to delete this cluster. message.action.delete.disk.offering=Please confirm that you want to delete this disk offering. message.action.delete.domain=Please confirm that you want to delete this domain. -message.action.delete.external.firewall=Please confirm that you would like to remove this external firewall. Warning: If you are planning to add back the same external firewall, you must reset usage data on the device. -message.action.delete.external.load.balancer=Please confirm that you would like to remove this external load balancer. Warning: If you are planning to add back the same external load balancer, you must reset usage data on the device. +message.action.delete.external.firewall=Please confirm that you would like to remove this external firewall. Warning\: If you are planning to add back the same external firewall, you must reset usage data on the device. +message.action.delete.external.load.balancer=Please confirm that you would like to remove this external load balancer. Warning\: If you are planning to add back the same external load balancer, you must reset usage data on the device. message.action.delete.ingress.rule=Please confirm that you want to delete this ingress rule. message.action.delete.ISO.for.all.zones=The ISO is used by all zones. Please confirm that you want to delete it from all zones. message.action.delete.ISO=Please confirm that you want to delete this ISO. @@ -1234,15 +1229,14 @@ message.action.enable.pod=Please confirm that you want to enable this pod. message.action.enable.zone=Please confirm that you want to enable this zone. message.action.force.reconnect=Your host has been successfully forced to reconnect. This process can take up to several minutes. message.action.host.enable.maintenance.mode=Enabling maintenance mode will cause a live migration of all running instances on this host to any available host. -message.action.instance.reset.password=Please confirm that you want to change the ROOT password for this virtual machine. +message.action.instance.reset.password=Please confirm that you want to change the ROOT password for this virtual machine. message.action.manage.cluster=Please confirm that you want to manage the cluster. -message.action.primarystorage.enable.maintenance.mode=Warning: placing the primary storage into maintenance mode will cause all VMs using volumes from it to be stopped. Do you want to continue? +message.action.primarystorage.enable.maintenance.mode=Warning\: placing the primary storage into maintenance mode will cause all VMs using volumes from it to be stopped. Do you want to continue? message.action.reboot.instance=Please confirm that you want to reboot this instance. message.action.reboot.router=All services provided by this virtual router will be interrupted. Please confirm that you want to reboot this router. message.action.reboot.systemvm=Please confirm that you want to reboot this system VM. message.action.release.ip=Please confirm that you want to release this IP. message.action.remove.host=Please confirm that you want to remove this host. -message.action.remove.host=Removing last/only host in cluster and reinstalling the host will destroy working environment/database on the host and render the VM Guests unuseable. message.action.reset.password.off=Your instance currently does not support this feature. message.action.reset.password.warning=Your instance must be stopped before attempting to change its current password. message.action.restore.instance=Please confirm that you want to restore this instance. @@ -1257,40 +1251,40 @@ message.action.unmanage.cluster=Please confirm that you want to unmanage the clu message.action.vmsnapshot.delete=Please confirm that you want to delete this VM snapshot. message.action.vmsnapshot.revert=Revert VM snapshot message.activate.project=Are you sure you want to activate this project? -message.add.cluster=Add a hypervisor managed cluster for zone , pod -message.add.cluster.zone=Add a hypervisor managed cluster for zone +message.add.cluster.zone=Add a hypervisor managed cluster for zone +message.add.cluster=Add a hypervisor managed cluster for zone , pod message.add.disk.offering=Please specify the following parameters to add a new disk offering message.add.domain=Please specify the subdomain you want to create under this domain message.add.firewall=Add a firewall to zone message.add.guest.network=Please confirm that you would like to add a guest network message.add.host=Please specify the following parameters to add a new host -message.adding.host=Adding host -message.adding.Netscaler.device=Adding Netscaler device -message.adding.Netscaler.provider=Adding Netscaler provider +message.add.ip.range.direct.network=Add an IP range to direct network in zone +message.add.ip.range.to.pod=

Add an IP range to pod\:

message.add.ip.range=Add an IP range to public network in zone -message.add.ip.range.direct.network=Add an IP range to direct network in zone -message.add.ip.range.to.pod=

Add an IP range to pod:

-message.additional.networks.desc=Please select additional network(s) that your virtual instance will be connected to. +message.add.load.balancer.under.ip=The load balancer rule has been added under IP\: message.add.load.balancer=Add a load balancer to zone -message.add.load.balancer.under.ip=The load balancer rule has been added under IP: -message.add.network=Add a new network for zone: +message.add.network=Add a new network for zone\: message.add.new.gateway.to.vpc=Please specify the information to add a new gateway to this VPC. -message.add.pod=Add a new pod for zone -message.add.pod.during.zone.creation=Each zone must contain in one or more pods, and we will add the first pod now. A pod contains hosts and primary storage servers, which you will add in a later step. First, configure a range of reserved IP addresses for CloudStack's internal management traffic. The reserved IP range must be unique for each zone in the cloud. +message.add.pod.during.zone.creation=Each zone must contain in one or more pods, and we will add the first pod now. A pod contains hosts and primary storage servers, which you will add in a later step. First, configure a range of reserved IP addresses for CloudStack\\'s internal management traffic. The reserved IP range must be unique for each zone in the cloud. +message.add.pod=Add a new pod for zone +message.add.primary.storage=Add a new Primary Storage for zone , pod message.add.primary=Please specify the following parameters to add a new primary storage -message.add.primary.storage=Add a new Primary Storage for zone , pod message.add.region=Please specify the required information to add a new region. -message.add.secondary.storage=Add a new storage for zone +message.add.secondary.storage=Add a new storage for zone message.add.service.offering=Please fill in the following data to add a new compute offering. message.add.system.service.offering=Please fill in the following data to add a new system service offering. message.add.template=Please enter the following data to create your new template message.add.volume=Please fill in the following data to add a new volume. message.add.VPN.gateway=Please confirm that you want to add a VPN Gateway +message.adding.host=Adding host +message.adding.Netscaler.device=Adding Netscaler device +message.adding.Netscaler.provider=Adding Netscaler provider +message.additional.networks.desc=Please select additional network(s) that your virtual instance will be connected to. message.advanced.mode.desc=Choose this network model if you wish to enable VLAN support. This network model provides the most flexibility in allowing administrators to provide custom network offerings such as providing firewall, vpn, or load balancer support as well as enabling direct vs virtual networking. message.advanced.security.group=Choose this if you wish to use security groups to provide guest VM isolation. message.advanced.virtual=Choose this if you wish to use zone-wide VLANs to provide guest VM isolation. -message.after.enable.s3=S3-backed Secondary Storage configured. Note: When you leave this page, you will not be able to re-configure S3 again. -message.after.enable.swift=Swift configured. Note: When you leave this page, you will not be able to re-configure Swift again. +message.after.enable.s3=S3-backed Secondary Storage configured. Note\: When you leave this page, you will not be able to re-configure S3 again. +message.after.enable.swift=Swift configured. Note\: When you leave this page, you will not be able to re-configure Swift again. message.alert.state.detected=Alert state detected message.allow.vpn.access=Please enter a username and password of the user that you want to allow VPN access. message.apply.snapshot.policy=You have successfully updated your current snapshot policy. @@ -1315,10 +1309,10 @@ message.confirm.join.project=Please confirm you wish to join this project. message.confirm.remove.IP.range=Please confirm that you would like to remove this IP range. message.confirm.shutdown.provider=Please confirm that you would like to shutdown this provider message.copy.iso.confirm=Please confirm that you wish to copy your ISO to -message.copy.template=Copy template XXX from zone to +message.copy.template=Copy template XXX from zone to +message.create.template.vm=Create VM from template +message.create.template.volume=Please specify the following information before creating a template of your disk volume\: . Creation of the template can range from several minutes to longer depending on the size of the volume. message.create.template=Are you sure you want to create template? -message.create.template.vm=Create VM from template -message.create.template.volume=Please specify the following information before creating a template of your disk volume: . Creation of the template can range from several minutes to longer depending on the size of the volume. message.creating.cluster=Creating cluster message.creating.guest.network=Creating guest network message.creating.physical.networks=Creating physical networks @@ -1328,6 +1322,7 @@ message.creating.secondary.storage=Creating secondary storage message.creating.zone=Creating zone message.decline.invitation=Are you sure you want to decline this project invitation? message.delete.account=Please confirm that you want to delete this account. +message.delete.affinity.group=Please confirm that you would like to remove this affinity group. message.delete.gateway=Please confirm you want to delete the gateway message.delete.project=Are you sure you want to delete this project? message.delete.user=Please confirm that you would like to delete this user. @@ -1337,31 +1332,31 @@ message.delete.VPN.gateway=Please confirm that you want to delete this VPN Gatew message.desc.advanced.zone=For more sophisticated network topologies. This network model provides the most flexibility in defining guest networks and providing custom network offerings such as firewall, VPN, or load balancer support. message.desc.basic.zone=Provide a single network where each VM instance is assigned an IP directly from the network. Guest isolation can be provided through layer-3 means such as security groups (IP address source filtering). message.desc.cluster=Each pod must contain one or more clusters, and we will add the first cluster now. A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Each cluster consists of one or more hosts and one or more primary storage servers. -message.desc.host=Each cluster must contain at least one host (computer) for guest VMs to run on, and we will add the first host now. For a host to function in CloudStack, you must install hypervisor software on the host, assign an IP address to the host, and ensure the host is connected to the CloudStack management server.

Give the host's DNS or IP address, the user name (usually root) and password, and any labels you use to categorize hosts. +message.desc.host=Each cluster must contain at least one host (computer) for guest VMs to run on, and we will add the first host now. For a host to function in CloudStack, you must install hypervisor software on the host, assign an IP address to the host, and ensure the host is connected to the CloudStack management server.

Give the host\\'s DNS or IP address, the user name (usually root) and password, and any labels you use to categorize hosts. message.desc.primary.storage=Each cluster must contain one or more primary storage servers, and we will add the first one now. Primary storage contains the disk volumes for all the VMs running on hosts in the cluster. Use any standards-compliant protocol that is supported by the underlying hypervisor. message.desc.secondary.storage=Each zone must have at least one NFS or secondary storage server, and we will add the first one now. Secondary storage stores VM templates, ISO images, and VM disk volume snapshots. This server must be available to all hosts in the zone.

Provide the IP address and exported path. message.desc.zone=A zone is the largest organizational unit in CloudStack, and it typically corresponds to a single datacenter. Zones provide physical isolation and redundancy. A zone consists of one or more pods (each of which contains hosts and primary storage servers) and a secondary storage server which is shared by all pods in the zone. message.detach.disk=Are you sure you want to detach this disk? message.detach.iso.confirm=Please confirm that you want to detach the ISO from this virtual instance. -message.disable.account=Please confirm that you want to disable this account. By disabling the account, all users for this account will no longer have access to their cloud resources. All running virtual machines will be immediately shut down. +message.disable.account=Please confirm that you want to disable this account. By disabling the account, all users for this account will no longer have access to their cloud resources. All running virtual machines will be immediately shut down. message.disable.snapshot.policy=You have successfully disabled your current snapshot policy. message.disable.user=Please confirm that you would like to disable this user. message.disable.vpn.access=Please confirm that you want to disable VPN Access. message.disable.vpn=Are you sure you want to disable VPN? -message.download.ISO=Please click 00000 to download ISO -message.download.template=Please click 00000 to download template +message.download.ISO=Please click 00000 to download ISO +message.download.template=Please click 00000 to download template message.download.volume.confirm=Please confirm that you want to download this volume -message.download.volume=Please click 00000 to download volume +message.download.volume=Please click 00000 to download volume message.edit.account=Edit ("-1" indicates no limit to the amount of resources create) message.edit.confirm=Please confirm that your changes before clicking "Save". message.edit.limits=Please specify limits to the following resources. A "-1" indicates no limit to the amount of resources create. message.edit.traffic.type=Please specify the traffic label you want associated with this traffic type. message.enable.account=Please confirm that you want to enable this account. -message.enabled.vpn.ip.sec=Your IPSec pre-shared key is -message.enabled.vpn=Your VPN access is currently enabled and can be accessed via the IP message.enable.user=Please confirm that you would like to enable this user. message.enable.vpn.access=VPN is currently disabled for this IP Address. Would you like to enable VPN access? message.enable.vpn=Please confirm that you want VPN access enabled for this IP address. +message.enabled.vpn.ip.sec=Your IPSec pre-shared key is +message.enabled.vpn=Your VPN access is currently enabled and can be accessed via the IP message.enabling.security.group.provider=Enabling Security Group provider message.enabling.zone=Enabling zone message.enter.token=Please enter the token that you were given in your invite e-mail. @@ -1369,14 +1364,14 @@ message.generate.keys=Please confirm that you would like to generate new keys fo message.guest.traffic.in.advanced.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of VLAN IDs to carry guest traffic for each physical network. message.guest.traffic.in.basic.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of IP addresses that CloudStack can assign to guest VMs. Make sure this range does not overlap the reserved system IP range. message.installWizard.click.retry=Click the button to retry launch. -message.installWizard.copy.whatIsACluster=A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack™ deployment. Clusters are contained within pods, and pods are contained within zones.

CloudStack™ allows multiple clusters in a cloud deployment, but for a Basic Installation, we only need one cluster. -message.installWizard.copy.whatIsAHost=A host is a single computer. Hosts provide the computing resources that run the guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs (except for bare metal hosts, which are a special case discussed in the Advanced Installation Guide). For example, a Linux KVM-enabled server, a Citrix XenServer server, and an ESXi server are hosts. In a Basic Installation, we use a single host running XenServer or KVM.

The host is the smallest organizational unit within a CloudStack™ deployment. Hosts are contained within clusters, clusters are contained within pods, and pods are contained within zones. -message.installWizard.copy.whatIsAPod=A pod often represents a single rack. Hosts in the same pod are in the same subnet.

A pod is the second-largest organizational unit within a CloudStack™ deployment. Pods are contained within zones. Each zone can contain one or more pods; in the Basic Installation, you will have just one pod in your zone. -message.installWizard.copy.whatIsAZone=A zone is the largest organizational unit within a CloudStack™ deployment. A zone typically corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter. The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For example, each zone can have its own power supply and network uplink, and the zones can be widely separated geographically (though this is not required). -message.installWizard.copy.whatIsCloudStack=CloudStack™ is a software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. CloudStack™ manages the network, storage, and compute nodes that make up a cloud infrastructure. Use CloudStack™ to deploy, manage, and configure cloud computing environments.

Extending beyond individual virtual machine images running on commodity hardware, CloudStack™ provides a turnkey cloud infrastructure software stack for delivering virtual datacenters as a service - delivering all of the essential components to build, deploy, and manage multi-tier and multi-tenant cloud applications. Both open-source and Premium versions are available, with the open-source version offering nearly identical features. -message.installWizard.copy.whatIsPrimaryStorage=A CloudStack™ cloud infrastructure makes use of two types of storage: primary storage and secondary storage. Both of these can be iSCSI or NFS servers, or localdisk.

Primary storage is associated with a cluster, and it stores the disk volumes of each guest VM for all the VMs running on hosts in that cluster. The primary storage server is typically located close to the hosts. -message.installWizard.copy.whatIsSecondaryStorage=Secondary storage is associated with a zone, and it stores the following:
  • Templates - OS images that can be used to boot VMs and can include additional configuration information, such as installed applications
  • ISO images - OS images that can be bootable or non-bootable
  • Disk volume snapshots - saved copies of VM data which can be used for data recovery or to create new templates
-message.installWizard.now.building=Now building your cloud... +message.installWizard.copy.whatIsACluster=A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack&\#8482; deployment. Clusters are contained within pods, and pods are contained within zones.

CloudStack&\#8482; allows multiple clusters in a cloud deployment, but for a Basic Installation, we only need one cluster. +message.installWizard.copy.whatIsAHost=A host is a single computer. Hosts provide the computing resources that run the guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs (except for bare metal hosts, which are a special case discussed in the Advanced Installation Guide). For example, a Linux KVM-enabled server, a Citrix XenServer server, and an ESXi server are hosts. In a Basic Installation, we use a single host running XenServer or KVM.

The host is the smallest organizational unit within a CloudStack&\#8482; deployment. Hosts are contained within clusters, clusters are contained within pods, and pods are contained within zones. +message.installWizard.copy.whatIsAPod=A pod often represents a single rack. Hosts in the same pod are in the same subnet.

A pod is the second-largest organizational unit within a CloudStack&\#8482; deployment. Pods are contained within zones. Each zone can contain one or more pods; in the Basic Installation, you will have just one pod in your zone. +message.installWizard.copy.whatIsAZone=A zone is the largest organizational unit within a CloudStack&\#8482; deployment. A zone typically corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter. The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For example, each zone can have its own power supply and network uplink, and the zones can be widely separated geographically (though this is not required). +message.installWizard.copy.whatIsCloudStack=CloudStack&\#8482 is a software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. CloudStack&\#8482 manages the network, storage, and compute nodes that make up a cloud infrastructure. Use CloudStack&\#8482 to deploy, manage, and configure cloud computing environments.

Extending beyond individual virtual machine images running on commodity hardware, CloudStack&\#8482 provides a turnkey cloud infrastructure software stack for delivering virtual datacenters as a service - delivering all of the essential components to build, deploy, and manage multi-tier and multi-tenant cloud applications. Both open-source and Premium versions are available, with the open-source version offering nearly identical features. +message.installWizard.copy.whatIsPrimaryStorage=A CloudStack&\#8482; cloud infrastructure makes use of two types of storage\: primary storage and secondary storage. Both of these can be iSCSI or NFS servers, or localdisk.

Primary storage is associated with a cluster, and it stores the disk volumes of each guest VM for all the VMs running on hosts in that cluster. The primary storage server is typically located close to the hosts. +message.installWizard.copy.whatIsSecondaryStorage=Secondary storage is associated with a zone, and it stores the following\:
  • Templates - OS images that can be used to boot VMs and can include additional configuration information, such as installed applications
  • ISO images - OS images that can be bootable or non-bootable
  • Disk volume snapshots - saved copies of VM data which can be used for data recovery or to create new templates
+message.installWizard.now.building=Now building your cloud... message.installWizard.tooltip.addCluster.name=A name for the cluster. This can be text of your choosing and is not used by CloudStack. message.installWizard.tooltip.addHost.hostname=The DNS name or IP address of the host. message.installWizard.tooltip.addHost.password=This is the password for the user named above (from your XenServer install). @@ -1406,26 +1401,26 @@ message.instanceWizard.noTemplates=You do not have any templates available; plea message.ip.address.changed=Your IP addresses may have changed; would you like to refresh the listing? Note that in this case the details pane will close. message.iso.desc=Disc image containing data or bootable media for OS message.join.project=You have now joined a project. Please switch to Project view to see the project. -message.launch.vm.on.private.network=Do you wish to launch your instance on your own private dedicated network? +message.launch.vm.on.private.network=Do you wish to launch your instance on your own private dedicated network? message.launch.zone=Zone is ready to launch; please proceed to the next step. message.lock.account=Please confirm that you want to lock this account. By locking the account, all users for this account will no longer be able to manage their cloud resources. Existing resources can still be accessed. message.migrate.instance.confirm=Please confirm the host you wish to migrate the virtual instance to. message.migrate.instance.to.host=Please confirm that you want to migrate instance to another host. message.migrate.instance.to.ps=Please confirm that you want to migrate instance to another primary storage. -message.migrate.router.confirm=Please confirm the host you wish to migrate the router to: -message.migrate.systemvm.confirm=Please confirm the host you wish to migrate the system VM to: +message.migrate.router.confirm=Please confirm the host you wish to migrate the router to\: +message.migrate.systemvm.confirm=Please confirm the host you wish to migrate the system VM to\: message.migrate.volume=Please confirm that you want to migrate volume to another primary storage. -message.new.user=Specify the following to add a new user to the account +message.new.user=Specify the following to add a new user to the account message.no.network.support.configuration.not.true=You do not have any zone that has security group enabled. Thus, no additional network features. Please continue to step 5. message.no.network.support=Your selected hypervisor, vSphere, does not have any additional network features. Please continue to step 5. message.no.projects.adminOnly=You do not have any projects.
Please ask your administrator to create a new project. message.no.projects=You do not have any projects.
Please create a new one from the projects section. -message.number.clusters=

# of Clusters

-message.number.hosts=

# of Hosts

-message.number.pods=

# of Pods

-message.number.storage=

# of Primary Storage Volumes

-message.number.zones=

# of Zones

-message.pending.projects.1=You have pending project invitations: +message.number.clusters=

\# of Clusters

+message.number.hosts=

\# of Hosts

+message.number.pods=

\# of Pods

+message.number.storage=

\# of Primary Storage Volumes

+message.number.zones=

\# of Zones

+message.pending.projects.1=You have pending project invitations\: message.pending.projects.2=To view, please go to the projects section, then select invitations from the drop-down. message.please.add.at.lease.one.traffic.range=Please add at least one traffic range. message.please.proceed=Please proceed to the next step. @@ -1456,7 +1451,7 @@ message.select.security.groups=Please select security group(s) for your new VM message.select.template=Please select a template for your new virtual instance. message.setup.physical.network.during.zone.creation.basic=When adding a basic zone, you can set up one physical network, which corresponds to a NIC on the hypervisor. The network carries several types of traffic.

You may also drag and drop other traffic types onto the physical network. message.setup.physical.network.during.zone.creation=When adding an advanced zone, you need to set up one or more physical networks. Each network corresponds to a NIC on the hypervisor. Each physical network can carry one or more types of traffic, with certain restrictions on how they may be combined.

Drag and drop one or more traffic types onto each physical network. -message.setup.successful=Cloud setup successful! +message.setup.successful=Cloud setup successful\! message.snapshot.schedule=You can setup recurring snapshot schedules by selecting from the available options below and applying your policy preference message.specify.url=Please specify URL message.step.1.continue=Please select a template or ISO to continue @@ -1467,7 +1462,7 @@ message.step.3.continue=Please select a disk offering to continue message.step.3.desc= message.step.4.continue=Please select at least one network to continue message.step.4.desc=Please select the primary network that your virtual instance will be connected to. -message.storage.traffic=Traffic between CloudStack's internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs. Please configure storage traffic here. +message.storage.traffic=Traffic between CloudStack\\'s internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs. Please configure storage traffic here. message.suspend.project=Are you sure you want to suspend this project? message.template.desc=OS image that can be used to boot VMs message.tooltip.dns.1=Name of a DNS server for use by VMs in the zone. The public IP addresses for the zone must have a route to this server. @@ -1481,7 +1476,7 @@ message.tooltip.reserved.system.netmask=The network prefix that defines the pod message.tooltip.zone.name=A name for the zone. message.update.os.preference=Please choose a OS preference for this host. All virtual instances with similar preferences will be first allocated to this host before choosing another. message.update.resource.count=Please confirm that you want to update resource counts for this account. -message.update.ssl=Please submit a new X.509 compliant SSL certificate to be updated to each console proxy virtual instance: +message.update.ssl=Please submit a new X.509 compliant SSL certificate to be updated to each console proxy virtual instance\: message.validate.instance.name=Instance name can not be longer than 63 characters. Only ASCII letters a~z, A~Z, digits 0~9, hyphen are allowed. Must start with a letter and end with a letter or a digit. message.virtual.network.desc=A dedicated virtualized network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router. message.vm.create.template.confirm=Create Template will reboot the VM automatically. @@ -1492,9 +1487,9 @@ message.zone.creation.complete.would.you.like.to.enable.this.zone=Zone creation message.Zone.creation.complete=Zone creation complete message.zone.no.network.selection=The zone you selected does not have any choices for network selection. message.zone.step.1.desc=Please select a network model for your zone. -message.zone.step.2.desc=Please enter the following info to add a new zone -message.zone.step.3.desc=Please enter the following info to add a new pod -message.zoneWizard.enable.local.storage=WARNING: If you enable local storage for this zone, you must do the following, depending on where you would like your system VMs to launch:

1. If system VMs need to be launched in primary storage, primary storage needs to be added to the zone after creation. You must also start the zone in a disabled state.

2. If system VMs need to be launched in local storage, system.vm.use.local.storage needs to be set to true before you enable the zone.


Would you like to continue? +message.zone.step.2.desc=Please enter the following info to add a new zone +message.zone.step.3.desc=Please enter the following info to add a new pod +message.zoneWizard.enable.local.storage=WARNING\: If you enable local storage for this zone, you must do the following, depending on where you would like your system VMs to launch\:

1. If system VMs need to be launched in primary storage, primary storage needs to be added to the zone after creation. You must also start the zone in a disabled state.

2. If system VMs need to be launched in local storage, system.vm.use.local.storage needs to be set to true before you enable the zone.


Would you like to continue? mode=Mode network.rate=Network Rate notification.reboot.instance=Reboot instance @@ -1512,14 +1507,14 @@ state.Creating=Creating state.Declined=Declined state.Destroyed=Destroyed state.Disabled=Disabled -state.enabled=Enabled state.Enabled=Enabled +state.enabled=Enabled state.Error=Error state.Expunging=Expunging state.Migrating=Migrating state.Pending=Pending -state.ready=Ready state.Ready=Ready +state.ready=Ready state.Running=Running state.Starting=Starting state.Stopped=Stopped From bdbeb7bc3bafe0a694d43ef58f5d21d6f9cff0b5 Mon Sep 17 00:00:00 2001 From: Sebastien Goasguen Date: Mon, 29 Apr 2013 09:53:13 -0400 Subject: [PATCH 106/283] Adding arabic to .tx/config file --- tools/transifex/.tx/config | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config index 80c02aa957c..9c495cce520 100644 --- a/tools/transifex/.tx/config +++ b/tools/transifex/.tx/config @@ -17,6 +17,7 @@ source_lang = en file_filter = translations/CloudStack_UI.42xmessagesproperties/.properties source_file = work-dir/messages.properties source_lang = en +trans.ar = work-dir/messages_ar.properties trans.ca = work-dir/messages_ca.properties trans.de_DE = work-dir/messages_de_DE.properties trans.es = work-dir/messages_es.properties From 137fd188cf45b484fae03d8c2e9ebae856197ab9 Mon Sep 17 00:00:00 2001 From: Sebastien Goasguen Date: Mon, 29 Apr 2013 10:09:47 -0400 Subject: [PATCH 107/283] Adding latest arabic resource file --- .../classes/resources/messages_ar.properties | 1683 ++--------------- 1 file changed, 198 insertions(+), 1485 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties index aa8e4410dda..f0b779611b6 100644 --- a/client/WEB-INF/classes/resources/messages_ar.properties +++ b/client/WEB-INF/classes/resources/messages_ar.properties @@ -16,1150 +16,82 @@ # under the License. -#new labels (begin) ********************************************************************************************** -label.egress.rules=\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0631\u0648\u062c -message.acquire.new.ip.vpc=\u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0628\u0648\u0631\u062a\u0648\u0643\u0648\u0644 \u0625\u0646\u062a\u0631\u0646\u062a \u062c\u062f\u064a\u062f \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a. -label.zoneWizard.trafficType.management=\u0625\u062f\u0627\u0631\u0629\\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u060c \u0645\u062a\u0636\u0645\u0646\u0629 \u0623\u064a \u062c\u0632\u0621 \u064a\u062a\u0635\u0644 \u0628\u062e\u0627\u062f\u0645\\\u0633\u064a\u0631\u0641\u0631 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u060c \u0645\u062b\u0644 \u0627\u0644\u0645\u0636\u064a\u0641\u0627\u062a \u0648 \u0623\u0646\u0638\u0645\u0629 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629. -label.zoneWizard.trafficType.public=\u0627\u0644\u0639\u0627\u0645\u0629 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u0629. -label.zoneWizard.trafficType.guest=\u0627\u0644\u0636\u064a\u0641 \\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0647\u0627\u0626\u064a. -label.zoneWizard.trafficType.storage=\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0645\u0644\u0642\u0645\u0627\u062a \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0642\u0648\u0627\u0644\u0628 VM \u0648\u0627\u0644\u0644\u0642\u0637\u0627\u062a -label.quickview=\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629 -label.migrate.to.host=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641 -label.migrate.to.storage=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 -label.stop=\u062a\u0648\u0642\u0641 -label.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 -label.destroy=\u0647\u062f\u0645 -label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629 -label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 -label.broadcast.uri=\u0628\u062b \u0627\u0644\u0631\u0627\u0628\u0637 -label.enable.s3=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u0648\u064a S3 +changed.item.properties=\u062a\u063a\u064a\u0631 \u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0639\u0646\u0635\u0631 confirm.enable.s3=\u0641\u0636\u0644\u0627 \u0642\u0645 \u0628\u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0642\u0627\u062f\u0645\u0629 \u0644\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. -message.after.enable.s3=\u062a\u0645 \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. \u062a\u0646\u0648\u064a\u0647 \: \u0639\u0646\u062f \u0645\u063a\u0627\u062f\u0631\u062a\u0643 \u0644\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0644\u0646 \u064a\u0643\u0648\u0646 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 S3 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649. -label.s3.access_key=\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0648\u0635\u0648\u0644 -label.s3.secret_key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a -label.s3.bucket=\u062f\u0644\u0648 -label.s3.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629 -label.s3.use_https=\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS -label.s3.connection_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 -label.s3.max_error_retry=\u0623\u0642\u0635\u0649 \u062e\u0637\u0623 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 -label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\u0633 -#new labels (end) ************************************************************************************************ - - -#modified labels (begin) ***************************************************************************************** -label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN -message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\:

1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 -#modified labels (end) ******************************************************************************************* - -label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs -label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs -label.add.network.ACL=\u0625\u0636\u0627\u0641\u0629 \u0634\u0628\u0643\u0629 ACL -label.private.Gateway=\u0645\u0646\u0641\u0630\\Gateway \u062e\u0627\u0635 -label.VPC.router.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u062c\u0647\u0627\u0632 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 VPC -label.VMs.in.tier=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0637\u0628\u0642\u0629 -label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a -label.tier.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0628\u0642\u0629 -label.edit.tags=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a -label.action.enable.physical.network=\u062a\u0645\u0643\u064a\u0646 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +instances.actions.reboot.label=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +label.accept.project.invitation=\u0642\u0628\u0648\u0644 \u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.action.delete.system.service.offering=\u062d\u0630\u0641 \u0646\u0638\u0627\u0645 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u062e\u062f\u0645\u0629 label.action.disable.physical.network=\u062a\u0639\u0637\u064a\u0644 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 -message.action.enable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 -message.action.disable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 - -label.select.tier=\u062d\u062f\u062f \u0637\u0628\u0642\u0629 -label.add.ACL=\u0625\u0636\u0627\u0641\u0629 ACL -label.remove.ACL=\u0625\u0632\u0627\u0644\u0629 ACL -label.tier=\u0637\u0628\u0642\u0629 -label.network.ACL=\u0634\u0628\u0643\u0629 ACL -label.network.ACL.total=\u0625\u062c\u0645\u0627\u0644 \u0634\u0628\u0643\u0629 ACL -label.add.new.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u062c\u062f\u064a\u062f\u0629 -message.add.new.gateway.to.vpc=\u0641\u0636\u0644\u0627 \u062d\u062f\u062f \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0644\u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 gateway \u0644\u0647\u0630\u0647 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 VPC -label.delete.gateway=\u0627\u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 -message.delete.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 -label.CIDR.of.destination.network=CIDR \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0648\u062c\u0647\u0629. -label.add.route=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u0627\u0631 -label.add.static.route=\u0625\u0636\u0627\u0641\u0629 \u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a -label.remove.static.route=\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a -label.add.VPN.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -# message.add.VPN.gateway=Please confirm that you want to add a VPN Gateway -label.VPN.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -label.delete.VPN.gateway=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -message.delete.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -label.VPN.connection=\u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627 -label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE -label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP -label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -label.VPN.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644 -label.CIDR.list=\u0642\u0627\u0626\u0645\u0629 CIDR -label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) -label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) -label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f -label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -message.reset.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0639\u0627\u062f\u0629-\u0636\u0628\u0637 \u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN -label.delete.VPN.connection=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -# message.delete.VPN.connection=Please confirm that you want to delete VPN connection -label.add.new.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062c\u062f\u064a\u062f\u0629 -label.add.VM.to.tier=\u0625\u0636\u0627\u0641\u0629 \u062c\u0647\u0627\u0632 \u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0637\u0628\u0642\u0629 -label.remove.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 - -label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a -label.associated.network=\u0634\u0628\u0643\u0629 \u0645\u0631\u062a\u0628\u0637\u0629 -label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 -label.dns=\u0646\u0638\u0627\u0645 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0644 DNS - -label.vpc=\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 VPC -label.vpc.id=\u0647\u0648\u064a\u0629 \u062e\u0627\u0635\u0629 \u0628\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 -label.tier=\u0637\u0628\u0642\u0629 -label.add.vpc=\u0625\u0636\u0627\u0641\u0629 \u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 -label.super.cidr.for.guest.networks=CIDR \u0645\u0645\u062a\u0627\u0632 \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0636\u064a\u0641. -# label.DNS.domain.for.guest.networks=DNS domain for Guest Networks -# label.configure.vpc=Configure VPC -# label.edit.vpc=Edit VPC -# label.restart.vpc=restart VPC -# message.restart.vpc=Please confirm that you want to restart the VPC -# label.remove.vpc=remove VPC -# message.remove.vpc=Please confirm that you want to remove the VPC -# label.vpn.customer.gateway=VPN Customer Gateway -# label.add.vpn.customer.gateway=Add VPN Customer Gateway -# label.IKE.encryption=IKE Encryption -# label.IKE.hash=IKE Hash -# label.IKE.DH=IKE DH -# label.ESP.encryption=ESP Encryption -# label.ESP.hash=ESP Hash -# label.perfect.forward.secrecy=Perfect Forward Secrecy -label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) -label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) -label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f -label.delete.VPN.customer.gateway=\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 VPN \u0627\u0644\u0645\u062e\u0635\u0635\u0629 -# message.delete.VPN.customer.gateway=Please confirm that you want to delete this VPN Customer Gateway - -# label.network.domain.text=Network domain -label.memory.mb=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 ( \u0628\u0627\u0644\u0645\u064a\u062c\u0627\u0628\u0627\u064a\u0628\u062a) -label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632) - -# message.action.remove.host=Please confirm that you want to remove this host. - -# message.action.reboot.router=All services provided by this virtual router will be interrupted. Please confirm that you want to reboot this router. -# message.action.stop.router=All services provided by this virtual router will be interrupted. Please confirm that you want to stop this router. -# message.restart.network=All services provided by this network will be interrupted. Please confirm that you want to restart this network. - - -# label.ipaddress=IP Address -# label.vcdcname=vCenter DC name -# label.vcipaddress=vCenter IP Address -# label.vsmctrlvlanid=Control VLAN ID -# label.vsmpktvlanid=Packet VLAN ID -# label.vsmstoragevlanid=Storage VLAN ID -# label.nexusVswitch=Nexus 1000v -# label.action.delete.nexusVswitch=Delete Nexus 1000v -# label.action.enable.nexusVswitch=Enable Nexus 1000v -# label.action.disable.nexusVswitch=Disable Nexus 1000v -# label.action.list.nexusVswitch=List Nexus 1000v -# message.action.delete.nexusVswitch=Please confirm that you want to delete this nexus 1000v -# message.action.enable.nexusVswitch=Please confirm that you want to enable this nexus 1000v -# message.action.disable.nexusVswitch=Please confirm that you want to disable this nexus 1000v -# message.specify.url=Please specify URL -# label.select.instance.to.attach.volume.to=Select instance to attach volume to -label.upload=\u0631\u0641\u0639 -# label.upload.volume=Upload volume -# label.virtual.routers=Virtual Routers -# label.primary.storage.count=Primary Storage Pools -# label.secondary.storage.count=Secondary Storage Pools -# label.number.of.system.vms=Number of System VMs -# label.number.of.virtual.routers=Number of Virtual Routers -# label.action.register.iso=Register ISO -# label.isolation.method=Isolation method -# label.action.register.template=Register template -# label.checksum=MD5 checksum -# label.vpn=VPN -# label.vlan=VLAN - - -# label.management.ips=Management IP Addresses -label.devices=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 -# label.rules=Rules -# label.traffic.label=Traffic label -# label.vm.state=VM state -# message.setup.physical.network.during.zone.creation.basic=When adding a basic zone, you can set up one physical network, which corresponds to a NIC on the hypervisor. The network carries several types of traffic.

You may also drag and drop other traffic types onto the physical network. -# label.domain.router=Domain router -# label.console.proxy=Console proxy -# label.secondary.storage.vm=Secondary storage VM -# label.add.netScaler.device=Add Netscaler device -# label.add.F5.device=Add F5 device -# label.add.SRX.device=Add SRX device -# label.account.and.security.group=Account, Security group -# label.fetch.latest=Fetch latest -# label.system.offering=System Offering -# message.validate.instance.name=Instance name can not be longer than 63 characters. Only ASCII letters a~z, A~Z, digits 0~9, hyphen are allowed. Must start with a letter and end with a letter or a digit. - - -# label.isolated.networks=Isolated networks -# label.latest.events=Latest events -# state.Enabled=Enabled -# label.system.wide.capacity=System-wide capacity -# label.network.service.providers=Network Service Providers -# message.launch.zone=Zone is ready to launch; please proceed to the next step. -# error.unable.to.reach.management.server=Unable to reach Management Server -# label.internal.name=Internal name -# message.configure.all.traffic.types=You have multiple physical networks; please configure labels for each traffic type by clicking on the Edit button. -# message.edit.traffic.type=Please specify the traffic label you want associated with this traffic type. -# label.edit.traffic.type=Edit traffic type -# label.label=Label -# label.max.networks=Max. networks -# error.invalid.username.password=Invalid username or password -# message.enabling.security.group.provider=Enabling Security Group provider -# message.adding.Netscaler.provider=Adding Netscaler provider -# message.creating.guest.network=Creating guest network -# label.action.delete.physical.network=Delete physical network -# message.action.delete.physical.network=Please confirm that you want to delete this physical network -# message.installWizard.copy.whatIsAHost=A host is a single computer. Hosts provide the computing resources that run the guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs (except for bare metal hosts, which are a special case discussed in the Advanced Installation Guide). For example, a Linux KVM-enabled server, a Citrix XenServer server, and an ESXi server are hosts. In a Basic Installation, we use a single host running XenServer or KVM.

The host is the smallest organizational unit within a CloudStack&\\\#8482; deployment. Hosts are contained within clusters, clusters are contained within pods, and pods are contained within zones. - - -# label.add.compute.offering=Add compute offering -# label.compute.offering=Compute offering -# label.compute.offerings=Compute offerings -# label.select.offering=Select offering -# label.menu.infrastructure=Infrastructure -label.sticky.tablesize=\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644 -# label.sticky.expire=Expires -# label.sticky.cookie-name=Cookie name -# label.sticky.mode=Mode -# label.sticky.length=Length -# label.sticky.holdtime=Hold time -# label.sticky.request-learn=Request learn -# label.sticky.prefix=Prefix -# label.sticky.nocache=No cache -# label.sticky.indirect=Indirect -# label.sticky.postonly=Post only -# label.sticky.domain=Domain -# state.Allocating=Allocating -# state.Migrating=Migrating -# error.please.specify.physical.network.tags=Network offerings is not available until you specify tags for this physical network. - - -# state.Stopping=Stopping -# message.add.load.balancer.under.ip=The load balancer rule has been added under IP\\\: -# message.select.instance=Please select an instance. -# label.select=Select -# label.select.vm.for.static.nat=Select VM for static NAT -# label.select.instance=Select instance -# label.nat.port.range=NAT Port Range -# label.static.nat.vm.details=Static NAT VM Details -# label.edit.lb.rule=Edit LB rule -# message.migrate.instance.to.host=Please confirm that you want to migrate instance to another host. -# label.migrate.instance.to.host=Migrate instance to another host -# message.migrate.instance.to.ps=Please confirm that you want to migrate instance to another primary storage. -# label.migrate.instance.to.ps=Migrate instance to another primary storage -# label.corrections.saved=Corrections saved -# message.installWizard.copy.whatIsSecondaryStorage=Secondary storage is associated with a zone, and it stores the following\\\:
  • Templates - OS images that can be used to boot VMs and can include additional configuration information, such as installed applications
  • ISO images - OS images that can be bootable or non-bootable
  • Disk volume snapshots - saved copies of VM data which can be used for data recovery or to create new templates
-# message.installWizard.copy.whatIsPrimaryStorage=A CloudStack&\\\#8482; cloud infrastructure makes use of two types of storage\\\: primary storage and secondary storage. Both of these can be iSCSI or NFS servers, or localdisk.

Primary storage is associated with a cluster, and it stores the disk volumes of each guest VM for all the VMs running on hosts in that cluster. The primary storage server is typically located close to the hosts. -# message.installWizard.copy.whatIsACluster=A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack&\\\#8482; deployment. Clusters are contained within pods, and pods are contained within zones.

CloudStack&\\\#8482; allows multiple clusters in a cloud deployment, but for a Basic Installation, we only need one cluster. -# message.installWizard.copy.whatIsAPod=A pod often represents a single rack. Hosts in the same pod are in the same subnet.

A pod is the second-largest organizational unit within a CloudStack&\\\#8482; deployment. Pods are contained within zones. Each zone can contain one or more pods; in the Basic Installation, you will have just one pod in your zone. -# message.installWizard.copy.whatIsAZone=A zone is the largest organizational unit within a CloudStack&\\\#8482; deployment. A zone typically corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter. The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For example, each zone can have its own power supply and network uplink, and the zones can be widely separated geographically (though this is not required). -# message.installWizard.copy.whatIsCloudStack=CloudStack&\\\#8482 is a software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. CloudStack&\\\#8482 manages the network, storage, and compute nodes that make up a cloud infrastructure. Use CloudStack&\\\#8482 to deploy, manage, and configure cloud computing environments.

Extending beyond individual virtual machine images running on commodity hardware, CloudStack&\\\#8482 provides a turnkey cloud infrastructure software stack for delivering virtual datacenters as a service - delivering all of the essential components to build, deploy, and manage multi-tier and multi-tenant cloud applications. Both open-source and Premium versions are available, with the open-source version offering nearly identical features. -# message.installWizard.tooltip.addSecondaryStorage.path=The exported path, located on the server you specified above -# message.installWizard.tooltip.addSecondaryStorage.nfsServer=The IP address of the NFS server hosting the secondary storage -# message.installWizard.tooltip.addPrimaryStorage.path=(for NFS) In NFS this is the exported path from the server. Path (for SharedMountPoint). With KVM this is the path on each host that is where this primary storage is mounted. For example, "/mnt/primary". -# message.installWizard.tooltip.addPrimaryStorage.server=(for NFS, iSCSI, or PreSetup) The IP address or DNS name of the storage device. -# message.installWizard.tooltip.addPrimaryStorage.name=The name for the storage device. -# message.installWizard.tooltip.addHost.password=This is the password for the user named above (from your XenServer install). -# message.installWizard.tooltip.addHost.username=Usually root. -# message.installWizard.tooltip.addHost.hostname=The DNS name or IP address of the host. -# message.installWizard.tooltip.addCluster.name=A name for the cluster. This can be text of your choosing and is not used by CloudStack. -# message.installWizard.tooltip.addPod.reservedSystemEndIp=This is the IP range in the private network that the CloudStack uses to manage Secondary Storage VMs and Console Proxy VMs. These IP addresses are taken from the same subnet as computing servers. -# message.installWizard.tooltip.addPod.reservedSystemStartIp=This is the IP range in the private network that the CloudStack uses to manage Secondary Storage VMs and Console Proxy VMs. These IP addresses are taken from the same subnet as computing servers. -# message.installWizard.tooltip.addPod.reservedSystemNetmask=The netmask in use on the subnet the guests will use. -# message.installWizard.tooltip.addPod.reservedSystemGateway=The gateway for the hosts in that pod. -# message.installWizard.tooltip.addPod.name=A name for the pod -# message.installWizard.tooltip.configureGuestTraffic.guestEndIp=The range of IP addresses that will be available for allocation to guests in this zone. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. -# message.installWizard.tooltip.configureGuestTraffic.guestStartIp=The range of IP addresses that will be available for allocation to guests in this zone. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. -# message.installWizard.tooltip.configureGuestTraffic.guestNetmask=The netmask in use on the subnet that the guests should use -# message.installWizard.tooltip.configureGuestTraffic.guestGateway=The gateway that the guests should use -# message.installWizard.tooltip.configureGuestTraffic.description=A description for your network -# message.installWizard.tooltip.configureGuestTraffic.name=A name for your network -# message.installWizard.tooltip.addZone.internaldns2=These are DNS servers for use by system VMs in the zone. These DNS servers will be accessed via the private network interface of the System VMs. The private IP address you provide for the pods must have a route to the DNS server named here. -# message.installWizard.tooltip.addZone.internaldns1=These are DNS servers for use by system VMs in the zone. These DNS servers will be accessed via the private network interface of the System VMs. The private IP address you provide for the pods must have a route to the DNS server named here. -# message.installWizard.tooltip.addZone.dns2=These are DNS servers for use by guest VMs in the zone. These DNS servers will be accessed via the public network you will add later. The public IP addresses for the zone must have a route to the DNS server named here. -# message.installWizard.tooltip.addZone.name=A name for the zone -# message.installWizard.tooltip.addZone.dns1=These are DNS servers for use by guest VMs in the zone. These DNS servers will be accessed via the public network you will add later. The public IP addresses for the zone must have a route to the DNS server named here. -# message.setup.successful=Cloud setup successful\\\! -# label.may.continue=You may now continue. -# error.installWizard.message=Something went wrong; you may go back and correct any errors -# message.installWizard.now.building=Now building your cloud... -# message.installWizard.click.retry=Click the button to retry launch. -# label.launch=Launch -# label.installWizard.click.launch=Click the launch button. -# label.congratulations=Congratulations\\\! -# label.installWizard.addSecondaryStorageIntro.subtitle=What is secondary storage? -# label.installWizard.addSecondaryStorageIntro.title=Let’s add secondary storage -# label.installWizard.addPrimaryStorageIntro.subtitle=What is primary storage? -# label.installWizard.addPrimaryStorageIntro.title=Let’s add primary storage -# label.installWizard.addHostIntro.subtitle=What is a host? -# label.installWizard.addHostIntro.title=Let’s add a host -# label.installWizard.addClusterIntro.subtitle=What is a cluster? -# label.installWizard.addClusterIntro.title=Let’s add a cluster -# label.installWizard.addPodIntro.subtitle=What is a pod? -# label.installWizard.addPodIntro.title=Let’s add a pod -# label.installWizard.addZone.title=Add zone -# label.installWizard.addZoneIntro.subtitle=What is a zone? -# label.installWizard.addZoneIntro.title=Let’s add a zone -# error.password.not.match=The password fields do not match -# label.confirm.password=Confirm password -# message.change.password=Please change your password. -# label.save.and.continue=Save and continue -# label.skip.guide=I have used CloudStack before, skip this guide -# label.continue.basic.install=Continue with basic installation -# label.introduction.to.cloudstack=Introduction to CloudStack&\\\#8482 -# label.what.is.cloudstack=What is CloudStack&\\\#8482? -# label.hints=Hints -# label.installWizard.subtitle=This tour will aid you in setting up your CloudStack&\\\#8482 installation -# label.continue=Continue -# label.installWizard.title=Hello and Welcome to CloudStack&\\\#8482 -# label.agree=Agree -# label.manage.resources=Manage Resources -# label.port.forwarding.policies=Port forwarding policies -# label.load.balancing.policies=Load balancing policies -# label.networking.and.security=Networking and security -# label.bandwidth=Bandwidth -# label.virtual.machines=Virtual machines -# label.compute.and.storage=Compute and Storage -# label.task.completed=Task completed -# label.update.project.resources=Update project resources -# label.remove.project.account=Remove project account -# label.item.listing=Item listing -# message.select.item=Please select an item. -# label.removing=Removing -# label.invite=Invite -# label.add.by=Add by -# label.max.vms=Max. user VMs -# label.max.public.ips=Max. public IPs -# label.max.volumes=Max. volumes -# label.max.snapshots=Max. snapshots -# label.max.templates=Max. templates -# label.max.vpcs=Max. VPCs -# label.project.dashboard=Project dashboard -label.remind.later=\u0630\u0643\u0631\u0646\u064a \u0644\u0627\u062d\u0642\u0627\u064b -label.invited.accounts=\u062f\u0639\u0648\u0629 \u062d\u0633\u0627\u0628\u0627\u062a -label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640 +label.action.enable.physical.network=\u062a\u0645\u0643\u064a\u0646 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +label.activate.project=\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 label.add.accounts.to=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a \u0625\u0644\u0649 label.add.accounts=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a -label.project.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 -label.networks=\u0627\u0644\u0634\u0628\u0643\u0627\u062a -# label.launch.vm=Launch VM -# label.new.vm=New VM -label.previous=\u0627\u0644\u0633\u0627\u0628\u0642 -label.add.to.group=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 -message.vm.review.launch=\u064a\u0631\u062c\u0649 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0648\u062a\u0623\u0643\u062f \u0623\u0646 \u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0635\u062d\u064a\u062d \u0642\u0628\u0644 \u0627\u0644\u0625\u0646\u0637\u0644\u0627\u0642 -# message.select.security.groups=Please select security group(s) for your new VM -label.new=\u062c\u062f\u064a\u062f -message.please.select.networks=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0644\u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a -# message.please.proceed=Please proceed to the next step. -# message.zone.no.network.selection=The zone you selected does not have any choices for network selection. -label.no.thanks=\u0644\u0627\u061b \u0634\u0643\u0631\u0627\u064b -label.my.templates=\u0642\u0648\u0627\u0644\u0628\u064a -message.select.template=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0642\u0627\u0644\u0628 \u0644\u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u062c\u062f\u064a\u062f -# message.select.iso=Please select an ISO for your new virtual instance. -# message.template.desc=OS image that can be used to boot VMs -# message.iso.desc=Disc image containing data or bootable media for OS -# label.select.iso.or.template=Select ISO or template -# message.select.a.zone=A zone typically corresponds to a single datacenter. Multiple zones help make the cloud more reliable by providing physical isolation and redundancy. -# label.select.a.zone=Select a zone -label.review=\u0645\u0631\u0627\u062c\u0639\u0629 -label.select.a.template=\u0627\u062e\u062a\u0631 \u0642\u0627\u0644\u0628 -label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a -state.Allocated=\u062a\u062e\u0635\u064a\u0635 -changed.item.properties=\u062a\u063a\u064a\u0631 \u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0639\u0646\u0635\u0631 -label.apply=\u062a\u0637\u0628\u064a\u0642 -label.default=\u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a -label.viewing=\u0639\u0631\u0636 -label.move.to.top=\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0623\u0639\u0644\u0649 -label.move.up.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0644\u0649 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f -label.move.down.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f -label.move.to.bottom=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 -label.drag.new.position=\u0627\u0633\u062d\u0628 \u0644\u0645\u0648\u0642\u0641 \u062c\u062f\u064a\u062f -label.order=\u062a\u0631\u062a\u064a\u0628 -label.no.data=\u0644\u0627 \u064a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0644\u0639\u0631\u0636 -label.change.value=\u062a\u063a\u064a\u0631 \u0627\u0644\u0642\u064a\u0645\u0629 -label.clear.list=\u0645\u0633\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629 -label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644 -message.add.domain=\u064a\u0631\u062c\u0649 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0627\u0644 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0646\u0634\u0627\u0621 \u062a\u062d\u062a \u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 -message.delete.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 -message.enable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 -message.disable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 -message.generate.keys=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0627\u062a\u064a\u062d \u062c\u062f\u064a\u062f\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 -message.update.resource.count=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628 -# message.edit.account=Edit ("-1" indicates no limit to the amount of resources create) -# label.total.of.vm=Total of VM -# label.total.of.ip=Total of IP Address -state.enabled=\u062a\u0645\u0643\u064a\u0646 -# message.action.download.iso=Please confirm that you want to download this ISO. -# message.action.download.template=Please confirm that you want to download this template. -# label.destination.zone=Destination Zone -label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d -# label.nic.adapter.type=NIC adapter type -# label.root.disk.controller=Root disk controller -# label.community=Community -# label.remove.egress.rule=Remove egress rule -# label.add.egress.rule=Add egress rule -# label.egress.rule=Egress rule -# label.remove.ingress.rule=Remove ingress rule -# label.delete.vpn.user=Delete VPN user -# label.add.vpn.user=Add VPN user -# label.remove.pf=Remove port forwarding rule -# label.remove.vm.from.lb=Remove VM from load balancer rule -# label.add.vms.to.lb=Add VM(s) to load balancer rule -# label.add.vm=Add VM -# label.remove.static.nat.rule=Remove static NAT rule -# label.remove.rule=Remove rule -# label.add.static.nat.rule=Add static NAT rule +label.add.ACL=\u0625\u0636\u0627\u0641\u0629 ACL +label.add.network.ACL=\u0625\u0636\u0627\u0641\u0629 \u0634\u0628\u0643\u0629 ACL +label.add.new.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u062c\u062f\u064a\u062f\u0629 +label.add.new.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062c\u062f\u064a\u062f\u0629 +label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 +label.add.route=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u0627\u0631 label.add.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 -label.configuration=\u0627\u0644\u062a\u0643\u0648\u064a\u0646 -# message.disable.vpn=Are you sure you want to disable VPN? -# label.disable.vpn=Disable VPN -# message.enable.vpn=Please confirm that you want VPN access enabled for this IP address. -# label.enable.vpn=Enable VPN -# message.acquire.new.ip=Please confirm that you would like to acquire a new IP for this network. -label.elastic=\u0645\u0631\u0646 -label.my.network=\u0634\u0628\u0643\u062a\u064a -# label.add.vms=Add VMs -label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646 -# label.stickiness=Stickiness -label.source=\u0645\u0635\u062f\u0631 -label.least.connections=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a -# label.round.robin=Round-robin -label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 +label.add.static.route=\u0625\u0636\u0627\u0641\u0629 \u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a +label.add.to.group=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 +label.add.VM.to.tier=\u0625\u0636\u0627\u0641\u0629 \u062c\u0647\u0627\u0632 \u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0637\u0628\u0642\u0629 +label.add.vpc=\u0625\u0636\u0627\u0641\u0629 \u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 +label.add.VPN.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.apply=\u062a\u0637\u0628\u064a\u0642 +label.associated.network=\u0634\u0628\u0643\u0629 \u0645\u0631\u062a\u0628\u0637\u0629 +label.broadcast.uri=\u0628\u062b \u0627\u0644\u0631\u0627\u0628\u0637 +label.change.value=\u062a\u063a\u064a\u0631 \u0627\u0644\u0642\u064a\u0645\u0629 +label.CIDR.list=\u0642\u0627\u0626\u0645\u0629 CIDR +label.CIDR.of.destination.network=CIDR \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0648\u062c\u0647\u0629. label.clean.up=\u062a\u0646\u0638\u064a\u0641 -label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 -label.edit.network.details=\u062a\u062d\u0631\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 -# label.add.guest.network=Add guest network -# label.guest.networks=Guest networks -# message.ip.address.changed=Your IP addresses may have changed; would you like to refresh the listing? Note that in this case the details pane will close. -# state.BackingUp=Backing Up -# state.BackedUp=Backed Up -# label.done=Done -# label.vm.name=VM name -# message.migrate.volume=Please confirm that you want to migrate volume to another primary storage. -# label.migrate.volume=Migrate volume to another primary storage -# message.create.template=Are you sure you want to create template? -# label.create.template=Create template -# message.download.volume.confirm=Please confirm that you want to download this volume -message.detach.disk=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0631\u0635\u061f -state.ready=\u062c\u0627\u0647\u0632 -state.Ready=\u062c\u0627\u0647\u0632 -# label.vm.display.name=VM display name -label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 -# label.local.storage=Local Storage -label.direct.ips=\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 IPs -label.view.all=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 -label.zone.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 -# message.alert.state.detected=Alert state detected -# state.Starting=Starting -state.Expunging=\u0645\u062d\u0648 -state.Creating=\u0625\u0646\u0634\u0627\u0621 -message.decline.invitation=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0631\u0641\u0636 \u0647\u0630\u0647 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061f +label.clear.list=\u0645\u0633\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629 +label.configuration=\u0627\u0644\u062a\u0643\u0648\u064a\u0646 +label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs +label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646 +label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632) +label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 +label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f label.decline.invitation=\u0631\u0641\u0636 \u0627\u0644\u062f\u0639\u0648\u0629 -message.confirm.join.project=\u0646\u0631\u062c\u0648 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -message.join.project=\u0644\u0642\u062f \u0627\u0646\u0636\u0645\u0645\u062a \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639. \u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0637\u0631\u064a\u0642\u0629 \u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.accept.project.invitation=\u0642\u0628\u0648\u0644 \u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -# label.token=Token -# label.project.id=Project ID -# message.enter.token=Please enter the token that you were given in your invite e-mail. -# label.enter.token=Enter token -state.Accepted=\u062a\u0645 \u0627\u0644\u0642\u0628\u0648\u0644 -state.Pending=\u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 -state.Completed=\u062a\u0645 \u0627\u0644\u0627\u0643\u0645\u0627\u0644 -state.Declined=\u062a\u0645 \u0627\u0644\u0631\u0641\u0636 -label.project=\u0645\u0634\u0631\u0648\u0639 -label.invitations=\u062f\u0639\u0648\u0627\u062a -label.delete.project=\u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -message.delete.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f -message.activate.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f -label.activate.project=\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.suspend.project=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -message.suspend.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u064a\u0642\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f -state.Suspended=\u062a\u0645 \u0627\u0644\u0625\u064a\u0642\u0627\u0641 -label.edit.project.details=\u0627\u0636\u0627\u0641\u0629 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.new.project=\u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f -state.Active=\u0646\u0634\u0637 -# state.Disabled=Disabled -label.projects=\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 -label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 -# label.remove.project.account=Remove project account -message.project.invite.sent=\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 ; \u0633\u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0645\u062c\u0631\u062f \u0642\u0628\u0648\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 -label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 -label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629 -label.project.invite=\u062f\u0639\u0648\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.select.project=\u062d\u062f\u062f \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -message.no.projects=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u064a\u0631\u062c\u0649 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0645\u0646 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639. -message.no.projects.adminOnly=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u0627\u0644\u0631\u062c\u0627\u0621 \u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f. -message.pending.projects.1=\u0644\u062f\u064a\u0643 \u062f\u0639\u0648\u0627\u062a \u0645\u0634\u0631\u0648\u0639 \u0645\u0639\u0644\u0642\u0629/\: -message.pending.projects.2=\u0644\u0639\u0631\u0636\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639\u060c \u062b\u0645 \u062d\u062f\u062f \u062f\u0639\u0648\u0627\u062a \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062f\u0644\u0629. -message.instanceWizard.noTemplates=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u062a\u0627\u062d\u0629\u061b \u064a\u0631\u062c\u0649 \u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0644\u0628 \u0645\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0637\u0644\u0627\u0642 \u0627\u0644\u0645\u0639\u0627\u0644\u062c . -label.view=\u0639\u0631\u0636 -instances.actions.reboot.label=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c -label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628 -label.ok=\u0645\u0648\u0627\u0641\u0642 -notification.reboot.instance=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c -notification.start.instance=\u0628\u062f\u0621 \u0627\u0644\u0646\u0645\u0648\u0630\u062c -notification.stop.instance=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c -label.display.name=\u0639\u0631\u0636 \u0627\u0644\u0627\u0633\u0645 -label.zone.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 -ui.listView.filters.all=\u0627\u0644\u0643\u0644 -# ui.listView.filters.mine=Mine -# state.Running=Running -state.Stopped=\u062a\u0648\u0642\u0641 -state.Destroyed=\u062f\u0645\u0631 -state.Error=\u062e\u0637\u0623 -message.reset.password.warning.notPasswordEnabled=\u0627\u0644\u0642\u0627\u0644\u0628 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u062a\u0645 \u0627\u0646\u0634\u0627\u0626\u0647 \u0645\u0646 \u062f\u0648\u0646 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0645\u0645\u0643\u0646\u0629 -message.reset.password.warning.notStopped=\u064a\u062c\u0628 \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0642\u0628\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 -label.notifications=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a label.default.view=\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 -label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 - -message.add.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f \u0644\u0637\u0631\u062d -message.action.delete.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u062e\u062f\u0645\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0642\u062f\u0645\u0629. -label.action.delete.system.service.offering=\u062d\u0630\u0641 \u0646\u0638\u0627\u0645 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u062e\u062f\u0645\u0629 -# label.hypervisor.capabilities=Hypervisor capabilities -# label.hypervisor.version=Hypervisor version -label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641 -# label.add.network.offering=Add network offering -label.supported.services=\t\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629 -label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629 +label.default=\u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a +label.delete.gateway=\u0627\u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 +label.delete.project=\u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.delete.VPN.connection=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.delete.VPN.customer.gateway=\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 VPN \u0627\u0644\u0645\u062e\u0635\u0635\u0629 +label.delete.VPN.gateway=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.destroy=\u0647\u062f\u0645 +label.devices=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 +label.direct.ips=\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 IPs +label.display.name=\u0639\u0631\u0636 \u0627\u0644\u0627\u0633\u0645 +label.dns=\u0646\u0638\u0627\u0645 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0644 DNS +label.drag.new.position=\u0627\u0633\u062d\u0628 \u0644\u0645\u0648\u0642\u0641 \u062c\u062f\u064a\u062f +label.edit.network.details=\u062a\u062d\u0631\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 +label.edit.project.details=\u0627\u0636\u0627\u0641\u0629 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.edit.tags=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a +label.egress.rules=\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0631\u0648\u062c +label.elastic=\u0645\u0631\u0646 +label.enable.s3=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u0648\u064a S3 +label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) +label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP +label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628 +label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644 label.guest.type=\u0646\u0648\u0639 \u0627\u0644\u0636\u064a\u0641 -label.specify.IP.ranges=\u062a\u062d\u062f\u064a\u062f \u0646\u0637\u0627\u0642\u0627\u062a IP -# label.conserve.mode=Conserve mode -# label.created.by.system=Created by system -# label.menu.system.service.offerings=System Offerings -# label.add.system.service.offering=Add System Service Offering -# label.redundant.router.capability=Redundant router capability -# label.supported.source.NAT.type=Supported Source NAT type -# label.elastic.LB=Elastic LB -# label.LB.isolation=LB isolation -# label.elastic.IP=Elastic IP -# label.network.label.display.for.blank.value=Use default gateway -# label.xen.traffic.label=XenServer traffic label -# label.kvm.traffic.label=KVM traffic label -# label.vmware.traffic.label=VMware traffic label -# label.start.IP=Start IP -# label.end.IP=End IP -# label.remove.ip.range=Remove IP range -# label.ip.ranges=IP Ranges -# label.start.vlan=Start Vlan -# label.end.vlan=End Vlan -# label.broadcast.domain.range=Broadcast domain range -# label.compute=Compute -# message.add.guest.network=Please confirm that you would like to add a guest network -# label.subdomain.access=Subdomain Access -# label.guest.start.ip=Guest start IP -# label.guest.end.ip=Guest end IP -# label.virtual.router=Virtual Router -# label.physical.network.ID=Physical network ID -# label.destination.physical.network.id=Destination physical network ID -# label.dhcp=DHCP -# label.destroy.router=Destroy router -# message.confirm.destroy.router=Please confirm that you would like to destroy this router -# label.change.service.offering=Change service offering -# label.view.console=View console -# label.redundant.state=Redundant state -# label.enable.provider=Enable provider -# message.confirm.enable.provider=Please confirm that you would like to enable this provider -# label.disable.provider=Disable provider -# message.confirm.disable.provider=Please confirm that you would like to disable this provider -# label.shutdown.provider=Shutdown provider -# message.confirm.shutdown.provider=Please confirm that you would like to shutdown this provider -# label.netScaler=NetScaler -# label.add.new.NetScaler=Add new NetScaler -# label.capacity=Capacity -# label.dedicated=Dedicated -# label.f5=F5 -# label.add.new.F5=Add new F5 -# label.srx=SRX -# label.providers=Providers -# label.add.new.SRX=Add new SRX -# label.timeout=Timeout -# label.public.network=Public network -# label.private.network=Private network -# label.enable.swift=Enable Swift -# confirm.enable.swift=Please fill in the following information to enable support for Swift -# message.after.enable.swift=Swift configured. Note\\\: When you leave this page, you will not be able to re-configure Swift again. -# label.key=Key -# label.delete.NetScaler=Delete NetScaler -# message.confirm.delete.NetScaler=Please confirm that you would like to delete NetScaler -# label.delete.F5=Delete F5 -# message.confirm.delete.F5=Please confirm that you would like to delete F5 -# label.delete.SRX=Delete SRX -# message.confirm.delete.SRX=Please confirm that you would like to delete SRX -# label.pods=Pods -# label.pod.name=Pod name -# label.reserved.system.gateway=Reserved system gateway -# label.reserved.system.netmask=Reserved system netmask -# label.start.reserved.system.IP=Start Reserved system IP -# label.end.reserved.system.IP=End Reserved system IP -# label.clusters=Clusters -# label.cluster.name=Cluster Name -# label.host.MAC=Host MAC -# label.agent.username=Agent Username -# label.agent.password=Agent Password -# message.confirm.action.force.reconnect=Please confirm that you want to force reconnect this host. -# label.resource.state=Resource state -# label.LUN.number=LUN \\\# -# message.confirm.remove.IP.range=Please confirm that you would like to remove this IP range. -# message.tooltip.zone.name=A name for the zone. -# message.tooltip.dns.1=Name of a DNS server for use by VMs in the zone. The public IP addresses for the zone must have a route to this server. -# message.tooltip.dns.2=A second DNS server name for use by VMs in the zone. The public IP addresses for the zone must have a route to this server. -# message.tooltip.internal.dns.1=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server. -# message.tooltip.internal.dns.2=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server. -# message.tooltip.network.domain=A DNS suffix that will create a custom domain name for the network that is accessed by guest VMs. -# message.tooltip.pod.name=A name for this pod. -# message.tooltip.reserved.system.gateway=The gateway for the hosts in the pod. -# message.tooltip.reserved.system.netmask=The network prefix that defines the pod subnet. Uses CIDR notation. -# message.creating.zone=Creating zone -# message.creating.physical.networks=Creating physical networks -# message.configuring.physical.networks=Configuring physical networks -# message.adding.Netscaler.device=Adding Netscaler device -# message.creating.pod=Creating pod -# message.configuring.public.traffic=Configuring public traffic -# message.configuring.storage.traffic=Configuring storage traffic -# message.configuring.guest.traffic=Configuring guest traffic -# message.creating.cluster=Creating cluster -# message.adding.host=Adding host -# message.creating.primary.storage=Creating primary storage -# message.creating.secondary.storage=Creating secondary storage -# message.Zone.creation.complete=Zone creation complete -# message.enabling.zone=Enabling zone -# error.something.went.wrong.please.correct.the.following=Something went wrong; please correct the following -# error.could.not.enable.zone=Could not enable zone -# message.zone.creation.complete.would.you.like.to.enable.this.zone=Zone creation complete. Would you like to enable this zone? -# message.please.add.at.lease.one.traffic.range=Please add at least one traffic range. -# message.you.must.have.at.least.one.physical.network=You must have at least one physical network -# message.please.select.a.different.public.and.management.network.before.removing=Please select a different public and management network before removing - -# label.zone.type=Zone Type -# label.setup.zone=Setup Zone -# label.setup.network=Setup Network -# label.add.resources=Add Resources -# label.launch=Launch -# label.set.up.zone.type=Set up zone type -# message.please.select.a.configuration.for.your.zone=Please select a configuration for your zone. -# message.desc.basic.zone=Provide a single network where each VM instance is assigned an IP directly from the network. Guest isolation can be provided through layer-3 means such as security groups (IP address source filtering). -# label.basic=Basic -# message.desc.advanced.zone=For more sophisticated network topologies. This network model provides the most flexibility in defining guest networks and providing custom network offerings such as firewall, VPN, or load balancer support. -# label.advanced=Advanced -# message.desc.zone=A zone is the largest organizational unit in CloudStack, and it typically corresponds to a single datacenter. Zones provide physical isolation and redundancy. A zone consists of one or more pods (each of which contains hosts and primary storage servers) and a secondary storage server which is shared by all pods in the zone. -# label.physical.network=Physical Network -# label.public.traffic=Public traffic -# label.guest.traffic=Guest Traffic -# label.storage.traffic=Storage Traffic -# message.setup.physical.network.during.zone.creation=When adding an advanced zone, you need to set up one or more physical networks. Each network corresponds to a NIC on the hypervisor. Each physical network can carry one or more types of traffic, with certain restrictions on how they may be combined.

Drag and drop one or more traffic types onto each physical network. -# label.add.physical.network=Add physical network -# label.traffic.types=Traffic Types -# label.management=Management -# label.guest=Guest -# label.please.specify.netscaler.info=Please specify Netscaler info -# message.public.traffic.in.advanced.zone=Public traffic is generated when VMs in the cloud access the internet. Publicly-accessible IPs must be allocated for this purpose. End users can use the CloudStack UI to acquire these IPs to implement NAT between their guest network and their public network.

Provide at least one range of IP addresses for internet traffic. -# message.public.traffic.in.basic.zone=Public traffic is generated when VMs in the cloud access the Internet or provide services to clients over the Internet. Publicly accessible IPs must be allocated for this purpose. When a instance is created, an IP from this set of Public IPs will be allocated to the instance in addition to the guest IP address. Static 1-1 NAT will be set up automatically between the public IP and the guest IP. End users can also use the CloudStack UI to acquire additional IPs to implement static NAT between their instances and the public IP. -# message.add.pod.during.zone.creation=Each zone must contain in one or more pods, and we will add the first pod now. A pod contains hosts and primary storage servers, which you will add in a later step. First, configure a range of reserved IP addresses for CloudStack's internal management traffic. The reserved IP range must be unique for each zone in the cloud. -# message.guest.traffic.in.advanced.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of VLAN IDs to carry guest traffic for each physical network. -# message.guest.traffic.in.basic.zone=Guest network traffic is communication between end-user virtual machines. Specify a range of IP addresses that CloudStack can assign to guest VMs. Make sure this range does not overlap the reserved system IP range. -# message.storage.traffic=Traffic between CloudStack's internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs. Please configure storage traffic here. -# message.desc.cluster=Each pod must contain one or more clusters, and we will add the first cluster now. A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Each cluster consists of one or more hosts and one or more primary storage servers. -# message.desc.host=Each cluster must contain at least one host (computer) for guest VMs to run on, and we will add the first host now. For a host to function in CloudStack, you must install hypervisor software on the host, assign an IP address to the host, and ensure the host is connected to the CloudStack management server.

Give the host's DNS or IP address, the user name (usually root) and password, and any labels you use to categorize hosts. -# message.desc.primary.storage=Each cluster must contain one or more primary storage servers, and we will add the first one now. Primary storage contains the disk volumes for all the VMs running on hosts in the cluster. Use any standards-compliant protocol that is supported by the underlying hypervisor. -# message.desc.secondary.storage=Each zone must have at least one NFS or secondary storage server, and we will add the first one now. Secondary storage stores VM templates, ISO images, and VM disk volume snapshots. This server must be available to all hosts in the zone.

Provide the IP address and exported path. -# label.launch.zone=Launch zone -# message.please.wait.while.zone.is.being.created=Please wait while your zone is being created; this may take a while... - -# label.load.balancing=Load Balancing -# label.static.nat.enabled=Static NAT Enabled -# label.zones=Zones -# label.view.more=View more -# label.number.of.zones=Number of Zones -# label.number.of.pods=Number of Pods -# label.number.of.clusters=Number of Clusters -# label.number.of.hosts=Number of Hosts -# label.total.hosts=Total Hosts -# label.total.CPU=Total CPU -# label.total.memory=Total Memory -# label.total.storage=Total Storage -# label.purpose=Purpose - - - - -# label.action.migrate.router=Migrate Router -# label.action.migrate.router.processing=Migrating Router.... -# message.migrate.router.confirm=Please confirm the host you wish to migrate the router to\\\: -# label.migrate.router.to=Migrate Router to - -# label.action.migrate.systemvm=Migrate System VM -# label.action.migrate.systemvm.processing=Migrating System VM.... -# message.migrate.systemvm.confirm=Please confirm the host you wish to migrate the system VM to\\\: -# label.migrate.systemvm.to=Migrate System VM to - - -# mode=Mode -# side.by.side=Side by Side -# inline=Inline - -# extractable=Extractable - -# label.ocfs2=OCFS2 - -# label.action.edit.host=Edit Host - -# network.rate=Network Rate - -# ICMP.type=ICMP Type -# ICMP.code=ICMP Code - -# image.directory=Image Directory - -# label.action.create.template.from.vm=Create Template from VM -# label.action.create.template.from.volume=Create Template from Volume - -# message.vm.create.template.confirm=Create Template will reboot the VM automatically. - -# label.action.manage.cluster=Manage Cluster -# message.action.manage.cluster=Please confirm that you want to manage the cluster. -# label.action.manage.cluster.processing=Managing Cluster.... - -# label.action.unmanage.cluster=Unmanage Cluster -# message.action.unmanage.cluster=Please confirm that you want to unmanage the cluster. -# label.action.unmanage.cluster.processing=Unmanaging Cluster.... - -# label.allocation.state=Allocation State -# managed.state=Managed State - -# label.default.use=Default Use -# label.host.tags=Host Tags - -# label.cidr=CIDR -# label.cidr.list=Source CIDR - -# label.storage.tags=Storage Tags - -# label.redundant.router=Redundant Router -# label.is.redundant.router=Redundant - -# force.delete=Force Delete -# force.delete.domain.warning=Warning\\\: Choosing this option will cause the deletion of all child domains and all associated accounts and their resources. - -# force.remove=Force Remove -# force.remove.host.warning=Warning\\\: Choosing this option will cause CloudStack to forcefully stop all running virtual machines before removing this host from the cluster. - -# force.stop=Force Stop -# force.stop.instance.warning=Warning\\\: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine state. - -# label.PreSetup=PreSetup -# label.SR.name = SR Name-Label -# label.SharedMountPoint=SharedMountPoint -# label.clvm=CLVM -# label.volgroup=Volume Group -# label.VMFS.datastore=VMFS datastore - -# label.network.device=Network Device -# label.add.network.device=Add Network Device -# label.network.device.type=Network Device Type -# label.DHCP.server.type=DHCP Server Type -# label.Pxe.server.type=Pxe Server Type -# label.PING.storage.IP=PING storage IP -# label.PING.dir=PING Directory -# label.TFTP.dir=TFTP Directory -# label.PING.CIFS.username=PING CIFS username -# label.PING.CIFS.password=PING CIFS password -# label.CPU.cap=CPU Cap - - -# label.action.enable.zone=Enable Zone -# label.action.enable.zone.processing=Enabling Zone.... -# message.action.enable.zone=Please confirm that you want to enable this zone. -# label.action.disable.zone=Disable Zone -# label.action.disable.zone.processing=Disabling Zone.... -# message.action.disable.zone=Please confirm that you want to disable this zone. - -# label.action.enable.pod=Enable Pod -# label.action.enable.pod.processing=Enabling Pod.... -# message.action.enable.pod=Please confirm that you want to enable this pod. -# label.action.disable.pod=Disable Pod -# label.action.disable.pod.processing=Disabling Pod.... -# message.action.disable.pod=Please confirm that you want to disable this pod. - -# label.action.enable.cluster=Enable Cluster -# label.action.enable.cluster.processing=Enabling Cluster.... -# message.action.enable.cluster=Please confirm that you want to enable this cluster. -# label.action.disable.cluster=Disable Cluster -# label.action.disable.cluster.processing=Disabling Cluster.... -# message.action.disable.cluster=Please confirm that you want to disable this cluster. - -# label.account.id=Account ID -# label.account.name=Account Name -# label.account.specific=Account-Specific -# label.account=Account -# label.accounts=Accounts -# label.acquire.new.ip=Acquire New IP -# label.show.ingress.rule=Show Ingress Rule -# label.hide.ingress.rule=Hide Ingress Rule -# label.action.attach.disk.processing=Attaching Disk.... -# label.action.attach.disk=Attach Disk -# label.action.attach.iso.processing=Attaching ISO.... -# label.action.attach.iso=Attach ISO -# label.action.cancel.maintenance.mode.processing=Cancelling Maintenance Mode.... -# label.action.cancel.maintenance.mode=Cancel Maintenance Mode -# label.action.change.password=Change Password -# label.action.change.service.processing=Changing Service.... -# label.action.change.service=Change Service -# label.action.copy.ISO.processing=Coping ISO.... -# label.action.copy.ISO=Copy ISO -# label.action.copy.template.processing=Coping Template.... -# label.action.copy.template=Copy Template -# label.action.create.template.processing=Creating Template.... -# label.action.create.template=Create Template -# label.action.create.vm.processing=Creating VM.... -# label.action.create.vm=Create VM -# label.action.create.volume.processing=Creating Volume.... -# label.action.create.volume=Create Volume -# label.action.delete.IP.range.processing=Deleting IP Range.... -# label.action.delete.IP.range=Delete IP Range -# label.action.delete.ISO.processing=Deleting ISO.... -# label.action.delete.ISO=Delete ISO -# label.action.delete.account.processing=Deleting account.... -# label.action.delete.account=Delete account -# label.action.delete.cluster.processing=Deleting Cluster.... -# label.action.delete.cluster=Delete Cluster -# label.action.delete.disk.offering.processing=Deleting Disk Offering.... -# label.action.delete.disk.offering=Delete Disk Offering - -# label.action.update.resource.count=Update Resource Count -# label.action.update.resource.count.processing=Updating Resource Count.... - -# label.action.delete.domain=Delete Domain -# label.action.delete.domain.processing=Deleting Domain.... - -# label.action.delete.firewall.processing=Deleting Firewall.... -# label.action.delete.firewall=Delete firewall rule -# label.action.delete.ingress.rule.processing=Deleting Ingress Rule.... -# label.action.delete.ingress.rule=Delete Ingress Rule -# label.action.delete.load.balancer.processing=Deleting Load Balancer.... -# label.action.delete.load.balancer=Delete load balancer rule -# label.action.edit.network.processing=Editing Network.... -# label.action.edit.network=Edit Network -# label.action.delete.network.processing=Deleting Network.... -# label.action.delete.network=Delete Network -# label.action.delete.pod.processing=Deleting Pod.... -# label.action.delete.pod=Delete Pod -# label.action.delete.primary.storage.processing=Deleting Primary Storage.... -# label.action.delete.primary.storage=Delete Primary Storage -# label.action.delete.secondary.storage.processing=Deleting Secondary Storage.... -# label.action.delete.secondary.storage=Delete Secondary Storage -# label.action.delete.security.group.processing=Deleting Security Group.... -# label.action.delete.security.group=Delete Security Group -# label.action.delete.service.offering.processing=Deleting Service Offering.... -# label.action.delete.service.offering=Delete Service Offering -# label.action.delete.snapshot.processing=Deleting Snapshot.... -# label.action.delete.snapshot=Delete Snapshot -# label.action.delete.template.processing=Deleting Template.... -# label.action.delete.template=Delete Template -# label.action.delete.user.processing=Deleting User.... -# label.action.delete.user=Delete User -# label.action.delete.volume.processing=Deleting Volume.... -# label.action.delete.volume=Delete Volume -# label.action.delete.zone.processing=Deleting Zone.... -# label.action.delete.zone=Delete Zone -# label.action.destroy.instance.processing=Destroying Instance.... -# label.action.destroy.instance=Destroy Instance -# label.action.destroy.systemvm.processing=Destroying System VM.... -# label.action.destroy.systemvm=Destroy System VM -# label.action.detach.disk.processing=Detaching Disk.... -# label.action.detach.disk=Detach Disk -# label.action.detach.iso.processing=Detaching ISO.... -# label.action.detach.iso=Detach ISO -# label.action.disable.account.processing=Disabling account.... -# label.action.disable.account=Disable account -# label.action.disable.static.NAT.processing=Disabling Static NAT.... -# label.action.disable.static.NAT=Disable Static NAT -# label.action.disable.user.processing=Disabling User.... -# label.action.disable.user=Disable User -# label.action.download.ISO=Download ISO -# label.action.download.template=Download Template -# label.action.download.volume.processing=Downloading Volume.... -# label.action.download.volume=Download Volume -# label.action.edit.ISO=Edit ISO -# label.action.edit.account=Edit account -# label.action.edit.disk.offering=Edit Disk Offering -# label.action.edit.domain=Edit Domain -# label.action.edit.global.setting=Edit Global Setting -# label.action.edit.instance=Edit Instance -# label.action.edit.network.offering=Edit Network Offering -# label.action.edit.pod=Edit Pod -# label.action.edit.primary.storage=Edit Primary Storage -# label.action.edit.resource.limits=Edit Resource Limits -# label.action.edit.service.offering=Edit Service Offering -# label.action.edit.template=Edit Template -# label.action.edit.user=Edit User -# label.action.edit.zone=Edit Zone -# label.action.enable.account.processing=Enabling account.... -# label.action.enable.account=Enable account -# label.action.enable.maintenance.mode.processing=Enabling Maintenance Mode.... -# label.action.enable.maintenance.mode=Enable Maintenance Mode -# label.action.enable.static.NAT.processing=Enabling Static NAT.... -# label.action.enable.static.NAT=Enable Static NAT -# label.action.enable.user.processing=Enabling User.... -# label.action.enable.user=Enable User -# label.action.force.reconnect.processing=Reconnecting.... -# label.action.force.reconnect=Force Reconnect -# label.action.generate.keys.processing=Generate Keys.... -# label.action.generate.keys=Generate Keys -# label.action.lock.account.processing=Locking account.... -# label.action.lock.account=Lock account -# label.action.migrate.instance=Migrate Instance -# label.action.migrate.instance.processing=Migrating Instance.... -# label.action.reboot.instance.processing=Rebooting Instance.... -# label.action.reboot.instance=Reboot Instance -# label.action.reboot.router.processing=Rebooting Router.... -# label.action.reboot.router=Reboot Router -# label.action.reboot.systemvm.processing=Rebooting System VM.... -# label.action.reboot.systemvm=Reboot System VM -# label.action.recurring.snapshot=Recurring Snapshots -# label.action.release.ip.processing=Releasing IP.... -# label.action.release.ip=Release IP -# label.action.remove.host.processing=Removing Host.... -# label.action.remove.host=Remove Host -# label.action.reset.password.processing=Resetting Password.... -# label.action.reset.password=Reset Password -# label.action.resource.limits=Resource limits -# label.action.restore.instance.processing=Restoring Instance.... -# label.action.restore.instance=Restore Instance -# label.action.start.instance.processing=Starting Instance.... -# label.action.start.instance=Start Instance -# label.action.start.router.processing=Starting Router.... -# label.action.start.router=Start Router -# label.action.start.systemvm.processing=Starting System VM.... -# label.action.start.systemvm=Start System VM -# label.action.stop.instance.processing=Stopping Instance.... -# label.action.stop.instance=Stop Instance -# label.action.stop.router.processing=Stopping Router.... -# label.action.stop.router=Stop Router -# label.action.stop.systemvm.processing=Stopping System VM.... -# label.action.stop.systemvm=Stop System VM -# label.action.take.snapshot.processing=Taking Snapshot.... -# label.action.take.snapshot=Take Snapshot -# label.action.update.OS.preference.processing=Updating OS Preference.... -# label.action.update.OS.preference=Update OS Preference -# label.actions=Actions -# label.active.sessions=Active Sessions -# label.add.account=Add Account -# label.add.by.cidr=Add By CIDR -# label.add.by.group=Add By Group -# label.add.cluster=Add Cluster -# label.add.direct.iprange=Add Direct Ip Range -# label.add.disk.offering=Add Disk Offering -# label.add.domain=Add Domain -# label.add.firewall=Add firewall rule -# label.add.host=Add Host -# label.add.ingress.rule=Add Ingress Rule -# label.add.ip.range=Add IP Range -# label.add.load.balancer=Add Load Balancer -# label.add.more=Add More -# label.add.network=Add Network -# label.add.pod=Add Pod -# label.add.primary.storage=Add Primary Storage -# label.add.secondary.storage=Add Secondary Storage -# label.add.security.group=Add Security Group -# label.add.service.offering=Add Service Offering -# label.add.template=Add Template -# label.add.user=Add User -# label.add.vlan=Add VLAN -# label.add.volume=Add Volume -# label.add.zone=Add Zone -# label.add=Add -# label.adding.cluster=Adding Cluster -# label.adding.failed=Adding Failed -# label.adding.pod=Adding Pod -# label.adding.processing=Adding.... -# label.adding.succeeded=Adding Succeeded -# label.adding.user=Adding User -# label.adding.zone=Adding Zone -# label.adding=Adding -# label.additional.networks=Additional Networks -# label.admin.accounts=Admin Accounts -# label.admin=Admin -# label.advanced.mode=Advanced Mode -# label.advanced.search=Advance Search -# label.advanced=Advanced -# label.alert=Alert -# label.algorithm=Algorithm -# label.allocated=Allocated -# label.api.key=API Key -# label.assign.to.load.balancer=Assigning instance to load balancer -# label.assign=Assign -# label.associated.network.id=Associated Network ID -# label.attached.iso=Attached ISO -# label.availability.zone=Availability Zone -# label.availability=Availability -# label.available.public.ips=Available Public IP Addresses -# label.available=Available -# label.back=Back -# label.basic.mode=Basic Mode -# label.bootable=Bootable -# label.broadcast.domain.type=Broadcast Domain Type -# label.by.account=By Account -# label.by.availability=By Availability -# label.by.domain=By Domain -# label.by.end.date=By End Date -# label.by.level=By Level -# label.by.pod=By Pod -# label.by.role=By Role -# label.by.start.date=By Start Date -# label.by.state=By State -# label.by.traffic.type=By Traffic Type -# label.by.type.id=By Type ID -# label.by.type=By Type -# label.by.zone=By Zone -# label.bytes.received=Bytes Received -# label.bytes.sent=Bytes Sent -# label.cancel=Cancel -# label.certificate=Certificate -# label.privatekey=PKCS\\\#8 Private Key -# label.domain.suffix=DNS Domain Suffix (i.e., xyz.com) -# label.character=Character -# label.cidr.account=CIDR or Account/Security Group -# label.close=Close -# label.cloud.console=Cloud Management Console -# label.cloud.managed=Cloud.com Managed -# label.cluster.type=Cluster Type -# label.cluster=Cluster -# label.code=Code -# label.confirmation=Confirmation -# label.cpu.allocated.for.VMs=CPU Allocated for VMs -# label.cpu.allocated=CPU Allocated -# label.cpu.utilized=CPU Utilized -# label.cpu=CPU -# label.created=Created -# label.cross.zones=Cross Zones -# label.custom.disk.size=Custom Disk Size -# label.daily=Daily -# label.data.disk.offering=Data Disk Offering -# label.date=Date -# label.day.of.month=Day of Month -# label.day.of.week=Day of Week -# label.delete=Delete -# label.deleting.failed=Deleting Failed -# label.deleting.processing=Deleting.... -# label.description=Description -# label.detaching.disk=Detaching Disk -# label.details=Details -# label.device.id=Device ID -# label.disabled=Disabled -# label.disabling.vpn.access=Disabling VPN Access -# label.disk.allocated=Disk Allocated -# label.disk.offering=Disk Offering -# label.disk.size.gb=Disk Size (in GB) -# label.disk.size=Disk Size -# label.disk.total=Disk Total -# label.disk.volume=Disk Volume -# label.display.text=Display Text -# label.dns.1=DNS 1 -# label.dns.2=DNS 2 -# label.domain.admin=Domain Admin -# label.domain.id=Domain ID -# label.domain.name=Domain Name -# label.domain=Domain -# label.double.quotes.are.not.allowed=Double quotes are not allowed -# label.download.progress=Download Progress -# label.edit=Edit -# label.email=Email -# label.enabling.vpn.access=Enabling VPN Access -# label.enabling.vpn=Enabling VPN -# label.end.port=End Port -# label.endpoint.or.operation=Endpoint or Operation -# label.error.code=Error Code -# label.error=Error -# label.esx.host=ESX/ESXi Host -# label.example=Example -# label.failed=Failed -# label.featured=Featured -# label.firewall=Firewall -# label.first.name=First Name -# label.format=Format -# label.friday=Friday -# label.full=Full -# label.gateway=Gateway -# label.general.alerts=General Alerts -# label.generating.url=Generating URL -# label.go.step.2=Go to Step 2 -# label.go.step.3=Go to Step 3 -# label.go.step.4=Go to Step 4 -# label.go.step.5=Go to Step 5 -# label.group.optional=Group (Optional) -# label.group=Group -# label.guest.cidr=Guest CIDR -# label.guest.gateway=Guest Gateway -# label.guest.ip.range=Guest IP Range -# label.guest.ip=Guest IP Address -# label.guest.netmask=Guest Netmask -# label.ha.enabled=HA Enabled -# label.help=Help -# label.host.alerts=Host Alerts -# label.host.name=Host Name -# label.host=Host -# label.hosts=Hosts -# label.hourly=Hourly -# label.hypervisor.type=Hypervisor Type -# label.hypervisor=Hypervisor -# label.id=ID -# label.info=Info -# label.ingress.rule=Ingress Rule -# label.initiated.by=Initiated By -# label.instance.limits=Instance Limits -# label.instance.name=Instance Name -# label.instance=Instance -# label.instances=Instances -# label.internal.dns.1=Internal DNS 1 -# label.internal.dns.2=Internal DNS 2 -# label.interval.type=Interval Type -# label.invalid.integer=Invalid Integer -# label.invalid.number=Invalid Number -# label.ip.address=IP Address -# label.ip.allocations=IP Allocations -# label.ip.limits=Public IP Limits -# label.ip.or.fqdn=IP or FQDN -# label.ip.range=IP Range -# label.ip=IP -# label.ips=IPs -# label.is.default=Is Default -# label.is.shared=Is Shared -# label.is.system=Is System -# label.iscsi=iSCSI -# label.iso.boot=ISO Boot -# label.iso=ISO -# label.isolation.mode=Isolation Mode -# label.keep=Keep -# label.lang.chinese=Chinese (Simplified) -# label.lang.english=English -# label.lang.japanese=Japanese -# label.lang.spanish=Spanish -# label.lang.russian=Russian -# label.lang.french=French -# label.lang.brportugese=Brazilian Portugese -# label.last.disconnected=Last Disconnected -# label.last.name=Last Name -# label.level=Level -# label.linklocal.ip=Link Local IP Adddress -# label.load.balancer=Load Balancer -# label.loading=Loading -# label.local=Local +label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) +label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE +label.invitations=\u062f\u0639\u0648\u0627\u062a +label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640 +label.invited.accounts=\u062f\u0639\u0648\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627 +label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 +label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d +label.least.connections=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a -# label.login=Login -# label.logout=Logout -# label.lun=LUN -# label.manage=Manage -# label.maximum=Maximum -# label.memory.allocated=Memory Allocated -# label.memory.total=Memory Total -# label.memory.used=Memory Used -# label.memory=Memory -# label.menu.accounts=Accounts +label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 +label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641 +label.memory.mb=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 ( \u0628\u0627\u0644\u0645\u064a\u062c\u0627\u0628\u0627\u064a\u0628\u062a) label.menu.alerts=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a label.menu.all.accounts=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a label.menu.all.instances=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0627\u0644\u0627\u062a @@ -1175,225 +107,82 @@ label.menu.featured.isos=\u0645\u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a label.menu.featured.templates=\u0642\u0648\u0627\u0644\u0628 \u0645\u0645\u064a\u0632\u0629 label.menu.global.settings=\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0645\u064a\u0629 label.menu.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a -# label.menu.ipaddresses=IP Addresses -# label.menu.isos=ISOs -# label.menu.my.accounts=My Accounts -# label.menu.my.instances=My Instances -# label.menu.my.isos=My ISOs -# label.menu.my.templates=My Templates -# label.menu.network.offerings=Network Offerings -# label.menu.network=Network -# label.menu.physical.resources=Physical Resources -# label.menu.running.instances=Running Instances -# label.menu.security.groups=Security Groups -# label.menu.service.offerings=Service Offerings -# label.menu.snapshots=Snapshots -# label.menu.stopped.instances=Stopped Instances -# label.menu.storage=Storage -# label.menu.system.vms=System VMs -# label.menu.system=System -# label.menu.templates=Templates -# label.menu.virtual.appliances=Virtual Appliances -# label.menu.virtual.resources=Virtual Resources -# label.menu.volumes=Volumes -# label.migrate.instance.to=Migrate instance to -# label.minimum=Minimum -# label.minute.past.hour=minute(s) Past the Hour -# label.monday=Monday -# label.monthly=Monthly -# label.more.templates=More Templates -# label.my.account=My Account -# label.name.optional=Name (Optional) -# label.name=Name -# label.netmask=Netmask -# label.network.desc=Network Desc -# label.network.domain=Network Domain -# label.network.id=Network ID -# label.network.name=Network Name -# label.network.offering.display.text=Network Offering Display Text -# label.network.offering.id=Network Offering ID -# label.network.offering.name=Network Offering Name -# label.network.offering=Network Offering -# label.network.rate=Network Rate -# label.network.rate.megabytes=Network Rate (Mb/s) -# label.network.read=Network Read -# label.network.type=Network Type -# label.network.write=Network Write -# label.network=Network -# label.new.password=New Password -# label.next=Next -# label.nfs.server=NFS Server -# label.nfs.storage=NFS Storage -# label.nfs=NFS -# label.nics=NICs -# label.no.actions=No Available Actions -# label.no.alerts=No Recent Alerts -# label.no.errors=No Recent Errors -# label.no.isos=No available ISOs -# label.no.items=No Available Items -# label.no.security.groups=No Available Security Groups +label.migrate.to.host=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641 +label.migrate.to.storage=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 +label.move.down.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f +label.move.to.bottom=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 +label.move.to.top=\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0623\u0639\u0644\u0649 +label.move.up.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0644\u0649 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f +label.my.network=\u0634\u0628\u0643\u062a\u064a +label.my.templates=\u0642\u0648\u0627\u0644\u0628\u064a +label.network.ACL.total=\u0625\u062c\u0645\u0627\u0644 \u0634\u0628\u0643\u0629 ACL +label.network.ACL=\u0634\u0628\u0643\u0629 ACL +label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs +label.networks=\u0627\u0644\u0634\u0628\u0643\u0627\u062a +label.new.project=\u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f +label.new=\u062c\u062f\u064a\u062f +label.no.data=\u0644\u0627 \u064a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0644\u0639\u0631\u0636 label.no.thanks=\u0644\u0627\u061b \u0634\u0643\u0631\u0627\u064b -# label.no=No -# label.none=None -# label.not.found=Not Found -# label.num.cpu.cores=\\\# of CPU Cores -# label.numretries=Number of Retries -# label.offer.ha=Offer HA -# label.optional=Optional -# label.os.preference=OS Preference -# label.os.type=OS Type -# label.owned.public.ips=Owned Public IP Addresses -# label.owner.account=Owner Account -# label.owner.domain=Owner Domain -# label.parent.domain=Parent Domain -# label.password.enabled=Password Enabled -# label.password=Password -# label.path=Path -# label.please.wait=Please Wait -# label.pod=Pod -# label.port.forwarding=Port Forwarding -# label.port.range=Port Range -# label.prev=Prev -# label.primary.allocated=Primary Storage Allocated -# label.primary.network=Primary Network -# label.primary.storage=Primary Storage -# label.primary.used=Primary Storage Used -# label.private.interface=Private Interface -# label.private.ip.range=Private IP Range -# label.private.ip=Private IP Address -# label.private.ips=Private IP Addresses -# label.private.port=Private Port -# label.private.zone=Private Zone -# label.protocol=Protocol -# label.public.interface=Public Interface -# label.public.ip=Public IP Address -# label.public.ips=Public IP Addresses -# label.public.port=Public Port -# label.public.zone=Public Zone -# label.public=Public -# label.recent.errors=Recent Errors -# label.refresh=Refresh -# label.related=Related -# label.remove.from.load.balancer=Removing instance from load balancer -# label.removing.user=Removing User -# label.required=Required -# label.reserved.system.ip=Reserved System IP -# label.resource.limits=Resource Limits -# label.resource=Resource -# label.resources=Resources -# label.role=Role -# label.root.disk.offering=Root Disk Offering -# label.running.vms=Running VMs -# label.saturday=Saturday -# label.save=Save -# label.saving.processing=Saving.... +label.notifications=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a +label.ok=\u0645\u0648\u0627\u0641\u0642 +label.order=\u062a\u0631\u062a\u064a\u0628 +label.previous=\u0627\u0644\u0633\u0627\u0628\u0642 +label.private.Gateway=\u0645\u0646\u0641\u0630\\Gateway \u062e\u0627\u0635 +label.project.invite=\u062f\u0639\u0648\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.project.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.project=\u0645\u0634\u0631\u0648\u0639 +label.projects=\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 +label.quickview=\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629 +label.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 +label.remind.later=\u0630\u0643\u0631\u0646\u064a \u0644\u0627\u062d\u0642\u0627\u064b +label.remove.ACL=\u0625\u0632\u0627\u0644\u0629 ACL +label.remove.static.route=\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a +label.remove.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 +label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 +label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 +label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629 +label.review=\u0645\u0631\u0627\u062c\u0639\u0629 +label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629 +label.s3.access_key=\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0648\u0635\u0648\u0644 +label.s3.bucket=\u062f\u0644\u0648 +label.s3.connection_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 +label.s3.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629 +label.s3.max_error_retry=\u0623\u0642\u0635\u0649 \u062e\u0637\u0623 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 +label.s3.secret_key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a +label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\u0633 +label.s3.use_https=\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS label.scope=\u0627\u0644\u0645\u062c\u0627\u0644 label.search=\u0628\u062d\u062b -# label.secondary.storage=Secondary Storage -# label.secondary.used=Secondary Storage Used -# label.secret.key=Secret Key -# label.security.group.name=Security Group Name -# label.security.group=Security Group -# label.security.groups.enabled=Security Groups Enabled -# label.security.groups=Security Groups -# label.sent=Sent -# label.server=Server -# label.service.offering=Service Offering -# label.system.service.offering=System Service Offering -# label.session.expired=Session Expired -# label.shared=Shared -# label.size=Size -# label.snapshot.limits=Snapshot Limits -# label.snapshot.name=Snapshot Name -# label.snapshot.s=Snapshot (s) -# label.snapshot.schedule=Setup Recurring Snapshot -# label.snapshot=Snapshot -# label.snapshots=Snapshots -# label.source.nat=Source NAT -# label.specify.vlan=Specify VLAN -# label.start.port=Start Port -# label.state=State -# label.static.nat.to=Static NAT to -# label.static.nat=Static NAT -# label.statistics=Statistics -# label.status=Status -# label.step.1.title=Step 1\\\: Select a Template -# label.step.1=Step 1 -# label.step.2.title=Step 2\\\: Service Offering -# label.step.2=Step 2 -# label.step.3.title=Step 3\\\: Select a Disk Offering -# label.step.3=Step 3 -# label.step.4.title=Step 4\\\: Network -# label.step.4=Step 4 -# label.step.5.title=Step 5\\\: Review -# label.step.5=Step 5 -# label.stopped.vms=Stopped VMs -# label.storage.type=Storage Type -# label.storage=Storage -# label.submit=Submit -# label.submitted.by=[Submitted by\\\: ] -# label.succeeded=Succeeded -# label.sunday=Sunday -# label.system.capacity=System Capacity -# label.system.vm.type=System VM Type -# label.system.vm=System VM -# label.system.vms=System VMs -# label.tagged=Tagged -# label.tags=Tags -# label.target.iqn=Target IQN -# label.template.limits=Template Limits -# label.template=Template -# label.theme.default=Default Theme -# label.theme.grey=Custom - Grey -# label.theme.lightblue=Custom - Light Blue -# label.thursday=Thursday -# label.time.zone=Timezone -# label.time=Time -# label.timeout.in.second = Timeout(seconds) -# label.timezone=Timezone -# label.total.cpu=Total CPU -# label.total.vms=Total VMs -# label.traffic.type=Traffic Type -# label.tuesday=Tuesday -# label.type.id=Type ID -# label.type=Type -# label.unavailable=Unavailable -# label.unlimited=Unlimited -# label.untagged=Untagged -# label.update.ssl.cert= SSL Certificate -# label.update.ssl= SSL Certificate -# label.updating=Updating -# label.url=URL -# label.usage.interface=Usage Interface -# label.used=Used -# label.user=User -# label.username=Username -# label.users=Users -# label.value=Value -# label.vcenter.cluster=vCenter Cluster -# label.vcenter.datacenter=vCenter Datacenter -# label.vcenter.datastore=vCenter Datastore -# label.vcenter.host=vCenter Host -# label.vcenter.password=vCenter Password -# label.vcenter.username=vCenter Username -# label.version=Version -# label.virtual.appliance=Virtual Appliance -# label.virtual.appliances=Virtual Appliances -# label.virtual.network=Virtual Network -# label.vlan.id=VLAN ID -# label.vlan.range=VLAN Range -# label.vm.add=Add Instance -# label.vm.destroy=Destroy -# label.vm.reboot=Reboot -# label.vm.start=Start -# label.vm.stop=Stop -# label.vmfs=VMFS -# label.vms=VMs +label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 +label.select.a.template=\u0627\u062e\u062a\u0631 \u0642\u0627\u0644\u0628 +label.select.project=\u062d\u062f\u062f \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.select.tier=\u062d\u062f\u062f \u0637\u0628\u0642\u0629 +label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629 +label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a +label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN +label.source=\u0645\u0635\u062f\u0631 +label.specify.IP.ranges=\u062a\u062d\u062f\u064a\u062f \u0646\u0637\u0627\u0642\u0627\u062a IP +label.sticky.tablesize=\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644 +label.stop=\u062a\u0648\u0642\u0641 +label.super.cidr.for.guest.networks=CIDR \u0645\u0645\u062a\u0627\u0632 \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0636\u064a\u0641. +label.supported.services=\t\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629 +label.suspend.project=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +label.tier.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0628\u0642\u0629 +label.tier=\u0637\u0628\u0642\u0629 +label.upload=\u0631\u0641\u0639 +label.view.all=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 +label.view=\u0639\u0631\u0636 +label.viewing=\u0639\u0631\u0636 +label.VMs.in.tier=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0637\u0628\u0642\u0629 label.volume.limits=\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u0646\u0637\u0642\u0629 -# label.volume.name=Volume Name -# label.volume=Volume -# label.volumes=Volumes -# label.vsphere.managed=vSphere Managed +label.vpc.id=\u0647\u0648\u064a\u0629 \u062e\u0627\u0635\u0629 \u0628\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 +label.VPC.router.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u062c\u0647\u0627\u0632 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 VPC +label.vpc=\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 VPC +label.VPN.connection=\u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.VPN.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644 +label.VPN.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 label.waiting=\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631 label.warn=\u062a\u062d\u0630\u064a\u0631 label.wednesday=\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 @@ -1401,147 +190,71 @@ label.weekly=\u0625\u0633\u0628\u0648\u0639\u064a label.welcome.cloud.console=\u0645\u0631\u062d\u0628\u0627 \u0628\u0643\u0645 \u0641\u064a \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0625\u0631\u0627\u062f\u064a\u0629 label.welcome=\u0645\u0631\u062d\u0628\u0627 label.yes=\u0646\u0639\u0645 -# label.zone.id=Zone ID +label.zone.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 +label.zone.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 label.zone.step.1.title=\u0627\u0644\u062e\u0637\u0648\u0629 1 \\\: \u0639\u0644\u0649 .<\u0642\u0648\u064a> \u0627\u062e\u062a\u0631 \u0634\u0628\u0643\u0629 label.zone.step.2.title=\u0627\u0644\u062e\u0637\u0648\u0629 2 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u0646\u0637\u0642\u0629 label.zone.step.3.title=\u0627\u0644\u062e\u0637\u0648\u0629 3 \\\: \u0639\u0644\u0649 <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u062f label.zone.step.4.title=\u0627\u0644\u062e\u0637\u0648\u0629 4 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 IP <\\\u0642\u0648\u064a> label.zone.wide=\u0645\u0646\u0637\u0642\u0629 \u0648\u0627\u0633\u0639\u0629 -# label.zone=Zone - -#Messages -# message.acquire.public.ip=Please select a zone from which you want to acquire your new IP from. -# message.action.cancel.maintenance.mode=Please confirm that you want to cancel this maintenance. -# message.action.cancel.maintenance=Your host has been successfully canceled for maintenance. This process can take up to several minutes. -# message.action.delete.ISO.for.all.zones=The ISO is used by all zones. Please confirm that you want to delete it from all zones. -# message.action.delete.ISO=Please confirm that you want to delete this ISO. -# message.action.delete.cluster=Please confirm that you want to delete this cluster. -# message.action.delete.disk.offering=Please confirm that you want to delete this disk offering. -# message.action.delete.domain=Please confirm that you want to delete this domain. -# message.action.delete.external.firewall=Please confirm that you would like to remove this external firewall. Warning\\\: If you are planning to add back the same external firewall, you must reset usage data on the device. -# message.action.delete.external.load.balancer=Please confirm that you would like to remove this external load balancer. Warning\\\: If you are planning to add back the same external load balancer, you must reset usage data on the device. -# message.action.delete.ingress.rule=Please confirm that you want to delete this ingress rule. -# message.action.delete.network=Please confirm that you want to delete this network. -# message.action.delete.pod=Please confirm that you want to delete this pod. -# message.action.delete.primary.storage=Please confirm that you want to delete this primary storage. -# message.action.delete.secondary.storage=Please confirm that you want to delete this secondary storage. -# message.action.delete.security.group=Please confirm that you want to delete this security group. -# message.action.delete.service.offering=Please confirm that you want to delete this service offering. -# message.action.delete.snapshot=Please confirm that you want to delete this snapshot. -# message.action.delete.template.for.all.zones=The template is used by all zones. Please confirm that you want to delete it from all zones. -# message.action.delete.template=Please confirm that you want to delete this template. -# message.action.delete.volume=Please confirm that you want to delete this volume. -# message.action.delete.zone=Please confirm that you want to delete this zone. -# message.action.destroy.instance=Please confirm that you want to destroy this instance. -# message.action.destroy.systemvm=Please confirm that you want to destroy this System VM. -# message.action.disable.static.NAT=Please confirm that you want to disable static NAT. -# message.action.enable.maintenance=Your host has been successfully prepared for maintenance. This process can take up to several minutes or longer depending on how many VMs are currently on this host. -# message.action.force.reconnect=Your host has been successfully forced to reconnect. This process can take up to several minutes. -# message.action.host.enable.maintenance.mode=Enabling maintenance mode will cause a live migration of all running instances on this host to any available host. -# message.action.instance.reset.password=Please confirm that you want to change the ROOT password for this virtual machine. -# message.action.primarystorage.enable.maintenance.mode=Warning\\\: placing the primary storage into maintenance mode will cause all VMs using volumes from it to be stopped. Do you want to continue? -# message.action.reboot.instance=Please confirm that you want to reboot this instance. -# message.action.reboot.systemvm=Please confirm that you want to reboot this system VM. -# message.action.release.ip=Please confirm that you want to release this IP. -# message.action.remove.host=Please confirm that you want to remove this host. -# message.action.restore.instance=Please confirm that you want to restore this instance. -# message.action.start.instance=Please confirm that you want to start this instance. -# message.action.start.router=Please confirm that you want to start this router. -# message.action.start.systemvm=Please confirm that you want to start this system VM. -# message.action.stop.instance=Please confirm that you want to stop this instance. -# message.action.stop.systemvm=Please confirm that you want to stop this system VM. -# message.action.take.snapshot=Please confirm that you want to take a snapshot of this volume. -# message.add.cluster.zone=Add a hypervisor managed cluster for zone -# message.add.cluster=Add a hypervisor managed cluster for zone , pod -# message.add.disk.offering=Please specify the following parameters to add a new disk offering -# message.add.firewall=Add a firewall to zone -# message.add.host=Please specify the following parameters to add a new host -# message.add.ip.range.direct.network=Add an IP range to direct network in zone -# message.add.ip.range.to.pod=

Add an IP range to pod\\\:

-# message.add.ip.range=Add an IP range to public network in zone -# message.add.load.balancer=Add a load balancer to zone -# message.add.network=Add a new network for zone\\\: -# message.add.pod=Add a new pod for zone -# message.add.primary.storage=Add a new Primary Storage for zone , pod -# message.add.primary=Please specify the following parameters to add a new primary storage -# message.add.secondary.storage=Add a new storage for zone -# message.add.service.offering=Please fill in the following data to add a new compute offering. -# message.add.template=Please enter the following data to create your new template -# message.add.volume=Please fill in the following data to add a new volume. -# message.additional.networks.desc=Please select additional network(s) that your virtual instance will be connected to. -# message.advanced.mode.desc=Choose this network model if you wish to enable VLAN support. This network model provides the most flexibility in allowing administrators to provide custom network offerings such as providing firewall, vpn, or load balancer support as well as enabling direct vs virtual networking. -# message.advanced.security.group=Choose this if you wish to use security groups to provide guest VM isolation. -# message.advanced.virtual=Choose this if you wish to use zone-wide VLANs to provide guest VM isolation. -# message.allow.vpn.access=Please enter a username and password of the user that you want to allow VPN access. -# message.attach.iso.confirm=Please confirm that you want to attach the ISO to this virtual instance. -# message.attach.volume=Please fill in the following data to attach a new volume. If you are attaching a disk volume to a Windows based virtual machine, you will need to reboot the instance to see the attached disk. -# message.basic.mode.desc=Choose this network model if you do *not* want to enable any VLAN support. All virtual instances created under this network model will be assigned an IP directly from the network and security groups are used to provide security and segregation. -# message.change.offering.confirm=Please confirm that you wish to change the service offering of this virtual instance. -# message.copy.iso.confirm=Please confirm that you wish to copy your ISO to -# message.copy.template=Copy template XXX from zone to -# message.create.template.vm=Create VM from template -# message.create.template.volume=Please specify the following information before creating a template of your disk volume\\\: . Creation of the template can range from several minutes to longer depending on the size of the volume. -# message.delete.account=Please confirm that you want to delete this account. -# message.detach.iso.confirm=Please confirm that you want to detach the ISO from this virtual instance. -# message.disable.account=Please confirm that you want to disable this account. By disabling the account, all users for this account will no longer have access to their cloud resources. All running virtual machines will be immediately shut down. -# message.disable.vpn.access=Please confirm that you want to disable VPN Access. -# message.download.ISO=Please click 00000 to download ISO -# message.download.template=Please click 00000 to download template -# message.download.volume=Please click 00000 to download volume -# message.edit.confirm=Please confirm that your changes before clicking "Save". -# message.edit.limits=Please specify limits to the following resources. A "-1" indicates no limit to the amount of resources create. +label.zoneWizard.trafficType.guest=\u0627\u0644\u0636\u064a\u0641 \\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0647\u0627\u0626\u064a. +label.zoneWizard.trafficType.management=\u0625\u062f\u0627\u0631\u0629\\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u060c \u0645\u062a\u0636\u0645\u0646\u0629 \u0623\u064a \u062c\u0632\u0621 \u064a\u062a\u0635\u0644 \u0628\u062e\u0627\u062f\u0645\\\u0633\u064a\u0631\u0641\u0631 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u060c \u0645\u062b\u0644 \u0627\u0644\u0645\u0636\u064a\u0641\u0627\u062a \u0648 \u0623\u0646\u0638\u0645\u0629 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629. +label.zoneWizard.trafficType.public=\u0627\u0644\u0639\u0627\u0645\u0629 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u0629. +label.zoneWizard.trafficType.storage=\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0645\u0644\u0642\u0645\u0627\u062a \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0642\u0648\u0627\u0644\u0628 VM \u0648\u0627\u0644\u0644\u0642\u0637\u0627\u062a +message.acquire.new.ip.vpc=\u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0628\u0648\u0631\u062a\u0648\u0643\u0648\u0644 \u0625\u0646\u062a\u0631\u0646\u062a \u062c\u062f\u064a\u062f \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a. +message.action.delete.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u062e\u062f\u0645\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0642\u062f\u0645\u0629. +message.action.disable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +message.action.enable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 +message.activate.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +message.add.domain=\u064a\u0631\u062c\u0649 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0627\u0644 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0646\u0634\u0627\u0621 \u062a\u062d\u062a \u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 +message.add.new.gateway.to.vpc=\u0641\u0636\u0644\u0627 \u062d\u062f\u062f \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0644\u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 gateway \u0644\u0647\u0630\u0647 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 VPC +message.add.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f \u0644\u0637\u0631\u062d +message.after.enable.s3=\u062a\u0645 \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. \u062a\u0646\u0648\u064a\u0647 \: \u0639\u0646\u062f \u0645\u063a\u0627\u062f\u0631\u062a\u0643 \u0644\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0644\u0646 \u064a\u0643\u0648\u0646 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 S3 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649. +message.confirm.join.project=\u0646\u0631\u062c\u0648 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.decline.invitation=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0631\u0641\u0636 \u0647\u0630\u0647 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061f +message.delete.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 +message.delete.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +message.delete.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.delete.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +message.detach.disk=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0631\u0635\u061f +message.disable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 message.enable.account=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628. -# message.enable.vpn.access=VPN is currently disabled for this IP Address. Would you like to enable VPN access? -# message.enabled.vpn.ip.sec=Your IPSec pre-shared key is -# message.enabled.vpn=Your VPN access is currently enabled and can be accessed via the IP -# message.launch.vm.on.private.network=Do you wish to launch your instance on your own private dedicated network? -# message.lock.account=Please confirm that you want to lock this account. By locking the account, all users for this account will no longer be able to manage their cloud resources. Existing resources can still be accessed. -# message.migrate.instance.confirm=Please confirm the host you wish to migrate the virtual instance to. -# message.new.user=Specify the following to add a new user to the account -# message.no.network.support.configuration.not.true=You do not have any zone that has security group enabled. Thus, no additional network features. Please continue to step 5. -# message.no.network.support=Your selected hypervisor, vSphere, does not have any additional network features. Please continue to step 5. -# message.number.clusters=

\\\# of Clusters

-# message.number.hosts=

\\\# of Hosts

-# message.number.pods=

\\\# of Pods

-# message.number.storage=

\\\# of Primary Storage Volumes

-# message.number.zones=

\\\# of Zones

-# message.remove.vpn.access=Please confirm that you want to remove VPN access from the following user. -# message.restart.mgmt.server=Please restart your management server(s) for your new settings to take effect. -# message.restart.mgmt.usage.server=Please restart your management server(s) and usage server(s) for your new settings to take effect. -# message.security.group.usage=(Use Ctrl-click to select all applicable security groups) -# message.snapshot.schedule=You can setup recurring snapshot schedules by selecting from the available options below and applying your policy preference -# message.step.1.continue=Please select a template or ISO to continue -# message.step.1.desc=Please select a template for your new virtual instance. You can also choose to select a blank template from which an ISO image can be installed onto. -# message.step.2.continue=Please select a service offering to continue +message.enable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.generate.keys=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0627\u062a\u064a\u062d \u062c\u062f\u064a\u062f\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.instanceWizard.noTemplates=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u062a\u0627\u062d\u0629\u061b \u064a\u0631\u062c\u0649 \u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0644\u0628 \u0645\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0637\u0644\u0627\u0642 \u0627\u0644\u0645\u0639\u0627\u0644\u062c . +message.join.project=\u0644\u0642\u062f \u0627\u0646\u0636\u0645\u0645\u062a \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639. \u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0637\u0631\u064a\u0642\u0629 \u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.no.projects.adminOnly=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u0627\u0644\u0631\u062c\u0627\u0621 \u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f. +message.no.projects=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u064a\u0631\u062c\u0649 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0645\u0646 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639. +message.pending.projects.1=\u0644\u062f\u064a\u0643 \u062f\u0639\u0648\u0627\u062a \u0645\u0634\u0631\u0648\u0639 \u0645\u0639\u0644\u0642\u0629/\: +message.pending.projects.2=\u0644\u0639\u0631\u0636\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639\u060c \u062b\u0645 \u062d\u062f\u062f \u062f\u0639\u0648\u0627\u062a \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062f\u0644\u0629. +message.please.select.networks=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0644\u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a +message.project.invite.sent=\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 ; \u0633\u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0645\u062c\u0631\u062f \u0642\u0628\u0648\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 +message.reset.password.warning.notPasswordEnabled=\u0627\u0644\u0642\u0627\u0644\u0628 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u062a\u0645 \u0627\u0646\u0634\u0627\u0626\u0647 \u0645\u0646 \u062f\u0648\u0646 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0645\u0645\u0643\u0646\u0629 +message.reset.password.warning.notStopped=\u064a\u062c\u0628 \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0642\u0628\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 +message.reset.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0639\u0627\u062f\u0629-\u0636\u0628\u0637 \u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN +message.select.template=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0642\u0627\u0644\u0628 \u0644\u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u062c\u062f\u064a\u062f message.step.2.desc= -# message.step.3.continue=Please select a disk offering to continue message.step.3.desc= -# message.step.4.continue=Please select at least one network to continue -# message.step.4.desc=Please select the primary network that your virtual instance will be connected to. -# message.update.os.preference=Please choose a OS preference for this host. All virtual instances with similar preferences will be first allocated to this host before choosing another. -# message.update.ssl=Please submit a new X.509 compliant SSL certificate to be updated to each console proxy virtual instance\\\: -# message.virtual.network.desc=A dedicated virtualized network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router. -# message.volume.create.template.confirm=Please confirm that you wish to create a template for this disk volume. Creation of the template can range from several minutes to longer depending on the size of the volume. -# message.zone.step.1.desc=Please select a network model for your zone. -# message.zone.step.2.desc=Please enter the following info to add a new zone -# message.zone.step.3.desc=Please enter the following info to add a new pod -# message.apply.snapshot.policy=You have successfully updated your current snapshot policy. -# message.disable.snapshot.policy=You have successfully disabled your current snapshot policy. -# message.action.change.service.warning.for.instance=Your instance must be stopped before attempting to change its current service offering. -# message.action.change.service.warning.for.router=Your router must be stopped before attempting to change its current service offering. -# message.action.reset.password.warning=Your instance must be stopped before attempting to change its current password. -# message.action.reset.password.off=Your instance currently does not support this feature. - -#Errors -# error.login=Your username/password does not match our records. -# error.menu.select=Unable to perform action due to no items being selected. -# error.mgmt.server.inaccessible=The Management Server is unaccessible. Please try again later. -# error.session.expired=Your session has expired. -# error.unresolved.internet.name=Your internet name cannot be resolved. - -# label.add.NiciraNvp.device=Add Nvp Controller -# label.delete.NiciraNvp=Remove Nvp Controller -# label.nicira.controller.address=Controller Address -# label.nicira.transportzoneuuid=Transport Zone Uuid -# label.nicira.l3gatewayserviceuuid=L3 Gateway Service Uuid - +message.suspend.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u064a\u0642\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f +message.update.resource.count=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628 +message.vm.review.launch=\u064a\u0631\u062c\u0649 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0648\u062a\u0623\u0643\u062f \u0623\u0646 \u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0635\u062d\u064a\u062d \u0642\u0628\u0644 \u0627\u0644\u0625\u0646\u0637\u0644\u0627\u0642 +message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\:

1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 +notification.reboot.instance=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +notification.start.instance=\u0628\u062f\u0621 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +notification.stop.instance=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c +state.Accepted=\u062a\u0645 \u0627\u0644\u0642\u0628\u0648\u0644 +state.Active=\u0646\u0634\u0637 +state.Allocated=\u062a\u062e\u0635\u064a\u0635 +state.Completed=\u062a\u0645 \u0627\u0644\u0627\u0643\u0645\u0627\u0644 +state.Creating=\u0625\u0646\u0634\u0627\u0621 +state.Declined=\u062a\u0645 \u0627\u0644\u0631\u0641\u0636 +state.Destroyed=\u062f\u0645\u0631 +state.enabled=\u062a\u0645\u0643\u064a\u0646 +state.Error=\u062e\u0637\u0623 +state.Expunging=\u0645\u062d\u0648 +state.Pending=\u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 +state.Ready=\u062c\u0627\u0647\u0632 +state.ready=\u062c\u0627\u0647\u0632 +state.Stopped=\u062a\u0648\u0642\u0641 +state.Suspended=\u062a\u0645 \u0627\u0644\u0625\u064a\u0642\u0627\u0641 +ui.listView.filters.all=\u0627\u0644\u0643\u0644 From 87cafdcbc42a6b33b91073c7f024640ccba7cde4 Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 16:18:11 +0100 Subject: [PATCH 108/283] Needs to force the download of l10n resource files --- tools/transifex/sync-transifex-ui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/transifex/sync-transifex-ui.sh b/tools/transifex/sync-transifex-ui.sh index ed108098028..9124ed6a633 100755 --- a/tools/transifex/sync-transifex-ui.sh +++ b/tools/transifex/sync-transifex-ui.sh @@ -74,7 +74,7 @@ doDownloadL10NLangs() done # get all resource files from transifex - tx pull -r ${ARGUMENTS} + tx pull -f -r ${ARGUMENTS} # l10n languages for CODELANG in ${LIST_LANG} ; do From 8545e68aaf6242c735fd2b176d48fad52820bc8e Mon Sep 17 00:00:00 2001 From: Milamber Date: Mon, 29 Apr 2013 16:24:21 +0100 Subject: [PATCH 109/283] Update l10n resource file Web-UI with latest version from transifex. --- .../classes/resources/messages_ar.properties | 55 +- .../resources/messages_de_DE.properties | 22 +- .../classes/resources/messages_es.properties | 1366 ++++++++--------- .../resources/messages_fr_FR.properties | 78 +- .../resources/messages_it_IT.properties | 1 - .../classes/resources/messages_ja.properties | 12 +- .../resources/messages_ko_KR.properties | 3 - .../resources/messages_pt_BR.properties | 1 - .../resources/messages_ru_RU.properties | 3 - .../resources/messages_zh_CN.properties | 4 - 10 files changed, 801 insertions(+), 744 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties index f0b779611b6..4d3011b5a6c 100644 --- a/client/WEB-INF/classes/resources/messages_ar.properties +++ b/client/WEB-INF/classes/resources/messages_ar.properties @@ -24,14 +24,14 @@ label.action.delete.system.service.offering=\u062d\u0630\u0641 \u0646\u0638\u062 label.action.disable.physical.network=\u062a\u0639\u0637\u064a\u0644 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 label.action.enable.physical.network=\u062a\u0645\u0643\u064a\u0646 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 label.activate.project=\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 label.add.accounts.to=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a \u0625\u0644\u0649 -label.add.accounts=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.add.accounts=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 label.add.ACL=\u0625\u0636\u0627\u0641\u0629 ACL label.add.network.ACL=\u0625\u0636\u0627\u0641\u0629 \u0634\u0628\u0643\u0629 ACL label.add.new.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u062c\u062f\u064a\u062f\u0629 label.add.new.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062c\u062f\u064a\u062f\u0629 -label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 +label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 label.add.route=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u0627\u0631 label.add.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 label.add.static.route=\u0625\u0636\u0627\u0641\u0629 \u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a @@ -39,6 +39,7 @@ label.add.to.group=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u064 label.add.VM.to.tier=\u0625\u0636\u0627\u0641\u0629 \u062c\u0647\u0627\u0632 \u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0637\u0628\u0642\u0629 label.add.vpc=\u0625\u0636\u0627\u0641\u0629 \u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 label.add.VPN.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.allocated=\u062a\u062e\u0635\u064a\u0635 label.apply=\u062a\u0637\u0628\u064a\u0642 label.associated.network=\u0634\u0628\u0643\u0629 \u0645\u0631\u062a\u0628\u0637\u0629 label.broadcast.uri=\u0628\u062b \u0627\u0644\u0631\u0627\u0628\u0637 @@ -50,13 +51,16 @@ label.clear.list=\u0645\u0633\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629 label.configuration=\u0627\u0644\u062a\u0643\u0648\u064a\u0646 label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646 +label.configure.vpc=\u062a\u0643\u0648\u064a\u0646 VPC +label.corrections.saved=\u062a\u0645 \u062d\u0641\u0638 \u0627\u0644\u062a\u0635\u062d\u064a\u062d\u0627\u062a label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632) +label.cpu=\u00d9\u0088\u00d8\u00ad\u00d8\u00af\u00d8\u00a9 \u00d8\u00a7\u00d9\u0084\u00d9 label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f label.decline.invitation=\u0631\u0641\u0636 \u0627\u0644\u062f\u0639\u0648\u0629 -label.default.view=\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 label.default=\u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a +label.default.view=\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 label.delete.gateway=\u0627\u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 label.delete.project=\u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 label.delete.VPN.connection=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 @@ -66,14 +70,18 @@ label.destroy=\u0647\u062f\u0645 label.devices=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 label.direct.ips=\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 IPs label.display.name=\u0639\u0631\u0636 \u0627\u0644\u0627\u0633\u0645 +label.DNS.domain.for.guest.networks=\u0645\u062c\u0627\u0644 DNS \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0632\u0627\u0626\u0631 label.dns=\u0646\u0638\u0627\u0645 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0644 DNS label.drag.new.position=\u0627\u0633\u062d\u0628 \u0644\u0645\u0648\u0642\u0641 \u062c\u062f\u064a\u062f label.edit.network.details=\u062a\u062d\u0631\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 label.edit.project.details=\u0627\u0636\u0627\u0641\u0629 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 label.edit.tags=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a +label.edit.vpc=\u062a\u0639\u062f\u064a\u0644 VPC label.egress.rules=\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0631\u0648\u062c label.elastic=\u0645\u0631\u0646 label.enable.s3=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u0648\u064a S3 +label.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629 +label.error=\u062e\u0637\u0623 label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629) label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628 @@ -81,9 +89,10 @@ label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644 label.guest.type=\u0646\u0648\u0639 \u0627\u0644\u0636\u064a\u0641 label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE +label.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a label.invitations=\u062f\u0639\u0648\u0627\u062a -label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640 label.invited.accounts=\u062f\u0639\u0648\u0629 \u062d\u0633\u0627\u0628\u0627\u062a +label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640 label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627 label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d @@ -92,6 +101,7 @@ label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u0 label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639 label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641 label.memory.mb=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 ( \u0628\u0627\u0644\u0645\u064a\u062c\u0627\u0628\u0627\u064a\u0628\u062a) +label.memory=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 label.menu.alerts=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a label.menu.all.accounts=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a label.menu.all.instances=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0627\u0644\u0627\u062a @@ -103,10 +113,12 @@ label.menu.destroyed.instances=\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a label.menu.disk.offerings=\u0639\u0631\u0648\u0636 \u0627\u0644\u0642\u0631\u0635 label.menu.domains=\u0627\u0644\u0645\u062c\u0627\u0644\u0627\u062a label.menu.events=\u0623\u062d\u062f\u0627\u062b -label.menu.featured.isos=\u0645\u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a +label.menu.featured.isos=\u0645\u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a label.menu.featured.templates=\u0642\u0648\u0627\u0644\u0628 \u0645\u0645\u064a\u0632\u0629 label.menu.global.settings=\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0645\u064a\u0629 label.menu.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a +label.migrate.instance.to.host=\u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0645\u0636\u064a\u0641 \u0622\u062e\u0631 +label.migrate.instance.to.ps=\u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 label.migrate.to.host=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641 label.migrate.to.storage=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 label.move.down.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f @@ -115,9 +127,9 @@ label.move.to.top=\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0623 label.move.up.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0644\u0649 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f label.my.network=\u0634\u0628\u0643\u062a\u064a label.my.templates=\u0642\u0648\u0627\u0644\u0628\u064a +label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs label.network.ACL.total=\u0625\u062c\u0645\u0627\u0644 \u0634\u0628\u0643\u0629 ACL label.network.ACL=\u0634\u0628\u0643\u0629 ACL -label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs label.networks=\u0627\u0644\u0634\u0628\u0643\u0627\u062a label.new.project=\u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f label.new=\u062c\u062f\u064a\u062f @@ -130,18 +142,20 @@ label.previous=\u0627\u0644\u0633\u0627\u0628\u0642 label.private.Gateway=\u0645\u0646\u0641\u0630\\Gateway \u062e\u0627\u0635 label.project.invite=\u062f\u0639\u0648\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 label.project.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 -label.project=\u0645\u0634\u0631\u0648\u0639 label.projects=\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 +label.project=\u0645\u0634\u0631\u0648\u0639 +label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 label.quickview=\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629 label.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 label.remind.later=\u0630\u0643\u0631\u0646\u064a \u0644\u0627\u062d\u0642\u0627\u064b label.remove.ACL=\u0625\u0632\u0627\u0644\u0629 ACL label.remove.static.route=\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a label.remove.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 +label.remove.vpc=\u0625\u0632\u0627\u0644\u0629 VPC label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 +label.restart.vpc=\u0625\u0639\u062f\u0627\u0629 \u062a\u0634\u063a\u064a\u0644 VPC label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629 label.review=\u0645\u0631\u0627\u062c\u0639\u0629 label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629 @@ -155,10 +169,11 @@ label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\ label.s3.use_https=\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS label.scope=\u0627\u0644\u0645\u062c\u0627\u0644 label.search=\u0628\u062d\u062b -label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 +label.secret.key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a label.select.a.template=\u0627\u062e\u062a\u0631 \u0642\u0627\u0644\u0628 label.select.project=\u062d\u062f\u062f \u0627\u0644\u0645\u0634\u0631\u0648\u0639 label.select.tier=\u062d\u062f\u062f \u0637\u0628\u0642\u0629 +label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629 label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN @@ -173,22 +188,26 @@ label.tier.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0628 label.tier=\u0637\u0628\u0642\u0629 label.upload=\u0631\u0641\u0639 label.view.all=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 -label.view=\u0639\u0631\u0636 label.viewing=\u0639\u0631\u0636 +label.view=\u0639\u0631\u0636 +label.vm.destroy=\u0647\u062f\u0645 +label.vm.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 label.VMs.in.tier=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0637\u0628\u0642\u0629 +label.vm.stop=\u062a\u0648\u0642\u0641 label.volume.limits=\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u0646\u0637\u0642\u0629 label.vpc.id=\u0647\u0648\u064a\u0629 \u062e\u0627\u0635\u0629 \u0628\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 label.VPC.router.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u062c\u0647\u0627\u0632 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 VPC label.vpc=\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 VPC label.VPN.connection=\u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 +label.vpn.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644 label.VPN.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644 label.VPN.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 -label.waiting=\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631 +label.waiting=\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631 label.warn=\u062a\u062d\u0630\u064a\u0631 label.wednesday=\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 label.weekly=\u0625\u0633\u0628\u0648\u0639\u064a label.welcome.cloud.console=\u0645\u0631\u062d\u0628\u0627 \u0628\u0643\u0645 \u0641\u064a \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0625\u0631\u0627\u062f\u064a\u0629 -label.welcome=\u0645\u0631\u062d\u0628\u0627 +label.welcome=\u0645\u0631\u062d\u0628\u0627 label.yes=\u0646\u0639\u0645 label.zone.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 label.zone.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 @@ -198,7 +217,6 @@ label.zone.step.3.title=\u0627\u0644\u062e\u0637\u0648\u0629 3 \\\: \u0639\u0644 label.zone.step.4.title=\u0627\u0644\u062e\u0637\u0648\u0629 4 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 IP <\\\u0642\u0648\u064a> label.zone.wide=\u0645\u0646\u0637\u0642\u0629 \u0648\u0627\u0633\u0639\u0629 label.zoneWizard.trafficType.guest=\u0627\u0644\u0636\u064a\u0641 \\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0647\u0627\u0626\u064a. -label.zoneWizard.trafficType.management=\u0625\u062f\u0627\u0631\u0629\\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u060c \u0645\u062a\u0636\u0645\u0646\u0629 \u0623\u064a \u062c\u0632\u0621 \u064a\u062a\u0635\u0644 \u0628\u062e\u0627\u062f\u0645\\\u0633\u064a\u0631\u0641\u0631 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u060c \u0645\u062b\u0644 \u0627\u0644\u0645\u0636\u064a\u0641\u0627\u062a \u0648 \u0623\u0646\u0638\u0645\u0629 \u0643\u0644\u0627\u0648\u062f \u0633\u062a\u0627\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629. label.zoneWizard.trafficType.public=\u0627\u0644\u0639\u0627\u0645\u0629 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u0629. label.zoneWizard.trafficType.storage=\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0645\u0644\u0642\u0645\u0627\u062a \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0642\u0648\u0627\u0644\u0628 VM \u0648\u0627\u0644\u0644\u0642\u0637\u0627\u062a message.acquire.new.ip.vpc=\u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0628\u0648\u0631\u062a\u0648\u0643\u0648\u0644 \u0625\u0646\u062a\u0631\u0646\u062a \u062c\u062f\u064a\u062f \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a. @@ -209,12 +227,14 @@ message.activate.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u064 message.add.domain=\u064a\u0631\u062c\u0649 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0627\u0644 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0646\u0634\u0627\u0621 \u062a\u062d\u062a \u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 message.add.new.gateway.to.vpc=\u0641\u0636\u0644\u0627 \u062d\u062f\u062f \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0644\u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 gateway \u0644\u0647\u0630\u0647 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 VPC message.add.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f \u0644\u0637\u0631\u062d +message.add.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN message.after.enable.s3=\u062a\u0645 \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. \u062a\u0646\u0648\u064a\u0647 \: \u0639\u0646\u062f \u0645\u063a\u0627\u062f\u0631\u062a\u0643 \u0644\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0644\u0646 \u064a\u0643\u0648\u0646 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 S3 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649. message.confirm.join.project=\u0646\u0631\u062c\u0648 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u0645\u0634\u0631\u0648\u0639 message.decline.invitation=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0631\u0641\u0636 \u0647\u0630\u0647 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061f message.delete.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629 message.delete.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f message.delete.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 +message.delete.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN message.delete.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 message.detach.disk=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0631\u0635\u061f message.disable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 @@ -223,15 +243,19 @@ message.enable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u062 message.generate.keys=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0627\u062a\u064a\u062d \u062c\u062f\u064a\u062f\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 message.instanceWizard.noTemplates=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u062a\u0627\u062d\u0629\u061b \u064a\u0631\u062c\u0649 \u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0644\u0628 \u0645\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0637\u0644\u0627\u0642 \u0627\u0644\u0645\u0639\u0627\u0644\u062c . message.join.project=\u0644\u0642\u062f \u0627\u0646\u0636\u0645\u0645\u062a \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639. \u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0637\u0631\u064a\u0642\u0629 \u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 +message.migrate.instance.to.host=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0645\u0636\u064a\u0641 \u0622\u062e\u0631. +message.migrate.instance.to.ps=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629. message.no.projects.adminOnly=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u0627\u0644\u0631\u062c\u0627\u0621 \u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f. message.no.projects=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639.
\u064a\u0631\u062c\u0649 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0645\u0646 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639. message.pending.projects.1=\u0644\u062f\u064a\u0643 \u062f\u0639\u0648\u0627\u062a \u0645\u0634\u0631\u0648\u0639 \u0645\u0639\u0644\u0642\u0629/\: message.pending.projects.2=\u0644\u0639\u0631\u0636\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639\u060c \u062b\u0645 \u062d\u062f\u062f \u062f\u0639\u0648\u0627\u062a \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062f\u0644\u0629. message.please.select.networks=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0644\u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a message.project.invite.sent=\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 ; \u0633\u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0645\u062c\u0631\u062f \u0642\u0628\u0648\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 +message.remove.vpc=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0640VPC message.reset.password.warning.notPasswordEnabled=\u0627\u0644\u0642\u0627\u0644\u0628 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u062a\u0645 \u0627\u0646\u0634\u0627\u0626\u0647 \u0645\u0646 \u062f\u0648\u0646 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0645\u0645\u0643\u0646\u0629 message.reset.password.warning.notStopped=\u064a\u062c\u0628 \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0642\u0628\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 message.reset.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0639\u0627\u062f\u0629-\u0636\u0628\u0637 \u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN +message.restart.vpc=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0640VPN message.select.template=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0642\u0627\u0644\u0628 \u0644\u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u062c\u062f\u064a\u062f message.step.2.desc= message.step.3.desc= @@ -250,11 +274,12 @@ state.Creating=\u0625\u0646\u0634\u0627\u0621 state.Declined=\u062a\u0645 \u0627\u0644\u0631\u0641\u0636 state.Destroyed=\u062f\u0645\u0631 state.enabled=\u062a\u0645\u0643\u064a\u0646 +state.Enabled=\u062a\u0645\u0643\u064a\u0646 state.Error=\u062e\u0637\u0623 state.Expunging=\u0645\u062d\u0648 state.Pending=\u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 -state.Ready=\u062c\u0627\u0647\u0632 state.ready=\u062c\u0627\u0647\u0632 +state.Ready=\u062c\u0627\u0647\u0632 state.Stopped=\u062a\u0648\u0642\u0641 state.Suspended=\u062a\u0645 \u0627\u0644\u0625\u064a\u0642\u0627\u0641 ui.listView.filters.all=\u0627\u0644\u0643\u0644 diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties index 9b1d6b03310..ca87323cc77 100644 --- a/client/WEB-INF/classes/resources/messages_de_DE.properties +++ b/client/WEB-INF/classes/resources/messages_de_DE.properties @@ -22,7 +22,7 @@ error.session.expired=Ihre Sitzung ist abgelaufen. force.delete.domain.warning=Achtung\: Diese Auswahl f\u00fchrt zu einer L\u00f6schung aller untergeordneten Domains und aller angeschlossenen Konten sowie ihrer Quellen. force.delete=Erzwinge L\u00f6schung force.remove=Erzwinge Entfernung -force.remove.host.warning=Achtung\: Diese Auswahl wird CloudStack zum sofortigen Anhalten der virtuellen Maschine f\u00fchren, bevor der Host vom Cluster entfernt wurde. +force.remove.host.warning=Achtung\: Diese Auswahl wird CloudStack zum sofortigen Anhalten der virtuellen Maschine f\u00fchren, bevor der Host vom Cluster entfernt wurde. force.stop=Erzwinge Abbruch ICMP.code=ICMP Code ICMP.type=ICMP-Typ @@ -160,7 +160,7 @@ label.action.migrate.instance.processing=Umziehen einer Instanz label.action.reboot.instance=Instanz neustarten label.action.reboot.instance.processing=Neustarten der Instanz... label.action.reboot.router.processing=Neustart vom Router .... -label.action.reboot.router=Router neu starten +label.action.reboot.router=Router neu starten label.action.reboot.systemvm.processing=Neustart-System VM .... label.action.reboot.systemvm=System VM neu starten label.action.release.ip=IP ver\u00f6ffentlichen @@ -272,7 +272,7 @@ label.cidr=CIDR label.cidr.list=Quelle CIDR label.close=Schliessen label.cloud.console=Cloud Management Konsole -label.cloud.managed=Geleitet von cloud.com +label.cloud.managed=Geleitet von cloud.com label.cluster=Cluster label.cluster.type=Cluster-Typ label.code=Code @@ -280,7 +280,7 @@ label.configuration=Konfiguration label.confirmation=Best\u00e4tigung label.congratulations=Herzlichen Gl\u00fcckwunsch label.corrections.saved=Korrekturen gespeichert -label.cpu.allocated=Zugeteilte CPU +label.cpu.allocated=Zugeteilte CPU label.CPU.cap=CPU Obergrenze label.cpu=CPU label.cpu.mhz=CPU (in MHz) @@ -709,7 +709,7 @@ message.enable.account=Bitte best\u00e4tigen Sie, dass Sie dieses Konto aktivier message.enabled.vpn=Ihr VPN Zugriff ist zurzeit aktiv und via IP k\u00f6nnen Sie darauf zugreifen message.enable.vpn.access=VPN ist zurzeit nicht f\u00fcr diese IP Addresse aktiviert. M\u00f6chten Sie den VPN Zugriff aktivieren? message.installWizard.click.retry=Bitte den Start Button f\u00fcr einen neuen Versuch dr\u00fccken -message.installWizard.tooltip.addCluster.name=Der Name des Clusters. Der Name kann frei gew\u00e4hlt werden und wird von Cloudstack nicht genutzt. +message.installWizard.tooltip.addCluster.name=Der Name des Clusters. Der Name kann frei gew\u00e4hlt werden und wird von Cloudstack nicht genutzt. message.installWizard.tooltip.addHost.hostname=Der DNS-Name oder die IP-Adresse des hosts message.installWizard.tooltip.addHost.password=Dies ist das Passwort des o.a. Users (von der XenServer Installation) message.installWizard.tooltip.addHost.username=\u00fcberlicherweise root @@ -718,16 +718,16 @@ message.installWizard.tooltip.addPod.reservedSystemGateway=Das Gateways f\u00fcr message.installWizard.tooltip.addPod.reservedSystemNetmask=Die Subnetzmaske des Gast-Netzwerks message.installWizard.tooltip.addPrimaryStorage.name=Der Name der Storage Devices message.installWizard.tooltip.addPrimaryStorage.path=(f\u00fcr NFS) Bei NFS wird hier der exportierte Pfad (Shared Mount Point) angegeben. F\u00fcr KVM wird hier der Pfad angegeben, wo auf jedem Host das primary storage gemountet wurde. Z.B. "/mnt/primary" -message.installWizard.tooltip.addPrimaryStorage.server=(f\u00fcr NFS, iSCSI oder PreSetup) Die IP-Adresse oder der DNS-Name des storage devices. -message.installWizard.tooltip.addSecondaryStorage.nfsServer=Die IP-Adresse des NFS-Servers, der den Secondary Storage bereitstellt. -message.installWizard.tooltip.addSecondaryStorage.path=Der exportierte Pfad, der auf dem o.a. Server liegt. +message.installWizard.tooltip.addPrimaryStorage.server=(f\u00fcr NFS, iSCSI oder PreSetup) Die IP-Adresse oder der DNS-Name des storage devices. +message.installWizard.tooltip.addSecondaryStorage.nfsServer=Die IP-Adresse des NFS-Servers, der den Secondary Storage bereitstellt. +message.installWizard.tooltip.addSecondaryStorage.path=Der exportierte Pfad, der auf dem o.a. Server liegt. message.installWizard.tooltip.addZone.name=Der Name f\u00fcr die zone -message.installWizard.tooltip.configureGuestTraffic.description=Eine Beschreibung des Netzwerkes. -message.installWizard.tooltip.configureGuestTraffic.guestGateway=Das gateway, welches der Gast benutzen soll. +message.installWizard.tooltip.configureGuestTraffic.description=Eine Beschreibung des Netzwerkes. +message.installWizard.tooltip.configureGuestTraffic.guestGateway=Das gateway, welches der Gast benutzen soll. message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Die Subnetzmaske des Gast-Netzwerks message.installWizard.tooltip.configureGuestTraffic.name=Der Name f\u00fcr das Netzwerk message.migrate.instance.to.host=Bitte best\u00e4tigen sie, dass die Instanz auf einen anderen Host migriert werden soll -message.migrate.instance.to.ps=Bitte best\u00e4tigen sie, dass sie die Instanz auf einen anderen prim\u00e4ren Speicher migrieren wollen. +message.migrate.instance.to.ps=Bitte best\u00e4tigen sie, dass sie die Instanz auf einen anderen prim\u00e4ren Speicher migrieren wollen. message.new.user=Spezifieren Sie das folgende um einen neuen Nutzer dem Benutzerkonto hinzuzuf\u00fcgen message.remove.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN-Zugriff vom folgenden Benutzer entfernen m\u00f6chten. message.setup.successful=Cloud setup erfolgreich diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties index c0680b30613..16cfc1cda49 100644 --- a/client/WEB-INF/classes/resources/messages_es.properties +++ b/client/WEB-INF/classes/resources/messages_es.properties @@ -16,7 +16,7 @@ # under the License. -error.installWizard.message=Algo salio mal, debes ir para atr\u00e1s y corregir los error. +error.installWizard.message=Algo salio mal, debes ir para atr\u00e1s y corregir los error. error.login=Su nombre de usuario / contrase\u00c3\u00b1a no coincide con nuestros registros. error.mgmt.server.inaccessible=El Servidor de Gesti\u00c3\u00b3n es inaccesible. Por favor, int\u00c3\u00a9ntelo de nuevo m\u00c3\u00a1s tarde. error.session.expired=Su sesi\u00c3\u00b3n ha caducado. @@ -32,133 +32,133 @@ ICMP.code=ICMP C\u00c3\u00b3digo ICMP.type=Tipo ICMP image.directory=Directorio de la imagen inline=en l\u00c3\u00adnea -label.account=Cuenta -label.account.id=ID de la cuenta -label.account.name=Nombre de la cuenta +label.account=Cuenta +label.account.id=ID de la cuenta +label.account.name=Nombre de la cuenta label.accounts=Cuentas -label.account.specific=espec\u00c3\u00adficas de la cuenta +label.account.specific=espec\u00c3\u00adficas de la cuenta label.acquire.new.ip=adquirir nuevas IP -label.action.attach.disk=Conecte el disco -label.action.attach.disk.processing=disco Fijaci\u00c3\u00b3n .... -label.action.attach.iso=Adjuntar ISO -label.action.attach.iso.processing=Colocaci\u00c3\u00b3n de la norma ISO .... -label.action.cancel.maintenance.mode=Cancelar modo de mantenimiento -label.action.cancel.maintenance.mode.processing=Cancelaci\u00c3\u00b3n del modo de mantenimiento .... -label.action.change.password=Cambiar contrase\u00c3\u00b1a -label.action.change.service=Cambio de Servicio -label.action.change.service.processing=Cambio de servicio .... -label.action.copy.ISO=Copia de la ISO -label.action.copy.ISO.processing=hacer frente ISO .... -label.action.copy.template=Copia de plantilla -label.action.copy.template.processing=hacer frente plantilla .... -label.action.create.template=Crear plantilla +label.action.attach.disk=Conecte el disco +label.action.attach.disk.processing=disco Fijaci\u00c3\u00b3n .... +label.action.attach.iso=Adjuntar ISO +label.action.attach.iso.processing=Colocaci\u00c3\u00b3n de la norma ISO .... +label.action.cancel.maintenance.mode=Cancelar modo de mantenimiento +label.action.cancel.maintenance.mode.processing=Cancelaci\u00c3\u00b3n del modo de mantenimiento .... +label.action.change.password=Cambiar contrase\u00c3\u00b1a +label.action.change.service=Cambio de Servicio +label.action.change.service.processing=Cambio de servicio .... +label.action.copy.ISO=Copia de la ISO +label.action.copy.ISO.processing=hacer frente ISO .... +label.action.copy.template=Copia de plantilla +label.action.copy.template.processing=hacer frente plantilla .... +label.action.create.template=Crear plantilla label.action.create.template.from.vm=Crear plantilla de VM label.action.create.template.from.volume=Crear plantilla de volumen -label.action.create.template.processing=Creaci\u00c3\u00b3n de plantillas .... -label.action.create.vm=Crear VM -label.action.create.vm.processing=Creaci\u00c3\u00b3n de m\u00c3\u00a1quina virtual .... -label.action.create.volume=Crear volumen -label.action.create.volume.processing=Crear volumen .... -label.action.delete.account=Eliminar cuenta -label.action.delete.account.processing=Eliminar cuentas .... -label.action.delete.cluster=Borrar Grupo -label.action.delete.cluster.processing=Borrar Grupo .... -label.action.delete.disk.offering=Borrar disco Ofrenda -label.action.delete.disk.offering.processing=Borrar disco ofrece .... -label.action.delete.domain=Eliminar de dominio -label.action.delete.domain.processing=Eliminaci\u00c3\u00b3n de dominio .... -label.action.delete.firewall=Eliminar servidor de seguridad -label.action.delete.firewall.processing=Eliminaci\u00c3\u00b3n de firewall .... -label.action.delete.ingress.rule=Borrar ingreso Regla -label.action.delete.ingress.rule.processing=Eliminaci\u00c3\u00b3n de ingreso regla .... -label.action.delete.IP.range=Eliminar Rango de IP -label.action.delete.IP.range.processing=Eliminar Rango de IP .... -label.action.delete.ISO=Eliminar ISO -label.action.delete.ISO.processing=Eliminaci\u00c3\u00b3n de la norma ISO .... -label.action.delete.load.balancer=Eliminar equilibrador de carga +label.action.create.template.processing=Creaci\u00c3\u00b3n de plantillas .... +label.action.create.vm=Crear VM +label.action.create.vm.processing=Creaci\u00c3\u00b3n de m\u00c3\u00a1quina virtual .... +label.action.create.volume=Crear volumen +label.action.create.volume.processing=Crear volumen .... +label.action.delete.account=Eliminar cuenta +label.action.delete.account.processing=Eliminar cuentas .... +label.action.delete.cluster=Borrar Grupo +label.action.delete.cluster.processing=Borrar Grupo .... +label.action.delete.disk.offering=Borrar disco Ofrenda +label.action.delete.disk.offering.processing=Borrar disco ofrece .... +label.action.delete.domain=Eliminar de dominio +label.action.delete.domain.processing=Eliminaci\u00c3\u00b3n de dominio .... +label.action.delete.firewall=Eliminar servidor de seguridad +label.action.delete.firewall.processing=Eliminaci\u00c3\u00b3n de firewall .... +label.action.delete.ingress.rule=Borrar ingreso Regla +label.action.delete.ingress.rule.processing=Eliminaci\u00c3\u00b3n de ingreso regla .... +label.action.delete.IP.range=Eliminar Rango de IP +label.action.delete.IP.range.processing=Eliminar Rango de IP .... +label.action.delete.ISO=Eliminar ISO +label.action.delete.ISO.processing=Eliminaci\u00c3\u00b3n de la norma ISO .... +label.action.delete.load.balancer=Eliminar equilibrador de carga label.action.delete.load.balancer.processing=Eliminaci\u00c3\u00b3n del equilibrador de carga .... -label.action.delete.network=Eliminar Red -label.action.delete.network.processing=Eliminaci\u00c3\u00b3n de red .... -label.action.delete.pod=Eliminar Pod -label.action.delete.pod.processing=Eliminar Pod .... -label.action.delete.primary.storage=Almacenamiento primario Eliminar -label.action.delete.primary.storage.processing=Eliminaci\u00c3\u00b3n de almacenamiento primaria .... -label.action.delete.secondary.storage.processing=Eliminaci\u00c3\u00b3n de almacenamiento secundario .... -label.action.delete.secondary.storage=secundaria almacenamiento Eliminar -label.action.delete.security.group=Borrar Grupo de Seguridad -label.action.delete.security.group.processing=Eliminar grupo de seguridad .... -label.action.delete.service.offering=Eliminar Oferta de Servicio -label.action.delete.service.offering.processing=Eliminaci\u00c3\u00b3n de Oferta de Servicio .... -label.action.delete.snapshot=Eliminar instant\u00c3\u00a1nea -label.action.delete.snapshot.processing=Eliminar instant\u00c3\u00a1nea .... -label.action.delete.template=Eliminar plantilla -label.action.delete.template.processing=Eliminar plantilla .... -label.action.delete.user=Eliminar usuario -label.action.delete.user.processing=Eliminar usuario .... -label.action.delete.volume=Eliminar volumen -label.action.delete.volume.processing=Eliminar volumen .... -label.action.delete.zone=Eliminar Zona -label.action.delete.zone.processing=Eliminaci\u00c3\u00b3n de la Zona .... -label.action.destroy.instance=Destruye Instancia -label.action.destroy.instance.processing=Destrucci\u00c3\u00b3n Instancia .... +label.action.delete.network=Eliminar Red +label.action.delete.network.processing=Eliminaci\u00c3\u00b3n de red .... +label.action.delete.pod=Eliminar Pod +label.action.delete.pod.processing=Eliminar Pod .... +label.action.delete.primary.storage=Almacenamiento primario Eliminar +label.action.delete.primary.storage.processing=Eliminaci\u00c3\u00b3n de almacenamiento primaria .... +label.action.delete.secondary.storage.processing=Eliminaci\u00c3\u00b3n de almacenamiento secundario .... +label.action.delete.secondary.storage=secundaria almacenamiento Eliminar +label.action.delete.security.group=Borrar Grupo de Seguridad +label.action.delete.security.group.processing=Eliminar grupo de seguridad .... +label.action.delete.service.offering=Eliminar Oferta de Servicio +label.action.delete.service.offering.processing=Eliminaci\u00c3\u00b3n de Oferta de Servicio .... +label.action.delete.snapshot=Eliminar instant\u00c3\u00a1nea +label.action.delete.snapshot.processing=Eliminar instant\u00c3\u00a1nea .... +label.action.delete.template=Eliminar plantilla +label.action.delete.template.processing=Eliminar plantilla .... +label.action.delete.user=Eliminar usuario +label.action.delete.user.processing=Eliminar usuario .... +label.action.delete.volume=Eliminar volumen +label.action.delete.volume.processing=Eliminar volumen .... +label.action.delete.zone=Eliminar Zona +label.action.delete.zone.processing=Eliminaci\u00c3\u00b3n de la Zona .... +label.action.destroy.instance=Destruye Instancia +label.action.destroy.instance.processing=Destrucci\u00c3\u00b3n Instancia .... label.action.destroy.systemvm=destruir el sistema VM label.action.destroy.systemvm.processing=Destrucci\u00c3\u00b3n del sistema VM .... -label.action.detach.disk.processing=Extracci\u00c3\u00b3n disco .... -label.action.detach.disk=Separar disco -label.action.detach.iso.processing=Extracci\u00c3\u00b3n ISO .... -label.action.detach.iso=Separar ISO -label.action.disable.account=Desactivar cuenta -label.action.disable.account.processing=Deshabilitar cuenta .... -label.action.disable.cluster=Deshabilitar cl\u00c3\u00baster -label.action.disable.cluster.processing=Desactivaci\u00c3\u00b3n de Cluster Server .... -label.action.disable.pod=Deshabilitar Pod -label.action.disable.pod.processing=Deshabilitar Pod .... -label.action.disable.static.NAT=Deshabilitar NAT est\u00c3\u00a1tica -label.action.disable.static.NAT.processing=Deshabilitar NAT est\u00c3\u00a1tica .... -label.action.disable.user=Deshabilitar usuario -label.action.disable.user.processing=Desactivaci\u00c3\u00b3n de usuario .... -label.action.disable.zone=Deshabilitar la zona -label.action.disable.zone.processing=Desactivaci\u00c3\u00b3n de la zona .... -label.action.download.ISO=ISO Descargar -label.action.download.template=Descargar plantilla -label.action.download.volume=Descargar Volumen -label.action.download.volume.processing=Volumen Descargar .... -label.action.edit.account=Editar cuenta -label.action.edit.disk.offering=Editar disco Ofrenda -label.action.edit.domain=Editar Dominio -label.action.edit.global.setting=Editar Mundial Marco +label.action.detach.disk.processing=Extracci\u00c3\u00b3n disco .... +label.action.detach.disk=Separar disco +label.action.detach.iso.processing=Extracci\u00c3\u00b3n ISO .... +label.action.detach.iso=Separar ISO +label.action.disable.account=Desactivar cuenta +label.action.disable.account.processing=Deshabilitar cuenta .... +label.action.disable.cluster=Deshabilitar cl\u00c3\u00baster +label.action.disable.cluster.processing=Desactivaci\u00c3\u00b3n de Cluster Server .... +label.action.disable.pod=Deshabilitar Pod +label.action.disable.pod.processing=Deshabilitar Pod .... +label.action.disable.static.NAT=Deshabilitar NAT est\u00c3\u00a1tica +label.action.disable.static.NAT.processing=Deshabilitar NAT est\u00c3\u00a1tica .... +label.action.disable.user=Deshabilitar usuario +label.action.disable.user.processing=Desactivaci\u00c3\u00b3n de usuario .... +label.action.disable.zone=Deshabilitar la zona +label.action.disable.zone.processing=Desactivaci\u00c3\u00b3n de la zona .... +label.action.download.ISO=ISO Descargar +label.action.download.template=Descargar plantilla +label.action.download.volume=Descargar Volumen +label.action.download.volume.processing=Volumen Descargar .... +label.action.edit.account=Editar cuenta +label.action.edit.disk.offering=Editar disco Ofrenda +label.action.edit.domain=Editar Dominio +label.action.edit.global.setting=Editar Mundial Marco label.action.edit.host=edici\u00c3\u00b3n Anfitri\u00c3\u00b3n -label.action.edit.instance=Editar Instancia -label.action.edit.ISO=Editar ISO +label.action.edit.instance=Editar Instancia +label.action.edit.ISO=Editar ISO label.action.edit.network=Edici\u00c3\u00b3n de redes -label.action.edit.network.offering=Editar Red ofrece -label.action.edit.pod=Editar Pod -label.action.edit.primary.storage=Editar Almacenamiento primario -label.action.edit.resource.limits=Editar l\u00c3\u00admites de recursos -label.action.edit.service.offering=Editar Oferta de Servicio -label.action.edit.template=Editar plantilla -label.action.edit.user=Editar usuario -label.action.edit.zone=Edici\u00c3\u00b3n Zona -label.action.enable.account=Habilitar cuenta -label.action.enable.account.processing=cuenta de Habilitaci\u00c3\u00b3n .... -label.action.enable.cluster=Habilitar cl\u00c3\u00baster -label.action.enable.cluster.processing=Habilitar cl\u00c3\u00baster .... -label.action.enable.maintenance.mode=Activar el modo de mantenimiento -label.action.enable.maintenance.mode.processing=Habilitaci\u00c3\u00b3n del modo de mantenimiento .... -label.action.enable.pod=Habilitar Pod -label.action.enable.pod.processing=Habilitaci\u00c3\u00b3n Pod .... -label.action.enable.static.NAT=Habilitar NAT est\u00c3\u00a1tica -label.action.enable.static.NAT.processing=Habilitar NAT est\u00c3\u00a1tica .... -label.action.enable.user.processing=Habilitaci\u00c3\u00b3n del usuario .... -label.action.enable.user=usuario Activar +label.action.edit.network.offering=Editar Red ofrece +label.action.edit.pod=Editar Pod +label.action.edit.primary.storage=Editar Almacenamiento primario +label.action.edit.resource.limits=Editar l\u00c3\u00admites de recursos +label.action.edit.service.offering=Editar Oferta de Servicio +label.action.edit.template=Editar plantilla +label.action.edit.user=Editar usuario +label.action.edit.zone=Edici\u00c3\u00b3n Zona +label.action.enable.account=Habilitar cuenta +label.action.enable.account.processing=cuenta de Habilitaci\u00c3\u00b3n .... +label.action.enable.cluster=Habilitar cl\u00c3\u00baster +label.action.enable.cluster.processing=Habilitar cl\u00c3\u00baster .... +label.action.enable.maintenance.mode=Activar el modo de mantenimiento +label.action.enable.maintenance.mode.processing=Habilitaci\u00c3\u00b3n del modo de mantenimiento .... +label.action.enable.pod=Habilitar Pod +label.action.enable.pod.processing=Habilitaci\u00c3\u00b3n Pod .... +label.action.enable.static.NAT=Habilitar NAT est\u00c3\u00a1tica +label.action.enable.static.NAT.processing=Habilitar NAT est\u00c3\u00a1tica .... +label.action.enable.user.processing=Habilitaci\u00c3\u00b3n del usuario .... +label.action.enable.user=usuario Activar label.action.enable.zone=Habilitar la zona -label.action.enable.zone.processing=Habilitaci\u00c3\u00b3n de zona .... -label.action.force.reconnect=Fuerza Vuelva a conectar -label.action.force.reconnect.processing=Reconectando .... -label.action.generate.keys=Generar Claves -label.action.generate.keys.processing=Generar claves .... -label.action.lock.account=Bloqueo de cuenta -label.action.lock.account.processing=Bloqueo de cuenta .... +label.action.enable.zone.processing=Habilitaci\u00c3\u00b3n de zona .... +label.action.force.reconnect=Fuerza Vuelva a conectar +label.action.force.reconnect.processing=Reconectando .... +label.action.generate.keys=Generar Claves +label.action.generate.keys.processing=Generar claves .... +label.action.lock.account=Bloqueo de cuenta +label.action.lock.account.processing=Bloqueo de cuenta .... label.action.manage.cluster=gestionar racimo label.action.manage.cluster.processing=La gesti\u00c3\u00b3n de cl\u00c3\u00basteres .... label.action.migrate.instance=Migrar Instancia @@ -167,650 +167,650 @@ label.action.migrate.router=migrar Router label.action.migrate.router.processing=Migraci\u00c3\u00b3n router .... label.action.migrate.systemvm=Migrar del sistema VM label.action.migrate.systemvm.processing=La migraci\u00c3\u00b3n de VM del sistema .... -label.action.reboot.instance.processing=Reiniciar Instancia .... -label.action.reboot.instance=Reiniciar Instancia -label.action.reboot.router.processing=Reiniciar router .... -label.action.reboot.router=Reiniciar router -label.action.reboot.systemvm.processing=reinicio del sistema VM .... -label.action.reboot.systemvm=Reiniciar sistema VM -label.action.recurring.snapshot=recurrente instant\u00c3\u00a1neas -label.action.release.ip=estreno IP -label.action.release.ip.processing=Liberar IP .... -label.action.remove.host.processing=Extracci\u00c3\u00b3n de host .... -label.action.remove.host=Quitar host -label.action.reset.password.processing=Restablecimiento de la contrase\u00c3\u00b1a .... -label.action.reset.password=Restablecer contrase\u00c3\u00b1a -label.action.resource.limits=Recursos l\u00c3\u00admites -label.action.restore.instance.processing=Restaurar Instancia .... -label.action.restore.instance=Restaurar Instancia -label.actions=Acciones -label.action.start.instance=Iniciar Instancia -label.action.start.instance.processing=A partir Instancia .... -label.action.start.router=inicio del router -label.action.start.router.processing=A partir del router .... -label.action.start.systemvm=Inicio del sistema VM -label.action.start.systemvm.processing=A partir del sistema VM .... -label.action.stop.instance=Detener Instancia -label.action.stop.instance.processing=Detener Instancia .... -label.action.stop.router=Detener router -label.action.stop.router.processing=Detener router .... -label.action.stop.systemvm=parada del sistema VM -label.action.stop.systemvm.processing=Detener sistema VM .... -label.action.take.snapshot.processing=Tomar instant\u00c3\u00a1neas .... -label.action.take.snapshot=Tomar instant\u00c3\u00a1nea +label.action.reboot.instance.processing=Reiniciar Instancia .... +label.action.reboot.instance=Reiniciar Instancia +label.action.reboot.router.processing=Reiniciar router .... +label.action.reboot.router=Reiniciar router +label.action.reboot.systemvm.processing=reinicio del sistema VM .... +label.action.reboot.systemvm=Reiniciar sistema VM +label.action.recurring.snapshot=recurrente instant\u00c3\u00a1neas +label.action.release.ip=estreno IP +label.action.release.ip.processing=Liberar IP .... +label.action.remove.host.processing=Extracci\u00c3\u00b3n de host .... +label.action.remove.host=Quitar host +label.action.reset.password.processing=Restablecimiento de la contrase\u00c3\u00b1a .... +label.action.reset.password=Restablecer contrase\u00c3\u00b1a +label.action.resource.limits=Recursos l\u00c3\u00admites +label.action.restore.instance.processing=Restaurar Instancia .... +label.action.restore.instance=Restaurar Instancia +label.actions=Acciones +label.action.start.instance=Iniciar Instancia +label.action.start.instance.processing=A partir Instancia .... +label.action.start.router=inicio del router +label.action.start.router.processing=A partir del router .... +label.action.start.systemvm=Inicio del sistema VM +label.action.start.systemvm.processing=A partir del sistema VM .... +label.action.stop.instance=Detener Instancia +label.action.stop.instance.processing=Detener Instancia .... +label.action.stop.router=Detener router +label.action.stop.router.processing=Detener router .... +label.action.stop.systemvm=parada del sistema VM +label.action.stop.systemvm.processing=Detener sistema VM .... +label.action.take.snapshot.processing=Tomar instant\u00c3\u00a1neas .... +label.action.take.snapshot=Tomar instant\u00c3\u00a1nea label.action.unmanage.cluster.processing=Unmanaging Grupo .... label.action.unmanage.cluster=Unmanage racimo -label.action.update.OS.preference=Actualizar OS Preferencia -label.action.update.OS.preference.processing=Actualizaci\u00c3\u00b3n de sistema operativo preferencia .... +label.action.update.OS.preference=Actualizar OS Preferencia +label.action.update.OS.preference.processing=Actualizaci\u00c3\u00b3n de sistema operativo preferencia .... label.action.update.resource.count=Actualizaci\u00c3\u00b3n de recursos Conde label.action.update.resource.count.processing=Actualizaci\u00c3\u00b3n de Conde de recursos .... -label.active.sessions=Sesiones activas -label.add.account=A\u00c3\u00b1adir cuenta -label.add=Agregar -label.add.by.cidr=A\u00c3\u00b1adir Por CIDR -label.add.by.group=A\u00c3\u00b1adir Por el Grupo de -label.add.cluster=A\u00c3\u00b1adir Grupo -label.add.direct.iprange=A\u00c3\u00b1adir Direct IP Gama -label.add.disk.offering=A\u00c3\u00b1adir disco Ofrenda -label.add.domain=Agregar dominio -label.add.firewall=Agregar Servidor de seguridad -label.add.host=Agregar host -label.adding=Agregar -label.adding.cluster=Adici\u00c3\u00b3n de cl\u00c3\u00baster -label.adding.failed=No se pudo agregar -label.adding.pod=Agregar Pod -label.adding.processing=A\u00c3\u00b1adir .... -label.add.ingress.rule=A\u00c3\u00b1adir regla del ingreso -label.adding.succeeded=Agregar Sucesor -label.adding.user=Agregar usuario -label.adding.zone=Agregar la zona -label.add.ip.range=A\u00c3\u00b1adir Rango de IP -label.additional.networks=Redes adicional -label.add.load.balancer=A\u00c3\u00b1adir equilibrador de carga -label.add.more=A\u00c3\u00b1adir m\u00c3\u00a1s -label.add.network=Agregar sitios de red +label.active.sessions=Sesiones activas +label.add.account=A\u00c3\u00b1adir cuenta +label.add=Agregar +label.add.by.cidr=A\u00c3\u00b1adir Por CIDR +label.add.by.group=A\u00c3\u00b1adir Por el Grupo de +label.add.cluster=A\u00c3\u00b1adir Grupo +label.add.direct.iprange=A\u00c3\u00b1adir Direct IP Gama +label.add.disk.offering=A\u00c3\u00b1adir disco Ofrenda +label.add.domain=Agregar dominio +label.add.firewall=Agregar Servidor de seguridad +label.add.host=Agregar host +label.adding=Agregar +label.adding.cluster=Adici\u00c3\u00b3n de cl\u00c3\u00baster +label.adding.failed=No se pudo agregar +label.adding.pod=Agregar Pod +label.adding.processing=A\u00c3\u00b1adir .... +label.add.ingress.rule=A\u00c3\u00b1adir regla del ingreso +label.adding.succeeded=Agregar Sucesor +label.adding.user=Agregar usuario +label.adding.zone=Agregar la zona +label.add.ip.range=A\u00c3\u00b1adir Rango de IP +label.additional.networks=Redes adicional +label.add.load.balancer=A\u00c3\u00b1adir equilibrador de carga +label.add.more=A\u00c3\u00b1adir m\u00c3\u00a1s +label.add.network=Agregar sitios de red label.add.network.device=A\u00c3\u00b1adir dispositivo de red -label.add.pod=A\u00c3\u00b1adir Pod -label.add.primary.storage=A\u00c3\u00b1adir Almacenamiento primario -label.add.secondary.storage=A\u00c3\u00b1adir secundaria almacenamiento -label.add.security.group=Agregar grupo de seguridad -label.add.service.offering=A\u00c3\u00b1adir Servicio de Oferta -label.add.template=A\u00c3\u00b1adir plantilla +label.add.pod=A\u00c3\u00b1adir Pod +label.add.primary.storage=A\u00c3\u00b1adir Almacenamiento primario +label.add.secondary.storage=A\u00c3\u00b1adir secundaria almacenamiento +label.add.security.group=Agregar grupo de seguridad +label.add.service.offering=A\u00c3\u00b1adir Servicio de Oferta +label.add.template=A\u00c3\u00b1adir plantilla label.add.to.group=Agregar al grupo -label.add.user=Agregar usuario -label.add.vlan=A\u00c3\u00b1adir VLAN -label.add.volume=A\u00c3\u00b1adir volumen -label.add.zone=A\u00c3\u00b1adir Zona -label.admin.accounts=Administrador de Cuentas -label.admin=Admin -label.advanced=Avanzado -label.advanced.mode=Modo avanzado -label.advanced.search=B\u00c3\u00basqueda Avanzada +label.add.user=Agregar usuario +label.add.vlan=A\u00c3\u00b1adir VLAN +label.add.volume=A\u00c3\u00b1adir volumen +label.add.zone=A\u00c3\u00b1adir Zona +label.admin.accounts=Administrador de Cuentas +label.admin=Admin +label.advanced=Avanzado +label.advanced.mode=Modo avanzado +label.advanced.search=B\u00c3\u00basqueda Avanzada label.alert=Alerta -label.algorithm=Algoritmo -label.allocated=Asignados -label.api.key=clave de API -label.assign=Asignar -label.assign.to.load.balancer=instancia de Asignaci\u00c3\u00b3n de equilibrador de carga -label.associated.network.id=ID de red asociados -label.attached.iso=adjunta ISO -label.availability=Disponibilidad -label.availability.zone=Disponibilidad de la zona +label.algorithm=Algoritmo +label.allocated=Asignados +label.api.key=clave de API +label.assign=Asignar +label.assign.to.load.balancer=instancia de Asignaci\u00c3\u00b3n de equilibrador de carga +label.associated.network.id=ID de red asociados +label.attached.iso=adjunta ISO +label.availability=Disponibilidad +label.availability.zone=Disponibilidad de la zona label.available=Disponible -label.available.public.ips=Disponible direcciones IP p\u00c3\u00bablicas -label.back=Volver -label.basic.mode=Modo b\u00c3\u00a1sico -label.bootable=arranque -label.broadcast.domain.type=Tipo de dominio de difusi\u00c3\u00b3n +label.available.public.ips=Disponible direcciones IP p\u00c3\u00bablicas +label.back=Volver +label.basic.mode=Modo b\u00c3\u00a1sico +label.bootable=arranque +label.broadcast.domain.type=Tipo de dominio de difusi\u00c3\u00b3n label.by.account=Por Cuenta -label.by.availability=Por Disponibilidad +label.by.availability=Por Disponibilidad label.by.domain=Por dominio label.by.end.date=Por Fecha de finalizaci\u00c3\u00b3n -label.by.level=por Nivel +label.by.level=por Nivel label.by.pod=Por Pod -label.by.role=por funci\u00c3\u00b3n +label.by.role=por funci\u00c3\u00b3n label.by.start.date=Por Fecha de inicio -label.by.state=Por Estado -label.bytes.received=Bytes recibidos -label.bytes.sent=Bytes enviados -label.by.traffic.type=Por tipo de tr\u00c3\u00a1fico +label.by.state=Por Estado +label.bytes.received=Bytes recibidos +label.bytes.sent=Bytes enviados +label.by.traffic.type=Por tipo de tr\u00c3\u00a1fico label.by.type.id=Por tipo de identificaci\u00c3\u00b3n -label.by.type=Por tipo +label.by.type=Por tipo label.by.zone=Por Zona -label.cancel=Cancelar -label.certificate=Certificado -label.character=Personaje -label.cidr.account=CIDR o de cuenta / Grupo de Seguridad +label.cancel=Cancelar +label.certificate=Certificado +label.character=Personaje +label.cidr.account=CIDR o de cuenta / Grupo de Seguridad label.cidr=CIDR label.cidr.list=fuente CIDR -label.close=Cerrar -label.cloud.console=Cloud Management Console -label.cloud.managed=Cloud.com Gestionado -label.cluster=Grupo -label.cluster.type=Tipo de Cluster Server +label.close=Cerrar +label.cloud.console=Cloud Management Console +label.cloud.managed=Cloud.com Gestionado +label.cluster=Grupo +label.cluster.type=Tipo de Cluster Server label.clvm=CLVM -label.code=C\u00c3\u00b3digo -label.configuration=Configuraci\u00c3\u00b3n +label.code=C\u00c3\u00b3digo +label.configuration=Configuraci\u00c3\u00b3n label.confirmation=Confirmation -label.congratulations=Felicitaciones \! +label.congratulations=Felicitaciones \! label.cpu.allocated=CPU asignado label.cpu.allocated.for.VMs=CPU asignado para m\u00c3\u00a1quinas virtuales label.CPU.cap=CPU Cap -label.cpu=CPU +label.cpu=CPU label.cpu.utilized=CPU Utilizado -label.created=creaci\u00c3\u00b3n -label.cross.zones=Cruz Zonas -label.custom.disk.size=Personal Disk Size -label.daily=diario +label.created=creaci\u00c3\u00b3n +label.cross.zones=Cruz Zonas +label.custom.disk.size=Personal Disk Size +label.daily=diario label.data.disk.offering=Datos Disco Offering -label.date=Fecha -label.day.of.month=D\u00c3\u00ada del mes -label.day.of.week=d\u00c3\u00ada de la semana +label.date=Fecha +label.day.of.month=D\u00c3\u00ada del mes +label.day.of.week=d\u00c3\u00ada de la semana label.default.use=Usar por defecto -label.delete=Eliminar -label.deleting.failed=No se pudo eliminar -label.deleting.processing=Eliminar .... -label.description=Descripci\u00c3\u00b3n -label.destroy=Destroy -label.detaching.disk=Extracci\u00c3\u00b3n del disco -label.details=Detalles -label.device.id=ID de dispositivo +label.delete=Eliminar +label.deleting.failed=No se pudo eliminar +label.deleting.processing=Eliminar .... +label.description=Descripci\u00c3\u00b3n +label.destroy=Destroy +label.detaching.disk=Extracci\u00c3\u00b3n del disco +label.details=Detalles +label.device.id=ID de dispositivo label.DHCP.server.type=Tipo de servidor DHCP -label.disabled=personas de movilidad reducida -label.disabling.vpn.access=Desactivaci\u00c3\u00b3n de VPN de acceso -label.disk.allocated=disco asignado -label.disk.offering=disco Ofrenda -label.disk.size.gb=tama\u00c3\u00b1o de disco (en GB) -label.disk.size=tama\u00c3\u00b1o de disco -label.disk.total=disco Total -label.disk.volume=volumen de disco -label.display.text=visualizaci\u00c3\u00b3n de texto -label.dns.1=DNS 1 -label.dns.2=DNS 2 -label.domain.admin=Administrador de dominio -label.domain=dominio -label.domain.id=ID de dominio -label.domain.name=Nombre de dominio +label.disabled=personas de movilidad reducida +label.disabling.vpn.access=Desactivaci\u00c3\u00b3n de VPN de acceso +label.disk.allocated=disco asignado +label.disk.offering=disco Ofrenda +label.disk.size.gb=tama\u00c3\u00b1o de disco (en GB) +label.disk.size=tama\u00c3\u00b1o de disco +label.disk.total=disco Total +label.disk.volume=volumen de disco +label.display.text=visualizaci\u00c3\u00b3n de texto +label.dns.1=DNS 1 +label.dns.2=DNS 2 +label.domain.admin=Administrador de dominio +label.domain=dominio +label.domain.id=ID de dominio +label.domain.name=Nombre de dominio label.domain.suffix=DNS sufijo de dominio (es decir, xyz.com) -label.double.quotes.are.not.allowed=comillas dobles no se permite +label.double.quotes.are.not.allowed=comillas dobles no se permite label.download.progress=Progreso de la descarga -label.edit=Editar -label.email=correo electr\u00c3\u00b3nico -label.enabling.vpn.access=Habilitaci\u00c3\u00b3n de Acceso VPN -label.enabling.vpn=Habilitaci\u00c3\u00b3n VPN -label.endpoint.or.operation=punto final o de Operaci\u00c3\u00b3n -label.end.port=Puerto final -label.error.code=C\u00c3\u00b3digo de error -label.error=Error -label.esx.host=ESX / ESXi anfitri\u00c3\u00b3n -label.example=Ejemplo -label.failed=Error -label.featured=destacados -label.firewall=Servidor de seguridad -label.first.name=Nombre -label.format=Formato -label.friday=Viernes +label.edit=Editar +label.email=correo electr\u00c3\u00b3nico +label.enabling.vpn.access=Habilitaci\u00c3\u00b3n de Acceso VPN +label.enabling.vpn=Habilitaci\u00c3\u00b3n VPN +label.endpoint.or.operation=punto final o de Operaci\u00c3\u00b3n +label.end.port=Puerto final +label.error.code=C\u00c3\u00b3digo de error +label.error=Error +label.esx.host=ESX / ESXi anfitri\u00c3\u00b3n +label.example=Ejemplo +label.failed=Error +label.featured=destacados +label.firewall=Servidor de seguridad +label.first.name=Nombre +label.format=Formato +label.friday=Viernes label.full=completo -label.gateway=puerta de enlace -label.general.alerts=General de Alertas -label.generating.url=Generar URL -label.go.step.2=Ir al paso 2 -label.go.step.3=Ir al paso 3 -label.go.step.4=Ir al paso 4 -label.go.step.5=Ir al paso 5 -label.group=Grupo -label.group.optional=Grupo (Opcional) -label.guest.cidr=Habitaci\u00c3\u00b3n CIDR -label.guest.gateway=Habitaci\u00c3\u00b3n Gateway -label.guest.ip=Habitaci\u00c3\u00b3n direcci\u00c3\u00b3n IP -label.guest.ip.range=Habitaci\u00c3\u00b3n Rango de IP -label.guest.netmask=Habitaci\u00c3\u00b3n m\u00c3\u00a1scara de red -label.ha.enabled=HA Activado -label.help=Ayuda +label.gateway=puerta de enlace +label.general.alerts=General de Alertas +label.generating.url=Generar URL +label.go.step.2=Ir al paso 2 +label.go.step.3=Ir al paso 3 +label.go.step.4=Ir al paso 4 +label.go.step.5=Ir al paso 5 +label.group=Grupo +label.group.optional=Grupo (Opcional) +label.guest.cidr=Habitaci\u00c3\u00b3n CIDR +label.guest.gateway=Habitaci\u00c3\u00b3n Gateway +label.guest.ip=Habitaci\u00c3\u00b3n direcci\u00c3\u00b3n IP +label.guest.ip.range=Habitaci\u00c3\u00b3n Rango de IP +label.guest.netmask=Habitaci\u00c3\u00b3n m\u00c3\u00a1scara de red +label.ha.enabled=HA Activado +label.help=Ayuda label.hide.ingress.rule=Ocultar el art\u00c3\u00adculo ingreso -label.host.alerts=Host Alertas -label.host=Ej\u00c3\u00a9rcitos -label.host.name=nombre de host -label.hosts=Ej\u00c3\u00a9rcitos -label.hourly=por hora -label.hypervisor=Hypervisor -label.hypervisor.type=Tipo Hypervisor -label.id=ID -label.info=Informaci\u00c3\u00b3n -label.ingress.rule=ingreso Regla -label.initiated.by=Iniciado por -label.installWizard.click.launch=Click en el bot\u00f3n de lanzar. -label.instance=Instancia -label.instance.limits=Instancia L\u00c3\u00admites -label.instance.name=Nombre de instancia -label.instances=Instancias -label.internal.dns.1=DNS interno una -label.internal.dns.2=DNS interno 2 -label.interval.type=Tipo de intervalo -label.invalid.integer=entero no v\u00c3\u00a1lido -label.invalid.number=N\u00c3\u00bamero no v\u00c3\u00a1lido +label.host.alerts=Host Alertas +label.host=Ej\u00c3\u00a9rcitos +label.host.name=nombre de host +label.hosts=Ej\u00c3\u00a9rcitos +label.hourly=por hora +label.hypervisor=Hypervisor +label.hypervisor.type=Tipo Hypervisor +label.id=ID +label.info=Informaci\u00c3\u00b3n +label.ingress.rule=ingreso Regla +label.initiated.by=Iniciado por +label.installWizard.click.launch=Click en el bot\u00f3n de lanzar. +label.instance=Instancia +label.instance.limits=Instancia L\u00c3\u00admites +label.instance.name=Nombre de instancia +label.instances=Instancias +label.internal.dns.1=DNS interno una +label.internal.dns.2=DNS interno 2 +label.interval.type=Tipo de intervalo +label.invalid.integer=entero no v\u00c3\u00a1lido +label.invalid.number=N\u00c3\u00bamero no v\u00c3\u00a1lido label.invite=Invitar label.invite.to=Invitar a . -label.ip.address=Direcci\u00c3\u00b3n IP -label.ipaddress=Direcci\u00c3\u00b3n IP -label.ip.allocations=IP asignaciones -label.ip=IP -label.ip.limits=IP p\u00c3\u00bablica L\u00c3\u00admites -label.ip.or.fqdn=IP o FQDN -label.ip.range=Rango de IP -label.ips=IP -label.iscsi=iSCSI -label.is.default=Es por defecto -label.iso.boot=ISO de arranque -label.iso=ISO +label.ip.address=Direcci\u00c3\u00b3n IP +label.ipaddress=Direcci\u00c3\u00b3n IP +label.ip.allocations=IP asignaciones +label.ip=IP +label.ip.limits=IP p\u00c3\u00bablica L\u00c3\u00admites +label.ip.or.fqdn=IP o FQDN +label.ip.range=Rango de IP +label.ips=IP +label.iscsi=iSCSI +label.is.default=Es por defecto +label.iso.boot=ISO de arranque +label.iso=ISO label.isolation.mode=modo de aislamiento label.is.redundant.router=redundante -label.is.shared=es compartido -label.is.system=es el Sistema -label.keep=Mantener -label.lang.chinese=Chino (simplificado) -label.lang.english=Ingl\u00c3\u00a9s -label.lang.japanese=japon\u00c3\u00a9s -label.lang.spanish=Espa\u00c3\u00b1ol -label.last.disconnected=\u00c3\u009altima Desconectado -label.last.name=Apellido +label.is.shared=es compartido +label.is.system=es el Sistema +label.keep=Mantener +label.lang.chinese=Chino (simplificado) +label.lang.english=Ingl\u00c3\u00a9s +label.lang.japanese=japon\u00c3\u00a9s +label.lang.spanish=Espa\u00c3\u00b1ol +label.last.disconnected=\u00c3\u009altima Desconectado +label.last.name=Apellido label.launch=Lanzar label.launch.vm=Lanzar maquina virtual -label.level=Nivel -label.load.balancer=equilibrador de carga -label.loading=Carga -label.local=local -label.login=Login -label.logout=Cerrar sesi\u00c3\u00b3n -label.lun=LUN -label.manage=Administrar -label.maximum=m\u00c3\u00a1ximo +label.level=Nivel +label.load.balancer=equilibrador de carga +label.loading=Carga +label.local=local +label.login=Login +label.logout=Cerrar sesi\u00c3\u00b3n +label.lun=LUN +label.manage=Administrar +label.maximum=m\u00c3\u00a1ximo label.max.volumes=Maxima cantidad de Volumes -label.memory.allocated=memoria asignada -label.memory=memoria (en MB) -label.memory.total=Total de memoria -label.memory.used=memoria usada +label.memory.allocated=memoria asignada +label.memory=memoria (en MB) +label.memory.total=Total de memoria +label.memory.used=memoria usada label.menu.accounts=Cuentas -label.menu.alerts=Alertas -label.menu.all.accounts=Todas las cuentas -label.menu.all.instances=todas las instancias -label.menu.community.isos=Comunidad ISOs -label.menu.community.templates=plantillas de la comunidad -label.menu.configuration=Configuraci\u00c3\u00b3n -label.menu.dashboard=Interfaz -label.menu.destroyed.instances=Destruir instancias -label.menu.disk.offerings=disco ofertas -label.menu.domains=dominio -label.menu.events=Eventos -label.menu.featured.isos=destacados ISO -label.menu.featured.templates=destacados plantillas -label.menu.global.settings=Configuraci\u00c3\u00b3n global -label.menu.instances=Instancias -label.menu.ipaddresses=Direcciones IP -label.menu.isos=ISO -label.menu.my.accounts=Mis cuentas -label.menu.my.instances=Mi instancias -label.menu.my.isos=Mi ISOs -label.menu.my.templates=Mis plantillas -label.menu.network.offerings=Red de ofertas -label.menu.network=Red -label.menu.physical.resources=Recursos F\u00c3\u00adsicos -label.menu.running.instances=Ejecuci\u00c3\u00b3n de instancias -label.menu.security.groups=Grupos de seguridad -label.menu.service.offerings=Ofertas de Servicios -label.menu.snapshots=instant\u00c3\u00a1neas -label.menu.stopped.instances=Detenido instancias -label.menu.storage=Almacenamiento -label.menu.system=Sistema -label.menu.system.vms=Sistema de m\u00c3\u00a1quinas virtuales -label.menu.templates=plantillas -label.menu.virtual.appliances=Virtual Appliances -label.menu.virtual.resources=Virtual de Recursos -label.menu.volumes=Vol\u00c3\u00bamenes +label.menu.alerts=Alertas +label.menu.all.accounts=Todas las cuentas +label.menu.all.instances=todas las instancias +label.menu.community.isos=Comunidad ISOs +label.menu.community.templates=plantillas de la comunidad +label.menu.configuration=Configuraci\u00c3\u00b3n +label.menu.dashboard=Interfaz +label.menu.destroyed.instances=Destruir instancias +label.menu.disk.offerings=disco ofertas +label.menu.domains=dominio +label.menu.events=Eventos +label.menu.featured.isos=destacados ISO +label.menu.featured.templates=destacados plantillas +label.menu.global.settings=Configuraci\u00c3\u00b3n global +label.menu.instances=Instancias +label.menu.ipaddresses=Direcciones IP +label.menu.isos=ISO +label.menu.my.accounts=Mis cuentas +label.menu.my.instances=Mi instancias +label.menu.my.isos=Mi ISOs +label.menu.my.templates=Mis plantillas +label.menu.network.offerings=Red de ofertas +label.menu.network=Red +label.menu.physical.resources=Recursos F\u00c3\u00adsicos +label.menu.running.instances=Ejecuci\u00c3\u00b3n de instancias +label.menu.security.groups=Grupos de seguridad +label.menu.service.offerings=Ofertas de Servicios +label.menu.snapshots=instant\u00c3\u00a1neas +label.menu.stopped.instances=Detenido instancias +label.menu.storage=Almacenamiento +label.menu.system=Sistema +label.menu.system.vms=Sistema de m\u00c3\u00a1quinas virtuales +label.menu.templates=plantillas +label.menu.virtual.appliances=Virtual Appliances +label.menu.virtual.resources=Virtual de Recursos +label.menu.volumes=Vol\u00c3\u00bamenes label.migrate.instance.to.host=Migrar instancia a otro host. label.migrate.instance.to=Migraci\u00c3\u00b3n de ejemplo para label.migrate.instance.to.ps=Migrar instancia a otro primary storage. label.migrate.router.to=Router para migrar label.migrate.systemvm.to=Migrar m\u00c3\u00a1quina virtual del sistema para -label.minimum=M\u00c3\u00adnimo -label.minute.past.hour=Minuto (s) despu\u00c3\u00a9s de la hora -label.monday=lunes -label.monthly=mensual -label.more.templates=plantillas \= M\u00c3\u00a1s -label.my.account=Mi Cuenta +label.minimum=M\u00c3\u00adnimo +label.minute.past.hour=Minuto (s) despu\u00c3\u00a9s de la hora +label.monday=lunes +label.monthly=mensual +label.more.templates=plantillas \= M\u00c3\u00a1s +label.my.account=Mi Cuenta label.my.templates=Mis plantillas -label.name=Nombre -label.name.optional=Nombre (Opcional) -label.netmask=m\u00c3\u00a1scara de red -label.network.desc=Red de Desc +label.name=Nombre +label.name.optional=Nombre (Opcional) +label.netmask=m\u00c3\u00a1scara de red +label.network.desc=Red de Desc label.network.device=De dispositivos de red label.network.device.type=Tipo de red de dispositivos label.network.domain=red de dominio -label.network.id=ID de red -label.network.name=Nombre de red -label.network.offering.display.text=Red ofrece visualizaci\u00c3\u00b3n de texto -label.network.offering.id=Red ofrece ID -label.network.offering.name=Red ofrece Nombre -label.network.offering=Red ofrece -label.network.rate=Tasa de Red -label.network.read=Leer de la red -label.network=Red +label.network.id=ID de red +label.network.name=Nombre de red +label.network.offering.display.text=Red ofrece visualizaci\u00c3\u00b3n de texto +label.network.offering.id=Red ofrece ID +label.network.offering.name=Red ofrece Nombre +label.network.offering=Red ofrece +label.network.rate=Tasa de Red +label.network.read=Leer de la red +label.network=Red label.networks=Redes -label.network.type=Tipo de red -label.network.write=Escribir en la red +label.network.type=Tipo de red +label.network.write=Escribir en la red label.new=Nuevo -label.new.password=Nueva contrase\u00c3\u00b1a +label.new.password=Nueva contrase\u00c3\u00b1a label.new.vm=Nueva maquina virtual -label.next=Siguiente -label.nfs=NFS -label.nfs.server=servidor NFS -label.nfs.storage=NFS Almacenamiento -label.nics=NIC -label.no.actions=No Acciones disponibles -label.no.alerts=No alertas recientes -label.no.errors=No recientes errores -label.no.isos=No ISOs disponibles -label.no.items=No art\u00c3\u00adculos disponibles +label.next=Siguiente +label.nfs=NFS +label.nfs.server=servidor NFS +label.nfs.storage=NFS Almacenamiento +label.nics=NIC +label.no.actions=No Acciones disponibles +label.no.alerts=No alertas recientes +label.no.errors=No recientes errores +label.no.isos=No ISOs disponibles +label.no.items=No art\u00c3\u00adculos disponibles label.none=Ninguno -label.no=No -label.no.security.groups=No hay grupos disponibles de Seguridad +label.no=No +label.no.security.groups=No hay grupos disponibles de Seguridad label.not.found=No se ha encontrado -label.no.thanks=No, gracias -label.num.cpu.cores=n\u00c3\u00bamero de n\u00c3\u00bacleos de CPU +label.no.thanks=No, gracias +label.num.cpu.cores=n\u00c3\u00bamero de n\u00c3\u00bacleos de CPU label.numretries=N\u00c3\u00bamero de reintentos label.ocfs2=OCFS2 -label.offer.ha=Oferta HA -label.optional=Opcional -label.os.preference=OS Preferencia -label.os.type=tipo de Sistema Operativo -label.owned.public.ips=propiedad p\u00c3\u00bablica Direcciones IP -label.owner.account=titular de la cuenta -label.parent.domain=Padres de dominio -label.password=Contrase\u00c3\u00b1a -label.password.enabled=Contrase\u00c3\u00b1a Activado -label.path=Ruta +label.offer.ha=Oferta HA +label.optional=Opcional +label.os.preference=OS Preferencia +label.os.type=tipo de Sistema Operativo +label.owned.public.ips=propiedad p\u00c3\u00bablica Direcciones IP +label.owner.account=titular de la cuenta +label.parent.domain=Padres de dominio +label.password=Contrase\u00c3\u00b1a +label.password.enabled=Contrase\u00c3\u00b1a Activado +label.path=Ruta label.PING.CIFS.password=PING CIFS contrase\u00c3\u00b1a label.PING.CIFS.username=PING CIFS nombre de usuario label.PING.dir=PING Directorio label.PING.storage.IP=PING almacenamiento IP -label.please.wait=Por favor espere -label.pod=Pod -label.port.forwarding=Port Forwarding -label.port.range=rango de puertos +label.please.wait=Por favor espere +label.pod=Pod +label.port.forwarding=Port Forwarding +label.port.range=rango de puertos label.PreSetup=PreSetup -label.prev=Anterior +label.prev=Anterior label.previous=Previo -label.primary.allocated=primaria asignado de almacenamiento -label.primary.network=Red Primaria -label.primary.storage=Almacenamiento Primario -label.primary.used=Primaria Almacenado -label.private.interface=Interfaz privada -label.private.ip=direcci\u00c3\u00b3n IP privada -label.private.ip.range=IP privada Gama -label.private.ips=direcciones IP privadas +label.primary.allocated=primaria asignado de almacenamiento +label.primary.network=Red Primaria +label.primary.storage=Almacenamiento Primario +label.primary.used=Primaria Almacenado +label.private.interface=Interfaz privada +label.private.ip=direcci\u00c3\u00b3n IP privada +label.private.ip.range=IP privada Gama +label.private.ips=direcciones IP privadas label.privatekey=PKCS\#8 la clave privada -label.private.port=Puerto privado -label.private.zone=Zona Privada +label.private.port=Puerto privado +label.private.zone=Zona Privada label.project.name=Nombre del Proyecto -label.protocol=Protocolo -label.public.interface=interfaz p\u00c3\u00bablica -label.public.ip=direcci\u00c3\u00b3n IP p\u00c3\u00bablica -label.public.ips=direcciones IP p\u00c3\u00bablicas -label.public.port=Puerto P\u00c3\u00bablico -label.public=P\u00c3\u00bablica -label.public.zone=Zona P\u00c3\u00bablica +label.protocol=Protocolo +label.public.interface=interfaz p\u00c3\u00bablica +label.public.ip=direcci\u00c3\u00b3n IP p\u00c3\u00bablica +label.public.ips=direcciones IP p\u00c3\u00bablicas +label.public.port=Puerto P\u00c3\u00bablico +label.public=P\u00c3\u00bablica +label.public.zone=Zona P\u00c3\u00bablica label.Pxe.server.type=Tipo de servidor Pxe -label.reboot=Reiniciar -label.recent.errors=recientes errores +label.reboot=Reiniciar +label.recent.errors=recientes errores label.redundant.router=enrutador redundante -label.refresh=Actualizar -label.related=relacionados -label.remind.later=Recordar mas tarde -label.remove.from.load.balancer=ejemplo Eliminaci\u00c3\u00b3n de equilibrador de carga +label.refresh=Actualizar +label.related=relacionados +label.remind.later=Recordar mas tarde +label.remove.from.load.balancer=ejemplo Eliminaci\u00c3\u00b3n de equilibrador de carga label.removing=Borrando. -label.removing.user=Eliminar usuario -label.required=Requerido -label.reserved.system.ip=Reservados sistema de PI -label.resource.limits=L\u00c3\u00admites de Recursos -label.resource=Recursos -label.resources=Recursos -label.role=Papel +label.removing.user=Eliminar usuario +label.required=Requerido +label.reserved.system.ip=Reservados sistema de PI +label.resource.limits=L\u00c3\u00admites de Recursos +label.resource=Recursos +label.resources=Recursos +label.role=Papel label.root.disk.offering=Root Disco Offering -label.running.vms=Ejecuci\u00c3\u00b3n de m\u00c3\u00a1quinas virtuales -label.s3.secret_key=clave secreta -label.saturday=s\u00c3\u00a1bado -label.save=Guardar -label.saving.processing=ahorro .... -label.scope=Alcance -label.search=Buscar -label.secondary.storage=Almacenamiento secundario -label.secondary.used=Secundaria Almacenado -label.secret.key=clave secreta -label.security.group=Grupo de Seguridad -label.security.group.name=Nombre de grupo de seguridad +label.running.vms=Ejecuci\u00c3\u00b3n de m\u00c3\u00a1quinas virtuales +label.s3.secret_key=clave secreta +label.saturday=s\u00c3\u00a1bado +label.save=Guardar +label.saving.processing=ahorro .... +label.scope=Alcance +label.search=Buscar +label.secondary.storage=Almacenamiento secundario +label.secondary.used=Secundaria Almacenado +label.secret.key=clave secreta +label.security.group=Grupo de Seguridad +label.security.group.name=Nombre de grupo de seguridad label.security.groups.enabled=Los grupos de seguridad habilitado -label.security.groups=Grupos de seguridad +label.security.groups=Grupos de seguridad label.select.a.zone=Seleccione una zona. -label.sent=Enviados -label.server=Servidor -label.service.offering=Oferta de Servicio +label.sent=Enviados +label.server=Servidor +label.service.offering=Oferta de Servicio label.session.expired=Session Caducado -label.shared=compartidas -label.SharedMountPoint=SharedMountPoint +label.shared=compartidas +label.SharedMountPoint=SharedMountPoint label.show.ingress.rule=Mostrar la regla del ingreso -label.size=Tama\u00c3\u00b1o -label.snapshot=Instant\u00c3\u00a1nea -label.snapshot.limits=instant\u00c3\u00a1neas L\u00c3\u00admites -label.snapshot.name=Nombre de instant\u00c3\u00a1neas -label.snapshot.schedule=Lista de instant\u00c3\u00a1neas -label.snapshot.s=Instant\u00c3\u00a1nea (s) -label.snapshots=instant\u00c3\u00a1neas -label.source.nat=NAT Fuente -label.specify.vlan=Especifique VLAN +label.size=Tama\u00c3\u00b1o +label.snapshot=Instant\u00c3\u00a1nea +label.snapshot.limits=instant\u00c3\u00a1neas L\u00c3\u00admites +label.snapshot.name=Nombre de instant\u00c3\u00a1neas +label.snapshot.schedule=Lista de instant\u00c3\u00a1neas +label.snapshot.s=Instant\u00c3\u00a1nea (s) +label.snapshots=instant\u00c3\u00a1neas +label.source.nat=NAT Fuente +label.specify.vlan=Especifique VLAN label.SR.name = SR Nombre de etiqueta -label.start.port=Iniciar Puerto -label.state=Estado -label.static.nat=NAT est\u00c3\u00a1tica -label.static.nat.to=est\u00c3\u00a1tico NAT para -label.statistics=Estad\u00c3\u00adsticas -label.status=Estado -label.step.1=Paso 1 -label.step.1.title=Paso 1\: Seleccione una plantilla -label.step.2=Paso 2 -label.step.2.title=Paso 2\: Oferta de Servicio -label.step.3=Paso 3 -label.step.3.title=Paso 3\: Seleccione un disco Ofrenda -label.step.4=Paso 4 -label.step.4.title=Paso 4\: Red -label.step.5=Paso 5 -label.step.5.title=Paso 5\: Revisi\u00c3\u00b3n -label.sticky.domain=dominio +label.start.port=Iniciar Puerto +label.state=Estado +label.static.nat=NAT est\u00c3\u00a1tica +label.static.nat.to=est\u00c3\u00a1tico NAT para +label.statistics=Estad\u00c3\u00adsticas +label.status=Estado +label.step.1=Paso 1 +label.step.1.title=Paso 1\: Seleccione una plantilla +label.step.2=Paso 2 +label.step.2.title=Paso 2\: Oferta de Servicio +label.step.3=Paso 3 +label.step.3.title=Paso 3\: Seleccione un disco Ofrenda +label.step.4=Paso 4 +label.step.4.title=Paso 4\: Red +label.step.5=Paso 5 +label.step.5.title=Paso 5\: Revisi\u00c3\u00b3n +label.sticky.domain=dominio label.sticky.mode=modo -label.stop=Detener -label.stopped.vms=Detenido m\u00c3\u00a1quinas virtuales -label.storage=Almacenamiento +label.stop=Detener +label.stopped.vms=Detenido m\u00c3\u00a1quinas virtuales +label.storage=Almacenamiento label.storage.tags=Etiquetas de almacenamiento -label.storage.type=Tipo de almacenamiento -label.submit=Enviar -label.submitted.by=[Enviado por\: ] -label.succeeded=Sucesor -label.sunday=domingo -label.system.capacity=Capacidad de todo el sistema -label.system.vm=Sistema de VM -label.system.vms=Sistema de m\u00c3\u00a1quinas virtuales -label.system.vm.type=Tipo de sistema VM -label.tagged=etiqueta -label.tags=Etiquetas -label.target.iqn=Objetivo IQN -label.task.completed=Tarea finalizada. -label.template.limits=Plantilla L\u00c3\u00admites -label.template=plantilla +label.storage.type=Tipo de almacenamiento +label.submit=Enviar +label.submitted.by=[Enviado por\: ] +label.succeeded=Sucesor +label.sunday=domingo +label.system.capacity=Capacidad de todo el sistema +label.system.vm=Sistema de VM +label.system.vms=Sistema de m\u00c3\u00a1quinas virtuales +label.system.vm.type=Tipo de sistema VM +label.tagged=etiqueta +label.tags=Etiquetas +label.target.iqn=Objetivo IQN +label.task.completed=Tarea finalizada. +label.template.limits=Plantilla L\u00c3\u00admites +label.template=plantilla label.TFTP.dir=Directorio de TFTP -label.theme.default=Tema Por Defecto +label.theme.default=Tema Por Defecto label.theme.grey=Personal - Gris label.theme.lightblue=Personal - Azul -label.thursday=Jueves +label.thursday=Jueves label.timeout.in.second = Tiempo de espera (segundos) -label.time=Tiempo -label.time.zone=Zona horaria -label.timezone=Zona horaria +label.time=Tiempo +label.time.zone=Zona horaria +label.timezone=Zona horaria label.total.cpu=Total CPU label.total.CPU=Total CPU -label.total.vms=Total de m\u00c3\u00a1quinas virtuales -label.traffic.type=Tipo de Tr\u00c3\u00a1fico -label.tuesday=martes -label.type.id=Tipo de identificaci\u00c3\u00b3n -label.type=Tipo -label.unavailable=no disponible +label.total.vms=Total de m\u00c3\u00a1quinas virtuales +label.traffic.type=Tipo de Tr\u00c3\u00a1fico +label.tuesday=martes +label.type.id=Tipo de identificaci\u00c3\u00b3n +label.type=Tipo +label.unavailable=no disponible label.unlimited=Unlimited -label.untagged=sin etiquetar -label.updating=Actualizar +label.untagged=sin etiquetar +label.updating=Actualizar label.url=URL -label.usage.interface=Interfaz de uso -label.used=Usado -label.username=Nombre de usuario -label.users=usuario -label.user=Usuario -label.value=Valor -label.vcenter.cluster=vCenter cl\u00c3\u00baster -label.vcenter.datacenter=vCenter de centros de datos -label.vcenter.datastore=vCenter almac\u00c3\u00a9n de datos -label.vcenter.host=vCenter anfitri\u00c3\u00b3n -label.vcenter.password=vCenter Contrase\u00c3\u00b1a -label.vcenter.username=vCenter Nombre de usuario -label.version=Versi\u00c3\u00b3n -label.virtual.appliances=Virtual Appliances -label.virtual.appliance=Virtual Appliance +label.usage.interface=Interfaz de uso +label.used=Usado +label.username=Nombre de usuario +label.users=usuario +label.user=Usuario +label.value=Valor +label.vcenter.cluster=vCenter cl\u00c3\u00baster +label.vcenter.datacenter=vCenter de centros de datos +label.vcenter.datastore=vCenter almac\u00c3\u00a9n de datos +label.vcenter.host=vCenter anfitri\u00c3\u00b3n +label.vcenter.password=vCenter Contrase\u00c3\u00b1a +label.vcenter.username=vCenter Nombre de usuario +label.version=Versi\u00c3\u00b3n +label.virtual.appliances=Virtual Appliances +label.virtual.appliance=Virtual Appliance label.virtual.machines=Maquinas virtuales -label.virtual.network=Red Virtual -label.vlan.id=ID de VLAN -label.vlan.range=VLAN Gama -label.vlan=VLAN -label.vm.add=A\u00c3\u00b1adir Instancia -label.vm.destroy=Destroy +label.virtual.network=Red Virtual +label.vlan.id=ID de VLAN +label.vlan.range=VLAN Gama +label.vlan=VLAN +label.vm.add=A\u00c3\u00b1adir Instancia +label.vm.destroy=Destroy label.VMFS.datastore=VMFS de datos tienda -label.vmfs=VMFS -label.vm.reboot=Reiniciar -label.vmsnapshot.type=Tipo -label.vm.start=Inicio -label.vm.stop=Detener -label.vms=VM +label.vmfs=VMFS +label.vm.reboot=Reiniciar +label.vmsnapshot.type=Tipo +label.vm.start=Inicio +label.vm.stop=Detener +label.vms=VM label.volgroup=Volume Group -label.volume.limits=l\u00c3\u00admites de volumen -label.volume.name=Nombre de Volumen -label.volumes=Vol\u00c3\u00bamenes -label.volume=Volumen -label.vpn=VPN -label.vsphere.managed=Gestionado \= vSphere -label.waiting=Esperando -label.warn=Advertir -label.wednesday=mi\u00c3\u00a9rcoles -label.weekly=Semanal -label.welcome=Bienvenido -label.welcome.cloud.console=Bienvenido a la consola de administraci\u00c3\u00b3n -label.yes=S\u00c3\u00ad -label.zone.id=Zona de identificaci\u00c3\u00b3n -label.zone.step.1.title=Paso 1\: Seleccione una red -label.zone.step.2.title=Paso 2\: A\u00c3\u00b1adir una zona -label.zone.step.3.title=Paso 3\: A\u00c3\u00b1adir una vaina -label.zone.step.4.title=Paso 4\: A\u00c3\u00b1adir un rango de IP -label.zone.wide=Zona para todo el +label.volume.limits=l\u00c3\u00admites de volumen +label.volume.name=Nombre de Volumen +label.volumes=Vol\u00c3\u00bamenes +label.volume=Volumen +label.vpn=VPN +label.vsphere.managed=Gestionado \= vSphere +label.waiting=Esperando +label.warn=Advertir +label.wednesday=mi\u00c3\u00a9rcoles +label.weekly=Semanal +label.welcome=Bienvenido +label.welcome.cloud.console=Bienvenido a la consola de administraci\u00c3\u00b3n +label.yes=S\u00c3\u00ad +label.zone.id=Zona de identificaci\u00c3\u00b3n +label.zone.step.1.title=Paso 1\: Seleccione una red +label.zone.step.2.title=Paso 2\: A\u00c3\u00b1adir una zona +label.zone.step.3.title=Paso 3\: A\u00c3\u00b1adir una vaina +label.zone.step.4.title=Paso 4\: A\u00c3\u00b1adir un rango de IP +label.zone.wide=Zona para todo el label.zone=Zona managed.state=Estado logr\u00c3\u00b3 -message.acquire.public.ip=Por favor seleccione una zona de la que desea adquirir su nueva IP. -message.action.cancel.maintenance.mode=Por favor, confirme que desea cancelar el mantenimiento +message.acquire.public.ip=Por favor seleccione una zona de la que desea adquirir su nueva IP. +message.action.cancel.maintenance.mode=Por favor, confirme que desea cancelar el mantenimiento message.action.cancel.maintenance=Su acogida ha sido cancelado con \u00c3\u00a9xito para el mantenimiento. Este proceso puede tardar hasta varios minutos. -message.action.delete.cluster=Por favor, confirme que desea eliminar del cl\u00c3\u00baster -message.action.delete.disk.offering=Por favor, confirme que desea eliminar ofreciendo disco -message.action.delete.domain=Por favor, confirme que desea eliminar de dominio +message.action.delete.cluster=Por favor, confirme que desea eliminar del cl\u00c3\u00baster +message.action.delete.disk.offering=Por favor, confirme que desea eliminar ofreciendo disco +message.action.delete.domain=Por favor, confirme que desea eliminar de dominio message.action.delete.external.firewall=Por favor, confirme que desea quitar este servidor de seguridad externo. Advertencia\: Si usted est\u00c3\u00a1 planeando volver a agregar el servidor de seguridad externo mismo, debe restablecer los datos de uso en el dispositivo. message.action.delete.external.load.balancer=Por favor, confirme que desea eliminar este equilibrador de carga externa. Advertencia\: Si usted est\u00c3\u00a1 planeando volver a agregar la misma equilibrador de carga externo, debe restablecer los datos de uso en el dispositivo. -message.action.delete.ingress.rule=Por favor, confirme que desea eliminar la regla de ingreso -message.action.delete.ISO.for.all.zones=La ISO es utilizado por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. -message.action.delete.ISO=Por favor, confirme que desea eliminar la norma ISO -message.action.delete.network=Por favor, confirme que desea eliminar de la red -message.action.delete.pod=Por favor, confirme que desea eliminar de la vaina -message.action.delete.primary.storage=Por favor, confirme que desea eliminar el almacenamiento primario -message.action.delete.secondary.storage=Por favor, confirme que desea eliminar de almacenamiento secundario -message.action.delete.security.group=Por favor, confirme que desea eliminar el grupo de seguridad -message.action.delete.service.offering=Por favor, confirme que desea eliminar oferta de servicios +message.action.delete.ingress.rule=Por favor, confirme que desea eliminar la regla de ingreso +message.action.delete.ISO.for.all.zones=La ISO es utilizado por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. +message.action.delete.ISO=Por favor, confirme que desea eliminar la norma ISO +message.action.delete.network=Por favor, confirme que desea eliminar de la red +message.action.delete.pod=Por favor, confirme que desea eliminar de la vaina +message.action.delete.primary.storage=Por favor, confirme que desea eliminar el almacenamiento primario +message.action.delete.secondary.storage=Por favor, confirme que desea eliminar de almacenamiento secundario +message.action.delete.security.group=Por favor, confirme que desea eliminar el grupo de seguridad +message.action.delete.service.offering=Por favor, confirme que desea eliminar oferta de servicios message.action.delete.snapshot=Por favor, confirme que desea eliminar instant\u00c3\u00a1neas -message.action.delete.template.for.all.zones=La plantilla es utilizada por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. -message.action.delete.template=Por favor, confirme que desea eliminar la plantilla -message.action.delete.volume=Por favor, confirme que desea eliminar el volumen -message.action.delete.zone=Por favor, confirme que desea eliminar la zona -message.action.destroy.instance=Por favor, confirme que desea destruir ejemplo +message.action.delete.template.for.all.zones=La plantilla es utilizada por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. +message.action.delete.template=Por favor, confirme que desea eliminar la plantilla +message.action.delete.volume=Por favor, confirme que desea eliminar el volumen +message.action.delete.zone=Por favor, confirme que desea eliminar la zona +message.action.destroy.instance=Por favor, confirme que desea destruir ejemplo message.action.destroy.systemvm=Por favor, confirme que desea destruir la m\u00c3\u00a1quina virtual del sistema. message.action.disable.cluster=Por favor, confirme que desea desactivar este grupo. message.action.disable.pod=Por favor, confirme que desea desactivar esta vaina. -message.action.disable.static.NAT=Por favor, confirme que desea desactivar NAT est\u00c3\u00a1tica +message.action.disable.static.NAT=Por favor, confirme que desea desactivar NAT est\u00c3\u00a1tica message.action.disable.zone=Por favor, confirme que desea desactivar esta zona. message.action.enable.cluster=Por favor, confirme que desea habilitar este grupo. message.action.enable.maintenance=Su acogida ha sido preparado con \u00c3\u00a9xito para el mantenimiento. Este proceso puede tardar hasta varios minutos o m\u00c3\u00a1s dependiendo de c\u00c3\u00b3mo las m\u00c3\u00a1quinas virtuales se encuentran actualmente en este servidor. -message.action.enable.pod=Por favor, confirme que desea habilitar esta vaina. -message.action.enable.zone=Por favor, confirme que desea habilitar esta zona. -message.action.force.reconnect=Por favor, confirme que desea forzar una reconexi\u00c3\u00b3n para el anfitri\u00c3\u00b3n -message.action.host.enable.maintenance.mode=mode \= mantenimiento de Habilitaci\u00c3\u00b3n provocar\u00c3\u00a1 una migraci\u00c3\u00b3n en vivo de todas las instancias que se ejecutan en el sistema para cualquier m\u00c3\u00a1quina disponible. +message.action.enable.pod=Por favor, confirme que desea habilitar esta vaina. +message.action.enable.zone=Por favor, confirme que desea habilitar esta zona. +message.action.force.reconnect=Por favor, confirme que desea forzar una reconexi\u00c3\u00b3n para el anfitri\u00c3\u00b3n +message.action.host.enable.maintenance.mode=mode \= mantenimiento de Habilitaci\u00c3\u00b3n provocar\u00c3\u00a1 una migraci\u00c3\u00b3n en vivo de todas las instancias que se ejecutan en el sistema para cualquier m\u00c3\u00a1quina disponible. message.action.manage.cluster=Por favor, confirme que desea para administrar el cl\u00c3\u00baster. -message.action.primarystorage.enable.maintenance.mode=Advertencia\: colocar el almacenamiento principal en modo de mantenimiento har\u00c3\u00a1 que todas las m\u00c3\u00a1quinas virtuales utilizando vol\u00c3\u00bamenes de que sea detenido. \u00c2\u00bfDesea continuar? -message.action.reboot.instance=Por favor, confirme que desea reiniciar el ejemplo -message.action.reboot.systemvm=Por favor, confirme que desea reiniciar el sistema VM -message.action.release.ip=Por favor, confirme que desea liberar IP +message.action.primarystorage.enable.maintenance.mode=Advertencia\: colocar el almacenamiento principal en modo de mantenimiento har\u00c3\u00a1 que todas las m\u00c3\u00a1quinas virtuales utilizando vol\u00c3\u00bamenes de que sea detenido. \u00c2\u00bfDesea continuar? +message.action.reboot.instance=Por favor, confirme que desea reiniciar el ejemplo +message.action.reboot.systemvm=Por favor, confirme que desea reiniciar el sistema VM +message.action.release.ip=Por favor, confirme que desea liberar IP message.action.reset.password.off=Su ejemplo en la actualidad no es compatible con esta funci\u00c3\u00b3n. message.action.reset.password.warning=Su ejemplo debe ser detenido antes de intentar cambiar su contrase\u00c3\u00b1a actual. -message.action.restore.instance=Por favor, confirme que desea restaurar ejemplo -message.action.start.instance=Por favor, confirme que desea iniciar la instancia -message.action.start.router=Por favor, confirme que desea iniciar router -message.action.start.systemvm=Por favor, confirme que desea iniciar el sistema VM -message.action.stop.instance=Por favor, confirme que desea detener la instancia -message.action.stop.systemvm=Por favor, confirme que desea detener sistema VM -message.action.take.snapshot=Por favor, confirme que desea tomar instant\u00c3\u00a1neas +message.action.restore.instance=Por favor, confirme que desea restaurar ejemplo +message.action.start.instance=Por favor, confirme que desea iniciar la instancia +message.action.start.router=Por favor, confirme que desea iniciar router +message.action.start.systemvm=Por favor, confirme que desea iniciar el sistema VM +message.action.stop.instance=Por favor, confirme que desea detener la instancia +message.action.stop.systemvm=Por favor, confirme que desea detener sistema VM +message.action.take.snapshot=Por favor, confirme que desea tomar instant\u00c3\u00a1neas message.action.unmanage.cluster=Por favor, confirme que desea unmanage del cl\u00c3\u00baster. -message.add.cluster=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de zona , la consola de -message.add.cluster.zone=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de zona -message.add.disk.offering=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo disco que ofrece -message.add.firewall=A\u00c3\u00b1adir un servidor de seguridad a la zona -message.add.host=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo host -message.add.ip.range=A\u00c3\u00b1adir un rango de IP a la red p\u00c3\u00bablica en la zona -message.add.ip.range.direct.network=A\u00c3\u00b1adir un rango de IP para dirigir red en la zona -message.add.ip.range.to.pod=

A\u00c3\u00b1adir un rango de IP de la vaina\:

-message.additional.networks.desc=Por favor seleccione de red adicionales (s) que la instancia virtual estar\u00c3\u00a1 conectado. -message.add.load.balancer=A\u00c3\u00b1adir un equilibrador de carga a la zona -message.add.network=Agregar una nueva red para la zona\: -message.add.pod=Agregar una vaina nueva zona -message.add.primary=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo almacenamiento primario -message.add.primary.storage=Agregar una nueva almacenamiento primario para zona , la consola de -message.add.secondary.storage=A\u00c3\u00b1adir un nuevo almacenamiento de zona -message.add.service.offering=Por favor, rellene los siguientes datos para agregar una nueva oferta de servicio. -message.add.template=Por favor ingrese los siguientes datos para crear la nueva plantilla -message.add.volume=Por favor, rellene los siguientes datos para agregar un nuevo volumen. -message.advanced.mode.desc=Seleccione este modelo de red si desea habilitar soporte VLAN. Este modelo de red proporciona la m\u00c3\u00a1xima flexibilidad al permitir a los administradores proporcionar ofertas personalizadas de la red como el suministro de firewall, VPN, o el apoyo equilibrador de carga, as\u00c3\u00ad como permitir vs directa de redes virtuales. +message.add.cluster=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de zona , la consola de +message.add.cluster.zone=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de zona +message.add.disk.offering=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo disco que ofrece +message.add.firewall=A\u00c3\u00b1adir un servidor de seguridad a la zona +message.add.host=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo host +message.add.ip.range=A\u00c3\u00b1adir un rango de IP a la red p\u00c3\u00bablica en la zona +message.add.ip.range.direct.network=A\u00c3\u00b1adir un rango de IP para dirigir red en la zona +message.add.ip.range.to.pod=

A\u00c3\u00b1adir un rango de IP de la vaina\:

+message.additional.networks.desc=Por favor seleccione de red adicionales (s) que la instancia virtual estar\u00c3\u00a1 conectado. +message.add.load.balancer=A\u00c3\u00b1adir un equilibrador de carga a la zona +message.add.network=Agregar una nueva red para la zona\: +message.add.pod=Agregar una vaina nueva zona +message.add.primary=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo almacenamiento primario +message.add.primary.storage=Agregar una nueva almacenamiento primario para zona , la consola de +message.add.secondary.storage=A\u00c3\u00b1adir un nuevo almacenamiento de zona +message.add.service.offering=Por favor, rellene los siguientes datos para agregar una nueva oferta de servicio. +message.add.template=Por favor ingrese los siguientes datos para crear la nueva plantilla +message.add.volume=Por favor, rellene los siguientes datos para agregar un nuevo volumen. +message.advanced.mode.desc=Seleccione este modelo de red si desea habilitar soporte VLAN. Este modelo de red proporciona la m\u00c3\u00a1xima flexibilidad al permitir a los administradores proporcionar ofertas personalizadas de la red como el suministro de firewall, VPN, o el apoyo equilibrador de carga, as\u00c3\u00ad como permitir vs directa de redes virtuales. message.advanced.security.group=Elija esta opci\u00c3\u00b3n si desea utilizar grupos de seguridad para proporcionar resultados de aislamiento VM. message.advanced.virtual=Elija esta opci\u00c3\u00b3n si desea utilizar VLAN toda la zona para proporcionar el aislamiento VM invitado. -message.allow.vpn.access=Por favor, introduzca un nombre de usuario y la contrase\u00c3\u00b1a del usuario que desea permitir el acceso de VPN. +message.allow.vpn.access=Por favor, introduzca un nombre de usuario y la contrase\u00c3\u00b1a del usuario que desea permitir el acceso de VPN. message.apply.snapshot.policy=Ha actualizado su pol\u00c3\u00adtica instant\u00c3\u00a1nea actual. -message.attach.iso.confirm=Por favor, confirme que desea conectar el ISO a la instancia virtual -message.attach.volume=Por favor, rellene los siguientes datos para fijar un nuevo volumen. Si est\u00c3\u00a1 colocando un volumen de disco a una m\u00c3\u00a1quina virtual de Windows basado, usted tendr\u00c3\u00a1 que reiniciar la instancia para ver el disco adjunto. -message.basic.mode.desc=Seleccione este modelo de red si lo haces * no * desea habilitar cualquier soporte VLAN. Todas las instancias virtuales creados en virtud de este modelo de red se le asignar\u00c3\u00a1 una direcci\u00c3\u00b3n IP directamente desde la red y grupos de seguridad se utilizan para proporcionar la seguridad y la segregaci\u00c3\u00b3n. -message.change.offering.confirm=Por favor, confirme que desea cambiar la oferta de servicio de la instancia virtual. -message.copy.iso.confirm=Por favor, confirme que desea copiar el ISO a -message.copy.template=Copia plantilla XXX de la zona -message.create.template.vm=Crear VM de la plantilla -message.create.template.volume=Por favor, especifique la siguiente informaci\u00c3\u00b3n antes de crear una plantilla de su volumen de disco\: . Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o del volumen. -message.delete.account=Por favor, confirme que desea eliminar esta cuenta. -message.detach.iso.confirm=Por favor, confirme que desea quitar el ISO de la instancia virtual +message.attach.iso.confirm=Por favor, confirme que desea conectar el ISO a la instancia virtual +message.attach.volume=Por favor, rellene los siguientes datos para fijar un nuevo volumen. Si est\u00c3\u00a1 colocando un volumen de disco a una m\u00c3\u00a1quina virtual de Windows basado, usted tendr\u00c3\u00a1 que reiniciar la instancia para ver el disco adjunto. +message.basic.mode.desc=Seleccione este modelo de red si lo haces * no * desea habilitar cualquier soporte VLAN. Todas las instancias virtuales creados en virtud de este modelo de red se le asignar\u00c3\u00a1 una direcci\u00c3\u00b3n IP directamente desde la red y grupos de seguridad se utilizan para proporcionar la seguridad y la segregaci\u00c3\u00b3n. +message.change.offering.confirm=Por favor, confirme que desea cambiar la oferta de servicio de la instancia virtual. +message.copy.iso.confirm=Por favor, confirme que desea copiar el ISO a +message.copy.template=Copia plantilla XXX de la zona +message.create.template.vm=Crear VM de la plantilla +message.create.template.volume=Por favor, especifique la siguiente informaci\u00c3\u00b3n antes de crear una plantilla de su volumen de disco\: . Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o del volumen. +message.delete.account=Por favor, confirme que desea eliminar esta cuenta. +message.detach.iso.confirm=Por favor, confirme que desea quitar el ISO de la instancia virtual message.disable.snapshot.policy=Ha desactivado su pol\u00c3\u00adtica instant\u00c3\u00a1nea actual. message.disable.vpn.access=Por favor, confirme que desea desactivar VPN de acceso. message.download.volume=Por favor, haga clic 00000 para bajar el volumen -message.edit.confirm=Por favor confirmar los cambios antes de hacer clic en "Guardar" -message.edit.limits=Por favor, especifique los l\u00c3\u00admites de los recursos siguientes. A "-1" indica que no hay l\u00c3\u00admite a la cantidad de los recursos de crear. -message.enable.account=Por favor, confirme que desea habilitar esta cuenta. -message.enabled.vpn.ip.sec=La clave pre-compartida IPSec es -message.enabled.vpn=Su acceso a la VPN est\u00c3\u00a1 habilitado y se puede acceder a trav\u00c3\u00a9s de la IP -message.enable.vpn.access=VPN \= est\u00c3\u00a1 desactivado para esta direcci\u00c3\u00b3n IP. \u00c2\u00bfTe gustar\u00c3\u00ada que permitan el acceso VPN? -message.enable.vpn=VPN de acceso actualmente no est\u00c3\u00a1 habilitado. Por favor, haga clic aqu\u00c3\u00ad para habilitar VPN. +message.edit.confirm=Por favor confirmar los cambios antes de hacer clic en "Guardar" +message.edit.limits=Por favor, especifique los l\u00c3\u00admites de los recursos siguientes. A "-1" indica que no hay l\u00c3\u00admite a la cantidad de los recursos de crear. +message.enable.account=Por favor, confirme que desea habilitar esta cuenta. +message.enabled.vpn.ip.sec=La clave pre-compartida IPSec es +message.enabled.vpn=Su acceso a la VPN est\u00c3\u00a1 habilitado y se puede acceder a trav\u00c3\u00a9s de la IP +message.enable.vpn.access=VPN \= est\u00c3\u00a1 desactivado para esta direcci\u00c3\u00b3n IP. \u00c2\u00bfTe gustar\u00c3\u00ada que permitan el acceso VPN? +message.enable.vpn=VPN de acceso actualmente no est\u00c3\u00a1 habilitado. Por favor, haga clic aqu\u00c3\u00ad para habilitar VPN. message.installWizard.click.retry=Haz click en el bot\u00f3n para re-intentar el lanzamiento de la instancia. -message.installWizard.tooltip.addCluster.name=Nombre del Cluster. Puede ser alfanum\u00e9rico .Este no es usado por CloudStack +message.installWizard.tooltip.addCluster.name=Nombre del Cluster. Puede ser alfanum\u00e9rico .Este no es usado por CloudStack message.installWizard.tooltip.addHost.hostname=El nombre DNS o direcci\u00f3n IP del host message.installWizard.tooltip.addHost.username=Generalmente root message.installWizard.tooltip.addPod.name=Nombre del POD @@ -819,44 +819,44 @@ message.installWizard.tooltip.addPrimaryStorage.name=\ Nombre para el storage message.installWizard.tooltip.addSecondaryStorage.nfsServer=Direcci\u00f3n IP del servidor NFS que contiene el secondary storage message.installWizard.tooltip.addZone.name=Nombre de la zona. message.installWizard.tooltip.configureGuestTraffic.description=Una breve descripci\u00f3n para su red. -message.installWizard.tooltip.configureGuestTraffic.guestGateway=El gatway, puerta de enlace, que las maquinas guest deben usar. -message.installWizard.tooltip.configureGuestTraffic.name=Nombre de su RED -message.lock.account=Por favor, confirme que desea bloquear esta cuenta. Al bloquear la cuenta, todos los usuarios de esta cuenta ya no ser\u00c3\u00a1 capaz de gestionar sus recursos de la nube. Los recursos existentes todav\u00c3\u00ada se puede acceder. +message.installWizard.tooltip.configureGuestTraffic.guestGateway=El gatway, puerta de enlace, que las maquinas guest deben usar. +message.installWizard.tooltip.configureGuestTraffic.name=Nombre de su RED +message.lock.account=Por favor, confirme que desea bloquear esta cuenta. Al bloquear la cuenta, todos los usuarios de esta cuenta ya no ser\u00c3\u00a1 capaz de gestionar sus recursos de la nube. Los recursos existentes todav\u00c3\u00ada se puede acceder. message.migrate.instance.confirm=Por favor, confirme el anfitri\u00c3\u00b3n desea migrar la instancia virtual. message.migrate.instance.to.host=Por favor, confirmar que desea mover la instancia a otro host. message.migrate.instance.to.ps=Por favor, confirmar que desea mover la instancia a otro primary storage. message.migrate.router.confirm=Por favor, confirme el hu\u00c3\u00a9sped que desea migrar el router\: message.migrate.systemvm.confirm=Por favor, confirme el hu\u00c3\u00a9sped que desea migrar la m\u00c3\u00a1quina virtual de sistema\: message.no.network.support.configuration.not.true=Usted no tiene ninguna zona que ha permitido a grupo de seguridad. Por lo tanto, no hay funciones de red adicionales. Por favor, contin\u00c3\u00bae con el paso 5. -message.no.network.support=El hipervisor seleccionado, vSphere, no tiene funciones de red adicionales. Por favor, contin\u00c3\u00bae con el paso 5. -message.number.clusters=

\# de Grupos

-message.number.hosts=

\# de Anfitri\u00c3\u00b3n

-message.number.pods=

\# de Las vainas

-message.number.storage=

\# de Almacenamiento primario

-message.number.zones=

\# de Zonas

-message.remove.vpn.access=Por favor, confirme que desea eliminar el acceso VPN desde el siguiente usuario -message.restart.mgmt.server=Por favor, reinicie el servidor de administraci\u00c3\u00b3n (s) para la nueva configuraci\u00c3\u00b3n surta efecto. -message.security.group.usage=(Uso pulse Ctrl para seleccionar todos los grupos de seguridad se aplica) -message.select.item=Por favor, seleccionar un item . +message.no.network.support=El hipervisor seleccionado, vSphere, no tiene funciones de red adicionales. Por favor, contin\u00c3\u00bae con el paso 5. +message.number.clusters=

\# de Grupos

+message.number.hosts=

\# de Anfitri\u00c3\u00b3n

+message.number.pods=

\# de Las vainas

+message.number.storage=

\# de Almacenamiento primario

+message.number.zones=

\# de Zonas

+message.remove.vpn.access=Por favor, confirme que desea eliminar el acceso VPN desde el siguiente usuario +message.restart.mgmt.server=Por favor, reinicie el servidor de administraci\u00c3\u00b3n (s) para la nueva configuraci\u00c3\u00b3n surta efecto. +message.security.group.usage=(Uso pulse Ctrl para seleccionar todos los grupos de seguridad se aplica) +message.select.item=Por favor, seleccionar un item . message.setup.successful=La configuraci\u00f3n de la cloud finalizo satisfactoriamente. -message.snapshot.schedule=Puede horarios de configuraci\u00c3\u00b3n recurrente instant\u00c3\u00a1neas mediante la selecci\u00c3\u00b3n de las opciones disponibles a continuaci\u00c3\u00b3n y la aplicaci\u00c3\u00b3n de su preferencia pol\u00c3\u00adtica -message.step.1.continue=Por favor seleccione una plantilla o ISO para continuar -message.step.1.desc=Por favor seleccione una plantilla para la instancia virtual. Tambi\u00c3\u00a9n puede optar por seleccionar una plantilla en blanco desde el que puede ser una imagen ISO instalado en. -message.step.2.continue=Por favor seleccione una oferta de servicio para continuar +message.snapshot.schedule=Puede horarios de configuraci\u00c3\u00b3n recurrente instant\u00c3\u00a1neas mediante la selecci\u00c3\u00b3n de las opciones disponibles a continuaci\u00c3\u00b3n y la aplicaci\u00c3\u00b3n de su preferencia pol\u00c3\u00adtica +message.step.1.continue=Por favor seleccione una plantilla o ISO para continuar +message.step.1.desc=Por favor seleccione una plantilla para la instancia virtual. Tambi\u00c3\u00a9n puede optar por seleccionar una plantilla en blanco desde el que puede ser una imagen ISO instalado en. +message.step.2.continue=Por favor seleccione una oferta de servicio para continuar message.step.2.desc= -message.step.3.continue=Por favor seleccione una oferta en disco para continuar +message.step.3.continue=Por favor seleccione una oferta en disco para continuar message.step.3.desc= message.step.4.continue=Por favor seleccione al menos una red social para continuar -message.step.4.desc=Por favor, seleccione la red primaria que la instancia virtual estar\u00c3\u00a1 conectado. -message.update.os.preference=Por favor seleccione un sistema operativo de preferencia para este equipo. Todas las instancias virtuales con preferencias similares ser\u00c3\u00a1n los primeros asignados a este equipo antes de elegir otro. -message.update.ssl=Por favor, env\u00c3\u00ade una nueva X.509 compatible con certificado SSL que se actualizar\u00c3\u00a1 a cada instancia virtual de la consola del servidor proxy\: -message.virtual.network.desc=Una red dedicada virtualizados para su cuenta. El dominio de difusi\u00c3\u00b3n est\u00c3\u00a1 contenida dentro de una VLAN y todos los acceso a la red p\u00c3\u00bablica se encamina a cabo por un router virtual. +message.step.4.desc=Por favor, seleccione la red primaria que la instancia virtual estar\u00c3\u00a1 conectado. +message.update.os.preference=Por favor seleccione un sistema operativo de preferencia para este equipo. Todas las instancias virtuales con preferencias similares ser\u00c3\u00a1n los primeros asignados a este equipo antes de elegir otro. +message.update.ssl=Por favor, env\u00c3\u00ade una nueva X.509 compatible con certificado SSL que se actualizar\u00c3\u00a1 a cada instancia virtual de la consola del servidor proxy\: +message.virtual.network.desc=Una red dedicada virtualizados para su cuenta. El dominio de difusi\u00c3\u00b3n est\u00c3\u00a1 contenida dentro de una VLAN y todos los acceso a la red p\u00c3\u00bablica se encamina a cabo por un router virtual. message.vm.create.template.confirm=Crear plantilla de la m\u00c3\u00a1quina virtual se reiniciar\u00c3\u00a1 autom\u00c3\u00a1ticamente. -message.volume.create.template.confirm=Por favor, confirme que desea crear una plantilla para este volumen de disco. Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o del volumen. -message.zone.step.1.desc=Por favor seleccione un modelo de red para su zona. +message.volume.create.template.confirm=Por favor, confirme que desea crear una plantilla para este volumen de disco. Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o del volumen. +message.zone.step.1.desc=Por favor seleccione un modelo de red para su zona. mode=modo -network.rate=Tasa de Red +network.rate=Tasa de Red side.by.side=Juntos -state.Allocated=Asignados -state.Disabled=personas de movilidad reducida -state.Error=Error +state.Allocated=Asignados +state.Disabled=personas de movilidad reducida +state.Error=Error diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties index 6d860486d0c..8be438a11c1 100644 --- a/client/WEB-INF/classes/resources/messages_fr_FR.properties +++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties @@ -195,7 +195,7 @@ label.action.reboot.router.processing=Red\u00e9marrage du routeur... label.action.reboot.router=Red\u00e9marrer le routeur label.action.reboot.systemvm.processing=Red\u00e9marrage de la VM Syst\u00e8me... label.action.reboot.systemvm=Red\u00e9marrer la VM Syst\u00e8me -label.action.recurring.snapshot=Instantan\u00e9s r\u00e9currents +label.action.recurring.snapshot=Instantan\u00e9s r\u00e9currents label.action.register.iso=Enregistrer ISO label.action.register.template=Enregistrer mod\u00e8le label.action.release.ip=Lib\u00e9rer l\\'adresse IP @@ -230,6 +230,9 @@ label.action.update.OS.preference=Mettre \u00e0 jour les pr\u00e9f\u00e9rences d label.action.update.OS.preference.processing=Mise \u00e0 jour des pr\u00e9f\u00e9rences d\\'OS... label.action.update.resource.count=Mettre \u00e0 jour le compteur des ressources label.action.update.resource.count.processing=Mise \u00e0 jour du compteur... +label.action.vmsnapshot.create=Prendre un instantan\u00e9 VM +label.action.vmsnapshot.delete=Supprimer l\\'instantan\u00e9 VM +label.action.vmsnapshot.revert=Revenir \u00e0 un instantan\u00e9 VM label.activate.project=Activer projet label.active.sessions=Sessions actives label.add.account=Ajouter un compte @@ -237,7 +240,9 @@ label.add.accounts=Ajouter des comptes label.add.accounts.to=Ajouter des comptes sur label.add.account.to.project=Ajouter un compte au projet label.add.ACL=Ajouter r\u00e8gle ACL +label.add.affinity.group=Ajouter nouvea groupe d\\'affinit\u00e9 label.add=Ajouter +label.add.BigSwitchVns.device=Ajouter contr\u00f4leur BigSwitch Vns label.add.by=Ajout\u00e9 par label.add.by.cidr=Ajouter par CIDR label.add.by.group=Ajouter par groupe @@ -279,6 +284,7 @@ label.add.physical.network=Ajouter un r\u00e9seau physique label.add.pod=Ajouter un pod label.add.port.forwarding.rule=Ajouter une r\u00e8gle de transfert de port label.add.primary.storage=Ajouter un stockage principal +label.add.region=Ajouter R\u00e9gion label.add.resources=Ajouter ressources label.add.route=Ajouter route label.add.rule=Ajouter r\u00e8gle @@ -308,6 +314,9 @@ label.admin=Administrateur label.advanced=Avanc\u00e9 label.advanced.mode=Mode avanc\u00e9 label.advanced.search=Recherche avanc\u00e9e +label.affinity=Affinit\u00e9 +label.affinity.group=Groupe d\\'Affinit\u00e9 +label.affinity.groups=Groups d\\'Affinit\u00e9 label.agent.password=Mot de passe Agent label.agent.username=Identifiant Agent label.agree=Accepter @@ -315,6 +324,9 @@ label.alert=Alerte label.algorithm=Algorithme label.allocated=Allou\u00e9 label.allocation.state=\u00c9tat +label.anti.affinity=Anti-affinit\u00e9 +label.anti.affinity.group=Groupe d\\'Anti-affinit\u00e9 +label.anti.affinity.groups=Groupes d\\'Anti-affinit\u00e9 label.api.key=Cl\u00e9 d\\'API label.apply=Appliquer label.assign=Assigner @@ -322,6 +334,8 @@ label.assign.to.load.balancer=Assigner l\\'instance au r\u00e9partiteur de charg label.associated.network.id=ID du r\u00e9seau associ\u00e9 label.associated.network=R\u00e9seau associ\u00e9 label.attached.iso=Image ISO attach\u00e9e +label.author.email=Email auteur +label.author.name=Nom auteur label.availability=Disponibilit\u00e9 label.availability.zone=Zone de disponibilit\u00e9 label.available=Disponible @@ -330,6 +344,7 @@ label.back=Retour label.bandwidth=Bande passante label.basic=Basique label.basic.mode=Mode basique +label.bigswitch.controller.address=Adresse du contr\u00f4leur BigSwitch Vns label.bootable=Amor\u00e7able label.broadcast.domain.range=Plage du domaine multi-diffusion label.broadcast.domain.type=Type de domaine de multi-diffusion @@ -393,6 +408,7 @@ label.cpu.allocated=CPU allou\u00e9e label.cpu.allocated.for.VMs=CPU allou\u00e9e aux VMs label.CPU.cap=Limitation CPU label.cpu=CPU +label.cpu.limits=Limites CPU label.cpu.mhz=CPU (en MHz) label.cpu.utilized=CPU utilis\u00e9e label.created.by.system=Cr\u00e9\u00e9 par le syst\u00e8me @@ -413,6 +429,8 @@ label.dedicated=D\u00e9di\u00e9 label.default=Par d\u00e9faut label.default.use=Utilisation par d\u00e9faut label.default.view=Vue par d\u00e9faut +label.delete.affinity.group=Supprimer le groupe d\\'affinit\u00e9 +label.delete.BigSwitchVns=Supprimer contr\u00f4leur BigSwitch Vns label.delete.F5=Supprimer F5 label.delete.gateway=Supprimer la passerelle label.delete.NetScaler=Supprimer Netscaler @@ -464,6 +482,7 @@ label.done=Termin\u00e9 label.double.quotes.are.not.allowed=Les guillemets ne sont pas autoris\u00e9es label.download.progress=Progression du t\u00e9l\u00e9chargement label.drag.new.position=D\u00e9placer sur une autre position +label.edit.affinity.group=Modifier le groupe d\\'affinit\u00e9 label.edit.lb.rule=Modifier la r\u00e8gle LB label.edit=Modifier label.edit.network.details=Modifier les param\u00e8tres r\u00e9seau @@ -485,6 +504,7 @@ label.enabling.vpn.access=Activation de l\\'acc\u00e8s VPN label.enabling.vpn=Activation du VPN label.end.IP=Fin de plage IP label.endpoint.or.operation=Terminaison ou Op\u00e9ration +label.endpoint=Terminaison label.end.port=Port de fin label.end.reserved.system.IP=Adresse IP de fin r\u00e9serv\u00e9e Syst\u00e8me label.end.vlan=VLAN de fin @@ -497,6 +517,7 @@ label.ESP.lifetime=Dur\u00e9e de vie ESP (secondes) label.ESP.policy=Mode ESP label.esx.host=H\u00f4te ESX/ESXi label.example=Exemple +label.external.link=Lien externe label.f5=F5 label.failed=\u00c9chou\u00e9 label.featured=Sponsoris\u00e9 @@ -610,6 +631,7 @@ label.keyboard.type=Type de clavier label.key=Clef label.kvm.traffic.label=Libell\u00e9 pour le trafic KVM label.label=Libell\u00e9 +label.lang.arabic=Arabe label.lang.brportugese=Portuguais Br\u00e9sil label.lang.catalan=Catalan label.lang.chinese=Chinois (simplifi\u00e9) @@ -648,10 +670,14 @@ label.manage=G\u00e9r\u00e9 label.management=Administration label.management.ips=Adresses IP de gestion label.manage.resources=G\u00e9rer les ressources +label.max.cpus=Nombre coeurs CPU max. label.max.guest.limit=Nombre maximum d\\'invit\u00e9s label.maximum=Maximum +label.max.memory=M\u00e9moire max. (Mo) label.max.networks=R\u00e9seaux Max. +label.max.primary.storage=Principal max. (Go) label.max.public.ips=Max. IP publiques +label.max.secondary.storage=Secondaire max. (Go) label.max.snapshots=Max instantan\u00e9es label.max.templates=Max. mod\u00e8les label.max.vms=Max. VMs utilisateur @@ -659,6 +685,7 @@ label.max.volumes=Max. volumes label.max.vpcs=Max. VPCs label.may.continue=Vous pouvez continuer. label.memory.allocated=M\u00e9moire allou\u00e9e +label.memory.limits=Limites m\u00e9moire (Mo) label.memory.mb=M\u00e9moire (en MB) label.memory=M\u00e9moire (en Mo) label.memory.total=M\u00e9moire totale @@ -689,6 +716,7 @@ label.menu.my.templates=Mes mod\u00e8les label.menu.network.offerings=Offres de Service R\u00e9seau label.menu.network=R\u00e9seau label.menu.physical.resources=Ressources physiques +label.menu.regions=R\u00e9gions label.menu.running.instances=Instances actives label.menu.security.groups=Groupes de s\u00e9curit\u00e9 label.menu.service.offerings=Offres de Service @@ -705,8 +733,8 @@ label.menu.volumes=Volumes label.migrate.instance.to.host=Migration de l\\'instance sur un autre h\u00f4te label.migrate.instance.to=Migrer l\\'instance vers label.migrate.instance.to.ps=Migration de l\\'instance sur un autre stockage principal -label.migrate.router.to=Migrer le routeur vers -label.migrate.systemvm.to=Migrer la VM syst\u00e8me vers +label.migrate.router.to=Migrer le routeur vers +label.migrate.systemvm.to=Migrer la VM syst\u00e8me vers label.migrate.to.host=Migrer vers un h\u00f4te label.migrate.to.storage=Migrer vers un stockage label.migrate.volume=Migration du volume vers un autre stockage principal @@ -808,6 +836,8 @@ label.PING.dir=R\u00e9pertoire PING label.PING.storage.IP=IP stockage PING label.please.specify.netscaler.info=Renseigner les informations sur le Netscaler label.please.wait=Patientez s\\'il vous plait +label.plugin.details=D\u00e9tails extension +label.plugins=Extensions label.pod.name=Nom du pod label.pod=Pod label.pods=Pods @@ -820,6 +850,7 @@ label.prev=Pr\u00e9c\u00e9dent label.primary.allocated=Stockage principal allou\u00e9 label.primary.network=R\u00e9seau principal label.primary.storage.count=Groupes de stockage principal +label.primary.storage.limits=Limites stockage principal (Go) label.primary.storage=Premier stockage label.primary.used=Stockage principal utilis\u00e9 label.private.Gateway=Passerelle priv\u00e9e @@ -857,6 +888,7 @@ label.redundant.router.capability=Router redondant label.redundant.router=Routeur redondant label.redundant.state=\u00c9tat de la redondance label.refresh=Actualiser +label.region=R\u00e9gion label.related=Connexes label.remind.later=Rappeler moi plus tard label.remove.ACL=Supprimer une r\u00e8gle ACL @@ -866,6 +898,7 @@ label.remove.ingress.rule=Supprimer la r\u00e8gle entrante label.remove.ip.range=Supprimer la plage IP label.remove.pf=Supprimer la r\u00e8gle de transfert de port label.remove.project.account=Supprimer le compte projet +label.remove.region=Supprimer r\u00e9gion label.remove.rule=Supprimer la r\u00e8gle label.remove.static.nat.rule=Supprimer le NAT statique label.remove.static.route=Supprimer une route statique @@ -902,7 +935,7 @@ label.s3.access_key=Cl\u00e9 d\\'Acc\u00e8s label.s3.bucket=Seau label.s3.connection_timeout=D\u00e9lai d\\'expiration de connexion label.s3.endpoint=Terminaison -label.s3.max_error_retry=Nombre d\\'essai en erreur max. +label.s3.max_error_retry=Nombre d\\'essai en erreur max. label.s3.secret_key=Cl\u00e9 Priv\u00e9e label.s3.socket_timeout=D\u00e9lai d\\'expiration de la socket label.s3.use_https=Utiliser HTTPS @@ -913,6 +946,7 @@ label.saving.processing=Sauvegarde en cours... label.scope=Port\u00e9e label.search=Rechercher label.secondary.storage.count=Groupes de stockage secondaire +label.secondary.storage.limits=Limites stockage secondaire (Go) label.secondary.storage=Stockage secondaire label.secondary.storage.vm=VM stockage secondaire label.secondary.used=Stockage secondaire utilis\u00e9 @@ -930,7 +964,7 @@ label.select.offering=S\u00e9lectionner une offre label.select.project=S\u00e9lectionner un projet label.select=S\u00e9lectionner label.select.tier=S\u00e9lectionner le tiers -label.select-view=S\u00e9lectionner la vue +label.select-view=S\u00e9lectionner la vue label.select.vm.for.static.nat=S\u00e9lectionner une VM pour le NAT statique label.sent=Envoy\u00e9 label.server=Serveur @@ -958,7 +992,7 @@ label.source.nat=NAT Source label.source=Origine label.specify.IP.ranges=Sp\u00e9cifier des plages IP label.specify.vlan=Pr\u00e9ciser le VLAN -label.SR.name=Nom du point de montage +label.SR.name = Nom du point de montage label.srx=SRX label.start.IP=Plage de d\u00e9but IP label.start.port=Port de d\u00e9but @@ -1013,9 +1047,9 @@ label.system.capacity=Capacit\u00e9 syst\u00e8me label.system.offering=Offre de syst\u00e8me label.system.service.offering=Offre de Service Syst\u00e8me label.system.vms=\ VMs Syst\u00e8mes -label.system.vm.type=Type de VM syst\u00e8me +label.system.vm.type=Type de VM syst\u00e8me label.system.vm=VM Syst\u00e8me -label.system.wide.capacity=Capacit\u00e9 globale +label.system.wide.capacity=Capacit\u00e9 globale label.tagged=\u00c9tiquet\u00e9 label.tags=\u00c9tiquette label.target.iqn=Cible IQN @@ -1030,7 +1064,7 @@ label.thursday=Jeudi label.tier.details=D\u00e9tails du tiers label.tier=Tiers label.timeout=D\u00e9lai d\\'expiration -label.timeout.in.second=D\u00e9lai d\\'expiration (secondes) +label.timeout.in.second = D\u00e9lai d\\'expiration (secondes) label.time=Temps label.time.zone=Fuseau horaire label.timezone=Fuseau horaire @@ -1053,8 +1087,8 @@ label.unavailable=Indisponible label.unlimited=Illimit\u00e9 label.untagged=Non Tagg\u00e9 label.update.project.resources=Mettre \u00e0 jour les ressources du projet -label.update.ssl.cert=Certificat SSL -label.update.ssl=Certificat SSL +label.update.ssl.cert= Certificat SSL +label.update.ssl= Certificat SSL label.updating=Mise \u00e0 jour label.upload=Charger label.upload.volume=Charger un volume @@ -1064,6 +1098,7 @@ label.used=Utilis\u00e9 label.username=Nom d\\'Utilisateur label.users=Utilisateurs label.user=Utilisateur +label.use.vm.ip=Utiliser IP VM \: label.value=Valeur label.vcdcname=Nom du DC vCenter label.vcenter.cluster=Cluster vCenter @@ -1096,11 +1131,16 @@ label.vmfs=VMFS label.vm.name=Nom de la VM label.vm.reboot=Red\u00e9marrer label.VMs.in.tier=Machines virtuelles dans le tiers +label.vmsnapshot.current=estCourant +label.vmsnapshot=Instantan\u00e9s VM +label.vmsnapshot.memory=M\u00e9more instantan\u00e9 +label.vmsnapshot.parentname=Parent +label.vmsnapshot.type=Type label.vm.start=D\u00e9marrer label.vm.state=\u00c9tat VM label.vm.stop=Arr\u00eater label.vms=VMs -label.vmware.traffic.label=Libell\u00e9 pour le trafic VMware +label.vmware.traffic.label=Libell\u00e9 pour le trafic VMware label.volgroup=Groupe de Volume label.volume.limits=Limites des volumes label.volume.name=Nom du volume @@ -1209,13 +1249,15 @@ message.action.stop.router=Tous les services fournit par ce routeur virtuel vont message.action.stop.systemvm=\u00cates-vous s\u00fbr que vous souhaitez arr\u00eater cette VM. message.action.take.snapshot=Confirmer la prise d\\'un instantan\u00e9 pour ce volume. message.action.unmanage.cluster=Confirmez que vous ne voulez plus g\u00e9rer le cluster +message.action.vmsnapshot.delete=Confirmez que vous souhaitez supprimer cet instantan\u00e9 VM. +message.action.vmsnapshot.revert=Revenir \u00e0 un instantan\u00e9 VM message.activate.project=\u00cates-vous s\u00fbr de vouloir activer ce projet ? message.add.cluster=Ajouter un cluster d\\'hyperviseurs g\u00e9r\u00e9 pour cette zone , pod message.add.cluster.zone=Ajouter un cluster d\\'hyperviseurs g\u00e9r\u00e9 pour cette zone message.add.disk.offering=Renseignez les param\u00e8tres suivants pour ajouter un offre de service de disques message.add.domain=Sp\u00e9cifier le sous domaine que vous souhaitez cr\u00e9er sous ce domaine message.add.firewall=Ajouter un pare-feu \u00e0 cette zone -message.add.guest.network=Confirmer l\\'ajout du r\u00e9seau invit\u00e9 +message.add.guest.network=Confirmer l\\'ajout du r\u00e9seau invit\u00e9 message.add.host=Renseignez les param\u00e8tres suivants pour ajouter une h\u00f4te message.adding.host=Ajout un h\u00f4te message.adding.Netscaler.device=Ajouter un Netscaler @@ -1229,9 +1271,10 @@ message.add.load.balancer.under.ip=La r\u00e8gle de r\u00e9partition de charge \ message.add.network=Ajouter un nouveau r\u00e9seau \u00e0 la zone\: message.add.new.gateway.to.vpc=Renseigner les informations suivantes pour ajouter une nouvelle passerelle pour ce VPC message.add.pod=Ajouter un nouveau pod \u00e0 la zone -message.add.pod.during.zone.creation=Chaque zone doit contenir un ou plusieurs pods, et le premier pod sera ajout\u00e9 maintenant. Une pod contient les h\u00f4tes et les serveurs de stockage principal, qui seront ajout\u00e9s dans une \u00e9tape ult\u00e9rieure. Configurer une plage d\\'adresses IP r\u00e9serv\u00e9es pour le trafic de gestion interne de CloudStack. La plage d\\'IP r\u00e9serv\u00e9e doit \u00eatre unique pour chaque zone dans le nuage. +message.add.pod.during.zone.creation=Chaque zone doit contenir un ou plusieurs pods, et le premier pod sera ajout\u00e9 maintenant. Une pod contient les h\u00f4tes et les serveurs de stockage primaire, qui seront ajout\u00e9s dans une \u00e9tape ult\u00e9rieure. Configurer une plage d\\'adresses IP r\u00e9serv\u00e9es pour le trafic de gestion interne de CloudStack. La plage d\\'IP r\u00e9serv\u00e9e doit \u00eatre unique pour chaque zone dans le nuage. message.add.primary=Renseignez les param\u00e8tres suivants pour ajouter un stockage principal message.add.primary.storage=Ajouter un nouveau stockage principal \u00e0 la zone , pod +message.add.region=Renseigner les informations suivantes pour ajouter une nouvelle r\u00e9gion. message.add.secondary.storage=Ajouter un nouveau stockage pour la zone message.add.service.offering=Renseigner les informations suivantes pour ajouter une nouvelle offre de service de calcul. message.add.system.service.offering=Ajouter les informations suivantes pour cr\u00e9er une nouvelle offre syst\u00e8me. @@ -1280,6 +1323,7 @@ message.creating.secondary.storage=Cr\u00e9ation du stockage secondaire message.creating.zone=Cr\u00e9ation de la zone message.decline.invitation=Voulez-vous refuser cette invitation au projet ? message.delete.account=\u00cates-vous s\u00fbr que vous souhaitez supprimer ce compte. +message.delete.affinity.group=Confirmer la supression de ce groupe d\\'affinit\u00e9. message.delete.gateway=\u00cates-vous s\u00fbr que vous voulez supprimer cette passerelle message.delete.project=\u00cates-vous s\u00fbr de vouloir supprimer ce projet ? message.delete.user=\u00cates-vous s\u00fbr que vous voulez supprimer cet utilisateur. @@ -1289,7 +1333,7 @@ message.delete.VPN.gateway=\u00cates-vous s\u00fbr que vous voulez supprimer cet message.desc.advanced.zone=Pour des topologies de r\u00e9seau plus sophistiqu\u00e9es. Ce mod\u00e8le de r\u00e9seau permet plus de flexibilit\u00e9 dans la d\u00e9finition des r\u00e9seaux d\\'invit\u00e9s et propose des offres personnalis\u00e9es telles que le support de pare-feu, VPN ou d\\'\u00e9quilibrage de charge. message.desc.basic.zone=Fournit un r\u00e9seau unique o\u00f9 chaque instance de machine virtuelle se voit attribuer une adresse IP directement depuis le r\u00e9seau. L\\'isolation des invit\u00e9s peut \u00eatre assur\u00e9 au niveau de la couche r\u00e9seau-3 tels que les groupes de s\u00e9curit\u00e9 (filtrage d\\'adresse IP source). message.desc.cluster=Chaque pod doit contenir un ou plusieurs clusters, et le premier cluster sera ajout\u00e9 tout de suite. Un cluster est un regroupement pour h\u00f4tes. Les h\u00f4tes d\\'un cluster ont tous un mat\u00e9riel identique, ex\u00e9cutent le m\u00eame hyperviseur, sont dans le m\u00eame sous-r\u00e9seau, et acc\u00e8dent au m\u00eame stockage partag\u00e9. Chaque cluster comprend une ou plusieurs h\u00f4tes et un ou plusieurs serveurs de stockage principal. -message.desc.host=Chaque cluster doit contenir au moins un h\u00f4te (machine) pour ex\u00e9cuter des machines virtuelles invit\u00e9es, et le premier h\u00f4te sera ajout\u00e9 tout de suite. Pour un h\u00f4te fonctionnant dans CloudStack, vous devez installer un logiciel hyperviseur sur l\\'h\u00f4te, attribuer une adresse IP \u00e0 l\\'h\u00f4te, et s\\'assurer que l\\'h\u00f4te est connect\u00e9 au serveur d\\'administration CloudStack.

Indiquer le nom de l\\'h\u00f4te ou son adresse IP, l\\'identifiant de connexion (g\u00e9n\u00e9ralement root) et le mot de passe ainsi que toutes les \u00e9tiquettes permettant de classer les h\u00f4tes. +message.desc.host=Chaque cluster doit contenir au moins un h\u00f4te (machine) pour ex\u00e9ctuer des machines virtuelles invit\u00e9es, et le premier h\u00f4te sera ajout\u00e9e maintenant. Pour un h\u00f4te fonctionnant dans CloudStack, vous devez installer un logiciel hyperviseur sur l\\'h\u00f4te, attribuer une adresse IP \u00e0 l\\'h\u00f4te, et s\\'assurer que l\\'h\u00f4te est connect\u00e9 au serveur d\\'administration CloudStack.

Indiquer le nom de l\\'h\u00f4te ou son adresse IP, l\\'identifiant de connexion (g\u00e9n\u00e9ralement root) et le mot de passe ainsi que toutes les \u00e9tiquettes permettant de classer les h\u00f4tes. message.desc.primary.storage=Chaque cluster doit contenir un ou plusieurs serveurs de stockage principal, et le premier sera ajout\u00e9 tout de suite. Le stockage principal contient les volumes de disque pour les machines virtuelles s\\'ex\u00e9cutant sur les h\u00f4tes dans le cluster. Utiliser les protocoles standards pris en charge par l\\'hyperviseur sous-jacent. message.desc.secondary.storage=Chaque zone doit avoir au moins un serveur NFS ou un serveur de stockage secondaire, et sera ajout\u00e9 en premier tout de suite. Le stockage secondaire entrepose les mod\u00e8les de machines virtuelles, les images ISO et les images disques des volumes des machines virtuelles. Ce serveur doit \u00eatre accessible pour toutes les machines h\u00f4tes dans la zone.

Saisir l\\'adresse IP et le chemin d\\'export. message.desc.zone=Une zone est la plus grande unit\u00e9 organisationnelle dans CloudStack, et correspond typiquement \u00e0 un centre de donn\u00e9es. Les zones fournissent un isolement physique et de la redondance. Une zone est constitu\u00e9e d\\'un ou plusieurs pods (dont chacun contient les h\u00f4tes et les serveurs de stockage principal) et un serveur de stockage secondaire qui est partag\u00e9e par tous les pods dans la zone. @@ -1388,6 +1432,8 @@ message.please.wait.while.zone.is.being.created=Patienter pendant la cr\u00e9ati message.project.invite.sent=Invitation envoy\u00e9e ; les utilisateurs seront ajout\u00e9s apr\u00e8s acceptation de l\\'invitation message.public.traffic.in.advanced.zone=Le trafic public est g\u00e9n\u00e9r\u00e9 lorsque les machines virtuelles dans le nuage acc\u00e8dent \u00e0 Internet. Des adresses IP publiquement accessibles doivent \u00eatre pr\u00e9vues \u00e0 cet effet. Les utilisateurs peuvent utiliser l\\'interface d\\'administration de CloudStack pour acqu\u00e9rir ces adresses IP qui impl\u00e9menteront une translation d\\'adresse NAT entre le r\u00e9seau d\\'invit\u00e9 et le r\u00e9seau public.

Fournir au moins une plage d\\'adresses IP pour le trafic Internet. message.public.traffic.in.basic.zone=Le trafic public est g\u00e9n\u00e9r\u00e9 lorsque les machines virtuelles dans le nuage acc\u00e8dent \u00e0 Internet ou fournissent des services \u00e0 des utilisateurs sur Internet. Des adresses IP publiquement accessibles doivent \u00eatre pr\u00e9vus \u00e0 cet effet. Quand une instance est cr\u00e9\u00e9e, une adresse IP publique depuis un ensemble d\\'adresses IP publiques sera allou\u00e9e \u00e0 l\\'instance, en plus de l\\'adresse IP de l\\'invit\u00e9. La translation d\\'adresses statique NAT 1-1 sera mises en place automatiquement entre l\\'adresse IP publique et l\\'adresse IP de l\\'invit\u00e9. Les utilisateurs peuvent \u00e9galement utiliser l\\'interface d\\'administration CloudStack pour acqu\u00e9rir des adresses IP suppl\u00e9mentaires pour ajouter une translation d\\'adresse statique NAT entre leurs instances et le r\u00e9seau d\\'adresses IP publiques. +message.redirecting.region=Redirection vers r\u00e9gion... +message.remove.region=Confirmer que vous souhaitez supprimer cette r\u00e9gion depuis ce serveur d\\'administration ? message.remove.vpc=Confirmer la suppression du VPC message.remove.vpn.access=\u00cates-vous s\u00fbr que vous souhaitez supprimer l\\'acc\u00e8s VPN \u00e0 l\\'utilisateur suivant. message.reset.password.warning.notPasswordEnabled=Le mod\u00e8le de cette instance a \u00e9t\u00e9 cr\u00e9\u00e9 sans la gestion de mot de passe @@ -1412,7 +1458,9 @@ message.specify.url=Renseigner l\\'URL message.step.1.continue=S\u00e9lectionnez un mod\u00e8le ou une image ISO pour continuer message.step.1.desc=S\u00e9lectionnez un mod\u00e8le pour votre nouvelle instance virtuelle. Vous pouvez \u00e9galement choisir un mod\u00e8le vierge sur lequel une image ISO pourra \u00eatre install\u00e9e. message.step.2.continue=S\u00e9lectionnez une offre de service pour continuer +message.step.2.desc= message.step.3.continue=S\u00e9lectionnez un offre de service de disque pour continuer +message.step.3.desc= message.step.4.continue=S\u00e9lectionnez au moins un r\u00e9seau pour continuer message.step.4.desc=S\u00e9lectionnez le r\u00e9seau principal auquel votre instance va \u00eatre connect\u00e9. message.storage.traffic=Trafic entre les ressources internes de CloudStack, incluant tous les composants qui communiquent avec le serveur d\\'administration, tels que les h\u00f4tes et les machines virtuelles Syst\u00e8mes CloudStack. Veuillez configurer le trafic de stockage ici. diff --git a/client/WEB-INF/classes/resources/messages_it_IT.properties b/client/WEB-INF/classes/resources/messages_it_IT.properties index f0c6524a3f0..78323b02578 100644 --- a/client/WEB-INF/classes/resources/messages_it_IT.properties +++ b/client/WEB-INF/classes/resources/messages_it_IT.properties @@ -433,7 +433,6 @@ label.zone.name=Nome Zona label.zones=Zone label.zone.type=Tipo di Zona label.zoneWizard.trafficType.guest=Guest\: Traffico di rete tra le virtual machine dell\\'utente finale -label.zoneWizard.trafficType.management=Management\: Traffico di rete tra le risorse interne di CloudStack, incluso qualsiasi componente che comunichi con il Management Server, come ad esempio gli host e le VM di Sistema di CloudStack label.zoneWizard.trafficType.public=Public\: Traffico di rete tra la rete internet e le virtual machine nell\\'infrastruttura cloud. label.zoneWizard.trafficType.storage=Storage\: Traffico di rete tra i server di primary e secondary storage, come ad esempio i template delle VM e le operazioni di snapshot message.acquire.new.ip=Si prega di confermare di voler acquisire un nuovo indirizzo IP per questa rete. diff --git a/client/WEB-INF/classes/resources/messages_ja.properties b/client/WEB-INF/classes/resources/messages_ja.properties index e4ea7944048..e483a97804b 100644 --- a/client/WEB-INF/classes/resources/messages_ja.properties +++ b/client/WEB-INF/classes/resources/messages_ja.properties @@ -785,7 +785,7 @@ label.os.preference=OS \u57fa\u672c\u8a2d\u5b9a label.os.type=OS \u306e\u7a2e\u985e label.owned.public.ips=\u6240\u6709\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9 label.owner.account=\u6240\u6709\u8005\u30a2\u30ab\u30a6\u30f3\u30c8 -label.owner.domain=\u00e6\u0089\u0080\u00e6\u009c\u0089\u00e8\u0080\u0085\u00e3\u0083\u0089\u00e3\u0083\u00a1\u00e3\u0082\u00a4\u00e3\u0083\u00b3 +label.owner.domain=\u00e6\u0089\u0080\u00e6\u009c\u0089\u00e8\u0080 label.parent.domain=\u89aa\u30c9\u30e1\u30a4\u30f3 label.password.enabled=\u30d1\u30b9\u30ef\u30fc\u30c9\u7ba1\u7406\u6709\u52b9 label.password=\u30d1\u30b9\u30ef\u30fc\u30c9 @@ -1125,7 +1125,6 @@ label.zone.type=\u30be\u30fc\u30f3\u306e\u7a2e\u985e label.zone=\u30be\u30fc\u30f3 label.zone.wide=\u30be\u30fc\u30f3\u5168\u4f53 label.zoneWizard.trafficType.guest=\u30b2\u30b9\u30c8\: \u30a8\u30f3\u30c9\u30e6\u30fc\u30b6\u30fc\u4eee\u60f3\u30de\u30b7\u30f3\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af -label.zoneWizard.trafficType.management=\u7ba1\u7406\: \u30db\u30b9\u30c8\u3084\u30b7\u30b9\u30c6\u30e0VM\u306a\u3069\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u3059\u308b\u3042\u3089\u3086\u308b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u542b\u3081\u305f\u3001CloudStack\u5185\u90e8\u306e\u30ea\u30bd\u30fc\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af label.zoneWizard.trafficType.public=\u30d1\u30d6\u30ea\u30c3\u30af\: \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u30af\u30e9\u30a6\u30c9\u5185\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af label.zoneWizard.trafficType.storage=\u30b9\u30c8\u30ec\u30fc\u30b8\: VM\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3068\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u3088\u3046\u306a\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u3068\u30bb\u30ab\u30f3\u30c0\u30ea\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30fc\u30d0\u30fc\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3002 managed.state=\u7ba1\u7406\u5bfe\u8c61\u72b6\u614b @@ -1214,7 +1213,6 @@ message.add.load.balancer=\u30be\u30fc\u30f3\u306b\u8ca0\u8377\u5206\u6563\u88c5 message.add.load.balancer.under.ip=\u8ca0\u8377\u5206\u6563\u898f\u5247\u304c\u6b21\u306e IP \u30a2\u30c9\u30ec\u30b9\u306b\u5bfe\u3057\u3066\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\: message.add.network=\u30be\u30fc\u30f3 \u306b\u65b0\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8ffd\u52a0\u3057\u307e\u3059 message.add.new.gateway.to.vpc=\u3053\u306e VPC \u306b\u65b0\u3057\u3044\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306e\u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -message.add.pod.during.zone.creation=\u5404\u30be\u30fc\u30f3\u306b\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30dd\u30c3\u30c9\u306f\u30db\u30b9\u30c8\u3068\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u304c\u3001\u3053\u308c\u3089\u306f\u5f8c\u306e\u624b\u9806\u3067\u8ffd\u52a0\u3057\u307e\u3059\u3002\u6700\u521d\u306b\u3001CloudStack \u306e\u5185\u90e8\u7ba1\u7406\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u4e88\u7d04\u3057\u307e\u3059\u3002IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306f\u3001\u30af\u30e9\u30a6\u30c9\u5185\u306e\u5404\u30be\u30fc\u30f3\u3067\u91cd\u8907\u3057\u306a\u3044\u3088\u3046\u306b\u4e88\u7d04\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 message.add.pod=\u30be\u30fc\u30f3 \u306b\u65b0\u3057\u3044\u30dd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059 message.add.primary.storage=\u30be\u30fc\u30f3 \u306e\u30dd\u30c3\u30c9 \u306b\u65b0\u3057\u3044\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u307e\u3059 message.add.primary=\u65b0\u3057\u3044\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 @@ -1275,7 +1273,6 @@ message.delete.VPN.gateway=\u3053\u306e VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4 message.desc.advanced.zone=\u3088\u308a\u6d17\u7df4\u3055\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6280\u8853\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u3088\u308a\u67d4\u8edf\u306b\u30b2\u30b9\u30c8\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5b9a\u7fa9\u3057\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3001VPN\u3001\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u306e\u30b5\u30dd\u30fc\u30c8\u306e\u3088\u3046\u306a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u63d0\u4f9b\u3067\u304d\u307e\u3059\u3002 message.desc.basic.zone=\u5404 VM \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b IP \u30a2\u30c9\u30ec\u30b9\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u76f4\u63a5\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u3001\u5358\u4e00\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 (\u9001\u4fe1\u5143 IP \u30a2\u30c9\u30ec\u30b9\u306e\u30d5\u30a3\u30eb\u30bf\u30fc) \u306e\u3088\u3046\u306a\u30ec\u30a4\u30e4\u30fc 3 \u30ec\u30d9\u30eb\u306e\u65b9\u6cd5\u3067\u30b2\u30b9\u30c8\u3092\u5206\u96e2\u3067\u304d\u307e\u3059\u3002 message.desc.cluster=\u5404\u30dd\u30c3\u30c9\u306b\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30af\u30e9\u30b9\u30bf\u30fc\u306f\u30db\u30b9\u30c8\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u65b9\u6cd5\u3067\u3059\u30021 \u3064\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u306f\u3059\u3079\u3066\u540c\u4e00\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304b\u3089\u69cb\u6210\u3055\u308c\u3001\u540c\u3058\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u5b9f\u884c\u3057\u3001\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u308a\u3001\u540c\u3058\u5171\u6709\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30db\u30b9\u30c8\u3068 1 \u3064\u4ee5\u4e0a\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002 -message.desc.host=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30b2\u30b9\u30c8 VM \u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u30db\u30b9\u30c8 (\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc) \u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002CloudStack \u3067\u30db\u30b9\u30c8\u3092\u6a5f\u80fd\u3055\u305b\u308b\u306b\u306f\u3001\u30db\u30b9\u30c8\u306b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066 IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u3001\u30db\u30b9\u30c8\u304c CloudStack \u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u30db\u30b9\u30c8\u306e DNS \u540d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9\u3001\u30e6\u30fc\u30b6\u30fc\u540d (\u901a\u5e38\u306f root) \u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3001\u304a\u3088\u3073\u30db\u30b9\u30c8\u306e\u5206\u985e\u306b\u4f7f\u7528\u3059\u308b\u30e9\u30d9\u30eb\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.desc.primary.storage=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u3001\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u3059\u3079\u3066\u306e VM \u306e\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u57fa\u790e\u3068\u306a\u308b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u3001\u6a19\u6e96\u306b\u6e96\u62e0\u3057\u305f\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.desc.secondary.storage=\u5404\u30be\u30fc\u30f3\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001NFS \u3064\u307e\u308a\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f VM \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3001ISO \u30a4\u30e1\u30fc\u30b8\u3001\u304a\u3088\u3073VM \u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306f\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30db\u30b9\u30c8\u3067\u4f7f\u7528\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

IP \u30a2\u30c9\u30ec\u30b9\u3068\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30d1\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.desc.zone=\u30be\u30fc\u30f3\u306f CloudStack \u74b0\u5883\u5185\u306e\u6700\u5927\u306e\u7d44\u7e54\u5358\u4f4d\u3067\u3001\u901a\u5e38\u3001\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\u30be\u30fc\u30f3\u306b\u3088\u3063\u3066\u7269\u7406\u7684\u306a\u5206\u96e2\u3068\u5197\u9577\u6027\u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u30be\u30fc\u30f3\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9 (\u5404\u30dd\u30c3\u30c9\u306f\u30db\u30b9\u30c8\u3068\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059) \u3068\u3001\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30dd\u30c3\u30c9\u3067\u5171\u6709\u3055\u308c\u308b\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002 @@ -1347,7 +1344,7 @@ message.migrate.instance.to.ps=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9 message.migrate.router.confirm=\u30eb\u30fc\u30bf\u30fc\u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.migrate.systemvm.confirm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.migrate.volume=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u79fb\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? -message.new.user=\u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0081\u00ab\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084\u00e3\u0083\u00a6\u00e3\u0083\u00bc\u00e3\u0082\u00b6\u00e3\u0083\u00bc\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e8\u00a8\u00ad\u00e5\u00ae\u009a\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084 +message.new.user=\u00e3\u0082\u00a2\u00e3\u0082\u00ab\u00e3\u0082\u00a6\u00e3\u0083\u00b3\u00e3\u0083\u0088\u00e3\u0081\u00ab\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084\u00e3\u0083\u00a6\u00e3\u0083\u00bc\u00e3\u0082\u00b6\u00e3\u0083\u00bc\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083 message.no.network.support.configuration.not.true=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u304c\u6709\u52b9\u306a\u30be\u30fc\u30f3\u304c\u7121\u3044\u305f\u3081\u3001\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u624b\u9806 5. \u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 message.no.network.support=\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3068\u3057\u3066 vSphere \u3092\u9078\u629e\u3057\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u306b\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u624b\u9806 5. \u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002 message.no.projects.adminOnly=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\u7ba1\u7406\u8005\u306b\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210\u3092\u4f9d\u983c\u3057\u3066\u304f\u3060\u3055\u3044\u3002 @@ -1397,7 +1394,6 @@ message.step.3.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30c7\u30a3\u30b9\u message.step.3.desc= message.step.4.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 message.step.4.desc=\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u63a5\u7d9a\u3059\u308b\u30d7\u30e9\u30a4\u30de\u30ea \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -message.storage.traffic=\u30db\u30b9\u30c8\u3084 CloudStack \u30b7\u30b9\u30c6\u30e0 VM \u306a\u3069\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u3059\u308b CloudStack \u306e\u5185\u90e8\u30ea\u30bd\u30fc\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3067\u3059\u3002\u3053\u3053\u3067\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 message.suspend.project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4e00\u6642\u505c\u6b62\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.template.desc=VM \u306e\u8d77\u52d5\u306b\u4f7f\u7528\u3067\u304d\u308b OS \u30a4\u30e1\u30fc\u30b8 message.tooltip.dns.1=\u30be\u30fc\u30f3\u5185\u306e VM \u3067\u4f7f\u7528\u3059\u308b DNS \u30b5\u30fc\u30d0\u30fc\u306e\u540d\u524d\u3067\u3059\u3002\u30be\u30fc\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u3001\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u901a\u4fe1\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 @@ -1422,8 +1418,8 @@ message.Zone.creation.complete=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\ message.zone.creation.complete.would.you.like.to.enable.this.zone=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u306e\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? message.zone.no.network.selection=\u9078\u629e\u3057\u305f\u30be\u30fc\u30f3\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3002 message.zone.step.1.desc=\u30be\u30fc\u30f3\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -message.zone.step.2.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Zone\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e5\u0085\u00a5\u00e5\u008a\u009b\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 -message.zone.step.3.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Pod\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083\u0085\u00e5\u00a0\u00b1\u00e3\u0082\u0092\u00e5\u0085\u00a5\u00e5\u008a\u009b\u00e3\u0081\u0097\u00e3\u0081\u00a6\u00e3\u0081\u008f\u00e3\u0081\u00a0\u00e3\u0081\u0095\u00e3\u0081\u0084\u00e3\u0080\u0082 +message.zone.step.2.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Zone\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083 +message.zone.step.3.desc=\u00e6\u0096\u00b0\u00e3\u0081\u0097\u00e3\u0081\u0084Pod\u00e3\u0082\u0092\u00e8\u00bf\u00bd\u00e5\u008a\u00a0\u00e3\u0081\u0099\u00e3\u0082\u008b\u00e3\u0081\u009f\u00e3\u0082\u0081\u00e3\u0081\u00ab\u00e3\u0080\u0081\u00e6\u00ac\u00a1\u00e3\u0081\u00ae\u00e6\u0083 message.zoneWizard.enable.local.storage=\u8b66\u544a\: \u3053\u306e\u30be\u30fc\u30f3\u306e\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u6709\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u3001\u30b7\u30b9\u30c6\u30e0 VM \u306e\u8d77\u52d5\u5834\u6240\u306b\u5fdc\u3058\u3066\u6b21\u306e\u64cd\u4f5c\u304c\u5fc5\u8981\u3067\u3059\u3002

1. \u30b7\u30b9\u30c6\u30e0 VM \u3092\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u305f\u5f8c\u3067\u30be\u30fc\u30f3\u306b\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u7121\u52b9\u72b6\u614b\u306e\u30be\u30fc\u30f3\u3092\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u3082\u3042\u308a\u307e\u3059\u3002

2. \u30b7\u30b9\u30c6\u30e0 VM \u3092\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u8d77\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001system.vm.use.local.storage \u3092 true \u306b\u8a2d\u5b9a\u3057\u3066\u304b\u3089\u30be\u30fc\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002


\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? mode=\u30e2\u30fc\u30c9 network.rate=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901f\u5ea6 diff --git a/client/WEB-INF/classes/resources/messages_ko_KR.properties b/client/WEB-INF/classes/resources/messages_ko_KR.properties index 0a4f9903eb0..766fc607648 100644 --- a/client/WEB-INF/classes/resources/messages_ko_KR.properties +++ b/client/WEB-INF/classes/resources/messages_ko_KR.properties @@ -1194,7 +1194,6 @@ message.add.load.balancer.under.ip=\ub2e4\uc74c IP \uc8fc\uc18c\uc5d0 \ub300\ud5 message.add.load.balancer=Zone\uc5d0 \ub124\ud2b8\uc6cc\ud06c \ub85c\ub4dc \uacf5\uc720 \uc7a5\uce58\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. message.add.network=Zone \uc5d0 \uc0c8\ub85c\uc6b4 \ub124\ud2b8\uc6cc\ud06c\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. message.add.new.gateway.to.vpc=\ud604\uc7ac VPC\uc5d0 \uc0c8\ub85c\uc6b4 \uac8c\uc774\ud2b8\uc6e8\uc774\ub97c \ucd94\uac00\ud558\uae30 \uc704\ud55c \uc815\ubcf4\ub97c \uc9c0\uc815\ud574 \uc8fc\uc2ed\uc2dc\uc624. -message.add.pod.during.zone.creation=\uac01 Zone\uc5d0\ub294 \ud55c \uac1c \uc774\uc0c1 Pod\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc9c0\uae08 \uc5ec\uae30\uc11c \uccab\ubc88\uc9f8 Pod\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. Pod\ub294 \ud638\uc2a4\ud2b8\uc640 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\uc5d0\uc11c \uad6c\uc131\ud569\ub2c8\ub2e4\ub9cc \uc774\ub294 \ub2e4\uc74c \uc21c\uc11c\ub85c \ucd94\uac00\ud569\ub2c8\ub2e4. \ub9e8 \ucc98\uc74c CloudStack \ub0b4\ubd80 \uad00\ub9ac \ud2b8\ub798\ud53d\uc744 \uc704\ud574\uc11c IP \uc8fc\uc18c \ubc94\uc704\ub97c \uc608\uc57d\ud569\ub2c8\ub2e4. IP \uc8fc\uc18c \ubc94\uc704\ub294 \ud074\ub77c\uc6b0\ub4dc \ub0b4\ubd80 \uac01 Zone\uc5d0\uc11c \uc911\ubcf5 \ud558\uc9c0 \uc54a\uac8c \uc608\uc57d\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. message.add.pod=Zone \uc5d0 \uc0c8\ub85c\uc6b4 Pod\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. message.add.primary.storage=Zone Pod \uc5d0 \uc0c8\ub85c\uc6b4 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. message.add.primary=\uc0c8\ub85c\uc6b4 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0\ub97c \ucd94\uac00\ud558\uae30 \uc704\ud574 \uc544\ub798 \ud30c\ub77c\ubbf8\ud130\ub97c \uc9c0\uc815\ud574 \uc8fc\uc2ed\uc2dc\uc624. @@ -1254,7 +1253,6 @@ message.delete.VPN.gateway=\ud604\uc7ac VPN \uac8c\uc774\ud2b8\uc6e8\uc774\ub97c message.desc.advanced.zone=\ubcf4\ub2e4 \uc138\ub828\ub41c \ub124\ud2b8\uc6cc\ud06c \uae30\uc220\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc774 \ub124\ud2b8\uc6cc\ud06c \ubaa8\ub378\uc744 \uc120\ud0dd\ud558\uba74, \ubcf4\ub2e4 \uc720\uc5f0\ud558\uac8c \uac8c\uc2a4\ud2b8 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc815\ud558\uace0 \ubc29\ud654\ubcbd(fire wall), VPN, \ub124\ud2b8\uc6cc\ud06c \ub85c\ub4dc \uacf5\uc720 \uc7a5\uce58 \uae30\uc220 \uc9c0\uc6d0\uc640 \uac19\uc740 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud55c \ub124\ud2b8\uc6cc\ud06c \uc81c\uacf5\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. message.desc.basic.zone=\uac01 VM \uc778\uc2a4\ud134\uc2a4\uc5d0 IP \uc8fc\uc18c\uac00 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc9c1\uc811 \ud560\ub2f9\ud560 \uc218 \uc788\ub294 \ub2e8\uc77c \ub124\ud2b8\uc6cc\ud06c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ubcf4\uc548 \uadf8\ub8f9 (\uc804\uc1a1\uc6d0 IP \uc8fc\uc18c \ud544\ud130)\uacfc \uac19\uc740 \uce35 \uc138 \uac00\uc9c0 \ub808\ubca8 \ubc29\ubc95\uc73c\ub85c \uac8c\uc2a4\ud2b8\ub97c \ubd84\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. message.desc.cluster=\uac01 Pod\uc5d0\ub294 \ud55c \uac1c \uc774\uc0c1 \ud074\ub7ec\uc2a4\ud130\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc9c0\uae08 \uc5ec\uae30\uc11c \ucd5c\ucd08 \ud074\ub7ec\uc2a4\ud130\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. \ud074\ub7ec\uc2a4\ud130\ub294 \ud638\uc2a4\ud2b8\ub97c \uadf8\ub8f9\ud654 \ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \ud55c \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80 \ud638\uc2a4\ud2b8\ub294 \ubaa8\ub450 \ub3d9\uc77c\ud55c \ud558\ub4dc\uc6e8\uc5b4\uc5d0\uc11c \uad6c\uc131\ub418\uc5b4 \uac19\uc740 \ud558\uc774\ud37c \ubc14\uc774\uc800\ub97c \uc2e4\ud589\ud558\uace0 \uac19\uc740 \uc11c\ube0c \ub124\ud2b8\uc6cc\ud06c\uc0c1\uc5d0 \uc788\uc5b4 \uac19\uc740 \uacf5\uc720 \uc2a4\ud1a0\ub9ac\uc9c0\uc5d0 \uc811\uadfc \ud569\ub2c8\ub2e4. \uac01 \ud074\ub7ec\uc2a4\ud130\ub294 \ud55c \uac1c \uc774\uc0c1 \ud638\uc2a4\ud2b8\uc640 \ud55c \uac1c \uc774\uc0c1 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\uc5d0\uc11c \uad6c\uc131\ub429\ub2c8\ub2e4. -message.desc.host=\uac01 \ud074\ub7ec\uc2a4\ud130\uc5d0\ub294 \uc801\uc5b4\ub3c4 \ud55c \uac1c \uc774\uc0c1 \uac8c\uc2a4\ud2b8 VM\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud55c \ud638\uc2a4\ud2b8 (\ucef4\ud4e8\ud130)\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc9c0\uae08 \uc5ec\uae30\uc11c \uccab\ubc88\uc9f8 \ud638\uc2a4\ud2b8\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. CloudStack\uc73c\ub85c \ud638\uc2a4\ud2b8\ub97c \ub3d9\uc791\ud558\ub824\uba74 \ud638\uc2a4\ud2b8\uc5d0\uac8c \ud558\uc774\ud37c \ubc14\uc774\uc800\ub97c \uc124\uce58\ud558\uace0 IP \uc8fc\uc18c\ub97c \ud560\ub2f9\ud574 \ud638\uc2a4\ud2b8\uac00 CloudStack \uad00\ub9ac \uc11c\ubc84\uc5d0 \uc811\uc18d\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.

\ud638\uc2a4\ud2b8 DNS \uba85 \ub610\ub294 IP \uc8fc\uc18c, \uc0ac\uc6a9\uc790\uba85(\uc6d0\ub798 root)\uacfc \uc554\ud638 \ubc0f \ud638\uc2a4\ud2b8 \ubd84\ub958\uc5d0 \uc0ac\uc6a9\ud558\ub294 \ub77c\ubca8\uc744 \uc785\ub825\ud574 \uc8fc\uc2ed\uc2dc\uc624. message.desc.primary.storage=\uac01 \ud074\ub7ec\uc2a4\ud130\uc5d0\ub294 \uc801\uc5b4\ub3c4 \ud55c \uac1c \uc774\uc0c1\uc758 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc9c0\uae08 \uc5ec\uae30\uc11c \uccab\ubc88\uc9f8 \uc11c\ubc84\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0\ub294 \ud074\ub7ec\uc2a4\ud130 \ub0b4 \ubd80 \ud638\uc2a4\ud2b8\uc0c1\uc5d0\uc11c \ub3d9\uc791\ud558\ub294 \ubaa8\ub4e0 VM \ub514\uc2a4\ud06c \ubcfc\ub968\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \ud558\uc774\ud37c \ubc14\uc774\uc800\uc5d0\uc11c \uae30\uc220 \uc9c0\uc6d0\ub418\ub294 \ud45c\uc900\uc5d0 \uc900\uac70\ud55c \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uc8fc\uc2ed\uc2dc\uc624. message.desc.secondary.storage=\uac01 Zone\uc5d0\ub294 \uc801\uc5b4\ub3c4 \ud55c \uac1c \uc774\uc0c1\uc758 NFS \uc989 2\ucc28 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc9c0\uae08 \uc5ec\uae30\uc11c \uccab\ubc88\uc9f8 \uc11c\ubc84\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. 2\ucc28 \uc2a4\ud1a0\ub9ac\uc9c0\ub294 VM \ud15c\ud50c\ub9bf, ISO \uc774\ubbf8\uc9c0 \ubc0f VM \ub514\uc2a4\ud06c \ubcfc\ub968 \uc2a4\ub0c5\uc0f7\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \uc774 \uc11c\ubc84\ub294 Zone\ub0b4 \ubaa8\ub4e0 \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

IP \uc8fc\uc18c\uc640 \ub0b4\ubcf4\ub0b4\ub0bc \uacbd\ub85c\ub97c \uc785\ub825\ud574 \uc8fc\uc2ed\uc2dc\uc624. message.desc.zone=Zone\uc740 CloudStack \ud658\uacbd\ub0b4 \ucd5c\ub300 \uc870\uc9c1 \ub2e8\uc704\ub85c \uc6d0\ub798 \ub2e8\uc77c \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ud574\ub2f9\ud569\ub2c8\ub2e4. Zone\uc5d0 \ud574\uc11c \ubb3c\ub9ac\uc801\uc778 \ubd84\ub9ac\uc640 \uc911\ubcf5\uc131\uc774 \uc81c\uacf5\ub429\ub2c8\ub2e4. Zone\uc740 \ud55c \uac1c \uc774\uc0c1 Pod( \uac01 Pod\ub294 \ud638\uc2a4\ud2b8\uc640 \uae30\ubcf8 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\uc5d0\uc11c \uad6c\uc131)\uc640 Zone\ub0b4 \ubaa8\ub4e0 Pod\ub85c \uacf5\uc720\ub418\ub294 2\ucc28 \uc2a4\ud1a0\ub9ac\uc9c0 \uc11c\ubc84\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. @@ -1382,7 +1380,6 @@ message.step.3.continue=\uc2e4\ud589\ud558\ub824\uba74 \ub514\uc2a4\ud06c\uc81c\ message.step.3.desc= message.step.4.continue=\uc2e4\ud589\ud558\ub824\uba74 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc801\uc5b4\ub3c4 \ud55c \uac1c \uc774\uc0c1 \uc120\ud0dd\ud574 \uc8fc\uc2ed\uc2dc\uc624. message.step.4.desc=\uac00\uc0c1 \uc778\uc2a4\ud134\uc2a4\uac00 \uc811\uc18d\ud558\ub294 \uae30\ubcf8 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc120\ud0dd\ud574 \uc8fc\uc2ed\uc2dc\uc624. -message.storage.traffic=\ud638\uc2a4\ud2b8\ub098 CloudStack \uc2dc\uc2a4\ud15c VM \ub4f1 \uad00\ub9ac \uc11c\ubc84\uc640 \ud1b5\uc2e0\ud558\ub294 CloudStack \ub0b4\ubd80 \uc790\uc6d0\uac04 \ud2b8\ub798\ud53d\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc11c \uc2a4\ud1a0\ub9ac\uc9c0 \ud2b8\ub798\ud53d\uc744 \uad6c\uc131\ud574 \uc8fc\uc2ed\uc2dc\uc624. message.suspend.project=\ud604\uc7ac \ud504\ub85c\uc81d\ud2b8\ub97c \uc77c\uc2dc\uc815\uc9c0\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? message.template.desc=VM\uc758 \uc2dc\uc791\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 OS \uc774\ubbf8\uc9c0 message.tooltip.dns.1=Zone\ub0b4 VM \ub85c \uc0ac\uc6a9\ud558\ub294 DNS \uc11c\ubc84 \uc774\ub984\uc785\ub2c8\ub2e4. Zone \uacf5\uac1c IP \uc8fc\uc18c\uc5d0\uc11c \uc774 \uc11c\ubc84\uc5d0 \ud1b5\uc2e0\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties index 780b844c0b7..23123c16764 100644 --- a/client/WEB-INF/classes/resources/messages_pt_BR.properties +++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties @@ -1113,7 +1113,6 @@ label.zones=Zonas label.zone.type=Tipo de Zona label.zone.wide=Zone-Wide label.zoneWizard.trafficType.guest=H\u00f3spede\: tr\u00e1fego entre m\u00e1quinas virtuais de usu\u00e1rios finais -label.zoneWizard.trafficType.management=Ger\u00eancia\: tr\u00e1fego entre recursos internos do CloudStack, incluindo quaisquer componentes que se comunicam com o servidor de gerenciamento, tais como hosts e m\u00e1quinas virtuais de sistema do CloudStack label.zoneWizard.trafficType.public=P\u00fablico\: tr\u00e1fego entre a internet e m\u00e1quinas virtuais na nuvem. label.zoneWizard.trafficType.storage=Storage\: tr\u00e1fego entre servidores de storage prim\u00e1ria e secund\u00e1ria, tais como templates de m\u00e1quinas virtuais e snapshots label.zone=Zona diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties index 5f492c07329..5818abc9199 100644 --- a/client/WEB-INF/classes/resources/messages_ru_RU.properties +++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties @@ -1131,7 +1131,6 @@ message.additional.networks.desc=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u044 message.add.load.balancer=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0437\u043e\u043d\u0443 message.add.load.balancer.under.ip=\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 IP\: message.add.network=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0437\u043e\u043d\u044b\: -message.add.pod.during.zone.creation=\u041a\u0430\u0436\u0434\u0430\u044f \u0437\u043e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0435\u043d\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u043c. \u0421\u0442\u0435\u043d\u0434 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u0437\u043b\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0448\u0430\u0433\u0435. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IP \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0445 IP \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u043e\u043d\u044b \u043e\u0431\u043b\u0430\u043a\u0430. message.add.pod=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u0434\u043b\u044f \u0437\u043e\u043d\u044b message.add.primary.storage=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0437\u043e\u043d\u044b , \u0441\u0442\u0435\u043d\u0434\u0430 message.add.primary=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 @@ -1186,7 +1185,6 @@ message.delete.user=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442 message.desc.advanced.zone=\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0439. \u042d\u0442\u0430 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u043b\u0443\u0433, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d, VPN, \u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438. message.desc.basic.zone=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0434\u0438\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0412\u041c \u0438\u043c\u0435\u0435\u0442 \u00ab\u0431\u0435\u043b\u044b\u0439\u00bb IP-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0442\u0438. \u0418\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0433\u043e\u0441\u0442\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0435\u0442\u0438 3-\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0433\u0440\u0443\u043f\u043f\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 (\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f IP-\u0432\u0434\u0440\u0435\u0441\u043e\u0432) message.desc.cluster=\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435. \u041a\u043b\u0430\u0441\u0442\u0435\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u0443 \u0443\u0437\u043b\u043e\u0432. \u0423\u0437\u043b\u044b \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u0438\u043d \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440, \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0438 \u0438\u043c\u0435\u044e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438 \u0442\u043e\u043c\u0443 \u0436\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0443\u0437\u043b\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0435\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449. -message.desc.host=\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b (\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440) \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0412\u041c, \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0432\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0443\u0437\u043b\u0430 \u0432 CloudStack \u0432\u0430\u0436\u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 \u043d\u0430 \u0443\u0437\u0435\u043b, \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 IP \u043a \u0443\u0437\u043b\u0443 \u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0437\u043b\u0430 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f CloudStack.

\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043c\u044f DNS \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 IP, \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u041e\u0421 (\u043e\u0431\u044b\u0447\u043d\u043e root), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0437\u043b\u043e\u0432. message.desc.primary.storage=\u041a\u0430\u0436\u0434\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0439\u0447\u0430\u0441. \u041f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0443\u0437\u043b\u0430\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043b\u044e\u0431\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430. message.desc.secondary.storage=\u041a\u0430\u0436\u0434\u0430\u044f \u0437\u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c NFS \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0438 \u0438\u0445 \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0412\u041c, \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ISO \u0438 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0412\u041c. \u042d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u043e\u0432 \u0437\u043e\u043d\u044b.

\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c IP-\u0430\u0434\u0440\u0435\u0441 \u0438 \u043f\u0443\u0442\u044c. message.desc.zone=layer 3 @@ -1311,7 +1309,6 @@ message.step.3.continue=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\ message.step.3.desc= message.step.4.continue=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f. message.step.4.desc=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430. -message.storage.traffic=\u0422\u0440\u0430\u0444\u0438\u043a \u043c\u0435\u0436\u0434\u0443 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 CloudStack, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0445\u043e\u0441\u0442\u044b \u0438 CloudStack \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0442\u0440\u0430\u0444\u0438\u043a \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u0434\u0435\u0441\u044c. message.suspend.project=\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442? message.template.desc=\u041e\u0431\u0440\u0430\u0437 \u041e\u0421, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0439 \u0432 \u0412\u041c message.tooltip.dns.1=\u0418\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 DNS \u0434\u043b\u044f \u0412\u041c \u044d\u0442\u043e\u0439 \u0437\u043e\u043d\u044b. \u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u044d\u0442\u043e\u0439 \u0437\u043e\u043d\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties index c842979eb12..687ef60b3c1 100644 --- a/client/WEB-INF/classes/resources/messages_zh_CN.properties +++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties @@ -1165,7 +1165,6 @@ label.zone.type=\u533a\u57df\u7c7b\u578b label.zone=\u533a\u57df label.zone.wide=\u6574\u4e2a\u533a\u57df label.zoneWizard.trafficType.guest=\u6765\u5bbe\u7f51\u7edc\: \u5ba2\u6237\u865a\u62df\u673a\u4e4b\u95f4\u7684\u7f51\u7edc\u6d41\u91cf -label.zoneWizard.trafficType.management=\u7ba1\u7406\u7f51\: CloudStack\u5185\u90e8\u8d44\u6e90\u4e4b\u95f4\u7684\u7f51\u7edc\u6d41\u91cf, \u5305\u62ec\u4e0e\u7ba1\u7406\u670d\u52a1\u5668\u4ea4\u4e92\u7684\u4efb\u4f55\u7ec4\u4ef6, \u6bd4\u5982\u4e3b\u673a\u548cCloudStack\u7cfb\u7edf\u865a\u62df\u673a label.zoneWizard.trafficType.public=\u516c\u5171\u7f51\u7edc\: \u4e91\u73af\u5883\u4e2d\u865a\u62df\u673a\u4e0e\u56e0\u7279\u7f51\u4e4b\u95f4\u7684\u7f51\u7edc\u6d41\u91cf. label.zoneWizard.trafficType.storage=\u5b58\u50a8\u7f51\: \u4e3b\u5b58\u50a8\u4e0e\u4e8c\u7ea7\u5b58\u50a8\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u6d41\u91cf, \u6bd4\u5982\u865a\u673a\u6a21\u677f\u548c\u5feb\u7167 managed.state=\u6258\u7ba1\u72b6\u6001 @@ -1256,7 +1255,6 @@ message.add.load.balancer=\u5411\u533a\u57df\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u8d1f message.add.load.balancer.under.ip=\u5df2\u5728\u4ee5\u4e0b IP \u4e0b\u6dfb\u52a0\u8d1f\u8f7d\u5e73\u8861\u5668\u89c4\u5219\: message.add.network=\u4e3a\u533a\u57df\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7f51\u7edc\: message.add.new.gateway.to.vpc=\u8bf7\u6307\u5b9a\u5c06\u65b0\u7f51\u5173\u6dfb\u52a0\u5230\u6b64 VPC \u6240\u9700\u7684\u4fe1\u606f\u3002 -message.add.pod.during.zone.creation=\u6bcf\u4e2a\u533a\u57df\u4e2d\u5fc5\u987b\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u63d0\u4f9b\u70b9\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u63d0\u4f9b\u70b9\u3002\u63d0\u4f9b\u70b9\u4e2d\u5305\u542b\u4e3b\u673a\u548c\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u60a8\u5c06\u5728\u968f\u540e\u7684\u67d0\u4e2a\u6b65\u9aa4\u4e2d\u6dfb\u52a0\u8fd9\u4e9b\u4e3b\u673a\u548c\u670d\u52a1\u5668\u3002\u9996\u5148\uff0c\u8bf7\u4e3a CloudStack \u7684\u5185\u90e8\u7ba1\u7406\u6d41\u91cf\u914d\u7f6e\u4e00\u4e2a\u9884\u7559 IP \u5730\u5740\u8303\u56f4\u3002\u9884\u7559\u7684 IP \u8303\u56f4\u5bf9\u4e91\u4e2d\u7684\u6bcf\u4e2a\u533a\u57df\u6765\u8bf4\u5fc5\u987b\u552f\u4e00\u3002 message.add.pod=\u4e3a\u533a\u57df \u6dfb\u52a0\u4e00\u4e2a\u65b0\u63d0\u4f9b\u70b9 message.add.primary.storage=\u4e3a\u533a\u57df \u3001\u63d0\u4f9b\u70b9 \u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684\u4e3b\u5b58\u50a8 message.add.primary=\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u53c2\u6570\u4ee5\u6dfb\u52a0\u4e00\u4e2a\u65b0\u4e3b\u5b58\u50a8 @@ -1318,7 +1316,6 @@ message.delete.VPN.gateway=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u966 message.desc.advanced.zone=\u9002\u7528\u4e8e\u66f4\u52a0\u590d\u6742\u7684\u7f51\u7edc\u62d3\u6251\u3002\u6b64\u7f51\u7edc\u6a21\u5f0f\u5728\u5b9a\u4e49\u6765\u5bbe\u7f51\u7edc\u5e76\u63d0\u4f9b\u9632\u706b\u5899\u3001VPN \u6216\u8d1f\u8f7d\u5e73\u8861\u5668\u652f\u6301\u7b49\u81ea\u5b9a\u4e49\u7f51\u7edc\u65b9\u6848\u65b9\u9762\u63d0\u4f9b\u4e86\u6700\u5927\u7684\u7075\u6d3b\u6027\u3002 message.desc.basic.zone=\u63d0\u4f9b\u4e00\u4e2a\u7f51\u7edc\uff0c\u5c06\u76f4\u63a5\u4ece\u6b64\u7f51\u7edc\u4e2d\u4e3a\u6bcf\u4e2a VM \u5b9e\u4f8b\u5206\u914d\u4e00\u4e2a IP\u3002\u53ef\u4ee5\u901a\u8fc7\u5b89\u5168\u7ec4\u7b49\u7b2c 3 \u5c42\u65b9\u5f0f\u63d0\u4f9b\u6765\u5bbe\u9694\u79bb(IP \u5730\u5740\u6e90\u8fc7\u6ee4)\u3002 message.desc.cluster=\u6bcf\u4e2a\u63d0\u4f9b\u70b9\u4e2d\u5fc5\u987b\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u96c6\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u7fa4\u96c6\u3002\u7fa4\u96c6\u63d0\u4f9b\u4e86\u4e00\u79cd\u7f16\u7ec4\u4e3b\u673a\u7684\u65b9\u6cd5\u3002\u7fa4\u96c6\u4e2d\u7684\u6240\u6709\u4e3b\u673a\u90fd\u5177\u6709\u76f8\u540c\u7684\u786c\u4ef6\uff0c\u8fd0\u884c\u76f8\u540c\u7684\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\uff0c\u4f4d\u4e8e\u76f8\u540c\u7684\u5b50\u7f51\u4e2d\uff0c\u5e76\u8bbf\u95ee\u76f8\u540c\u7684\u5171\u4eab\u5b58\u50a8\u3002\u6bcf\u4e2a\u7fa4\u96c6\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u673a\u4ee5\u53ca\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u7ec4\u6210\u3002 -message.desc.host=\u6bcf\u4e2a\u7fa4\u96c6\u4e2d\u5fc5\u987b\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u4e3b\u673a\u4ee5\u4f9b\u6765\u5bbe VM \u5728\u4e0a\u9762\u8fd0\u884c\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u4e3b\u673a\u3002\u8981\u4f7f\u4e3b\u673a\u5728 CloudStack \u4e2d\u8fd0\u884c\uff0c\u5fc5\u987b\u5728\u6b64\u4e3b\u673a\u4e0a\u5b89\u88c5\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u8f6f\u4ef6\uff0c\u4e3a\u5176\u5206\u914d\u4e00\u4e2a IP \u5730\u5740\uff0c\u5e76\u786e\u4fdd\u5c06\u5176\u8fde\u63a5\u5230 CloudStack \u7ba1\u7406\u670d\u52a1\u5668\u3002

\u8bf7\u63d0\u4f9b\u4e3b\u673a\u7684 DNS \u6216 IP \u5730\u5740\u3001\u7528\u6237\u540d(\u901a\u5e38\u4e3a root)\u548c\u5bc6\u7801\uff0c\u4ee5\u53ca\u7528\u4e8e\u5bf9\u4e3b\u673a\u8fdb\u884c\u5206\u7c7b\u7684\u4efb\u4f55\u6807\u7b7e\u3002 message.desc.primary.storage=\u6bcf\u4e2a\u7fa4\u96c6\u4e2d\u5fc5\u987b\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u3002\u4e3b\u5b58\u50a8\u4e2d\u5305\u542b\u5728\u7fa4\u96c6\u4e2d\u7684\u4e3b\u673a\u4e0a\u8fd0\u884c\u7684\u6240\u6709 VM \u7684\u78c1\u76d8\u5377\u3002\u8bf7\u4f7f\u7528\u5e95\u5c42\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u652f\u6301\u7684\u7b26\u5408\u6807\u51c6\u7684\u534f\u8bae\u3002 message.desc.secondary.storage=\u6bcf\u4e2a\u533a\u57df\u4e2d\u5fc5\u987b\u81f3\u5c11\u5305\u542b\u4e00\u4e2a NFS \u6216\u8f85\u52a9\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a NFS \u6216\u8f85\u52a9\u5b58\u50a8\u670d\u52a1\u5668\u3002\u8f85\u52a9\u5b58\u50a8\u7528\u4e8e\u5b58\u50a8 VM \u6a21\u677f\u3001ISO \u6620\u50cf\u548c VM \u78c1\u76d8\u5377\u5feb\u7167\u3002\u6b64\u670d\u52a1\u5668\u5fc5\u987b\u5bf9\u533a\u57df\u4e2d\u7684\u6240\u6709\u670d\u52a1\u5668\u53ef\u7528\u3002

\u8bf7\u63d0\u4f9b IP \u5730\u5740\u548c\u5bfc\u51fa\u8def\u5f84\u3002 message.desc.zone=\u533a\u57df\u662f CloudStack \u4e2d\u6700\u5927\u7684\u7ec4\u7ec7\u5355\u4f4d\uff0c\u4e00\u4e2a\u533a\u57df\u901a\u5e38\u4e0e\u4e00\u4e2a\u6570\u636e\u4e2d\u5fc3\u76f8\u5bf9\u5e94\u3002\u533a\u57df\u53ef\u63d0\u4f9b\u7269\u7406\u9694\u79bb\u548c\u5197\u4f59\u3002\u4e00\u4e2a\u533a\u57df\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u63d0\u4f9b\u70b9\u4ee5\u53ca\u7531\u533a\u57df\u4e2d\u7684\u6240\u6709\u63d0\u4f9b\u70b9\u5171\u4eab\u7684\u4e00\u4e2a\u8f85\u52a9\u5b58\u50a8\u670d\u52a1\u5668\u7ec4\u6210\uff0c\u5176\u4e2d\u6bcf\u4e2a\u63d0\u4f9b\u70b9\u4e2d\u5305\u542b\u591a\u4e2a\u4e3b\u673a\u548c\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u3002 @@ -1448,7 +1445,6 @@ message.step.3.continue=\u8bf7\u9009\u62e9\u4e00\u79cd\u78c1\u76d8\u65b9\u6848\u message.step.3.desc= message.step.4.continue=\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u4e2a\u7f51\u7edc\u4ee5\u7ee7\u7eed message.step.4.desc=\u8bf7\u9009\u62e9\u865a\u62df\u5b9e\u4f8b\u8981\u8fde\u63a5\u5230\u7684\u4e3b\u7f51\u7edc\u3002 -message.storage.traffic=CloudStack \u5185\u90e8\u8d44\u6e90(\u5305\u62ec\u4e0e\u7ba1\u7406\u670d\u52a1\u5668\u901a\u4fe1\u7684\u4efb\u4f55\u7ec4\u4ef6\uff0c\u4f8b\u5982\u4e3b\u673a\u548c CloudStack \u7cfb\u7edf VM)\u4e4b\u95f4\u7684\u6d41\u91cf\u3002\u8bf7\u5728\u6b64\u5904\u914d\u7f6e\u5b58\u50a8\u6d41\u91cf\u3002 message.suspend.project=\u662f\u5426\u786e\u5b9e\u8981\u6682\u505c\u6b64\u9879\u76ee? message.template.desc=\u53ef\u7528\u4e8e\u542f\u52a8 VM \u7684\u64cd\u4f5c\u7cfb\u7edf\u6620\u50cf message.tooltip.dns.1=\u4f9b\u533a\u57df\u4e2d\u7684 VM \u4f7f\u7528\u7684 DNS \u670d\u52a1\u5668\u540d\u79f0\u3002\u533a\u57df\u7684\u516c\u7528 IP \u5730\u5740\u5fc5\u987b\u8def\u7531\u5230\u6b64\u670d\u52a1\u5668\u3002 From a0dbf8909058dba202c057f5b9d589026399c6ef Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Mon, 29 Apr 2013 10:01:44 -0600 Subject: [PATCH 110/283] Look for null pointer on account id before trying to update usage when releasing an IP. This seems to be possible if expunge fails at some point after freeing an IP, on subsequent expunge tries the IP is freed already and gets null pointer when looking for account id. BUG-ID: CLOUDSTACK-2279 Bugfix-for: 4.1,4.2 Signed-off-by: Marcus Sorensen 1367251304 -0600 --- server/src/com/cloud/network/NetworkManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 7adcf07f044..4a8b38fbc7c 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2886,7 +2886,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L } // Save usage event - if (ip.getAllocatedToAccountId() != Account.ACCOUNT_ID_SYSTEM) { + if (ip.getAllocatedToAccountId() != null && ip.getAllocatedToAccountId() != Account.ACCOUNT_ID_SYSTEM) { VlanVO vlan = _vlanDao.findById(ip.getVlanId()); String guestType = vlan.getVlanType().toString(); From e7e862db2fd65ff913158f5287a4328f403b73ea Mon Sep 17 00:00:00 2001 From: Chip Childers Date: Mon, 29 Apr 2013 16:57:55 -0400 Subject: [PATCH 111/283] Adding tools/transifex/.tx/config to the rat exclude list Signed-off-by: Chip Childers --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 7d5b4c3bdef..be8aa62d038 100644 --- a/pom.xml +++ b/pom.xml @@ -398,6 +398,7 @@ patches/systemvm/debian/config/var/www/html/userdata/.htaccess patches/systemvm/debian/config/var/www/html/latest/.htaccess patches/systemvm/debian/vpn/etc/ipsec.d/l2tp.conf + tools/transifex/.tx/config From 85e73d18f563a1f114bcd08ab57bf44652d203da Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Thu, 11 Apr 2013 15:57:19 -0700 Subject: [PATCH 112/283] Refactor message bus facitlity to avoid confusing with event bus for external notification, planning to use it in VMSync --- client/tomcatconf/applicationContext.xml.in | 2 +- core/src/com/cloud/vm/VMInstanceVO.java | 1 - .../framework/client/ClientEventBus.java | 4 +-- .../MessageBus.java} | 8 ++--- .../MessageBusBase.java} | 32 +++++++++---------- .../MessageBusEndpoint.java} | 14 ++++---- .../MessageDispatcher.java} | 18 +++++------ .../MessageHandler.java} | 4 +-- .../MessageSubscriber.java} | 6 ++-- .../PublishScope.java | 2 +- .../framework/server/ServerEventBus.java | 4 +-- .../sampleserver/SampleManagerComponent.java | 12 +++---- .../sampleserver/SampleManagerComponent2.java | 12 +++---- .../vmware/manager/VmwareManagerImpl.java | 3 +- 14 files changed, 61 insertions(+), 61 deletions(-) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/EventBus.java => messagebus/MessageBus.java} (83%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/EventBusBase.java => messagebus/MessageBusBase.java} (88%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/EventBusEndpoint.java => messagebus/MessageBusEndpoint.java} (77%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/EventDispatcher.java => messagebus/MessageDispatcher.java} (83%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/EventHandler.java => messagebus/MessageHandler.java} (92%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus/Subscriber.java => messagebus/MessageSubscriber.java} (83%) rename framework/ipc/src/org/apache/cloudstack/framework/{eventbus => messagebus}/PublishScope.java (94%) diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 1f5ab20333a..2e340bfbfab 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -82,7 +82,7 @@ - + + + + + + + + org.apache.cloudstack.framework + + + + + + + + + + + + + From e7f4bfe1b8277f33e663c31744bc9f30d150fdbf Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Mon, 29 Apr 2013 18:15:09 -0600 Subject: [PATCH 114/283] Fix NPE in the planner, in the case that pool ID cannot be looked up in database when deploying a VM BUG-ID: CLOUdSTACK-2281 Bugfix-for: 4.2 Reviewed-by: Prachi Damle Signed-off-by: Marcus Sorensen 1367280909 -0600 --- .../src/com/cloud/deploy/FirstFitPlanner.java | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/server/src/com/cloud/deploy/FirstFitPlanner.java b/server/src/com/cloud/deploy/FirstFitPlanner.java index 2e7e9f6128f..e8504a991c1 100755 --- a/server/src/com/cloud/deploy/FirstFitPlanner.java +++ b/server/src/com/cloud/deploy/FirstFitPlanner.java @@ -731,37 +731,43 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { //If the plan specifies a poolId, it means that this VM's ROOT volume is ready and the pool should be reused. //In this case, also check if rest of the volumes are ready and can be reused. if(plan.getPoolId() != null){ - s_logger.debug("Volume has pool already allocated, checking if pool can be reused, poolId: "+toBeCreated.getPoolId()); + s_logger.debug("Volume has pool(" + plan.getPoolId() + ") already allocated, checking if pool can be reused, poolId: "+toBeCreated.getPoolId()); List suitablePools = new ArrayList(); StoragePool pool = null; if(toBeCreated.getPoolId() != null){ + s_logger.debug("finding pool by id '" + toBeCreated.getPoolId() + "'"); pool = (StoragePool)this.dataStoreMgr.getPrimaryDataStore(toBeCreated.getPoolId()); }else{ + s_logger.debug("finding pool by id '" + plan.getPoolId() + "'"); pool = (StoragePool)this.dataStoreMgr.getPrimaryDataStore(plan.getPoolId()); } - if(!pool.isInMaintenance()){ - if(!avoid.shouldAvoid(pool)){ - long exstPoolDcId = pool.getDataCenterId(); + if(pool != null){ + if(!pool.isInMaintenance()){ + if(!avoid.shouldAvoid(pool)){ + long exstPoolDcId = pool.getDataCenterId(); - long exstPoolPodId = pool.getPodId() != null ? pool.getPodId() : -1; - long exstPoolClusterId = pool.getClusterId() != null ? pool.getClusterId() : -1; - if(plan.getDataCenterId() == exstPoolDcId && plan.getPodId() == exstPoolPodId && plan.getClusterId() == exstPoolClusterId){ - s_logger.debug("Planner need not allocate a pool for this volume since its READY"); - suitablePools.add(pool); - suitableVolumeStoragePools.put(toBeCreated, suitablePools); - if (!(toBeCreated.getState() == Volume.State.Allocated || toBeCreated.getState() == Volume.State.Creating)) { - readyAndReusedVolumes.add(toBeCreated); + long exstPoolPodId = pool.getPodId() != null ? pool.getPodId() : -1; + long exstPoolClusterId = pool.getClusterId() != null ? pool.getClusterId() : -1; + if(plan.getDataCenterId() == exstPoolDcId && plan.getPodId() == exstPoolPodId && plan.getClusterId() == exstPoolClusterId){ + s_logger.debug("Planner need not allocate a pool for this volume since its READY"); + suitablePools.add(pool); + suitableVolumeStoragePools.put(toBeCreated, suitablePools); + if (!(toBeCreated.getState() == Volume.State.Allocated || toBeCreated.getState() == Volume.State.Creating)) { + readyAndReusedVolumes.add(toBeCreated); + } + continue; + }else{ + s_logger.debug("Pool of the volume does not fit the specified plan, need to reallocate a pool for this volume"); } - continue; }else{ - s_logger.debug("Pool of the volume does not fit the specified plan, need to reallocate a pool for this volume"); + s_logger.debug("Pool of the volume is in avoid set, need to reallocate a pool for this volume"); } }else{ - s_logger.debug("Pool of the volume is in avoid set, need to reallocate a pool for this volume"); + s_logger.debug("Pool of the volume is in maintenance, need to reallocate a pool for this volume"); } }else{ - s_logger.debug("Pool of the volume is in maintenance, need to reallocate a pool for this volume"); + s_logger.debug("Unable to find pool by provided id"); } } From 09af15035b9febe6f55e73a1389f950ab042564f Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Tue, 30 Apr 2013 14:13:51 +0530 Subject: [PATCH 115/283] CLOUDSTACK-2292: GSLB: server object need to be created when 'zone load balancer' is configured on different LB service provider creating a server object before creating GSLB service --- .../network/resource/NetscalerResource.java | 64 +++++++++++++++++-- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java index b82176b7e37..677bc785b2c 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java @@ -1211,6 +1211,18 @@ public class NetscalerResource implements ServerResource { try { gslbservice service; service = getServiceObject(client, serviceName); + String gslbServerName = generateGslbServerName(serviceIp); + + if (!gslbServerExists(client, gslbServerName)) { + base_response apiCallResult; + com.citrix.netscaler.nitro.resource.config.basic.server nsServer = new com.citrix.netscaler.nitro.resource.config.basic.server(); + nsServer.set_name(gslbServerName); + nsServer.set_ipaddress(serviceIp); + apiCallResult = com.citrix.netscaler.nitro.resource.config.basic.server.add(client, nsServer); + if ((apiCallResult.errorcode != 0) && (apiCallResult.errorcode != NitroError.NS_RESOURCE_EXISTS)) { + throw new ExecutionException("Failed to add server " + gslbServerName + " due to" + apiCallResult.message); + } + } boolean isUpdateSite = false; if (service == null) { @@ -1220,7 +1232,7 @@ public class NetscalerResource implements ServerResource { } service.set_sitename(siteName); - service.set_servername(serviceIp); + service.set_servername(gslbServerName); int port = Integer.parseInt(servicePort); service.set_port(port); service.set_servicename(serviceName); @@ -1236,7 +1248,7 @@ public class NetscalerResource implements ServerResource { s_logger.debug("Successfully created service: " + serviceName + " at site: " + siteName); } } catch (Exception e) { - String errMsg = "Failed to created service: " + serviceName + " at site: " + siteName; + String errMsg = "Failed to created service: " + serviceName + " at site: " + siteName + " due to " + e.getMessage(); if (s_logger.isDebugEnabled()) { s_logger.debug(errMsg); } @@ -1284,7 +1296,7 @@ public class NetscalerResource implements ServerResource { } } } catch (Exception e) { - String errMsg = "Failed to update service: " + serviceName + " at site: " + siteName; + String errMsg = "Failed to update service: " + serviceName + " at site: " + siteName + "due to " + e.getMessage(); if (s_logger.isDebugEnabled()) { s_logger.debug(errMsg); } @@ -1294,6 +1306,7 @@ public class NetscalerResource implements ServerResource { private static void createVserverServiceBinding(nitro_service client, String serviceName, String vserverName) throws ExecutionException { + String errMsg; try { gslbvserver_gslbservice_binding binding = new gslbvserver_gslbservice_binding(); binding.set_name(vserverName); @@ -1303,8 +1316,18 @@ public class NetscalerResource implements ServerResource { s_logger.debug("Successfully created service: " + serviceName + " and virtual server: " + vserverName + " binding"); } + } catch (nitro_exception ne) { + if (ne.getErrorCode() == 273) { + return; + } + errMsg = "Failed to create service: " + serviceName + " and virtual server: " + + vserverName + " binding due to " + ne.getMessage(); + if (s_logger.isDebugEnabled()) { + s_logger.debug(errMsg); + } + throw new ExecutionException(errMsg); } catch (Exception e) { - String errMsg = "Failed to create service: " + serviceName + " and virtual server: " + errMsg = "Failed to create service: " + serviceName + " and virtual server: " + vserverName + " binding due to " + e.getMessage(); if (s_logger.isDebugEnabled()) { s_logger.debug(errMsg); @@ -1437,6 +1460,39 @@ public class NetscalerResource implements ServerResource { private static String generateUniqueServiceName(String siteName, String publicIp, String publicPort) { return "cloud-gslb-service-" + siteName + "-" + publicIp + "-" + publicPort; } + + private static boolean gslbServerExists(nitro_service client, String serverName) throws ExecutionException { + try { + if (com.citrix.netscaler.nitro.resource.config.basic.server.get(client, serverName) != null) { + return true; + } else { + return false; + } + } catch (nitro_exception e) { + if (e.getErrorCode() == NitroError.NS_RESOURCE_NOT_EXISTS) { + return false; + } else { + throw new ExecutionException("Failed to verify Server " + serverName + " exists on the NetScaler device due to " + e.getMessage()); + } + } catch (Exception e) { + throw new ExecutionException("Failed to verify Server " + serverName + " exists on the NetScaler device due to " + e.getMessage()); + } + } + + private static String generateGslbServerName(String serverIP) { + return genGslbObjectName("Cloud-Server-", serverIP); + } + + private static String genGslbObjectName(Object... args) { + String objectName = ""; + for (int i = 0; i < args.length; i++) { + objectName += args[i]; + if (i != args.length -1) { + objectName += "-"; + } + } + return objectName; + } } From ac23f7aae645bea0ec7f64aefecb9a8bbc2327ad Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Tue, 30 Apr 2013 16:23:41 +0530 Subject: [PATCH 116/283] CLOUDSTACK-2296: Support for Windows 8 and Windows Server 2012 as VM Guest OS on Xenserver --- .../hypervisor/xen/resource/CitrixHelper.java | 3 +- setup/db/db/schema-410to420.sql | 35 +++++++++++-------- setup/db/templates.sql | 12 +++++++ .../vmware/util/VmwareGuestOsMapper.java | 14 ++++---- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java index 828a8279f9a..5bcec13acb5 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java @@ -648,7 +648,7 @@ public class CitrixHelper { _xenServer610GuestOsMap.put("Windows 7 (32-bit)", "Windows 7 (32-bit)"); _xenServer610GuestOsMap.put("Windows 7 (64-bit)", "Windows 7 (64-bit)"); _xenServer610GuestOsMap.put("Windows 8 (32-bit)", "Windows 8 (32-bit) (experimental)"); - _xenServer610GuestOsMap.put("Windows 8 (64-bit)", "Windows 7 (64-bit) (experimental)"); + _xenServer610GuestOsMap.put("Windows 8 (64-bit)", "Windows 8 (64-bit) (experimental)"); _xenServer610GuestOsMap.put("Windows Server 2003 (32-bit)", "Windows Server 2003 (32-bit)"); _xenServer610GuestOsMap.put("Windows Server 2003 (64-bit)", "Windows Server 2003 (64-bit)"); _xenServer610GuestOsMap.put("Windows Server 2003 PAE (32-bit)", "Windows Server 2003 PAE (32-bit)"); @@ -661,6 +661,7 @@ public class CitrixHelper { _xenServer610GuestOsMap.put("Windows Server 2008 (32-bit)", "Windows Server 2008 (32-bit)"); _xenServer610GuestOsMap.put("Windows Server 2008 (64-bit)", "Windows Server 2008 (64-bit)"); _xenServer610GuestOsMap.put("Windows Server 2008 R2 (64-bit)", "Windows Server 2008 R2 (64-bit)"); + _xenServer610GuestOsMap.put("Windows Server 2012 (64-bit)", "Windows Server 2012 (64-bit) (experimental)"); _xenServer610GuestOsMap.put("Windows Server 8 (64-bit)", "Windows Server 2012 (64-bit) (experimental)"); _xenServer610GuestOsMap.put("Windows Vista (32-bit)", "Windows Vista (32-bit)"); _xenServer610GuestOsMap.put("Windows XP SP3 (32-bit)", "Windows XP SP3 (32-bit)"); diff --git a/setup/db/db/schema-410to420.sql b/setup/db/db/schema-410to420.sql index a6913b62584..9a66a0ffe03 100644 --- a/setup/db/db/schema-410to420.sql +++ b/setup/db/db/schema-410to420.sql @@ -119,21 +119,28 @@ CREATE TABLE `cloud`.`load_balancer_healthcheck_policies` ( INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'vm.instancename.flag', 'false', 'Append guest VM display Name (if set) to the internal name of the VM'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (208, UUID(), 6, 'Windows 8'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (209, UUID(), 6, 'Windows 8 (64 bit)'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (210, UUID(), 6, 'Windows 8 Server (64 bit)'); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8', 208); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 (64 bit)', 209); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 Server (64 bit)', 210); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (165, UUID(), 6, 'Windows 8 (32-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (166, UUID(), 6, 'Windows 8 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (167, UUID(), 6, 'Windows Server 2012 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (168, UUID(), 6, 'Windows Server 8 (64-bit)'); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 (32-bit)', 165); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 (64-bit)', 166); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows Server 2012 (64-bit)', 167); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows Server 8 (64-bit)', 168); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows 8 (32-bit)', 165); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows 8 (64-bit)', 166); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows Server 2012 (64-bit)', 167); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows Server 8 (64-bit)', 168); +√ -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (211, UUID(), 7, 'Apple Mac OS X 10.6 (32 bits)'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (212, UUID(), 7, 'Apple Mac OS X 10.6 (64 bits)'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (213, UUID(), 7, 'Apple Mac OS X 10.7 (32 bits)'); -INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (214, UUID(), 7, 'Apple Mac OS X 10.7 (64 bits)'); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.6 (32 bits)', 211); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.6 (64 bits)', 212); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.7 (32 bits)', 213); -INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.7 (64 bits)', 214); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (211, UUID(), 7, 'Apple Mac OS X 10.6 (32-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (212, UUID(), 7, 'Apple Mac OS X 10.6 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (213, UUID(), 7, 'Apple Mac OS X 10.7 (32-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (214, UUID(), 7, 'Apple Mac OS X 10.7 (64-bit)'); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.6 (32-bit)', 211); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.6 (64-bit)', 212); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.7 (32-bit)', 213); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Apple Mac OS X 10.7 (64-bit)', 214); CREATE TABLE `cloud`.`user_vm_clone_setting` ( `vm_id` bigint unsigned NOT NULL COMMENT 'guest VM id', diff --git a/setup/db/templates.sql b/setup/db/templates.sql index 2f95f1e00f8..1685dce385c 100755 --- a/setup/db/templates.sql +++ b/setup/db/templates.sql @@ -214,6 +214,10 @@ INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (161 INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (162, UUID(), 1, 'CentOS 5.7 (64-bit)'); INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (163, UUID(), 10, 'Ubuntu 12.04 (32-bit)'); INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (164, UUID(), 10, 'Ubuntu 12.04 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (165, UUID(), 6, 'Windows 8 (32-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (166, UUID(), 6, 'Windows 8 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (167, UUID(), 6, 'Windows Server 2012 (64-bit)'); +INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (168, UUID(), 6, 'Windows Server 8 (64-bit)'); INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (200, UUID(), 1, 'Other CentOS (32-bit)'); INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name) VALUES (201, UUID(), 1, 'Other CentOS (64-bit)'); @@ -294,6 +298,10 @@ INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('XenServer', 'Other install media', 130); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('XenServer', 'Other PV (32-bit)', 139); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('XenServer', 'Other PV (64-bit)', 140); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows 8 (32-bit)', 165); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows 8 (64-bit)', 166); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows Server 2012 (64-bit)', 167); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("XenServer", 'Windows Server 8 (64-bit)', 168); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Microsoft Windows 7(32-bit)', 48); @@ -323,6 +331,10 @@ INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Microsoft Windows 95', 63); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Microsoft Windows NT 4', 64); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Microsoft Windows 3.1', 65); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 (32-bit)', 165); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows 8 (64-bit)', 166); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows Server 2012 (64-bit)', 167); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Windows Server 8 (64-bit)', 168); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Red Hat Enterprise Linux 5.0(32-bit)', 30); INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("VmWare", 'Red Hat Enterprise Linux 5.1(32-bit)', 32); diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareGuestOsMapper.java b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareGuestOsMapper.java index c76ce84bc3d..eb16141045a 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareGuestOsMapper.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareGuestOsMapper.java @@ -58,14 +58,14 @@ public class VmwareGuestOsMapper { s_mapper.put("Windows Server 2008 (32-bit)", VirtualMachineGuestOsIdentifier.WIN_LONGHORN_GUEST); s_mapper.put("Windows Server 2008 (64-bit)", VirtualMachineGuestOsIdentifier.WIN_LONGHORN_64_GUEST); - s_mapper.put("Windows 8", VirtualMachineGuestOsIdentifier.WINDOWS_8_GUEST); - s_mapper.put("Windows 8 (64 bit)", VirtualMachineGuestOsIdentifier.WINDOWS_8_64_GUEST); - s_mapper.put("Windows 8 Server (64 bit)", VirtualMachineGuestOsIdentifier.WINDOWS_8_SERVER_64_GUEST); + s_mapper.put("Windows 8 (32-bit)", VirtualMachineGuestOsIdentifier.WINDOWS_8_GUEST); + s_mapper.put("Windows 8 (64-bit)", VirtualMachineGuestOsIdentifier.WINDOWS_8_64_GUEST); + s_mapper.put("Windows Server 8 (64-bit)", VirtualMachineGuestOsIdentifier.WINDOWS_8_SERVER_64_GUEST); - s_mapper.put("Apple Mac OS X 10.6 (32 bits)", VirtualMachineGuestOsIdentifier.DARWIN_10_GUEST); - s_mapper.put("Apple Mac OS X 10.6 (64 bits)", VirtualMachineGuestOsIdentifier.DARWIN_10_64_GUEST); - s_mapper.put("Apple Mac OS X 10.7 (32 bits)", VirtualMachineGuestOsIdentifier.DARWIN_11_GUEST); - s_mapper.put("Apple Mac OS X 10.7 (64 bits)", VirtualMachineGuestOsIdentifier.DARWIN_11_64_GUEST); + s_mapper.put("Apple Mac OS X 10.6 (32-bit)", VirtualMachineGuestOsIdentifier.DARWIN_10_GUEST); + s_mapper.put("Apple Mac OS X 10.6 (64-bit)", VirtualMachineGuestOsIdentifier.DARWIN_10_64_GUEST); + s_mapper.put("Apple Mac OS X 10.7 (32-bit)", VirtualMachineGuestOsIdentifier.DARWIN_11_GUEST); + s_mapper.put("Apple Mac OS X 10.7 (64-bit)", VirtualMachineGuestOsIdentifier.DARWIN_11_64_GUEST); s_mapper.put("Open Enterprise Server", VirtualMachineGuestOsIdentifier.OES_GUEST); From 34885f63569d64aea0c3df90af6af31b881d0e5b Mon Sep 17 00:00:00 2001 From: Kishan Kavala Date: Tue, 30 Apr 2013 17:36:57 +0530 Subject: [PATCH 117/283] CLOUDSTACK-2201: Use DatabaseUpgradeChecker instead of premiumin nonossComponents.xml. Premium checker should be removed altogether --- client/tomcatconf/nonossComponentContext.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/tomcatconf/nonossComponentContext.xml.in b/client/tomcatconf/nonossComponentContext.xml.in index 2359ba80699..ff52457a3e2 100644 --- a/client/tomcatconf/nonossComponentContext.xml.in +++ b/client/tomcatconf/nonossComponentContext.xml.in @@ -42,7 +42,7 @@ independent configuration --> - + From ce7dc70b1dd8c86b3e2de223eb0f09e23172d1a0 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Tue, 30 Apr 2013 10:31:10 -0700 Subject: [PATCH 118/283] CLOUDSTACK-2194: Fix ApiServer component initialization sequence --- server/src/com/cloud/api/ApiServer.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index dd5fd4d5657..497be50a766 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -48,7 +48,7 @@ import javax.annotation.PostConstruct; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.inject.Inject; -import javax.servlet.http.HttpServletRequest; +import javax.naming.ConfigurationException; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -65,6 +65,7 @@ import org.apache.cloudstack.api.command.admin.host.ListHostsCmd; import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd; import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd; import org.apache.cloudstack.api.command.admin.user.ListUsersCmd; +import com.cloud.event.ActionEventUtils; import org.apache.cloudstack.api.command.user.account.ListAccountsCmd; import org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd; import org.apache.cloudstack.api.command.user.event.ListEventsCmd; @@ -122,7 +123,6 @@ import com.cloud.configuration.ConfigurationVO; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; -import com.cloud.event.ActionEventUtils; import com.cloud.exception.AccountLimitException; import com.cloud.exception.CloudAuthenticationException; import com.cloud.exception.InsufficientCapacityException; @@ -142,6 +142,7 @@ import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.StringUtils; import com.cloud.utils.component.ComponentContext; +import com.cloud.utils.component.ManagerBase; import com.cloud.utils.component.PluggableService; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.SearchCriteria; @@ -149,7 +150,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.exception.CloudRuntimeException; @Component -public class ApiServer implements HttpRequestHandler, ApiServerService { +public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiServerService { private static final Logger s_logger = Logger.getLogger(ApiServer.class.getName()); private static final Logger s_accessLogger = Logger.getLogger("apiserver." + ApiServer.class.getName()); @@ -180,13 +181,19 @@ public class ApiServer implements HttpRequestHandler, ApiServerService { @PostConstruct void initComponent() { s_instance = this; - init(); } public static ApiServer getInstance() { return s_instance; } - + + @Override + public boolean configure(String name, Map params) + throws ConfigurationException { + init(); + return true; + } + public void init() { Integer apiPort = null; // api port, null by default SearchCriteria sc = _configDao.createSearchCriteria(); From 1a4a319d32ce507df95c7cdce65a915a672f311e Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 30 Apr 2013 13:14:31 -0700 Subject: [PATCH 119/283] VM wizard: Show message if no affinity groups are available. --- .../classes/resources/messages.properties | 2 ++ ui/css/cloudstack3.css | 6 ++++ ui/dictionary.jsp | 2 ++ ui/scripts/ui-custom/instanceWizard.js | 31 ++++++++++++------- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index 2145e7f9450..1638be19e49 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -14,6 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +message.select.affinity.groups=Please select any affinity groups you want this VM to belong to: +message.no.affinity.groups=You do not have any affinity groups. Please continue to the next step. label.action.delete.nic=Remove NIC message.action.delete.nic=Please confirm that want to remove this NIC, which will also remove the associated network from the VM. changed.item.properties=Changed item properties diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index eac0b20a1be..cb59216b12b 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -5716,6 +5716,12 @@ label.error { margin: 10px 10px 0px; } +.multi-wizard .select-container p { + padding: 11px; + color: #424242; + background: #DFDFDF; +} + .multi-wizard .select-container .select { font-size: 13px; margin: -1px 0 0; diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp index dd76c14a994..ded9ea063d4 100644 --- a/ui/dictionary.jsp +++ b/ui/dictionary.jsp @@ -25,6 +25,8 @@ under the License. <% long now = System.currentTimeMillis(); %>