mirror of https://github.com/statping/statping
i18n language generate script from aws
parent
ec528befcf
commit
6ca458186d
|
@ -44,6 +44,8 @@ jobs:
|
|||
COMMIT: ${{ github.sha }}
|
||||
MJML_APP: ${{ secrets.MJML_APP }}
|
||||
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
run: make clean generate compile
|
||||
|
||||
- name: Upload Compiled Frontend (rice-box.go)
|
||||
|
|
|
@ -44,6 +44,8 @@ jobs:
|
|||
COMMIT: ${{ github.sha }}
|
||||
MJML_APP: ${{ secrets.MJML_APP }}
|
||||
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
run: make clean generate compile
|
||||
|
||||
- name: Upload Compiled Frontend (rice-box.go)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# 0.90.66 (09-08-2020)
|
||||
- Added Import and Export views in Dashboard
|
||||
- Modified services list sparkline to use start/end of day timestamp
|
||||
- Modified i18n language files, added go generate script to automatically translate
|
||||
|
||||
# 0.90.65 (09-01-2020)
|
||||
- Fixed issue with dashboard not logging in (notifier panic)
|
||||
|
|
|
@ -3,23 +3,23 @@
|
|||
<div class="row stats_area mb-5">
|
||||
<div class="col-4">
|
||||
<span class="font-6 font-weight-bold d-block">{{$store.getters.services.length}}</span>
|
||||
<span class="font-2">{{ $t('dashboard.total_services') }}</span>
|
||||
<span class="font-2">{{ $t('total_services') }}</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-6 font-weight-bold d-block">{{failuresLast24Hours()}}</span>
|
||||
<span class="font-2">{{ $t('dashboard.failures_24_hours') }}</span>
|
||||
<span class="font-2">{{ $t('failures_24_hours') }}</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-6 font-weight-bold d-block">{{$store.getters.onlineServices(true).length}}</span>
|
||||
<span class="font-2">{{ $t('dashboard.online_services') }}</span>
|
||||
<span class="font-2">{{ $t('online_services') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12" v-if="services.length === 0">
|
||||
<div class="alert alert-dark d-block">
|
||||
You currently don't have any services!
|
||||
{{$t('no_services')}}
|
||||
<router-link v-if="$store.state.admin" to="/dashboard/create_service" class="btn btn-sm btn-success float-right">
|
||||
<font-awesome-icon icon="plus"/> Create
|
||||
<font-awesome-icon icon="plus"/> {{ $t('create') }}
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<div class="col-12">
|
||||
|
||||
<div class="card contain-card mb-4">
|
||||
<div class="card-header">{{ $t('top_nav.services') }}
|
||||
<div class="card-header">{{ $t('services') }}
|
||||
<router-link v-if="$store.state.admin" to="/dashboard/create_service" class="btn btn-sm btn-success float-right">
|
||||
<font-awesome-icon icon="plus"/> Create
|
||||
<font-awesome-icon icon="plus"/> {{$t('create')}}
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="card-body pt-0">
|
||||
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
|
||||
<div class="card contain-card mb-4">
|
||||
<div class="card-header">{{ $t('top_nav.groups') }}</div>
|
||||
<div class="card-header">{{ $t('groups') }}</div>
|
||||
<div class="card-body pt-0">
|
||||
|
||||
<div v-if="groupsList.length === 0">
|
||||
|
@ -25,9 +25,9 @@
|
|||
<table v-else class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{ $t('dashboard.name') }}</th>
|
||||
<th scope="col" class="d-none d-md-table-cell">{{ $tc('dashboard.service', 2) }}</th>
|
||||
<th scope="col">{{ $t('dashboard.visibility') }}</th>
|
||||
<th scope="col">{{ $t('name') }}</th>
|
||||
<th scope="col" class="d-none d-md-table-cell">{{ $tc('service', 2) }}</th>
|
||||
<th scope="col">{{ $t('visibility') }}</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<div class="row">
|
||||
<h5 v-if="group.name && group_services" class="h5 col-12 mb-3 mt-2 text-dim">
|
||||
<font-awesome-icon @click="toggle" :icon="expanded ? 'minus' : 'plus'" class="pointer mr-3"/> {{group.name}}
|
||||
<span class="badge badge-success text-uppercase float-right ml-2">{{services_online.length}} online</span>
|
||||
<span class="badge badge-success text-uppercase float-right ml-2">{{services_online.length}} {{$t('online')}}</span>
|
||||
<span v-if="services_online.services_offline > 0" class="badge badge-danger text-uppercase float-right">
|
||||
{{services_offline.length}} offline
|
||||
{{services_offline.length}} {{$t('offline')}}
|
||||
</span>
|
||||
</h5>
|
||||
<div class="col-12 col-md-4" v-if="expanded" v-for="service in group_services">
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
</div>
|
||||
|
||||
<span v-for="(failure, index) in failures" v-bind:key="index" class="alert alert-light">
|
||||
Failed {{failure.created_at}}<br>
|
||||
{{ $t('failed') }} {{failure.created_at}}<br>
|
||||
{{failure.issue}}
|
||||
</span>
|
||||
|
||||
|
|
|
@ -9,29 +9,29 @@
|
|||
<div class="navbar-collapse" :class="{collapse: !navopen}" id="navbarText">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard" class="nav-link">{{ $t('top_nav.dashboard') }}</router-link>
|
||||
<router-link to="/dashboard" class="nav-link">{{ $t('dashboard') }}</router-link>
|
||||
</li>
|
||||
<li @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/services" class="nav-link">{{ $t('top_nav.services') }}</router-link>
|
||||
<router-link to="/dashboard/services" class="nav-link">{{ $t('services') }}</router-link>
|
||||
</li>
|
||||
<li v-if="admin" @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/users" class="nav-link">{{ $t('top_nav.users') }}</router-link>
|
||||
<router-link to="/dashboard/users" class="nav-link">{{ $t('users') }}</router-link>
|
||||
</li>
|
||||
<li @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/messages" class="nav-link">{{ $t('top_nav.announcements') }}</router-link>
|
||||
<router-link to="/dashboard/messages" class="nav-link">{{ $t('announcements') }}</router-link>
|
||||
</li>
|
||||
<li v-if="admin" @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/settings" class="nav-link">{{ $t('top_nav.settings') }}</router-link>
|
||||
<router-link to="/dashboard/settings" class="nav-link">{{ $t('settings') }}</router-link>
|
||||
</li>
|
||||
<li v-if="admin" @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/logs" class="nav-link">{{ $t('top_nav.logs') }}</router-link>
|
||||
<router-link to="/dashboard/logs" class="nav-link">{{ $t('logs') }}</router-link>
|
||||
</li>
|
||||
<li v-if="admin" @click="navopen = !navopen" class="nav-item navbar-item">
|
||||
<router-link to="/dashboard/help" class="nav-link">{{ $t('top_nav.help') }}</router-link>
|
||||
<router-link to="/dashboard/help" class="nav-link">{{ $t('help') }}</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
<span class="navbar-text">
|
||||
<a href="#" class="nav-link" @click.prevent="logout">{{ $t('top_nav.logout') }}</a>
|
||||
<a href="#" class="nav-link" @click.prevent="logout">{{ $t('logout') }}</a>
|
||||
</span>
|
||||
</div>
|
||||
</nav>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div v-if="!core.footer" class="footer text-center mb-4 p-2">
|
||||
<div class="d-block text-dim">
|
||||
<div class="mb-3">
|
||||
<router-link class="links" :to="admin ? '/dashboard' : '/login'">{{$t('top_nav.dashboard')}}</router-link>
|
||||
<router-link class="links" :to="admin ? '/dashboard' : '/login'">{{$t('dashboard')}}</router-link>
|
||||
</div>
|
||||
<span class="font-1 mt-3">
|
||||
<a href="https://github.com/statping/statping" class="statping" target="_blank">
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
<div class="row mt-2">
|
||||
<div class="col-12 no-select">
|
||||
<p class="divided">
|
||||
<span class="font-2 text-muted">90 Days Ago</span>
|
||||
<span class="font-2 text-muted">90 {{$t('days_ago')}}</span>
|
||||
<span class="divider"></span>
|
||||
<span class="text-center font-2" :class="{'text-muted': service.online, 'text-danger': !service.online}">{{service_txt}}</span>
|
||||
<span class="divider"></span>
|
||||
<span class="font-2 text-muted">Today</span>
|
||||
<span class="font-2 text-muted">{{$t('today')}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
<div class="col-md-2 col-6 float-right">
|
||||
<button v-if="!expanded" @click="setService" class="btn btn-sm float-right dyn-dark text-white" :class="{'bg-success': service.online, 'bg-danger': !service.online}">
|
||||
{{$t('service.view')}}
|
||||
{{$t('view')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
<div class="row stats_area mt-5 mb-4">
|
||||
<div class="col-4">
|
||||
<span class="font-5 d-block font-weight-bold">{{humanTime(service.avg_response)}}</span>
|
||||
<span class="font-1 subtitle">{{$t('service.average')}}</span>
|
||||
<span class="font-1 subtitle">{{$t('average_response')}}</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-5 d-block font-weight-bold">{{service.online_24_hours}} %</span>
|
||||
<span class="font-1 subtitle">{{$t('service.last_uptime', [24, $tc('hour', 24)])}}</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime', [24, $tc('hour', 24)])}}</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-5 d-block font-weight-bold">{{service.online_7_days}} %</span>
|
||||
<span class="font-1 subtitle">{{$t('service.last_uptime', [7, $tc('day', 7)])}}</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime', [7, $tc('day', 7)])}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
<div class="form-group row">
|
||||
<div class="col-sm-12">
|
||||
<div v-if="error" class="alert alert-danger" role="alert">
|
||||
{{$t('dashboard.wrong_login')}}
|
||||
{{$t('wrong_login')}}
|
||||
</div>
|
||||
<button @click.prevent="login" type="submit" class="btn btn-block btn-primary" :disabled="disabled || loading">
|
||||
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{loading ? $t('dashboard.loading') : $t('dashboard.sign_in')}}
|
||||
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{loading ? $t('loading') : $t('sign_in')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<form v-if="service.type" @submit.prevent="saveService">
|
||||
<div class="card contain-card mb-4">
|
||||
<div class="card-header">{{ $t('service.info') }}</div>
|
||||
<div class="card-header">{{ $t('service_info') }}</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-4 col-form-label">{{ $t('service.name') }}</label>
|
||||
<label class="col-sm-4 col-form-label">{{ $t('service_name') }}</label>
|
||||
<div class="col-sm-8">
|
||||
<input v-model="service.name" @input="updatePermalink" id="name" type="text" name="name" class="form-control" placeholder="Server Name" required spellcheck="false" autocorrect="off">
|
||||
<small class="form-text text-muted">Give your service a name you can recognize</small>
|
||||
|
|
|
@ -9,17 +9,21 @@
|
|||
<div class="row">
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.language') }}</label>
|
||||
<label class="text-capitalize">{{ $t('language') }}</label>
|
||||
<select @change="changeLanguages" v-model="setup.language" id="language" class="form-control">
|
||||
<option value="en">English</option>
|
||||
<option value="es">Spanish</option>
|
||||
<option value="fr">French</option>
|
||||
<option value="ru">Russian</option>
|
||||
<option value="de">German</option>
|
||||
<option value="ja">Japanese</option>
|
||||
<option value="ko">Korean</option>
|
||||
<option value="it">Italian</option>
|
||||
<option value="zh">Chinese</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.connection') }}</label>
|
||||
<label class="text-capitalize">{{ $t('db_connection') }}</label>
|
||||
<select @change="canSubmit" v-model="setup.db_connection" id="db_connection" class="form-control">
|
||||
<option value="sqlite">SQLite</option>
|
||||
<option value="postgres">Postgres</option>
|
||||
|
@ -29,34 +33,34 @@
|
|||
<div class="row">
|
||||
<div class="col-7 col-md-6">
|
||||
<div v-if="setup.db_connection !== 'sqlite'" class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.host') }}</label>
|
||||
<label class="text-capitalize">{{ $t('db_host') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.db_host" id="db_host" type="text" class="form-control" placeholder="localhost">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-5 col-md-6">
|
||||
<div v-if="setup.db_connection !== 'sqlite'" class="form-group">
|
||||
<label class="text-capitalize">{{ $t('port') }}</label>
|
||||
<label class="text-capitalize">{{ $t('db_port') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.db_port" id="db_port" type="number" class="form-control" placeholder="5432">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="setup.db_connection !== 'sqlite'" class="form-group">
|
||||
<label class="text-capitalize">{{ $t('username') }}</label>
|
||||
<label class="text-capitalize">{{ $t('db_username') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.db_user" id="db_user" type="text" class="form-control" placeholder="root">
|
||||
</div>
|
||||
<div v-if="setup.db_connection !== 'sqlite'" class="form-group">
|
||||
<label for="db_password" class="text-capitalize">{{ $t('password') }}</label>
|
||||
<label for="db_password" class="text-capitalize">{{ $t('db_password') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.db_password" id="db_password" type="password" class="form-control" placeholder="password123">
|
||||
</div>
|
||||
<div v-if="setup.db_connection !== 'sqlite'" class="form-group">
|
||||
<label for="db_database" class="text-capitalize">{{ $t('setup.database') }}</label>
|
||||
<label for="db_database" class="text-capitalize">{{ $t('db_database') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.db_database" id="db_database" type="text" class="form-control" placeholder="Database name">
|
||||
</div>
|
||||
|
||||
<div class="form-group mt-3">
|
||||
<div class="row">
|
||||
<div class="col-9">
|
||||
<span class="text-left text-capitalize">{{ $t('setup.send_reports') }}</span>
|
||||
<span class="text-left text-capitalize">{{ $t('send_reports') }}</span>
|
||||
</div>
|
||||
<div class="col-3 text-right">
|
||||
<span @click="setup.send_reports = !!setup.send_reports" class="switch">
|
||||
|
@ -72,32 +76,32 @@
|
|||
<div class="col-12 col-md-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.project_name') }}</label>
|
||||
<label class="text-capitalize">{{ $t('project_name') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.project" id="project" type="text" class="form-control" placeholder="Work Servers" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.project_description') }}</label>
|
||||
<label class="text-capitalize">{{ $t('description') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.description" id="description" type="text" class="form-control" placeholder="Monitors all of my work services">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize" for="domain">{{ $t('setup.domain') }}</label>
|
||||
<label class="text-capitalize" for="domain">{{ $t('domain') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.domain" type="text" class="form-control" id="domain" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.username') }}</label>
|
||||
<label class="text-capitalize">{{ $t('username') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.username" id="username" type="text" class="form-control" placeholder="admin" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.password') }}</label>
|
||||
<label class="text-capitalize">{{ $t('password') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.password" id="password" type="password" class="form-control" placeholder="password" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="text-capitalize">{{ $t('setup.password_confirm') }}</label>
|
||||
<label class="text-capitalize">{{ $t('confirm_password') }}</label>
|
||||
<input @keyup="canSubmit" v-model="setup.confirm_password" id="password_confirm" type="password" class="form-control" placeholder="password" required>
|
||||
<span v-if="passnomatch" class="small text-danger">Both passwords should match</span>
|
||||
</div>
|
||||
|
@ -109,14 +113,14 @@
|
|||
<input @keyup="canSubmit" v-model="setup.email" id="email" type="text" class="form-control" placeholder="myemail@domain.com">
|
||||
</div>
|
||||
<div class="col-4 text-right">
|
||||
<label class="d-none d-sm-block text-capitalize text-capitalize">{{ $t('setup.newsletter') }}</label>
|
||||
<label class="d-none d-sm-block text-capitalize text-capitalize">{{ $t('newsletter') }}</label>
|
||||
<span @click="setup.newsletter = !!setup.newsletter" class="switch">
|
||||
<input v-model="setup.newsletter" type="checkbox" name="send_newsletter" class="switch" id="send_newsletter" :checked="setup.newsletter">
|
||||
<label for="send_newsletter"></label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<small>{{ $t('setup.newsletter_note') }}</small>
|
||||
<small>{{ $t('newsletter_note') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -126,7 +130,7 @@
|
|||
|
||||
<div class="col-12">
|
||||
<button @click.prevent="saveSetup" v-bind:disabled="disabled || loading" type="submit" class="btn btn-primary btn-block" :class="{'btn-primary': !loading, 'btn-default': loading}">
|
||||
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{loading ? "Loading..." : "Save Settings"}}
|
||||
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{loading ? $t('loading') : $t('save_settings')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
const chinese = {
|
||||
settings: "设置",
|
||||
dashboard: "仪表板",
|
||||
services: "服务",
|
||||
service: "服务",
|
||||
failures: "失败",
|
||||
users: "用户",
|
||||
login: "登录",
|
||||
logout: "注销",
|
||||
online: "在线",
|
||||
offline: "离线",
|
||||
username: "用户名",
|
||||
password: "密码",
|
||||
email: "电子邮件",
|
||||
confirm_password: "确认密码",
|
||||
uptime: "正常运行时间",
|
||||
name: "名称",
|
||||
copy: "复制",
|
||||
secret: "秘密",
|
||||
regen_api: "重新生成 API 密钥",
|
||||
visibility: "可见性",
|
||||
group: "小组",
|
||||
groups: "组",
|
||||
no_group: "无组",
|
||||
public: "公共",
|
||||
private: "私人",
|
||||
announcements: "公告",
|
||||
notifiers: "通告程序",
|
||||
logs: "日志",
|
||||
help: "帮助",
|
||||
type: "类型",
|
||||
edit: "编辑",
|
||||
create: "创建",
|
||||
view: "查看",
|
||||
save: "保存",
|
||||
status: "状态",
|
||||
total_services: "服务总数",
|
||||
online_services: "在线服务",
|
||||
request_timeout: "请求超时",
|
||||
service_never_online: "服务从未在线",
|
||||
days_ago: "天前",
|
||||
today: "今天",
|
||||
failures_24_hours: "过去 24 小时失败",
|
||||
no_services: "您目前没有任何服务!",
|
||||
theme: "主题",
|
||||
cache: "高速缓存",
|
||||
authentication: "身份验证",
|
||||
import: "导入",
|
||||
main_settings: "主要设置",
|
||||
variables: "变量",
|
||||
docs: "文档",
|
||||
links: "链接",
|
||||
changelog: "更改日志",
|
||||
repo: "存储库",
|
||||
language: "语言",
|
||||
db_connection: "数据库连接",
|
||||
db_host: "数据库主机",
|
||||
db_port: "数据库端口",
|
||||
db_username: "数据库用户名",
|
||||
db_password: "数据库口令",
|
||||
db_database: "数据库名称",
|
||||
send_reports: "发送错误报告",
|
||||
project_name: "状态页面名称",
|
||||
description: "说明",
|
||||
domain: "域",
|
||||
newsletter: "新闻通讯",
|
||||
newsletter_note: "我们只会向您发送重大变更的电子邮件",
|
||||
loading: "正在加载",
|
||||
save_settings: "保存设置",
|
||||
average_response: "平均响应",
|
||||
last_uptime: "上次正常运行时间",
|
||||
sign_in: "登录",
|
||||
failed: "失败",
|
||||
wrong_login: "用户名或密码不正确"
|
||||
}
|
||||
|
||||
export default chinese
|
|
@ -0,0 +1,74 @@
|
|||
key,en
|
||||
settings,Settings
|
||||
dashboard,Dashboard
|
||||
services,Services
|
||||
service,Service
|
||||
failures,Failures
|
||||
users,Users
|
||||
login,Login
|
||||
logout,Logout
|
||||
online,Online
|
||||
offline,Offline
|
||||
username,Username
|
||||
password,Password
|
||||
email,Email
|
||||
confirm_password,Confirm Password
|
||||
uptime,Uptime
|
||||
name,Name
|
||||
copy,Copy
|
||||
secret,Secret
|
||||
regen_api,Regenerate API Keys
|
||||
visibility,Visibility
|
||||
group,Group
|
||||
groups,Groups
|
||||
no_group,No Group
|
||||
public,Public
|
||||
private,Private
|
||||
announcements,Announcements
|
||||
notifiers,Notifiers
|
||||
logs,Logs
|
||||
help,Help
|
||||
type,Type
|
||||
edit,Edit
|
||||
create,Create
|
||||
view,View
|
||||
save,Save
|
||||
status,Status
|
||||
total_services,Total Services
|
||||
online_services,Online Services
|
||||
request_timeout,Request Timeout
|
||||
service_never_online,Service has never been online
|
||||
days_ago,Days Ago
|
||||
today,Today
|
||||
failures_24_hours,Failures last 24 hours
|
||||
no_services,You currently don't have any services!
|
||||
theme,Theme
|
||||
cache,Cache
|
||||
authentication,Authentication
|
||||
import,Import
|
||||
main_settings,Main Settings
|
||||
variables,Variables
|
||||
docs,Documentation
|
||||
links,Links
|
||||
changelog,Change Log
|
||||
repo,Repository
|
||||
language,Language
|
||||
db_connection,Database Connection
|
||||
db_host,Database Host
|
||||
db_port,Database Port
|
||||
db_username,Database Username
|
||||
db_password,Database Password
|
||||
db_database,Database Name
|
||||
send_reports,Send Error Reports
|
||||
project_name,Status Page Name
|
||||
description,Description
|
||||
domain,Domain
|
||||
newsletter,Newsletter
|
||||
newsletter_note,We will only send you an email for major changes
|
||||
loading,Loading
|
||||
save_settings,Save Settings
|
||||
average_response,Average Response
|
||||
last_uptime,Uptime last
|
||||
sign_in,Sign In
|
||||
failed,Failed
|
||||
wrong_login,Incorrect username or password
|
|
|
@ -1,103 +1,77 @@
|
|||
const english = {
|
||||
top_nav: {
|
||||
settings: "Settings",
|
||||
dashboard: "Dashboard",
|
||||
services: "Services",
|
||||
service: "Service",
|
||||
failures: "Failures",
|
||||
users: "Users",
|
||||
login: "Login",
|
||||
logout: "Logout",
|
||||
online: "Online",
|
||||
offline: "Offline",
|
||||
username: "Username",
|
||||
password: "Password",
|
||||
email: "Email",
|
||||
confirm_password: "Confirm Password",
|
||||
uptime: "Uptime",
|
||||
name: "Name",
|
||||
copy: "Copy",
|
||||
secret: "Secret",
|
||||
regen_api: "Regenerate API Keys",
|
||||
visibility: "Visibility",
|
||||
group: "Group",
|
||||
groups: "Groups",
|
||||
no_group: "No Group",
|
||||
public: "Public",
|
||||
private: "Private",
|
||||
announcements: "Announcements",
|
||||
settings: "Settings",
|
||||
notifiers: "Notifiers",
|
||||
logs: "Logs",
|
||||
help: "Help",
|
||||
logout: 'Logout',
|
||||
},
|
||||
setup: {
|
||||
language: "Language",
|
||||
connection: "Database Connection",
|
||||
host: "Host",
|
||||
database: "Database",
|
||||
project_name: "Project Name",
|
||||
project_description: "Project Description",
|
||||
domain: "Domain URL",
|
||||
username: "Admin Username",
|
||||
password: "Admin Password",
|
||||
password_confirm: "Confirm Admin Password",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will not share your email, emails are only for major updates.",
|
||||
send_reports: "Send Error Reports to Statping"
|
||||
},
|
||||
dashboard: {
|
||||
type: "Type",
|
||||
edit: "Edit",
|
||||
create: "Create",
|
||||
view: "View",
|
||||
save: "Save",
|
||||
status: "Status",
|
||||
total_services: "Total Services",
|
||||
failures_24_hours: "Failures last 24 Hours",
|
||||
online_services: "Online Services",
|
||||
service: 'Service | Services',
|
||||
group: 'Group',
|
||||
title: 'Title',
|
||||
begins: 'Begins',
|
||||
name: 'Name',
|
||||
loading: 'Loading',
|
||||
login: 'Login',
|
||||
sign_in: "Sign In",
|
||||
visibility: 'Visibility',
|
||||
wrong_login: 'Incorrect username or password'
|
||||
},
|
||||
settings: {
|
||||
name: "Site Name",
|
||||
description: "Site Description",
|
||||
footer: "Custom Footer",
|
||||
footer_notes: "HTML is allowed inside the footer",
|
||||
error_reporting: "Enable Error Reporting",
|
||||
error_reporting_notes: "Help the Statping project out by sending anonymous error logs back to our server.",
|
||||
save: "Save Settings",
|
||||
main: "Main Settings",
|
||||
theme: "Theme Editor",
|
||||
request_timeout: "Request Timeout",
|
||||
service_never_online: "Service has never been online",
|
||||
days_ago: "Days Ago",
|
||||
today: "Today",
|
||||
failures_24_hours: "Failures last 24 hours",
|
||||
no_services: "You currently don't have any services!",
|
||||
theme: "Theme",
|
||||
cache: "Cache",
|
||||
oauth: "OAuth",
|
||||
import: "Import & Export",
|
||||
export: "Export",
|
||||
beta: "BETA",
|
||||
changelog: "Changelog",
|
||||
repo: "Statping Github Repo",
|
||||
authentication: "Authentication",
|
||||
import: "Import",
|
||||
main_settings: "Main Settings",
|
||||
variables: "Variables",
|
||||
docs: "Documentation",
|
||||
},
|
||||
service: {
|
||||
name: "Service Name",
|
||||
type: "Service Type",
|
||||
info: "Service Information",
|
||||
view: "View Service",
|
||||
average: "Average Response",
|
||||
last_uptime: "Uptime last {0} {1}",
|
||||
},
|
||||
email: "Email Address",
|
||||
port: "Database Port",
|
||||
setting: "Settings",
|
||||
username: "Username",
|
||||
password: 'Password',
|
||||
services: 'Services',
|
||||
domain: 'Domain',
|
||||
online: 'online',
|
||||
public: 'Public',
|
||||
private: 'Private',
|
||||
admin: 'Admin',
|
||||
offline: 'offline',
|
||||
failure: 'failure | failures',
|
||||
incident: 'incident | incidents',
|
||||
checkin: 'checkin | checkins',
|
||||
user: 'User | Users',
|
||||
group: 'Group',
|
||||
message: 'message',
|
||||
edit: 'Edit',
|
||||
type: 'Type',
|
||||
sample_data: 'Sample Data',
|
||||
today: 'Today',
|
||||
last_login: 'Last Login',
|
||||
uptime: '{0}% Uptime',
|
||||
close: 'Close',
|
||||
second: 'second | seconds',
|
||||
minute: 'minute | minutes',
|
||||
hour: 'hour | hours',
|
||||
day: 'day | days',
|
||||
week: 'week | weeks',
|
||||
month: 'month | months',
|
||||
links: "Links",
|
||||
changelog: "Change Log",
|
||||
repo: "Repository",
|
||||
language: "Language",
|
||||
db_connection: "Database Connection",
|
||||
db_host: "Database Host",
|
||||
db_port: "Database Port",
|
||||
db_username: "Database Username",
|
||||
db_password: "Database Password",
|
||||
db_database: "Database Name",
|
||||
send_reports: "Send Error Reports",
|
||||
project_name: "Status Page Name",
|
||||
description: "Description",
|
||||
domain: "Domain",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will only send you an email for major changes",
|
||||
loading: "Loading",
|
||||
save_settings: "Save Settings",
|
||||
average_response: "Average Response",
|
||||
last_uptime: "Uptime last",
|
||||
sign_in: "Sign In",
|
||||
failed: "Failed",
|
||||
wrong_login: "Incorrect username or password"
|
||||
}
|
||||
|
||||
export default english
|
||||
export default english
|
|
@ -1,101 +1,77 @@
|
|||
const french = {
|
||||
top_nav: {
|
||||
dashboard: "Dashboard",
|
||||
settings: "Paramètres",
|
||||
dashboard: "Tableau de bord",
|
||||
services: "Services",
|
||||
users: "Users",
|
||||
groups: "Groups",
|
||||
announcements: "Announcements",
|
||||
settings: "Settings",
|
||||
logs: "Logs",
|
||||
help: "Help",
|
||||
logout: 'Logout',
|
||||
},
|
||||
setup: {
|
||||
language: "Language",
|
||||
connection: "Database Connection",
|
||||
host: "Host",
|
||||
database: "Database",
|
||||
project_name: "Project Name",
|
||||
project_description: "Project Description",
|
||||
domain: "Domain URL",
|
||||
username: "Admin Username",
|
||||
password: "Admin Password",
|
||||
password_confirm: "Confirm Admin Password",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will not share your email, emails are only for major updates.",
|
||||
send_reports: "Send Error Reports to Statping"
|
||||
},
|
||||
dashboard: {
|
||||
total_services: "Total Services",
|
||||
failures_24_hours: "Failures last 24 Hours",
|
||||
online_services: "Online Services",
|
||||
service: 'Service | Services',
|
||||
group: 'Group',
|
||||
title: 'Title',
|
||||
begins: 'Begins',
|
||||
name: 'Name',
|
||||
loading: 'Loading',
|
||||
login: 'Login',
|
||||
sign_in: "Sign In",
|
||||
visibility: 'Visibility',
|
||||
wrong_login: 'Incorrect username or password'
|
||||
},
|
||||
settings: {
|
||||
name: "Project Name",
|
||||
description: "Project Name",
|
||||
footer: "Custom Footer",
|
||||
footer_notes: "HTML is allowed inside the footer",
|
||||
error_reporting: "Enable Error Reporting",
|
||||
error_reporting_notes: "Help the Statping project out by sending anonymous error logs back to our server.",
|
||||
save: "Save Settings",
|
||||
main: "Main Settings",
|
||||
theme: "Theme Editor",
|
||||
service: "Service",
|
||||
failures: "Échecs",
|
||||
users: "Utilisateurs",
|
||||
login: "Identifiant",
|
||||
logout: "Déconnexion",
|
||||
online: "En ligne",
|
||||
offline: "Offline",
|
||||
username: "Nom d'utilisateur",
|
||||
password: "mot de passe",
|
||||
email: "Email",
|
||||
confirm_password: "Confirmer le",
|
||||
uptime: "Temps de disponibilité",
|
||||
name: "Nom",
|
||||
copy: "Copie",
|
||||
secret: "Secret",
|
||||
regen_api: "Régénérer les clés d'API",
|
||||
visibility: "Visibilité",
|
||||
group: "Groupe",
|
||||
groups: "Groupes",
|
||||
no_group: "Pas de groupe",
|
||||
public: "Publique",
|
||||
private: "Privé",
|
||||
announcements: "Annonces",
|
||||
notifiers: "Notifiants",
|
||||
logs: "Journaux",
|
||||
help: "Aider",
|
||||
type: "Type",
|
||||
edit: "Éditer",
|
||||
create: "Créer",
|
||||
view: "Voir",
|
||||
save: "Sauvegarder",
|
||||
status: "Statut",
|
||||
total_services: "Total des services",
|
||||
online_services: "Services en ligne",
|
||||
request_timeout: "Délai d'attente de",
|
||||
service_never_online: "Le service n'a jamais été en ligne",
|
||||
days_ago: "Il y a jours",
|
||||
today: "Aujourd'hui",
|
||||
failures_24_hours: "Les échecs durent 24 heures",
|
||||
no_services: "Vous n'avez actuellement aucun service !",
|
||||
theme: "Thème",
|
||||
cache: "Cache",
|
||||
oauth: "OAuth",
|
||||
beta: "BETA",
|
||||
changelog: "Changelog",
|
||||
repo: "Statping Github Repo",
|
||||
authentication: "Authentification",
|
||||
import: "Importer",
|
||||
main_settings: "Paramètres principaux",
|
||||
variables: "Variables",
|
||||
docs: "Documentation",
|
||||
},
|
||||
service: {
|
||||
name: "Service Name",
|
||||
type: "Service Type",
|
||||
info: "Service Information",
|
||||
view: "View Service",
|
||||
average: "Average Response",
|
||||
last_uptime: "Uptime last {0} {1}",
|
||||
},
|
||||
email: "Email Address",
|
||||
port: "Database Port",
|
||||
setting: "Settings",
|
||||
username: "Username",
|
||||
password: 'Password',
|
||||
services: 'Services',
|
||||
domain: 'Domain',
|
||||
online: 'online',
|
||||
public: 'Public',
|
||||
private: 'Private',
|
||||
admin: 'Admin',
|
||||
offline: 'offline',
|
||||
failure: 'failure | failures',
|
||||
incident: 'incident | incidents',
|
||||
checkin: 'checkin | checkins',
|
||||
user: 'User | Users',
|
||||
group: 'Group',
|
||||
message: 'message',
|
||||
edit: 'Edit',
|
||||
type: 'Type',
|
||||
sample_data: 'Sample Data',
|
||||
today: 'Today',
|
||||
last_login: 'Last Login',
|
||||
uptime: '{0}% Uptime',
|
||||
close: 'Close',
|
||||
second: 'second | seconds',
|
||||
minute: 'minute | minutes',
|
||||
hour: 'hour | hours',
|
||||
day: 'day | days',
|
||||
week: 'week | weeks',
|
||||
month: 'month | months',
|
||||
links: "Links",
|
||||
changelog: "Journal des modifications",
|
||||
repo: "Référentiel",
|
||||
language: "Langue",
|
||||
db_connection: "Connexion à la base",
|
||||
db_host: "Hôte de base",
|
||||
db_port: "Port base de données",
|
||||
db_username: "Nom utilisateur de base",
|
||||
db_password: "Mot de passe",
|
||||
db_database: "Nom de la base",
|
||||
send_reports: "Envoyer des rapports d'erreurs",
|
||||
project_name: "Nom de la page d'état",
|
||||
description: "Description",
|
||||
domain: "Domaine",
|
||||
newsletter: "Bulletin",
|
||||
newsletter_note: "Nous ne vous enverrons qu'un e-mail pour les modifications majeures",
|
||||
loading: "Chargement",
|
||||
save_settings: "Enregistrer les paramètres",
|
||||
average_response: "Réponse moyenne",
|
||||
last_uptime: "Temps de disponibilité dernier",
|
||||
sign_in: "Se connecter",
|
||||
failed: "Échec",
|
||||
wrong_login: "Nom d'utilisateur ou mot de passe"
|
||||
}
|
||||
|
||||
export default french
|
||||
export default french
|
|
@ -1,101 +1,77 @@
|
|||
const german = {
|
||||
top_nav: {
|
||||
dashboard: "Dashboard",
|
||||
services: "Services",
|
||||
users: "Users",
|
||||
groups: "Groups",
|
||||
announcements: "Announcements",
|
||||
settings: "Settings",
|
||||
logs: "Logs",
|
||||
help: "Help",
|
||||
logout: 'Logout',
|
||||
},
|
||||
setup: {
|
||||
language: "Language",
|
||||
connection: "Database Connection",
|
||||
host: "Host",
|
||||
database: "Database",
|
||||
project_name: "Project Name",
|
||||
project_description: "Project Description",
|
||||
domain: "Domain URL",
|
||||
username: "Admin Username",
|
||||
password: "Admin Password",
|
||||
password_confirm: "Confirm Admin Password",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will not share your email, emails are only for major updates.",
|
||||
send_reports: "Send Error Reports to Statping"
|
||||
},
|
||||
dashboard: {
|
||||
total_services: "Total Services",
|
||||
failures_24_hours: "Failures last 24 Hours",
|
||||
online_services: "Online Services",
|
||||
service: 'Service | Services',
|
||||
group: 'Group',
|
||||
title: 'Title',
|
||||
begins: 'Begins',
|
||||
name: 'Name',
|
||||
loading: 'Loading',
|
||||
login: 'Login',
|
||||
sign_in: "Sign In",
|
||||
visibility: 'Visibility',
|
||||
wrong_login: 'Incorrect username or password'
|
||||
},
|
||||
settings: {
|
||||
name: "Project Name",
|
||||
description: "Project Name",
|
||||
footer: "Custom Footer",
|
||||
footer_notes: "HTML is allowed inside the footer",
|
||||
error_reporting: "Enable Error Reporting",
|
||||
error_reporting_notes: "Help the Statping project out by sending anonymous error logs back to our server.",
|
||||
save: "Save Settings",
|
||||
main: "Main Settings",
|
||||
theme: "Theme Editor",
|
||||
settings: "Einstellungen",
|
||||
dashboard: "Armaturenbrett",
|
||||
services: "Dienstleistungen",
|
||||
service: "Service",
|
||||
failures: "Ausfälle",
|
||||
users: "Benutzer",
|
||||
login: "Login",
|
||||
logout: "Abmelden",
|
||||
online: "Online",
|
||||
offline: "Offline",
|
||||
username: "Benutzername",
|
||||
password: "Kennwort",
|
||||
email: "Mail",
|
||||
confirm_password: "Passwort bestätigen",
|
||||
uptime: "Betriebszeit",
|
||||
name: "Name",
|
||||
copy: "Kopie",
|
||||
secret: "Geheimnis",
|
||||
regen_api: "API-Schlüssel neu generieren",
|
||||
visibility: "Sichtbarkeit",
|
||||
group: "Gruppe",
|
||||
groups: "Gruppen",
|
||||
no_group: "Keine Gruppe",
|
||||
public: "Öffentlichkeit",
|
||||
private: "Privat",
|
||||
announcements: "Ankündigungen",
|
||||
notifiers: "Notifizierer",
|
||||
logs: "Protokolle",
|
||||
help: "Helfen",
|
||||
type: "Typ",
|
||||
edit: "Bearbeiten",
|
||||
create: "Schaffen",
|
||||
view: "Ansicht",
|
||||
save: "sparen",
|
||||
status: "Status",
|
||||
total_services: "Dienstleistungen insgesamt",
|
||||
online_services: "Online-Dienste",
|
||||
request_timeout: "Zeitüberschreitung anfordern",
|
||||
service_never_online: "Service war noch nie online",
|
||||
days_ago: "Vor Tagen",
|
||||
today: "Heute",
|
||||
failures_24_hours: "Ausfälle dauern 24 Stunden",
|
||||
no_services: "Sie haben derzeit keine Dienste!",
|
||||
theme: "Thema",
|
||||
cache: "Cache",
|
||||
oauth: "OAuth",
|
||||
beta: "BETA",
|
||||
changelog: "Changelog",
|
||||
repo: "Statping Github Repo",
|
||||
docs: "Documentation",
|
||||
},
|
||||
service: {
|
||||
name: "Service Name",
|
||||
type: "Service Type",
|
||||
info: "Service Information",
|
||||
view: "View Service",
|
||||
average: "Average Response",
|
||||
last_uptime: "Uptime last {0} {1}",
|
||||
},
|
||||
email: "Email Address",
|
||||
port: "Database Port",
|
||||
setting: "Settings",
|
||||
username: "Username",
|
||||
password: 'Password',
|
||||
services: 'Services',
|
||||
domain: 'Domain',
|
||||
online: 'online',
|
||||
public: 'Public',
|
||||
private: 'Private',
|
||||
admin: 'Admin',
|
||||
offline: 'offline',
|
||||
failure: 'failure | failures',
|
||||
incident: 'incident | incidents',
|
||||
checkin: 'checkin | checkins',
|
||||
user: 'User | Users',
|
||||
group: 'Group',
|
||||
message: 'message',
|
||||
edit: 'Edit',
|
||||
type: 'Type',
|
||||
sample_data: 'Sample Data',
|
||||
today: 'Today',
|
||||
last_login: 'Last Login',
|
||||
uptime: '{0}% Uptime',
|
||||
close: 'Close',
|
||||
second: 'second | seconds',
|
||||
minute: 'minute | minutes',
|
||||
hour: 'hour | hours',
|
||||
day: 'day | days',
|
||||
week: 'week | weeks',
|
||||
month: 'month | months',
|
||||
authentication: "Authentifikation",
|
||||
import: "Importieren",
|
||||
main_settings: "Haupteinstellungen",
|
||||
variables: "Variablen",
|
||||
docs: "Dokumentation",
|
||||
links: "Links",
|
||||
changelog: "Protokoll ändern",
|
||||
repo: "Depot",
|
||||
language: "Sprache",
|
||||
db_connection: "Datenbankverbindung",
|
||||
db_host: "Datenbank-Host",
|
||||
db_port: "Datenbank-Port",
|
||||
db_username: "Datenbank-Benutzername",
|
||||
db_password: "Datenbank-Kennwort",
|
||||
db_database: "Name der Datenbank",
|
||||
send_reports: "Fehlerberichte senden",
|
||||
project_name: "Name der Seite „Status“",
|
||||
description: "Beschreibung",
|
||||
domain: "Domäne",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "Wir senden Ihnen nur eine E-Mail für größere Änderungen",
|
||||
loading: "Laden",
|
||||
save_settings: "Einstellungen speichern",
|
||||
average_response: "Durchschnittliche Antwort",
|
||||
last_uptime: "Betriebszeit zuletzt",
|
||||
sign_in: "Anmelden",
|
||||
failed: "Fehlgeschlagen",
|
||||
wrong_login: "Falscher Benutzername oder Passwort"
|
||||
}
|
||||
|
||||
export default german
|
||||
export default german
|
|
@ -3,6 +3,10 @@ import spanish from "./spanish"
|
|||
import german from "./german"
|
||||
import russian from "./russian";
|
||||
import french from "./french";
|
||||
import japanese from "./japanese";
|
||||
import chinese from "./chinese";
|
||||
import korean from "./korean";
|
||||
import italian from "./italian";
|
||||
|
||||
const language = {
|
||||
en: english,
|
||||
|
@ -10,6 +14,10 @@ const language = {
|
|||
de: german,
|
||||
ru: russian,
|
||||
fr: french,
|
||||
ja: japanese,
|
||||
zh: chinese,
|
||||
ko: korean,
|
||||
it: italian,
|
||||
}
|
||||
|
||||
export default language
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
const italian = {
|
||||
settings: "Impostazioni",
|
||||
dashboard: "cruscotto",
|
||||
services: "Servizi",
|
||||
service: "Servizio",
|
||||
failures: "Fallimenti",
|
||||
users: "Utenti",
|
||||
login: "Login",
|
||||
logout: "Disconnetti",
|
||||
online: "Online",
|
||||
offline: "Offline",
|
||||
username: "Nome utente",
|
||||
password: "Password",
|
||||
email: "E-mail",
|
||||
confirm_password: "Conferma password",
|
||||
uptime: "Tempi di attività",
|
||||
name: "Nome",
|
||||
copy: "Copia",
|
||||
secret: "Segreto",
|
||||
regen_api: "Rigenera chiavi API",
|
||||
visibility: "Visibilità",
|
||||
group: "Gruppo",
|
||||
groups: "Gruppi",
|
||||
no_group: "Nessun gruppo",
|
||||
public: "Pubblico",
|
||||
private: "Privato",
|
||||
announcements: "Comunicazioni",
|
||||
notifiers: "Notificatori",
|
||||
logs: "Log",
|
||||
help: "Guida",
|
||||
type: "Tipo",
|
||||
edit: "Modifica",
|
||||
create: "Crea",
|
||||
view: "Visualizza",
|
||||
save: "Salvare",
|
||||
status: "Stato",
|
||||
total_services: "Totale servizi",
|
||||
online_services: "Servizi online",
|
||||
request_timeout: "Timeout richiesta",
|
||||
service_never_online: "Il servizio non è mai stato online",
|
||||
days_ago: "Giorni fa",
|
||||
today: "Oggi",
|
||||
failures_24_hours: "Errori nelle ultime 24 ore",
|
||||
no_services: "Al momento non hai alcun servizio!",
|
||||
theme: "Tema",
|
||||
cache: "Cache",
|
||||
authentication: "autenticazione",
|
||||
import: "Importa",
|
||||
main_settings: "Impostazioni principali",
|
||||
variables: "Variabili",
|
||||
docs: "Documentazione",
|
||||
links: "Collegamenti",
|
||||
changelog: "Registro delle modifiche",
|
||||
repo: "repository",
|
||||
language: "Lingua",
|
||||
db_connection: "Connessione al database",
|
||||
db_host: "Host del database",
|
||||
db_port: "Porta del database",
|
||||
db_username: "Nome utente del database",
|
||||
db_password: "Password del database",
|
||||
db_database: "Nome database",
|
||||
send_reports: "Invia segnalazioni errori",
|
||||
project_name: "Nome pagina di stato",
|
||||
description: "Descrizione",
|
||||
domain: "Dominio",
|
||||
newsletter: "Bollettino",
|
||||
newsletter_note: "Ti invieremo solo una e-mail per le modifiche più importanti",
|
||||
loading: "Caricamento",
|
||||
save_settings: "Salva impostazioni",
|
||||
average_response: "Risposta media",
|
||||
last_uptime: "Ultimo tempo di attività",
|
||||
sign_in: "Accedi",
|
||||
failed: "Non riuscito",
|
||||
wrong_login: "Nome utente o password non corretti"
|
||||
}
|
||||
|
||||
export default italian
|
|
@ -0,0 +1,77 @@
|
|||
const japanese = {
|
||||
settings: "設定",
|
||||
dashboard: "ダッシュボード",
|
||||
services: "サービス",
|
||||
service: "サービス",
|
||||
failures: "障害",
|
||||
users: "ユーザー",
|
||||
login: "ログイン",
|
||||
logout: "ログアウト",
|
||||
online: "オンライン",
|
||||
offline: "オフライン",
|
||||
username: "ユーザ名",
|
||||
password: "パスワード",
|
||||
email: "Eメール",
|
||||
confirm_password: "パスワードの確認",
|
||||
uptime: "稼働時間",
|
||||
name: "氏名",
|
||||
copy: "コピー",
|
||||
secret: "秘密",
|
||||
regen_api: "API キーの再生成",
|
||||
visibility: "可視性",
|
||||
group: "グループ",
|
||||
groups: "グループ",
|
||||
no_group: "グループなし",
|
||||
public: "パブリック",
|
||||
private: "私立",
|
||||
announcements: "アナウンス",
|
||||
notifiers: "通知者",
|
||||
logs: "ログ",
|
||||
help: "ヘルプ",
|
||||
type: "タイプ",
|
||||
edit: "編集",
|
||||
create: "作成",
|
||||
view: "ビュー",
|
||||
save: "保存する",
|
||||
status: "ステータス",
|
||||
total_services: "トータルサービス",
|
||||
online_services: "オンラインサービス",
|
||||
request_timeout: "リクエストのタイムアウト",
|
||||
service_never_online: "サービスがオンラインになったことがない",
|
||||
days_ago: "日前",
|
||||
today: "今日",
|
||||
failures_24_hours: "過去 24 時間の障害",
|
||||
no_services: "現在、サービスをお持ちになりません。",
|
||||
theme: "テーマ",
|
||||
cache: "キャッシュ",
|
||||
authentication: "認証",
|
||||
import: "インポート",
|
||||
main_settings: "メイン設定",
|
||||
variables: "変数",
|
||||
docs: "ドキュメント",
|
||||
links: "リンク",
|
||||
changelog: "変更ログ",
|
||||
repo: "リポジトリ",
|
||||
language: "言語",
|
||||
db_connection: "データベース接続",
|
||||
db_host: "データベース・ホスト",
|
||||
db_port: "データベースポート",
|
||||
db_username: "データベースのユーザー名",
|
||||
db_password: "データベースパスワード",
|
||||
db_database: "データベース名",
|
||||
send_reports: "エラーレポートを送信",
|
||||
project_name: "ステータスページ名",
|
||||
description: "説明",
|
||||
domain: "ドメイン",
|
||||
newsletter: "ニュースレター",
|
||||
newsletter_note: "大きな変更についてのみメールをお送りします",
|
||||
loading: "ロード中",
|
||||
save_settings: "設定を保存",
|
||||
average_response: "平均応答",
|
||||
last_uptime: "稼働時間最後",
|
||||
sign_in: "サインイン",
|
||||
failed: "失敗しました",
|
||||
wrong_login: "ユーザー名またはパスワードが正しくありません"
|
||||
}
|
||||
|
||||
export default japanese
|
|
@ -0,0 +1,77 @@
|
|||
const korean = {
|
||||
settings: "설정",
|
||||
dashboard: "대시보드",
|
||||
services: "서비스",
|
||||
service: "서비스",
|
||||
failures: "장애",
|
||||
users: "사용자",
|
||||
login: "로그인",
|
||||
logout: "로그아웃",
|
||||
online: "온라인",
|
||||
offline: "오프라인",
|
||||
username: "사용자 이름",
|
||||
password: "비밀번호",
|
||||
email: "이메일",
|
||||
confirm_password: "비밀번호 확인",
|
||||
uptime: "가동 시간",
|
||||
name: "이름",
|
||||
copy: "복사",
|
||||
secret: "비밀",
|
||||
regen_api: "API 키 재생성",
|
||||
visibility: "가시성",
|
||||
group: "그룹",
|
||||
groups: "그룹",
|
||||
no_group: "그룹 없음",
|
||||
public: "공공",
|
||||
private: "비공개",
|
||||
announcements: "공지사항",
|
||||
notifiers: "통지자",
|
||||
logs: "로그",
|
||||
help: "도움말",
|
||||
type: "유형",
|
||||
edit: "편집",
|
||||
create: "만들기",
|
||||
view: "보기",
|
||||
save: "저장",
|
||||
status: "상태",
|
||||
total_services: "총 서비스",
|
||||
online_services: "온라인 서비스",
|
||||
request_timeout: "요청 시간 초과",
|
||||
service_never_online: "서비스는 온라인 적이 없습니다",
|
||||
days_ago: "일 전",
|
||||
today: "오늘",
|
||||
failures_24_hours: "지난 24시간 동안 장애 발생",
|
||||
no_services: "현재 서비스가 없습니다!",
|
||||
theme: "테마",
|
||||
cache: "캐시",
|
||||
authentication: "인증",
|
||||
import: "가져오기",
|
||||
main_settings: "주 설정",
|
||||
variables: "변수",
|
||||
docs: "설명서",
|
||||
links: "링크",
|
||||
changelog: "변경 로그",
|
||||
repo: "저장소",
|
||||
language: "언어",
|
||||
db_connection: "데이터베이스 연결",
|
||||
db_host: "데이터베이스 호스트",
|
||||
db_port: "데이터베이스 포트",
|
||||
db_username: "데이터베이스 사용자 이름",
|
||||
db_password: "데이터베이스 암호",
|
||||
db_database: "데이터베이스 이름",
|
||||
send_reports: "오류 보고서 보내기",
|
||||
project_name: "상태 페이지 이름",
|
||||
description: "설명",
|
||||
domain: "도메인",
|
||||
newsletter: "신제품",
|
||||
newsletter_note: "주요 변경 사항에 대한 이메일만 보내드립니다.",
|
||||
loading: "로드 중",
|
||||
save_settings: "설정 저장",
|
||||
average_response: "평균 응답",
|
||||
last_uptime: "마지막 가동 시간",
|
||||
sign_in: "로그인",
|
||||
failed: "실패",
|
||||
wrong_login: "잘못된 사용자 이름 또는 암호"
|
||||
}
|
||||
|
||||
export default korean
|
|
@ -1,101 +1,77 @@
|
|||
const russian = {
|
||||
top_nav: {
|
||||
dashboard: "Dashboard",
|
||||
services: "Services",
|
||||
users: "Users",
|
||||
groups: "Groups",
|
||||
announcements: "Announcements",
|
||||
settings: "Settings",
|
||||
logs: "Logs",
|
||||
help: "Help",
|
||||
logout: 'Logout',
|
||||
},
|
||||
setup: {
|
||||
language: "Language",
|
||||
connection: "Database Connection",
|
||||
host: "Host",
|
||||
database: "Database",
|
||||
project_name: "Project Name",
|
||||
project_description: "Project Description",
|
||||
domain: "Domain URL",
|
||||
username: "Admin Username",
|
||||
password: "Admin Password",
|
||||
password_confirm: "Confirm Admin Password",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will not share your email, emails are only for major updates.",
|
||||
send_reports: "Send Error Reports to Statping"
|
||||
},
|
||||
dashboard: {
|
||||
total_services: "Total Services",
|
||||
failures_24_hours: "Failures last 24 Hours",
|
||||
online_services: "Online Services",
|
||||
service: 'Service | Services',
|
||||
group: 'Group',
|
||||
title: 'Title',
|
||||
begins: 'Begins',
|
||||
name: 'Name',
|
||||
loading: 'Loading',
|
||||
login: 'Login',
|
||||
sign_in: "Sign In",
|
||||
visibility: 'Visibility',
|
||||
wrong_login: 'Incorrect username or password'
|
||||
},
|
||||
settings: {
|
||||
name: "Project Name",
|
||||
description: "Project Name",
|
||||
footer: "Custom Footer",
|
||||
footer_notes: "HTML is allowed inside the footer",
|
||||
error_reporting: "Enable Error Reporting",
|
||||
error_reporting_notes: "Help the Statping project out by sending anonymous error logs back to our server.",
|
||||
save: "Save Settings",
|
||||
main: "Main Settings",
|
||||
theme: "Theme Editor",
|
||||
cache: "Cache",
|
||||
oauth: "OAuth",
|
||||
beta: "BETA",
|
||||
changelog: "Changelog",
|
||||
repo: "Statping Github Repo",
|
||||
docs: "Documentation",
|
||||
},
|
||||
service: {
|
||||
name: "Service Name",
|
||||
type: "Service Type",
|
||||
info: "Service Information",
|
||||
view: "View Service",
|
||||
average: "Average Response",
|
||||
last_uptime: "Uptime last {0} {1}",
|
||||
},
|
||||
email: "Email Address",
|
||||
port: "Database Port",
|
||||
setting: "Settings",
|
||||
username: "Username",
|
||||
password: 'Password',
|
||||
services: 'Services',
|
||||
domain: 'Domain',
|
||||
online: 'онлайн',
|
||||
public: 'Public',
|
||||
private: 'Private',
|
||||
admin: 'Admin',
|
||||
offline: 'не в сети',
|
||||
failure: 'failure | failures',
|
||||
incident: 'incident | incidents',
|
||||
checkin: 'checkin | checkins',
|
||||
user: 'User | Users',
|
||||
group: 'Group',
|
||||
message: 'message',
|
||||
edit: 'Edit',
|
||||
type: 'Type',
|
||||
sample_data: 'Sample Data',
|
||||
today: 'Today',
|
||||
last_login: 'Last Login',
|
||||
uptime: '{0}% Uptime',
|
||||
close: 'близко',
|
||||
second: 'второй | секунд',
|
||||
minute: 'минут | минут',
|
||||
hour: 'час | часов',
|
||||
day: 'день | дней',
|
||||
week: 'неделя | недель',
|
||||
month: 'месяц | месяцы',
|
||||
settings: "Настройки",
|
||||
dashboard: "Панель управления",
|
||||
services: "служб",
|
||||
service: "обслуживания",
|
||||
failures: "Сбои",
|
||||
users: "Пользователи",
|
||||
login: "Войти",
|
||||
logout: "Выход из системы",
|
||||
online: "Онлайн",
|
||||
offline: "Оффлайн",
|
||||
username: "Имя пользователя",
|
||||
password: "Пароль",
|
||||
email: "Электронная почта",
|
||||
confirm_password: "Подтвердить пароль",
|
||||
uptime: "Время бесперебойной работы",
|
||||
name: "Имя",
|
||||
copy: "Копия",
|
||||
secret: "Секрет",
|
||||
regen_api: "Регенерация ключей API",
|
||||
visibility: "Видимость",
|
||||
group: "Группы",
|
||||
groups: "Группы",
|
||||
no_group: "Нет группы",
|
||||
public: "Общественный",
|
||||
private: "Частные",
|
||||
announcements: "Объявления",
|
||||
notifiers: "Уведомлятели",
|
||||
logs: "Журналы",
|
||||
help: "Помогите",
|
||||
type: "Тип",
|
||||
edit: "Редактировать",
|
||||
create: "Создайте",
|
||||
view: "Посмотреть",
|
||||
save: "Сохранить",
|
||||
status: "положению",
|
||||
total_services: "Всего услуг",
|
||||
online_services: "Онлайн-сервисы",
|
||||
request_timeout: "Тайм-аут запроса",
|
||||
service_never_online: "Сервис никогда не был в сети",
|
||||
days_ago: "Дней назад",
|
||||
today: "Сегодня",
|
||||
failures_24_hours: "Сбои за 24 часа",
|
||||
no_services: "В настоящее время у вас нет услуг!",
|
||||
theme: "Тема",
|
||||
cache: "Кэш",
|
||||
authentication: "Проверка подлинности",
|
||||
import: "Импорт",
|
||||
main_settings: "Основные настройки",
|
||||
variables: "Переменные",
|
||||
docs: "Документация",
|
||||
links: "Ссылки",
|
||||
changelog: "Журнал изменений",
|
||||
repo: "Репозиторий",
|
||||
language: "Язык",
|
||||
db_connection: "Подключение к базе данных",
|
||||
db_host: "Узел базы данных",
|
||||
db_port: "Порт базы данных",
|
||||
db_username: "Имя пользователя базы данных",
|
||||
db_password: "Пароль базы данных",
|
||||
db_database: "Имя базы данных",
|
||||
send_reports: "Отправка отчетов об ошибках",
|
||||
project_name: "Имя страницы состояния",
|
||||
description: "Описание",
|
||||
domain: "Домен",
|
||||
newsletter: "Информационный бюллетень",
|
||||
newsletter_note: "Мы отправим вам только сообщение по электронной почте для серьезных изменений",
|
||||
loading: "Загрузка",
|
||||
save_settings: "Сохранить настройки",
|
||||
average_response: "Средний ответ",
|
||||
last_uptime: "Время безотказной работы",
|
||||
sign_in: "Войти",
|
||||
failed: "Не удалось",
|
||||
wrong_login: "Неверное имя пользователя или пароль"
|
||||
}
|
||||
|
||||
export default russian
|
||||
export default russian
|
|
@ -1,101 +1,77 @@
|
|||
const spanish = {
|
||||
top_nav: {
|
||||
dashboard: "Dashboard",
|
||||
services: "Services",
|
||||
users: "Users",
|
||||
groups: "Groups",
|
||||
announcements: "Announcements",
|
||||
settings: "Settings",
|
||||
logs: "Logs",
|
||||
help: "Help",
|
||||
logout: 'Logout',
|
||||
},
|
||||
setup: {
|
||||
language: "Language",
|
||||
connection: "Database Connection",
|
||||
host: "Host",
|
||||
database: "Database",
|
||||
project_name: "Project Name",
|
||||
project_description: "Project Description",
|
||||
domain: "Domain URL",
|
||||
username: "Admin Username",
|
||||
password: "Admin Password",
|
||||
password_confirm: "Confirm Admin Password",
|
||||
settings: "Configuración",
|
||||
dashboard: "Salpicadero",
|
||||
services: "Servicios",
|
||||
service: "Servicio",
|
||||
failures: "Fallos",
|
||||
users: "Usuarios",
|
||||
login: "Iniciar sesión",
|
||||
logout: "Cerrar sesión",
|
||||
online: "En línea",
|
||||
offline: "Offline",
|
||||
username: "Nombre de usuario",
|
||||
password: "Contraseña",
|
||||
email: "Correo",
|
||||
confirm_password: "Confirmar contraseña",
|
||||
uptime: "Tiempo de actividad",
|
||||
name: "Nombre",
|
||||
copy: "Copia",
|
||||
secret: "Secreto",
|
||||
regen_api: "Regenerar claves de API",
|
||||
visibility: "Visibilidad",
|
||||
group: "Grupo",
|
||||
groups: "Grupos",
|
||||
no_group: "Ningún grupo",
|
||||
public: "Público",
|
||||
private: "Privado",
|
||||
announcements: "Anuncios",
|
||||
notifiers: "Notificadores",
|
||||
logs: "Registros",
|
||||
help: "Ayudar",
|
||||
type: "Tipo",
|
||||
edit: "Editar",
|
||||
create: "Crear",
|
||||
view: "Ver",
|
||||
save: "Guardar",
|
||||
status: "Estado",
|
||||
total_services: "Total de servicios",
|
||||
online_services: "Servicios en línea",
|
||||
request_timeout: "Tiempo de espera de solicitud",
|
||||
service_never_online: "El servicio nunca ha estado en línea",
|
||||
days_ago: "Hace días",
|
||||
today: "Hoy",
|
||||
failures_24_hours: "Fallos de las últimas 24 horas",
|
||||
no_services: "¡Actualmente no tienes ningún servicio!",
|
||||
theme: "Tema",
|
||||
cache: "Caché",
|
||||
authentication: "Autentificación",
|
||||
import: "Importación",
|
||||
main_settings: "Configuración principal",
|
||||
variables: "Variables",
|
||||
docs: "Documentación",
|
||||
links: "Enlaces",
|
||||
changelog: "Registro de cambios",
|
||||
repo: "Repositorio",
|
||||
language: "Idioma",
|
||||
db_connection: "Conexión a la base",
|
||||
db_host: "Host de base",
|
||||
db_port: "Puerto base de datos",
|
||||
db_username: "Nombre de usuario de",
|
||||
db_password: "Contraseña",
|
||||
db_database: "Nombre de la base",
|
||||
send_reports: "Enviar informes de errores",
|
||||
project_name: "Nombre de página de estado",
|
||||
description: "Descripción",
|
||||
domain: "Dominio",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "We will not share your email, emails are only for major updates.",
|
||||
send_reports: "Send Error Reports to Statping"
|
||||
},
|
||||
dashboard: {
|
||||
total_services: "Total Services",
|
||||
failures_24_hours: "Failures last 24 Hours",
|
||||
online_services: "Online Services",
|
||||
service: 'Service | Services',
|
||||
group: 'Group',
|
||||
title: 'Title',
|
||||
begins: 'Begins',
|
||||
name: 'Name',
|
||||
loading: 'Loading',
|
||||
login: 'Login',
|
||||
sign_in: "Sign In",
|
||||
visibility: 'Visibility',
|
||||
wrong_login: 'Incorrect username or password'
|
||||
},
|
||||
settings: {
|
||||
name: "Project Name",
|
||||
description: "Project Name",
|
||||
footer: "Custom Footer",
|
||||
footer_notes: "HTML is allowed inside the footer",
|
||||
error_reporting: "Enable Error Reporting",
|
||||
error_reporting_notes: "Help the Statping project out by sending anonymous error logs back to our server.",
|
||||
save: "Save Settings",
|
||||
main: "Main Settings",
|
||||
theme: "Theme Editor",
|
||||
cache: "Cache",
|
||||
oauth: "OAuth",
|
||||
beta: "BETA",
|
||||
changelog: "Changelog",
|
||||
repo: "Statping Github Repo",
|
||||
docs: "Documentation",
|
||||
},
|
||||
service: {
|
||||
name: "Service Name",
|
||||
type: "Service Type",
|
||||
info: "Service Information",
|
||||
view: "View Service",
|
||||
average: "Average Response",
|
||||
last_uptime: "Uptime last {0} {1}",
|
||||
},
|
||||
email: "Email Address",
|
||||
port: "Database Port",
|
||||
setting: "Settings",
|
||||
username: "Username",
|
||||
password: 'Password',
|
||||
services: 'Services',
|
||||
domain: 'Domain',
|
||||
online: 'online',
|
||||
public: 'Public',
|
||||
private: 'Private',
|
||||
admin: 'Admin',
|
||||
offline: 'offline',
|
||||
failure: 'failure | failures',
|
||||
incident: 'incident | incidents',
|
||||
checkin: 'checkin | checkins',
|
||||
user: 'User | Users',
|
||||
group: 'Group',
|
||||
message: 'message',
|
||||
edit: 'Edit',
|
||||
type: 'Type',
|
||||
sample_data: 'Sample Data',
|
||||
today: 'Today',
|
||||
last_login: 'Last Login',
|
||||
uptime: '{0}% Uptime',
|
||||
close: 'Close',
|
||||
second: 'second | seconds',
|
||||
minute: 'minute | minutes',
|
||||
hour: 'hour | hours',
|
||||
day: 'day | days',
|
||||
week: 'week | weeks',
|
||||
month: 'month | months',
|
||||
newsletter_note: "Sólo le enviaremos un correo electrónico para cambios importantes",
|
||||
loading: "Cargando",
|
||||
save_settings: "Guardar configuración",
|
||||
average_response: "Respuesta media",
|
||||
last_uptime: "Tiempo de actividad último",
|
||||
sign_in: "Iniciar sesión",
|
||||
failed: "Falló",
|
||||
wrong_login: "Nombre de usuario o contraseña incorrectos"
|
||||
}
|
||||
|
||||
export default spanish
|
||||
export default spanish
|
|
@ -110,7 +110,7 @@ export default Vue.mixin({
|
|||
return `Offline, last error: ${last} ${this.ago(last.created_at)}`
|
||||
}
|
||||
if (this.isZero(s.last_success)) {
|
||||
return `Service has never been online`
|
||||
return this.$t('service_never_online')
|
||||
}
|
||||
return `Service has been offline for ${this.ago(s.last_success)}`
|
||||
}
|
||||
|
|
|
@ -10,25 +10,25 @@
|
|||
<a href="https://github.com/statping/statping/blob/master/CHANGELOG.md" class="btn btn-sm text-dim mt-2">Changelog</a>
|
||||
</div>
|
||||
|
||||
<h6 class="text-muted">{{ $t('settings.main') }}</h6>
|
||||
<h6 class="text-muted">{{ $t('main_settings') }}</h6>
|
||||
|
||||
<a @click.prevent="changeTab" class="nav-link" v-bind:class="{active: liClass('v-pills-home-tab')}" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">
|
||||
<font-awesome-icon icon="cog" class="mr-2"/> {{ $t('setting') }}
|
||||
<font-awesome-icon icon="cog" class="mr-2"/> {{ $t('settings') }}
|
||||
</a>
|
||||
<a @click.prevent="changeTab" class="nav-link" v-bind:class="{active: liClass('v-pills-style-tab')}" id="v-pills-style-tab" data-toggle="pill" href="#v-pills-style" role="tab" aria-controls="v-pills-style" aria-selected="false">
|
||||
<font-awesome-icon icon="image" class="mr-2"/> {{ $t('settings.theme') }}
|
||||
<font-awesome-icon icon="image" class="mr-2"/> {{ $t('theme') }}
|
||||
</a>
|
||||
<a @click.prevent="changeTab" class="nav-link" v-bind:class="{active: liClass('v-pills-cache-tab')}" id="v-pills-cache-tab" data-toggle="pill" href="#v-pills-cache" role="tab" aria-controls="v-pills-cache" aria-selected="false">
|
||||
<font-awesome-icon icon="paperclip" class="mr-2"/> {{ $t('settings.cache') }}
|
||||
<font-awesome-icon icon="paperclip" class="mr-2"/> {{ $t('cache') }}
|
||||
</a>
|
||||
<a @click.prevent="changeTab" class="nav-link" v-bind:class="{active: liClass('v-pills-oauth-tab')}" id="v-pills-oauth-tab" data-toggle="pill" href="#v-pills-oauth" role="tab" aria-controls="v-pills-oauth" aria-selected="false">
|
||||
<font-awesome-icon icon="key" class="mr-2"/> {{ $t('settings.oauth') }}
|
||||
<font-awesome-icon icon="key" class="mr-2"/> {{ $t('authentication') }}
|
||||
</a>
|
||||
<a @click.prevent="changeTab" class="nav-link" v-bind:class="{active: liClass('v-pills-import-tab')}" id="v-pills-import-tab" data-toggle="pill" href="#v-pills-import" role="tab" aria-controls="v-pills-import" aria-selected="false">
|
||||
<font-awesome-icon icon="cloud-download-alt" class="mr-2"/> {{ $t('settings.import') }}
|
||||
<font-awesome-icon icon="cloud-download-alt" class="mr-2"/> {{ $t('import') }}
|
||||
</a>
|
||||
|
||||
<h6 class="mt-4 text-muted">Notifiers</h6>
|
||||
<h6 class="mt-4 text-muted">{{$t('notifiers')}}</h6>
|
||||
|
||||
<div id="notifiers_tabs">
|
||||
<a v-for="(notifier, index) in notifiers" v-bind:key="`${notifier.method}`" @click.prevent="changeTab" class="nav-link text-capitalize" v-bind:class="{active: liClass(`v-pills-${notifier.method.toLowerCase()}-tab`)}" v-bind:id="`v-pills-${notifier.method.toLowerCase()}-tab`" data-toggle="pill" v-bind:href="`#v-pills-${notifier.method.toLowerCase()}`" role="tab" v-bind:aria-controls="`v-pills-${notifier.method.toLowerCase()}`" aria-selected="false">
|
||||
|
@ -36,26 +36,26 @@
|
|||
<span v-if="notifier.enabled" class="badge badge-pill float-right mt-1" :class="{'badge-success': !liClass(`v-pills-${notifier.method.toLowerCase()}-tab`), 'badge-light': liClass(`v-pills-${notifier.method.toLowerCase()}-tab`), 'text-dark': liClass(`v-pills-${notifier.method.toLowerCase()}-tab`)}">ON</span>
|
||||
</a>
|
||||
<a @click.prevent="changeTab" class="nav-link text-capitalize" v-bind:class="{active: liClass(`v-pills-notifier-docs-tab`)}" v-bind:id="`v-pills-notifier-docs-tab`" data-toggle="pill" v-bind:href="`#v-pills-notifier-docs`" role="tab" v-bind:aria-controls="`v-pills-notifier-docs`" aria-selected="false">
|
||||
<font-awesome-icon icon="question" class="mr-2"/> Variables
|
||||
<font-awesome-icon icon="question" class="mr-2"/> {{$t('variables')}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="mt-4 mb-3 text-muted">Statping Links</h6>
|
||||
<h6 class="mt-4 mb-3 text-muted">Statping {{$t('links')}}</h6>
|
||||
|
||||
<a href="https://github.com/statping/statping/wiki" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="question" class="mr-3"/> {{$t('settings.docs')}}
|
||||
<font-awesome-icon icon="question" class="mr-3"/> {{$t('docs')}}
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/statping/statping/wiki/API" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="laptop" class="mr-2"/> API {{$t('settings.docs')}}
|
||||
<font-awesome-icon icon="laptop" class="mr-2"/> API {{$t('docs')}}
|
||||
</a>
|
||||
|
||||
<a href="https://raw.githubusercontent.com/statping/statping/master/CHANGELOG.md" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="book" class="mr-3"/> {{$t('settings.changelog')}}
|
||||
<font-awesome-icon icon="book" class="mr-3"/> {{$t('changelog')}}
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/statping/statping" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="code-branch" class="mr-3"/> {{$t('settings.repo')}}
|
||||
<font-awesome-icon icon="code-branch" class="mr-3"/> {{$t('repo')}}
|
||||
</a>
|
||||
|
||||
<span class="small text-dim text-center mt-5">Statping v{{core.version}}<br>
|
||||
|
@ -74,15 +74,15 @@
|
|||
<CoreSettings/>
|
||||
|
||||
<div class="card mt-3">
|
||||
<div class="card-header">API Settings</div>
|
||||
<div class="card-header">API {{$t('settings')}}</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">API Secret</label>
|
||||
<label class="col-sm-3 col-form-label">API {{$t('secret')}}</label>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<input v-model="core.api_secret" @focus="$event.target.select()" type="text" class="form-control select-input" id="api_secret" readonly>
|
||||
<div class="input-group-append copy-btn">
|
||||
<button @click="copy(core.api_secret)" class="btn btn-outline-secondary" type="button">Copy</button>
|
||||
<button @click="copy(core.api_secret)" class="btn btn-outline-secondary" type="button">{{$t('copy')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<small class="form-text text-muted">API Secret is used for read, create, update and delete routes</small>
|
||||
|
@ -92,7 +92,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<button id="regenkeys" @click="renewApiKeys" class="btn btn-sm btn-danger float-right">Regenerate API Keys</button>
|
||||
<button id="regenkeys" @click="renewApiKeys" class="btn btn-sm btn-danger float-right">{{$t('regen_api')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,227 @@
|
|||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/csv"
|
||||
"fmt"
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/aws/aws-sdk-go/service/translate"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
tr *translate.Translate
|
||||
awsKey string
|
||||
awsSecret string
|
||||
)
|
||||
|
||||
type Text struct {
|
||||
Key string
|
||||
En string
|
||||
Fr string
|
||||
De string
|
||||
Ru string
|
||||
Sp string
|
||||
Jp string
|
||||
Cn string
|
||||
Ko string
|
||||
It string
|
||||
}
|
||||
|
||||
func Translate(val, language string) string {
|
||||
input := &translate.TextInput{
|
||||
SourceLanguageCode: aws.String("en"),
|
||||
TargetLanguageCode: aws.String(language),
|
||||
Text: aws.String(val),
|
||||
}
|
||||
req, out := tr.TextRequest(input)
|
||||
if err := req.Send(); err != nil {
|
||||
panic(req.Error)
|
||||
}
|
||||
return *out.TranslatedText
|
||||
}
|
||||
|
||||
func TranslateAll(key, en string) *Text {
|
||||
return &Text{
|
||||
Key: key,
|
||||
En: en,
|
||||
Fr: Translate(en, "fr"),
|
||||
De: Translate(en, "de"),
|
||||
Ru: Translate(en, "ru"),
|
||||
Sp: Translate(en, "es"),
|
||||
Jp: Translate(en, "ja"),
|
||||
Cn: Translate(en, "zh"),
|
||||
Ko: Translate(en, "ko"),
|
||||
It: Translate(en, "it"),
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println("RUNNING: ./source/generate_languages.go")
|
||||
awsKey = os.Getenv("AWS_ACCESS_KEY_ID")
|
||||
awsSecret = os.Getenv("AWS_SECRET_ACCESS_KEY")
|
||||
if awsKey == "" || awsSecret == "" {
|
||||
fmt.Println("AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY not set")
|
||||
os.Exit(1)
|
||||
return
|
||||
}
|
||||
|
||||
InitAWS()
|
||||
|
||||
file, _ := os.Open("../frontend/src/languages/data.csv")
|
||||
|
||||
defer file.Close()
|
||||
c := csv.NewReader(file)
|
||||
|
||||
var translations []*Text
|
||||
line := 0
|
||||
for {
|
||||
// Read each record from csv
|
||||
record, err := c.Read()
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
if line == 0 {
|
||||
line++
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
continue
|
||||
}
|
||||
key := record[0]
|
||||
english := record[1]
|
||||
|
||||
translated := TranslateAll(key, english)
|
||||
|
||||
translations = append(translations, translated)
|
||||
|
||||
fmt.Printf("%s | English: %s | French: %s | German: %s | Russian: %s\n", translated.Key, translated.En, translated.Fr, translated.De, translated.Ru)
|
||||
line++
|
||||
}
|
||||
|
||||
CreateGo(translations)
|
||||
|
||||
CreateJS("english", translations)
|
||||
CreateJS("russian", translations)
|
||||
CreateJS("french", translations)
|
||||
CreateJS("german", translations)
|
||||
CreateJS("spanish", translations)
|
||||
CreateJS("japanese", translations)
|
||||
CreateJS("chinese", translations)
|
||||
CreateJS("italian", translations)
|
||||
CreateJS("korean", translations)
|
||||
}
|
||||
|
||||
func (t *Text) String(lang string) string {
|
||||
switch lang {
|
||||
case "english":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.En)
|
||||
case "russian":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Ru)
|
||||
case "spanish":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Sp)
|
||||
case "german":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.De)
|
||||
case "french":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Fr)
|
||||
case "japanese":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Jp)
|
||||
case "chinese":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Cn)
|
||||
case "korean":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.Ko)
|
||||
case "italian":
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.It)
|
||||
default:
|
||||
return fmt.Sprintf(` %s: "%s"`, t.Key, t.En)
|
||||
}
|
||||
}
|
||||
|
||||
func GoLang(trs []*Text) string {
|
||||
var allvars []string
|
||||
languages := []string{"english", "russian"}
|
||||
for _, language := range languages {
|
||||
allvars = append(allvars, language+" := make(map[string]string)")
|
||||
for _, t := range trs {
|
||||
allvars = append(allvars, GoLine(language, t))
|
||||
}
|
||||
allvars = append(allvars, "\nLanguage[\""+language+"\"] = "+language)
|
||||
}
|
||||
return strings.Join(allvars, "\n")
|
||||
}
|
||||
|
||||
func GoLine(lang string, t *Text) string {
|
||||
switch lang {
|
||||
case "english":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.En)
|
||||
case "russian":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Ru)
|
||||
case "spanish":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Sp)
|
||||
case "german":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.De)
|
||||
case "french":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Fr)
|
||||
case "japanese":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Jp)
|
||||
case "chinese":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Cn)
|
||||
case "korean":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.Ko)
|
||||
case "italian":
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.It)
|
||||
default:
|
||||
return fmt.Sprintf(` %s["%s"] = "%s"`, lang, t.Key, t.En)
|
||||
}
|
||||
}
|
||||
|
||||
func CreateGo(trs []*Text) {
|
||||
|
||||
data := `package utils
|
||||
|
||||
var Language map[string]map[string]string
|
||||
|
||||
func init() {
|
||||
Language = make(map[string]map[string]string)
|
||||
` + GoLang(trs) + `
|
||||
}
|
||||
`
|
||||
|
||||
ioutil.WriteFile("../utils/languages.go", []byte(data), os.ModePerm)
|
||||
}
|
||||
|
||||
func CreateJS(name string, trs []*Text) {
|
||||
|
||||
data := "const " + name + " = {\n"
|
||||
|
||||
var allvars []string
|
||||
for _, v := range trs {
|
||||
allvars = append(allvars, v.String(name))
|
||||
}
|
||||
|
||||
data += strings.Join(allvars, ",\n")
|
||||
|
||||
data += "\n}\n\nexport default " + name
|
||||
|
||||
ioutil.WriteFile("../frontend/src/languages/"+name+".js", []byte(data), os.ModePerm)
|
||||
|
||||
}
|
||||
|
||||
func InitAWS() {
|
||||
creds := credentials.NewStaticCredentials(awsKey, awsSecret, "")
|
||||
sess, err := session.NewSession(&aws.Config{
|
||||
Region: aws.String("us-west-2"),
|
||||
Credentials: creds,
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
tr = translate.New(sess)
|
||||
}
|
|
@ -2,6 +2,7 @@ package source
|
|||
|
||||
//go:generate go run generate_help.go
|
||||
//go:generate go run generate_version.go
|
||||
//go:generate go run generate_languages.go
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
|
Loading…
Reference in New Issue