Complete localization for quick install wizard

-- Also separates EULA into an iframe-embedded HTML file
This commit is contained in:
Brian Federle 2012-02-16 14:44:42 -08:00
parent 280fb3e72b
commit 6d8a11c74b
7 changed files with 324 additions and 114 deletions

View File

@ -1,4 +1,69 @@
label.installWizard.title=Hello and Welcome to CloudStack&#8482.
label.corrections.saved=Corrections saved
message.installWizard.copy.whatIsSecondaryStorage=Secondary storage is associated with a zone, and it stores the following:<ul><li>Templates - OS images that can be used to boot VMs and can include additional configuration information, such as installed applications</li><li>ISO images - OS images that can be bootable or non-bootable</li><li>Disk volume snapshots - saved copies of VM data which can be used for data recovery or to create new templates</ul>
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.<br/><br/><strong>Primary storage</strong> 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.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.<br/><br/>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.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.<br/><br/>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.<br/><br/>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.<br/><br/>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&rsquo;s add secondary storage
label.installWizard.addPrimaryStorageIntro.subtitle=What is primary storage?
label.installWizard.addPrimaryStorageIntro.title=Let&rsquo;s add primary storage
label.installWizard.addHostIntro.subtitle=What is a host?
label.installWizard.addHostIntro.title=Let&rsquo;s add a host
label.installWizard.addClusterIntro.subtitle=What is a cluster?
label.installWizard.addClusterIntro.title=Let&rsquo;s add a cluster
label.installWizard.addPodIntro.subtitle=What is a pod?
label.installWizard.addPodIntro.title=Let&rsquo;s add a pod
label.installWizard.addZone.title=Add zone
label.installWizard.addZoneIntro.subtitle=What is a zone?
label.installWizard.addZoneIntro.title=Let&rsquo;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.license.agreement=License Agreement
label.license.agreement.subtitle=Please accept the CloudStack&#8482 EULA before installing.

View File

@ -1,4 +1,69 @@
label.installWizard.title=こんにちは、CloudStack&#8482 へようこそ。
label.corrections.saved=修正が保存され
message.installWizard.copy.whatIsSecondaryStorage=セカンダリストレージは、ゾーンに関連付けられており、それは次のように格納されてい:<ul><li>テンプレート - OSイメージのVMを起動すると、インストール済みのアプリケーションなどの追加の構成情報を含めることができます使用することができます</li><li>ISOイメージ - ブートまたは非ブートできるOSイメージ</li><li>ディスクボリュームのスナップショット - データ復旧のために使用することができ、VMデータのコピーを保存したり、新しいテンプレートを作成する</ul>
message.installWizard.copy.whatIsPrimaryStorage=プライマリストレージとセカンダリストレージCloudStack™クラウド·インフラストラクチャは、ストレージの2つのタイプを使用しています。これらの両方は、iSCSIまたはNFSサーバー、またはlocaldiskすることができます。<br/><br/>プライマリ·ストレージは、クラスタに関連付けられており、そのクラスタ内のホスト上で実行されているすべてのVMの各ゲストVMのディスクボリュームに格納されています。プライマリ·ストレージ·サーバーは通常、ホストの近くに位置しています。
message.installWizard.copy.whatIsAHost=ホストは、単一のコンピュータです。ホストは、ゲスト仮想マシンを実行するコンピューティングリソースを提供しています。各ホストは、ゲストVMを高度なインストレーション·ガイドで説明する特殊なケースであるベアメタルホストを除くを管理するためにそれにインストールされているソフトウェアをハイパーバイザしています。たとえば、Linux KVM対応のサーバーは、Citrix XenServerサーバ、およびESXiサーバがホストです。基本インストールでは、我々は、XenServerを実行する単一ホストを使用します。<br/><br/>ホストはCloudStack™展開内で最小の組織単位です。ホストがクラスタ内に含まれている、クラスタは、ポッド内に含まれており、ポッドは、ゾーン内に含まれています。
message.installWizard.copy.whatIsACluster=クラスタは、グループのホストにする方法を提供します。クラスタ内のホストはすべて同一のハードウェアを持っている、同じハイパーバイザー実行したのと同じサブネット上にあり、同じ共有ストレージにアクセスすることができます。仮想マシン·インスタンスVMSは、ユーザーにサービスを中断することなく、同じクラスタ内の別のホストからのライブ移行することができます。クラスタは、CloudStack内サード最大の組織単位™展開です。クラスタは、ポッド内に含まれており、ポッドは、ゾーン内に含まれています。<br/><br/>CloudStack™は、クラウドの展開で複数のクラスタを使用できますが、基本的なインストールのために、私達は1つのクラスタのみを必要としています。
message.installWizard.copy.whatIsAPod=ポッドは、多くの場合、単一のラックを表しています。同じポッド内のホストが同じサブネット内にあります。<br/><br/>ポッドはCloudStack内で二番目に大きい組織単位™展開です。ポッドは、ゾーン内に含まれています。各ゾーンは、1つまたは複数のポッドを含めることができます。基本インストールでは、あなたのゾーンのひとつポッドを持っています。
message.installWizard.copy.whatIsAZone=ゾーンはCloudStack内で最大の組織単位™展開です。それはデータセンター内の複数のゾーンを持つことが許されているが、ゾーンは、通常、単一のデータセンターに対応しています。ゾーンにインフラを整理することの利点は、物理的な分離と冗長性を提供することです。たとえば、各ゾーンは独自の電源とネットワークのアップリンクを持つことができ、ゾーンが広くこれは必須ではありませんが地理的に分離することができます。
message.installWizard.copy.whatIsCloudStack=CloudStack™は、プール·コンピューティング·リソースがサービスIaaSの雲のように、パブリック、プライベート、ハイブリッドインフラストラクチャを構築することがソフトウェアプラットフォームです。 CloudStack™は、ネットワーク、ストレージ、クラウドインフラストラクチャを構成する計算ードを管理します。展開、管理、およびクラウドコンピューティング環境を構成するためにCloudStack™を使用しています。<br/><br/>コモディティ·ハードウェア上で実行されている個々の仮想マシンのイメージを超えて拡張すると、CloudStack™は、サービスとしての仮想データセンターを実現するためのターンキー·クラウド·インフラストラクチャ·ソフトウェア·スタックを提供します - マルチティアとマルチテナント型のクラウドを構築、デプロイ、および管理するために不可欠なすべてのコンポーネントを提供アプリケーション。オープンソースとプレミアムバージョンの両方がほぼ同じ機能を提供するオープンソースのバージョンでは、用意されています。
message.installWizard.tooltip.addSecondaryStorage.path=あなたは上記で指定したサーバー上にあるエクスポートされたパス、
message.installWizard.tooltip.addSecondaryStorage.nfsServer=セカンダリ·ストレージをホストしているNFSサーバのIPアドレス
message.installWizard.tooltip.addPrimaryStorage.path=NFSのNFSでは、これはサーバーからエクスポートされたパスです。パスSharedMountPoint用。 KVMでこれは、このプライマリ·ストレージがマウントされている場所は、各ホスト上のパスです。たとえば、 /mnt/primary。
message.installWizard.tooltip.addPrimaryStorage.server=NFS、iSCSI、またはPreSetupのIPアドレスまたはストレージデバイスのDNS名。
message.installWizard.tooltip.addPrimaryStorage.name=ストレージデバイスの名前を入力します。
message.installWizard.tooltip.addHost.password=これは上記の名前のユーザのパスワードXenServerのインストールからです。
message.installWizard.tooltip.addHost.username=通常ルート。
message.installWizard.tooltip.addHost.hostname=DNS名またはホストのIPアドレス。
message.installWizard.tooltip.addCluster.name=クラスタの名前。これは任意のテキストにすることができ、CloudStack使用されていません。
message.installWizard.tooltip.addPod.reservedSystemEndIp=これはCloudStackは、セカンダリストレージの仮想マシンとコンソールのプロキシ仮想マシンを管理するために使用するプライベートネットワーク内のIP範囲です。これらのIPアドレスは、コンピューティング·サーバーと同じサブネットから取得されます。
message.installWizard.tooltip.addPod.reservedSystemStartIp=これはCloudStackは、セカンダリストレージの仮想マシンとコンソールのプロキシ仮想マシンを管理するために使用するプライベートネットワーク内のIP範囲です。これらのIPアドレスは、コンピューティング·サーバーと同じサブネットから取得されます。
message.installWizard.tooltip.addPod.reservedSystemNetmask=お客様が使用されるサブネットで使用中のマスク。
message.installWizard.tooltip.addPod.reservedSystemGateway=そのポッド内のホストに対するゲートウェイ。
message.installWizard.tooltip.addPod.name=ポッドの名前
message.installWizard.tooltip.configureGuestTraffic.guestEndIp=このゾーンのゲストへの割り当てのために利用できるようになりますIPアドレスの範囲。つのNICが使用されている場合、これらのIPはポッドCIDR CIDRと同じである必要があります。
message.installWizard.tooltip.configureGuestTraffic.guestStartIp=このゾーンのゲストへの割り当てのために利用できるようになりますIPアドレスの範囲。つのNICが使用されている場合、これらのIPはポッドCIDR CIDRと同じである必要があります。
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=ゲストが使用する必要があるサブネットで使用中のマスク
message.installWizard.tooltip.configureGuestTraffic.guestGateway=ゲストが使用するゲートウェイ
message.installWizard.tooltip.configureGuestTraffic.description=ネットワークの説明
message.installWizard.tooltip.configureGuestTraffic.name=あなたのネットワークの名前
message.installWizard.tooltip.addZone.internaldns2=これらは、ゾーン内のシステムのVMで使用するためのDNSサーバです。これらのDNSサーバーは、システムのVMのプライベート·ネットワーク·インタフェースを介してアクセスされます。あなたはポッドを提供するプライベートIPアドレスは、ここという名前のDNSサーバへのルートを持っている必要があります。
message.installWizard.tooltip.addZone.internaldns1=これらは、ゾーン内のシステムのVMで使用するためのDNSサーバです。これらのDNSサーバーは、システムのVMのプライベート·ネットワーク·インタフェースを介してアクセスされます。あなたはポッドを提供するプライベートIPアドレスは、ここという名前のDNSサーバへのルートを持っている必要があります。
message.installWizard.tooltip.addZone.dns2=これらは、ゾーン内のゲストVMで使用するためのDNSサーバです。これらのDNSサーバーは、後で追加され、パブリックネットワークを介してアクセスされます。ゾーンのパブリックIPアドレスは、ここで名前のDNSサーバへのルートを持っている必要があります。
message.installWizard.tooltip.addZone.name=ゾーンの名前
message.installWizard.tooltip.addZone.dns1=これらは、ゾーン内のゲストVMで使用するためのDNSサーバです。これらのDNSサーバーは、後で追加され、パブリックネットワークを介してアクセスされます。ゾーンのパブリックIPアドレスは、ここで名前のDNSサーバへのルートを持っている必要があります。
message.setup.successful=雲のセットアップに成功!
label.may.continue=あなたは今継続することができます。
error.installWizard.message=何かが間違っていた、元に戻ってすべてのエラーを訂正することができる
message.installWizard.now.building=今すぐあなたのクラウドを構築...
message.installWizard.click.retry=起動を再試行する]ボタンをクリックします。
label.launch=起動する
label.installWizard.click.launch=起動ボタンをクリックします。
label.congratulations=おめでとう!
label.installWizard.addSecondaryStorageIntro.subtitle=二次記憶装置とは何ですか?
label.installWizard.addSecondaryStorageIntro.title=のがセカンダリ·ストレージを追加してみましょう
label.installWizard.addPrimaryStorageIntro.subtitle=プライマリストレージとは何ですか?
label.installWizard.addPrimaryStorageIntro.title=のは、プライマリ·ストレージを追加してみましょう
label.installWizard.addHostIntro.subtitle=ホストとは何ですか?
label.installWizard.addHostIntro.title=のホストを追加してみましょう
label.installWizard.addClusterIntro.subtitle=クラスタとは何ですか?
label.installWizard.addClusterIntro.title=のクラスタを追加してみましょう
label.installWizard.addPodIntro.subtitle=ポッドとは何ですか?
label.installWizard.addPodIntro.title=のは、ポッドを追加してみましょう
label.installWizard.addZone.title=ゾーンを追加する
label.installWizard.addZoneIntro.subtitle=ゾーンとは何ですか?
label.installWizard.addZoneIntro.title=ゾーンを追加する
error.password.not.match=パスワードフィールドが一致しません
label.confirm.password=パスワードを確認
message.change.password=パスワードを変更してください。
label.save.and.continue=保存して続行
label.skip.guide=このガイドをスキップする前に、私はCloudStack使用している
label.continue.basic.install=基本的なインストールを続行し
label.introduction.to.cloudstack=CloudStack&#8482するために導入
label.what.is.cloudstack=CloudStack&#8482 は何ですか?
label.hints=ヒント
label.installWizard.subtitle=このツアーでは、あなたのCloudStack&#8482 のインストールを設定する際に役立ちます
label.continue=続ける
label.installWizard.title=こんにちは、CloudStack&#8482 へようこそ。
label.agree=同意する
label.license.agreement=ライセンス契約
label.license.agreement.subtitle=インストールする前に、CloudStack&#8482 ライセンスに同意してください。

View File

@ -494,9 +494,8 @@ body.login {
/*** EULA*/
.install-wizard .eula-copy {
width: 645px;
width: 688px;
height: 480px;
overflow: auto;
background: #FFFFFF;
border: 1px solid #BCBCBC;
/*+box-shadow:0px 4px 10px #B9B9B9;*/
@ -504,7 +503,7 @@ body.login {
-webkit-box-shadow: 0px 4px 10px #B9B9B9;
-o-box-shadow: 0px 4px 10px #B9B9B9;
box-shadow: 0px 4px 10px #B9B9B9;
padding: 8px 20px;
padding: 0;
/*+border-radius:4px;*/
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
@ -707,6 +706,12 @@ body.login {
.install-wizard .step.intro {
}
.install-wizard .step.intro iframe {
width: 99%;
height: 99%;
margin: 4px;
}
.install-wizard .step.intro .title {
color: #565454;
margin-left: 0;

1
ui/eula.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -1614,6 +1614,72 @@
<script language="javascript">
dictionary = {
'label.corrections.saved': '<fmt:message key="label.corrections.saved"/>',
'message.installWizard.copy.whatIsSecondaryStorage': '<fmt:message key="message.installWizard.copy.whatIsSecondaryStorage"/>',
'message.installWizard.copy.whatIsPrimaryStorage': '<fmt:message key="message.installWizard.copy.whatIsPrimaryStorage"/>',
'message.installWizard.copy.whatIsAHost': '<fmt:message key="message.installWizard.copy.whatIsAHost"/>',
'message.installWizard.copy.whatIsACluster': '<fmt:message key="message.installWizard.copy.whatIsACluster"/>',
'message.installWizard.copy.whatIsACluster': '<fmt:message key="message.installWizard.copy.whatIsACluster"/>',
'message.installWizard.copy.whatIsAPod': '<fmt:message key="message.installWizard.copy.whatIsAPod"/>',
'message.installWizard.copy.whatIsAZone': '<fmt:message key="message.installWizard.copy.whatIsAZone"/>',
'message.installWizard.copy.whatIsCloudStack': '<fmt:message key="message.installWizard.copy.whatIsCloudStack"/>',
'message.installWizard.tooltip.addSecondaryStorage.path': '<fmt:message key="message.installWizard.tooltip.addSecondaryStorage.path"/>',
'message.installWizard.tooltip.addSecondaryStorage.nfsServer': '<fmt:message key="message.installWizard.tooltip.addSecondaryStorage.nfsServer"/>',
'message.installWizard.tooltip.addPrimaryStorage.path': '<fmt:message key="message.installWizard.tooltip.addPrimaryStorage.path"/>',
'message.installWizard.tooltip.addPrimaryStorage.server': '<fmt:message key="message.installWizard.tooltip.addPrimaryStorage.server"/>',
'message.installWizard.tooltip.addPrimaryStorage.name': '<fmt:message key="message.installWizard.tooltip.addPrimaryStorage.name"/>',
'message.installWizard.tooltip.addHost.password': '<fmt:message key="message.installWizard.tooltip.addHost.password"/>',
'message.installWizard.tooltip.addHost.username': '<fmt:message key="message.installWizard.tooltip.addHost.username"/>',
'message.installWizard.tooltip.addHost.hostname': '<fmt:message key="message.installWizard.tooltip.addHost.hostname"/>',
'message.installWizard.tooltip.addCluster.name': '<fmt:message key="message.installWizard.tooltip.addCluster.name"/>',
'message.installWizard.tooltip.addPod.reservedSystemEndIp': '<fmt:message key="message.installWizard.tooltip.addPod.reservedSystemEndIp"/>',
'message.installWizard.tooltip.addPod.reservedSystemStartIp': '<fmt:message key="message.installWizard.tooltip.addPod.reservedSystemStartIp"/>',
'message.installWizard.tooltip.addPod.reservedSystemNetmask': '<fmt:message key="message.installWizard.tooltip.addPod.reservedSystemNetmask"/>',
'message.installWizard.tooltip.addPod.reservedSystemGateway': '<fmt:message key="message.installWizard.tooltip.addPod.reservedSystemGateway"/>',
'message.installWizard.tooltip.addPod.name': '<fmt:message key="message.installWizard.tooltip.addPod.name"/>',
'message.installWizard.tooltip.configureGuestTraffic.guestEndIp': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.guestEndIp"/>',
'message.installWizard.tooltip.configureGuestTraffic.guestStartIp': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.guestStartIp"/>',
'message.installWizard.tooltip.configureGuestTraffic.guestNetmask': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.guestNetmask"/>',
'message.installWizard.tooltip.configureGuestTraffic.guestGateway': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.guestGateway"/>',
'message.installWizard.tooltip.configureGuestTraffic.description': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.description"/>',
'message.installWizard.tooltip.configureGuestTraffic.name': '<fmt:message key="message.installWizard.tooltip.configureGuestTraffic.name"/>',
'message.installWizard.tooltip.addZone.internaldns2': '<fmt:message key="message.installWizard.tooltip.addZone.internaldns2"/>',
'message.installWizard.tooltip.addZone.internaldns1': '<fmt:message key="message.installWizard.tooltip.addZone.internaldns1"/>',
'message.installWizard.tooltip.addZone.dns2': '<fmt:message key="message.installWizard.tooltip.addZone.dns2"/>',
'message.installWizard.tooltip.addZone.dns1': '<fmt:message key="message.installWizard.tooltip.addZone.dns1"/>',
'message.installWizard.tooltip.addZone.name': '<fmt:message key="message.installWizard.tooltip.addZone.name"/>',
'label.launch': '<fmt:message key="label.launch"/>',
'label.hints': '<fmt:message key="label.hints"/>',
'label.continue': '<fmt:message key="label.continue"/>',
'message.setup.successful': '<fmt:message key="message.setup.successful"/>',
'label.may.continue': '<fmt:message key="label.may.continue"/>',
'error.installWizard.message': '<fmt:message key="error.installWizard.message"/>',
'message.installWizard.now.building': '<fmt:message key="message.installWizard.now.building"/>',
'message.installWizard.click.retry': '<fmt:message key="message.installWizard.click.retry"/>',
'label.installWizard.click.launch': '<fmt:message key="label.installWizard.click.launch"/>',
'label.congratulations': '<fmt:message key="label.congratulations"/>',
'label.installWizard.addSecondaryStorageIntro.subtitle': '<fmt:message key="label.installWizard.addSecondaryStorageIntro.subtitle"/>',
'label.installWizard.addSecondaryStorageIntro.title': '<fmt:message key="label.installWizard.addSecondaryStorageIntro.title"/>',
'label.installWizard.addPrimaryStorageIntro.subtitle': '<fmt:message key="label.installWizard.addPrimaryStorageIntro.subtitle"/>',
'label.installWizard.addPrimaryStorageIntro.title': '<fmt:message key="label.installWizard.addPrimaryStorageIntro.title"/>',
'label.installWizard.addHostIntro.subtitle': '<fmt:message key="label.installWizard.addHostIntro.subtitle"/>',
'label.installWizard.addHostIntro.title': '<fmt:message key="label.installWizard.addHostIntro.title"/>',
'label.installWizard.addClusterIntro.subtitle': '<fmt:message key="label.installWizard.addClusterIntro.subtitle"/>',
'label.installWizard.addClusterIntro.title': '<fmt:message key="label.installWizard.addClusterIntro.title"/>',
'label.installWizard.addPodIntro.subtitle': '<fmt:message key="label.installWizard.addPodIntro.subtitle"/>',
'label.installWizard.addPodIntro.title': '<fmt:message key="label.installWizard.addPodIntro.title"/>',
'label.installWizard.addZone.title': '<fmt:message key="label.installWizard.addZone.title"/>',
'error.password.not.match': '<fmt:message key="error.password.not.match"/>',
'label.installWizard.addZoneIntro.subtitle': '<fmt:message key="label.installWizard.addZoneIntro.subtitle"/>',
'label.installWizard.addZoneIntro.title': '<fmt:message key="label.installWizard.addZoneIntro.title"/>',
'label.confirm.password': '<fmt:message key="label.confirm.password"/>',
'message.change.password': '<fmt:message key="message.change.password"/>',
'label.save.and.continue': '<fmt:message key="label.save.and.continue"/>',
'label.continue.basic.install': '<fmt:message key="label.continue.basic.install"/>',
'label.skip.guide': '<fmt:message key="label.skip.guide"/>',
'label.introduction.to.cloudstack': '<fmt:message key="label.introduction.to.cloudstack"/>',
'label.what.is.cloudstack': '<fmt:message key="label.what.is.cloudstack"/>',
'label.installWizard.subtitle': '<fmt:message key="label.installWizard.subtitle"/>',
'label.installWizard.title': '<fmt:message key="label.installWizard.title"/>',
'label.agree': '<fmt:message key="label.agree"/>',
'label.license.agreement.subtitle': '<fmt:message key="label.license.agreement.subtitle"/>',

File diff suppressed because one or more lines are too long

View File

@ -27,7 +27,7 @@
cloudStack.installWizard.copy[id]({
response: {
success: function(args) {
$elem.append(args.text);
$elem.append(_l(args.text));
}
}
});
@ -79,7 +79,7 @@
var $subtitle = $('<div></div>').addClass('subtitle')
.html(subtitle);
var $copy = getCopy(copyID, $('<p></p>'));
var $prev = elems.prevButton('Go back');
var $prev = elems.prevButton(_l('label.back'));
var $continue = elems.nextButton('OK');
$continue.click(function() {
@ -121,9 +121,9 @@
var $container = $('<div></div>').addClass(id);
var $form = $('<div>').addClass('setup-form');
var $save = elems.nextButton('Continue', { type: 'submit' });
var $prev = elems.prevButton('Go back');
var $title = $('<div></div>').addClass('title').html(title);
var $save = elems.nextButton(_l('label.continue'), { type: 'submit' });
var $prev = elems.prevButton(_l('label.back'));
var $title = $('<div></div>').addClass('title').html(_l(title));
// Generate form
form = cloudStack.dialog.createForm({
@ -190,8 +190,8 @@
tooltip: function(title, content) {
return $('<div>').addClass('tooltip-info').append(
$('<div>').addClass('arrow'),
$('<div>').addClass('title').html(title),
$('<div>').addClass('content').append($('<p>').html(content))
$('<div>').addClass('title').html(_l(title)),
$('<div>').addClass('content').append($('<p>').html(_l(content)))
);
},
@ -203,7 +203,7 @@
.append(
$.merge(
$('<h2></h2>').html(_l('label.installWizard.title')),
$('<h3></h3>').html('This tour will aid you in setting up your CloudStack installation')
$('<h3></h3>').html(_l('label.installWizard.subtitle'))
)
);
},
@ -257,7 +257,7 @@
* Show tooltip for focused form elements
*/
var showTooltip = function($formContainer, sectionID) {
var $tooltip = elems.tooltip('Hints', '');
var $tooltip = elems.tooltip(_l('label.hints'), '');
$formContainer.find('input[type=text]').focus(function() {
var $input = $(this);
@ -303,11 +303,11 @@
intro: function(args) {
var $intro = $('<div></div>').addClass('intro what-is-cloudstack');
var $title = $('<div></div>').addClass('title').html('What is CloudStack&#8482?');
var $subtitle = $('<div></div>').addClass('subtitle').html('Introduction to CloudStack&#8482');
var $title = $('<div></div>').addClass('title').html(_l('label.what.is.cloudstack'));
var $subtitle = $('<div></div>').addClass('subtitle').html(_l('label.introduction.to.cloudstack'));
var $copy = getCopy('whatIsCloudStack', $('<p></p>'));
var $continue = elems.nextButton('Continue with basic installation');
var $advanced = elems.nextButton('I have used Cloudstack before, skip this guide').addClass('advanced-installation');
var $continue = elems.nextButton(_l('label.continue.basic.install'));
var $advanced = elems.nextButton(_l('label.skip.guide')).addClass('advanced-installation');
$continue.click(function() {
goTo('changeUser');
@ -332,17 +332,25 @@
var $form = $('<form></form>').appendTo($changeUser);
// Fields
var $password = $('<input>').addClass('required').attr({ id: 'password', type: 'password', name: 'password' });
var $passwordConfirm = $('<input>').addClass('required').attr({ id: 'password-confirm', type: 'password', name: 'password-confirm' });
var $save = elems.nextButton('Save and continue', { type: 'submit' });
var $password = $('<input>').addClass('required').attr({
id: 'password',
type: 'password',
name: 'password'
});
var $passwordConfirm = $('<input>').addClass('required').attr({
id: 'password-confirm',
type: 'password',
name: 'password-confirm'
});
var $save = elems.nextButton(_l('label.save.and.continue'), { type: 'submit' });
$form.append(
$('<div></div>').addClass('title').html('Please change your password.'),
$('<div></div>').addClass('title').html(_l('message.change.password')),
$('<div></div>').addClass('field').append(
$('<label>New Password:</label>'), $password
$('<label>' + _l('label.new.password') + ':</label>'), $password
),
$('<div></div>').addClass('field').append(
$('<label>Confirm Password:</label>'), $passwordConfirm
$('<label>' + _l('label.confirm.password') + ':</label>'), $passwordConfirm
),
$save
);
@ -355,7 +363,7 @@
},
messages: {
'password-confirm': {
equalTo: 'The password fields do not match.'
equalTo: _l('error.password.not.match')
}
}
});
@ -385,8 +393,8 @@
* @param args
*/
addZoneIntro: elems.stepIntro({
title: "Let's add a zone",
subtitle: 'What is a zone?',
title: _l('label.installWizard.addZoneIntro.title'),
subtitle: _l('label.installWizard.addZoneIntro.subtitle'),
copyID: 'whatIsAZone',
prevStepID: 'changeUser',
nextStepID: 'addZone',
@ -397,7 +405,7 @@
* Add zone form
*/
addZone: elems.step({
title: 'Add zone',
title: _l('label.installWizard.addZone.title'),
id: 'add-zone',
stateID: 'zone',
tooltipID: 'addZone',
@ -405,11 +413,11 @@
prevStepID: 'addZoneIntro',
nextStepID: 'addPodIntro',
form: {
name: { label: 'Name', validation: { required: true } },
dns1: { label: 'DNS 1', validation: { required: true } },
dns2: { label: 'DNS 2' },
internaldns1: { label: 'Internal DNS 1', validation: { required: true } },
internaldns2: { label: 'Internal DNS 2' }
name: { label: 'label.name', validation: { required: true } },
dns1: { label: 'label.dns.1', validation: { required: true } },
dns2: { label: 'label.dns.2' },
internaldns1: { label: 'label.internal.dns.1', validation: { required: true } },
internaldns2: { label: 'label.internal.dns.2' }
}
}),
@ -418,8 +426,8 @@
* @param args
*/
addPodIntro: elems.stepIntro({
title: "Let's add a pod.",
subtitle: 'What is a pod?',
title: _l('label.installWizard.addPodIntro.title'),
subtitle: _l('label.installWizard.addPodIntro.subtitle'),
copyID: 'whatIsAPod',
prevStepID: 'addZone',
nextStepID: 'addPod',
@ -431,7 +439,7 @@
* @param args
*/
addPod: elems.step({
title: 'Add pod',
title: _l('label.add.pod'),
id: 'add-pod',
stateID: 'pod',
tooltipID: 'addPod',
@ -439,11 +447,11 @@
prevStepID: 'addPodIntro',
nextStepID: 'configureGuestTraffic',
form: {
name: { label: 'Name', validation: { required: true }},
reservedSystemGateway: { label: 'Gateway', validation: { required: true }},
reservedSystemNetmask: { label: 'Netmask', validation: { required: true }},
name: { label: 'label.name', validation: { required: true }},
reservedSystemGateway: { label: 'label.gateway', validation: { required: true }},
reservedSystemNetmask: { label: 'label.netmask', validation: { required: true }},
ipRange: {
label: 'IP Range',
label: 'label.ip.range',
range: ['reservedSystemStartIp', 'reservedSystemEndIp'],
validation: { required: true }
}
@ -454,7 +462,7 @@
* Add guest network form
*/
configureGuestTraffic: elems.step({
title: 'Add guest network',
title: _l('label.add.guest.network'),
id: 'add-guest-network',
stateID: 'guestTraffic',
tooltipID: 'configureGuestTraffic',
@ -462,9 +470,9 @@
prevStepID: 'addPod',
nextStepID: 'addClusterIntro',
form: {
guestGateway: { label: 'Gateway', validation: { required: true } },
guestNetmask: { label: 'Netmask', validation: { required: true } },
guestIPRange: { label: 'IP Range', range: ['guestStartIp', 'guestEndIp'], validation: { required: true } }
guestGateway: { label: 'label.gateway', validation: { required: true } },
guestNetmask: { label: 'label.netmask', validation: { required: true } },
guestIPRange: { label: 'label.ip.range', range: ['guestStartIp', 'guestEndIp'], validation: { required: true } }
}
}),
@ -473,8 +481,8 @@
* @param args
*/
addClusterIntro: elems.stepIntro({
title: "Let's add a cluster.",
subtitle: 'What is a cluster?',
title: _l('label.installWizard.addClusterIntro.title'),
subtitle: _l('label.installWizard.addClusterIntro.subtitle'),
copyID: 'whatIsACluster',
prevStepID: 'configureGuestTraffic',
nextStepID: 'addCluster',
@ -486,7 +494,7 @@
* @param args
*/
addCluster: elems.step({
title: 'Add cluster',
title: _l('label.add.cluster'),
id: 'add-cluster',
stateID: 'cluster',
tooltipID: 'addCluster',
@ -495,7 +503,7 @@
diagram: '.part.zone, .part.cluster',
form: {
hypervisor: {
label: 'Hypervisor',
label: 'label.hypervisor',
select: function(args) {
args.response.success({ data: [
{ id: 'XenServer', description: 'XenServer' },
@ -503,7 +511,7 @@
]});
}
},
name: { label: 'Name', validation: { required: true }}
name: { label: 'label.name', validation: { required: true }}
}
}),
@ -512,8 +520,8 @@
* @param args
*/
addHostIntro: elems.stepIntro({
title: "Let's add a host.",
subtitle: 'What is a host?',
title: _l('label.installWizard.addHostIntro.title'),
subtitle: _l('label.installWizard.addHostIntro.subtitle'),
copyID: 'whatIsAHost',
prevStepID: 'addCluster',
nextStepID: 'addHost',
@ -525,7 +533,7 @@
* @param args
*/
addHost: elems.step({
title: 'Add host',
title: _l('label.add.host'),
id: 'add-host',
stateID: 'host',
tooltipID: 'addHost',
@ -534,17 +542,17 @@
diagram: '.part.zone, .part.host',
form: {
hostname: {
label: 'Host name',
label: 'label.host.name',
validation: { required: true }
},
username: {
label: 'User name',
label: 'label.username',
validation: { required: true }
},
password: {
label: 'Password',
label: 'label.password',
validation: { required: true },
isPassword: true
}
@ -556,8 +564,8 @@
* @param args
*/
addPrimaryStorageIntro: elems.stepIntro({
title: "Let's add primary storage.",
subtitle: 'What is primary storage?',
title: _l('label.installWizard.addPrimaryStorageIntro.title'),
subtitle: _l('label.installWizard.addPrimaryStorageIntro.subtitle'),
copyID: 'whatIsPrimaryStorage',
prevStepID: 'addHost',
nextStepID: 'addPrimaryStorage',
@ -569,7 +577,7 @@
* @param args
*/
addPrimaryStorage: elems.step({
title: 'Add primary storage',
title: _l('label.add.primary.storage'),
id: 'add-primary-storage',
stateID: 'primaryStorage',
tooltipID: 'addPrimaryStorage',
@ -578,12 +586,12 @@
diagram: '.part.zone, .part.primaryStorage',
form: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
protocol: {
label: 'Protocol',
label: 'label.protocol',
select: function(args) {
args.response.success({
data: { id: 'nfs', description: 'NFS' }
@ -592,12 +600,12 @@
},
server: {
label: 'Server',
label: 'label.server',
validation: { required: true }
},
path: {
label: 'Path',
label: 'label.path',
validation: { required: true }
}
}
@ -608,8 +616,8 @@
* @param args
*/
addSecondaryStorageIntro: elems.stepIntro({
title: "Let's add secondary storage.",
subtitle: 'What is secondary storage?',
title: _l('label.installWizard.addSecondaryStorageIntro.title'),
subtitle: _l('label.installWizard.addSecondaryStorageIntro.subtitle'),
copyID: 'whatIsSecondaryStorage',
prevStepID: 'addPrimaryStorage',
nextStepID: 'addSecondaryStorage',
@ -621,7 +629,7 @@
* @param args
*/
addSecondaryStorage: elems.step({
title: 'Add secondary storage',
title: _l('label.add.secondary.storage'),
id: 'add-secondary-storage',
stateID: 'secondaryStorage',
tooltipID: 'addSecondaryStorage',
@ -630,11 +638,11 @@
diagram: '.part.zone, .part.secondaryStorage',
form: {
nfsServer: {
label: 'NFS Server',
label: 'label.nfs.server',
validation: { required: true }
},
path: {
label: 'Path',
label: 'label.path',
validation: { required: true }
}
}
@ -646,11 +654,11 @@
launchInfo: function(args) {
var $intro = $('<div></div>').addClass('intro');
var $title = $('<div></div>').addClass('title')
.html('Congratulations!.');
.html(_l('label.congratulations'));
var $subtitle = $('<div></div>').addClass('subtitle')
.html('Click the launch button.');
var $continue = elems.nextButton('Launch');
var $prev = elems.prevButton('Go back');
.html(_l('label.installWizard.click.launch'));
var $continue = elems.nextButton(_l('label.launch'));
var $prev = elems.prevButton(_l('label.back'));
$continue.click(function() {
goTo('launch');
@ -676,10 +684,10 @@
launchInfoError: function(args) {
var $intro = $('<div></div>').addClass('intro');
var $title = $('<div></div>').addClass('title')
.html('Corrections saved.');
.html(_l('label.corrections.saved'));
var $subtitle = $('<div></div>').addClass('subtitle')
.html('Click the button to retry launch.');
var $continue = elems.nextButton('Launch');
.html(_l('message.installWizard.click.retry'));
var $continue = elems.nextButton(_l('label.launch'));
$continue.click(function() {
goTo('launch');
@ -701,7 +709,7 @@
launch: function(args) {
var $intro = $('<div>').addClass('intro');
var $title = $('<div>').addClass('title')
.html('Now building your cloud...');
.html(_l('message.installWizard.now.building'));
var $subtitle = $('<div></div>').addClass('subtitle');
showDiagram('.part.loading');
@ -714,7 +722,7 @@
startFn: launchStart,
response: {
message: function(msg) {
var $li = $('<li>').html(msg);
var $li = $('<li>').html(_l(msg));
$subtitle.append($li);
$li.siblings().addClass('complete');
@ -728,11 +736,11 @@
$subtitle.append(
$('<p>').html(
'Something went wrong; you may go back and correct any errors:<br/>'
_l('error.installWizard.message') + ':<br/>'
+ message
),
$('<div>').addClass('button').append(
$('<span>').html('Go back')
$('<span>').html(_l('label.back'))
).click(function() {
goTo(stepID, null, null, {
nextStep: 'launchInfoError'
@ -749,10 +757,10 @@
complete: function(args) {
var $intro = $('<div></div>').addClass('intro');
var $title = $('<div></div>').addClass('title')
.html('Cloud setup successful');
.html(_l('message.setup.successful'));
var $subtitle = $('<div></div>').addClass('subtitle')
.html('You may now continue.');
var $continue = elems.nextButton('Launch');
.html(_l('label.may.continue'));
var $continue = elems.nextButton(_l('label.launch'));
showDiagram('');