i18n language generate script from aws

pull/806/head
hunterlong 2020-09-09 14:58:27 -07:00
parent 6ca458186d
commit f7aa35ce0e
22 changed files with 465 additions and 72 deletions

View File

@ -1,7 +1,7 @@
<template>
<div class="col-12">
<div class="card contain-card mb-4">
<div class="card-header">{{ $t('top_nav.announcements') }}</div>
<div class="card-header">{{ $t('announcements') }}</div>
<div class="card-body pt-0">
<div v-if="messages.length === 0">
@ -13,9 +13,9 @@
<table v-else class="table table-striped">
<thead>
<tr>
<th scope="col">{{ $t('dashboard.title') }}</th>
<th scope="col" class="d-none d-md-table-cell">{{ $tc('dashboard.service', 1) }}</th>
<th scope="col" class="d-none d-md-table-cell">{{ $t('dashboard.begins') }}</th>
<th scope="col">{{ $t('title') }}</th>
<th scope="col" class="d-none d-md-table-cell">{{ $tc('service', 1) }}</th>
<th scope="col" class="d-none d-md-table-cell">{{ $t('begins') }}</th>
<th scope="col"></th>
</tr>
</thead>

View File

@ -1,7 +1,7 @@
<template>
<div class="col-12">
<div class="card contain-card mb-4">
<div class="card-header">{{ $t('top_nav.users') }}</div>
<div class="card-header">{{ $t('users') }}</div>
<div class="card-body pt-0">
<table class="table table-striped">
<thead>

View File

@ -37,13 +37,13 @@
<div class="col-7 pr-2 pl-0">
<div class="btn-group float-right">
<button @click="$router.push({path: `/dashboard/service/${service.id}/incidents`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover('Incidents')" class="btn btn-sm btn-white incident">
<button @click="$router.push({path: `/dashboard/service/${service.id}/incidents`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover($t('incidents'))" class="btn btn-sm btn-white incident">
<font-awesome-icon icon="bullhorn"/>
</button>
<button @click="$router.push({path: `/dashboard/service/${service.id}/checkins`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover('Checkins')" class="btn btn-sm btn-white checkins">
<button @click="$router.push({path: `/dashboard/service/${service.id}/checkins`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover($t('checkins'))" class="btn btn-sm btn-white checkins">
<font-awesome-icon icon="calendar-check"/>
</button>
<button @click="$router.push({path: `/dashboard/service/${service.id}/failures`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover('Failures')" class="btn btn-sm btn-white failures">
<button @click="$router.push({path: `/dashboard/service/${service.id}/failures`, params: {id: service.id}})" @mouseleave="unsetHover" @mouseover="setHover($t('failures'))" class="btn btn-sm btn-white failures">
<font-awesome-icon icon="exclamation-triangle"/> <span v-if="service.stats.failures !== 0" class="badge badge-danger ml-1">{{service.stats.failures}}</span>
</button>
</div>

View File

@ -8,12 +8,12 @@
<table v-else class="table">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col" class="d-none d-md-table-cell">Status</th>
<th scope="col" class="d-none d-md-table-cell">Visibility</th>
<th scope="col">{{$t('name')}}</th>
<th scope="col" class="d-none d-md-table-cell">{{$t('status')}}</th>
<th scope="col" class="d-none d-md-table-cell">{{$t('visibility')}}</th>
<th scope="col" class="d-none d-md-table-cell">{{ $t('group') }}</th>
<th scope="col" class="d-none d-md-table-cell" style="width: 130px">
Failures
{{$t('failures')}}
<div class="btn-group float-right" role="group">
<a @click="list_timeframe='3h'" type="button" class="small" :class="{'text-success': list_timeframe==='3h', 'text-muted': list_timeframe!=='3h'}">3h</a>
<a @click="list_timeframe='12h'" type="button" class="small" :class="{'text-success': list_timeframe==='12h', 'text-muted': list_timeframe!=='12h'}">12h</a>

View File

@ -1,21 +1,21 @@
<template>
<div class="card mb-5">
<div class="card-header">Theme Editor</div>
<div class="card-header">{{$t('theme_editor')}}</div>
<div class="card-body">
<div v-if="error" class="alert alert-danger mt-3" style="white-space: pre-line;">
{{error}}
</div>
<h6 v-if="directory" id="assets_dir" class="text-muted text-monospace text-sm-center font-1 mb-4">
Asset Directory: {{directory}}
{{$t('assets_dir')}}: {{directory}}
</h6>
<div v-if="loaded && !directory" class="jumbotron jumbotron-fluid">
<div class="text-center col-12">
<h1 class="display-5">Enable Local Assets</h1>
<span class="lead">Customize your status page design by enabling local assets. This will create a 'assets' directory containing all CSS.<p>
<h1 class="display-5">{{$t('enable_assets')}}</h1>
<span class="lead">{{$t('assets_desc')}}<p>
<button id="enable_assets" @click.prevent="createAssets" :disabled="pending" href="#" class="btn btn-primary mt-3">
<font-awesome-icon v-if="pending" icon="circle-notch" class="mr-2" spin/>{{pending ? "Creating Assets" : "Enable Local Assets"}}
<font-awesome-icon v-if="pending" icon="circle-notch" class="mr-2" spin/>{{pending ? $t('assets_loading') : $t('assets_btn')}}
</button>
</p></span>
</div>
@ -25,13 +25,13 @@
<h3>Variables</h3>
<codemirror v-show="loaded" v-model="vars" ref="vars" :options="cmOptions" class="codemirrorInput"/>
<h3 class="mt-3">Base Theme</h3>
<h3 class="mt-3">Base {{$t('theme')}}</h3>
<codemirror v-show="loaded" v-model="base" ref="base" :options="cmOptions" class="codemirrorInput"/>
<h3 class="mt-3">Layout Theme</h3>
<h3 class="mt-3">Layout {{$t('theme')}}</h3>
<codemirror v-show="loaded" v-model="layout" ref="layout" :options="cmOptions" class="codemirrorInput"/>
<h3 class="mt-3">Forms Theme</h3>
<h3 class="mt-3">Forms {{$t('theme')}}</h3>
<codemirror v-show="loaded" v-model="forms" ref="forms" :options="cmOptions" class="codemirrorInput"/>
<h3 class="mt-3">Mixins</h3>

View File

@ -4,12 +4,12 @@
<div class="card-header">Statping Settings</div>
<div class="card-body">
<div class="form-group">
<label>{{ $t('settings.name') }}</label>
<label>{{ $t('project_name') }}</label>
<input v-model="core.name" type="text" class="form-control" placeholder="Great Uptime" id="project">
</div>
<div class="form-group">
<label>{{ $t('settings.description') }}</label>
<label>{{ $t('description') }}</label>
<input v-model="core.description" type="text" class="form-control" placeholder="Great Uptime" id="description">
</div>
@ -19,8 +19,8 @@
<input v-model="core.domain" type="url" class="form-control" id="domain">
</div>
<div class="col-4 col-sm-3 mt-sm-1 mt-0">
<label class="d-inline d-sm-none">Enable CDN</label>
<label class="d-none d-sm-block">Enable CDN</label>
<label class="d-inline d-sm-none">{{$t('enable_cdn')}}</label>
<label class="d-none d-sm-block">{{$t('enable_cdn')}}</label>
<span @click="core.using_cdn = !!core.using_cdn" class="switch" id="using_cdn">
<input v-model="core.using_cdn" type="checkbox" name="using_cdn" class="switch" id="switch-normal" :checked="core.using_cdn">
<label for="switch-normal"></label>
@ -29,24 +29,28 @@
</div>
<div class="form-group">
<label>{{ $t('settings.footer') }}</label>
<label>{{ $t('footer') }}</label>
<textarea v-model="core.footer" rows="4" class="form-control" id="footer">{{core.footer}}</textarea>
<small class="form-text text-muted">{{ $t('settings.footer_notes') }}</small>
<small class="form-text text-muted">{{ $t('footer_notes') }}</small>
</div>
<div class="form-group">
<label>{{ $t('setup.language') }}</label>
<label>{{ $t('language') }}</label>
<select v-model="core.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="it">Italian</option>
<option value="ko">Korean</option>
<option value="zh">Chinese</option>
</select>
</div>
<div class="form-group row mt-3">
<label class="col-sm-10 col-form-label">{{ $t('settings.error_reporting') }}</label>
<label class="col-sm-10 col-form-label">{{ $t('send_reports') }}</label>
<div class="col-sm-2 float-right">
<span @click="core.allow_reports = !!core.allow_reports" class="switch" id="allow_report">
<input v-model="core.allow_reports" type="checkbox" name="allow_report" class="switch" id="switch_allow_report" :checked="core.allow_reports">
@ -54,14 +58,14 @@
</span>
</div>
<div class="col-12">
<small>{{ $t('settings.error_reporting_notes') }}</small>
<small>{{ $t('send_reports_desc') }}</small>
</div>
</div>
</div>
<div class="card-footer">
<button @click.prevent="saveSettings" id="save_core" type="submit" class="btn btn-primary btn-block" v-bind:disabled="loading">
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{ $t('settings.save') }}
<font-awesome-icon v-if="loading" icon="circle-notch" class="mr-2" spin/>{{ $t('save_settings') }}
</button>
</div>
</div>

View File

@ -1,6 +1,6 @@
<template>
<div class="card contain-card mb-3">
<div class="card-header">{{group.id ? `Update ${group.name}` : "Create Group"}}
<div class="card-header">{{group.id ? `${$t('update')} ${group.name}` : $t('group_create')}}
<transition name="slide-fade">
<button @click="removeEdit" v-if="group.id" class="btn float-right btn-danger btn-sm">
{{ $t('close') }}
@ -10,24 +10,24 @@
<form @submit.prevent="saveGroup">
<div class="form-group row">
<label for="title" class="col-sm-4 col-form-label">{{ $t('dashboard.group') }} {{ $t('dashboard.name') }}</label>
<label for="title" class="col-sm-4 col-form-label">{{ $t('group') }} {{ $t('name') }}</label>
<div class="col-sm-8">
<input v-model="group.name" type="text" class="form-control" id="title" placeholder="Group Name" required>
</div>
</div>
<div class="form-group row">
<label for="switch-group-public" class="col-sm-4 col-form-label text-capitalize">{{ $t('public') }} {{ $t('dashboard.group') }}</label>
<label for="switch-group-public" class="col-sm-4 col-form-label text-capitalize">{{ $t('public') }} {{ $t('group') }}</label>
<div class="col-md-8 col-xs-12 mt-1">
<span @click="group.public = !!group.public" class="switch float-left">
<input v-model="group.public" type="checkbox" class="switch" id="switch-group-public" :checked="group.public">
<label for="switch-group-public">Show group services to the public</label>
<label for="switch-group-public">{{$t('group_public_desc')}}</label>
</span>
</div>
</div>
<div class="form-group row">
<div class="col-sm-12">
<button @click.prevent="saveGroup" type="submit" :disabled="loading || group.name === ''" class="btn btn-block" :class="{'btn-primary': !group.id, 'btn-secondary': group.id}">
{{loading ? "Loading..." : group.id ? "Update Group" : "Create Group"}}
{{loading ? "Loading..." : group.id ? $t('group_update') : $t('group_create')}}
</button>
</div>
</div>

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="card contain-card mb-5">
<div class="card-header">{{message.id ? `Update ${message.title}` : "Create Announcement"}}
<div class="card-header">{{message.id ? `${$t('update')} ${message.title}` : $t('message_create')}}
<transition name="slide-fade">
<button @click="removeEdit" v-if="message.id" class="btn btn-sm float-right btn-danger btn-sm">
{{ $t('close') }}
@ -11,31 +11,31 @@
<div class="card-body">
<form @submit="saveMessage">
<div class="form-group row">
<label class="col-sm-4 col-form-label">{{ $t('dashboard.title') }}</label>
<label class="col-sm-4 col-form-label">{{ $t('title') }}</label>
<div class="col-sm-8">
<input v-model="message.title" type="text" name="title" class="form-control" id="title" placeholder="Announcement Title" required>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label">Description</label>
<label class="col-sm-4 col-form-label">{{ $t('description') }}</label>
<div class="col-sm-8">
<textarea v-model="message.description" rows="5" name="description" class="form-control" id="description" required></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label">Service</label>
<label class="col-sm-4 col-form-label">{{ $t('service') }}</label>
<div class="col-sm-8">
<select v-model="message.service" name="service_id" class="form-control">
<option v-bind:value="0">Global Announcement</option>
<option v-bind:value="0">{{ $t('global_announcement') }}</option>
<option v-for="service in $store.getters.services" :value="service.id" v-bind:key="service.id" >{{service.name}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label">Announcement Date Range</label>
<label class="col-sm-4 col-form-label">{{ $t('announcement_date') }}</label>
<div class="col-sm-4">
<flatPickr v-model="message.start_on" @on-change="startChange" :config="config" type="text" name="start_on" class="form-control form-control-plaintext" id="start_on" value="0001-01-01T00:00:00Z" required />
</div>
@ -45,41 +45,41 @@
</div>
<div v-show="this.service === null" class="form-group row">
<label for="service_id" class="col-sm-4 col-form-label">Service</label>
<label for="service_id" class="col-sm-4 col-form-label">{{ $t('service') }}</label>
<div class="col-sm-8">
<select v-model="message.service" class="form-control" name="service" id="service_id">
<option v-bind:value="0">Global Message</option>
<option v-bind:value="0">{{ $t('global_announcement') }}</option>
<option v-for="service in $store.getters.services" :value="service.id" v-bind:key="service.id">{{service.name}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="notify_method" class="col-sm-4 col-form-label">Notify Users</label>
<label for="notify_method" class="col-sm-4 col-form-label">{{ $t('notify_users') }}</label>
<div class="col-sm-8">
<span @click="message.notify = !!message.notify" class="switch">
<input v-model="message.notify" type="checkbox" class="switch" id="switch-normal">
<label for="switch-normal">Notify Users Before Scheduled Time</label>
<label for="switch-normal">{{ $t('notify_desc') }}</label>
</span>
</div>
</div>
<div v-if="message.notify" class="form-group row">
<label for="notify_method" class="col-sm-4 col-form-label">Notification Method</label>
<label for="notify_method" class="col-sm-4 col-form-label">{{ $t('notify_method') }}</label>
<div class="col-sm-8">
<input v-model="message.notify_method" type="text" name="notify_method" class="form-control" id="notify_method" value="" placeholder="email">
</div>
</div>
<div v-if="message.notify" class="form-group row">
<label for="notify_before" class="col-sm-4 col-form-label">Notify Before</label>
<label for="notify_before" class="col-sm-4 col-form-label">{{ $t('notify_before') }}</label>
<div class="col-sm-8">
<div class="form-inline">
<input v-model="message.notify_before" type="number" name="notify_before" class="col-4 form-control" id="notify_before">
<select v-model="message.notify_before_scale" class="ml-2 col-7 form-control" name="notify_before_scale" id="notify_before_scale">
<option value="minute">Minutes</option>
<option value="hour">Hours</option>
<option value="day">Days</option>
<option value="minute">{{ $t('minutes') }}</option>
<option value="hour">{{ $t('hours') }}</option>
<option value="day">{{ $t('days') }}</option>
</select>
</div>
</div>
@ -90,7 +90,7 @@
<button @click="saveMessage"
:disabled="!message.title || !message.description"
type="submit" class="btn btn-block" :class="{'btn-primary': !message.id, 'btn-secondary': message.id}">
{{message.id ? "Edit Message" : "Create Message"}}
{{message.id ? $t('message_edit') : $t('message_create')}}
</button>
</div>
</div>

View File

@ -1,6 +1,6 @@
<template>
<div class="card contain-card mb-3">
<div class="card-header"> {{user.id ? `Update ${user.username}` : "Create User"}}
<div class="card-header"> {{user.id ? `${$t('update')} ${user.username}` : $t('user_create')}}
<transition name="slide-fade">
<button @click.prevent="removeEdit" v-if="user.id" class="btn btn-sm float-right btn-danger btn-sm">Close</button>
</transition>
@ -8,31 +8,31 @@
<div class="card-body">
<form @submit="saveUser">
<div class="form-group row">
<label class="col-sm-4 col-form-label">Username</label>
<label class="col-sm-4 col-form-label">{{$t('username')}}</label>
<div class="col-6 col-md-4">
<input v-model="user.username" type="text" class="form-control" id="username" placeholder="Username" required autocorrect="off" autocapitalize="none" v-bind:readonly="user.id">
</div>
<div class="col-6 col-md-4">
<span id="admin_switch" @click="user.admin = !!user.admin" class="switch">
<input v-model="user.admin" type="checkbox" class="switch" id="user_admin_switch" v-bind:checked="user.admin">
<label for="user_admin_switch">Administrator</label>
<label for="user_admin_switch">{{$t('administrator')}}</label>
</span>
</div>
</div>
<div class="form-group row">
<label for="email" class="col-sm-4 col-form-label">Email Address</label>
<label for="email" class="col-sm-4 col-form-label">{{$t('email')}}</label>
<div class="col-sm-8">
<input v-model="user.email" type="email" class="form-control" id="email" placeholder="user@domain.com" required autocapitalize="none" spellcheck="false">
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label">Password</label>
<label class="col-sm-4 col-form-label">{{$t('password')}}</label>
<div class="col-sm-8">
<input v-model="user.password" type="password" id="password" class="form-control" placeholder="Password" required>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label">Confirm Password</label>
<label class="col-sm-4 col-form-label">{{$t('confirm_password')}}</label>
<div class="col-sm-8">
<input v-model="user.confirm_password" type="password" id="password_confirm" class="form-control" placeholder="Confirm Password" required>
</div>
@ -54,7 +54,7 @@
class="btn-primary"
:disabled="loading || !user.username || !user.email || !user.password || !user.confirm_password || (user.password !== user.confirm_password)"
:action="saveUser"
:label="user.id ? 'Update User' : 'Create User'"
:label="user.id ? $t('user_update'): $t('user_create')"
/>
</div>
</div>

View File

@ -16,10 +16,15 @@ const chinese = {
uptime: "正常运行时间",
name: "名称",
copy: "复制",
close: "关",
secret: "秘密",
regen_api: "重新生成 API 密钥",
regen_desc: "API 密码用于读取创建更新和删除路由。如果需要,您可以重新生成 API 密钥。",
visibility: "可见性",
group: "小组",
group_create: "创建组",
group_update: "更新组",
group_public_desc: "向公众显示群组服务",
groups: "组",
no_group: "无组",
public: "公共",
@ -30,14 +35,19 @@ const chinese = {
help: "帮助",
type: "类型",
edit: "编辑",
update: "更新",
create: "创建",
view: "查看",
save: "保存",
title: "标题",
status: "状态",
begins: "开始",
total_services: "服务总数",
online_services: "在线服务",
request_timeout: "请求超时",
service_never_online: "服务从未在线",
service_online_check: "在线检查",
service_offline_time: "服务已脱机",
days_ago: "天前",
today: "今天",
failures_24_hours: "过去 24 小时失败",
@ -60,9 +70,11 @@ const chinese = {
db_password: "数据库口令",
db_database: "数据库名称",
send_reports: "发送错误报告",
send_reports_desc: "将错误发送到 “状态” 以进行调试",
project_name: "状态页面名称",
description: "说明",
domain: "域",
enable_cdn: "启用 CDN",
newsletter: "新闻通讯",
newsletter_note: "我们只会向您发送重大变更的电子邮件",
loading: "正在加载",
@ -70,8 +82,35 @@ const chinese = {
average_response: "平均响应",
last_uptime: "上次正常运行时间",
sign_in: "登录",
last_login: "上次登录",
admin: "管理员",
user: "用户",
failed: "失败",
wrong_login: "用户名或密码不正确"
wrong_login: "用户名或密码不正确",
theme_editor: "主题编辑器",
enable_assets: "启用本地资产",
assets_desc: "通过启用本地资产自定义状态页面设计。这将创建一个包含所有 CSS 的 “资产” 目录。",
assets_btn: "启用本地资产",
assets_loading: "创建资产",
assets_dir: "资产目录",
footer: "页脚",
footer_notes: "您可以在页脚中使用 HTML 标签",
global_announcement: "全球公告",
announcement_date: "公告日期范围",
notify_users: "通知用户",
notify_desc: "在计划时间之前通知用户",
notify_method: "通知方法",
notify_before: "之前通知",
message_create: "创建公告",
message_edit: "编辑公告",
minutes: "分钟",
hours: "小时数",
days: "天数",
user_create: "创建用户",
user_update: "更新用户",
administrator: "管理员",
checkins: "车臣金斯",
incidents: "事件"
}
export default chinese

View File

@ -16,10 +16,15 @@ confirm_password,Confirm Password
uptime,Uptime
name,Name
copy,Copy
close,Close
secret,Secret
regen_api,Regenerate API Keys
regen_desc,API Secret is used for read create update and delete routes. You can Regenerate API Keys if you need to.
visibility,Visibility
group,Group
group_create,Create Group
group_update,Update Group
group_public_desc,Show group services to the public
groups,Groups
no_group,No Group
public,Public
@ -30,14 +35,19 @@ logs,Logs
help,Help
type,Type
edit,Edit
update,Update
create,Create
view,View
save,Save
title,Title
status,Status
begins,Begins
total_services,Total Services
online_services,Online Services
request_timeout,Request Timeout
service_never_online,Service has never been online
service_online_check,Online checked
service_offline_time,Service has been offline for
days_ago,Days Ago
today,Today
failures_24_hours,Failures last 24 hours
@ -60,9 +70,11 @@ db_username,Database Username
db_password,Database Password
db_database,Database Name
send_reports,Send Error Reports
send_reports_desc,Send errors to Statping for debugging
project_name,Status Page Name
description,Description
domain,Domain
enable_cdn,Enable CDN
newsletter,Newsletter
newsletter_note,We will only send you an email for major changes
loading,Loading
@ -70,5 +82,32 @@ save_settings,Save Settings
average_response,Average Response
last_uptime,Uptime last
sign_in,Sign In
last_login,Last Login
admin,Admin
user,User
failed,Failed
wrong_login,Incorrect username or password
theme_editor,Theme Editor
enable_assets,Enable Local Assets
assets_desc,Customize your status page design by enabling local assets. This will create a 'assets' directory containing all CSS.
assets_btn,Enable Local Assets
assets_loading,Creating Assets
assets_dir,Assets Directory
footer,Footer
footer_notes,You can use HTML tags in footer
global_announcement,Global Announcement
announcement_date,Announcement Date Range
notify_users,Notify Users
notify_desc,Notify Users Before Scheduled Time
notify_method,Notification Method
notify_before,Notify Before
message_create,Create Announcement
message_edit,Edit Announcement
minutes,Minutes
hours,Hours
days,Days
user_create,Create User
user_update,Update User
administrator,Administrator
checkins,Checkins
incidents,Incidents

1 key en
16 uptime Uptime
17 name Name
18 copy Copy
19 close Close
20 secret Secret
21 regen_api Regenerate API Keys
22 regen_desc API Secret is used for read create update and delete routes. You can Regenerate API Keys if you need to.
23 visibility Visibility
24 group Group
25 group_create Create Group
26 group_update Update Group
27 group_public_desc Show group services to the public
28 groups Groups
29 no_group No Group
30 public Public
35 help Help
36 type Type
37 edit Edit
38 update Update
39 create Create
40 view View
41 save Save
42 title Title
43 status Status
44 begins Begins
45 total_services Total Services
46 online_services Online Services
47 request_timeout Request Timeout
48 service_never_online Service has never been online
49 service_online_check Online checked
50 service_offline_time Service has been offline for
51 days_ago Days Ago
52 today Today
53 failures_24_hours Failures last 24 hours
70 db_password Database Password
71 db_database Database Name
72 send_reports Send Error Reports
73 send_reports_desc Send errors to Statping for debugging
74 project_name Status Page Name
75 description Description
76 domain Domain
77 enable_cdn Enable CDN
78 newsletter Newsletter
79 newsletter_note We will only send you an email for major changes
80 loading Loading
82 average_response Average Response
83 last_uptime Uptime last
84 sign_in Sign In
85 last_login Last Login
86 admin Admin
87 user User
88 failed Failed
89 wrong_login Incorrect username or password
90 theme_editor Theme Editor
91 enable_assets Enable Local Assets
92 assets_desc Customize your status page design by enabling local assets. This will create a 'assets' directory containing all CSS.
93 assets_btn Enable Local Assets
94 assets_loading Creating Assets
95 assets_dir Assets Directory
96 footer Footer
97 footer_notes You can use HTML tags in footer
98 global_announcement Global Announcement
99 announcement_date Announcement Date Range
100 notify_users Notify Users
101 notify_desc Notify Users Before Scheduled Time
102 notify_method Notification Method
103 notify_before Notify Before
104 message_create Create Announcement
105 message_edit Edit Announcement
106 minutes Minutes
107 hours Hours
108 days Days
109 user_create Create User
110 user_update Update User
111 administrator Administrator
112 checkins Checkins
113 incidents Incidents

View File

@ -16,10 +16,15 @@ const english = {
uptime: "Uptime",
name: "Name",
copy: "Copy",
close: "Close",
secret: "Secret",
regen_api: "Regenerate API Keys",
regen_desc: "API Secret is used for read create update and delete routes. You can Regenerate API Keys if you need to.",
visibility: "Visibility",
group: "Group",
group_create: "Create Group",
group_update: "Update Group",
group_public_desc: "Show group services to the public",
groups: "Groups",
no_group: "No Group",
public: "Public",
@ -30,14 +35,19 @@ const english = {
help: "Help",
type: "Type",
edit: "Edit",
update: "Update",
create: "Create",
view: "View",
save: "Save",
title: "Title",
status: "Status",
begins: "Begins",
total_services: "Total Services",
online_services: "Online Services",
request_timeout: "Request Timeout",
service_never_online: "Service has never been online",
service_online_check: "Online checked",
service_offline_time: "Service has been offline for",
days_ago: "Days Ago",
today: "Today",
failures_24_hours: "Failures last 24 hours",
@ -60,9 +70,11 @@ const english = {
db_password: "Database Password",
db_database: "Database Name",
send_reports: "Send Error Reports",
send_reports_desc: "Send errors to Statping for debugging",
project_name: "Status Page Name",
description: "Description",
domain: "Domain",
enable_cdn: "Enable CDN",
newsletter: "Newsletter",
newsletter_note: "We will only send you an email for major changes",
loading: "Loading",
@ -70,8 +82,35 @@ const english = {
average_response: "Average Response",
last_uptime: "Uptime last",
sign_in: "Sign In",
last_login: "Last Login",
admin: "Admin",
user: "User",
failed: "Failed",
wrong_login: "Incorrect username or password"
wrong_login: "Incorrect username or password",
theme_editor: "Theme Editor",
enable_assets: "Enable Local Assets",
assets_desc: "Customize your status page design by enabling local assets. This will create a 'assets' directory containing all CSS.",
assets_btn: "Enable Local Assets",
assets_loading: "Creating Assets",
assets_dir: "Assets Directory",
footer: "Footer",
footer_notes: "You can use HTML tags in footer",
global_announcement: "Global Announcement",
announcement_date: "Announcement Date Range",
notify_users: "Notify Users",
notify_desc: "Notify Users Before Scheduled Time",
notify_method: "Notification Method",
notify_before: "Notify Before",
message_create: "Create Announcement",
message_edit: "Edit Announcement",
minutes: "Minutes",
hours: "Hours",
days: "Days",
user_create: "Create User",
user_update: "Update User",
administrator: "Administrator",
checkins: "Checkins",
incidents: "Incidents"
}
export default english

View File

@ -16,10 +16,15 @@ const french = {
uptime: "Temps de disponibilité",
name: "Nom",
copy: "Copie",
close: "Fermer",
secret: "Secret",
regen_api: "Régénérer les clés d'API",
regen_desc: "API Secret est utilisé pour lire créer des routes de mise à jour et de suppression. Vous pouvez Régénérer les clés d'API si vous en avez besoin.",
visibility: "Visibilité",
group: "Groupe",
group_create: "Créer un groupe",
group_update: "Groupe Mettre à jour",
group_public_desc: "Afficher les services de groupe au public",
groups: "Groupes",
no_group: "Pas de groupe",
public: "Publique",
@ -30,14 +35,19 @@ const french = {
help: "Aider",
type: "Type",
edit: "Éditer",
update: "Mise à jour",
create: "Créer",
view: "Voir",
save: "Sauvegarder",
title: "Titre",
status: "Statut",
begins: "Commence",
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",
service_online_check: "Vérifié en ligne",
service_offline_time: "Le service a été hors ligne pour",
days_ago: "Il y a jours",
today: "Aujourd'hui",
failures_24_hours: "Les échecs durent 24 heures",
@ -60,9 +70,11 @@ const french = {
db_password: "Mot de passe",
db_database: "Nom de la base",
send_reports: "Envoyer des rapports d'erreurs",
send_reports_desc: "Envoyer des erreurs à Statping pour le débogage",
project_name: "Nom de la page d'état",
description: "Description",
domain: "Domaine",
enable_cdn: "Activer le CDN",
newsletter: "Bulletin",
newsletter_note: "Nous ne vous enverrons qu'un e-mail pour les modifications majeures",
loading: "Chargement",
@ -70,8 +82,35 @@ const french = {
average_response: "Réponse moyenne",
last_uptime: "Temps de disponibilité dernier",
sign_in: "Se connecter",
last_login: "Dernière connexion",
admin: "Admin",
user: "Utilisateur",
failed: "Échec",
wrong_login: "Nom d'utilisateur ou mot de passe"
wrong_login: "Nom d'utilisateur ou mot de passe",
theme_editor: "Editeur de thème",
enable_assets: "Activer les actifs locaux",
assets_desc: "Personnalisez la conception de votre page d'état en activant les ressources locales. Cela va créer un répertoire 'assets' contenant tous les CSS.",
assets_btn: "Activer les actifs locaux",
assets_loading: "Création d'actifs",
assets_dir: "Répertoire des actifs",
footer: "Pied de page",
footer_notes: "Vous pouvez utiliser des balises HTML dans le pied de page",
global_announcement: "Annonce mondiale",
announcement_date: "Fourchette de dates d'annonce",
notify_users: "Aviser les utilisateurs",
notify_desc: "Avertir les utilisateurs avant l'heure prévue",
notify_method: "Méthode de notification",
notify_before: "Avertir avant",
message_create: "Créer une annonce",
message_edit: "Modifier l'annonce",
minutes: "Procès-Verbal",
hours: "Heures",
days: "Jours",
user_create: "Créer un utilisateur",
user_update: "Mise à jour utilisateur",
administrator: "Administrateur",
checkins: "Checkins",
incidents: "Incidents"
}
export default french

View File

@ -16,10 +16,15 @@ const german = {
uptime: "Betriebszeit",
name: "Name",
copy: "Kopie",
close: "Schließen",
secret: "Geheimnis",
regen_api: "API-Schlüssel neu generieren",
regen_desc: "API Secret wird für Lesen erstellen Update und Löschen Routen verwendet. Sie können API-Schlüssel bei Bedarf neu generieren.",
visibility: "Sichtbarkeit",
group: "Gruppe",
group_create: "Gruppe erstellen",
group_update: "Gruppe aktualisieren",
group_public_desc: "Gruppendienste für die Öffentlichkeit anzeigen",
groups: "Gruppen",
no_group: "Keine Gruppe",
public: "Öffentlichkeit",
@ -30,14 +35,19 @@ const german = {
help: "Helfen",
type: "Typ",
edit: "Bearbeiten",
update: "Update",
create: "Schaffen",
view: "Ansicht",
save: "sparen",
title: "Titel",
status: "Status",
begins: "Beginnt",
total_services: "Dienstleistungen insgesamt",
online_services: "Online-Dienste",
request_timeout: "Zeitüberschreitung anfordern",
service_never_online: "Service war noch nie online",
service_online_check: "Online geprüft",
service_offline_time: "Dienst war offline für",
days_ago: "Vor Tagen",
today: "Heute",
failures_24_hours: "Ausfälle dauern 24 Stunden",
@ -60,9 +70,11 @@ const german = {
db_password: "Datenbank-Kennwort",
db_database: "Name der Datenbank",
send_reports: "Fehlerberichte senden",
send_reports_desc: "Fehler zum Debuggen an Statping senden",
project_name: "Name der Seite „Status“",
description: "Beschreibung",
domain: "Domäne",
enable_cdn: "CDN aktivieren",
newsletter: "Newsletter",
newsletter_note: "Wir senden Ihnen nur eine E-Mail für größere Änderungen",
loading: "Laden",
@ -70,8 +82,35 @@ const german = {
average_response: "Durchschnittliche Antwort",
last_uptime: "Betriebszeit zuletzt",
sign_in: "Anmelden",
last_login: "Letzte Anmeldung",
admin: "Admin",
user: "Benutzer",
failed: "Fehlgeschlagen",
wrong_login: "Falscher Benutzername oder Passwort"
wrong_login: "Falscher Benutzername oder Passwort",
theme_editor: "Theme-Editor",
enable_assets: "Lokale Assets aktivieren",
assets_desc: "Passen Sie das Design Ihrer Statusseite an, indem Sie lokale Elemente aktivieren. Dadurch wird ein Verzeichnis „Assets“ erstellt, das alle CSS enthält.",
assets_btn: "Lokale Assets aktivieren",
assets_loading: "Erstellen von Assets",
assets_dir: "Assets Verzeichnis",
footer: "Fußzeile",
footer_notes: "Sie können HTML-Tags in der Fußzeile verwenden",
global_announcement: "Globale Ankündigung",
announcement_date: "Datumsbereich für Ankündigung",
notify_users: "Benutzer benachrichtigen",
notify_desc: "Benutzer vor geplanter Zeit benachrichtigen",
notify_method: "Benachrichtigungsmethode",
notify_before: "Vor benachrichtigen",
message_create: "Ankündigung erstellen",
message_edit: "Ankündigung bearbeiten",
minutes: "Protokoll",
hours: "Stunden",
days: "Tage",
user_create: "Benutzer erstellen",
user_update: "Benutzer aktualisieren",
administrator: "Administrator",
checkins: "Checkins",
incidents: "Vorfälle"
}
export default german

View File

@ -16,10 +16,15 @@ const italian = {
uptime: "Tempi di attività",
name: "Nome",
copy: "Copia",
close: "Vicino",
secret: "Segreto",
regen_api: "Rigenera chiavi API",
regen_desc: "API Secret viene utilizzato per leggere creare aggiornamento ed eliminare route. Se necessario, è possibile rigenerare le chiavi API.",
visibility: "Visibilità",
group: "Gruppo",
group_create: "Crea gruppo",
group_update: "Aggiorna gruppo",
group_public_desc: "Mostra i servizi di gruppo al pubblico",
groups: "Gruppi",
no_group: "Nessun gruppo",
public: "Pubblico",
@ -30,14 +35,19 @@ const italian = {
help: "Guida",
type: "Tipo",
edit: "Modifica",
update: "Aggiorna",
create: "Crea",
view: "Visualizza",
save: "Salvare",
title: "Titolo",
status: "Stato",
begins: "Inizia",
total_services: "Totale servizi",
online_services: "Servizi online",
request_timeout: "Timeout richiesta",
service_never_online: "Il servizio non è mai stato online",
service_online_check: "Controllato online",
service_offline_time: "Il servizio è stato offline per",
days_ago: "Giorni fa",
today: "Oggi",
failures_24_hours: "Errori nelle ultime 24 ore",
@ -60,9 +70,11 @@ const italian = {
db_password: "Password del database",
db_database: "Nome database",
send_reports: "Invia segnalazioni errori",
send_reports_desc: "Invia errori a Statping per il debug",
project_name: "Nome pagina di stato",
description: "Descrizione",
domain: "Dominio",
enable_cdn: "Abilita CDN",
newsletter: "Bollettino",
newsletter_note: "Ti invieremo solo una e-mail per le modifiche più importanti",
loading: "Caricamento",
@ -70,8 +82,35 @@ const italian = {
average_response: "Risposta media",
last_uptime: "Ultimo tempo di attività",
sign_in: "Accedi",
last_login: "Ultimo Login",
admin: "Amministratore",
user: "Utente",
failed: "Non riuscito",
wrong_login: "Nome utente o password non corretti"
wrong_login: "Nome utente o password non corretti",
theme_editor: "Editor tema",
enable_assets: "Abilita risorse locali",
assets_desc: "Personalizza la progettazione della pagina di stato abilitando le risorse locali. Questo creerà una directory 'asset' contenente tutti i CSS.",
assets_btn: "Abilita risorse locali",
assets_loading: "Creazione di risorse",
assets_dir: "Directory delle risorse",
footer: "Piè di pagina",
footer_notes: "È possibile utilizzare i tag HTML nel piè di pagina",
global_announcement: "Annuncio globale",
announcement_date: "Intervallo di date di annuncio",
notify_users: "Notify agli utenti",
notify_desc: "Notifichi agli utenti prima dell'ora pianific",
notify_method: "Metodo di notifica",
notify_before: "Notifichi prima",
message_create: "Crea annuncio",
message_edit: "Modifica annuncio",
minutes: "Minuti",
hours: "Ore",
days: "Giorni",
user_create: "Crea utente",
user_update: "Aggiorna utente",
administrator: "Amministratore",
checkins: "Check-ins",
incidents: "Incidenti"
}
export default italian

View File

@ -16,10 +16,15 @@ const japanese = {
uptime: "稼働時間",
name: "氏名",
copy: "コピー",
close: "閉じる",
secret: "秘密",
regen_api: "API キーの再生成",
regen_desc: "APIシークレットは、ルート作成の更新と削除の読み込みに使用されます。必要に応じて、API キーを再生成できます。",
visibility: "可視性",
group: "グループ",
group_create: "[グループを作成]",
group_update: "[グループを更新]",
group_public_desc: "グループサービスを一般公開する",
groups: "グループ",
no_group: "グループなし",
public: "パブリック",
@ -30,14 +35,19 @@ const japanese = {
help: "ヘルプ",
type: "タイプ",
edit: "編集",
update: "更新",
create: "作成",
view: "ビュー",
save: "保存する",
title: "タイトル",
status: "ステータス",
begins: "開始する",
total_services: "トータルサービス",
online_services: "オンラインサービス",
request_timeout: "リクエストのタイムアウト",
service_never_online: "サービスがオンラインになったことがない",
service_online_check: "オンラインチェック済み",
service_offline_time: "のサービスがオフラインになりました",
days_ago: "日前",
today: "今日",
failures_24_hours: "過去 24 時間の障害",
@ -60,9 +70,11 @@ const japanese = {
db_password: "データベースパスワード",
db_database: "データベース名",
send_reports: "エラーレポートを送信",
send_reports_desc: "デバッグのためにエラーを Statping に送信する",
project_name: "ステータスページ名",
description: "説明",
domain: "ドメイン",
enable_cdn: "CDN を有効にする",
newsletter: "ニュースレター",
newsletter_note: "大きな変更についてのみメールをお送りします",
loading: "ロード中",
@ -70,8 +82,35 @@ const japanese = {
average_response: "平均応答",
last_uptime: "稼働時間最後",
sign_in: "サインイン",
last_login: "最終ログイン",
admin: "管理者",
user: "ユーザー",
failed: "失敗しました",
wrong_login: "ユーザー名またはパスワードが正しくありません"
wrong_login: "ユーザー名またはパスワードが正しくありません",
theme_editor: "テーマ・エディター",
enable_assets: "ローカルアセットを有効にする",
assets_desc: "ローカルアセットを有効にして、ステータスページのデザインをカスタマイズします。これにより、すべてのCSSを含む「assets」ディレクトリが作成されます。",
assets_btn: "ローカルアセットを有効にする",
assets_loading: "アセットの作成",
assets_dir: "アセットディレクトリ",
footer: "フッター",
footer_notes: "あなたはフッターにHTMLタグを使用することができます",
global_announcement: "グローバル発表",
announcement_date: "発表日の範囲",
notify_users: "ユーザーに通知",
notify_desc: "スケジュールされた時間前にユーザーに通知する",
notify_method: "通知方法",
notify_before: "前に通知する",
message_create: "アナウンスの作成",
message_edit: "アナウンスの編集",
minutes: "分単位",
hours: "時間",
days: "日数",
user_create: "ユーザーの作成",
user_update: "ユーザーの更新",
administrator: "管理者",
checkins: "チェックイン",
incidents: "事変"
}
export default japanese

View File

@ -16,10 +16,15 @@ const korean = {
uptime: "가동 시간",
name: "이름",
copy: "복사",
close: "닫기",
secret: "비밀",
regen_api: "API 키 재생성",
regen_desc: "API 비밀은 읽기 생성 업데이트 및 삭제 경로를 위해 사용됩니다.필요한 경우 API 키를 재생성할 수 있습니다.",
visibility: "가시성",
group: "그룹",
group_create: "그룹 만들기",
group_update: "그룹 업데이트",
group_public_desc: "일반인에게 그룹 서비스 표시",
groups: "그룹",
no_group: "그룹 없음",
public: "공공",
@ -30,14 +35,19 @@ const korean = {
help: "도움말",
type: "유형",
edit: "편집",
update: "업데이트",
create: "만들기",
view: "보기",
save: "저장",
title: "제목",
status: "상태",
begins: "시작",
total_services: "총 서비스",
online_services: "온라인 서비스",
request_timeout: "요청 시간 초과",
service_never_online: "서비스는 온라인 적이 없습니다",
service_online_check: "온라인 확인",
service_offline_time: "서비스가 에 대해 오프라인되었습니다.",
days_ago: "일 전",
today: "오늘",
failures_24_hours: "지난 24시간 동안 장애 발생",
@ -60,9 +70,11 @@ const korean = {
db_password: "데이터베이스 암호",
db_database: "데이터베이스 이름",
send_reports: "오류 보고서 보내기",
send_reports_desc: "디버깅을 위해 스태핑에 오류 보내기",
project_name: "상태 페이지 이름",
description: "설명",
domain: "도메인",
enable_cdn: "CDN 사용",
newsletter: "신제품",
newsletter_note: "주요 변경 사항에 대한 이메일만 보내드립니다.",
loading: "로드 중",
@ -70,8 +82,35 @@ const korean = {
average_response: "평균 응답",
last_uptime: "마지막 가동 시간",
sign_in: "로그인",
last_login: "마지막 로그인",
admin: "관리자",
user: "사용자",
failed: "실패",
wrong_login: "잘못된 사용자 이름 또는 암호"
wrong_login: "잘못된 사용자 이름 또는 암호",
theme_editor: "테마 편집기",
enable_assets: "로컬 자산 활성화",
assets_desc: "로컬 자산을 활성화하여 상태 페이지 디자인을 사용자 지정할 수 있습니다.이렇게하면 모든 CSS를 포함하는 '자산'디렉토리가 만들어집니다.",
assets_btn: "로컬 자산 활성화",
assets_loading: "자산 생성",
assets_dir: "자산 디렉토리",
footer: "바닥글",
footer_notes: "당신은 바닥 글에 HTML 태그를 사용할 수 있습니다",
global_announcement: "글로벌 발표",
announcement_date: "발표 날짜 범위",
notify_users: "사용자에게 알림",
notify_desc: "예약된 시간 전에 사용자에게 알림",
notify_method: "통지 방법",
notify_before: "다음 전에 알림",
message_create: "공지사항 만들기",
message_edit: "공지사항 편집",
minutes: "몇 분",
hours: "영업 시간",
days: "일 수",
user_create: "사용자 생성",
user_update: "사용자 업데이트",
administrator: "관리자",
checkins: "체크인",
incidents: "인시던트"
}
export default korean

View File

@ -16,10 +16,15 @@ const russian = {
uptime: "Время бесперебойной работы",
name: "Имя",
copy: "Копия",
close: "Закрыть",
secret: "Секрет",
regen_api: "Регенерация ключей API",
regen_desc: "API Secret используется для чтения создания обновлений и удаления маршрутов. Вы можете регенерировать ключи API, если вам нужно.",
visibility: "Видимость",
group: "Группы",
group_create: "Создать группу",
group_update: "Обновить группу",
group_public_desc: "Показать групповые услуги публике",
groups: "Группы",
no_group: "Нет группы",
public: "Общественный",
@ -30,14 +35,19 @@ const russian = {
help: "Помогите",
type: "Тип",
edit: "Редактировать",
update: "Обновить",
create: "Создайте",
view: "Посмотреть",
save: "Сохранить",
title: "Название",
status: "положению",
begins: "Начинается",
total_services: "Всего услуг",
online_services: "Онлайн-сервисы",
request_timeout: "Тайм-аут запроса",
service_never_online: "Сервис никогда не был в сети",
service_online_check: "Проверено онлайн",
service_offline_time: "Служба была отключена для",
days_ago: "Дней назад",
today: "Сегодня",
failures_24_hours: "Сбои за 24 часа",
@ -60,9 +70,11 @@ const russian = {
db_password: "Пароль базы данных",
db_database: "Имя базы данных",
send_reports: "Отправка отчетов об ошибках",
send_reports_desc: "Отправить ошибки в Statping для отладки",
project_name: "Имя страницы состояния",
description: "Описание",
domain: "Домен",
enable_cdn: "Включить CDN",
newsletter: "Информационный бюллетень",
newsletter_note: "Мы отправим вам только сообщение по электронной почте для серьезных изменений",
loading: "Загрузка",
@ -70,8 +82,35 @@ const russian = {
average_response: "Средний ответ",
last_uptime: "Время безотказной работы",
sign_in: "Войти",
last_login: "Последний вход",
admin: "Администратор",
user: "Пользователя",
failed: "Не удалось",
wrong_login: "Неверное имя пользователя или пароль"
wrong_login: "Неверное имя пользователя или пароль",
theme_editor: "Редактор тем",
enable_assets: "Включить локальные ресурсы",
assets_desc: "Настройте дизайн страницы состояния, включив локальные ресурсы. Это создаст каталог 'assets', содержащий все CSS.",
assets_btn: "Включить локальные ресурсы",
assets_loading: "Создание компонентов",
assets_dir: "Каталог активов",
footer: "Подколонтитул",
footer_notes: "Вы можете использовать HTML-теги в нижнем колонтитуле",
global_announcement: "Глобальное объявление",
announcement_date: "Диапазон дат объявления",
notify_users: "Уведомлять пользователей",
notify_desc: "Уведомлять пользователей до запланированного времени",
notify_method: "Способ уведомления",
notify_before: "Уведомить до",
message_create: "Создать объявление",
message_edit: "Редактировать объявление",
minutes: "Минуты",
hours: "Часы",
days: "Дни",
user_create: "Создать пользователя",
user_update: "Обновить пользователя",
administrator: "Администратора",
checkins: "Чеккинс",
incidents: "Инциденты"
}
export default russian

View File

@ -16,10 +16,15 @@ const spanish = {
uptime: "Tiempo de actividad",
name: "Nombre",
copy: "Copia",
close: "Cerrar",
secret: "Secreto",
regen_api: "Regenerar claves de API",
regen_desc: "API Secret se utiliza para leer crear actualizaciones y eliminar rutas. Puede regenerar claves de API si lo necesita.",
visibility: "Visibilidad",
group: "Grupo",
group_create: "Crear grupo",
group_update: "Actualizar grupo",
group_public_desc: "Mostrar servicios de grupo al público",
groups: "Grupos",
no_group: "Ningún grupo",
public: "Público",
@ -30,14 +35,19 @@ const spanish = {
help: "Ayudar",
type: "Tipo",
edit: "Editar",
update: "Actualizar",
create: "Crear",
view: "Ver",
save: "Guardar",
title: "Título",
status: "Estado",
begins: "Comienza",
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",
service_online_check: "Verificado en línea",
service_offline_time: "El servicio ha estado desconectado para",
days_ago: "Hace días",
today: "Hoy",
failures_24_hours: "Fallos de las últimas 24 horas",
@ -60,9 +70,11 @@ const spanish = {
db_password: "Contraseña",
db_database: "Nombre de la base",
send_reports: "Enviar informes de errores",
send_reports_desc: "Enviar errores a Statping para la depuración",
project_name: "Nombre de página de estado",
description: "Descripción",
domain: "Dominio",
enable_cdn: "Habilitar CDN",
newsletter: "Newsletter",
newsletter_note: "Sólo le enviaremos un correo electrónico para cambios importantes",
loading: "Cargando",
@ -70,8 +82,35 @@ const spanish = {
average_response: "Respuesta media",
last_uptime: "Tiempo de actividad último",
sign_in: "Iniciar sesión",
last_login: "Último Login",
admin: "Admin",
user: "Usuario",
failed: "Falló",
wrong_login: "Nombre de usuario o contraseña incorrectos"
wrong_login: "Nombre de usuario o contraseña incorrectos",
theme_editor: "Editor de temas",
enable_assets: "Habilitar activos locales",
assets_desc: "Personalice el diseño de la página de estado habilitando los activos locales. Esto creará un directorio de 'activos' que contiene todos los CSS.",
assets_btn: "Habilitar activos locales",
assets_loading: "Creación de Activos",
assets_dir: "Directorio de activos",
footer: "Pie de página",
footer_notes: "Puede usar etiquetas HTML en pie de página",
global_announcement: "Anuncio global",
announcement_date: "Rango de fechas del anuncio",
notify_users: "Notificar a usuarios",
notify_desc: "Notificar a los usuarios antes del horario programado",
notify_method: "Método de notificación",
notify_before: "Notificar antes",
message_create: "Crear anuncio",
message_edit: "Editar anuncio",
minutes: "Acta",
hours: "Horas",
days: "Días",
user_create: "Crear usuario",
user_update: "Actualizar usuario",
administrator: "Administrador",
checkins: "Checkins",
incidents: "Incidentes"
}
export default spanish

View File

@ -103,7 +103,7 @@ export default Vue.mixin({
},
smallText(s) {
if (s.online) {
return `Online, checked ${this.ago(s.last_success)} ago`
return `${this.$t('service_online_check')} ${this.ago(s.last_success)} ago`
} else {
const last = s.last_failure
if (last) {
@ -112,7 +112,7 @@ export default Vue.mixin({
if (this.isZero(s.last_success)) {
return this.$t('service_never_online')
}
return `Service has been offline for ${this.ago(s.last_success)}`
return `${this.$t('service_offline_time')} ${this.ago(s.last_success)}`
}
},
round_time(frame, val) {

View File

@ -85,8 +85,7 @@
<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>
<small class="form-text text-muted">You can Regenerate API Keys if you need to.</small>
<small class="form-text text-muted">{{$t('regen_desc')}}</small>
</div>
</div>

View File

@ -106,7 +106,7 @@ func main() {
line++
}
CreateGo(translations)
//CreateGo(translations)
CreateJS("english", translations)
CreateJS("russian", translations)