Update translation structure

master
rubenwardy 2022-07-22 02:14:21 +01:00
parent ab18cbbefa
commit 013604229a
17 changed files with 236 additions and 241 deletions

View File

@ -8,5 +8,9 @@ plugins:
- jekyll-redirect-from
- jekyll-sitemap
exclude:
- locale
- util
firefox: https://addons.mozilla.org/addon/renewed-tab/?utm_source=renewedtab.com&utm_medium=referral
chrome: https://chrome.google.com/webstore/detail/renewed-tab/laljofodhebajcajogbolahbjdcnfgkf?utm_source=renewedtab.com&utm_medium=referral

View File

@ -1,81 +0,0 @@
- title: Drag and Drop Widgets
no_shadow: true
no_ratio: true
image: /static/images/features/widgets.png
image_link: /static/images/features/widgets.png
desc: |
The core of Renewed Tab is the widget system.
You can add, move, resize, and configure widgets on a grid using intuitive
controls.
You can place the same type of widget multiple times, with different settings.
- title: Beautiful Backgrounds
image: /static/images/gallery/focus.png
desc: |
See a random curated background every 15 minutes.
You can also choose a solid color,
an Unsplash collection,
an RSS/Atom feed, or a custom background image.
You can hide the widgets by hovering over the credits,
and also like and skip images.
- title: Rich Widgets
no_shadow: true
no_ratio: true
image: /static/images/features/rich_widgets.png
image_link: /static/images/features/rich_widgets.png
desc: |
Some widgets are Internet connected. For example, you can browse
an RSS/Atom feed, see upcoming space launches, and check the weather.
<a href="#widgets" class="button is-primary">List of widgets</a>
- title: Customisable
image: /static/images/features/settings.png
desc: |
Each widget has settings for behaviour and theming.
There are also global settings, allowing you to customise the theme,
change language, or choose a background.
- title: Free and Open Source
image_link: https://gitlab.com/renewedtab/renewedtab
desc: |
Anyone can read the code, modify it, and contribute to development.
Written using TypeScript and React.
<a href="https://gitlab.com/renewedtab/renewedtab" class="button is-primary">
<i class="fab fa-gitlab mr-2"></i>
GitLab
</a>
<a href="https://github.com/rubenwardy/renewedtab" class="button">
<i class="fab fa-github mr-2"></i>
GitHub (mirror)
</a>
- title: Multi-lingual
desc: |
Renewed Tab supports English, Français, Español, Deutsch, Italiano, Русский, 汉语,
Português, Bahasa Melayu, and Türkçe.
Translations are community-maintained, allowing you to add support for your
language.
<a class="button is-primary" href="https://renewedtab.com/translations/">
<i class="fas fa-language mr-2"></i>
Help Translate
</a>
- title: Privacy Orientated
desc: |
We require only minimal permissions; other
permissions are optional and only requested when needed. All your
data is stored in your browser, not on our servers.
<a class="button is-primary" href="/privacy_policy/">
Privacy Policy
</a>

View File

@ -1,11 +0,0 @@
- title: "A variety of widgets: The news, weather, and more"
image: /static/images/gallery/screenshot.png
- title: "Icon links: Quick links or bookmarks"
image: /static/images/gallery/sidebar_icons.png
- title: "Top sites / icon links"
image: /static/images/gallery/icons.png
- title: "Focus: just a clock and a searchbar"
image: /static/images/gallery/focus.png

View File

@ -1,10 +0,0 @@
title: "Renewed Tab"
description: "A customisable New Tab page, with widgets and beautiful backgrounds"
firefox: Firefox
chrome: Chrome
online: Try it online
andmore: "And more..."
widgets: Widgets
gallery: Gallery
testimonials: Testimonials
likeWhatYouSee: "Like what you see?<br>Available for:"

92
_data/en/index.yml Normal file
View File

@ -0,0 +1,92 @@
title: "Renewed Tab"
description: "A customisable New Tab page, with widgets and beautiful backgrounds"
firefox: Firefox
chrome: Chrome
online: Try it online
andmore: "And more..."
widgets: Widgets
gallery: Gallery
testimonials: Testimonials
likeWhatYouSee: "Like what you see?<br>Available for:"
nav.about: About
nav.gallery: Gallery
nav.help: Help / FAQ
nav.get_involved: Get Involved
nav.donate: Donate
gallery.screenshot.png: "A variety of widgets: The news, weather, and more"
gallery.sidebar_icons.png: "Icon links: Quick links or bookmarks"
gallery.icons.png: "Top sites / icon links"
gallery.focus.png: "Focus: just a clock and a searchbar"
features.dnd.title: Drag and Drop Widgets
features.dnd.desc: |
The core of Renewed Tab is the widget system.
You can add, move, resize, and configure widgets on a grid using intuitive
controls.
You can place the same type of widget multiple times, with different settings.
features.backgrounds.title: Beautiful Backgrounds
features.backgrounds.desc: |
See a random curated background every 15 minutes.
You can also choose a solid color,
an Unsplash collection,
an RSS/Atom feed, or a custom background image.
You can hide the widgets by hovering over the credits,
and also like and skip images.
features.rich.title: Rich Widgets
features.rich.desc: |
Some widgets are Internet connected. For example, you can browse
an RSS/Atom feed, see upcoming space launches, and check the weather.
<a href="#widgets" class="button is-primary">List of widgets</a>
features.customisable.title: Customisable
features.customisable.desc: |
Each widget has settings for behaviour and theming.
There are also global settings, allowing you to customise the theme,
change language, or choose a background.
features.foss.title: Free and Open Source
features.foss.desc: |
Anyone can read the code, modify it, and contribute to development.
Written using TypeScript and React.
<a href="https://gitlab.com/renewedtab/renewedtab" class="button is-primary">
<i class="fab fa-gitlab mr-2"></i>
GitLab
</a>
<a href="https://github.com/rubenwardy/renewedtab" class="button">
<i class="fab fa-github mr-2"></i>
GitHub (mirror)
</a>
features.locale.title: Multi-lingual
features.locale.desc: |
Renewed Tab supports English, Français, Español, Deutsch, Italiano, Русский, 汉语,
Português, Bahasa Melayu, and Türkçe.
Translations are community-maintained, allowing you to add support for your
language.
<a class="button is-primary" href="https://renewedtab.com/translations/">
<i class="fas fa-language mr-2"></i>
Help Translate
</a>
features.privacy.title: Privacy Orientated
features.privacy.desc: |
We require only minimal permissions; other
permissions are optional and only requested when needed. All your
data is stored in your browser, not on our servers.
<a class="button is-primary" href="/privacy_policy/">
Privacy Policy
</a>

View File

@ -1,11 +0,0 @@
- title: "Una variedad de widgets: Noticias, clima, y más"
image: /static/images/gallery/screenshot.png
- title: "Enlaces en iconos: Enlaces rápidos o marcadores"
image: /static/images/gallery/sidebar_icons.png
- title: "Sitios principales / enlaces en iconos"
image: /static/images/gallery/icons.png
- title: "Concentración: solo un reloj y una barra de búsqueda"
image: /static/images/gallery/focus.png

View File

@ -1,10 +0,0 @@
title: "Renewed Tab"
description: "Una página de Nueva Pestaña personalizable, con widgets y fondos hermosos"
firefox: Firefox
chrome: Chrome
online: Probar online
andmore: "Y más..."
widgets: Widgets
gallery: Galería
testimonials: Testimonios
likeWhatYouSee: "¿Le gusta lo que ve?<br>Disponible para:"

View File

@ -1,17 +1,34 @@
- title: Arrastre y Suelte Widgets
no_shadow: true
no_ratio: true
image: /static/images/features/widgets.png
image_link: /static/images/features/widgets.png
desc: |
title: "Renewed Tab"
description: "Una página de Nueva Pestaña personalizable, con widgets y fondos hermosos"
firefox: Firefox
chrome: Chrome
online: Probar online
andmore: "Y más..."
widgets: Widgets
gallery: Galería
testimonials: Testimonios
likeWhatYouSee: "¿Le gusta lo que ve?<br>Disponible para:"
nav.about: Acerca de
nav.gallery: Gallería
nav.help: Ayuda / FAQ
nav.get_involved: Involucrarse
nav.donate: Donar
gallery.screenshot.png: "Una variedad de widgets: Noticias, clima, y más"
gallery.sidebar_icons.png: "Enlaces en iconos: Enlaces rápidos o marcadores"
gallery.icons.png: "Sitios principales / enlaces en iconos"
gallery.focus.png: "Concentración: solo un reloj y una barra de búsqueda"
features.dnd.title: Arrastre y Suelte Widgets
features.dnd.desc: |
El núcleo de Renewed Tab es su sistema de widgets.
Puede añadir, mover, cambiar el tamaño, y configurar widgets en una grilla usando controles intuitivos.
Es posible colocar el mismo tipo de widget multiples veces, con diferentes configuraciones.
- title: Fondos Hermosos
image: /static/images/gallery/focus.png
desc: |
features.backgrounds.title: Fondos Hermosos
features.backgrounds.desc: |
Vea un fondo aleatorio seleccionado cada 15 minutos.
También puede elegir un color sólido,
@ -21,27 +38,21 @@
Puede ocultar los widgets colocando el cursor sobre los créditos,
y también darles me gusta o saltar imágenes.
- title: Widgets Funcionales
no_shadow: true
no_ratio: true
image: /static/images/features/rich_widgets.png
image_link: /static/images/features/rich_widgets.png
desc: |
features.rich.title: Widgets Funcionales
features.rich.desc: |
Algunos widgets están conectados al Internet. Por ejemplo, puede navegar
un feed RSS/Atom, ver los próximos lanzamientos espaciales, y verificar el clima.
<a href="#widgets" class="button is-primary">Lista de widgets</a>
- title: Personalizable
image: /static/images/features/settings.png
desc: |
features.customisable.title: Personalizable
features.customisable.desc: |
Cada widget tiene configuraciones de comportamiento y temática.
También hay configuraciones globales, permitiendole personalizar el tema, cambiar de lenguaje, o elegir un fondo.
- title: Libre y de Código Abierto
image_link: https://gitlab.com/renewedtab/renewedtab
desc: |
features.foss.title: Libre y de Código Abierto
features.foss.desc: |
Cualquiera puede leer el código fuente, modificarlo, y contribuir al desarrollo.
Escrito utilizando TypeScript y React.
@ -55,8 +66,8 @@
GitHub (mirror)
</a>
- title: Multi-lenguaje
desc: |
features.locale.title: Multi-lenguaje
features.locale.desc: |
Renewed Tab admite Français, Español, Deutsch, Italiano, Русский, 汉语,
Português, Bahasa Melayu, y Türkçe.
@ -67,8 +78,8 @@
Ayuda a Traducir
</a>
- title: Orientado a la Privacidad
desc: |
features.privacy.title: Orientado a la Privacidad
features.privacy.desc: |
Solo requerimos permisos mínimos; otros
permisos son opcionales y solo solicitados cuando se necesitan. Todos sus datos se almacenan en su navegador, no en nuestros servidores.

View File

@ -1,14 +0,0 @@
- title: Acerca de
url: /es/
- title: Gallería
url: /es/#gallery
- title: Ayuda / FAQ
url: /es/help/
- title: Involucrarse
url: /es/get_involved/
- title: Donar
url: /es/get_involved/#donate

View File

@ -1,18 +0,0 @@
- "<b>Feeds RSS y Atom</b>: pueden ser utilizados para ver noticias o seguir un sitio web."
- "<b>Clima</b>"
- "<b>Lista de Quehaceres</b>: realice un seguimiento de las cosas que necesita hacer."
- "<b>Enlaces Rápidos</b>: muestra enlaces, con iconos y subtítulos opcionales."
- "<b>Sitios Principales</b>: muestra sus sitios web más frecuentados."
- "<b>Metas Diarias</b>: ingrese una meta diaria."
- "<b>Marcadores</b>: muestra sus marcadores de la barra de herramientas de marcadores."
- "<b>Saludo</b>: sea bienvenido según la hora del día."
- "<b>Citas</b>: muestra una cita aleatoria, con categorías."
- "<b>Reloj</b>: muestra la hora actual, elige entre 12 y 24 horas."
- "<b>Notas</b>: tome notas en un área de texto de forma libre."
- "<b>Edad</b>: muestra su edad actual con demasiada precisión."
- "<b>Búsqueda</b>: una barra de búsqueda, con soporte para cambiar el motor de búsqueda."
- "<b>Cómics Web</b>: muestra el panel más reciente de un cómic web."
- "<b>Progreso del Año</b>: muestra el progreso a lo largo del año como una barra de progreso."
- "<b>Monedas</b>: muestra tasas de cambio, compatible con divisas forex y criptomonedas."
- "<b>Próximos Vuelos Espaciales</b>"
- "y más: botones, imagenes, HTML, e IFrames."

24
_data/features.yml Normal file
View File

@ -0,0 +1,24 @@
- id: dnd
no_shadow: true
no_ratio: true
image: /static/images/features/widgets.png
image_link: /static/images/features/widgets.png
- id: backgrounds
image: /static/images/gallery/focus.png
- id: rich
no_shadow: true
no_ratio: true
image: /static/images/features/rich_widgets.png
image_link: /static/images/features/rich_widgets.png
- id: customisable
image: /static/images/features/settings.png
- id: foss
image_link: https://gitlab.com/renewedtab/renewedtab
- id: locale
- id: privacy

4
_data/gallery.yml Normal file
View File

@ -0,0 +1,4 @@
- screenshot.png
- sidebar_icons.png
- icons.png
- focus.png

View File

@ -1,14 +1,14 @@
- title: About
- id: about
url: /en/
- title: Gallery
- id: gallery
url: /en/#gallery
- title: Help / FAQ
- id: help
url: /en/help/
- title: Get Involved
- id: get_involved
url: /en/get_involved/
- title: Donate
- id: donate
url: /en/get_involved/#donate

View File

@ -1,16 +1,14 @@
{% assign pathsplit = page.path | split: '/' %}
{% assign lang = pathsplit[0] %}
{% assign l = site.data[lang] %}
{% unless l %}
{% assign l = site.data.en %}
{% endunless %}
{% assign l = site.data[lang] | default: site.data.en %}
{% assign en = site.data.en.index %}
<nav class="navbar is-primary">
<div class="container">
<div class="navbar-brand">
{% unless include.hide_brand %}
<a class="navbar-item" href="/">
{{ l.homepage.title }}
{{ l.index.title }}
</a>
{% endunless %}
<a role="button" class="navbar-burger" aria-label="menu"
@ -23,10 +21,13 @@
<div id="nav-menu" class="navbar-menu">
<div class="navbar-start">
{% for item in l.navbar %}
<a class="navbar-item {% if item.url == page.url %}active{% endif %}" href="{{ item.url }}">
{{ item.title }}
</a>
{% for item in site.data.navbar %}
{% assign title_id = "nav." | append: item.id %}
{% assign title = l.index[title_id] | default: en[title_id] %}
{% assign url = item.url | replace: "en", lang %}
<a class="navbar-item {% if url == page.url %}active{% endif %}" href="{{ url }}">
{{ title }}
</a>
{% endfor %}
</div>

View File

@ -13,8 +13,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>
{{ page.title }}
{% if page.title != l.homepage.title %}
- {{ l.homepage.title }}
{% if page.title != l.index.title %}
- {{ l.index.title }}
{% endif %}
</title>
@ -34,7 +34,7 @@
{% endfor %}
{% if page.url == oldSegment %}
{% assign description = site.data[lang].homepage.description %}
{% assign description = site.data[lang].index.description %}
<meta name="og:title" content="Renewed Tab" />
<meta name="og:description" content="{{ description }}" />
<meta name="description" content="{{ description }}" />

View File

@ -5,6 +5,7 @@ layout: default
{% assign pathsplit = page.path | split: '/' %}
{% assign lang = pathsplit[0] %}
{% assign l = site.data[lang] %}
{% assign en = site.data.en.index %}
<a name="top"></a>
@ -16,9 +17,9 @@ layout: default
<div class="container">
<div class="columns">
<div class="column content is-half is-size-4">
<h1>{{ l.homepage.title }}</h1>
<h1>{{ l.index.title }}</h1>
<p>
{{ l.homepage.description }}
{{ l.index.description }}
</p>
<div class="buttons mt-6">
<a class="button is-firefox utm-link" href="{{ site.firefox }}&utm_content=topbtn">
@ -26,7 +27,7 @@ layout: default
<i class="fab fa-firefox-browser"></i>
</span>
<span>
{{ l.homepage.firefox }}
{{ l.index.firefox }}
</span>
</a>
<a class="button is-chrome utm-link" href="{{ site.chrome }}&utm_content=topbtn">
@ -34,11 +35,11 @@ layout: default
<i class="fab fa-chrome"></i>
</span>
<span>
{{ l.homepage.chrome }}
{{ l.index.chrome }}
</span>
</a>
<a class="button is-navlike" href="https://web.renewedtab.com/">
{{ l.homepage.online }}
{{ l.index.online }}
</a>
</div>
</div>
@ -54,55 +55,65 @@ layout: default
<main class="container">
<section class="section" id="features">
{% for item in l.features %}
{% if item.image %}
{% if item.image_link %}
{% assign image_link = item.image_link %}
{% else %}
{% assign image_link = item.image | replace: '.png', '_full.png' %}
{% endif %}
{% for item in site.data.features %}
{% if item.image %}
{% if item.image_link %}
{% assign image_link = item.image_link %}
{% else %}
{% assign image_link = item.image | replace: '.png', '_full.png' %}
{% endif %}
{% capture side %}{% cycle "left", "right" %}{% endcapture %}
{% assign title_id = "features." | append: item.id | append: ".title" %}
{% assign desc_id = "features." | append: item.id | append: ".desc" %}
{% assign title = l.index[title_id] | default: en[title_id] %}
{% assign desc = l.index[desc_id] | default: en[title_id] %}
<div class="columns is-variable is-8 py-6 {% if side=='left' %}is-reversed{% endif %}">
<figure class="column is-two-thirds">
<a class="image {% unless item.no_ratio %}is-golden{% endunless %}" href="{{ image_link }}">
<img src="{{ item.image }}" alt="{{ item.title }}"
{% if item.no_shadow %}class="no-shadow"{% endif %}>
</a>
</figure>
<div class="column is-one-third content is-size-4">
<h2 class="is-4 mt-0 is-size-3">{{ item.title }}</h2>
{% capture side %}{% cycle "left", "right" %}{% endcapture %}
{{ item.desc | markdownify }}
<div class="columns is-variable is-8 py-6 {% if side=='left' %}is-reversed{% endif %}">
<figure class="column is-two-thirds">
<a class="image {% unless item.no_ratio %}is-golden{% endunless %}" href="{{ image_link }}">
<img src="{{ item.image }}" alt="{{ title }}"
{% if item.no_shadow %}class="no-shadow"{% endif %}>
</a>
</figure>
<div class="column is-one-third content is-size-4">
<h2 class="is-4 mt-0 is-size-3">{{ title }}</h2>
{{ desc | markdownify }}
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}
<h2 class="my-6 title is-3 has-text-weight-semibold">
{{ l.homepage.andmore }}
{{ l.index.andmore }}
</h2>
<div class="columns is-multiline">
{% for item in l.features %}
{% unless item.image %}
<div class="column is-one-third content">
<h2 class="mt-0 is-size-4">{{ item.title }}</h2>
{% for item in site.data.features %}
{% assign title_id = "features." | append: item.id | append: ".title" %}
{% assign desc_id = "features." | append: item.id | append: ".desc" %}
{% assign title = l.index[title_id] | default: en[title_id] %}
{% assign desc = l.index[desc_id] | default: en[title_id] %}
{{ item.desc | markdownify }}
</div>
{% endunless %}
{% unless item.image %}
<div class="column is-one-third content">
<h2 class="mt-0 is-size-4">{{ title }}</h2>
{{ desc | markdownify }}
</div>
{% endunless %}
{% endfor %}
</section>
<section class="section">
<h2 id="widgets" class="title is-2">
{{ l.homepage.widgets }}
{{ l.index.widgets }}
</h2>
<div class="content">
<ul>
{% for item in l.widgets %}
{% for item in site.data.widgets %}
<li>
{{ item | safe }}
</li>
@ -113,23 +124,26 @@ layout: default
<section class="section">
<h2 class="title is-2" id="gallery">
{{ l.homepage.gallery }}
{{ l.index.gallery }}
</h2>
<div class="columns is-multiline is-variable is-5">
{% for item in l.gallery %}
{% for item in site.data.gallery %}
{% if item.image_link %}
{% assign image_link = item.image_link %}
{% else %}
{% assign image_link = item.image | replace: '.png', '_full.png' %}
{% endif %}
{% assign title_id = "gallery." | append: item %}
{% assign title = l.index[title_id] | default: en[title_id] %}
<figure class="column is-half">
<a class="image is-4by3" href="{{ image_link }}">
<img src="{{ item.image }}" alt="{{ item.title }}">
<img src="/static/images/gallery/{{ item }}" alt="{{ title }}">
</a>
<figcaption>
{{ item.title }}
{{ title }}
</figcaption>
</figure>
{% endfor %}
@ -138,7 +152,7 @@ layout: default
<section class="section">
<h2 id="widgets" class="title is-2">
{{ l.homepage.testimonials }}
{{ l.index.testimonials }}
</h2>
<div class="columns is-multiline">
{% for test in l.testimonials %}
@ -165,23 +179,23 @@ layout: default
<section id="install" class="section is-medium">
<p class="mb-5 has-text-centered">
{{ l.homepage.likeWhatYouSee }}
{{ l.index.likeWhatYouSee }}
</p>
<div class="buttons is-justify-content-center">
<a class="button is-firefox is-large utm-link" href="{{ site.firefox }}&utm_content=bottombtn">
<span class="icon">
<i class="fab fa-firefox-browser"></i>
</span>
<span>{{ l.homepage.firefox }}</span>
<span>{{ l.index.firefox }}</span>
</a>
<a class="button is-chrome is-large utm-link" href="{{ site.chrome }}&utm_content=bottombtn">
<span class="icon">
<i class="fab fa-chrome"></i>
</span>
<span>{{ l.homepage.chrome }}</span>
<span>{{ l.index.chrome }}</span>
</a>
<a class="button is-navlike is-large" href="https://web.renewedtab.com/">
{{ l.homepage.online }}
{{ l.index.online }}
</a>
</div>
</section>