mirror of https://github.com/apache/cloudstack.git
Update UI
-Fix two blocker bugs: bug 13743 and bug 13729 -Add more localization -Misc. fixes reviewed-by: jessica
This commit is contained in:
parent
5aaf15f0a7
commit
57bba4a0e0
|
|
@ -1,3 +1,71 @@
|
|||
label.installWizard.title=Hello and Welcome to CloudStack™.
|
||||
label.agree=Agree
|
||||
label.license.agreement=License Agreement
|
||||
label.license.agreement.subtitle=Please accept the CloudStack™ EULA before installing.
|
||||
label.manage.resources=Manage Resources
|
||||
label.port.forwarding.policies=Port forwarding policies
|
||||
label.load.balancing.policies=Load balancing policies
|
||||
label.networking.and.security=Networking and security
|
||||
label.bandwidth=Bandwidth
|
||||
label.virtual.machines=Virtual machines
|
||||
label.compute.and.storage=Compute and Storage
|
||||
label.task.completed=Task completed
|
||||
label.update.project.resources=Update project resources
|
||||
label.remove.project.account=Remove project account
|
||||
label.item.listing=Item listing
|
||||
message.select.item=Please select an item.
|
||||
label.removing=Removing
|
||||
label.invite=Invite
|
||||
label.add.by=Add by
|
||||
label.max.vms=Max. user VMs
|
||||
label.max.public.ips=Max. public IPs
|
||||
label.max.volumes=Max. volumes
|
||||
label.max.snapshots=Max. snapshots
|
||||
label.max.templates=Max. templates
|
||||
label.project.dashboard=Project dashboard
|
||||
label.remind.later=Remind me later
|
||||
label.invited.accounts=Invited accounts
|
||||
label.invite.to=Invite to
|
||||
label.add.accounts.to=Add accounts to
|
||||
label.add.accounts=Add accounts
|
||||
label.project.name=Project name
|
||||
label.create.project=Create project
|
||||
label.networks=Networks
|
||||
label.launch.vm=Launch VM
|
||||
label.new.vm=New VM
|
||||
label.previous=Previous
|
||||
label.add.to.group=Add to group
|
||||
message.vm.review.launch=Please review the following information and confirm that your virtual instance is correct before launch.
|
||||
message.select.security.groups=Please select security group(s) for your new VM
|
||||
label.new=New
|
||||
message.please.select.networks=Please select networks for your virtual machine.
|
||||
message.please.proceed=Please proceed to the next step.
|
||||
message.zone.no.network.selection=The zone you selected does not have any choices for network selection.
|
||||
label.no.thanks=No thanks
|
||||
label.my.templates=My templates
|
||||
message.select.template=Please select a template for your new virtual instance.
|
||||
message.select.iso=Please select an ISO for your new virtual instance.
|
||||
message.template.desc=OS image that can be used to boot VMs
|
||||
message.iso.desc=Disc image containing data or bootable media for OS
|
||||
label.select.iso.or.template=Select ISO or template
|
||||
message.select.a.zone=A zone typically corresponds to a single datacenter. Multiple zones help make the cloud more reliable by providing physical isolation and redundancy.
|
||||
label.select.a.zone=Select a zone
|
||||
label.review=Review
|
||||
label.select.a.template=Select a template
|
||||
label.setup=Setup
|
||||
state.Allocated=Allocated
|
||||
changed.item.properties=Changed item properties
|
||||
label.apply=Apply
|
||||
label.default=Default
|
||||
label.viewing=Viewing
|
||||
label.move.to.top=Move to top
|
||||
label.move.up.row=Move up one row
|
||||
label.move.down.row=Move down one row
|
||||
label.drag.new.position=Drag to new position
|
||||
label.order=Order
|
||||
label.no.data=No data to show
|
||||
label.change.value=Change value
|
||||
label.clear.list=Clear list
|
||||
label.full.path=Full path
|
||||
message.add.domain=Please specify the subdomain you want to create under this domain
|
||||
message.delete.user=Please confirm that you would like to delete this user.
|
||||
|
|
@ -50,7 +118,6 @@ label.clean.up=Clean up
|
|||
message.restart.network=Please confirm that you want to restart network
|
||||
label.restart.network=Restart network
|
||||
label.edit.network.details=Edit network details
|
||||
message.add.guest.network=Please specify name and zone for this network; note that network will be isolated and source NAT-enabled.
|
||||
label.add.guest.network=Add guest network
|
||||
label.guest.networks=Guest networks
|
||||
message.ip.address.changed=Your IP addresses may have changed; would you like to refresh the listing? Note that in this case the details pane will close.
|
||||
|
|
@ -64,6 +131,7 @@ message.create.template=Are you sure you want to create template?
|
|||
label.create.template=Create template
|
||||
message.download.volume.confirm=Please confirm that you want to download this volume
|
||||
message.detach.disk=Are you sure you want to detach this disk?
|
||||
state.ready=Ready
|
||||
state.Ready=Ready
|
||||
label.vm.display.name=VM display name
|
||||
label.select-view=Select view
|
||||
|
|
@ -1013,4 +1081,91 @@ specify.IP.ranges=Specify IP ranges
|
|||
conserve.mode=Conserve mode
|
||||
created.by.system=Created by system
|
||||
label.menu.system.service.offerings=System Service Offerings
|
||||
label.add.system.service.offering=Add System Service Offering
|
||||
label.add.system.service.offering=Add System Service Offering
|
||||
redundant.router.capability=Redundant router capability
|
||||
supported.source.NAT.type=Supported Source NAT type
|
||||
elastic.LB=Elastic LB
|
||||
LB.isolation=LB isolation
|
||||
elastic.IP=Elastic IP
|
||||
network.label.display.for.blank.value=Use default gateway
|
||||
Xen.traffic.label=XenServer traffic label
|
||||
KVM.traffic.label=KVM traffic label
|
||||
VMware.traffic.label=VMware traffic label
|
||||
start.IP=Start IP range
|
||||
end.IP=End IP range
|
||||
IP.range.is.added=IP range is added
|
||||
remove.IP.range=Remove IP range
|
||||
storage.traffic.type.is.updated=Storage traffic type is updated
|
||||
management.traffic.type.is.updated=Management traffic type is updated
|
||||
public.traffic.type.is.updated=Public traffic type is updated
|
||||
guest.traffic.type.is.updated=Guest traffic type is updated
|
||||
IP.ranges=IP Ranges
|
||||
start.Vlan=Start Vlan
|
||||
end.Vlan=End Vlan
|
||||
broadcast.domain.range=Broadcast domain range
|
||||
label.compute=Compute
|
||||
message.add.guest.network=Please confirm that you would like to add a guest network
|
||||
subdomain.access=Subdomain Access
|
||||
guest.start.IP=Guest start IP
|
||||
guest.end.IP=Guest end IP
|
||||
restart.required=Restart required
|
||||
virtual.router=Virtual Router
|
||||
physical.network.ID=Physical network ID
|
||||
destination.physical.network.ID=Destination physical network ID
|
||||
DHCP=DHCP
|
||||
destroy.router=Destroy router
|
||||
confirm.destroy.router=Please confirm that you would like to destroy this router
|
||||
change.service.offering=Change service offering
|
||||
view.console=View console
|
||||
redundant.state=Redundant state
|
||||
enable.provider=Enable provider
|
||||
confirm.enable.provider=Please confirm that you would like to enable this provider
|
||||
disable.provider=Disable provider
|
||||
confirm.disable.provider=Please confirm that you would like to disable this provider
|
||||
shutdown.provider=Shutdown provider
|
||||
confirm.shutdown.provider=Please confirm that you would like to shutdown this provider
|
||||
NetScaler=NetScaler
|
||||
add.new.NetScaler=Add new NetScaler
|
||||
number.of.retries=Number of retries
|
||||
capacity=Capacity
|
||||
dedicated=Dedicated
|
||||
F5=F5
|
||||
add.new.F5=Add new F5
|
||||
SRX=SRX
|
||||
providers=Providers
|
||||
add.new.SRX=Add new SRX
|
||||
timeout=Timeout
|
||||
public.network=Public network
|
||||
private.network=Private network
|
||||
public=Public
|
||||
enable.swift=Enable Swift
|
||||
confirm.enable.swift=Please fill in the following information to enable support for Swift
|
||||
message.after.enable.swift=Swift configured. Note: When you leave this page, you will not be able to re-configure Swift again.
|
||||
URL=URL
|
||||
key=Key
|
||||
domain=Domain
|
||||
delete.NetScaler=Delete NetScaler
|
||||
confirm.delete.NetScaler=Please confirm that you would like to delete NetScaler
|
||||
delete.F5=Delete F5
|
||||
confirm.delete.F5=Please confirm that you would like to delete F5
|
||||
delete.SRX=Delete SRX
|
||||
confirm.delete.SRX=Please confirm that you would like to delete SRX
|
||||
label.pods=Pods
|
||||
pod.name=Pod name
|
||||
reserved.system.gateway=Reserved system gateway
|
||||
reserved.system.netmask=Reserved system netmask
|
||||
start.reserved.system.IP=Start Reserved system IP
|
||||
end.reserved.system.IP=End Reserved system IP
|
||||
label.clusters=Clusters
|
||||
cluster.name=Cluster Name
|
||||
host.MAC=Host MAC
|
||||
agent.username=Agent Username
|
||||
agent.password=Agent Password
|
||||
confirm.action.force.reconnect=Please confirm that you want to force reconnect this host.
|
||||
resource.state=Resource state
|
||||
LUN.number=LUN #
|
||||
confirm.remove.IP.range=Please confirm that you would like to remove this IP range.
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,211 @@
|
|||
#cloudstack 3.0 (begin) ********************************************************************************************
|
||||
create.template.confirm=は、テンプレートを作成することを確認してください
|
||||
create.template.success=新しいテンプレートが作成されている
|
||||
label.installWizard.title=こんにちは、CloudStack™ へようこそ。
|
||||
label.agree=同意する
|
||||
label.license.agreement=ライセンス契約
|
||||
label.license.agreement.subtitle=インストールする前に、CloudStack™ ライセンスに同意してください。
|
||||
label.manage.resources=リソースを管理する
|
||||
label.port.forwarding.policies=ポートフォワーディングのポリシー
|
||||
label.load.balancing.policies=バランサポリシーをロードする
|
||||
label.networking.and.security=ネットワークとセキュリティ
|
||||
label.bandwidth=帯域幅
|
||||
label.virtual.machines=仮想マシン
|
||||
label.compute.and.storage=コンピューティングとストレージ
|
||||
label.task.completed=タスクが完了する
|
||||
label.update.project.resources=プロジェクトリソースを更新
|
||||
label.remove.project.account=プロジェクト·アカウントを削除します。
|
||||
label.item.listing=アイテムリスト
|
||||
message.select.item=項目を選択してください。
|
||||
label.removing=削除する
|
||||
label.invite=招待
|
||||
label.add.by=して追加
|
||||
label.max.vms=最大ユーザーのVM
|
||||
label.max.public.ips=最大のパブリックIP
|
||||
label.max.volumes=最大ボリューム
|
||||
label.max.snapshots=最大スナップショット
|
||||
label.max.templates=最大のテンプレート
|
||||
label.project.dashboard=プロジェクトダッシュボード
|
||||
label.remind.later=私に後で通知する
|
||||
label.invited.accounts=招待アカウント
|
||||
label.invite.to=への招待
|
||||
label.add.accounts.to=にアカウントを追加します。
|
||||
label.add.accounts=アカウントを追加する
|
||||
label.project.name=プロジェクト名
|
||||
label.create.project=プロジェクトを作成します。
|
||||
label.networks=ネットワーク
|
||||
label.launch.vm=VMを起動します。
|
||||
label.new.vm=新しいVM
|
||||
label.previous=前
|
||||
label.add.to.group=グループに追加する
|
||||
message.vm.review.launch=次の情報を確認して、仮想インスタンスが起動する前に、正しいことを確認してください。
|
||||
message.select.security.groups=新しいVMのセキュリティグループを選択してください。
|
||||
label.new=新しい
|
||||
message.please.select.networks=仮想マシンのネットワークを選択してください。
|
||||
message.please.proceed=次のステップに進んでください。
|
||||
message.zone.no.network.selection=あなたが選択したゾーンは、ネットワークの選択の任意の選択肢を持っていません。
|
||||
label.no.thanks=遠慮します
|
||||
label.my.templates=私のテンプレート
|
||||
message.select.template=新しい仮想インスタンス用のテンプレートを選択してください。
|
||||
message.select.iso=新しい仮想インスタンスは、ISOを選択してください。
|
||||
message.template.desc=VMを起動するために使用することができ、OSイメージ
|
||||
message.iso.desc=データやOSのブータブルメディアを含むディスクイメージ
|
||||
label.select.iso.or.template=を選択し、ISOまたはテンプレート
|
||||
message.select.a.zone=ゾーンは、通常、単一のデータセンターに対応しています。複数のゾーンは、物理的な隔離と冗長性を提供することにより、クラウドの信頼性を高める。
|
||||
label.select.a.zone=ゾーンを選択します
|
||||
label.review=レビュー
|
||||
label.select.a.template=テンプレートを選択します。
|
||||
label.setup=セットアップ
|
||||
state.Allocated=割り当てられた
|
||||
changed.item.properties=変更された項目のプロパティ
|
||||
label.apply=適用される
|
||||
label.default=デフォルト
|
||||
label.viewing=表示
|
||||
label.move.to.top=トップに移動
|
||||
label.move.up.row=1行上に移動
|
||||
label.move.down.row=1行下に移動
|
||||
label.drag.new.position=新しい位置にドラッグ
|
||||
label.order=オーダー
|
||||
label.no.data=表示するデータがありません
|
||||
label.change.value=値を変更する
|
||||
label.clear.list=一覧をクリアする
|
||||
label.full.path=フルパス
|
||||
message.add.domain=このドメインの下に作成するサブドメインを指定してください
|
||||
message.delete.user=このユーザーを削除したいことを確認してください。
|
||||
message.enable.user=このユーザーを有効にしたいことを確認してください。
|
||||
message.disable.user=このユーザーを無効にしたいことを確認してください。
|
||||
message.generate.keys=このユーザーの新しい鍵を生成したいことを確認してください。
|
||||
message.update.resource.count=このアカウントのリソースカウントを更新することを確認してください。
|
||||
message.edit.account=編集( "-1"リソース作成の量に制限がないことを示します)
|
||||
label.total.of.vm=VMの合計
|
||||
label.total.of.ip=IPアドレスの合計
|
||||
state.enabled=使用可能
|
||||
message.action.download.iso=このISOイメージをダウンロードすることを確認してください。
|
||||
message.action.download.template=このテンプレートをダウンロードすることを確認してください。
|
||||
label.destination.zone=宛先ゾーン
|
||||
label.keyboard.type=キーボードの種類
|
||||
label.nic.adapter.type=NICアダプタの種類
|
||||
label.root.disk.controller=ルート·ディスク·コントローラ
|
||||
label.community=コミュニティ
|
||||
label.remove.egress.rule=出力ルールを削除する
|
||||
label.add.egress.rule=出力ルールを追加
|
||||
label.egress.rule=出力ルール
|
||||
label.remove.ingress.rule=入力規則を削除する
|
||||
label.delete.vpn.user=VPNユーザを削除します。
|
||||
label.add.vpn.user=VPNユーザを追加します。
|
||||
label.remove.pf=ポートフォワーディングルールを削除する
|
||||
label.remove.vm.from.lb=ロード·バランサのルールからVMを削除します。
|
||||
label.add.vms.to.lb=バランサのルールをロードするためにVM(s)を追加する
|
||||
label.add.vm=VMを追加します。
|
||||
label.remove.static.nat.rule=スタティックNATルールを削除します。
|
||||
label.remove.rule=ルールを削除する
|
||||
label.add.static.nat.rule=スタティックNATルールを追加します。
|
||||
label.add.rule=ルールを追加します。
|
||||
label.configuration=設定
|
||||
message.disable.vpn=あなたは、VPNを無効にしてもよろしいですか?
|
||||
label.disable.vpn=VPNを無効にします。
|
||||
message.enable.vpn=あなたがこのIPアドレスに対して有効になってVPNアクセスが必要であることを確認してください。
|
||||
label.enable.vpn=VPNを有効にする
|
||||
message.acquire.new.ip=あなたはこのネットワークのネットのIPアドレスを取得したいことを確認してください。
|
||||
label.elastic=エラスティック
|
||||
label.my.network=私のネットワーク
|
||||
label.add.vms=VMを追加する
|
||||
label.configure=設定する
|
||||
label.stickiness=粘り
|
||||
label.source=ソース
|
||||
label.least.connections=最小接続
|
||||
label.round.robin=ラウンドロビン
|
||||
label.network.domain.text=ネットワーク·ドメインのテキスト
|
||||
label.restart.required=必要な再起動
|
||||
label.clean.up=クリーンアップ
|
||||
message.restart.network=あなたは、ネットワークを再起動することを確認してください
|
||||
label.restart.network=ネットワークを再起動します
|
||||
label.edit.network.details=ネットワークの詳細を編集
|
||||
label.add.guest.network=ゲストネットワークを追加します。
|
||||
label.guest.networks=ゲストネットワーク
|
||||
message.ip.address.changed=あなたのIPアドレスが変更されている場合があります。あなたは、リストをリフレッシュしたいですか?このケースでは、詳細ペインを閉じることに注意してください。
|
||||
state.BackingUp=バックアップ
|
||||
state.BackedUp=バックアップ
|
||||
label.done=行われ
|
||||
label.vm.name=VMの名前
|
||||
message.migrate.volume=別のプライマリ·ストレージにボリュームを移行することを確認してください。
|
||||
label.migrate.volume=別のプライマリ·ストレージへのボリュームの移行
|
||||
message.create.template=あなたがテンプレートを作成してもよろしいですか?
|
||||
label.create.template=テンプレートを作成する
|
||||
message.download.volume.confirm=あなたはこのボリュームをダウンロードすることを確認してください。
|
||||
message.detach.disk=あなたは、このディスクをデタッチしてもよろしいですか?
|
||||
state.ready=レディ
|
||||
state.Ready=レディ
|
||||
label.vm.display.name=VMの表示名
|
||||
label.select-view=ビューを選択します。
|
||||
label.local.storage=ローカルストレージ
|
||||
label.direct.ips=直接IPアドレス
|
||||
label.view.all=すべてを見る
|
||||
label.zone.details=ゾーンの詳細
|
||||
message.alert.state.detected=アラート状態が検出されました
|
||||
state.Starting=出発
|
||||
state.Expunging=抹消
|
||||
state.Creating=作成
|
||||
message.decline.invitation=このプロジェクトに招待を辞退してもよろしいですか?
|
||||
label.decline.invitation=衰退への招待
|
||||
message.confirm.join.project=あなたはこのプロジェクトに参加したい確認してください。
|
||||
message.join.project=これで、プロジェクトに参加しています。プロジェクトを参照するビューをプロジェクトに切り替えてください。
|
||||
label.accept.project.invitation=プロジェクトへの招待を受け入れる
|
||||
label.token=トークン
|
||||
label.project.id=プロジェクトID
|
||||
message.enter.token=あなたがあなたの招待状を電子メールで与えられているトークンを入力してください。
|
||||
label.enter.token=トークンを入力します。
|
||||
state.Accepted=受け入れ
|
||||
state.Pending=ペンディング
|
||||
state.Completed=完了する
|
||||
state.Declined=減少しました
|
||||
label.project=プロジェクト
|
||||
label.invitations=招待状
|
||||
label.delete.project=プロジェクトを削除します。
|
||||
message.delete.project=このプロジェクトを削除してもよろしいですか?
|
||||
message.activate.project=あなたはこのプロジェクトをアクティブにしてもよろしいですか?
|
||||
label.activate.project=プロジェクトをアクティブにする
|
||||
label.suspend.project=プロジェクトを一時停止
|
||||
message.suspend.project=あなたはこのプロジェクトを中断してもよろしいですか?
|
||||
state.Suspended=サスペンド
|
||||
label.edit.project.details=プロジェクトの詳細を編集します。
|
||||
label.new.project=新規プロジェクト
|
||||
state.Active=アクティブ
|
||||
state.Disabled=無効にする
|
||||
label.projects=プロジェクト
|
||||
label.make.project.owner=アカウントのプロジェクトの所有者を作る
|
||||
label.remove.project.account=プロジェクトからアカウントを削除する
|
||||
message.project.invite.sent=ユーザーに送信される招待し、彼らが招待を受け入れた後、彼らがプロジェクトに追加されます
|
||||
label.add.account.to.project=プロジェクトにアカウントを追加する
|
||||
label.revoke.project.invite=招待を取り消す
|
||||
label.project.invite=プロジェクトへの招待
|
||||
label.select.project=プロジェクトを選択します。
|
||||
message.no.projects=任意のプロジェクトを持っていません。<br/>プロジェクトセクションから新しいものを作成してください。
|
||||
message.no.projects.adminOnly=任意のプロジェクトを持っていません。<br/>新しいプロジェクトを作成するには、管理者にお問い合わせください。
|
||||
message.pending.projects.1=あなたは、プロジェクトへの招待を保留されている。
|
||||
message.pending.projects.2=表示するには、プロジェクトの項を参照してくださいし、ドロップダウンからの招待を選択します。
|
||||
message.instanceWizard.noTemplates=使用可能な任意のテンプレートを持っていません。インスタンスウィザードを互換性のあるテンプレートを追加してください、再起動します。
|
||||
label.view=ビュー
|
||||
create.template.complete=テンプレートが正常に作成された
|
||||
create.template.confirm=テンプレートを作成することを確認してください。
|
||||
create.template.notification=新しいテンプレートを作成する
|
||||
create.template.complete=テンプレートは正常に作成された
|
||||
create.template.success=新しいテンプレートが作成されています
|
||||
instances.actions.reboot.label=再起動のインスタンス
|
||||
label.filterBy=によるフィルタ
|
||||
label.ok=[OK]
|
||||
notification.reboot.instance=再起動のインスタンス
|
||||
notification.start.instance=インスタンスを起動します。
|
||||
notification.stop.instance=インスタンスを停止します。
|
||||
label.display.name=表示名
|
||||
label.zone.name=ゾーン名
|
||||
ui.listView.filters.all=すべて
|
||||
ui.listView.filters.mine=鉱山
|
||||
state.Running=ランニング
|
||||
state.Stopped=停止
|
||||
state.Destroyed=破壊された
|
||||
state.Error=エラー
|
||||
message.reset.password.warning.notPasswordEnabled=このインスタンスが作成されたテンプレートには、パスワードは有効ではありません
|
||||
message.reset.password.warning.notStopped=インスタンスは、その現在のパスワードを変更しようとする前に停止する必要があります。
|
||||
label.notifications=通知
|
||||
label.default.view=デフォルトのビュー
|
||||
label.project.view=プロジェクトビュー
|
||||
#cloudstack 3.0 (end) **********************************************************************************************
|
||||
|
||||
|
||||
|
|
@ -881,4 +1084,88 @@ specify.IP.ranges=指定したIPの範囲
|
|||
conserve.mode=モードを節約
|
||||
created.by.system=システムによって作成され
|
||||
label.menu.system.service.offerings=システムサービスの提供
|
||||
label.add.system.service.offering=システムサービスの提供を追加します。
|
||||
label.add.system.service.offering=システムサービスの提供を追加します。
|
||||
redundant.router.capability=Redundant router capability
|
||||
supported.source.NAT.type=Supported Source NAT type
|
||||
elastic.LB=Elastic LB
|
||||
LB.isolation=LB isolation
|
||||
elastic.IP=Elastic IP
|
||||
network.label.display.for.blank.value=デフォルトゲートウェイを使用する
|
||||
Xen.traffic.label=XenServerのトラフィックのラベル
|
||||
KVM.traffic.label=KVMトラフィックのラベル
|
||||
VMware.traffic.label=VMwareのトラフィックのラベル
|
||||
start.IP=IPアドレスの範囲を起動します。
|
||||
end.IP=終了IPアドレスの範囲
|
||||
IP.range.is.added=IPアドレスの範囲が追加されました
|
||||
remove.IP.range=IPアドレス範囲を削除します。
|
||||
storage.traffic.type.is.updated=ストレージ·トラフィック·タイプが更新されます。
|
||||
management.traffic.type.is.updated=管理トラフィックタイプが更新されます。
|
||||
public.traffic.type.is.updated=公共交通の種類が更新されます。
|
||||
guest.traffic.type.is.updated=ゲストのトラフィック·タイプが更新されます。
|
||||
IP.ranges=IP範囲
|
||||
start.Vlan=スタートVLAN
|
||||
end.Vlan=エンドVLAN
|
||||
broadcast.domain.range=ドメインの範囲をブロードキャスト
|
||||
label.compute=計算
|
||||
message.add.guest.network=あなたがゲストネットワークを追加したいことを確認してください
|
||||
subdomain.access=サブドメインアクセス
|
||||
guest.start.IP=ゲストの開始IP
|
||||
guest.end.IP=ゲストの終了IP
|
||||
restart.required=要な再起動
|
||||
virtual.router=Virtual Router
|
||||
physical.network.ID=物理的なネットワークID
|
||||
destination.physical.network.ID=先の物理的なネットワークID
|
||||
DHCP=DHCP
|
||||
destroy.router=ルータを破壊する
|
||||
confirm.destroy.router=このルータを破壊することを確認してください
|
||||
change.service.offering=サービス·オファリングを変更する
|
||||
view.console=コンソールを表示する
|
||||
redundant.state=冗長状態
|
||||
enable.provider=プロバイダを有効にする
|
||||
confirm.enable.provider=このプロバイダを有効にしたいことを確認してください
|
||||
disable.provider=プロバイダを無効にする
|
||||
confirm.disable.provider=このプロバイダを無効にしたいことを確認してください
|
||||
shutdown.provider=シャットダウン·プロバイダー
|
||||
confirm.shutdown.provider=このプロバイダをシャットダウンすることを確認してください
|
||||
NetScaler=NetScaler
|
||||
add.new.NetScaler=新しいNetScalerを追加する
|
||||
number.of.retries=再試行の回数
|
||||
capacity=容量
|
||||
dedicated=専用の
|
||||
F5=F5
|
||||
add.new.F5=新しいF5キーを追加する
|
||||
SRX=SRX
|
||||
providers=プロバイダー
|
||||
add.new.SRX=新しいSRXを追加します。
|
||||
timeout=タイムアウト
|
||||
public.network=パブリックネットワーク
|
||||
private.network=プライベートネットワーク
|
||||
public=公共
|
||||
enable.swift=スウィフトを有効にする
|
||||
confirm.enable.swift=スウィフトのサポートを有効にするには、次の情報を入力してください。
|
||||
message.after.enable.swift=スウィフトは、設定されています。注:このページを出るときは、もう一度再構成するスウィフトにはできません。
|
||||
URL=URL
|
||||
key=キー
|
||||
domain=ドメイン
|
||||
delete.NetScaler=削除NetScalerは
|
||||
confirm.delete.NetScaler=あなたがNetScalerを削除したいことを確認してください
|
||||
delete.F5=削除F5
|
||||
confirm.delete.F5=F5キーを削除したいことを確認してください
|
||||
delete.SRX=削除SRX
|
||||
confirm.delete.SRX=あなたはSRXを削除したいことを確認してください
|
||||
label.pods=ポッド
|
||||
pod.name=ポッド名
|
||||
reserved.system.gateway=予約システムのゲートウェイ
|
||||
reserved.system.netmask=予約システムのネットマスク
|
||||
start.reserved.system.IP=予約システムのIPを起動します。
|
||||
end.reserved.system.IP=最後の予約システムのIP
|
||||
label.clusters=クラスタ
|
||||
cluster.name=クラスタ名
|
||||
host.MAC=ホストのMAC
|
||||
agent.username=エージェントのユーザー名
|
||||
agent.password=エージェントのパスワード
|
||||
confirm.action.force.reconnect=このホストを再接続を強制することを確認してください。
|
||||
resource.state=リソースの状態
|
||||
LUN.number=LUN #
|
||||
confirm.remove.IP.range=あなたがこのIPアドレス範囲の削除を希望することを確認してください。
|
||||
|
||||
|
|
|
|||
|
|
@ -5346,6 +5346,10 @@ label.error {
|
|||
border-radius: 4px 4px 4px 4px;
|
||||
}
|
||||
|
||||
.multi-wizard.zone-wizard .setup-storage-traffic .info-desc {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.multi-wizard.zone-wizard .setup-public-traffic .info-desc,
|
||||
.multi-wizard.zone-wizard .setup-guest-traffic .info-desc,
|
||||
.multi-wizard.zone-wizard .setup-physical-network .info-desc {
|
||||
|
|
@ -6008,6 +6012,9 @@ label.error {
|
|||
/*** Review / launch*/
|
||||
.multi-wizard.zone-wizard .review .launch-container {
|
||||
width: 98%;
|
||||
max-height: 438px;
|
||||
overflow: auto;
|
||||
overflow-x: hidden;
|
||||
float: left;
|
||||
background: #FFFFFF;
|
||||
margin: 11px 0 0 7px;
|
||||
|
|
|
|||
340
ui/index.jsp
340
ui/index.jsp
|
|
@ -1,7 +1,7 @@
|
|||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||||
<c:if test="${!empty cookie.lang}">
|
||||
<fmt:setLocale value="${cookie.lang.value}" />
|
||||
<fmt:setLocale value="${cookie.lang.value}" />
|
||||
</c:if>
|
||||
<fmt:setBundle basename="resources/messages"/>
|
||||
|
||||
|
|
@ -58,12 +58,12 @@
|
|||
<div class="multi-wizard instance-wizard">
|
||||
<div class="progress">
|
||||
<ul>
|
||||
<li class="first"><span class="number">1</span><span>Setup</span><span class="arrow"></span></li>
|
||||
<li><span class="number">2</span><span class="multiline">Select a template</span><span class="arrow"></span></li>
|
||||
<li><span class="number">3</span><span class="multiline">Service Offering</span><span class="arrow"></span></li>
|
||||
<li><span class="number">4</span><span class="multiline">Data Disk Offering</span><span class="arrow"></span></li>
|
||||
<li><span class="number">5</span><span>Network</span><span class="arrow"></span></li>
|
||||
<li class="last"><span class="number">6</span><span>Review</span></li>
|
||||
<li class="first"><span class="number">1</span><span><fmt:message key="label.setup"/></span><span class="arrow"></span></li>
|
||||
<li><span class="number">2</span><span class="multiline"><fmt:message key="label.select.a.template"/></span><span class="arrow"></span></li>
|
||||
<li><span class="number">3</span><span class="multiline"><fmt:message key="label.service.offering"/></span><span class="arrow"></span></li>
|
||||
<li><span class="number">4</span><span class="multiline"><fmt:message key="label.data.disk.offering"/></span><span class="arrow"></span></li>
|
||||
<li><span class="number">5</span><span><fmt:message key="label.menu.network"/></span><span class="arrow"></span></li>
|
||||
<li class="last"><span class="number">6</span><span><fmt:message key="label.review"/></span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<form>
|
||||
|
|
@ -73,27 +73,27 @@
|
|||
<div class="content">
|
||||
<!-- Select a zone -->
|
||||
<div class="section select-zone">
|
||||
<h3>Select a zone</h3>
|
||||
<p>A zone typically corresponds to a single datacenter. Multiple zones help make the cloud more reliable by providing physical isolation and redundancy.</p>
|
||||
<h3><fmt:message key="label.select.a.zone"/></h3>
|
||||
<p><fmt:message key="message.select.a.zone"/></p>
|
||||
<div class="select-area">
|
||||
<div class="desc"></div>
|
||||
<select name="zoneid" class="required">
|
||||
<option default="default" value="" >Select a zone</option>
|
||||
<option default="default" value="" ><fmt:message key="label.select.a.zone"/></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Select template -->
|
||||
<div class="section select-template">
|
||||
<h3>Select ISO or template</h3>
|
||||
<h3><fmt:message key="label.select.iso.or.template" /></h3>
|
||||
<p></p>
|
||||
<div class="select-area">
|
||||
<div class="desc">OS image that can be used to boot VMs</div>
|
||||
<div class="desc"><fmt:message key="message.template.desc"/></div>
|
||||
<input type="radio" name="select-template" value="select-template" />
|
||||
<label>Template</label>
|
||||
<label><fmt:message key="label.template"/></label>
|
||||
</div>
|
||||
<div class="select-area">
|
||||
<div class="desc">Disc image containing data or bootable media for OS</div>
|
||||
<div class="desc"><fmt:message key="message.iso.desc"/></div>
|
||||
<input type="radio" name="select-template" value="select-iso" />
|
||||
<label>ISO</label>
|
||||
</div>
|
||||
|
|
@ -106,15 +106,13 @@
|
|||
<!-- Select template -->
|
||||
<div class="wizard-step-conditional select-template">
|
||||
<div class="main-desc">
|
||||
<p>
|
||||
Please select a template for your new virtual instance.
|
||||
</p>
|
||||
<p><fmt:message key="message.select.template"/></p>
|
||||
</div>
|
||||
<div class="template-select content tab-view">
|
||||
<ul>
|
||||
<li class="first"><a href="#instance-wizard-featured-templates">Featured</a></li>
|
||||
<li><a href="#instance-wizard-community-templates">Community</a></li>
|
||||
<li class="last"><a href="#instance-wizard-my-templates">My Template</a></li>
|
||||
<li class="first"><a href="#instance-wizard-featured-templates"><fmt:message key="label.featured"/></a></li>
|
||||
<li><a href="#instance-wizard-community-templates"><fmt:message key="label.community"/></a></li>
|
||||
<li class="last"><a href="#instance-wizard-my-templates"><fmt:message key="label.my.templates"/></a></li>
|
||||
</ul>
|
||||
|
||||
<div id="instance-wizard-featured-templates">
|
||||
|
|
@ -135,39 +133,36 @@
|
|||
<!-- Select ISO -->
|
||||
<div class="wizard-step-conditional select-iso">
|
||||
<div class="main-desc">
|
||||
<p>
|
||||
Please select an ISO for your new virtual instance.
|
||||
You can also choose to upload your own iso as well.
|
||||
</p>
|
||||
<p><fmt:message key="message.select.iso"/></p>
|
||||
</div>
|
||||
<div class="iso-select content tab-view">
|
||||
<ul>
|
||||
<li class="first"><a href="#instance-wizard-featured-isos">Featured</a></li>
|
||||
<li><a href="#instance-wizard-community-isos">Community</a></li>
|
||||
<li class="last"><a href="#instance-wizard-my-isos">My ISO</a></li>
|
||||
<div class="iso-select content tab-view">
|
||||
<ul>
|
||||
<li class="first"><a href="#instance-wizard-featured-isos"><fmt:message key="label.featured"/></a></li>
|
||||
<li><a href="#instance-wizard-community-isos"><fmt:message key="label.community"/></a></li>
|
||||
<li class="last"><a href="#instance-wizard-my-isos"><fmt:message key="label.menu.my.isos"/></a></li>
|
||||
</ul>
|
||||
<div id="instance-wizard-featured-isos">
|
||||
<div id="instance-wizard-featured-isos">
|
||||
<div class="select-container">
|
||||
</div>
|
||||
</div>
|
||||
<div id="instance-wizard-community-isos">
|
||||
<div id="instance-wizard-community-isos">
|
||||
<div class="select-container">
|
||||
</div>
|
||||
</div>
|
||||
<div id="instance-wizard-my-isos">
|
||||
<div id="instance-wizard-my-isos">
|
||||
<div class="select-container">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<ul>
|
||||
|
||||
<!--
|
||||
<ul>
|
||||
<li class="first last"><a href="#instance-wizard-all-isos">All ISOs</a></li>
|
||||
</ul>
|
||||
<div id="instance-wizard-all-isos">
|
||||
<div class="select-container">
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -185,7 +180,7 @@
|
|||
<div class="content">
|
||||
<div class="section no-thanks">
|
||||
<input type="radio" name="diskofferingid" value="0" />
|
||||
<label>No thanks</label>
|
||||
<label><fmt:message key="label.no.thanks"/></label>
|
||||
</div>
|
||||
|
||||
<!-- Existing offerings -->
|
||||
|
|
@ -194,7 +189,7 @@
|
|||
|
||||
<!-- Custom size slider -->
|
||||
<div class="section custom-size">
|
||||
<label>Disk size</label>
|
||||
<label><fmt:message key="label.disk.size"/></label>
|
||||
|
||||
<!-- Slider -->
|
||||
<label class="size">1 GB</label>
|
||||
|
|
@ -211,21 +206,19 @@
|
|||
<div class="step network" wizard-step-id="network">
|
||||
<!-- 5a: Network description -->
|
||||
<div class="wizard-step-conditional nothing-to-select">
|
||||
<p>The zone you selected does not have any choices for network selection</p>
|
||||
<p>Please proceed to the next step.</p>
|
||||
<p><fmt:message key="message.zone.no.network.selection"/></p>
|
||||
<p><fmt:message key="message.please.proceed"/></p>
|
||||
</div>
|
||||
|
||||
<!-- 5b: Select network -->
|
||||
<div class="wizard-step-conditional select-network">
|
||||
<div class="content">
|
||||
<div class="main-desc">
|
||||
Please select networks for your virtual machine
|
||||
</div>
|
||||
<div class="main-desc"><fmt:message key="message.please.select.networks"/></div>
|
||||
<div class="select my-networks">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Networks</th>
|
||||
<th><fmt:message key="label.networks"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -242,7 +235,7 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Add new network</th>
|
||||
<th><fmt:message key="label.add.network"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -256,12 +249,12 @@
|
|||
checked="checked" />
|
||||
<!-- Default (NEW) -->
|
||||
<div class="select-desc hide-if-selected">
|
||||
<div class="name">NEW</div>
|
||||
<div class="name"><fmt:message key="label.new"/></div>
|
||||
</div>
|
||||
|
||||
<!-- Name -->
|
||||
<div class="field name hide-if-unselected">
|
||||
<div class="name">Name</div>
|
||||
<div class="name"><fmt:message key="label.name"/></div>
|
||||
<div class="value">
|
||||
<input type="text" class="required" name="new-network-name" />
|
||||
</div>
|
||||
|
|
@ -269,7 +262,7 @@
|
|||
|
||||
<!-- Service offering -->
|
||||
<div class="select-desc field service-offering hide-if-unselected">
|
||||
<div class="name">Network Offering</div>
|
||||
<div class="name"><fmt:message key="label.service.offering"/></div>
|
||||
<div class="desc">
|
||||
<select name="new-network-networkofferingid">
|
||||
</select>
|
||||
|
|
@ -278,7 +271,7 @@
|
|||
|
||||
<div class="secondary-input hide-if-unselected">
|
||||
<input type="radio" name="defaultNetwork" value="new-network" />
|
||||
<div class="name">Default</div>
|
||||
<div class="name"><fmt:message key="label.default"/></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -293,7 +286,7 @@
|
|||
<!-- Step 5c: Select security group -->
|
||||
<div class="wizard-step-conditional select-security-group">
|
||||
<div class="main-desc">
|
||||
Please select security group(s) for your new virtual instance
|
||||
<fmt:message key="message.select.security.groups"/>
|
||||
</div>
|
||||
<div class="content security-groups">
|
||||
<div class="select-container">
|
||||
|
|
@ -305,14 +298,14 @@
|
|||
<!-- Step 6: Review -->
|
||||
<div class="step review" wizard-step-id="review">
|
||||
<div class="main-desc">
|
||||
Please review the following information and confirm that your virtual instance is correct before launch
|
||||
<fmt:message key="message.vm.review.launch"/>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="select-container">
|
||||
<!-- Name -->
|
||||
<div class="select vm-instance-name">
|
||||
<div class="name">
|
||||
<span>Name (optional)</span>
|
||||
<span><fmt:message key="label.name"/> (<fmt:message key="label.optional"/>)</span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" name="displayname" />
|
||||
|
|
@ -322,7 +315,7 @@
|
|||
<!-- Add to group -->
|
||||
<div class="select odd">
|
||||
<div class="name">
|
||||
<span>Add to group (optional)</span>
|
||||
<span><fmt:message key="label.add.to.group"/> (<fmt:message key="label.optional"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" name="groupname" />
|
||||
|
|
@ -332,78 +325,78 @@
|
|||
<!-- Zone -->
|
||||
<div class="select">
|
||||
<div class="name">
|
||||
<span>Zone</span>
|
||||
<span><fmt:message key="label.zone"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="zone"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="1">Edit</a>
|
||||
<a href="1"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Hypervisor -->
|
||||
<div class="select odd">
|
||||
<div class="name">
|
||||
<span>Hypervisor</span>
|
||||
<span><fmt:message key="label.hypervisor"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="hypervisor"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="1">Edit</a>
|
||||
<a href="1"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Template -->
|
||||
<div class="select">
|
||||
<div class="name">
|
||||
<span>Template</span>
|
||||
<span><fmt:message key="label.template"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="template"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="2">Edit</a>
|
||||
<a href="2"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Service offering -->
|
||||
<div class="select odd">
|
||||
<div class="name">
|
||||
<span>Service offering</span>
|
||||
<span><fmt:message key="label.service.offering"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="service-offering"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="3">Edit</a>
|
||||
<a href="3"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Data disk offering -->
|
||||
<div class="select">
|
||||
<div class="name">
|
||||
<span>Data disk offering</span>
|
||||
<span><fmt:message key="label.data.disk.offering"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="disk-offering"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="4">Edit</a>
|
||||
<a href="4"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Primary network -->
|
||||
<div class="select odd">
|
||||
<div class="name">
|
||||
<span>Primary network</span>
|
||||
<span><fmt:message key="label.primary.storage"/></span>
|
||||
</div>
|
||||
<div class="value">
|
||||
<span wizard-field="default-network"></span>
|
||||
</div>
|
||||
<div class="edit">
|
||||
<a href="5">Edit</a>
|
||||
<a href="5"><fmt:message key="label.edit"/></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -427,9 +420,9 @@
|
|||
|
||||
<!-- Buttons -->
|
||||
<div class="buttons">
|
||||
<div class="button previous"><span>Previous</span></div>
|
||||
<div class="button cancel"><span>Cancel</span></div>
|
||||
<div class="button next"><span>Next</span></div>
|
||||
<div class="button previous"><span><fmt:message key="label.previous"/></span></div>
|
||||
<div class="button cancel"><span><fmt:message key="label.cancel"/></span></div>
|
||||
<div class="button next"><span><fmt:message key="label.next"/></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -461,7 +454,7 @@
|
|||
<h3>Set up zone type</h3>
|
||||
<p>Please select a configuration for your zone.</p>
|
||||
<div class="select-area">
|
||||
<div class="desc">
|
||||
<div class="desc">
|
||||
Provide a single network where each VM instance is assigned an IP directly from the network. Guest isolation can be provided through layer-3 means such as security groups (IP address source filtering)
|
||||
</div>
|
||||
<input type="radio" name="network-model" value="Basic" checked="checked" />
|
||||
|
|
@ -499,6 +492,7 @@
|
|||
<li class="public-network">Public traffic</li>
|
||||
<li class="pod">Pod</li>
|
||||
<li class="guest-traffic">Guest Traffic</li>
|
||||
<li class="conditional storage-traffic">Storage Traffic</li>
|
||||
</ul>
|
||||
<div class="info-desc">
|
||||
When adding an advanced zone, you need to set up one or more physical networks. Each network corresponds to a NIC on the management server. Each physical network can carry one or more types of traffic, with certain restrictions on how they may be combined.<br/><br/><strong>Drag and drop one or more traffic types</strong> onto each physical network.
|
||||
|
|
@ -572,6 +566,7 @@
|
|||
<li class="public-network">Public traffic</li>
|
||||
<li class="pod">Pod</li>
|
||||
<li class="guest-traffic">Guest Traffic</li>
|
||||
<li class="conditional storage-traffic">Storage Traffic</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-desc">Please specify Netscaler info</div>
|
||||
|
|
@ -588,6 +583,7 @@
|
|||
<li class="public-network active">Public traffic</li>
|
||||
<li class="pod">Pod</li>
|
||||
<li class="guest-traffic">Guest Traffic</li>
|
||||
<li class="conditional storage-traffic">Storage Traffic</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-desc">
|
||||
|
|
@ -604,6 +600,7 @@
|
|||
<li class="public-network">Public traffic</li>
|
||||
<li class="pod active">Pod</li>
|
||||
<li class="guest-traffic">Guest Traffic</li>
|
||||
<li class="conditional storage-traffic">Storage Traffic</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-desc">
|
||||
|
|
@ -624,16 +621,34 @@
|
|||
<li class="public-network">Public traffic</li>
|
||||
<li class="pod">Pod</li>
|
||||
<li class="guest-traffic active">Guest Traffic</li>
|
||||
<li class="conditional storage-traffic">Storage Traffic</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-desc">
|
||||
Guest network traffic is communication between end-user virtual machines.
|
||||
</div>
|
||||
Guest network traffic is communication between end-user virtual machines.
|
||||
</div>
|
||||
<div class="content input-area">
|
||||
<div class="select-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 3.5: Configure storage traffic -->
|
||||
<div class="setup-storage-traffic" zone-wizard-prefilter="configureStorageTraffic"
|
||||
zone-wizard-step-id="configureStorageTraffic">
|
||||
<ul class="subnav">
|
||||
<li class="conditional elb physical-network">Netscaler</li>
|
||||
<li class="public-network">Public traffic</li>
|
||||
<li class="pod">Pod</li>
|
||||
<li class="guest-traffic">Guest Traffic</li>
|
||||
<li class="storage-traffic active">Storage Traffic</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-desc">
|
||||
Traffic between CloudStack's internal resources, including any components that communicate with the Management Server, such as hosts and CloudStack system VMs. Please configure storage traffic here.
|
||||
</div>
|
||||
<div ui-custom="storageTrafficIPRange"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 4.1: Add cluster -->
|
||||
<div class="add-cluster" zone-wizard-form="cluster"
|
||||
zone-wizard-step-id="addCluster">
|
||||
|
|
@ -764,41 +779,41 @@
|
|||
<div class="compute-and-storage">
|
||||
<div class="system-dashboard">
|
||||
<div class="head">
|
||||
<span>Compute and Storage</span>
|
||||
<span><fmt:message key="label.compute.and.storage"/></span>
|
||||
</div>
|
||||
<ul class="status_box good">
|
||||
<!-- Virtual Machines -->
|
||||
<li class="block virtual-machines">
|
||||
<span class="header">Virtual Machines</span>
|
||||
<span class="header"><fmt:message key="label.virtual.machines"/></span>
|
||||
<div class="icon"></div>
|
||||
<div class="overview">
|
||||
<!-- Running -->
|
||||
<div class="overview-item running">
|
||||
<div class="total" data-item="runningInstances">5</div>
|
||||
<div class="label">Running</div>
|
||||
<div class="label"><fmt:message key="state.Running"/></div>
|
||||
</div>
|
||||
|
||||
<!-- Stopped -->
|
||||
<div class="overview-item stopped">
|
||||
<div class="total" data-item="stoppedInstances">10</div>
|
||||
<div class="label">Stopped</div>
|
||||
<div class="label"><fmt:message key="state.Stopped"/></div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Storage -->
|
||||
<li class="block storage">
|
||||
<span class="header">Storage</span>
|
||||
<span class="header"><fmt:message key="label.storage"/></span>
|
||||
<div class="icon"></div>
|
||||
<div class="overview">
|
||||
<div class="total" data-item="totalVolumes">10</div>
|
||||
<div class="label">volumes</div>
|
||||
<div class="label"><fmt:message key="label.volumes"/></div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Bandwidth -->
|
||||
<li class="block storage bandwidth">
|
||||
<span class="header">Bandwidth</span>
|
||||
<span class="header"><fmt:message key="label.bandwidth"/></span>
|
||||
<div class="icon"></div>
|
||||
<div class="overview">
|
||||
<div class="total" data-item="totalBandwidth">200</div>
|
||||
|
|
@ -813,7 +828,7 @@
|
|||
<div class="users">
|
||||
<div class="system-dashboard">
|
||||
<div class="head">
|
||||
<span>Users</span>
|
||||
<span><fmt:message key="label.users"/></span>
|
||||
</div>
|
||||
<ul class="status_box good" data-item="users">
|
||||
<li class="block user">
|
||||
|
|
@ -829,25 +844,25 @@
|
|||
<!-- Networking and security -->
|
||||
<div class="info-box networking-and-security">
|
||||
<div class="title">
|
||||
<span>Networking and Security</span>
|
||||
<span><fmt:message key="label.networking.and.security"/></span>
|
||||
</div>
|
||||
<ul>
|
||||
<!-- IP addresses -->
|
||||
<li class="odd">
|
||||
<div class="total"><span data-item="totalIPAddresses"></span></div>
|
||||
<div class="desc">IP addresses</div>
|
||||
<div class="desc"><fmt:message key="label.menu.ipaddresses"/></div>
|
||||
</li>
|
||||
|
||||
<!-- Load balancing policies -->
|
||||
<li>
|
||||
<div class="total"><span data-item="totalLoadBalancers"></span></div>
|
||||
<div class="desc">Load balancing policies</div>
|
||||
<div class="desc"><fmt:message key="label.load.balancing.policies"/></div>
|
||||
</li>
|
||||
|
||||
<!-- Port forwarding policies -->
|
||||
<li class="odd">
|
||||
<div class="total"><span data-item="totalPortForwards"></span></div>
|
||||
<div class="desc">Port forwarding policies</div>
|
||||
<div class="desc"><fmt:message key="label.port.forwarding.policies"/></div>
|
||||
</li>
|
||||
|
||||
<!-- Blank -->
|
||||
|
|
@ -861,7 +876,7 @@
|
|||
<div class="total"></div>
|
||||
<div class="desc">
|
||||
<div class="button manage-resources">
|
||||
<span>Manage Resources</span>
|
||||
<span><fmt:message key="label.manage.resources"/></span>
|
||||
<span class="arrow"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -872,9 +887,9 @@
|
|||
<!-- Events -->
|
||||
<div class="info-box events">
|
||||
<div class="title">
|
||||
<span>Events</span>
|
||||
<span><fmt:message key="label.menu.events"/></span>
|
||||
<div class="button view-all">
|
||||
<span>View all</span>
|
||||
<span><fmt:message key="label.view.all"/></span>
|
||||
<span class="arrow"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1599,6 +1614,73 @@
|
|||
|
||||
<script language="javascript">
|
||||
dictionary = {
|
||||
'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"/>',
|
||||
'label.license.agreement': '<fmt:message key="label.license.agreement"/>',
|
||||
'label.port.forwarding.policies': '<fmt:message key="label.port.forwarding.policies"/>',
|
||||
'label.load.balancing.policies': '<fmt:message key="label.load.balancing.policies"/>',
|
||||
'label.networking.and.security': '<fmt:message key="label.networking.and.security"/>',
|
||||
'label.bandwidth': '<fmt:message key="label.bandwidth"/>',
|
||||
'label.virtual.machines': '<fmt:message key="label.virtual.machines"/>',
|
||||
'label.compute.and.storage': '<fmt:message key="label.compute.and.storage"/>',
|
||||
'label.task.completed': '<fmt:message key="label.task.completed"/>',
|
||||
'label.update.project.resources': '<fmt:message key="label.update.project.resources"/>',
|
||||
'label.remove.project.account': '<fmt:message key="label.remove.project.account"/>',
|
||||
'label.item.listing': '<fmt:message key="label.item.listing"/>',
|
||||
'message.select.item': '<fmt:message key="message.select.item"/>',
|
||||
'label.removing': '<fmt:message key="label.removing"/>',
|
||||
'label.invite': '<fmt:message key="label.invite"/>',
|
||||
'label.project.dashboard': '<fmt:message key="label.project.dashboard"/>',
|
||||
'label.add.by': '<fmt:message key="label.add.by"/>',
|
||||
'label.max.vms': '<fmt:message key="label.max.vms"/>',
|
||||
'label.max.public.ips': '<fmt:message key="label.max.public.ips"/>',
|
||||
'label.max.volumes': '<fmt:message key="label.max.volumes"/>',
|
||||
'label.max.snapshots': '<fmt:message key="label.max.snapshots"/>',
|
||||
'label.max.templates': '<fmt:message key="label.max.templates"/>',
|
||||
'label.remind.later': '<fmt:message key="label.remind.later"/>',
|
||||
'label.invited.accounts': '<fmt:message key="label.invited.accounts"/>',
|
||||
'label.add.accounts.to': '<fmt:message key="label.add.accounts.to"/>',
|
||||
'label.invite.to': '<fmt:message key="label.invite.to"/>',
|
||||
'label.add.accounts': '<fmt:message key="label.add.accounts"/>',
|
||||
'label.project.name': '<fmt:message key="label.project.name"/>',
|
||||
'label.create.project': '<fmt:message key="label.create.project"/>',
|
||||
'label.networks': '<fmt:message key="label.networks"/>',
|
||||
'label.launch.vm': '<fmt:message key="label.launch.vm"/>',
|
||||
'label.new.vm': '<fmt:message key="label.new.vm"/>',
|
||||
'label.previous': '<fmt:message key="label.previous"/>',
|
||||
'label.add.to.group': '<fmt:message key="label.add.to.group"/>',
|
||||
'message.vm.review.launch': '<fmt:message key="message.vm.review.launch"/>',
|
||||
'label.new': '<fmt:message key="label.new"/>',
|
||||
'message.select.security.groups': '<fmt:message key="message.select.security.groups"/>',
|
||||
'message.please.proceed': '<fmt:message key="message.please.proceed"/>',
|
||||
'message.please.select.networks': '<fmt:message key="message.please.select.networks"/>',
|
||||
'message.zone.no.network.selection': '<fmt:message key="message.zone.no.network.selection"/>',
|
||||
'label.no.thanks': '<fmt:message key="label.no.thanks"/>',
|
||||
'label.my.templates': '<fmt:message key="label.my.templates"/>',
|
||||
'message.select.iso': '<fmt:message key="message.select.iso"/>',
|
||||
'message.select.template': '<fmt:message key="message.select.template"/>',
|
||||
'message.template.desc': '<fmt:message key="message.template.desc"/>',
|
||||
'message.iso.desc': '<fmt:message key="message.iso.desc"/>',
|
||||
'label.select.iso.or.template': '<fmt:message key="label.select.iso.or.template"/>',
|
||||
'message.select.a.zone': '<fmt:message key="message.select.a.zone"/>',
|
||||
'label.select.a.zone': '<fmt:message key="label.select.a.zone"/>',
|
||||
'label.review': '<fmt:message key="label.review"/>',
|
||||
'label.select.a.template': '<fmt:message key="label.select.a.template"/>',
|
||||
'label.setup': '<fmt:message key="label.setup"/>',
|
||||
'state.Allocated': '<fmt:message key="state.Allocated"/>',
|
||||
'changed.item.properties': '<fmt:message key="changed.item.properties"/>',
|
||||
'label.apply': '<fmt:message key="label.apply"/>',
|
||||
'label.default': '<fmt:message key="label.default"/>',
|
||||
'label.viewing': '<fmt:message key="label.viewing"/>',
|
||||
'label.drag.new.position': '<fmt:message key="label.drag.new.position"/>',
|
||||
'label.move.down.row': '<fmt:message key="label.move.down.row"/>',
|
||||
'label.move.up.row': '<fmt:message key="label.move.up.row"/>',
|
||||
'label.move.to.top': '<fmt:message key="label.move.to.top"/>',
|
||||
'label.order': '<fmt:message key="label.order"/>',
|
||||
'label.no.data': '<fmt:message key="label.no.data"/>',
|
||||
'label.change.value': '<fmt:message key="label.change.value"/>',
|
||||
'label.clear.list': '<fmt:message key="label.clear.list"/>',
|
||||
'label.add.vm': '<fmt:message key="label.add.vm"/>',
|
||||
'label.full.path': '<fmt:message key="label.full.path"/>',
|
||||
'message.add.domain': '<fmt:message key="message.add.domain"/>',
|
||||
|
|
@ -1665,6 +1747,7 @@ dictionary = {
|
|||
'label.create.template': '<fmt:message key="label.create.template" />',
|
||||
'message.download.volume.confirm': '<fmt:message key="message.download.volume.confirm" />',
|
||||
'message.detach.disk': '<fmt:message key="message.detach.disk" />',
|
||||
'state.ready': '<fmt:message key="state.ready" />',
|
||||
'state.Ready': '<fmt:message key="state.Ready" />',
|
||||
'label.vm.display.name': '<fmt:message key="label.vm.display.name" />',
|
||||
'label.select-view': '<fmt:message key="label.select-view" />',
|
||||
|
|
@ -2573,6 +2656,89 @@ dictionary = {
|
|||
'conserve.mode': '<fmt:message key="conserve.mode" />',
|
||||
'created.by.system': '<fmt:message key="created.by.system" />',
|
||||
'label.menu.system.service.offerings': '<fmt:message key="label.menu.system.service.offerings" />',
|
||||
'label.add.system.service.offering': '<fmt:message key="label.add.system.service.offering" />'
|
||||
'label.add.system.service.offering': '<fmt:message key="label.add.system.service.offering" />',
|
||||
'redundant.router.capability': '<fmt:message key="redundant.router.capability" />',
|
||||
'supported.source.NAT.type': '<fmt:message key="supported.source.NAT.type" />',
|
||||
'elastic.LB': '<fmt:message key="elastic.LB" />',
|
||||
'LB.isolation': '<fmt:message key="LB.isolation" />',
|
||||
'elastic.IP': '<fmt:message key="elastic.IP" />',
|
||||
'network.label.display.for.blank.value': '<fmt:message key="network.label.display.for.blank.value" />',
|
||||
'Xen.traffic.label': '<fmt:message key="Xen.traffic.label" />',
|
||||
'KVM.traffic.label': '<fmt:message key="KVM.traffic.label" />',
|
||||
'VMware.traffic.label': '<fmt:message key="VMware.traffic.label" />',
|
||||
'start.IP': '<fmt:message key="start.IP" />',
|
||||
'end.IP': '<fmt:message key="end.IP" />',
|
||||
'IP.range.is.added': '<fmt:message key="IP.range.is.added" />',
|
||||
'remove.IP.range': '<fmt:message key="remove.IP.range" />',
|
||||
'storage.traffic.type.is.updated': '<fmt:message key="storage.traffic.type.is.updated" />',
|
||||
'management.traffic.type.is.updated': '<fmt:message key="management.traffic.type.is.updated" />',
|
||||
'public.traffic.type.is.updated': '<fmt:message key="public.traffic.type.is.updated" />',
|
||||
'guest.traffic.type.is.updated': '<fmt:message key="guest.traffic.type.is.updated" />',
|
||||
'IP.ranges': '<fmt:message key="IP.ranges" />',
|
||||
'start.Vlan': '<fmt:message key="start.Vlan" />',
|
||||
'end.Vlan': '<fmt:message key="end.Vlan" />',
|
||||
'broadcast.domain.range': '<fmt:message key="broadcast.domain.range" />',
|
||||
'label.compute': '<fmt:message key="label.compute" />',
|
||||
'message.add.guest.network': '<fmt:message key="message.add.guest.network" />',
|
||||
'subdomain.access': '<fmt:message key="subdomain.access" />',
|
||||
'guest.start.IP': '<fmt:message key="guest.start.IP" />',
|
||||
'guest.end.IP': '<fmt:message key="guest.end.IP" />',
|
||||
'restart.required': '<fmt:message key="restart.required" />',
|
||||
'virtual.router': '<fmt:message key="virtual.router" />',
|
||||
'physical.network.ID': '<fmt:message key="physical.network.ID" />',
|
||||
'destination.physical.network.ID': '<fmt:message key="destination.physical.network.ID" />',
|
||||
'DHCP': '<fmt:message key="DHCP" />',
|
||||
'destroy.router': '<fmt:message key="destroy.router" />',
|
||||
'confirm.destroy.router': '<fmt:message key="confirm.destroy.router" />',
|
||||
'change.service.offering': '<fmt:message key="change.service.offering" />',
|
||||
'view.console': '<fmt:message key="view.console" />',
|
||||
'redundant.state': '<fmt:message key="redundant.state" />',
|
||||
'enable.provider': '<fmt:message key="enable.provider" />',
|
||||
'confirm.enable.provider': '<fmt:message key="confirm.enable.provider" />',
|
||||
'disable.provider': '<fmt:message key="disable.provider" />',
|
||||
'confirm.disable.provider': '<fmt:message key="confirm.disable.provider" />',
|
||||
'shutdown.provider': '<fmt:message key="shutdown.provider" />',
|
||||
'confirm.shutdown.provider': '<fmt:message key="confirm.shutdown.provider" />',
|
||||
'NetScaler': '<fmt:message key="NetScaler" />',
|
||||
'add.new.NetScaler': '<fmt:message key="add.new.NetScaler" />',
|
||||
'number.of.retries': '<fmt:message key="number.of.retries" />',
|
||||
'capacity': '<fmt:message key="capacity" />',
|
||||
'dedicated': '<fmt:message key="dedicated" />',
|
||||
'F5': '<fmt:message key="F5" />',
|
||||
'add.new.F5': '<fmt:message key="add.new.F5" />',
|
||||
'SRX': '<fmt:message key="SRX" />',
|
||||
'providers': '<fmt:message key="providers" />',
|
||||
'add.new.SRX': '<fmt:message key="add.new.SRX" />',
|
||||
'timeout': '<fmt:message key="timeout" />',
|
||||
'public.network': '<fmt:message key="public.network" />',
|
||||
'private.network': '<fmt:message key="private.network" />',
|
||||
'public': '<fmt:message key="public" />',
|
||||
'enable.swift': '<fmt:message key="enable.swift" />',
|
||||
'confirm.enable.swift': '<fmt:message key="confirm.enable.swift" />',
|
||||
'message.after.enable.swift': '<fmt:message key="message.after.enable.swift" />',
|
||||
'URL': '<fmt:message key="URL" />',
|
||||
'key': '<fmt:message key="key" />',
|
||||
'domain': '<fmt:message key="domain" />',
|
||||
'delete.NetScaler': '<fmt:message key="delete.NetScaler" />',
|
||||
'confirm.delete.NetScaler': '<fmt:message key="confirm.delete.NetScaler" />',
|
||||
'delete.F5': '<fmt:message key="delete.F5" />',
|
||||
'confirm.delete.F5': '<fmt:message key="confirm.delete.F5" />',
|
||||
'delete.SRX': '<fmt:message key="delete.SRX" />',
|
||||
'confirm.delete.SRX': '<fmt:message key="confirm.delete.SRX" />',
|
||||
'label.pods': '<fmt:message key="label.pods" />',
|
||||
'pod.name': '<fmt:message key="pod.name" />',
|
||||
'reserved.system.gateway': '<fmt:message key="reserved.system.gateway" />',
|
||||
'reserved.system.netmask': '<fmt:message key="reserved.system.netmask" />',
|
||||
'start.reserved.system.IP': '<fmt:message key="start.reserved.system.IP" />',
|
||||
'end.reserved.system.IP': '<fmt:message key="end.reserved.system.IP" />',
|
||||
'label.clusters': '<fmt:message key="label.clusters" />',
|
||||
'cluster.name': '<fmt:message key="cluster.name" />',
|
||||
'host.MAC': '<fmt:message key="host.MAC" />',
|
||||
'agent.username': '<fmt:message key="agent.username" />',
|
||||
'agent.password': '<fmt:message key="agent.password" />',
|
||||
'confirm.action.force.reconnect': '<fmt:message key="confirm.action.force.reconnect" />',
|
||||
'resource.state': '<fmt:message key="resource.state" />',
|
||||
'LUN.number': '<fmt:message key="LUN.number" />',
|
||||
'confirm.remove.IP.range': '<fmt:message key="confirm.remove.IP.range" />'
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1084,7 +1084,8 @@
|
|||
$serviceOfferingId.css('display', 'inline-block');
|
||||
else
|
||||
$serviceOfferingId.hide();
|
||||
|
||||
|
||||
$(':ui-dialog').dialog('option', 'position', 'center');
|
||||
});
|
||||
},
|
||||
fields: {
|
||||
|
|
@ -1248,7 +1249,7 @@
|
|||
|
||||
//show or hide upon checked services and selected providers above (begin)
|
||||
serviceOfferingId: {
|
||||
label: 'Service Offering',
|
||||
label: 'label.service.offering',
|
||||
select: function(args) {
|
||||
$.ajax({
|
||||
url: createURL('listServiceOfferings&issystem=true'),
|
||||
|
|
@ -1280,14 +1281,14 @@
|
|||
},
|
||||
|
||||
"service.SourceNat.redundantRouterCapabilityCheckbox" : {
|
||||
label: "Redundant router capability",
|
||||
label: "redundant.router.capability",
|
||||
isHidden: true,
|
||||
dependsOn: 'service.SourceNat.isEnabled',
|
||||
isBoolean: true
|
||||
},
|
||||
|
||||
"service.SourceNat.sourceNatTypeDropdown": {
|
||||
label: 'Supported Source NAT type',
|
||||
label: 'supported.source.NAT.type',
|
||||
isHidden: true,
|
||||
dependsOn: 'service.SourceNat.isEnabled',
|
||||
select: function(args) {
|
||||
|
|
@ -1300,13 +1301,13 @@
|
|||
}
|
||||
},
|
||||
"service.Lb.elasticLbCheckbox" : {
|
||||
label: "Elastic LB",
|
||||
label: "elastic.LB",
|
||||
isHidden: true,
|
||||
dependsOn: 'service.Lb.isEnabled',
|
||||
isBoolean: true
|
||||
},
|
||||
"service.Lb.lbIsolationDropdown": {
|
||||
label: 'LB isolation',
|
||||
label: 'LB.isolation',
|
||||
isHidden: true,
|
||||
dependsOn: 'service.Lb.isEnabled',
|
||||
select: function(args) {
|
||||
|
|
@ -1319,7 +1320,7 @@
|
|||
}
|
||||
},
|
||||
"service.StaticNat.elasticIpCheckbox" : {
|
||||
label: "Elastic IP",
|
||||
label: "elastic.IP",
|
||||
isHidden: true,
|
||||
dependsOn: 'service.StaticNat.isEnabled',
|
||||
isBoolean: true
|
||||
|
|
|
|||
|
|
@ -236,13 +236,15 @@
|
|||
complete($.extend(data, {
|
||||
zoneCapacities: $.map(capacities, function(capacity) {
|
||||
if (capacity.podname) {
|
||||
capacity.zonename = capacity.zonename.concat('<br/>Pod: ' + capacity.podname);
|
||||
capacity.zonename = capacity.zonename.concat('<br/>' + _l('label.pod') + ': ' + capacity.podname);
|
||||
}
|
||||
|
||||
if (capacity.clustername) {
|
||||
capacity.zonename = capacity.zonename.concat('<br/>Cluster: ' + capacity.clustername);
|
||||
capacity.zonename = capacity.zonename.concat('<br/>' + _l('label.cluster') + ': ' + capacity.clustername);
|
||||
}
|
||||
|
||||
capacity.zonename.replace('Zone:', _l('label.zone') + ':');
|
||||
|
||||
return {
|
||||
zoneID: capacity.zoneid, // Temporary fix for dashboard
|
||||
zoneName: capacity.zonename,
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
(function(cloudStack) {
|
||||
cloudStack.sections['global-settings'] = {
|
||||
title: 'Global Settings',
|
||||
title: 'label.menu.global.settings',
|
||||
id: 'global-settings',
|
||||
listView: {
|
||||
label: 'Global Settings',
|
||||
label: 'label.menu.global.settings',
|
||||
actions: {
|
||||
edit: {
|
||||
label: 'Change value',
|
||||
label: 'label.change.value',
|
||||
action: function(args) {
|
||||
var name = args.data.jsonObj.name;
|
||||
var value = args.data.value;
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
async: true,
|
||||
success: function(json) {
|
||||
var item = json.updateconfigurationresponse.configuration;
|
||||
cloudStack.dialog.notice({ message: 'Please restart your management server for your change to take effect.' });
|
||||
cloudStack.dialog.notice({ message: _l('message.restart.mgmt.server') });
|
||||
args.response.success({data: item});
|
||||
},
|
||||
error: function(json) {
|
||||
|
|
@ -30,9 +30,9 @@
|
|||
}
|
||||
},
|
||||
fields: {
|
||||
name: { label: 'Name', id: true },
|
||||
description: { label: 'Description' },
|
||||
value: { label: 'Value', editable: true }
|
||||
name: { label: 'label.name', id: true },
|
||||
description: { label: 'label.description' },
|
||||
value: { label: 'label.value', editable: true }
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
var data = {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
else
|
||||
return false;
|
||||
},
|
||||
label: 'ui.listView.filters.destroyed'
|
||||
label: 'state.Destroyed'
|
||||
}
|
||||
},
|
||||
fields: {
|
||||
|
|
@ -1016,10 +1016,10 @@
|
|||
},
|
||||
|
||||
attachISO: {
|
||||
label: 'label.attach.iso',
|
||||
label: 'label.action.attach.iso',
|
||||
createForm: {
|
||||
title: 'label.attach.iso',
|
||||
desc: 'label.attach.iso',
|
||||
title: 'label.action.attach.iso',
|
||||
desc: 'label.action.attach.iso',
|
||||
fields: {
|
||||
iso: {
|
||||
label: 'ISO',
|
||||
|
|
@ -1077,13 +1077,13 @@
|
|||
},
|
||||
|
||||
detachISO: {
|
||||
label: 'label.detach.iso',
|
||||
label: 'label.action.detach.iso',
|
||||
messages: {
|
||||
confirm: function(args) {
|
||||
return 'message.detach.iso.confirm';
|
||||
},
|
||||
notification: function(args) {
|
||||
return 'label.detach.iso';
|
||||
return 'label.action.detach.iso';
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
|
|
@ -1569,7 +1569,7 @@
|
|||
isdefault: {
|
||||
label: 'label.is.default',
|
||||
converter: function(data) {
|
||||
return data ? 'label.yes' : 'label.no';
|
||||
return data ? _l('label.yes') : _l('label.no');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1579,7 +1579,7 @@
|
|||
var name = 'NIC ' + (index + 1);
|
||||
|
||||
if (nic.isdefault) {
|
||||
name += ' (Default)';
|
||||
name += ' (' + _l('label.default') + ')';
|
||||
}
|
||||
return $.extend(nic, {
|
||||
name: name
|
||||
|
|
@ -1610,12 +1610,12 @@
|
|||
* Statistics tab
|
||||
*/
|
||||
stats: {
|
||||
title: 'Statistics',
|
||||
title: 'label.statistics',
|
||||
fields: {
|
||||
totalCPU: { label: 'Total CPU' },
|
||||
cpuused: { label: 'CPU Utilized' },
|
||||
networkkbsread: { label: 'Network Read' },
|
||||
networkkbswrite: { label: 'Network Write' }
|
||||
totalCPU: { label: 'label.total.cpu' },
|
||||
cpuused: { label: 'label.cpu.utilized' },
|
||||
networkkbsread: { label: 'label.network.read' },
|
||||
networkkbswrite: { label: 'label.network.write' }
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
var jsonObj = args.context.instances[0];
|
||||
|
|
|
|||
|
|
@ -65,28 +65,28 @@
|
|||
var resourceMap = {
|
||||
0: {
|
||||
id: 'user_vm',
|
||||
label: 'Max. User VMs'
|
||||
label: 'label.max.vms'
|
||||
},
|
||||
1: {
|
||||
id: 'public_ip',
|
||||
label: 'Max. Public IPs'
|
||||
label: 'label.max.public.ips'
|
||||
},
|
||||
2: {
|
||||
id: 'volume',
|
||||
label: 'Max. Volumes'
|
||||
label: 'label.max.volumes'
|
||||
},
|
||||
3: {
|
||||
id: 'snapshot',
|
||||
label: 'Max. Snapshots'
|
||||
label: 'label.max.snapshots'
|
||||
},
|
||||
4: {
|
||||
id: 'template',
|
||||
label: 'Max. Templates'
|
||||
label: 'label.max.templates'
|
||||
}
|
||||
};
|
||||
return {
|
||||
id: resourceMap[resource.resourcetype].id,
|
||||
label: resourceMap[resource.resourcetype].label,
|
||||
label: _l(resourceMap[resource.resourcetype].label),
|
||||
type: resource.resourcetype,
|
||||
value: resource.max
|
||||
};
|
||||
|
|
@ -281,13 +281,13 @@
|
|||
noHeaderActionsColumn: true,
|
||||
ignoreEmptyFields: true,
|
||||
fields: {
|
||||
'email': { edit: true, label: 'E-mail' },
|
||||
'account': { edit: true, label: 'Account' },
|
||||
'state': { edit: 'ignore', label: 'Status' },
|
||||
'email': { edit: true, label: 'label.email' },
|
||||
'account': { edit: true, label: 'label.account' },
|
||||
'state': { edit: 'ignore', label: 'label.status' },
|
||||
'add-user': { addButton: true, label: '' }
|
||||
},
|
||||
add: {
|
||||
label: 'Invite',
|
||||
label: 'label.invite',
|
||||
action: function(args) {
|
||||
$.ajax({
|
||||
url: createURL('addAccountToProject', { ignoreProject: true }),
|
||||
|
|
@ -542,7 +542,7 @@
|
|||
title: 'label.projects',
|
||||
id: 'projects',
|
||||
sectionSelect: {
|
||||
label: 'Select view'
|
||||
label: 'label.select-view'
|
||||
},
|
||||
sections: {
|
||||
projects: {
|
||||
|
|
@ -558,9 +558,9 @@
|
|||
state: {
|
||||
converter: function(str) {
|
||||
// For localization
|
||||
return str;
|
||||
return 'state.' + str;
|
||||
},
|
||||
label: 'Status', indicator: {
|
||||
label: 'label.status', indicator: {
|
||||
converter: function(str) {
|
||||
return 'state.' + str;
|
||||
},
|
||||
|
|
@ -752,7 +752,7 @@
|
|||
},
|
||||
tabs: {
|
||||
details: {
|
||||
title: 'Details',
|
||||
title: 'label.details',
|
||||
fields: [
|
||||
{
|
||||
name: { label: 'label.name' }
|
||||
|
|
@ -838,7 +838,7 @@
|
|||
project: { label: 'label.project' },
|
||||
domain: { label: 'label.domain' },
|
||||
state: {
|
||||
label: 'Status',
|
||||
label: 'label.status',
|
||||
converter: function(str) {
|
||||
// For localization
|
||||
return 'state.' + str;
|
||||
|
|
|
|||
1717
ui/scripts/system.js
1717
ui/scripts/system.js
File diff suppressed because it is too large
Load Diff
|
|
@ -202,7 +202,7 @@
|
|||
return $('<div></div>').addClass('header')
|
||||
.append(
|
||||
$.merge(
|
||||
$('<h2></h2>').html('Hello and Welcome to CloudStack.'),
|
||||
$('<h2></h2>').html(_l('label.installWizard.title')),
|
||||
$('<h3></h3>').html('This tour will aid you in setting up your CloudStack installation')
|
||||
)
|
||||
);
|
||||
|
|
@ -285,10 +285,10 @@
|
|||
var steps = {
|
||||
eula: function(args) {
|
||||
var $intro = $('<div></div>').addClass('intro eula');
|
||||
var $title = $('<div></div>').addClass('title').html('License Agreement');
|
||||
var $subtitle = $('<div></div>').addClass('subtitle').html('Please accept the CloudStack™ EULA before installing.');
|
||||
var $title = $('<div></div>').addClass('title').html(_l('label.license.agreement'));
|
||||
var $subtitle = $('<div></div>').addClass('subtitle').html(_l('label.license.agreement.subtitle'));
|
||||
var $copy = getCopy('eula', $('<div></div>').addClass('eula-copy'));
|
||||
var $continue = elems.nextButton('Agree');
|
||||
var $continue = elems.nextButton(_l('label.agree'));
|
||||
|
||||
$continue.click(function() {
|
||||
goTo('intro');
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
var $loading = $('.list-view').listView('prependItem', {
|
||||
data: [
|
||||
{
|
||||
name: data.displayname ? data.displayname : 'New VM',
|
||||
name: data.displayname ? data.displayname : _l('label.new.vm'),
|
||||
zonename: $wizard.find('select[name=zoneid] option').filter(function() {
|
||||
return $(this).val() == data.zoneid;
|
||||
}).html(),
|
||||
|
|
@ -531,7 +531,7 @@
|
|||
if (fieldName) {
|
||||
$(this).html(fieldName);
|
||||
} else {
|
||||
$(this).html('(None)');
|
||||
$(this).html('(' + _l('label.none') + ')');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -574,10 +574,10 @@
|
|||
|
||||
// Show launch vm button if last step
|
||||
var $nextButton = $wizard.find('.button.next');
|
||||
$nextButton.find('span').html('Next');
|
||||
$nextButton.find('span').html(_l('label.next'));
|
||||
$nextButton.removeClass('final');
|
||||
if ($targetStep.hasClass('review')) {
|
||||
$nextButton.find('span').html('Launch VM');
|
||||
$nextButton.find('span').html(_l('label.launch.vm'));
|
||||
$nextButton.addClass('final');
|
||||
}
|
||||
|
||||
|
|
@ -693,7 +693,7 @@
|
|||
});
|
||||
|
||||
return $wizard.dialog({
|
||||
title: 'Add instance',
|
||||
title: _l('label.vm.add'),
|
||||
width: 800,
|
||||
height: 570,
|
||||
zIndex: 5000
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
$multi.prepend(
|
||||
$('<div>').addClass('add-by')
|
||||
.append($('<span>').html('Add by:'))
|
||||
.append($('<span>').html(_l('label.add.by') + ':'))
|
||||
.append(
|
||||
$('<div>').addClass('selection')
|
||||
.append(
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
return true;
|
||||
}).click()
|
||||
)
|
||||
.append($('<label>').html('Account'))
|
||||
.append($('<label>').html(_l('label.account')))
|
||||
.append(
|
||||
$('<input>').attr({
|
||||
type: 'radio',
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
return true;
|
||||
})
|
||||
)
|
||||
.append($('<label>').html('E-mail'))
|
||||
.append($('<label>').html(_l('label.email')))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
dashboardTabs: {
|
||||
overview: function() {
|
||||
var $dashboard = $('#template').find('.project-dashboard-view').clone();
|
||||
$dashboard.data('tab-title', 'Dashboard');
|
||||
$dashboard.data('tab-title', _l('label.menu.dashboard'));
|
||||
|
||||
var getData = function() {
|
||||
// Populate data
|
||||
|
|
@ -127,21 +127,21 @@
|
|||
},
|
||||
|
||||
users: function() {
|
||||
return $('<div>').addClass('management').data('tab-title', 'Accounts');
|
||||
return $('<div>').addClass('management').data('tab-title', _l('label.menu.accounts'));
|
||||
},
|
||||
|
||||
invitations: function() {
|
||||
return $('<div>').addClass('management-invite').data('tab-title', 'Invitations');
|
||||
return $('<div>').addClass('management-invite').data('tab-title', _l('label.invitations'));
|
||||
},
|
||||
|
||||
resources: function(options) {
|
||||
if (!options) options = {};
|
||||
|
||||
var $resources = $('<div>').addClass('resources').data('tab-title', 'Resources');
|
||||
var $resources = $('<div>').addClass('resources').data('tab-title', _l('label.resources'));
|
||||
var $form = $('<form>');
|
||||
var $submit = $('<input>').attr({
|
||||
type: 'submit'
|
||||
}).val('Apply');
|
||||
}).val(_l('label.apply'));
|
||||
|
||||
cloudStack.projects.resourceManagement.dataProvider({
|
||||
response: {
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
$loading.remove();
|
||||
$('.notifications').notifications('add', {
|
||||
section: 'dashboard',
|
||||
desc: 'Updated project resources',
|
||||
desc: 'label.update.project.resources',
|
||||
interval: 1000,
|
||||
poll: function(args) {
|
||||
args.complete();
|
||||
|
|
@ -281,24 +281,24 @@
|
|||
*/
|
||||
newProjectForm: function() {
|
||||
var $newProject = $('<div>').addClass('new-project');
|
||||
$newProject.append($('<div>').addClass('title').html('Create a project'));
|
||||
$newProject.append($('<div>').addClass('title').html(_l('label.create.project')));
|
||||
|
||||
var $form = $('<form>');
|
||||
var $formDesc = $('<div>').addClass('form-desc');
|
||||
var $projectName = $('<div>').addClass('field name')
|
||||
.append($('<label>').attr('for', 'project-name').html('Project name'))
|
||||
.append($('<label>').attr('for', 'project-name').html(_l('label.project.name')))
|
||||
.append($('<input>').addClass('required').attr({
|
||||
type: 'text',
|
||||
name: 'project-name'
|
||||
}));
|
||||
var $projectDesc = $('<div>').addClass('field desc')
|
||||
.append($('<label>').attr('for', 'project-desc').html('Display text'))
|
||||
.append($('<label>').attr('for', 'project-desc').html(_l('label.display.text')))
|
||||
.append($('<input>').attr({
|
||||
type: 'text',
|
||||
name: 'project-display-text'
|
||||
}));
|
||||
var $submit = $('<input>').attr({ type: 'submit' }).val('Create Project');
|
||||
var $cancel = $('<div>').addClass('button cancel').html('Cancel');
|
||||
var $submit = $('<input>').attr({ type: 'submit' }).val(_l('label.create.project'));
|
||||
var $cancel = $('<div>').addClass('button cancel').html(_l('label.cancel'));
|
||||
var $loading = $('<div>').addClass('loading-overlay');
|
||||
|
||||
// Form events/validation
|
||||
|
|
@ -339,7 +339,7 @@
|
|||
);
|
||||
|
||||
var $buttons = $('<div>').addClass('buttons');
|
||||
var $addAccountButton = $('<div>').addClass('button confirm').html('Add Accounts');
|
||||
var $addAccountButton = $('<div>').addClass('button confirm').html(_l('label.add.accounts'));
|
||||
|
||||
$addAccountButton.click(function() {
|
||||
// Show add user form
|
||||
|
|
@ -350,15 +350,15 @@
|
|||
}),
|
||||
useInvites: cloudStack.projects.requireInvitation()
|
||||
});
|
||||
var $nextButton = $('<div>').addClass('button confirm next').html('Next');
|
||||
var $nextButton = $('<div>').addClass('button confirm next').html(_l('label.next'));
|
||||
|
||||
$newProject.find('.title').html(
|
||||
cloudStack.projects.requireInvitation() ?
|
||||
'Invite to ' + args.data.name :
|
||||
'Add Accounts to ' + args.data.name
|
||||
_l('label.invite.to') + ' ' + args.data.name :
|
||||
_l('label.add.accounts.to') + ' ' + args.data.name
|
||||
);
|
||||
$nextButton.appendTo($userManagement).click(function() {
|
||||
$newProject.find('.title').html('Review');
|
||||
$newProject.find('.title').html(_l('label.review'));
|
||||
$userManagement.replaceWith(function() {
|
||||
var $review = $('<div>').addClass('review');
|
||||
var $projectData = $('<div>').addClass('project-data');
|
||||
|
|
@ -384,7 +384,7 @@
|
|||
$('<li>').addClass('first').append(
|
||||
$('<a>').attr({ href: '#new-project-review-tabs-users'}).html(
|
||||
cloudStack.projects.requireInvitation() ?
|
||||
'Invitations' : 'Accounts'
|
||||
_l('label.invitations') : _l('label.accounts')
|
||||
)
|
||||
)
|
||||
);
|
||||
|
|
@ -393,7 +393,7 @@
|
|||
$ul.append(
|
||||
// Resources tab
|
||||
$('<li>').addClass('last').append(
|
||||
$('<a>').attr({ href: '#new-project-review-tabs-resouces'}).html('Resources')
|
||||
$('<a>').attr({ href: '#new-project-review-tabs-resouces'}).html(_l('label.resources'))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -416,9 +416,9 @@
|
|||
id: 'project-accounts',
|
||||
disableInfiniteScrolling: true,
|
||||
fields: !cloudStack.projects.requireInvitation() ? {
|
||||
username: { label: 'Account' }
|
||||
username: { label: _l('label.account') }
|
||||
} : {
|
||||
account: { label: 'Invited Accounts'}
|
||||
account: { label: _l('label.invited.accounts') }
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
setTimeout(function() {
|
||||
|
|
@ -439,7 +439,7 @@
|
|||
|
||||
// Save button
|
||||
var $saveButton = $nextButton.clone().appendTo($review);
|
||||
$saveButton.html('Save');
|
||||
$saveButton.html(_l('label.save'));
|
||||
$saveButton.click(function() {
|
||||
$('#new-project-review-tabs-resouces').find('form').submit();
|
||||
$('.ui-dialog, .overlay').remove();
|
||||
|
|
@ -456,7 +456,7 @@
|
|||
|
||||
$(':ui-dialog').dialog('option', 'position', 'center');
|
||||
});
|
||||
$laterButton.html('Close').appendTo($userManagement);
|
||||
$laterButton.html(_l('label.close')).appendTo($userManagement);
|
||||
|
||||
return $userManagement;
|
||||
});
|
||||
|
|
@ -466,7 +466,7 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
var $laterButton = $('<div>').addClass('button later').html('Remind me later');
|
||||
var $laterButton = $('<div>').addClass('button later').html(_l('label.remind.later'));
|
||||
$laterButton.click(function() {
|
||||
$(':ui-dialog, .overlay').remove();
|
||||
|
||||
|
|
@ -511,7 +511,7 @@
|
|||
var $selector = $('<div>').addClass('project-selector');
|
||||
var $toolbar = $('<div>').addClass('toolbar');
|
||||
var $list = $('<div>').addClass('listing')
|
||||
.append($('<div>').addClass('header').html('Name'))
|
||||
.append($('<div>').addClass('header').html(_l('label.name')))
|
||||
.append($('<div>').addClass('data').append($('<ul>')));
|
||||
var $searchForm = $('<form>');
|
||||
var $search = $('<div>').appendTo($toolbar).addClass('search')
|
||||
|
|
@ -661,7 +661,7 @@
|
|||
|
||||
$browser.cloudBrowser('removeAllPanels');
|
||||
$browser.cloudBrowser('addPanel', {
|
||||
title: 'Project Dashboard',
|
||||
title: _l('label.project.dashboard'),
|
||||
complete: function($newPanel) {
|
||||
$('#navigation li.dashboard').addClass('active').siblings().removeClass('active');
|
||||
$newPanel.append(pageElems.dashboard);
|
||||
|
|
|
|||
|
|
@ -13,8 +13,16 @@
|
|||
).filter(':not(.disabled)');
|
||||
var $publicTrafficItems = $wizard.find(
|
||||
'.steps .setup-public-traffic .data-body .data-item');
|
||||
var $storageTrafficItems = $wizard.find(
|
||||
'.steps .setup-storage-traffic .data-body .data-item');
|
||||
var groupedForms = {};
|
||||
|
||||
if ($physicalNetworkItems.find('li.traffic-type-draggable.storage').size()) {
|
||||
$wizard.find('li.conditional.storage-traffic').show();
|
||||
} else {
|
||||
$wizard.find('li.conditional.storage-traffic').hide();
|
||||
}
|
||||
|
||||
if (options.all) {
|
||||
return cloudStack.serializeForm($forms, { escapeSlashes: true });
|
||||
}
|
||||
|
|
@ -60,7 +68,7 @@
|
|||
$publicTrafficItems,
|
||||
function(publicTrafficItem) {
|
||||
var $publicTrafficItem = $(publicTrafficItem);
|
||||
publicTrafficData = {};
|
||||
var publicTrafficData = {};
|
||||
var fields = [
|
||||
'gateway',
|
||||
'netmask',
|
||||
|
|
@ -78,6 +86,28 @@
|
|||
}
|
||||
);
|
||||
|
||||
// Get storage traffic data (multi-edit)
|
||||
groupedForms.storageTraffic = $.map(
|
||||
$storageTrafficItems,
|
||||
function(storageTrafficItem) {
|
||||
var $storageTrafficItem = $(storageTrafficItem);
|
||||
var storageTrafficData = {};
|
||||
var fields = [
|
||||
'netmask',
|
||||
'vlanid',
|
||||
'startip',
|
||||
'endip'
|
||||
];
|
||||
|
||||
$(fields).each(function() {
|
||||
storageTrafficData[this] =
|
||||
$storageTrafficItem.find('td.' + this + ' span').html();
|
||||
});
|
||||
|
||||
return storageTrafficData;
|
||||
}
|
||||
);
|
||||
|
||||
// Hack to fix forward slash JS error
|
||||
$.each(groupedForms, function(key1, value1) {
|
||||
$.each(value1, function(key2, value2) {
|
||||
|
|
@ -451,7 +481,7 @@
|
|||
});
|
||||
|
||||
$physicalNetworkItem.find('li.traffic-type-draggable.clone').remove();
|
||||
physicalNetwork.update($physicalNetworkItem.parent().find('.multi'));
|
||||
physicalNetwork.update($physicalNetworkItem.parent().find('.multi'));
|
||||
});
|
||||
|
||||
$physicalNetworkItem.addClass('disabled'); // Since there are no traffic types yet
|
||||
|
|
@ -648,13 +678,16 @@
|
|||
$('<span>').addClass('icon').html(' '),
|
||||
$('<span>').addClass('text').html(message)
|
||||
);
|
||||
var $launchContainer = $launchStep.find('.launch-container');
|
||||
|
||||
$launchStep.find('ul').append($li);
|
||||
$li.prev().removeClass('loading');
|
||||
$launchContainer.scrollTop($launchContainer.height());
|
||||
|
||||
if (isError) {
|
||||
$li.prev().addClass('error');
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
args.action({
|
||||
|
|
@ -840,7 +873,7 @@
|
|||
if ($targetStep.index() == $steps.size() - 1 || options.nextStep) {
|
||||
$nextButton.find('span').html(options.nextStep ? 'Save changes' : 'Launch zone');
|
||||
$nextButton.addClass('final');
|
||||
|
||||
|
||||
if (options.nextStep) { $nextButton.addClass('post-launch'); }
|
||||
}
|
||||
|
||||
|
|
@ -1015,7 +1048,7 @@
|
|||
} else if (!ui.draggable.closest('.traffic-types-drag-area').size()) {
|
||||
ui.draggable.remove();
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -246,13 +246,13 @@
|
|||
// User options
|
||||
var $options = $('<div>').attr({ id: 'user-options' })
|
||||
.appendTo($('#header'));
|
||||
$(['Logout', 'Help']).each(function() {
|
||||
$(['label.logout', 'label.help']).each(function() {
|
||||
var $link = $('<a>')
|
||||
.attr({ href: '#' })
|
||||
.html(_l(this.toString()))
|
||||
.appendTo($options);
|
||||
|
||||
if (this == 'Help') {
|
||||
if (this == 'label.help') {
|
||||
$link.click(function() {
|
||||
var helpURL = 'http://docs.cloud.com/CloudStack_Documentation';
|
||||
|
||||
|
|
|
|||
|
|
@ -366,12 +366,12 @@
|
|||
_l(args.message)
|
||||
)
|
||||
).dialog({
|
||||
title: 'Confirm',
|
||||
title: _l('label.confirmation'),
|
||||
dialogClass: 'confirm',
|
||||
zIndex: 5000,
|
||||
buttons: [
|
||||
{
|
||||
text: 'Cancel',
|
||||
text: _l('label.no'),
|
||||
'class': 'cancel',
|
||||
click: function() {
|
||||
$(this).dialog('destroy');
|
||||
|
|
@ -380,7 +380,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
text: 'Yes',
|
||||
text: _l('label.yes'),
|
||||
'class': 'ok',
|
||||
click: function() {
|
||||
args.action();
|
||||
|
|
@ -401,7 +401,7 @@
|
|||
_l(args.message)
|
||||
)
|
||||
).dialog({
|
||||
title: 'Status',
|
||||
title: _l('label.status'),
|
||||
dialogClass: 'notice',
|
||||
zIndex: 5000,
|
||||
buttons: [
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@
|
|||
var $inputs = $detailView.find('input, select');
|
||||
var action = args.actions[args.actionName];
|
||||
var id = $detailView.data('view-args').id;
|
||||
var $editButton = $('<div>').addClass('button done').html(_l('Apply')).hide()
|
||||
var $editButton = $('<div>').addClass('button done').html(_l('label.apply')).hide()
|
||||
.appendTo(
|
||||
$detailView.find('.ui-tabs-panel .detail-group.actions')
|
||||
).fadeIn();
|
||||
|
|
@ -276,7 +276,7 @@
|
|||
var val = $input.is(':checked');
|
||||
|
||||
$value.data('detail-view-boolean-value', val);
|
||||
$value.html(val ? _l('Yes') : _l('No'));
|
||||
$value.html(val ? _l('label.yes') : _l('label.no'));
|
||||
}
|
||||
else if ($input.is('select')) {
|
||||
$value.html(
|
||||
|
|
@ -316,7 +316,7 @@
|
|||
success: function(args) {
|
||||
var notificationArgs = {
|
||||
section: id,
|
||||
desc: 'Changed item properties',
|
||||
desc: _l('changed.item.properties'),
|
||||
_custom: args ? args._custom : null
|
||||
};
|
||||
|
||||
|
|
@ -880,7 +880,7 @@
|
|||
$('<div>')
|
||||
.addClass('button refresh')
|
||||
.append(
|
||||
$('<span>').html(_l('Refresh'))
|
||||
$('<span>').html(_l('label.refresh'))
|
||||
)
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -543,7 +543,7 @@
|
|||
|
||||
if (reorder) {
|
||||
$thead.find('tr').append(
|
||||
$('<th>').html(_l('Order')).addClass('reorder-actions reduced-hide')
|
||||
$('<th>').html(_l('label.order')).addClass('reorder-actions reduced-hide')
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -711,7 +711,7 @@
|
|||
if (!$tbody.find('tr').size()) {
|
||||
return [
|
||||
$('<tr>').addClass('empty').append(
|
||||
$('<td>').html(_l('No data to show'))
|
||||
$('<td>').html(_l('label.no.data'))
|
||||
).appendTo($tbody)
|
||||
];
|
||||
}
|
||||
|
|
@ -800,10 +800,10 @@
|
|||
|
||||
$.each(reorder, function(actionName, action) {
|
||||
var fnLabel = {
|
||||
moveTop: 'Move to top',
|
||||
moveUp: 'Move up one row',
|
||||
moveDown: 'Move down one row',
|
||||
moveDrag: 'Drag to new position'
|
||||
moveTop: _l('label.move.to.top'),
|
||||
moveUp: _l('label.move.up.row'),
|
||||
moveDown: _l('label.move.down.row'),
|
||||
moveDrag: _l('label.drag.new.position')
|
||||
};
|
||||
|
||||
$('<div>')
|
||||
|
|
@ -997,7 +997,7 @@
|
|||
if (sectionPreFilter && sectionPreFilter.length == 1) {
|
||||
$switcher.find('select').hide();
|
||||
$switcher.find('label').html(
|
||||
_l('Viewing') + ' ' + _l(sections[sectionPreFilter[0]].title)
|
||||
_l('label.viewing') + ' ' + _l(sections[sectionPreFilter[0]].title)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@
|
|||
_medit.vmList($multi,
|
||||
options.listView,
|
||||
options.context,
|
||||
options.multipleAdd, 'Add VMs',
|
||||
options.multipleAdd, _l('label.add.vms'),
|
||||
addItemAction,
|
||||
{
|
||||
multiRule: multiRule
|
||||
|
|
@ -200,7 +200,7 @@
|
|||
$('<div>').addClass('action')
|
||||
.addClass(actionID)
|
||||
.append($('<span>').addClass('icon'))
|
||||
.attr({ title: action.label })
|
||||
.attr({ title: _l(action.label) })
|
||||
.click(function() {
|
||||
var $target = $(this);
|
||||
var $dataItem = $target.closest('.data-item');
|
||||
|
|
@ -208,7 +208,7 @@
|
|||
var isDestroy = $target.hasClass('destroy');
|
||||
|
||||
if (isDestroy) {
|
||||
var $loading = _medit.loadingItem($multi, 'Removing...');
|
||||
var $loading = _medit.loadingItem($multi, _l('label.removing') + '...');
|
||||
|
||||
if ($expandable.is(':visible')) {
|
||||
$expandable.slideToggle(function() {
|
||||
|
|
@ -340,11 +340,11 @@
|
|||
title: label,
|
||||
buttons: [
|
||||
{
|
||||
text: 'Apply',
|
||||
text: _l('label.apply'),
|
||||
'class': 'ok',
|
||||
click: function() {
|
||||
if (!$listView.find('input[type=radio]:checked, input[type=checkbox]:checked').size()) {
|
||||
cloudStack.dialog.notice({ message: 'Please select an instance '});
|
||||
cloudStack.dialog.notice({ message: _l('message.select.item')});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
text: 'Cancel',
|
||||
text: _l('label.cancel'),
|
||||
'class': 'cancel',
|
||||
click: function() {
|
||||
$dataList.fadeOut(function() {
|
||||
|
|
@ -463,7 +463,7 @@
|
|||
|
||||
// Show list view of selected VMs
|
||||
$browser.cloudBrowser('addPanel', {
|
||||
title: 'Load Balanced VMs',
|
||||
title: _l('label.item.listing'),
|
||||
data: '',
|
||||
noSelectPanel: true,
|
||||
maximizeIfSelected: true,
|
||||
|
|
@ -668,7 +668,7 @@
|
|||
$td.data('multi-custom-data', args.data);
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}).appendTo($td);
|
||||
} else if (field.addButton) {
|
||||
$addVM = $('<div>').addClass('button add-vm').html(
|
||||
|
|
@ -678,7 +678,7 @@
|
|||
});
|
||||
|
||||
if (args.actions && !args.noHeaderActionsColumn) {
|
||||
$thead.append($('<th>Actions</th>').addClass('multi-actions'));
|
||||
$thead.append($('<th></th>').html(_l('label.actions')).addClass('multi-actions'));
|
||||
$inputForm.append($('<td></td>').addClass('multi-actions'));
|
||||
}
|
||||
|
||||
|
|
@ -714,7 +714,7 @@
|
|||
});
|
||||
|
||||
// Loading appearance
|
||||
var $loading = _medit.loadingItem($multi, 'Adding...');
|
||||
var $loading = _medit.loadingItem($multi, _l('label.adding') + '...');
|
||||
$dataBody.prepend($loading);
|
||||
|
||||
// Clear out fields
|
||||
|
|
@ -785,7 +785,7 @@
|
|||
_medit.vmList($multi,
|
||||
args.listView,
|
||||
args.context,
|
||||
multipleAdd, 'Add VMs',
|
||||
multipleAdd, _l('label.add.vms'),
|
||||
addItem);
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
.append(
|
||||
$('<div>').addClass('title').append(
|
||||
$('<span>').html(
|
||||
options.error ? options.error : _l('Task completed')
|
||||
options.error ? options.error : _l('label.task.completed')
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -159,7 +159,7 @@
|
|||
.addClass('notification-box')
|
||||
.append(
|
||||
// Header
|
||||
$('<h3>').html(_l('Notifications'))
|
||||
$('<h3>').html(_l('label.notifications'))
|
||||
)
|
||||
.append(
|
||||
// Container
|
||||
|
|
@ -176,13 +176,13 @@
|
|||
// Clear list
|
||||
$('<div>').addClass('button clear-list')
|
||||
.append(
|
||||
$('<span>').html(_l('Clear List'))
|
||||
$('<span>').html(_l('label.clear.list'))
|
||||
)
|
||||
)
|
||||
.append(
|
||||
$('<div>').addClass('button close')
|
||||
.append(
|
||||
$('<span>').html(_l('Close'))
|
||||
$('<span>').html(_l('label.close'))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue