From cbf2c3bbf66214ec4a6b6f0666657185446c88ce Mon Sep 17 00:00:00 2001 From: Koushik Das Date: Fri, 28 Aug 2015 17:59:17 +0530 Subject: [PATCH 1/3] CLOUDSTACK-8785: Proper enforcement of retry count (max.retries) for all work type handled by HighAvailability manager Retry count is properly enforced for all work types in HA manager. Also reorganized some of the code for easy testing. --- .../cloud/ha/HighAvailabilityManagerImpl.java | 126 ++++++++---------- .../ha/HighAvailabilityManagerImplTest.java | 44 ++++++ 2 files changed, 103 insertions(+), 67 deletions(-) diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index bec1fd58cc23..cce44578929d 100644 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -383,10 +383,10 @@ public void scheduleRestart(VMInstanceVO vm, boolean investigate) { } List items = _haDao.findPreviousHA(vm.getId()); - int maxRetries = 0; + int timesTried = 0; for (HaWorkVO item : items) { - if (maxRetries < item.getTimesTried() && !item.canScheduleNew(_timeBetweenFailures)) { - maxRetries = item.getTimesTried(); + if (timesTried < item.getTimesTried() && !item.canScheduleNew(_timeBetweenFailures)) { + timesTried = item.getTimesTried(); break; } } @@ -396,7 +396,7 @@ public void scheduleRestart(VMInstanceVO vm, boolean investigate) { } HaWorkVO work = new HaWorkVO(vm.getId(), vm.getType(), WorkType.HA, investigate ? Step.Investigating : Step.Scheduled, - hostId != null ? hostId : 0L, vm.getState(), maxRetries + 1, vm.getUpdated()); + hostId != null ? hostId : 0L, vm.getState(), timesTried, vm.getUpdated()); _haDao.persist(work); if (s_logger.isInfoEnabled()) { @@ -407,7 +407,7 @@ public void scheduleRestart(VMInstanceVO vm, boolean investigate) { } - protected Long restart(HaWorkVO work) { + protected Long restart(final HaWorkVO work) { List items = _haDao.listFutureHaWorkForVm(work.getInstanceId(), work.getId()); if (items.size() > 0) { StringBuilder str = new StringBuilder("Cancelling this work item because newer ones have been scheduled. Work Ids = ["); @@ -571,11 +571,6 @@ protected Long restart(HaWorkVO work) { return null; } - if (work.getTimesTried() > _maxRetries) { - s_logger.warn("Retried to max times so deleting: " + vmId); - return null; - } - try { HashMap params = new HashMap(); if (_haTag != null) { @@ -663,7 +658,7 @@ public void cancelDestroy(VMInstanceVO vm, Long hostId) { _haDao.delete(vm.getId(), WorkType.Destroy); } - protected Long destroyVM(HaWorkVO work) { + protected Long destroyVM(final HaWorkVO work) { final VirtualMachine vm = _itMgr.findById(work.getInstanceId()); s_logger.info("Destroying " + vm.toString()); try { @@ -690,7 +685,6 @@ protected Long destroyVM(HaWorkVO work) { s_logger.debug("concurrent operation: " + e.getMessage()); } - work.setTimesTried(work.getTimesTried() + 1); return (System.currentTimeMillis() >> 10) + _stopRetryInterval; } @@ -738,10 +732,6 @@ protected Long stopVM(final HaWorkVO work) throws ConcurrentOperationException { s_logger.debug("operation timed out: " + e.getMessage()); } - work.setTimesTried(work.getTimesTried() + 1); - if (s_logger.isDebugEnabled()) { - s_logger.debug("Stop was unsuccessful. Rescheduling"); - } return (System.currentTimeMillis() >> 10) + _stopRetryInterval; } @@ -765,6 +755,56 @@ public List findTakenMigrationWork() { return vms; } + private void rescheduleWork(final HaWorkVO work, final long nextTime) { + s_logger.info("Rescheduling work " + work + " to try again at " + new Date(nextTime << 10)); + work.setTimeToTry(nextTime); + work.setTimesTried(work.getTimesTried() + 1); + work.setServerId(null); + work.setDateTaken(null); + } + + private void processWork(final HaWorkVO work) { + try { + final WorkType wt = work.getWorkType(); + Long nextTime = null; + if (wt == WorkType.Migration) { + nextTime = migrate(work); + } else if (wt == WorkType.HA) { + nextTime = restart(work); + } else if (wt == WorkType.Stop || wt == WorkType.CheckStop || wt == WorkType.ForceStop) { + nextTime = stopVM(work); + } else if (wt == WorkType.Destroy) { + nextTime = destroyVM(work); + } else { + assert false : "How did we get here with " + wt.toString(); + return; + } + + if (nextTime == null) { + s_logger.info("Completed work " + work); + work.setStep(Step.Done); + } else { + rescheduleWork(work, nextTime.longValue()); + } + } catch (Exception e) { + s_logger.warn("Encountered unhandled exception during HA process, reschedule work", e); + + long nextTime = (System.currentTimeMillis() >> 10) + _restartRetryInterval; + rescheduleWork(work, nextTime); + + // if restart failed in the middle due to exception, VM state may has been changed + // recapture into the HA worker so that it can really continue in it next turn + VMInstanceVO vm = _instanceDao.findById(work.getInstanceId()); + work.setUpdateTime(vm.getUpdated()); + work.setPreviousState(vm.getState()); + } + if (!Step.Done.equals(work.getStep()) && work.getTimesTried() >= _maxRetries) { + s_logger.warn("Giving up, retried max. times for work: " + work); + work.setStep(Step.Done); + } + _haDao.update(work.getId(), work); + } + @Override public boolean configure(final String name, final Map xmlParams) throws ConfigurationException { _serverId = _msServer.getId(); @@ -881,7 +921,7 @@ public void run() { private void runWithContext() { HaWorkVO work = null; try { - s_logger.trace("Checking the database"); + s_logger.trace("Checking the database for work"); work = _haDao.take(_serverId); if (work == null) { try { @@ -896,56 +936,8 @@ private void runWithContext() { } NDC.push("work-" + work.getId()); - s_logger.info("Processing " + work); - - try { - final WorkType wt = work.getWorkType(); - Long nextTime = null; - if (wt == WorkType.Migration) { - nextTime = migrate(work); - } else if (wt == WorkType.HA) { - nextTime = restart(work); - } else if (wt == WorkType.Stop || wt == WorkType.CheckStop || wt == WorkType.ForceStop) { - nextTime = stopVM(work); - } else if (wt == WorkType.Destroy) { - nextTime = destroyVM(work); - } else { - assert false : "How did we get here with " + wt.toString(); - return; - } - - if (nextTime == null) { - s_logger.info("Completed " + work); - work.setStep(Step.Done); - } else { - s_logger.info("Rescheduling " + work + " to try again at " + new Date(nextTime << 10)); - work.setTimeToTry(nextTime); - work.setTimesTried(work.getTimesTried() + 1); - work.setServerId(null); - work.setDateTaken(null); - } - } catch (Exception e) { - s_logger.warn("Encountered unhandled exception during HA process, reschedule retry", e); - - long nextTime = (System.currentTimeMillis() >> 10) + _restartRetryInterval; - - s_logger.info("Rescheduling " + work + " to try again at " + new Date(nextTime << 10)); - work.setTimeToTry(nextTime); - work.setTimesTried(work.getTimesTried() + 1); - work.setServerId(null); - work.setDateTaken(null); - - // if restart failed in the middle due to exception, VM state may has been changed - // recapture into the HA worker so that it can really continue in it next turn - VMInstanceVO vm = _instanceDao.findById(work.getInstanceId()); - work.setUpdateTime(vm.getUpdated()); - work.setPreviousState(vm.getState()); - if (!Step.Done.equals(work.getStep()) && work.getTimesTried() >= _maxRetries) { - s_logger.warn("Giving up, retries max times for work: " + work); - work.setStep(Step.Done); - } - } - _haDao.update(work.getId(), work); + s_logger.info("Processing work " + work); + processWork(work); } catch (final Throwable th) { s_logger.error("Caught this throwable, ", th); } finally { diff --git a/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java b/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java index 087c71a05ad6..3102c9ac697b 100644 --- a/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java +++ b/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java @@ -16,11 +16,14 @@ // under the License. package com.cloud.ha; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Array; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -31,6 +34,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.managed.context.ManagedContext; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -44,6 +48,8 @@ import com.cloud.dc.HostPodVO; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.HostPodDao; +import com.cloud.ha.HighAvailabilityManager.Step; +import com.cloud.ha.HighAvailabilityManager.WorkType; import com.cloud.ha.dao.HighAvailabilityDao; import com.cloud.host.Host; import com.cloud.host.HostVO; @@ -106,6 +112,17 @@ public class HighAvailabilityManagerImplTest { HostVO hostVO; HighAvailabilityManagerImpl highAvailabilityManager; + HighAvailabilityManagerImpl highAvailabilityManagerSpy; + static Method processWorkMethod = null; + + @BeforeClass + public static void initOnce() { + try { + processWorkMethod = HighAvailabilityManagerImpl.class.getDeclaredMethod("processWork", HaWorkVO.class); + processWorkMethod.setAccessible(true); + } catch (NoSuchMethodException e) { + } + } @Before public void setup() throws IllegalArgumentException, @@ -123,8 +140,12 @@ public void setup() throws IllegalArgumentException, injectField.set(highAvailabilityManager, obj); } } + } else if (injectField.getName().equals("_maxRetries")) { + injectField.setAccessible(true); + injectField.set(highAvailabilityManager, 5); } } + highAvailabilityManagerSpy = Mockito.spy(highAvailabilityManager); } @Test @@ -201,4 +222,27 @@ public void investigateHostStatusFailure() { assertNull(highAvailabilityManager.investigate(1l)); } + + private void processWorkWithRetryCount(int count, Step expectedStep) { + assertNotNull(processWorkMethod); + HaWorkVO work = new HaWorkVO(1l, VirtualMachine.Type.User, WorkType.Migration, Step.Scheduled, 1l, VirtualMachine.State.Running, count, 12345678l); + Mockito.doReturn(12345678l).when(highAvailabilityManagerSpy).migrate(work); + try { + processWorkMethod.invoke(highAvailabilityManagerSpy, work); + } catch (IllegalAccessException e) { + } catch (IllegalArgumentException e) { + } catch (InvocationTargetException e) { + } + assertTrue(work.getStep() == expectedStep); + } + + @Test + public void processWorkWithRetryCountExceeded() { + processWorkWithRetryCount(5, Step.Done); // max retry count is 5 + } + + @Test + public void processWorkWithRetryCountNotExceeded() { + processWorkWithRetryCount(3, Step.Scheduled); + } } From c5a0d5e01c98a1a1915ea2d778baa2f30807f788 Mon Sep 17 00:00:00 2001 From: Mike Tutkowski Date: Mon, 31 Aug 2015 12:40:08 -0600 Subject: [PATCH 2/3] Support live migration on older version of Libvirt --- .../wrapper/LibvirtMigrateCommandWrapper.java | 6 +++++- .../kvm/resource/LibvirtComputingResourceTest.java | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java index a6bb5914ca02..c1328aa99ae4 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java @@ -87,8 +87,12 @@ public Answer execute(final MigrateCommand command, final LibvirtComputingResour CVE-2015-3252: Get XML with sensitive information suitable for migration by using VIR_DOMAIN_XML_MIGRATABLE flag (value = 8) https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainXMLFlags + + Use VIR_DOMAIN_XML_SECURE (value = 1) prior to v1.0.0. */ - xmlDesc = dm.getXMLDesc(8).replace(libvirtComputingResource.getPrivateIp(), command.getDestinationIp()); + int xmlFlag = conn.getLibVirVersion() >= 1000000 ? 8 : 1; // 1000000 equals v1.0.0 + + xmlDesc = dm.getXMLDesc(xmlFlag).replace(libvirtComputingResource.getPrivateIp(), command.getDestinationIp()); dconn = libvirtUtilitiesHelper.retrieveQemuConnection("qemu+tcp://" + command.getDestinationIp() + "/system"); diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java index 03d9f49bcbf1..920c86a5edf8 100644 --- a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java +++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java @@ -1246,6 +1246,7 @@ public void testMigrateCommand() { when(libvirtComputingResource.getPrivateIp()).thenReturn("127.0.0.1"); when(dm.getXMLDesc(8)).thenReturn("host_domain"); + when(dm.getXMLDesc(1)).thenReturn("host_domain"); when(dm.isPersistent()).thenReturn(1); doNothing().when(dm).undefine(); @@ -1273,10 +1274,20 @@ public void testMigrateCommand() { verify(libvirtComputingResource, times(1)).getDisks(conn, vmName); try { verify(conn, times(1)).domainLookupByName(vmName); - verify(dm, times(1)).getXMLDesc(8); } catch (final LibvirtException e) { fail(e.getMessage()); } + + try { + verify(dm, times(1)).getXMLDesc(8); + } catch (final Throwable t) { + try { + verify(dm, times(1)).getXMLDesc(1); + } + catch (final LibvirtException e) { + fail(e.getMessage()); + } + } } @Test From 0456dd3997bd5edc06f2602105d8f1537282f96f Mon Sep 17 00:00:00 2001 From: Milamber Date: Tue, 1 Sep 2015 13:55:43 +0100 Subject: [PATCH 3/3] Update L10N resource files on master branch with 4.6 translation strings from Transifex (20150901) Fix an issue with the key message.admin.guide.read on pt_BR L10N in web UI at the root cause --- .../resources/messages_de_DE.properties | 77 +++++++++++++++++++ .../classes/resources/messages_hu.properties | 25 +++++- .../resources/messages_ja_JP.properties | 2 +- .../resources/messages_nl_NL.properties | 2 +- .../resources/messages_pt_BR.properties | 52 ++++++++++++- .../resources/messages_zh_CN.properties | 2 +- 6 files changed, 155 insertions(+), 5 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties index 7ffa58b2abf1..e29d44cace07 100644 --- a/client/WEB-INF/classes/resources/messages_de_DE.properties +++ b/client/WEB-INF/classes/resources/messages_de_DE.properties @@ -38,6 +38,7 @@ label.about=\u00dcber label.accept.project.invitation=Projekteinladung annehmen label.account.and.security.group=Konto, Sicherheitsgruppe label.account=Benutzerkonto +label.account.details=Kontodetails label.account.id=Benutzerkonto-ID label.account.lower=Konto label.account.name=Benutzerkonto-Name @@ -45,6 +46,7 @@ label.accounts=Benutzerkonten label.account.specific=Besonderheiten des Benutzerkontos label.acl=ACL label.acl.id=ACL-Kennung +label.acl.list.rules=ACL-Listenregeln label.acl.name=ACL-Name label.acl.replaced=ACL ersetzt label.acquire.new.ip=Neue IP erwerben @@ -266,6 +268,7 @@ label.add.ingress.rule=Zutrittsregel hinzuf\u00fcgen label.adding.succeeded=Erfolgreich hinzugef\u00fcgt label.adding.user=Nutzer hinzuf\u00fcgen label.adding.zone=Hinzuf\u00fcgen der Zone +label.add.internal.lb=Interne LB hinzuf\u00fcgen label.add.ip.range=IP-Bereich hinzuf\u00fcgen label.add.isolated.guest.network=Isoliertes Gastnetzwerk hinzuf\u00fcgen label.add.isolated.network=Isoliertes Netzwerk hinzuf\u00fcgen @@ -448,6 +451,7 @@ label.delete.ciscoASA1000v=CiscoASA1000v l\u00f6schen label.delete.ciscovnmc.resource=CiscoVNMC-Ressource l\u00f6schen label.delete.events=Ereignisse l\u00f6schen label.delete.F5=F5 l\u00f6schen +label.delete.internal.lb=Interne LB l\u00f6schen label.delete=L\u00f6schen label.delete.PA=Palo Alto l\u00f6schen label.delete.portable.ip.range=Portablen IP-Bereich l\u00f6schen @@ -488,10 +492,14 @@ label.disk.iops.read.rate=Festplatten-Leserate (IOPS) label.disk.iops.total=Gesamte IOPS label.disk.iops.write.rate=Festplatten-Schreibrate (IOPS) label.disk.offering=Festplatten-Angebot +label.disk.read.bytes=Festplatte Lesen (Bytes) +label.disk.read.io=Festplatte Lesen (EA) label.disk.size=Festplattengr\u00f6\u00dfe label.disk.size.gb=Festplattengr\u00f6\u00dfe (in GB) label.disk.total=Gesamtzahl der Festplatten label.disk.volume=Festplattenvolumen +label.disk.write.bytes=Festplatte Schreiben (Bytes) +label.disk.write.io=Festplatte Schreiben (EA) label.display.name=Anzeigename label.display.text=Anzeigetext label.distributedrouter=Verteilter Router @@ -515,6 +523,7 @@ label.edit.lb.rule=LB-Regel bearbeiten label.edit.network.details=Netzwerkdetails bearbeiten label.edit.project.details=Projektdetails bearbeiten label.edit.region=Region bearbeiten +label.edit.rule=Regel bearbeiten label.edit.secondary.ips=Sekund\u00e4re IPs bearbeiten label.edit.tags=Schlagw\u00f6rter bearbeiten label.edit.traffic.type=Datenverkehrstyp bearbeiten @@ -524,6 +533,7 @@ label.email.lower=E-Mail-Adresse label.enable.autoscale=Automatische Skalierung aktivieren label.enable.host=Host aktivieren label.enable.network.offering=Netzwerkangebot aktivieren +label.enable.provider=Anbieter aktivieren label.enable.swift=Swift aktivieren label.enable.vnmc.device=VNMC-Ger\u00e4t aktivieren label.enable.vnmc.provider=VNMC-Anbieter aktivieren @@ -554,6 +564,7 @@ label.f5=F5 label.failed=Fehlgeschlagen label.featured=Besonderheiten aufweisen label.filterBy=Filtern nach +label.fingerprint=FingerAbdruck label.firewall=Firewall label.firstname.lower=Vorname label.first.name=Vorname @@ -583,6 +594,7 @@ label.gslb.details=GSLB-Details label.gslb.domain.name=GSLB-Dom\u00e4nenname label.gslb=GSLB label.gslb.lb.details=Lastverteilungsdetails +label.gslb.lb.remove=Lastverteilung aus diesem GSLB entfernen label.gslb.lb.rule=Lastverteilungsregel label.gslb.service=GSLB-Dienst label.gslb.service.private.ip=GSLB-Dienst Private IP @@ -599,6 +611,8 @@ label.guest.networks=Gastnetzwerke label.guest.traffic=Gast-Datenverkehr label.guest.type=Gasttyp label.ha.enabled=HA aktiviert +label.health.check.advanced.options=Erweiterte Optionen\: +label.health.check.configurations.options=Konfigurationsoptionen\: label.help=Hilfe label.hide.ingress.rule=Verstecke Regeln, die den Zutritt steuern label.hints=Hinweise @@ -644,6 +658,8 @@ label.instance.name=Name der Instanz label.instances=Instanzen label.internal.dns.1=Interne DNS 1 label.internal.dns.2=Interne DNS 2 +label.internal.lb.details=Interne LB-Details +label.internal.lb=Interne LB label.internal.name=Interner Name label.interval.type=Interval Typ label.introduction.to.cloudstack=Einf\u00fchrung in CloudStack&\#8482 @@ -716,6 +732,8 @@ label.last.name=Nachname label.latest.events=Neueste Ereignisse label.launch=Start label.launch.vm=VM starten +label.launch.zone=Zone starten +label.lb.algorithm.leastconn=Mindestverbindungen label.lb.algorithm.roundrobin=Rundlauf-Verfahren label.lb.algorithm.source=Quelle label.ldap.configuration=LDAP-Konfiguration @@ -725,6 +743,7 @@ label.level=Ebene label.load.balancer=Serverlastverteilung label.load.balancer.type=Lastverteilungstyp label.load.balancing=Lastverteilung +label.load.balancing.policies=Verteilungsrichtlinien laden label.loading=Laden label.local.file=Lokale Datei label.local=Lokal @@ -830,11 +849,13 @@ label.network.ACL=Netzwerk-ACL label.network.ACLs=Netzwerk-ACLs label.network.addVM=Netzwerk zur VM hinzuf\u00fcgen label.network.cidr=Netzwerk-CIDR +label.network.details=Netzwerkdetails label.network.device=Netzwerkger\u00e4t label.network.device.type=Netzwerkger\u00e4tetyp label.network.domain=Netzwerk-Domain label.network.domain.text=Netzwerkdom\u00e4ne label.network.id=Netzwerk-ID +label.networking.and.security=Netzwerkbetrieb und Sicherheit label.network.limits=Netzwerkbegrenzungen label.network.name=Netzwerk Name label.network=Netzwerk @@ -847,12 +868,14 @@ label.network.type=Netzwerk-Typ label.new=Neu label.new.password=Neues Passwort label.new.project=Neues Projekt +label.new.ssh.key.pair=Neues SSH-Schl\u00fcsselpaar label.new.vm=Neue VM label.next=Weiter label.nexusVswitch=Nexus 1000v label.nfs=NFS label.nfs.server=NFS Server label.nfs.storage=NFS-Speicher +label.nic.adapter.type=NIC-Adaptertyp label.nicira.nvp.details=Nicira NVP-Details label.nics=NICs label.no.actions=Nicht verf\u00fcgbare Aktionen @@ -885,6 +908,7 @@ label.optional=optional label.order=Reihenfolge label.os.preference=OS Pr\u00e4ferenz label.os.type=OS Typ +label.other=Andere label.override.guest.traffic=Gast-Datenverkehr \u00fcberschreiben label.override.public.traffic=\u00d6ffentlichen Datenverkehr \u00fcberschreiben label.ovs=OVS @@ -898,6 +922,7 @@ label.passive=Passiv label.password.enabled=Passwort aktiviert label.password.lower=Passwort label.password=Passwort +label.password.reset.confirm=Passwort wurde zur\u00fcckgesetzt auf label.path=Pfad label.persistent=Persistent label.physical.network.ID=Physikalisches Netzwerkkennung @@ -910,6 +935,7 @@ label.PING.storage.IP=IP des externen Speichers anpingen label.please.wait=Bitte warten label.pod=Pod label.pods=Pod +label.polling.interval.sec=Abfrageintervall (in Sekunden) label.portable.ip=Portable IP label.portable.ip.range.details=Portable IP-Bereichsdetails label.portable.ip.ranges=Portable IP-Bereiche @@ -931,6 +957,7 @@ label.private.ip=Private IP-Adresse label.private.ip.range=Privater IP-Bereich label.private.ips=Private IP-Adressen label.privatekey=PKCS\#8 Privater Schl\u00fcssel +label.private.key=Privater Schl\u00fcssel label.private.network=Privates Netzwerk label.private.port=Privater Port label.private.zone=Private Zone @@ -949,6 +976,9 @@ label.providers=Anbieter label.public.interface=\u00d6ffentliches Interface label.public.ips=\u00d6ffentliche IP-Adressen label.public.ip=\u00d6ffentliche IP-Adresse +label.public.key=\u00d6ffentlicher Schl\u00fcssel +label.public.lb=\u00d6ffentliche LB +label.public.load.balancer.provider=\u00d6ffentlicher Lastverteileranbieter label.public.network=\u00d6ffentliches Netzwerk label.public.port=\u00d6ffentlicher Port label.public.traffic=\u00d6ffentlicher Datenverkehr @@ -957,6 +987,7 @@ label.public.zone=\u00d6ffentliche Zone label.purpose=Zweck label.Pxe.server.type=PXE Server Type label.quickview=Schnellansicht +label.quiet.time.sec=Ruhezeit (in Sekunden) label.rbd.id=Cephx-Benutzer label.rbd=RBD label.rbd.secret=Cephx-Geheimnis @@ -980,6 +1011,11 @@ label.remove.pf=Portweiterleitungsregel entfernen label.remove.project.account=Konto aus Projekt entfernen label.remove.region=Region entfernen label.remove.rule=Regel entfernen +label.remove.ssh.key.pair=SSH-Schl\u00fcsselpaar entfernen +label.remove.static.nat.rule=Statische NAT-Regel entfernen +label.remove.static.route=Statische Route entfernen +label.remove.this.physical.network=Dieses physikalische Netzwerk entfernen +label.remove.vm.load.balancer=VM aus Lastverteiler entfernen label.remove.vmware.datacenter=VMware-Rechenzentrum entfernen label.remove.vpc.offering=VPC-Angebot entfernen label.remove.vpc=VPC entfernen @@ -991,6 +1027,8 @@ label.required=Erforderlich label.requires.upgrade=Erfordert Aktualisierung label.reserved.ip.range=Reservierter IP-Bereich label.reserved.system.ip=Reservierte System-IP +label.reset.ssh.key.pair.on.vm=SSH-Schl\u00fcsselpaar auf VM zur\u00fccksetzen +label.reset.ssh.key.pair=SSH-Schl\u00fcsselpaar zur\u00fccksetzen label.resetVM=VM zur\u00fccksetzen label.reset.VPN.connection=VPN-Verbindung zur\u00fccksetzen label.resize.new.offering.id=Neues Angebot @@ -1018,8 +1056,10 @@ label.s3.nfs.server=S3 NFS-Server label.s3.secret_key=Secret Key label.s3.socket_timeout=Socket-Zeit\u00fcberschreitung label.s3.use_https=HTTPS verwenden +label.saml.entity=Identit\u00e4tsanbieter label.saturday=Samstag label.save.and.continue=Speichern und fortsetzen +label.save.changes=\u00c4nderungen speichern label.save=Sichern label.saving.processing=Speichern.... label.scope=Geltungsbereich @@ -1054,7 +1094,9 @@ label.session.expired=Sitzung abgelaufen label.set.default.NIC=Standard-NIC festlegen label.settings=Einstellungen label.setup=Konfiguration +label.setup.network=Netzwerk einrichten label.set.up.zone.type=Zonentyp einrichten +label.setup.zone=Zone einrichten label.shared=Gemeinsame label.SharedMountPoint=Geteilter Einh\u00e4ngepunkt label.show.advanced.settings=Erweiterte Einstellungen anzeigen @@ -1076,6 +1118,9 @@ label.specify.vlan=VLAN angeben label.specify.vxlan=VXLAN angeben label.srx.details=SRX-Details label.srx=SRX +label.ssh.key.pair.details=SSH-Schl\u00fcsselpaardetails +label.ssh.key.pair=SSH-Schl\u00fcsselpaar +label.ssh.key.pairs=SSH-Schl\u00fcsselpaare label.standard.us.keyboard=Standard-(US)-Tastatur label.start.IP=Start-IP label.start.lb.vm=LB-VM starten @@ -1084,6 +1129,7 @@ label.start.reserved.system.IP=Reservierte System-IP starten label.start.vxlan=VXLAN starten label.state=Status label.static.nat=Statische NAT +label.static.routes=Statische Routen label.statistics=Statistiken label.status=Status label.step.1=Schritt 1 @@ -1177,6 +1223,7 @@ label.usage.server=Auslastungsserver label.used=Gebraucht label.user=Benutzer label.user.data=Benutzerdaten +label.user.details=Benutzerdetails label.username=Benutzername label.username.lower=Benutzername label.users=Benutzer @@ -1289,6 +1336,7 @@ label.zone.step.4.title=Schritt 4\: F\u00fcgen Sie einen IP-Bereich hinz label.zones=Zonen label.zone.type=Zonentyp label.zone.wide=Zonenweit +label.zoneWizard.trafficType.guest=Gast\: Datenverkehr zwischen den virtuellen Maschinen der Endbenutzer label.zone=Zone message.acquire.public.ip=Bitte w\u00e4hlen Sie eine Zone, von der Sie Ihre neue IP erlangen m\u00f6chten. message.action.cancel.maintenance=Ihr Host ist erfolgreich f\u00fcr die Wartung abgebrochen. Dieser Prozess kann ein paar Minuten dauern. @@ -1302,6 +1350,7 @@ message.action.delete.ingress.rule=Bitte best\u00e4tigen Sie, dass Sie diese Zut message.action.delete.ISO=Bitte best\u00e4tigen Sie, dass Sie diese ISO l\u00f6schen m\u00f6chten. message.action.delete.ISO.for.all.zones=Die ISO gilt f\u00fcr alle Zonen. Bitte best\u00e4tigen Sie, dass Sie diese aus allen Zonen l\u00f6schen m\u00f6chten. message.action.delete.network=Bitte best\u00e4tigen Sie, dass Sie dieses Netzwerk l\u00f6schen m\u00f6chten. +message.action.delete.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk l\u00f6schen m\u00f6chten message.action.delete.pod=Bitte best\u00e4tigen Sie, dass Sie dieses pod l\u00f6schen m\u00f6chten. message.action.delete.primary.storage=Bitte best\u00e4tigen Sie, dass Sie diese Hauptspeicher l\u00f6schen m\u00f6chten. message.action.delete.secondary.storage=Bitte best\u00e4tigen Sie, dass Sie diesen Sekund\u00e4rspeicher l\u00f6schen m\u00f6chten. @@ -1315,17 +1364,22 @@ message.action.delete.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone l\u00f message.action.destroy.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz l\u00f6schen m\u00f6chten. message.action.destroy.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM zerst\u00f6ren m\u00f6chten. message.action.disable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster deaktivieren m\u00f6chten. +message.action.disable.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk deaktivieren m\u00f6chten. message.action.disable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod deaktivieren m\u00f6chten. message.action.disable.static.NAT=Bitte best\u00e4tigen Sie, dass Sie die statische NAT deaktivieren m\u00f6chten. message.action.disable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone deaktivieren m\u00f6chten. message.action.downloading.template=Vorlage wird heruntergeladen. +message.action.download.iso=Bitte best\u00e4tigen Sie, dass Sie dieses ISO herunterladen m\u00f6chten. message.action.enable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster aktivieren m\u00f6chten. +message.action.enable.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk aktivieren m\u00f6chten. message.action.enable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod aktivieren m\u00f6chten. message.action.enable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone aktivieren m\u00f6chten. message.action.instance.reset.password=Bitte best\u00e4tigen Sie, dass Sie das ROOT Passwort f\u00fcr diese virtuelle Maschine \u00e4ndern m\u00f6chten. message.action.manage.cluster=Bitte best\u00e4tigen Sie, dass das Cluster bearbeitet werden soll. message.action.reboot.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz neu starten m\u00f6chten. message.action.reboot.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM neu starten m\u00f6chten. +message.action.release.ip=Bitte best\u00e4tigen Sie, dass Sie diese IP freigeben m\u00f6chten. +message.action.remove.host=Bitte best\u00e4tigen Sie, dass Sie diesen Host entfernen m\u00f6chten. message.action.reset.password.off=Ihre Instanz untersch\u00fctzt derzeitig nicht dieses Feature. message.action.reset.password.warning=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Passwort \u00e4ndern k\u00f6nnen. message.action.restore.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz wiederherstellen m\u00f6chten. @@ -1335,6 +1389,7 @@ message.action.start.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-V message.action.stop.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz anhalten m\u00f6chten. message.action.stop.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM stoppen m\u00f6chten. message.action.unmanage.cluster=Bitte best\u00e4tigen Sie, dass Sie das Cluster vernachl\u00e4ssigen m\u00f6chten. +message.action.vmsnapshot.revert=VM-Schnappschuss zur\u00fccksetzen message.added.vpc.offering=VPC-Angebot hinzugef\u00fcgt message.add.firewall=Eine Firewall zur Zone hinzuf\u00fcgen message.add.host=Bitte spezifizieren Sie die folgenden Parameter, um einen neuen Host hinzuzuf\u00fcgen. @@ -1354,8 +1409,20 @@ message.configuring.guest.traffic=Gast-Datenverkehr wird konfiguriert message.configuring.physical.networks=Physikalische Netzwerke werden konfiguriert message.configuring.public.traffic=\u00d6ffentlicher Datenverkehr wird konfiguriert message.configuring.storage.traffic=Speicherungsdatenverkehr wird konfiguriert +message.confirm.archive.event=Bitte best\u00e4tigen Sie, dass Sie dieses Ereignis archivieren m\u00f6chten. +message.confirm.archive.selected.alerts=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Alarme archivieren m\u00f6chten message.confirm.create.volume=Sind Sie sicher, dass Sie ein Volumen erstellen m\u00f6chten? +message.confirm.delete.acl.list=Sind Sie sicher, dass Sie diese ACL-Liste l\u00f6schen m\u00f6chten? +message.confirm.delete.alert=Sind Sie sicher, dass Sie diesen Alarm l\u00f6schen m\u00f6chten? +message.confirm.delete.ciscoASA1000v=Bitte best\u00e4tigen Sie, dass Sie CiscoASA1000v l\u00f6schen m\u00f6chten +message.confirm.destroy.router=Bitte best\u00e4tigen Sie, dass Sie diesen Router zerst\u00f6ren m\u00f6chten +message.confirm.disable.host=Bitte best\u00e4tigen Sie, dass Sie den Host deaktivieren m\u00f6chten +message.confirm.enable.host=Bitte best\u00e4tigen Sie, dass Sie den Host aktivieren m\u00f6chten message.confirm.migrate.volume=M\u00f6chten Sie dieses Volumen migrieren? +message.confirm.remove.event=Sind Sie sicher, dass Sie dieses Ereignis entfernen m\u00f6chten? +message.confirm.remove.selected.alerts=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Alarme entfernen m\u00f6chten +message.confirm.remove.selected.events=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Ereignisse entfernen m\u00f6chten +message.confirm.replace.acl.new.one=M\u00f6chten Sie die ACL durch die neue ersetzen? message.copy.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie Ihre ISO kopieren m\u00f6chten und zwar nach message.create.template=Sind Sie sicher, dass Sie eine Vorlage erstellen m\u00f6chten? message.create.template.vm=VM aus Vorlage erstellen @@ -1366,16 +1433,23 @@ message.creating.primary.storage=Hauptspeicher wird erstellt message.creating.secondary.storage=Sekund\u00e4rspeicher wird erstellt message.creating.zone=Zone wird erstellt message.delete.account=Bitte best\u00e4tigen Sie, dass Sie dieses Benutzerkonto l\u00f6schen m\u00f6chten. +message.delete.project=Sind Sie sicher, dass Sie dieses Projekt l\u00f6schen m\u00f6chten? +message.delete.user=Bitte best\u00e4tigen Sie, dass Sie diesen Benutzer l\u00f6schen m\u00f6chten. +message.delete.VPN.connection=Bitte best\u00e4tigen Sie, dass Sie die VPN-Verbindung l\u00f6schen m\u00f6chten +message.desc.created.ssh.key.pair=Erstellte ein SSH-Schl\u00fcsselpaar. message.detach.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie die ISO von der virtuellen Instanz trennen m\u00f6chten. message.disable.account=Bitte best\u00e4tigen Sie, dass Sie Ihr Benutzerkonto deaktivieren m\u00f6chten. Kein Nutzer dieses Kontos wird mehr Zugriff auf die Cloud Ressourcen haben. Alle laufenden virtuellen Maschinen werden sofort abgestellt. message.disable.snapshot.policy=Sie haben Ihre derzeitige Schnappschuss Richtlinie erfolgreich deaktiviert. +message.disable.user=Bitte best\u00e4tigen Sie, dass Sie diesen Benutzer deaktivieren m\u00f6chten. message.disable.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN Zugriff deaktivieren m\u00f6chten. +message.disable.vpn=Sind Sie sicher, dass Sie das VPN deaktivieren m\u00f6chten? message.disabling.network.offering=Netzwerkangebot wird deaktiviert message.disabling.vpc.offering=VPC-Angebot wird deaktiviert message.disallowed.characters=Nicht erlaubte Zeichen\: \\<\\,\\> message.download.ISO=Bitte klicken Sie auf 00000, um das ISO herunterzuladen message.download.template=Bitte klicken Sie auf 00000, um die Vorlage herunterzuladen message.download.volume=Bitte klicken Sie auf 00000, um das Volumen herunterzuladen +message.download.volume.confirm=Bitte best\u00e4tigen Sie, dass Sie dieses Volumen herunterladen m\u00f6chten. message.enable.account=Bitte best\u00e4tigen Sie, dass Sie dieses Konto aktivieren m\u00f6chten. 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? @@ -1410,11 +1484,14 @@ message.number.clusters=

\# of Cluster

message.number.hosts=

\# of Hosts

message.number.storage=

\# von Hauptspeichervolumina

message.number.zones=

\# of Zonen

+message.password.has.been.reset.to=Passwort wurde zur\u00fcckgesetzt auf +message.password.of.the.vm.has.been.reset.to=Passwort der VM wurde zur\u00fcckgesetzt auf message.pending.projects.1=Sie haben ausstehende Projekteinladungen\: message.please.select.a.configuration.for.your.zone=Bitte w\u00e4hlen Sie eine Konfiguration f\u00fcr Ihre Zone aus. message.please.select.networks=Bitte w\u00e4hlen Sie Netzwerke f\u00fcr Ihre virtuelle Maschine aus. message.recover.vm=Bitte best\u00e4tigen Sie, dass Sie diese VM wiederherstellen m\u00f6chten. message.redirecting.region=Weiterleitung zu Region... +message.removed.ssh.key.pair=Hat ein SSH-Schl\u00fcsselpaar entfernt message.remove.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN-Zugriff vom folgenden Benutzer entfernen m\u00f6chten. message.reset.VPN.connection=Bitte best\u00e4tigen Sie, dass Sie die VPN-Verbindung zur\u00fccksetzen m\u00f6chten message.restart.vpc=Bitte best\u00e4tigen Sie, dass Sie den VPC neu starten m\u00f6chten diff --git a/client/WEB-INF/classes/resources/messages_hu.properties b/client/WEB-INF/classes/resources/messages_hu.properties index 680a987b524c..ec41c450c9e2 100644 --- a/client/WEB-INF/classes/resources/messages_hu.properties +++ b/client/WEB-INF/classes/resources/messages_hu.properties @@ -516,6 +516,7 @@ label.created=L\u00e9trehoz\u00e1s d\u00e1tuma label.create.nfs.secondary.staging.storage=Create NFS Secondary Staging Store label.create.nfs.secondary.staging.store=NFS m\u00e1sodlagos t\u00e1r l\u00e9trehoz\u00e1sa label.create.project=Projekt l\u00e9trehoz\u00e1sa +label.create.ssh.key.pair=SSH kulcsp\u00e1r l\u00e9trehoz\u00e1sa label.create.template=Sablon l\u00e9trehoz\u00e1sa label.create.VPN.connection=VPN kapcsolat l\u00e9trehoz\u00e1sa label.cross.zones=Cross Zones @@ -645,6 +646,7 @@ label.edit.lb.rule=LB szab\u00e1ly m\u00f3dos\u00edt\u00e1sa label.edit.network.details=H\u00e1l\u00f3zat r\u00e9szleteinek szerkeszt\u00e9se label.edit.project.details=Projekt r\u00e9szletek szerkeszt\u00e9se label.edit.region=R\u00e9gi\u00f3 szerkeszt\u00e9se +label.edit.rule=Szab\u00e1ly m\u00f3dos\u00edt\u00e1sa label.edit.secondary.ips=M\u00e1sodlagos IP c\u00edmek m\u00f3dos\u00edt\u00e1sa label.edit=Szerkeszt\u00e9s label.edit.tags=Cimk\u00e9k szerkeszt\u00e9se @@ -701,6 +703,7 @@ label.failed=Hiba label.featured=Kiemelt label.fetch.latest=Legfrissebb let\u00f6lt\u00e9se label.filterBy=Sz\u0171r\u00e9s +label.fingerprint=\u00dajlenyomat label.firewall=T\u0171zfal label.first.name=Keresztn\u00e9v label.firstname.lower=keresztn\u00e9v @@ -754,6 +757,8 @@ label.guest.traffic.vswitch.type=Vend\u00e9g forgalom vSwitch t\u00edpus label.guest.type=Vend\u00e9g t\u00edpus label.guest=Vend\u00e9g label.ha.enabled=HA bekapcsolva +label.health.check.advanced.options=Halad\u00f3 be\u00e1ll\u00edt\u00e1sok\: +label.health.check.configurations.options=Beall\u00edt\u00e1sok\: label.health.check=Ellen\u0151rz\u00e9s label.health.check.interval.in.sec=Ellen\u0151rz\u00e9s id\u0151k\u00f6z (mp) label.healthy.threshold=Eg\u00e9szs\u00e9ges k\u00fcsz\u00f6b @@ -1049,6 +1054,7 @@ label.network.type=H\u00e1l\u00f3zat t\u00edpus label.network.write=H\u00e1l\u00f3zat \u00edr\u00e1s label.new.password=\u00daj jelsz\u00f3 label.new.project=\u00daj projekt +label.new.ssh.key.pair=\u00daj SSH kulcsp\u00e1r label.new=\u00daj label.new.vm=\u00daj VM label.next=K\u00f6vetkez\u0151 @@ -1120,6 +1126,7 @@ label.perfect.forward.secrecy=Perfect Forward Secrecy label.persistent=Perzisztens label.physical.network=Fizikai h\u00e1l\u00f3zat label.physical.network.ID=Fizikai h\u00e1l\u00f3zat ID +label.physical.network.name=A fizikai h\u00e1l\u00f3zat neve label.PING.CIFS.password=PING CIFS jelsz\u00f3 label.PING.CIFS.username=PING CIFS felhaszn\u00e1l\u00f3 label.PING.dir=PING Directory @@ -1158,6 +1165,7 @@ label.private.ip=Priv\u00e1t IP c\u00edm label.private.ip.range=Priv\u00e1t IP tartom\u00e1ny label.private.ips=Priv\u00e1t IP c\u00edmek label.privatekey=PKCS\#8 priv\u00e1t kulcs +label.private.key=Priv\u00e1t kulcs label.private.network=Priv\u00e1t h\u00e1l\u00f3zat label.private.port=Priv\u00e1t port label.private.zone=Priv\u00e1t z\u00f3na @@ -1176,6 +1184,7 @@ label.provider=Szolg\u00e1ltat\u00f3 label.public.interface=Public Interface label.public.ip=Publikus IP c\u00edm label.public.ips=Publikus IP c\u00edmek +label.public.key=Publikus kulcs label.public.load.balancer.provider=Publikus terhel\u00e9seloszt\u00f3 szolg\u00e1ltat\u00f3 label.public.network=Publikus h\u00e1l\u00f3zat label.public.port=Publikus port @@ -1228,8 +1237,10 @@ label.remove.pf=Port tov\u00e1bb\u00edt\u00f3 szab\u00e1ly elt\u00e1vol\u00edt\u label.remove.project.account=Sz\u00e1mla elt\u00e1vol\u00edt\u00e1sa a projektb\u0151l label.remove.region=R\u00e9gi\u00f3 elt\u00e1vol\u00edt\u00e1sa label.remove.rule=Szab\u00e1ly elt\u00e1vol\u00edt\u00e1sa +label.remove.ssh.key.pair=SSH kulcsp\u00e1r elt\u00e1vol\u00edt\u00e1sa label.remove.static.nat.rule=Statikus NAT szab\u00e1ly elt\u00e1vol\u00edt\u00e1sa label.remove.static.route=Remove static route +label.remove.this.physical.network=A fizikai h\u00e1l\u00f3zat elt\u00e1vol\u00edt\u00e1sa label.remove.tier=R\u00e9teg elt\u00e1vol\u00edt\u00e1sa label.remove.vm.from.lb=VM elt\u00e1vol\u00edt\u00e1sa terhel\u00e9seloszt\u00f3 szab\u00e1lyb\u00f3l label.remove.vm.load.balancer=VM elt\u00e1vol\u00edt\u00e1sa a terhel\u00e9seloszt\u00f3b\u00f3l @@ -1247,6 +1258,8 @@ label.reserved.ip.range=Elk\u00fcl\u00f6n\u00edtett IP c\u00edmtartom\u00e1ny label.reserved.system.gateway=Reserved system gateway label.reserved.system.ip=Elk\u00fcl\u00f6n\u00edtett rendszer IP label.reserved.system.netmask=Elk\u00fcl\u00f6n\u00edtett rendszer h\u00e1l\u00f3zati maszk +label.reset.ssh.key.pair.on.vm=SSH kulcsp\u00e1r \u00fajrabe\u00e1ll\u00edt\u00e1sa a VM-en +label.reset.ssh.key.pair=SSH kulcsp\u00e1r \u00fajrabe\u00e1ll\u00edt\u00e1sa label.resetVM=VM \u00fajraind\u00edt\u00e1sa label.reset.VPN.connection=VPN kapcsolat \u00fajraind\u00edt\u00e1sa label.resize.new.offering.id=\u00daj aj\u00e1nlat @@ -1289,6 +1302,7 @@ label.s3.socket_timeout=Kapcsolat id\u0151t\u00fall\u00e9p\u00e9s label.s3.use_https=HTTPS haszn\u00e1lata label.saturday=Szombat label.save.and.continue=Ment\u00e9s \u00e9s folytat\u00e1s +label.save.changes=V\u00e1ltoz\u00e1sok ment\u00e9se label.save=Ment\u00e9s label.saving.processing=Ment\u00e9s... label.scale.up.policy=SCALE UP POLICY @@ -1365,6 +1379,9 @@ label.specify.vxlan=VXLAN megad\u00e1sa label.SR.name=SR Name-Label label.srx.details=SRX r\u00e9szletek label.srx=SRX +label.ssh.key.pair.details=SSH kucsp\u00e1r r\u00e9szletei +label.ssh.key.pair=SSH kulcsp\u00e1r +label.ssh.key.pairs=SSH kulcsp\u00e1rok label.standard.us.keyboard=Amerikai (USA) szabv\u00e1nyos billenty\u0171zet label.start.IP=Kezd\u0151 IP label.start.lb.vm=Terhel\u00e9seloszt\u00f3 VM ind\u00edt\u00e1sa @@ -1745,7 +1762,7 @@ message.add.system.service.offering=T\u00f6ltsd ki a k\u00f6vetkez\u0151 adatoka message.add.template=Add meg a k\u00f6vetkez\u0151 adatokat \u00faj sablon l\u00e9trehoz\u00e1s\u00e1hoz message.add.volume=T\u00f6ltsd ki a k\u00f6vetkez\u0151 adatokat \u00faj k\u00f6tet l\u00e9trehoz\u00e1s\u00e1hoz message.add.VPN.gateway=Er\u0151s\u00edtsd meg, hogy \u00faj VPN \u00e1tj\u00e1r\u00f3t akarsz felvenni\! -message.admin.guide.read=VMware-alap\u00fa VM-ek eset\u00e9ben k\u00e9rlek olvasd el a dinakikus sk\u00e1l\u00e1z\u00e1sr\u00f3l sz\u00f3l\u00f3 fejezetet\! Szeretn\u00e9d folytatni? +message.admin.guide.read=VMware-alap\u00fa VM-ek eset\u00e9ben k\u00e9rlek olvasd el a dinakikus sk\u00e1l\u00e1z\u00e1sr\u00f3l sz\u00f3l\u00f3 fejezetet\! Szeretn\u00e9d folytatni?\\, message.advanced.mode.desc=Akkor v\u00e1laszd ezt a h\u00e1l\u00f3zat modellt, ha szeretn\u00e9d haszn\u00e1lni a VLAN t\u00e1mogat\u00e1st. Ez a h\u00e1l\u00f3zat modell biztos\u00edtja a legnagyobb rugalmass\u00e1got \u00e9s lehet\u0151v\u00e9 teszi, hogy a rendszergazd\u00e1k olyan aj\u00e1nlatokat biztos\u00edtsanak, mint a t\u0171zfalak, VPN vagy terhel\u00e9seloszt\u00f3k valamint a direkt \u00e9s virtu\u00e1lis h\u00e1l\u00f3zatok. message.advanced.security.group=V\u00e1laszd ezt, ha biztons\u00e1gi csoportokat akarsz haszn\u00e1lni a vend\u00e9g VM izol\u00e1ci\u00f3hoz\! message.advanced.virtual=V\u00e1laszd ezt, ha z\u00f3na-szint\u0171 VLAN-okat szeretn\u00e9l haszn\u00e1lni a vend\u00e9g VM-ek izol\u00e1ci\u00f3j\u00e1ra\! @@ -1861,8 +1878,11 @@ message.delete.VPN.gateway=Er\u0151s\u00edtsd meg, hogy t\u00f6r\u00f6lni akarod message.desc.advanced.zone=\u00d6sszetettebb h\u00e1l\u00f3zati topol\u00f3gi\u00e1khoz. Ez a h\u00e1l\u00f3zat modell biztos\u00edtja a legnagyobb rugalmass\u00e1got a vend\u00e9g h\u00e1l\u00f3zatok fel\u00e9p\u00edt\u00e9s\u00e9ben \u00e9s olyan h\u00e1l\u00f3zati aj\u00e1nlatokat tesz lehet\u0151v\u00e9, mint a t\u0171zfalak, VPN vagy terhel\u00e9seloszt\u00f3k. message.desc.basic.zone=Adj meg egy h\u00e1l\u00f3zatot, amelyen minden egyes VM p\u00e9ld\u00e1ny k\u00f6zvetlen\u00fcl a h\u00e1l\u00f3zatt\u00f3l kap IP c\u00edmet. A vend\u00e9g rendszerek izol\u00e1ci\u00f3j\u00e1t 3. r\u00e9teg-b\u00e9li megold\u00e1sokkal, mint p\u00e9ld\u00e1ul biztons\u00e1gi csoportokkal (IP c\u00edm filterez\u00e9s) oldhat\u00f3 meg. message.desc.cluster=Minden pod-nak tartalmaznia kell egy vagy t\u00f6bb f\u00fcrt\u00f6t \u00e9s most l\u00e9trehozzuk az els\u0151 f\u00fcrt\u00f6t. A f\u00fcrt csoportos\u00edtja a kiszolg\u00e1l\u00f3kat. Egy f\u00fcrtben tal\u00e1lhat\u00f3 kiszolg\u00e1l\u00f3k ugyanolyan hardverrel rendelkeznek, ugyanolyan hipervizort futtatnak \u00e9s ugyanahhoz az els\u0151dleges t\u00e1rol\u00f3hoz f\u00e9rnek hozz\u00e1. Minden f\u00fcrt egy vagy t\u00f6bb kiszolg\u00e1l\u00f3t \u00e9s els\u0151dleges t\u00e1r szervert tartalmaz. +message.desc.created.ssh.key.pair=Az SSH kulcsp\u00e1r l\u00e9trej\u00f6tt. +message.desc.create.ssh.key.pair=Add meg a k\u00f6vetkez\u0151 adatokat az ssh kulcs bejegyz\u00e9s\u00e9hez\!

(1) Ha publikus kulcsot adsz meg, a CloudStack elt\u00e1rolja \u00e9s a priv\u00e1t kulcsoddal haszn\u00e1lhatod.

(2) Ha nem adsz meg publikus kulcsot, a CloudStack k\u00e9sz\u00edt neked egyet. M\u00e1sold le \u00e9s mentsd el a priv\u00e1t kulcsot, a CloudStack nem tartja meg.
message.desc.host=Minden f\u00fcrtnek legal\u00e1bb egy kiszolg\u00e1l\u00f3t kell tartalmaznia, amelyen a VM-ek futhatnak. Most vegy\u00fck fel az els\u0151 kiszolg\u00e1l\u00f3t\! Hogy a kiszolg\u00e1l\u00f3 m\u0171k\u00f6dhessen, hipervizor szoftvert kell r\u00e1 telep\u00edteni, IP c\u00edmet rendelni hozz\u00e1 \u00e9s biztos\u00edtani a kapcsolatot a CloudStack vez\u00e9rl\u0151 szerverrel.

Add meg a kiszolg\u00e1l\u00f3 DNS vagy IP c\u00edm\u00e9t, a felhaszn\u00e1l\u00f3 nev\u00e9t (\u00e1ltal\u00e1ban root) \u00e9s jelszav\u00e1t, valamint a kiszolg\u00e1l\u00f3 kategoriz\u00e1l\u00e1s\u00e1ra szolg\u00e1l\u00f3 c\u00edmk\u00e9ket. message.desc.primary.storage=Minden f\u00fcrt tartalmaz egy vagy t\u00f6bb els\u0151dleges t\u00e1r szervert \u00e9s most l\u00e9trehozzuk az els\u0151t. Az els\u0151dleges t\u00e1r tartalmazza a f\u00fcrt kiszolg\u00e1l\u00f3in fut\u00f3 \u00f6sszes VM virtu\u00e1lis merevlemezeit. +message.desc.reset.ssh.key.pair=Adj meg egy ssh kulcsp\u00e1rt, amelyet fel szeretn\u00e9l venni ehhez a VM-hez\! A root jelsz\u00f3 megv\u00e1ltozik, ha a jelsz\u00f3 enged\u00e9lyezett. message.desc.secondary.storage=Minden z\u00f3n\u00e1nak rendelkeznie kell legal\u00e1bb egy NFS vagy m\u00e1sodlagos t\u00e1r szervert \u00e9s most l\u00e9trehozzuk az els\u0151t. A m\u00e1sodlagos t\u00e1r t\u00e1rolja a VM sablonok, ISO f\u00e1jlok \u00e9s pillanatfelv\u00e9telek adatait. Ennek a szervernek minden kiszolg\u00e1l\u00f3 sz\u00e1m\u00e1ra hozz\u00e1f\u00e9rhet\u0151nek kell lennie.

Add meg az IP c\u00edmet \u00e9s az \u00fatvonalat\! message.desc.zone=A z\u00f3na a CloudStack legnagyobb egys\u00e9ge \u00e9s \u00e1ltal\u00e1ban egy adatk\u00f6zpontnak felel meg. A z\u00f3n\u00e1k fizikai izol\u00e1ci\u00f3t adnak. Egy z\u00f3na egy vagy t\u00f6bb pod-b\u00f3l \u00e1ll (amelyek kiszolg\u00e1l\u00f3kat \u00e9s els\u0151dleges t\u00e1rol\u00f3kat tartalmaznak) \u00e9s egy m\u00e1sodlagos t\u00e1rb\u00f3l, amelyet az \u00f6sszes pod haszn\u00e1l. message.detach.disk=Biztosan la akarod v\u00e1lasztani a merevlemezt? @@ -1966,9 +1986,12 @@ message.number.hosts=

Kiszolg\u00e1l\u00f3k sz\u00e1ma

message.number.pods=

Pods-ok sz\u00e1ma

message.number.storage=

Els\u0151dleges t\u00e1r k\u00f6teteksz\u00e1ma

message.number.zones=

Z\u00f3n\u00e1k sz\u00e1ma

+message.password.has.been.reset.to=A jelsz\u00f3 \u00fajrabe\u00e1ll\u00edtva\: +message.password.of.the.vm.has.been.reset.to=A VM jelszava \u00fajrabe\u00e1ll\u00edtva\: message.pending.projects.1=Projekt megh\u00edv\u00f3k v\u00e1rnak r\u00e1d\: message.pending.projects.2=A megtekint\u00e9shez menj a projektek szekci\u00f3hoz \u00e9s v\u00e1laszd a megh\u00edv\u00f3kat a leg\u00f6rd\u00fcl\u0151 men\u00fcb\u0151l\! message.please.add.at.lease.one.traffic.range=Adj meg legal\u00e1bb egy forgalom tartom\u00e1nyt\! +message.please.confirm.remove.ssh.key.pair=Er\u0151s\u00edtsd meg, hogy t\u00f6r\u00f6lni akarod ezt az SSH kulcsp\u00e1rt\! message.please.proceed=Menj tov\u00e1bb a k\u00f6vetkez\u0151 l\u00e9p\u00e9shez\! message.please.select.a.configuration.for.your.zone=V\u00e1lassz konfigur\u00e1ci\u00f3t a z\u00f3n\u00e1dnak\! message.please.select.a.different.public.and.management.network.before.removing=Please select a different public and management network before removing diff --git a/client/WEB-INF/classes/resources/messages_ja_JP.properties b/client/WEB-INF/classes/resources/messages_ja_JP.properties index a07d89cb9b96..8035e1cc6220 100644 --- a/client/WEB-INF/classes/resources/messages_ja_JP.properties +++ b/client/WEB-INF/classes/resources/messages_ja_JP.properties @@ -1737,7 +1737,7 @@ message.add.system.service.offering=\u65b0\u3057\u3044\u30b7\u30b9\u30c6\u30e0 \ 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.admin.guide.read=VMware \u30d9\u30fc\u30b9\u306e VM \u306b\u3064\u3044\u3066\u306f\u3001\u30b5\u30a4\u30ba\u5909\u66f4\u306e\u524d\u306b\u7ba1\u7406\u8005\u30ac\u30a4\u30c9\u306e\u52d5\u7684\u306a\u30b5\u30a4\u30ba\u5909\u66f4\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u304a\u8aad\u307f\u304f\u3060\u3055\u3044\u3002\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?, +message.admin.guide.read=VMware \u30d9\u30fc\u30b9\u306e VM \u306b\u3064\u3044\u3066\u306f\u3001\u30b5\u30a4\u30ba\u5909\u66f4\u306e\u524d\u306b\u7ba1\u7406\u8005\u30ac\u30a4\u30c9\u306e\u52d5\u7684\u306a\u30b5\u30a4\u30ba\u5909\u66f4\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u304a\u8aad\u307f\u304f\u3060\u3055\u3044\u3002\u7d9a\u884c\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\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\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 diff --git a/client/WEB-INF/classes/resources/messages_nl_NL.properties b/client/WEB-INF/classes/resources/messages_nl_NL.properties index 58bc314926d3..cb3f56f838d8 100644 --- a/client/WEB-INF/classes/resources/messages_nl_NL.properties +++ b/client/WEB-INF/classes/resources/messages_nl_NL.properties @@ -1575,7 +1575,7 @@ message.add.system.service.offering=Specificeer de volgende gegevens om een nieu message.add.template=Specificeer de volgende gegevens om een nieuwe template aan te maken message.add.volume=Specificeer de volgende gegevens om een nieuw volume toe te voegen. message.add.VPN.gateway=Bevestig dat u een VPN Gateway wilt toevoegen -message.admin.guide.read=Voor VMware-gebaseerde VMs, lees eerst de dynamic scaling sectie in de admin guide voordat u gaat schalen. Weet u zeker dat u verder wilt gaan? +message.admin.guide.read=Voor VMware-gebaseerde VMs, lees eerst de dynamic scaling sectie in de admin guide voordat u gaat schalen. Weet u zeker dat u verder wilt gaan?\\, message.advanced.mode.desc=Kies dit netwerk model als u VLAN ondersteuning wilt inschakelen. Dit netwerk model geeft u de meeste flexibiliteit en stelt beheerders in staat om aangepaste netwerk aanbiedingen aan te maken met firewall, vpn, of load balancer ondersteuning. Ook kunt u kiezen tussen direct en virtual networking. message.advanced.security.group=Kies dit netwerk model als u security groups wilt gebruiken om virtueele machines te isoleren. message.advanced.virtual=Kies deze optie als u zone breede VLANs wilt gebruiken om virtueele machines te isoleren. diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties index 6ee1f5e3e3e1..e951f9eadeeb 100644 --- a/client/WEB-INF/classes/resources/messages_pt_BR.properties +++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties @@ -51,6 +51,7 @@ label.about=Sobre label.accept.project.invitation=Aceitar convite de projeto. label.account.and.security.group=Contas, grupos de Seguran\u00e7a label.account=Conta +label.account.details=Detalhes da conta label.account.id=ID da Conta label.account.lower=conta label.account.name=Nome da Conta @@ -58,6 +59,7 @@ label.accounts=Contas label.account.specific=Conta-Specific label.acl=ACL label.acl.id=ACL ID +label.acl.list.rules=Lista de regas de ACL label.acl.name=Nome da ACL label.acl.replaced=ACL trocado label.acquire.new.ip=Adquirir novo IP @@ -299,6 +301,7 @@ label.add.intermediate.certificate=Adicionar certificado intermedi\u00e1rio label.add.internal.lb=Adiciona LB Interno label.add.ip.range=Adicionar Range de IP label.add.isolated.guest.network=Adiciona Rede Guest Isolada +label.add.isolated.guest.network.with.sourcenat=Adicionar rede Guest isolada com SourceNat label.add.isolated.network=Adiciona Rede Isolada label.additional.networks=Redes Adicionais label.add.ldap.account=Adicionar Conta LDAP @@ -404,6 +407,7 @@ label.associate.public.ip=Associa IP P\u00fablico label.attached.iso=Imagem ISO Plugada label.author.email=E-mail do autor label.author.name=Nome do autor +label.autoscale.configuration.wizard=Assistente de configura\u00e7\u00e3o de AutoScale label.autoscale=Escalonamento Autom\u00e1tico label.availability=Availability label.availabilityZone=availabilityZone @@ -493,6 +497,7 @@ label.configuration=Configura\u00e7\u00e3o label.configure=Configurar label.configure.ldap=Configurar LDAP label.configure.network.ACLs=Configure ACLs de rede +label.configure.sticky.policy=Configurar Pol\u00edtica Fixa label.configure.vpc=Configurar VPC label.confirmation=Confirma\u00e7\u00e3o label.confirm.password=Confirme a senha @@ -517,6 +522,7 @@ label.created=Criado label.create.nfs.secondary.staging.storage=Cria Armazenamento NFS de Est\u00e1gio Secund\u00e1rio label.create.nfs.secondary.staging.store=Criar storage staging secund\u00e1rio NFS label.create.project=Criar um projeto +label.create.ssh.key.pair=Criar par de chaves SSH label.create.template=Criar template label.create.VPN.connection=Criar uma conex\u00e3o VPN label.cross.zones=Inter Zonas @@ -610,6 +616,7 @@ label.disk.iops.min=M\u00edn IOPS label.disk.iops.read.rate=Taxa de Leitura do Disco (IOPS) label.disk.iops.total=IOPS Total label.disk.iops.write.rate=Taxa de Escrita no Disco (IOPS) +label.disk.offering.details=Detalhes da oferta de disco label.diskoffering=diskoffering label.disk.offering=Oferta de Disco label.disk.provisioningtype=Tipo de Provisionamento @@ -629,6 +636,7 @@ label.dns.2=DNS 2 label.dns=DNS label.DNS.domain.for.guest.networks=Dom\u00ednio DNS para redes h\u00f3spedes label.domain.admin=Administrador de Dom\u00ednio +label.domain.details=Detalhes do dom\u00ednio label.domain=Dom\u00ednio label.domain.id=ID do Dom\u00ednio label.domain.lower=dom\u00ednio @@ -648,6 +656,7 @@ label.edit.lb.rule=Editar regra de LB label.edit.network.details=Editar detalhes de rede label.edit.project.details=Editar detalhes do projeto label.edit.region=Editar Regi\u00e3o +label.edit.rule=Editar regra label.edit.secondary.ips=Editar IPs secund\u00e1rios label.edit.tags=Edite etiquetas label.edit.traffic.type=Editar tipo de tr\u00e1fego @@ -703,6 +712,7 @@ label.failed=Falhou label.featured=Featured label.fetch.latest=Obter \u00faltimos label.filterBy=Filtrar por +label.fingerprint=Impress\u00e3o Digital label.firewall=Firewall label.firstname.lower=primeiro nome label.first.name=Primeiro Nome @@ -756,8 +766,12 @@ label.guest.traffic.vswitch.name=Nome do vSwitch de Tr\u00e1fego Convidado label.guest.traffic.vswitch.type=Tipo de vSwitch de Tr\u00e1fego Convidado label.guest.type=Tipo de Guest label.ha.enabled=HA Ativado +label.health.check.advanced.options=Op\u00e7\u00f5es avan\u00e7adas\: label.health.check=Checagem de Sa\u00fade +label.health.check.configurations.options=Op\u00e7\u00f5es de configura\u00e7\u00e3o\: label.health.check.interval.in.sec=Intervalo de Health Check (em seg) +label.health.check.message.desc=Seu balanceador de carga realizar\u00e1 automaticamente verifica\u00e7\u00f5es da sa\u00fade das suas inst\u00e2ncias no Cloudstack e ir\u00e1 rotear tr\u00e1fego somente para as inst\u00e2ncias que passarem nas verifica\u00e7\u00f5es. +label.health.check.wizard=Assistente de configura\u00e7\u00e3o de Health Check label.healthy.threshold=Limiar de Sanidade label.help=Ajuda label.hide.ingress.rule=Ocultar Regra de Entrada @@ -769,6 +783,7 @@ label.host.MAC=Host MAC label.host.name=Host Name label.hosts=Hosts label.host.tags=Tags de Host +label.host.tag=Tag de host label.hourly=A cada hora label.hvm=HVM label.hypervisor.capabilities=Recursos de Virtualizador @@ -816,6 +831,7 @@ label.intermediate.certificate=Certificado intermedi\u00e1rio {0} label.internal.dns.1=DNS 1 Interno label.internal.dns.2=DNS 2 Interno label.internal.lb.details=Detalhes de LB Interno +label.internal.lb=LB interno label.internallbvm=LbVm Interno label.internal.name=Nome interno label.interval.type=Tipo de Intervalo @@ -1029,6 +1045,7 @@ label.network.ACL.total=Total de rede ACL label.network.addVM=Adicionar rede para VM label.network.cidr=CIDR da Rede label.network.desc=Descri\u00e7\u00e3o de Rede +label.network.details=Detalhes da rede label.network.device=Dispositivo de Rede label.network.device.type=Tipo de Dispositivo de Rede label.network.domain=Dom\u00ednio de Rede @@ -1038,6 +1055,7 @@ label.networking.and.security=Rede e seguran\u00e7a label.network.label.display.for.blank.value=Utilizar gateway default label.network.limits=Limites de rede label.network.name=Nome da Rede +label.network.offering.details=Detalhes da oferta de rede label.network.offering.display.text=Network Offering Display Text label.network.offering.id=Network Offering ID label.network.offering.name=Network Offering Name @@ -1053,6 +1071,7 @@ label.network.write=Network Write label.new=Novo label.new.password=Nova Senha label.new.project=Novo Projeto +label.new.ssh.key.pair=Novo par de chaves SSH label.new.vm=Nova VM label.next=Pr\u00f3ximo label.nexusVswitch=Nexus Vswitch @@ -1125,6 +1144,7 @@ label.PA.threat.profile=Palo Alto Threat Profile label.perfect.forward.secrecy=Perfect Forward Secrecy label.persistent=Persistente label.physical.network.ID=ID da rede f\u00edsica +label.physical.network.name=Nome da rede f\u00edsica label.physical.network=Rede F\u00edsica label.PING.CIFS.password=PING CIFS password label.PING.CIFS.username=PING CIFS username @@ -1132,6 +1152,7 @@ label.PING.dir=PING Directory label.ping.path=Caminho do Ping label.PING.storage.IP=Disparar PING para IP do Storage label.planner.mode=Modo planejado +label.please.complete.the.following.fields=Por favor, preencha os seguintes campos label.please.specify.netscaler.info=Por favor especifique as informa\u00e7\u00f5es do Netscaler label.please.wait=Por Favor Aguarde label.plugin.details=Detalhes do plugin @@ -1163,6 +1184,7 @@ label.private.interface=Interface Privada label.private.ip=Endere\u00e7o IP Privado label.private.ip.range=Range de IP Privado label.private.ips=IPs Privados +label.private.key=Chave privada label.privatekey=PKCS\#8 Private Key label.private.network=Rede Privada label.private.port=Porta Privada @@ -1182,6 +1204,8 @@ label.providers=Providers label.public.interface=Interface P\u00fablica label.public.ip=Endere\u00e7o IP P\u00fablico label.public.ips=IPs P\u00fablicos +label.public.key=Chave p\u00fablica +label.public.lb=LB p\u00fablico label.public.load.balancer.provider=Provedor P\u00fablico de Balanceamento de Carga label.public.network=Rede P\u00fablica label.public.port=Porta P\u00fablica @@ -1234,8 +1258,10 @@ label.remove.pf=Remover regra de redirecionamento de porta label.remove.project.account=Remover conta de projeto label.remove.region=Remover Regi\u00e3o label.remove.rule=Remover regra +label.remove.ssh.key.pair=Remover par de chaves SSH label.remove.static.nat.rule=Remover regra de NAT est\u00e1tico label.remove.static.route=Remover rota est\u00e1tica +label.remove.this.physical.network=Remover esta rede f\u00edsica label.remove.tier=Remover camada label.remove.vm.from.lb=Remover VM da regra de balanceamento de carga label.remove.vm.load.balancer=Remover VM do balanceamento de carga @@ -1253,6 +1279,8 @@ label.reserved.ip.range=Faixa de IP Reservada label.reserved.system.gateway=Gateway de sistema reservado label.reserved.system.ip=IP de Sistema Reservado label.reserved.system.netmask=M\u00e1scara de rede reservada do sistema +label.reset.ssh.key.pair.on.vm=Recriar par de chaves SSH na VM +label.reset.ssh.key.pair=Recriar par de chaves SSH label.resetVM=Restabelecer VM label.reset.VPN.connection=Resetar a conex\u00e3o VPN label.resize.new.offering.id=New Offering @@ -1297,8 +1325,11 @@ label.saml.enable=Autorizar SAML SSO label.saml.entity=Provedor de Identidade label.saturday=S\u00e1bado label.save.and.continue=Salvar e continuar +label.save.changes=Salvar altera\u00e7\u00f5es label.save=Salvar label.saving.processing=Salvando.... +label.scaledown.policy=Pol\u00edtica de redu\u00e7\u00e3o +label.scaleup.policy=Pol\u00edtica de amplia\u00e7\u00e3o label.scale.up.policy=Pol\u00edtica de Escalonamento label.scope=Escopo label.search=Pesquisar @@ -1333,6 +1364,7 @@ label.select.vm.for.static.nat=Selecionar VM para NAT est\u00e1tico label.sent=Enviado label.server=Servidor label.service.capabilities=Recursos de servi\u00e7os +label.service.offering.details=Detalhes da oferta de servi\u00e7o label.service.offering=Plano label.services=Servi\u00e7os label.service.state=Estado do Servi\u00e7o @@ -1374,6 +1406,9 @@ label.specify.vxlan=Especificar VXLAN label.SR.name=SR Name-Label label.srx.details=Detalhes do SRX label.srx=SRX +label.ssh.key.pair.details=Detalhes do par de chaves SSH +label.ssh.key.pair=Par de chaves SSH +label.ssh.key.pairs=Par de chaves SSH label.standard.us.keyboard=Standard (US) keyboard label.start.IP=IP do in\u00edcio label.start.lb.vm=Iniciar LB VM @@ -1386,6 +1421,7 @@ label.static.nat.enabled=NAT est\u00e1tico Habilitado label.static.nat=NAT Est\u00e1tico label.static.nat.to=NAT Est\u00e1tico para label.static.nat.vm.details=Detalhes de NAT est\u00e1tico da VM +label.static.routes=Rotas est\u00e1ticas label.statistics=Estat\u00edsticas label.status=Estado label.step.1=Passo 1 @@ -1435,6 +1471,7 @@ label.switch.type=Tipo de Switch label.system.capacity=Capacidade do Sistema label.system.offering.for.router=Oferta do Sistema para Roteador label.system.offering=Ofertas de Sistema +label.system.service.offering.details=Detalhes da oferta de servi\u00e7o de sistema label.system.service.offering=System Service Offering label.system.vm.details=Detalhes do System VM label.system.vm.scaled.up=System VM Escalonada @@ -1508,6 +1545,7 @@ label.usage.sanity.result=Resultado de Sanidade de Uso label.usage.server=Uso do Servidor label.used=Usado label.user.data=Dados de Usu\u00e1rio +label.user.details=Detalhes do usu\u00e1rio label.username.lower=nome do usu\u00e1rio label.username=Nome de usu\u00e1rio label.users=Usu\u00e1rios @@ -1601,6 +1639,7 @@ label.VPC.limits=Limites VPC label.vpc.offering.details=Detalhes da oferta VPC label.vpc.offering=Oferta VPC label.VPC.router.details=Detalhes de roteador de VPC +label.vpc.router.details=Detalhes do roteador da VPC label.vpc.supportsregionlevelvpc=Suporta VPC em N\u00edvel de Regi\u00e3o label.vpc.virtual.router=Roteador Virtual VPC label.vpc=VPC @@ -1754,7 +1793,7 @@ message.add.system.service.offering=Por favor preencha os dados abaixo para adic message.add.template=Entre com os dados para criar um novo template. message.add.volume=Entre com os dados para criar um novo disco. message.add.VPN.gateway=Favor confirmar que voc\u00ea deseja adicionar um gateway de VPN -message.admin.guide.read=Para VMs baseadas em VMware, por favor leia a sess\u00e3o sobre escalonamento din\u00e2mico no guia do administrador antes de escalonar. Voc\u00ea gostaria de continuar? +message.admin.guide.read=Para VMs baseadas em VMware, por favor leia a sess\u00e3o sobre escalonamento din\u00e2mico no guia do administrador antes de escalonar. Voc\u00ea gostaria de continuar?\\, message.advanced.mode.desc=Escolhe este modelo de rede se deseja ter habilitar o suporte a VLAN. Este modelo permite maior flexibilidade ao administrador ao permitir ofertas de rede customizada, firewall, vpn ou load balancer bem como acesso via rede virtual ou acesso direto. message.advanced.security.group=Escolha esta op\u00e7\u00e3o se desejar utilizar Security Groups para isolamento das VMs guest. message.advanced.virtual=Escolha esta op\u00e7\u00e3o se desejar utilizar VLANs para isolamento das VMs guest. @@ -1867,11 +1906,15 @@ message.delete.user=Por favor confirme que voc\u00ea deseja deletar este usu\u00 message.delete.VPN.connection=Favor confirmar que voc\u00ea deseja deletar esta conex\u00e3o VPN message.delete.VPN.customer.gateway=Favor confirmar que voc\u00ea deseja deletar este gateway de VPN de usu\u00e1rio message.delete.VPN.gateway=Favor confirmar que voc\u00ea deseja deletar este gateway de VPN +message.desc.add.new.lb.sticky.rule=Adicionar nova regra fixa de LB message.desc.advanced.zone=Para topologias de rede mais sofisticadas. Este modelo fornece maior flexibilidade na defini\u00e7\u00e3o de redes de clientes e fornece ofertas de rede personalizadas, tais como firewall, VPN ou de balanceamento de carga. message.desc.basic.zone=Fornece uma \u00fanica rede onde em cada inst\u00e2ncia de VM \u00e9 atribu\u00eddo um IP diretamente na rede. O isolamento Guest podem ser fornecidos atrav\u00e9s de camada-3 da rede com grupos de seguran\u00e7a (filtragem da fonte de endere\u00e7os IP). message.desc.cluster=Cada pod deve conter um ou mais clusters, e iremos adicionar o primeiro cluster agora. Um cluster fornece uma maneira de agrupamento de hosts. Os hosts de um cluster t\u00eam hardware id\u00eantico, executam o mesmo hypervisor, est\u00e3o na mesma sub-rede e acessam o mesmo storage compartilhado. Cada cluster \u00e9 constitu\u00eddo por um ou mais hosts e um ou mais servidores de storage prim\u00e1rio. +message.desc.created.ssh.key.pair=Par de chaves SSH criado +message.desc.create.ssh.key.pair=Por favor, preencha os seguintes dados para criar ou registar um par de chaves ssh.

(1) Se a chave p\u00fablica est\u00e1 definida, CloudStack ir\u00e1 registrar a chave p\u00fablica. Voc\u00ea pode us\u00e1-la atrav\u00e9s de sua chave privada.

(2) Se a chave p\u00fablica n\u00e3o est\u00e1 definida, CloudStack ir\u00e1 criar um novo par de chaves SSH. Neste caso, copie e salve a chave privada. CloudStack n\u00e3o ir\u00e1 mant\u00ea-la.
message.desc.host=Cada cluster deve conter pelo menos um host (computador) para as VMs guest serem executadas e iremos adicionar o primeira host agora. Para um host funcionar no CloudStack, voc\u00ea deve instalar um hypervisor no host, atribuir um endere\u00e7o IP e garantir que o host est\u00e1 conectado ao servidor de gerenciamento do CloudStack.

Forne\u00e7a o hostname ou o endere\u00e7o IP do host, o nome de usu\u00e1rio (geralmente root) e a senha e qualquer label que voc\u00ea utiliza para categorizar os hosts. message.desc.primary.storage=Cada cluster deve conter um ou mais servidores de storage prim\u00e1rio e iremos adicionar o primeiro agora. Um storage prim\u00e1rio, cont\u00e9m os volumes de disco para todas as VMs em execu\u00e7\u00e3o nos hosts do cluster. Utiliza qualquer protocolo compat\u00edvel com os padr\u00f5es que \u00e9 suportado pelo hypervisor utilizado. +message.desc.reset.ssh.key.pair=Por favor, especifique um par de chaves SSH que voc\u00ea deseja adicionar a esta VM. Por favor, note que a senha de root ser\u00e1 alterada por esta opera\u00e7\u00e3o caso a senha esteja ativada. message.desc.secondary.storage=Cada zona deve ter pelo menos um NFS ou servidor de storage secund\u00e1rio e iremos adicionar o primeiro agora. Um storage secund\u00e1rios armazena templates de VM, imagens ISO e snapshots do volume de disco da VM. Esse servidor deve estar dispon\u00edvel para todos os hosts na zona.

Fornecer o endere\u00e7o IP e o caminho exportados. message.desc.zone=Uma zona \u00e9 a maior unidade organizacional no CloudStack e normalmente corresponde \u00e0 um \u00fanico datacenter. As Zonas disponibilizam isolamento f\u00edsico e redund\u00e2ncia. Uma zona \u00e9 composta por um ou mais pods (cada um dos quais cont\u00e9m os hosts e servidores de storage prim\u00e1rio) e um servidor de storage secund\u00e1rio que \u00e9 compartilhado por todos os pods na zona. message.detach.disk=Voc\u00ea tem certeza que deseja desconectar este disco ? @@ -1963,6 +2006,7 @@ message.migrate.systemvm.confirm=Por favor confirme o host para o qual voc\u00ea message.migrate.volume=Por favor confirme que voc\u00ea deseja migrar o volume para outro storage prim\u00e1rio. message.network.addVM.desc=Por favor especifique a rede onde voc\u00ea gostaria de adicionar esta VM. Uma nova NIC ser\u00e1 adicionada a esta rede. message.network.addVMNIC=Por favor confirme que voc\u00ea gostaria de adicionar uma nova VM NIC para esta rede. +message.network.remote.access.vpn.configuration=A configura\u00e7\u00e3o de acesso remoto VPN foi gerada, mas falhou ao ser aplicada. Por favor, verifique a conectividade dos elementos de rede e depois tente novamente. message.new.user=Especifique abaixo para adicionar novos usu\u00e1rios para a conta message.no.affinity.groups=Voc\u00ea n\u00e3o tem nenhum grupo de afinidade. Por favor, v\u00e1 para o pr\u00f3ximo passo. message.no.host.available=Sem hosts dispon\u00edveis para Migra\u00e7\u00e3o @@ -1975,23 +2019,29 @@ message.number.hosts=

Hosts

message.number.pods=

PODs

message.number.storage=

Volumes do Storage Prim\u00e1rio

message.number.zones=

Zonas

+message.password.has.been.reset.to=A senha foi redefinida para +message.password.of.the.vm.has.been.reset.to=A senha da VM foi redefinida para message.pending.projects.1=Voc\u00ea possui convites de projetos pendentes\: message.pending.projects.2=Para visualizar, por favor acesse a se\u00e7\u00e3o de projetos, depois selecione os convites no menu drop-down. message.please.add.at.lease.one.traffic.range=Por favor adicione pelo menos um range de tr\u00e1fego. +message.please.confirm.remove.ssh.key.pair=Por favor, confirme que voc\u00ea deseja remover este par de chaves SSH message.please.proceed=Por favor, v\u00e1 para o pr\u00f3ximo passo. message.please.select.a.configuration.for.your.zone=Por favor selecione uma configuracao para sua zona. message.please.select.a.different.public.and.management.network.before.removing=Por favor selecione uma rede p\u00fablica e de gerenciamento diferente antes de remover message.please.select.networks=Por favor selecione as redes para sua m\u00e1quina virtual. +message.please.select.ssh.key.pair.use.with.this.vm=Por favor, selecione um par de chaves SSH que voc\u00ea deseja que esta VM utilize\: message.please.wait.while.zone.is.being.created=Por favor, espere enquanto sua zona est\u00e1 sendo criada; isto pode demorar um pouco... message.pod.dedication.released=Pod Dedicado liberado message.portable.ip.delete.confirm=Favor confirmar que voc\u00ea deseja apagar esta Faixa de IPs Port\u00e1veis message.project.invite.sent=Convite enviado para o usu\u00e1rio; Eles ser\u00e3o adicionados ao projeto ap\u00f3s aceitarem o convite message.public.traffic.in.advanced.zone=O tr\u00e1fego p\u00fablico \u00e9 gerado quando as VMs na nuvem acessam a internet. Os IPs acess\u00edveis ao p\u00fablico devem ser alocados para essa finalidade. Os usu\u00e1rios finais podem usar a interface do usu\u00e1rio CloudStack para adquirir esses IPs afim de implementar NAT entre a sua rede de guests e sua rede p\u00fablica.

Forne\u00e7a pelo menos um intervalo de endere\u00e7os IP para o tr\u00e1fego de internet. message.public.traffic.in.basic.zone=O tr\u00e1fego p\u00fablico \u00e9 gerado quando as VMs na nuvem acessam a Internet ou prestam servi\u00e7os aos clientes atrav\u00e9s da Internet. Os IPs acess\u00edveis ao p\u00fablico devem ser alocados para essa finalidade. Quando uma inst\u00e2ncia \u00e9 criada, um IP a partir deste conjunto de IPs p\u00fablicos ser\u00e3o destinados \u00e0 inst\u00e2ncia, al\u00e9m do endere\u00e7o IP guest. Um NAT est\u00e1tico 1-1 ser\u00e1 criada automaticamente entre o IP p\u00fablico e IP guest. Os usu\u00e1rios finais tamb\u00e9m podem usar a interface de usu\u00e1rio CloudStack para adquirir IPs adicionais afim de se implementar NAT est\u00e1tico entre suas inst\u00e2ncias e o IP p\u00fablico. +message.question.are.you.sure.you.want.to.add=Voc\u00ea tem certeza que deseja adicionar message.read.admin.guide.scaling.up=Por favor leia a sess\u00e3o sobre escalonamento din\u00e2mico no guia do administrador antes de escalonar. message.recover.vm=Por favor, confirme a recupera\u00e7\u00e3o desta VM. message.redirecting.region=Redirecionando para regi\u00e3o... message.reinstall.vm=NOTA\: Proceda com cuidado. Isso far\u00e1 com que a m\u00e1quina virtual seja re-instalada a partir do Template. Todos os datos do disco ROOT ser\u00e3o perdidos. Volumes de Dados adicionais, se houver, n\u00e3o ser\u00e3o alterados. +message.removed.ssh.key.pair=Par de chaves SSH removido message.remove.ldap=Voc\u00ea tem certeza que deseja deletar a configura\u00e7\u00e3o LDAP? message.remove.region=Voc\u00ea tem certeza que deseja remover esta regi\u00e3o deste servidor de gerenciamento? message.remove.vpc=Favor confirmar que voc\u00ea deseja remover a VPC diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties index 756a68a67e6d..b51020693014 100644 --- a/client/WEB-INF/classes/resources/messages_zh_CN.properties +++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties @@ -1668,7 +1668,7 @@ message.add.system.service.offering=\u8bf7\u586b\u5199\u4ee5\u4e0b\u6570\u636e\u message.add.template=\u8bf7\u8f93\u5165\u4ee5\u4e0b\u6570\u636e\u4ee5\u521b\u5efa\u65b0\u6a21\u677f message.add.volume=\u8bf7\u586b\u5199\u4ee5\u4e0b\u6570\u636e\u4ee5\u6dfb\u52a0\u4e00\u4e2a\u65b0\u5377\u3002 message.add.VPN.gateway=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u6dfb\u52a0 VPN \u7f51\u5173 -message.admin.guide.read=\u5bf9\u4e8e\u57fa\u4e8e VMware \u7684 VM\uff0c\u8bf7\u5148\u9605\u8bfb\u7ba1\u7406\u6307\u5357\u4e2d\u7684\u52a8\u6001\u6269\u5c55\u90e8\u5206\uff0c\u7136\u540e\u518d\u8fdb\u884c\u6269\u5c55\u3002\u662f\u5426\u8981\u7ee7\u7eed?, +message.admin.guide.read=\u5bf9\u4e8e\u57fa\u4e8e VMware \u7684 VM\uff0c\u8bf7\u5148\u9605\u8bfb\u7ba1\u7406\u6307\u5357\u4e2d\u7684\u52a8\u6001\u6269\u5c55\u90e8\u5206\uff0c\u7136\u540e\u518d\u8fdb\u884c\u6269\u5c55\u3002\u662f\u5426\u8981\u7ee7\u7eed?\\, message.advanced.mode.desc=\u5982\u679c\u8981\u542f\u7528 VLAN \u652f\u6301\uff0c\u8bf7\u9009\u62e9\u6b64\u7f51\u7edc\u6a21\u5f0f\u3002\u6b64\u7f51\u7edc\u6a21\u5f0f\u5728\u5141\u8bb8\u7ba1\u7406\u5458\u63d0\u4f9b\u9632\u706b\u5899\u3001VPN \u6216\u8d1f\u8f7d\u5e73\u8861\u5668\u652f\u6301\u7b49\u81ea\u5b9a\u4e49\u7f51\u7edc\u65b9\u6848\u4ee5\u53ca\u542f\u7528\u76f4\u63a5\u7f51\u7edc\u8fde\u63a5\u4e0e\u865a\u62df\u7f51\u7edc\u8fde\u63a5\u7b49\u65b9\u9762\u63d0\u4f9b\u4e86\u6700\u5927\u7684\u7075\u6d3b\u6027\u3002 message.advanced.security.group=\u5982\u679c\u8981\u4f7f\u7528\u5b89\u5168\u7ec4\u63d0\u4f9b\u6765\u5bbe VM \u9694\u79bb\uff0c\u8bf7\u9009\u62e9\u6b64\u6a21\u5f0f\u3002 message.advanced.virtual=\u5982\u679c\u8981\u4f7f\u7528\u6574\u4e2a\u8d44\u6e90\u57df\u7684 VLAN \u63d0\u4f9b\u6765\u5bbe VM \u9694\u79bb\uff0c\u8bf7\u9009\u62e9\u6b64\u6a21\u5f0f\u3002