- {{ page.title }} -
- - - - {% if page.extra.tldr %} -TL;DR:
-{{ page.extra.tldr }}
-diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 7de9320..10ab582 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -262,40 +262,3 @@ if git diff --cached --name-only | grep -q "config.toml"; then # Add the generated subset.css file to the commit. git add static/custom_subset.css fi - -################################################################################ -# Update the README if the line numbers for the language section have changed. # -################################################################################ - -# File paths and names. -config_file="config.toml" -config_readme="README.md" - -# Ensure the required files are present. -[ ! -f "$config_file" ] && error_exit "$config_file not found!" -[ ! -f "$config_readme" ] && error_exit "$config_readme not found!" - -# Determine the line numbers for relevant sections in config.toml. -lang_start_line=$(grep -n "^\[languages.es\]$" "$config_file" | cut -d: -f1) -extra_start_line=$(grep -n "^\[extra\]$" "$config_file" | cut -d: -f1) -lang_end_line=$((extra_start_line - 2)) - -# Extract currently documented line numbers from README. -documented_lines=$(grep -o 'https://github.com/welpo/tabi/blob/main/config.toml#L[0-9]*-L[0-9]*' "$config_readme" | grep -o 'L[0-9]*-L[0-9]*') -doc_start_line=$(echo "$documented_lines" | cut -d'-' -f1 | tr -d 'L') -doc_end_line=$(echo "$documented_lines" | cut -d'-' -f2 | tr -d 'L') - -# Ensure that the variables are set and are numbers. -if [[ ! $lang_start_line =~ ^[0-9]+$ ]] || [[ ! $doc_start_line =~ ^[0-9]+$ ]] || [[ ! $lang_end_line =~ ^[0-9]+$ ]] || [[ ! $doc_end_line =~ ^[0-9]+$ ]]; then - error_exit "Line number variables are not set correctly." -fi - -# Update the README if there's a discrepancy in the line numbers. -if [ "$lang_start_line" -ne "$doc_start_line" ] || [ "$lang_end_line" -ne "$doc_end_line" ]; then - if ! perl -pi -e "s|https://github.com/welpo/tabi/blob/main/config.toml#L[0-9]*-L[0-9]*|https://github.com/welpo/tabi/blob/main/config.toml#L$lang_start_line-L$lang_end_line|g" "$config_readme"; then - error_exit "Perl processing failed for $config_readme" - fi - - # Add updated README to commit. - git add "$config_readme" -fi diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e5ca165..1e3fa0b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,10 @@ Halló! Thanks for contributing to [tabi](https://github.com/welpo/tabi). Before implementing new features and changes, please [submit an issue](https://github.com/welpo/tabi/issues/new) so that we can discuss it. We welcome contributions in many forms, including: + - Bug reports; +- New translations; +- Improvements to existing translations; - Feature requests; - Code patches; - Documentation improvements; diff --git a/README.md b/README.md index 61e7a92..e95de99 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@ tabi has a perfect score on Google's Lighthouse audit: ## Features -- [X] Multi-language support. +- [X] [Comprehensive multi-language support](https://welpo.github.io/tabi/blog/faq-languages/#how-does-tabi-handle-multilingual-support). Add as many languages as you wish. +- [X] [Set any language as default](https://welpo.github.io/tabi/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site). Set your base site to Chinese, Spanish, French, Hindi… or any [other supported language](/i18n). The theme's interface will be translated accordingly. - [X] Dark and light themes. Defaults to the OS setting, with a switcher in the navigation bar. - [X] Support for [comments using giscus, utterances, Hyvor Talk, or Isso](https://welpo.github.io/tabi/blog/comments/). - [X] Perfect Lighthouse score (Performance, Accessibility, Best Practices and SEO). @@ -106,13 +107,13 @@ header = {title = "Hello! I'm tabi~", img = "img/main.webp" } The content outside the front matter will be rendered between the header title and the posts listing. In the screenshot above, it's the text that reads "tabi is a fast, lightweight, and modern Zola theme…". -6. If you want a multilingual site, you will need to set up each language. In `config.toml`: +6. If you want a multilingual site, you will need to set up each language. In `config.toml`, set the title and taxonomies for each language, like: -- set the translations for a few strings; -- set the title and taxonomies for each language; -- add the `language_name.{code}` in `[extra]`. This is the text shown in the language switcher. - -See [these lines in the provided `config.toml`](https://github.com/welpo/tabi/blob/main/config.toml#L22-L134) for an example. +```toml +[languages.es] +title = "~/tabi" +taxonomies = [{name = "tags", feed = true}] +``` You will need an `_index.{language_code}.md` per language for each section (e.g. /blog or /projects) that you want to enable in that language. @@ -120,6 +121,8 @@ The same is true for individual posts, which should have the exact same name as This configuration allows the language switcher to take the user to the translation of the current URL. If a translation doesn't exist, the 404 page will be displayed, with an explanation in each language set in the config. +To learn more about multilingual support, see the [Frequently Asked Questions](https://welpo.github.io/tabi/blog/faq-languages/). + ## Inspiration This theme was inspired by: @@ -130,7 +133,9 @@ This theme was inspired by: ## Contributing -Please do! Take a look at the [Contributing Guidelines](/CONTRIBUTING.md) to learn more. +Please do! We appreciate bug reports, improvements to translations or documentation (however minor), feature requests… + +Take a look at the [Contributing Guidelines](/CONTRIBUTING.md) to learn more. ## License diff --git a/config.toml b/config.toml index d814785..4f2c7a3 100644 --- a/config.toml +++ b/config.toml @@ -6,29 +6,26 @@ generate_feed = true compile_sass = true minify_html = true +# To translate the entire theme, there must be a file with the same ISO 639-1 Code +# in the `i18n` folder of your site or the tabi theme (e.g. "i18n/fr.toml" for French). +# Otherwise the theme will be in English. +# See https://welpo.github.io/tabi/blog/faq-languages/ for more details. default_language = "en" -taxonomies = [ - {name = "tags", feed = true}, -] +taxonomies = [{name = "tags", feed = true}] [markdown] external_links_target_blank = true highlight_code = true highlight_theme = "css" -default_language = "en" - [languages.es] title = "~/tabi" description = "tabi es un tema de Zola rápido, liviano y moderno con JavaScript opcional y una puntuación perfecta en Lighthouse." generate_feed = true compile_sass = true minify_html = true - -taxonomies = [ - {name = "tags", feed = true}, -] +taxonomies = [{name = "tags", feed = true}] [languages.ca] title = "~/tabi" @@ -36,112 +33,9 @@ description = "tabi és un tema de Zola ràpid, lleuger i modern amb JavaScript generate_feed = true compile_sass = true minify_html = true - -taxonomies = [ - {name = "tags", feed = true}, -] - -[languages.es.translations] -language_name = "Español" -date_locale = "es_ES" -# Menu items. -blog = "blog" -archive = "archivo" -tags = "etiquetas" -words = "palabras" -projects = "proyectos" -# Other text. -tags_title = "Todas las etiquetas" -404_error = "La página que has solicitado parece no existir o aún no se ha traducido a tu idioma. Revisa la URL en busca de errores o" -go_home = "regresa a la página de inicio" -read_more = "Leer más" -all_posts = "Todas las entradas" -all_tags = "Todas las etiquetas" -min_read = "min de lectura" -powered_by = "Impulsado por" -and = "y" -post = "entrada" -posts = "entradas" -prev = "Anterior" -next = "Siguiente" -of = "de" -draft = "BORRADOR" -table_of_contents = "Tabla de contenido" -last_updated_on = "Última actualización el" -show_original_quote = "Mostrar cita original" -show_translation = "Mostrar traducción" -load_comments = "Cargar comentarios" -see_changes = "Ver cambios" -site_source = "Código del sitio" -# Quotation marks for multilingual quote shortcode. -open_quotation_mark = "«" -close_quotation_mark = "»" -# Translations for stylised Atom feed. -this_is_a_web_feed = "Esta es una fuente web" -also_known_as_an_Atom_feed = "también conocida como fuente Atom" -subscribe = "Suscríbete" -by_copying_the_URL_from_the_address_bar_into_your_newsreader = "copiando la URL de la barra de direcciones en tu lector de noticias" -visit = "Visita" -to_learn_more_and_get_started = "para aprender más y empezar" -it_s_free = "Es gratis" -website = "la web" -recent_posts = "Publicaciones recientes" - -[languages.ca.translations] -language_name = "Català" -date_locale = "ca_ES" -# Menu items. -blog = "blog" -archive = "arxiu" -tags = "etiquetes" -words = "paraules" -projects = "projectes" -# Other text. -tags_title = "Totes les etiquetes" -404_error = "La pàgina que has sol·licitat sembla que no existeix o encara no s'ha traduït al teu idioma. Comprova l'URL per detectar errors o" -go_home = "torna a la pàgina d'inici" -read_more = "Llegir més" -all_posts = "Totes les entrades" -all_tags = "Totes les etiquetes" -min_read = "min de lectura" -powered_by = "Propulsat per" -and = "i" -post = "entrada" -posts = "entrades" -prev = "Anterior" -next = "Següent" -of = "de" -draft = "ESBORRANY" -table_of_contents = "Taula de contingut" -last_updated_on = "Última actualizació el" -show_original_quote = "Mostra la cita original" -show_translation = "Mostra la traducció" -load_comments = "Carregar comentaris" -see_changes = "Veure canvis" -site_source = "Codi del lloc" -# Quotation marks for multilingual quote shortcode. -open_quotation_mark = "«" -close_quotation_mark = "»" -# Translations for stylised Atom feed. -this_is_a_web_feed = "Aquest és un canal web" -also_known_as_an_Atom_feed = "també conegut com a canal Atom" -subscribe = "Subscriu-te" -by_copying_the_URL_from_the_address_bar_into_your_newsreader = "copiant l'URL de la barra d'adreces al teu lector de notícies" -visit = "Visita" -to_learn_more_and_get_started = "per aprendre més i començar" -it_s_free = "És gratuït" -website = "la web" -recent_posts = "Publicacions recents" +taxonomies = [{name = "tags", feed = true}] [extra] - -# Languages for your site. -# Each should have a translation section above. -# e.g. [languages.ca.translations] -language_name.ca = "Català" -language_name.en = "English" -language_name.es = "Español" - # Enable JavaScript theme toggler to allow users to switch between dark/light mode. # Also enables automatic switching based on user's OS-level theme settings. # If disabled, your site will only use the theme specified in the `default_theme` variable. diff --git a/content/blog/faq-languages.ca.md b/content/blog/faq-languages.ca.md new file mode 100644 index 0000000..a451a79 --- /dev/null +++ b/content/blog/faq-languages.ca.md @@ -0,0 +1,129 @@ ++++ +title = "Lost in Translation? Explora les capacitats multilingües de tabi" +date = 2023-09-12 +description = "Descobreix com tabi t'ajuda a connectar amb una audiència global gràcies a les seves funcions multilingües. Aprèn a canviar la llengua per defecte, afegir més llengües i aportar les teves pròpies traduccions." + +[taxonomies] +tags = ["funcionalitat", "tutorial", "Preguntes Freqüents"] + +[extra] +quick_navigation_buttons = true +toc_ignore_pattern = "^(Preguntes Freqüents)" ++++ + +tabi simplifica el procés de creació de llocs web multilingües perquè puguis connectar amb una audiència global. En aquesta guia, t'explicarem tot el que necessites saber, des de com configurar la llengua principal en el teu lloc fins a com contribuir amb les teves pròpies traduccions. Comencem! + +### Preguntes Freqüents + + + +## Quines llengües admet tabi? + +tabi admet les següents llengües: + +- Alemany +- Anglès +- Català +- Coreà +- Espanyol +- Francès +- Hindi +- Italià +- Japonès +- Portuguès (Europeu) +- Rus +- Ucraïnès +- Xinès (Simplificat) + +Per a una llista sempre actualitzada de llengües suportades, consulta la [carpeta `i18n`](https://github.com/welpo/tabi/tree/main/i18n) en el repositori de tabi. + +## Com estableixo la llengua predeterminada del meu lloc? + +Pots definir la llengua principal del teu lloc configurant la variable `default_language` a `config.toml`. + +Per exemple, si vols que la llengua principal sigui el Xinès, simplement afegeix aquesta línia a l'arxiu `config.toml`: + +```toml, hl_lines=03 +base_url = "https://welpo.github.io/tabi" +title = "~/tabi" +default_language = "zh" +``` + +tabi es traduirà a aquesta llengua, si està suportada. + +## Com gestiona tabi el suport multilingüe? + +Zola genera automàticament URLs per a cada llengua que no sigui la predeterminada de la següent manera: `{base_url}/{codi_idioma}/{post}`. + +tabi facilita la navegació entre llengües afegint un commutador de llengua en la barra de navegació (que només es mostra quan hi ha més d'una llengua habilitada). + +Si [pujes](#) a la barra de navegació, veuràs el commutador de llengua. En passar el cursor sobre ell, es mostrarà un desplegable amb les llengües disponibles. Si fas clic en el nom d'una llengua, et portarà a la mateixa pàgina en aquesta llengua. + +Si una pàgina específica no està disponible en una llengua, tabi mostrarà una pàgina 404 amb el text: + +> La pàgina que has sol·licitat sembla que no existeix o encara no s'ha traduït al teu idioma. Comprova l'URL per detectar errors o torna a la pàgina d'inici. + +Aquest text es mostrarà una vegada per cada llengua activada en el teu lloc. Pots veure aquesta pàgina en acció [aquí](https://welpo.github.io/tabi/404.html). + +## Com activo el suport multilingüe? + +Per habilitar el suport per a diverses llengües, necessites configurar la variable `languages` a `config.toml`. Per exemple, si vols un lloc amb anglès com a llengua principal que també admeti hindi i espanyol, pots configurar el teu `config.toml` de la següent manera: + +```toml +base_url = "https://example.com" +title = "My Site" +default_language = "en" + +[languages.hi] +title = "मेरी वेबसाइट" + +[languages.es] +title = "El meu web" +``` + +En cada secció de llengua pots establir altres variables com `taxonomies`, `description`… Consulta la [documentació de suport multilingüe de Zola](https://www.getzola.org/documentation/content/multilingual/) per a més informació. + +## Què són aquests codis de dues lletres? + +Els codis de dues lletres són [codis d'idioma ISO 639-1](https://localizely.com/iso-639-1-list/), que serveixen per identificar idiomes d'una manera estandarditzada. + +tabi utilitza aquests codis per permetre la navegació entre idiomes i traduir el tema. + +## Com personalitzo o reemplaço una cadena de text específica al meu lloc web? + +tabi cerca els fitxers de cadenes en el següent ordre. `$base_directory` és on resideix el teu lloc Zola (allà on està `config.toml`): + +1. `$base_directory + "i18n"` +2. `$base_directory + "themes/tabi/i18n"` + +Per tant, si crees `i18n/ca.toml` al teu directori base, tabi llegirà les cadenes de text d'aquest fitxer en lloc de les cadenes predeterminades en català. Pots fer això per a qualsevol idioma, suportat o no. + +Assegura't de copiar tot el fitxer per a aquest idioma primer, o el tema utilitzarà l'anglès per les claus que faltin. + +## Què passa si falta una traducció o està incompleta? + +Si una cadena no es troba en el fitxer d'idioma, tabi recorrerà a la cadena predeterminada en català. + +## El meu idioma no està suportat. Puc contribuir amb una traducció? + +És clar! Sempre estem buscant afegir suport per a més idiomes. Pots contribuir amb una traducció creant una Pull Request al [repositori de tabi](https://github.com/welpo/tabi). + +Pots utilitzar el [fitxer en català](https://github.com/welpo/tabi/blob/main/i18n/ca.toml) com a base per traduir les cadenes al teu idioma. Assegura't de mantenir la mateixa estructura. + +El fitxer ha de portar el nom del codi de dues lletres del teu idioma i ha de ser un fitxer TOML. Per exemple, si vols afegir suport per al suahili, pots crear un fitxer anomenat `sw.toml` al directori `i18n`. + +Nota: quan provis la teva traducció, és possible que necessitis reiniciar `zola serve` per veure els canvis, ja que Zola no sempre detecta canvis en els fitxers TOML. + +## He trobat un error en una traducció. Com el corregeixo? + +Si trobes un error en una traducció, pots crear un problema o una sol·licitud d'extracció al [repositori de tabi](https://github.com/welpo/tabi). + +## Com actualitzo les traduccions després d'una actualització del tema? + +Si no vas personalitzar les traduccions, simplement actualitza el tema. + +Si ho vas fer, hauràs d'actualitzar manualment les traduccions. Pots fer-ho copiant les noves cadenes dels fitxers corresponents i enganxant-les al teu fitxer personalitzat. + +## tabi tradueix el meu contingut? + +No. tabi només tradueix les cadenes de text del tema. Hauràs de traduir el teu contingut tu mateix. diff --git a/content/blog/faq-languages.es.md b/content/blog/faq-languages.es.md new file mode 100644 index 0000000..aa6a3cf --- /dev/null +++ b/content/blog/faq-languages.es.md @@ -0,0 +1,129 @@ ++++ +title = "¿Lost in Translation? Explora las capacidades multilingües de tabi" +date = 2023-09-12 +description = "Descubre cómo tabi te ayuda a conectar con una audiencia global gracias a sus funciones multilingües. Aprende a cambiar el idioma por defecto, añadir más idiomas y aportar tus propias traducciones." + +[taxonomies] +tags = ["funcionalidad", "tutorial", "Preguntas Frecuentes"] + +[extra] +quick_navigation_buttons = true +toc_ignore_pattern = "^(Preguntas Frecuentes)" ++++ + +tabi simplifica el proceso de crear sitios web multilingües para que puedas conectar con una audiencia global. En esta guía, te explicaremos todo lo que necesitas saber, desde cómo configurar el idioma principal en tu sitio hasta cómo contribuir con tus propias traducciones. ¡Empecemos! + +### Preguntas Frecuentes + + + +## ¿Qué idiomas admite tabi? + +tabi admite los siguientes idiomas: + +- Alemán +- Catalán +- Chino (Simplificado) +- Coreano +- Español +- Francés +- Hindi +- Inglés +- Italiano +- Japonés +- Portugués (Europeo) +- Ruso +- Ucraniano + +Para una lista siempre actualizada de idiomas soportados, consulta la [carpeta `i18n`](https://github.com/welpo/tabi/tree/main/i18n) en el repositorio de tabi. + +## ¿Cómo establezco el idioma predeterminado de mi sitio? + +Puedes definir el idioma principal de tu sitio configurando la variable `default_language` en tu archivo `config.toml`. + +Por ejemplo, si deseas que el idioma principal sea el Chino, simplemente añade esta línea al archivo `config.toml`: + +```toml, hl_lines=03 +base_url = "https://welpo.github.io/tabi" +title = "~/tabi" +default_language = "zh" +``` + +tabi se traducirá a ese idioma, si está soportado. + +## ¿Cómo gestiona tabi el soporte multilingüe? + +Zola genera automáticamente URLs para cada idioma que no sea el predeterminado de la siguiente manera: `{base_url}/{código_idioma}/{post}`. + +tabi facilita la navegación entre idiomas añadiendo un conmutador de idioma en la barra de navegación (que sólo se muestra cuando hay más de un idioma habilitado). + +Si [subes](#) a la barra de navegación, verás el conmutador de idioma. Al pasar el cursor sobre él, se mostrará un desplegable con los idiomas disponibles. Si haces clic en el nombre de un idioma, te llevará a la misma página en ese idioma. + +Si una página específica no está disponible en un idioma, tabi mostrará una página 404 con el texto: + +> La página que has solicitado parece no existir o aún no se ha traducido a tu idioma. Revisa la URL en busca de errores o regresa a la página de inicio. + +Este texto se mostrará una vez por cada idioma activado en tu sitio. Puedes ver esta página en acción [aquí](https://welpo.github.io/tabi/404.html). + +## ¿Cómo activo el soporte multilingüe? + +Para habilitar el soporte para varios idiomas, necesitas configurar la variable `languages` en `config.toml`. Por ejemplo, si quieres un sitio con inglés como idioma principal que también admita hindi y español, puedes configurar tu `config.toml` de la siguiente manera: + +```toml +base_url = "https://example.com" +title = "My Site" +default_language = "en" + +[languages.hi] +title = "मेरी वेबसाइट" + +[languages.es] +title = "Mi web" +``` + +En cada sección de idioma puedes establecer otras variables como `taxonomies`, `description`… Consulta la [documentación de soporte multilingüe de Zola](https://www.getzola.org/documentation/content/multilingual/) para más información. + +## ¿Qué son estos códigos de dos letras? + +Los códigos de dos letras son [códigos de idioma ISO 639-1](https://localizely.com/iso-639-1-list/), que sirven para identificar idiomas de una manera estandarizada. + +tabi utiliza estos códigos para permitir la navegación entre idiomas y traducir el tema. + +## ¿Cómo personalizo o reemplazo una cadena de texto específica en mi sitio web? + +tabi busca los archivos de cadenas en el siguiente orden. `$base_directory` es donde reside tu sitio Zola (donde se guarda `config.toml`): + +1. `$base_directory + "i18n"` +2. `$base_directory + "themes/tabi/i18n"` + +Por lo tanto, si creas `i18n/en.toml` en tu directorio base, tabi leerá las cadenas de texto de ese archivo en lugar de las cadenas predeterminadas en inglés. Puedes hacer esto para cualquier idioma, soportado o no. + +Asegúrate de copiar todo el archivo para ese idioma primero, o el tema usará el inglés para las claves faltantes. + +## ¿Qué pasa si falta una traducción o está incompleta? + +Si una cadena no se encuentra en el archivo de idioma, tabi recurrirá a la cadena predeterminada en inglés. + +## Mi idioma no está soportado. ¿Puedo contribuir con una traducción? + +¡Por supuesto! Siempre estamos buscando añadir soporte para más idiomas. Puedes contribuir con una traducción creando una Pull Request en el [repositorio de tabi](https://github.com/welpo/tabi). + +Puedes usar el [archivo en inglés](https://github.com/welpo/tabi/blob/main/i18n/en.toml) como base para traducir las cadenas a tu idioma. Asegúrate de mantener la misma estructura. + +El archivo debe llevar el nombre del código de dos letras de tu idioma y debe ser un archivo TOML. Por ejemplo, si quieres añadir soporte para el suajili, puedes crear un archivo llamado `sw.toml` en el directorio `i18n`. + +Nota: cuando pruebes tu traducción, es posible que necesites reiniciar `zola serve` para ver los cambios, ya que Zola no siempre detecta cambios en los archivos TOML. + +## He encontrado un error en una traducción. ¿Cómo lo corrijo? + +Si encuentras un error en una traducción, puedes crear un problema o una solicitud de extracción en el [repositorio de tabi](https://github.com/welpo/tabi). + +## ¿Cómo actualizo las traducciones después de una actualización del tema? + +Si no personalizaste las traducciones, basta con actualizar el tema. + +Si lo hiciste, tendrás que actualizar manualmente las traducciones. Puedes hacerlo copiando las nuevas cadenas de los archivos correspondientes y pegándolas en tu archivo personalizado. + +## ¿tabi traduce el contenido de mi sitio? + +No. tabi sólo traduce el tema. Los posts deberás traducirlos tú mismo. diff --git a/content/blog/faq-languages.md b/content/blog/faq-languages.md new file mode 100644 index 0000000..03df558 --- /dev/null +++ b/content/blog/faq-languages.md @@ -0,0 +1,129 @@ ++++ +title = "Lost in Translation? Not with tabi's Multilingual Capabilities" +date = 2023-09-12 +description = "Master the art of serving a global audience through tabi's built-in multilingual features. Learn how to change the default language, add multilingual support, and contribute your own translations." + +[taxonomies] +tags = ["showcase", "tutorial", "FAQ"] + +[extra] +quick_navigation_buttons = true +toc_ignore_pattern = "^(Frequently Asked Questions)" ++++ + +To broaden your reach to a global audience, tabi streamlines the process of building multilingual websites. In this guide, we'll walk you through everything you need to know—from setting a default language for your site to contributing your own translations. Let's get started! + +### Frequently Asked Questions + + + +## What languages does tabi support? + +tabi supports the following languages: + +- Catalan +- Chinese (Simplified) +- English +- French +- German +- Hindi +- Italian +- Japanese +- Korean +- Portuguese (European) +- Russian +- Spanish +- Ukranian + +For an always up to date list of supported languages, refer to the [`i18n` directory](https://github.com/welpo/tabi/tree/main/i18n) in the tabi repository. + +## How do I set a default language for my site? + +You can set the default language for your site by defining the `default_language` variable in your `config.toml` file. + +For instance, if you want (Simplified) Chinese to be the primary language, simply add this line to `config.toml`: + +```toml, hl_lines=03 +base_url = "https://welpo.github.io/tabi" +title = "~/tabi" +default_language = "zh" +``` + +All of tabi's text strings will be translated to that language, if supported. + +## How does tabi handle multilingual support? + +Zola automatically generates URLs for each non-default language like this: `{base_url}/{language_code}/{post}`. + +tabi facilitates the navigation between languages by adding a language switcher to the navigation bar (only shown when there's more than one language enabled). + +If you [scroll up](#) to the navigation bar, you'll see the language switcher (the globe icon). Hovering over it will display a dropdown with the available languages. Clicking on a language's name will take you to the same page in that language. + +If a specific page is not available in a language, tabi will display a 404 page with the text: + +> The page you've requested seems to be missing or hasn't been translated into your language yet. Check the URL for errors or go back to the homepage. + +This text will be shown once for each language enabled on your site. You can see this page in action [here](https://welpo.github.io/tabi/404.html). + +## How do I enable multilingual support? + +To enable multilingual support, you need to set the `languages` variable in your `config.toml` file. For example, if want an English-default site with support for Hindi and Spanish, you can set up your `config.toml` like so: + +```toml +base_url = "https://example.com" +title = "My Site" +default_language = "en" + +[languages.hi] +title = "मेरी वेबसाइट" + +[languages.es] +title = "Mi web" +``` + +On each language's section, you can set other variables like `taxonomies`, `description`, whether to generate a feed… Refer to Zola's [multilingual support documentation](https://www.getzola.org/documentation/content/multilingual/) for more information. + +## What are these two letter codes? + +The two letter codes are [ISO 639-1 language codes](https://localizely.com/iso-639-1-list/). They are used to identify languages in a standardised way. + +tabi uses these codes to allow navigation between languages and translate the theme. + +## How do I customise or override a specific text string on my website? + +tabi looks for the strings files in the following order. `$base_directory` is where your Zola site resides (where `config.toml` is stored): + +1. `$base_directory + "i18n"` +2. `$base_directory + "themes/tabi/i18n"` + +So if you create `i18n/en.toml` in your base directory, tabi will read the strings from that file instead of the default English strings. You can do this for any language, supported or not. + +Make sure to copy the entire file for that language first, or the theme will fall back to the default English strings. + +## What happens if a translation is missing or incomplete? + +If a string is not found in the language file, tabi will fall back to the default English string. + +## My language is not supported. Can I contribute a translation? + +Please do! We are always looking to add support for more languages. You can contribute a translation by creating a pull request in the [tabi repository](https://github.com/welpo/tabi). + +You can use the [English file](https://github.com/welpo/tabi/blob/main/i18n/en.toml) as a base to translate the strings to your language. Please make sure to follow the same structure. + +The file should be named after the two letter code of your language, and should be a TOML file. For example, if you want to add support for Swahili, you can create a file named `sw.toml` in the `i18n` directory. + +Note: when testing your translation, you might need to restart `zola serve` to see the changes, as Zola doesn't always detect changes in the TOML files. + +## I've found an error in a translation. How do I fix it? + +If you find an error in a translation, you can create an issue or a pull request in the [tabi repository](https://github.com/welpo/tabi). + +## How do I update the translations after a theme update? + +If you didn't customise the translations, simply updating the theme will update the translations. + +If you did, you will need to manually update the translations. You can do this by copying the new strings from the corresponding files, and pasting them in your custom file. + +## Does tabi translate my content? + +No. tabi only translates the theme's text strings. You will need to translate your content yourself. diff --git a/i18n/ca.toml b/i18n/ca.toml new file mode 100644 index 0000000..96b6baa --- /dev/null +++ b/i18n/ca.toml @@ -0,0 +1,57 @@ +language_name = "Català" # Shown in language picker for multi-language sites. +date_locale = "ca_ES" +full_stop ="." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "arxiu" +tags = "etiquetes" +projects = "projectes" + +# Navigation. +read_more = "Llegir més" +post = "entrada" +posts = "entrades" # Plural of "post". +prev = "Anterior" # As in "Previous" page. +next = "Següent" # As in "Next" page. +of = "de" # E.g. Page 1 "of" 3 +all_posts = "Totes les entrades" +all_tags = "Totes les etiquetes" + +# Post metadata. +draft = "ESBORRANY" +min_read = "min de lectura" +words = "paraules" +last_updated_on = "Última actualizació el" +see_changes = "Veure canvis" + +# Post body. +table_of_contents = "Taula de contingut" +load_comments = "Carregar comentaris" + +# Footer: Powered by Zola and tabi. +powered_by = "Propulsat per" +and = "i" +site_source = "Codi del lloc" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "La pàgina que has sol·licitat sembla que no existeix" +translation_missing = "o encara no s'ha traduït al teu idioma" +check_url = "Comprova l'URL per detectar errors o" +go_home = "torna a la pàgina d'inici" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Mostra la cita original" +show_translation = "Mostra la traducció" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Aquest és un canal web, també conegut com a canal Atom. Subscriu-te copiant l'URL de la barra d'adreces al teu lector de notícies. Visita About Feeds per aprendre més i començar. És gratuït." +visit_the_site = "Visita la web" +recent_posts = "Publicacions recents" diff --git a/i18n/de.toml b/i18n/de.toml new file mode 100644 index 0000000..a70a3b6 --- /dev/null +++ b/i18n/de.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "Deutsch" # Shown in language picker for multi-language sites. +date_locale = "de_DE" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "archiv" +tags = "tags" +projects = "projekte" + +# Navigation. +read_more = "Weiterlesen" +post = "beitrag" +posts = "beiträge" # Plural of "post". +prev = "Vorherig" # As in "Previous" page. +next = "Nächst" # As in "Next" page. +of = "von" # E.g. Page 1 "of" 3 +all_posts = "Alle Beiträge" +all_tags = "Alle Tags" + +# Post metadata. +draft = "ENTWURF" +min_read = "min. lesedauer" +words = "wörter" +last_updated_on = "Zuletzt aktualisiert am" +see_changes = "Änderungen anzeigen" + +# Post body. +table_of_contents = "Inhaltsverzeichnis" +load_comments = "Kommentare laden" + +# Footer. +powered_by = "Angetrieben von" +and = "und" +site_source = "Quellcode der Seite" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "Die Seite, die du angefordert hast, scheint nicht zu existieren" +translation_missing = "oder wurde noch nicht in deine Sprache übersetzt" +check_url = "Überprüfe die URL auf Fehler oder" +go_home = "zurück zur Startseite gehen" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Originalzitat anzeigen" +show_translation = "Übersetzung anzeigen" +open_quotation_mark = "„" +close_quotation_mark = "“" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Dies ist ein Web-Feed, auch bekannt als Atom-Feed. Abonnieren Sie, indem Sie die URL aus der Adressleiste in Ihren Nachrichtenleser kopieren. Besuchen Sie About Feeds, um mehr zu erfahren und loszulegen. Es ist kostenlos." +visit_the_site = "Besuchen Sie die Webseite" +recent_posts = "Aktuelle Beiträge" diff --git a/i18n/en.toml b/i18n/en.toml new file mode 100644 index 0000000..ffd1e7b --- /dev/null +++ b/i18n/en.toml @@ -0,0 +1,57 @@ +language_name = "English" # Shown in language picker for multi-language sites. +date_locale = "en_GB" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "archive" +tags = "tags" +projects = "projects" + +# Navigation. +read_more = "Read more" +post = "post" +posts = "posts" # Plural of "post". +prev = "Prev" # As in "Previous" page. +next = "Next" # As in "Next" page. +of = "of" # E.g. Page 1 "of" 3 +all_posts = "All posts" +all_tags = "All tags" + +# Post metadata. +draft = "DRAFT" +min_read = "min read" +words = "words" +last_updated_on = "Last updated on" +see_changes = "See changes" + +# Post body. +table_of_contents = "Table of Contents" +load_comments = "Load comments" + +# Footer: Powered by Zola and tabi. +powered_by = "Powered by" +and = "&" +site_source = "Site source" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "The page you've requested seems to be missing" +translation_missing = "or hasn't been translated into your language yet" +check_url = "Check the URL for errors or" +go_home = "go back to the homepage" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Show original quote" +show_translation = "Show translation" +open_quotation_mark = "“" +close_quotation_mark = "”" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "This is a web feed, also known as an Atom feed. Subscribe by copying the URL from the address bar into your newsreader. Visit About Feeds to learn more and get started. It's free." +visit_the_site = "Visit website" +recent_posts = "Recent posts" diff --git a/i18n/es.toml b/i18n/es.toml new file mode 100644 index 0000000..a82c664 --- /dev/null +++ b/i18n/es.toml @@ -0,0 +1,57 @@ +language_name = "Español" # Shown in language picker for multi-language sites. +date_locale = "es_ES" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "archivo" +tags = "etiquetas" +projects = "proyectos" + +# Navigation. +read_more = "Leer más" +post = "entrada" +posts = "entradas" # Plural of "post". +prev = "Anterior" # As in "Previous" page. +next = "Siguiente" # As in "Next" page. +of = "sur" # E.g. Page 1 "of" 3 +all_posts = "Todas las entradas" +all_tags = "Todas las etiquetas" + +# Post metadata. +draft = "BORRADOR" +min_read = "min de lectura" +words = "palabras" +last_updated_on = "Última actualización el" +see_changes = "Ver cambios" + +# Post body. +table_of_contents = "Tabla de contenido" +load_comments = "Cargar comentarios" + +# Footer: Powered by Zola and tabi. +powered_by = "Impulsado por" +and = "y" +site_source = "Código del sitio" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "La página que has solicitado parece no existir" +translation_missing = "o aún no se ha traducido a tu idioma" +check_url = "Revisa la URL en busca de errores o" +go_home = "regresa a la página de inicio" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Mostrar cita original" +show_translation = "Mostrar traducción" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Esta es una fuente web, también conocida como fuente Atom. Suscríbete copiando la URL de la barra de direcciones en tu lector de noticias. Visita About Feeds para aprender más y empezar. Es gratis. " +visit_the_site = "Visita la web" +recent_posts = "Publicaciones recientes" diff --git a/i18n/fr.toml b/i18n/fr.toml new file mode 100644 index 0000000..5b93bd7 --- /dev/null +++ b/i18n/fr.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "Français" # Shown in language picker for multi-language sites. +date_locale = "fr_FR" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "archives" +tags = "étiquettes" +projects = "projets" + +# Navigation. +read_more = "Lire plus" +post = "article" +posts = "articles" # Plural of "post". +prev = "Précédent" # As in "Previous" page. +next = "Suivant" # As in "Next" page. +of = "de" # E.g. Page 1 "of" 3 +all_posts = "Tous les articles" +all_tags = "Toutes les étiquettes" + +# Post metadata. +draft = "BROUILLON" +min_read = "min de lecture" +words = "mots" +last_updated_on = "Dernière mise à jour le" +see_changes = "Voir les modifications" + +# Post body. +table_of_contents = "Table des matières" +load_comments = "Afficher les commentaires" + +# Footer: Powered by Zola and tabi. +powered_by = "Propulsé par" +and = "et" +site_source = "Code du site" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "La page que vous avez demandée semble ne pas exister" +translation_missing = "ou n'a pas encore été traduite dans votre langue" +check_url = "Vérifiez l'URL pour des erreurs ou" +go_home = "retournez à la page d'accueil" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Afficher la citation originale" +show_translation = "Afficher la traduction" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Ceci est un flux web, également connu sous le nom de flux Atom. Abonnez-vous en copiant l'URL de la barre d'adresse dans votre lecteur de nouvelles. Visitez About Feeds pour en savoir plus et commencer. C'est gratuit." +visit_the_site = "Visitez le site web" +recent_posts = "Articles récents" diff --git a/i18n/hi.toml b/i18n/hi.toml new file mode 100644 index 0000000..4c32ebb --- /dev/null +++ b/i18n/hi.toml @@ -0,0 +1,59 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, please open an issue or submit a pull request. +language_name = "हिंदी" # Shown in language picker for multi-language sites. +date_locale = "hi_IN" +full_stop ="।" # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "ब्लॉग" +archive = "संग्रह" +tags = "टैग" +projects = "परियोजनाएं" + +# Navigation. +read_more = "और पढ़ें" +post = "पोस्ट" +posts = "पोस्ट्स" # Plural of "post". +prev = "पिछला" # As in "Previous" page. +next = "अगला" # As in "Next" page. +of = "का" # E.g. Page 1 "of" 3 +all_posts = "सभी पोस्ट्स" +all_tags = "सभी टैग्स" + +# Post metadata. +draft = "मसौदा" +min_read = "मिनट पठन समय" +words = "शब्द" +last_updated_on = "आखिरी अपडेट" +see_changes = "बदलाव देखें" + +# Post body. +table_of_contents = "विषय सूची" +load_comments = "कमेंट्स लोड करें" + +# Footer: Powered by Zola and tabi. +powered_by = "चालित द्वारा" +and = "और" +site_source = "साइट का स्रोत" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "आपके द्वारा अनुरोधित पृष्ठ मौजूद नहीं है" +translation_missing = "या फिर आपकी भाषा में अनुवाद नहीं किया गया है" +check_url = "URL में त्रुटियों की जांच करें या" +go_home = "मुख्य पृष्ठ पर वापस जाएं" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "मौलिक उद्धरण दिखाएं" +show_translation = "अनुवाद दिखाएं" +open_quotation_mark = "“" +close_quotation_mark = "”" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "यह एक वेब फ़ीड है, जिसे एटम फ़ीड भी कहा जाता है। अपने न्यूज़रीडर में एड्रेस बार से URL कॉपी करके सब्सक्राइब करें। About Feeds पर जाकर और अधिक जानकारी प्राप्त करें और शुरू करें। यह सेवा मुफ़्त है।" +visit_the_site = "वेबसाइट पर जाएं" +recent_posts = "हाल की पोस्ट्स" diff --git a/i18n/it.toml b/i18n/it.toml new file mode 100644 index 0000000..ccaeaa9 --- /dev/null +++ b/i18n/it.toml @@ -0,0 +1,56 @@ +language_name = "Italiano" # Shown in language picker for multi-language sites. +date_locale = "it_IT" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu. +blog = "blog" +archive = "archivio" +tags = "tag" +projects = "progetti" + +# Navigation. +read_more = "Leggi di più" +post = "post" +posts = "post" # Plural of "post". +prev = "Precedente" # As in "Previous" page. +next = "Successivo" # As in "Next" page. +of = "di" # E.g. Page 1 "of" 3 +all_posts = "Tutti i post" +all_tags = "Tutti i tag" + +# Post metadata. +draft = "BOZZA" +min_read = "min di lettura" +words = "parole" +last_updated_on = "Ultimo aggiornamento il" +see_changes = "Vedi modifiche" + +# Post body. +table_of_contents = "Indice" +load_comments = "Carica commenti" + +# Footer: Powered by Zola and tabi. +powered_by = "Alimentato da" +and = "e" +site_source = "Codice del sito" + +# 404 error. +page_missing = "La pagina che hai richiesto sembra non esistere" +translation_missing = "o non è ancora stata tradotta nella tua lingua" +check_url = "Controlla l'URL per errori o" +go_home = "torna alla homepage" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Mostra citazione originale" +show_translation = "Mostra traduzione" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Questo è un feed web, noto anche come feed Atom. Iscriviti copiando l'URL dalla barra degli indirizzi nel tuo lettore di notizie. Visita About Feeds per saperne di più e iniziare. È gratuito." +visit_the_site = "Visita il sito web" +recent_posts = "Post recenti" diff --git a/i18n/ja.toml b/i18n/ja.toml new file mode 100644 index 0000000..ef02eb0 --- /dev/null +++ b/i18n/ja.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "日本語" # Shown in language picker for multi-language sites. +date_locale = "ja_JP" +full_stop = "。" # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "ブログ" +archive = "アーカイブ" +tags = "タグ" +projects = "プロジェクト" + +# Navigation. +read_more = "続きを読む" +post = "投稿" +posts = "投稿一覧" # Plural of "post". +prev = "前" # As in "Previous" page. +next = "次" # As in "Next" page. +of = "中" # E.g. Page 1 "of" 3 +all_posts = "すべての投稿" +all_tags = "すべてのタグ" + +# Post metadata. +draft = "ドラフト" +min_read = "読了時間(分)" +words = "単語数" +last_updated_on = "最終更新日" +see_changes = "変更を見る" + +# Post body. +table_of_contents = "目次" +load_comments = "コメントを読む" + +# Footer: Powered by Zola and tabi. +powered_by = "Powered by" +and = "と" +site_source = "サイトのソースコード" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "お探しのページは存在しません" +translation_missing = "または、まだあなたの言語に翻訳されていません" +check_url = "URLが正しいか確認してください、または" +go_home = "ホームページに戻る" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "オリジナルの引用を見る" +show_translation = "翻訳を見る" +open_quotation_mark = "「" +close_quotation_mark = "」" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "これはウェブフィードです、また、Atomフィードとしても知られています。URLをアドレスバーからニュースリーダーにコピーして登録してください。About Feedsを訪れて、詳細を知り、始めてください。無料です。" +visit_the_site = "ウェブサイトを訪れる" +recent_posts = "最近の投稿" diff --git a/i18n/ko.toml b/i18n/ko.toml new file mode 100644 index 0000000..a652b7c --- /dev/null +++ b/i18n/ko.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "한국어" # Shown in language picker for multi-language sites. +date_locale = "ko_KR" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "블로그" +archive = "아카이브" +tags = "태그" +projects = "프로젝트" + +# Navigation. +read_more = "더 읽기" +post = "게시물" +posts = "게시물" # Plural of "post". +prev = "이전" # As in "Previous" page. +next = "다음" # As in "Next" page. +of = "중" # E.g. Page 1 "of" 3 +all_posts = "모든 게시물" +all_tags = "모든 태그" + +# Post metadata. +draft = "임시 저장" +min_read = "분 읽기" +words = "단어" +last_updated_on = "최근 업데이트" +see_changes = "변경사항 보기" + +# Post body. +table_of_contents = "목차" +load_comments = "댓글 불러오기" + +# Footer: Powered by Zola and tabi. +powered_by = "제공됨" +and = "&" +site_source = "사이트 소스" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "요청하신 페이지가 없습니다" +translation_missing = "또는 아직 해당 언어로 번역되지 않았습니다" +check_url = "URL을 확인하거나" +go_home = "홈페이지로 돌아가기" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "원문 인용 보기" +show_translation = "번역 보기" +open_quotation_mark = "“" +close_quotation_mark = "”" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "이것은 웹 피드이며, Atom 피드로도 알려져 있습니다. 주소 표시 줄의 URL을 뉴스 리더로 복사하여 구독하세요. About Feeds를 방문하여 자세히 알아보고 시작하세요. 무료입니다." +visit_the_site = "웹사이트 방문하기" +recent_posts = "최근 게시물" diff --git a/i18n/pt.toml b/i18n/pt.toml new file mode 100644 index 0000000..29c1c71 --- /dev/null +++ b/i18n/pt.toml @@ -0,0 +1,57 @@ +language_name = "Português" # Shown in language picker for multi-language sites. +date_locale = "pt_PT" +full_stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "blog" +archive = "arquivo" +tags = "etiquetas" +projects = "projetos" + +# Navigation. +read_more = "Ler mais" +post = "publicação" +posts = "publicações" # Plural of "post". +prev = "Anterior" # As in "Previous" page. +next = "Seguinte" # As in "Next" page. +of = "de" # E.g. Page 1 "of" 3 +all_posts = "Todas as publicações" +all_tags = "Todas as etiquetas" + +# Post metadata. +draft = "RASCUNHO" +min_read = "min de leitura" +words = "palavras" +last_updated_on = "Última atualização em" +see_changes = "Ver alterações" + +# Post body. +table_of_contents = "Índice de conteúdo" +load_comments = "Carregar comentários" + +# Footer: Powered by Zola and tabi. +powered_by = "Impulsionado por" +and = "e" +site_source = "Código do site" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "A página que solicitou não existe" +translation_missing = "ou ainda não foi traduzida para o seu idioma" +check_url = "Verifique se o URL está correto ou" +go_home = "volte à página inicial" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Mostrar citação original" +show_translation = "Mostrar tradução" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Isto é um feed web, também conhecido como feed Atom. Subscreva copiando o URL da barra de endereços para o seu leitor de notícias. Visite About Feeds para aprender mais e começar. É grátis." +visit_the_site = "Visite o website" +recent_posts = "Publicações recentes" diff --git a/i18n/ru.toml b/i18n/ru.toml new file mode 100644 index 0000000..9f99991 --- /dev/null +++ b/i18n/ru.toml @@ -0,0 +1,57 @@ +language_name = "Русский" # Shown in language picker for multi-language sites. +date_locale = "ru_RU" +full-stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu. +blog = "блог" +archive = "архив" +tags = "теги" +projects = "проекты" + +# Navigation. +read_more = "Читать далее" +post = "пост" +posts = "посты" # Plural of "post". +prev = "Пред." # As in "Previous" page. +next = "След." # As in "Next" page. +of = "из" # E.g. Page 1 "of" 3 +all_posts = "Все посты" +all_tags = "Все теги" + +# Post metadata. +draft = "ЧЕРНОВИК" +min_read = "мин чтения" +words = "слова" +last_updated_on = "Последнее обновление" +see_changes = "Смотреть изменения" + +# Post body. +table_of_contents = "Содержание" +load_comments = "Загрузить комментарии" + +# Footer: Powered by Zola and tabi. +powered_by = "Под управлением" +and = "&" +site_source = "Исходный код сайта" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "Запрашиваемая вами страница отсутствует" +translation_missing = "или еще не переведена на ваш язык" +check_url = "Проверьте URL на ошибки или" +go_home = "вернитесь на главную страницу" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Показать оригинальную цитату" +show_translation = "Показать перевод" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Это веб-фид, известный также как Atom-фид. Чтобы подписаться, скопируйте URL из адресной строки в ваш RSS-ридер. Посетите About Feeds для дополнительной информации и начала использования." +visit_the_site = "Посетить веб-сайт" +recent_posts = "Последние посты" diff --git a/i18n/uk.toml b/i18n/uk.toml new file mode 100644 index 0000000..ec20359 --- /dev/null +++ b/i18n/uk.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "Українська" # Shown in language picker for multi-language sites. +date_locale = "uk_UA" +full-stop = "." # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu +blog = "блог" +archive = "архів" +tags = "теги" +projects = "проєкти" + +# Navigation. +read_more = "Читати далі" +post = "пост" +posts = "пости" # Plural of "post". +prev = "Попер." # As in "Previous" page. +next = "Наст." # As in "Next" page. +of = "з" # E.g. Page 1 "of" 3 +all_posts = "Всі пости" +all_tags = "Всі теги" + +# Post metadata. +draft = "ЧЕРНЕТКА" +min_read = "хв. читання" +words = "слова" +last_updated_on = "Останнє оновлення" +see_changes = "Переглянути зміни" + +# Post body. +table_of_contents = "Зміст" +load_comments = "Завантажити коментарі" + +# Footer: Powered by Zola and tabi. +powered_by = "Під управлінням" +and = "та" +site_source = "Вихідний код сайту" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "Сторінка, яку ви запитуєте, відсутня" +translation_missing = "або ще не перекладена на вашу мову" +check_url = "Перевірте URL на помилки або" +go_home = "поверніться на головну сторінку" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "Показати оригінальну цитату" +show_translation = "Показати переклад" +open_quotation_mark = "«" +close_quotation_mark = "»" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "Це веб-канал, також відомий як Atom-канал. Щоб підписатися, скопіюйте URL з адресного рядка у ваш RSS-читач. Відвідайте About Feeds для додаткової інформації та початку використання." +visit_the_site = "Відвідати веб-сайт" +recent_posts = "Останні пости" diff --git a/i18n/zh.toml b/i18n/zh.toml new file mode 100644 index 0000000..c4fe7dd --- /dev/null +++ b/i18n/zh.toml @@ -0,0 +1,61 @@ +# This has been machine translated. +# If you would like to help correct errors or improve the translation, +# please open an issue or submit a pull request. +# https://github.com/welpo/tabi +language_name = "简体中文" # Shown in language picker for multi-language sites. +date_locale = "zh_CN" +full_stop = "。" # Used at the end of a sentence. + +# Menu items. +# Should match the names in config.extra.menu. +blog = "博客" +archive = "归档" +tags = "标签" +projects = "项目" + +# Navigation. +read_more = "阅读更多" +post = "文章" +posts = "文章" # Plural of "post". +prev = "上一页" # As in "Previous" page. +next = "下一页" # As in "Next" page. +of = "/" # E.g. Page 1 "of" 3 +all_posts = "所有文章" +all_tags = "所有标签" + +# Post metadata. +draft = "草稿" +min_read = "分钟阅读" +words = "单词" +last_updated_on = "最后更新于" +see_changes = "查看更改" + +# Post body. +table_of_contents = "目录" +load_comments = "加载评论" + +# Footer: Powered by Zola and tabi. +powered_by = "由" +and = "和" +site_source = "网站源代码" + +# 404 error. +# https://welpo.github.io/tabi/404.html +page_missing = "您请求的页面似乎不存在" +translation_missing = "或尚未翻译成您的语言" +check_url = "请检查URL是否有误或" +go_home = "返回首页" + +# For multilingual quote shortcode. +# https://welpo.github.io/tabi/blog/shortcodes/#multilingual-quotes +show_original_quote = "显示原文引用" +show_translation = "显示译文" +open_quotation_mark = "“" +close_quotation_mark = "”" + +# Translations for stylised Atom feed. +# https://welpo.github.io/tabi/atom.xml +# Must contain "About Feeds"; it will become a link. +about_feeds = "这是一个网页订阅源,也称为Atom订阅源。通过复制地址栏中的URL到您的新闻阅读器订阅。访问 About Feeds 了解更多并开始使用。免费。" +visit_the_site = "访问网站" +recent_posts = "近期文章" diff --git a/sass/parts/_header.scss b/sass/parts/_header.scss index 3cf6ff8..fd9c204 100644 --- a/sass/parts/_header.scss +++ b/sass/parts/_header.scss @@ -117,6 +117,7 @@ header { transform: translateX(-50%); text-align: center; background: var(--background-color); + white-space: nowrap; a { display: block; diff --git a/static/custom_subset.css b/static/custom_subset.css index 95361a6..9a3d727 100644 --- a/static/custom_subset.css +++ b/static/custom_subset.css @@ -1 +1 @@ -@font-face{font-family:"Inter Subset";src:url(data:application/font-woff2;base64,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);} +@font-face{font-family:"Inter Subset";src:url(data:application/font-woff2;base64,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);} diff --git a/static/feed_style.xsl b/static/feed_style.xsl index 025ae81..a53c20d 100644 --- a/static/feed_style.xsl +++ b/static/feed_style.xsl @@ -19,7 +19,17 @@