mirror of
https://github.com/cuigh/swirl
synced 2025-03-03 10:41:31 +00:00
Improve i18n
This commit is contained in:
parent
260bf8313b
commit
dfb06445a1
@ -38,6 +38,9 @@ field.status: Status
|
||||
field.state: State
|
||||
field.type: Type
|
||||
field.image: Image
|
||||
field.address: Address
|
||||
field.driver: Driver
|
||||
field.scope: Scope
|
||||
|
||||
# menu
|
||||
menu.dashboard: Dashboard
|
||||
@ -100,6 +103,7 @@ container.description: A container is a running instance of image.
|
||||
# volume pages
|
||||
volume.title: Volume
|
||||
volume.description: Create and manage persistent storage that can be attached to containers.
|
||||
volume.field.mount: Mount point
|
||||
|
||||
# registry pages
|
||||
registry.title: Registry
|
||||
@ -125,6 +129,7 @@ service.template.button.create: Create service
|
||||
# stack pages
|
||||
stack.title: Stack
|
||||
stack.description: A stack is a logical grouping of related services that are usually deployed together and require each other to work as intended.
|
||||
stack.button.deploy: Deploy
|
||||
|
||||
# secret pages
|
||||
secret.title: Secret
|
||||
@ -154,4 +159,7 @@ event.description: Manage all user events.
|
||||
|
||||
# profile pages
|
||||
profile.title: Profile
|
||||
profile.description: User profiles.
|
||||
profile.description: User profiles.
|
||||
profile.field.password.current: Current password
|
||||
profile.field.password.new: New password
|
||||
profile.field.password.confirm: Password confirmation
|
@ -38,6 +38,9 @@ field.status: 状态
|
||||
field.state: 状态
|
||||
field.type: 类型
|
||||
field.image: 镜像
|
||||
field.address: 地址
|
||||
field.driver: 驱动
|
||||
field.scope: 范围
|
||||
|
||||
# menu
|
||||
menu.dashboard: 仪表盘
|
||||
@ -100,6 +103,7 @@ container.description: 容器是镜像的运行实例。
|
||||
# volume pages
|
||||
volume.title: 数据卷
|
||||
volume.description: 创建和管理能够附加到容器的持久化存储。
|
||||
volume.field.mount: 挂载点
|
||||
|
||||
# registry pages
|
||||
registry.title: 镜像仓库
|
||||
@ -125,6 +129,7 @@ service.template.button.create: 创建服务
|
||||
# stack pages
|
||||
stack.title: 编排
|
||||
stack.description: 编排是相关服务的一个逻辑分组,这些服务通常互相依赖,需要一块部署。
|
||||
stack.button.deploy: 部署
|
||||
|
||||
# secret pages
|
||||
secret.title: 私密配置
|
||||
@ -154,4 +159,7 @@ event.description: 管理用户操作日志。
|
||||
|
||||
# profile pages
|
||||
profile.title: 资料
|
||||
profile.description: 用户个人信息。
|
||||
profile.description: 用户个人信息。
|
||||
profile.field.password.current: 当前密码
|
||||
profile.field.password.new: 新密码
|
||||
profile.field.password.confirm: 新密码确认
|
@ -48,9 +48,9 @@
|
||||
<dl class="is-horizontal is-marginless">
|
||||
<dt class="has-text-left">{{ i18n("field.id") }}</dt>
|
||||
<dd>{{ .Network.ID }}</dd>
|
||||
<dt class="has-text-left">Driver</dt>
|
||||
<dt class="has-text-left">{{ i18n("field.driver") }}</dt>
|
||||
<dd>{{ .Network.Driver }}</dd>
|
||||
<dt class="has-text-left">Scope</dt>
|
||||
<dt class="has-text-left">{{ i18n("field.scope") }}</dt>
|
||||
<dd>{{ .Network.Scope}}</dd>
|
||||
<dt class="has-text-left">{{ i18n("field.created-at") }}</dt>
|
||||
<dd>{{ time(.Network.Created) }}</dd>
|
||||
|
@ -37,8 +37,8 @@
|
||||
<tr>
|
||||
<th>{{ i18n("field.name") }}</th>
|
||||
<th>{{ i18n("field.id") }}</th>
|
||||
<th>Scope</th>
|
||||
<th>Driver</th>
|
||||
<th>{{ i18n("field.scope") }}</th>
|
||||
<th>{{ i18n("field.driver") }}</th>
|
||||
<th>{{ i18n("field.action") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -31,7 +31,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="drivers" class="field">
|
||||
<label class="label">Driver</label>
|
||||
<label class="label">{{ i18n("field.driver") }}</label>
|
||||
<div class="field is-grouped is-grouped-multiline">
|
||||
<div class="control">
|
||||
{{ yield radio(name="driver", value="overlay", label="Overlay", checked="overlay") }}
|
||||
|
@ -35,7 +35,7 @@
|
||||
<th>Version</th>
|
||||
<th>CPU</th>
|
||||
<th>Memory</th>
|
||||
<th>Address</th>
|
||||
<th>{{ i18n("field.address") }}</th>
|
||||
<th>{{ i18n("field.status") }}</th>
|
||||
<th>{{ i18n("field.action") }}</th>
|
||||
</tr>
|
||||
|
@ -40,7 +40,7 @@
|
||||
</a>
|
||||
</div>
|
||||
<p class="control is-expanded">
|
||||
<input name="name" value="{{.User.Name}}" class="input" type="text" placeholder="name" data-v-rule="native" required>
|
||||
<input name="name" value="{{.User.Name}}" class="input" type="text" placeholder="" data-v-rule="native" required>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -55,7 +55,7 @@
|
||||
</a>
|
||||
</div>
|
||||
<p class="control is-expanded">
|
||||
<input name="email" value="{{.User.Email}}" class="input" type="text" placeholder="Email" data-v-rule="native;email" required>
|
||||
<input name="email" value="{{.User.Email}}" class="input" type="text" placeholder="" data-v-rule="native;email" required>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -30,7 +30,7 @@
|
||||
<form method="post" data-form="ajax-form" data-message="The password has been successfully modified">
|
||||
<div class="box">
|
||||
<div class="field">
|
||||
<label class="label">Current password</label>
|
||||
<label class="label">{{ i18n("profile.field.password.current") }}</label>
|
||||
<div class="field has-addons is-marginless">
|
||||
<div class="control">
|
||||
<a class="button is-static">
|
||||
@ -40,12 +40,12 @@
|
||||
</a>
|
||||
</div>
|
||||
<p class="control is-expanded">
|
||||
<input name="password_old" class="input" type="password" placeholder="Current password" data-v-rule="native" required>
|
||||
<input name="password_old" class="input" type="password" placeholder="{{ i18n("profile.field.password.current") }}" data-v-rule="native" required>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">New password</label>
|
||||
<label class="label">{{ i18n("profile.field.password.new") }}</label>
|
||||
<div class="field has-addons is-marginless">
|
||||
<div class="control">
|
||||
<a class="button is-static">
|
||||
@ -55,10 +55,10 @@
|
||||
</a>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<input id="txt-pwd" name="password" class="input" type="password" placeholder="New password" data-v-rule="native" required>
|
||||
<input id="txt-pwd" name="password" class="input" type="password" placeholder="{{ i18n("profile.field.password.new") }}" data-v-rule="native" required>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<input class="input" type="password" placeholder="Password confirmation" data-v-rule="native;match" data-v-arg-match="txt-pwd" required>
|
||||
<input class="input" type="password" placeholder="{{ i18n("profile.field.password.confirm") }}" data-v-rule="native;match" data-v-arg-match="txt-pwd" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,7 +76,7 @@
|
||||
<td>{{time(.UpdatedAt)}}</td>
|
||||
<td>
|
||||
<a href="{{.ID}}/edit" class="button is-small is-dark is-outlined">{{ i18n("button.edit") }}</a>
|
||||
<button type="button" class="button is-small is-info is-outlined" data-action="deploy-archive">Deploy</button>
|
||||
<button type="button" class="button is-small is-info is-outlined" data-action="deploy-archive">{{ i18n("stack.button.deploy") }}</button>
|
||||
<button type="button" class="button is-small is-danger is-outlined" data-action="delete-archive">{{ i18n("button.delete") }}</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -91,11 +91,11 @@
|
||||
<table id="table-items" class="table is-bordered is-striped is-narrow is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>{{ i18n("field.type") }}</th>
|
||||
<th>Resource</th>
|
||||
<th>Action</th>
|
||||
<th>{{ i18n("field.action") }}</th>
|
||||
<th>User</th>
|
||||
<th>Time</th>
|
||||
<th>{{ i18n("field.created-at") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -55,12 +55,12 @@
|
||||
</div>
|
||||
<div class="field is-horizontal">
|
||||
<div class="field-label is-normal">
|
||||
<label class="label">Address</label>
|
||||
<label class="label">{{ i18n("field.address") }}</label>
|
||||
</div>
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input name="ldap.address" value="{{ .Setting.LDAP.Address }}" class="input" type="text" placeholder="Address">
|
||||
<input name="ldap.address" value="{{ .Setting.LDAP.Address }}" class="input" type="text" placeholder="e.g. 127.0.0.1:389">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -72,7 +72,7 @@
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input name="ldap.base_dn" value="{{ .Setting.LDAP.BaseDN }}" class="input" type="text" placeholder="Base DN">
|
||||
<input name="ldap.base_dn" value="{{ .Setting.LDAP.BaseDN }}" class="input" type="text" placeholder="e.g. dc=xxx,dc=com">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -84,7 +84,7 @@
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input name="ldap.login_attr" value="{{ .Setting.LDAP.LoginAttr }}" class="input" type="text" placeholder="Login name">
|
||||
<input name="ldap.login_attr" value="{{ .Setting.LDAP.LoginAttr }}" class="input" type="text" placeholder="e.g. cn">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -96,7 +96,7 @@
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input name="ldap.name_attr" value="{{ .Setting.LDAP.NameAttr }}" class="input" type="text" placeholder="Username">
|
||||
<input name="ldap.name_attr" value="{{ .Setting.LDAP.NameAttr }}" class="input" type="text" placeholder="e.g. displayName">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -108,7 +108,7 @@
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input name="ldap.email_attr" value="{{ .Setting.LDAP.EmailAttr }}" class="input" type="text" placeholder="Email">
|
||||
<input name="ldap.email_attr" value="{{ .Setting.LDAP.EmailAttr }}" class="input" type="text" placeholder="e.g. mail">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -156,7 +156,7 @@
|
||||
<hr>
|
||||
<div class="field">
|
||||
<p class="control">
|
||||
<button class="button is-primary" type="submit">Save</button>
|
||||
<button class="button is-primary" type="submit">{{ i18n("button.save") }}</button>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -42,11 +42,11 @@
|
||||
<div class="message is-primary">
|
||||
<div class="message-body">
|
||||
<dl class="is-horizontal is-marginless">
|
||||
<dt class="has-text-left">Driver</dt>
|
||||
<dt class="has-text-left">{{ i18n("field.driver") }}</dt>
|
||||
<dd>{{ .Volume.Driver }}</dd>
|
||||
<dt class="has-text-left">Scope</dt>
|
||||
<dt class="has-text-left">{{ i18n("field.scope") }}</dt>
|
||||
<dd>{{ .Volume.Scope}}</dd>
|
||||
<dt class="has-text-left">Mount point</dt>
|
||||
<dt class="has-text-left">{{ i18n("volume.field.mount") }}</dt>
|
||||
<dd>{{ .Volume.Mountpoint }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
@ -56,9 +56,9 @@
|
||||
<tr>
|
||||
<th width="30"><input type="checkbox" data-action="check-all"></th>
|
||||
<th>{{ i18n("field.name") }}</th>
|
||||
<th>Driver</th>
|
||||
<th>Scope</th>
|
||||
<th>Mount point</th>
|
||||
<th>{{ i18n("field.driver") }}</th>
|
||||
<th>{{ i18n("field.scope") }}</th>
|
||||
<th>{{ i18n("volume.field.mount") }}</th>
|
||||
<th>{{ i18n("field.action") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
Loading…
Reference in New Issue
Block a user