diff --git a/src/components/Feature/src/FeatureList.vue b/src/components/Feature/src/FeatureList.vue
index 0f0369a9..1d8eebf9 100644
--- a/src/components/Feature/src/FeatureList.vue
+++ b/src/components/Feature/src/FeatureList.vue
@@ -7,7 +7,7 @@
class="ob-gradient-plate opacity-90 relative z-10 bg-ob-deep-900 rounded-2xl flex justify-start items-end px-6 pb-10 shadow-md"
>
-
EDITOR'S SELECTION
+ {{ t('home.editor_selection') }}
{{ t('home.recommended') }}
diff --git a/src/components/Header/src/Controls.vue b/src/components/Header/src/Controls.vue
index cd246d9a..94656dac 100644
--- a/src/components/Header/src/Controls.vue
+++ b/src/components/Header/src/Controls.vue
@@ -37,11 +37,15 @@
简体
繁體
En
+ Es
English
+
+ Español
+
简体
diff --git a/src/components/MobileMenu.vue b/src/components/MobileMenu.vue
index 607727f3..4045be91 100644
--- a/src/components/MobileMenu.vue
+++ b/src/components/MobileMenu.vue
@@ -79,6 +79,12 @@
>
{{ route.i18n.en }}
+
+ {{ route.i18n.es }}
+
{{ route.name }}
{{ route.i18n.en }}
+
+ {{ route.i18n.es }}
+
{{ route.name }}
{{ sub.i18n.en }}
+
+ {{ sub.i18n.es }}
+
{{ sub.name }}
diff --git a/src/locales/languages/en.json b/src/locales/languages/en.json
index 39827bc6..8524c906 100644
--- a/src/locales/languages/en.json
+++ b/src/locales/languages/en.json
@@ -11,6 +11,7 @@
"not-found": "Page not found"
},
"home": {
+ "editor_selection": "EDITOR'S SELECTION",
"recommended": "Feature Articles"
},
"titles": {
diff --git a/src/locales/languages/es.json b/src/locales/languages/es.json
new file mode 100644
index 00000000..970968ec
--- /dev/null
+++ b/src/locales/languages/es.json
@@ -0,0 +1,92 @@
+{
+ "menu": {
+ "home": "Inicio",
+ "about": "Acerca de",
+ "archives": "Archivo",
+ "categories": "Categorias",
+ "tags": "Etiquetas",
+ "post": "Artículos",
+ "search": "Resultados de la búsqueda",
+ "message-board": "Centro de mensajes",
+ "not-found": "Página no encontrada"
+ },
+ "home": {
+ "editor_selection": "SELECCION DEL EDITOR",
+ "recommended": "Destacados"
+ },
+ "titles": {
+ "articles": "Artículos",
+ "about": "Acerca de",
+ "category_list": "Categorias",
+ "tag_list": "Etiquetas",
+ "toc": "Tabla de Contenido",
+ "comment": "Comentarios",
+ "recent_comment": "Comentarios Recientes"
+ },
+ "settings": {
+ "months": [
+ "Enero",
+ "Febrero",
+ "Marzo",
+ "Abril",
+ "Mayo",
+ "Junio",
+ "Julio",
+ "Agosto",
+ "Septiembre",
+ "Octubre",
+ "Noviembre",
+ "Diciembre"
+ ],
+ "articles": "Artículos",
+ "categories": "Categorias",
+ "tags": "Etiquetas",
+ "words": "Palabras",
+ "visitor_count": "Cantidad de visitantes",
+ "visit_count": "Cantidad de visitas",
+ "button-all": "Todos",
+ "paginator": {
+ "newer": "Pre",
+ "older": "Siguiente",
+ "prev": "Anterior",
+ "next": "Siguiente"
+ },
+ "more-tags": "Ver más",
+ "admin-user": "Dueño",
+ "shared-on": "compartido en",
+ "recently-search": "Buscado recientemente:",
+ "search-result": "Encontrados [total] resultados.",
+ "no-recent-search": "Sin busquedas recientes.",
+ "no-search-result": "No se encontraron resultados.",
+ "cmd-to-select": "para seleccionar",
+ "cmd-to-navigate": "para navegar",
+ "cmd-to-close": "para cerrar",
+ "searched-by": "Búsqueda por",
+ "tips-back-to-top": "Volver arriba",
+ "tips-open-menu": "Abrir menú",
+ "tips-back-to-home": "Volver al inicio",
+ "tips-open-search": "Abrir buscador",
+ "default-category": "Artículo",
+ "default-tag": "ninguno",
+ "empty-tag": "Sin etiquetas.",
+ "empty-recent-comments": "Sin comentarios.",
+ "pinned": "Pin",
+ "featured": "Hot",
+ "page-views-value": "Visitas a la Página: ",
+ "site-running-for": "Tiempo de actividad: ",
+ "site-running-for-unit": "días",
+ "links": "Links Amigos",
+ "links-slogan": "Mejorando con cada blogger",
+ "links-random-visit": "Visitas random",
+ "links-apply": "Aplicar a lista de amigos",
+ "links-badge-personal": "Personal",
+ "links-badge-personal-desc": "Graba cada paso del camino.",
+ "links-badge-tech": "Tecnología",
+ "links-badge-tech-desc": "Blogs de tecnología relacionados.",
+ "links-badge-designer": "Diseñador",
+ "links-badge-designer-desc": "Blogs de diseño relacionados.",
+ "links-badge-vip": "Patrocinadores",
+ "links-badge-vip-desc": "Patrocinadores recientes",
+ "notification-random-jump": "Elegir un blogger afortunado al que recurrir."
+ }
+}
diff --git a/src/locales/languages/zh-CN.json b/src/locales/languages/zh-CN.json
index 9a89e87a..40e1c5ca 100644
--- a/src/locales/languages/zh-CN.json
+++ b/src/locales/languages/zh-CN.json
@@ -11,6 +11,7 @@
"not-found": "无法找到页面"
},
"home": {
+ "editor_selection": "EDITOR'S SELECTION",
"recommended": "推荐文章"
},
"titles": {
diff --git a/src/locales/languages/zh-TW.json b/src/locales/languages/zh-TW.json
index 21329b31..4bc590f8 100644
--- a/src/locales/languages/zh-TW.json
+++ b/src/locales/languages/zh-TW.json
@@ -11,6 +11,7 @@
"not-found": "無法找到頁面"
},
"home": {
+ "editor_selection": "EDITOR'S SELECTION",
"recommended": "推薦文章"
},
"titles": {
diff --git a/src/models/ThemeConfig.class.ts b/src/models/ThemeConfig.class.ts
index bfeae33a..85a8fa78 100644
--- a/src/models/ThemeConfig.class.ts
+++ b/src/models/ThemeConfig.class.ts
@@ -80,7 +80,8 @@ export class ThemeMenu implements ObMenu {
i18n: {
'zh-CN': '首页',
'zh-TW': '首頁',
- en: 'Home'
+ en: 'Home',
+ es: 'Inicio'
}
})
}
@@ -98,7 +99,8 @@ export class ThemeMenu implements ObMenu {
i18n: {
'zh-CN': '关于',
'zh-TW': '關於',
- en: 'About'
+ en: 'About',
+ es: 'Acerca de'
}
},
Archives: {
@@ -107,7 +109,8 @@ export class ThemeMenu implements ObMenu {
i18n: {
'zh-CN': '归档',
'zh-TW': '歸檔',
- en: 'Archives'
+ en: 'Archives',
+ es: 'Archivos'
}
},
Tags: {
@@ -116,7 +119,8 @@ export class ThemeMenu implements ObMenu {
i18n: {
'zh-CN': '标签',
'zh-TW': '標簽',
- en: 'Tags'
+ en: 'Tags',
+ es: 'Etiquetas'
}
},
Links: {
@@ -125,7 +129,8 @@ export class ThemeMenu implements ObMenu {
i18n: {
'zh-CN': '友情链接',
'zh-TW': '友情鏈接',
- en: 'Friend Links'
+ en: 'Friend Links',
+ es: 'Links Amigos'
}
}
}
@@ -157,6 +162,7 @@ export class ThemeMenu implements ObMenu {
}
enum LocalesTypes {
+ es,
en,
'zh-CN',
'zh-TW'
diff --git a/src/utils/comments/github-api.ts b/src/utils/comments/github-api.ts
index 650d2497..acb5a1fc 100644
--- a/src/utils/comments/github-api.ts
+++ b/src/utils/comments/github-api.ts
@@ -357,6 +357,7 @@ export class GithubComment implements RecentComment {
*/
transformTime(lang: Locales): void {
const templates = {
+ es: 'comentado [TIME]',
en: 'commented [TIME]',
'zh-CN': '[TIME]评论了',
'zh-TW': '[TIME]評論了'
diff --git a/src/utils/comments/leancloud-api.ts b/src/utils/comments/leancloud-api.ts
index 098cf9cb..92e86d98 100644
--- a/src/utils/comments/leancloud-api.ts
+++ b/src/utils/comments/leancloud-api.ts
@@ -329,6 +329,7 @@ export class LeanCloudComment implements RecentComment {
*/
transformTime(lang: Locales): void {
const templates = {
+ es: 'comentado [TIME]',
en: 'commented [TIME]',
'zh-CN': '[TIME]评论了',
'zh-TW': '[TIME]評論了'
diff --git a/src/utils/index.ts b/src/utils/index.ts
index a87e9ec4..67b55cd0 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -32,6 +32,14 @@ export function formatTime(
lang: 'en'
}
const languages: Record = {
+ es: {
+ seconds: 'hace un momento',
+ minutes: ' minutos',
+ hours: ' horas',
+ days: ' días',
+ months: ' meses',
+ years: ' años'
+ },
en: {
seconds: 'just seconds ago',
minutes: ' minutes ago',