diff --git a/app/Language/br/Fediverse.php b/app/Language/br/Fediverse.php index 1ea40298..e905ada3 100644 --- a/app/Language/br/Fediverse.php +++ b/app/Language/br/Fediverse.php @@ -16,7 +16,7 @@ return [ 'title' => 'Heuliañ {actorDisplayName}', 'subtitle' => 'Emaoc\'h o vont da heuliañ:', 'accountNotFound' => 'N\'eo ket bet kavet ar gont-se.', - 'remoteFollowNotAllowed' => 'N\'eo ket aotreet heuliañ a-bell gant servijer ar gont-se war a seblant…', + 'remoteFollowNotAllowed' => 'N\'eo ket aotreet heuliañ a-bell gant dafariad ar gont-se war a seblant…', 'submit' => 'Kenderc\'hel gant an heuliañ', ], 'favourite' => [ diff --git a/docs/src/es/getting-started/install.md b/docs/src/es/getting-started/install.md index 7d35b296..d12e2d34 100644 --- a/docs/src/es/getting-started/install.md +++ b/docs/src/es/getting-started/install.md @@ -1,12 +1,13 @@ --- -title: Installation +title: Instalación sidebarDepth: 3 --- -# How to install Castopod? +# ¿Cómo instalar Castopod? -Castopod was thought-out to be easy to install. Whether using dedicated or -shared hosting, you can install it on most PHP-MySQL compatible web servers. +Castopod era de todas maneras fácil de instalar. Ya sea usando alojamiento +dedicado o compartido, se puede instalar en la mayoría de servidores web +compatibles con PHP-MySQL. ## Requirements @@ -111,12 +112,12 @@ want to generate Video Clips. The following extensions must be installed: 1. Run the Castopod install script by going to the install wizard page (`https://your_domain_name.com/cp-install`) in your favorite web browser. 2. Follow the instructions on your screen. -3. Start podcasting! +3. ¡Empieza a crear podcasting! -::: info Note +::: Nota de información -The install script writes a `.env` file in the package root. If you cannot go -through the install wizard, you can +El script de instalación escribe un archivo `.env` en la raíz del paquete. If +you cannot go through the install wizard, you can [create and update the `.env` file manually](#alternative-manual-configuration). ::: diff --git a/docs/src/es/getting-started/security.md b/docs/src/es/getting-started/security.md index e205698d..58c13a76 100644 --- a/docs/src/es/getting-started/security.md +++ b/docs/src/es/getting-started/security.md @@ -1,23 +1,24 @@ --- -title: Security +title: Seguridad --- -# Security concerns +# Problemas de seguridad -Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP -framework that encourages -[good security practices](https://codeigniter.com/user_guide/concepts/security.html). +Castopod está construido sobre [CodeIgniter4](https://codeigniter.com/), un +framework de PHP que alienta +[buenas prácticas de seguridad](https://codeigniter.com/user_guide/concepts/security.html). -To maximize your instance's safety and prevent any malicious attack, we -recommend you update all your Castopod files permissions after installation or -updates (to avoid any prior permission error): +Para maximizar la seguridad de su instancia y prevenir cualquier ataque +malicioso, le recomendamos que actualice todos los permisos de sus archivos +Castopod después de la instalación o actualizaciones (para evitar cualquier +error de permiso previo): -- `writable/` folder must be **readable** and **writable**. -- `public/media/` folder must be **readable** and **writable**. -- any other file must be set to **readonly**. +- `writable/` carpeta debe ser **legible** y **escribible**. +- `public/media/` carpeta debe ser **legible** y **escribible**. +- cualquier otro archivo debe establecerse a **solo lectura**. -For instance, if you are using Apache or NGINX with Ubuntu you may do the -following: +Por ejemplo, si estás usando Apache o NGINX con Ubuntu puedes hacer lo +siguiente: ```bash sudo chown -R root:root /path/to/castopod diff --git a/docs/src/es/index.md b/docs/src/es/index.md index 161b9940..0e949285 100644 --- a/docs/src/es/index.md +++ b/docs/src/es/index.md @@ -2,215 +2,225 @@ sidebarDepth: 2 --- -# Welcome 👋 +# Bienvenido 👋 [![release-badge]][release] [![license-badge]][license] [![contributions-badge]][contributions] [![semantic-release-badge]][semantic-release] [![crowdin-badge]][crowdin] [![discord-badge]][discord] [![stars-badge]][stars] -Castopod is a free & open-source hosting platform made for podcasters who want -engage and interact with their audience. +Castopod es una plataforma de alojamiento libre & de código abierto hecha para +podcasters que quieren comprometerse e interactuar con su audiencia. -Castopod is easy to install and was built on top of -[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very -small footprint. +Castopod es fácil de instalar y se construyó sobre +[CodeIgniter4](https://codeigniter.com/), un potente framework PHP con un muy +pequeña huella. -::: info Status +::: Estado de información -Castopod is currently in **beta** but already quite stable and used by -podcasters around the world! +Castopod está actualmente en **beta** pero ya es bastante estable y es utilizado +por podcasters alrededor de el mundo! :::
- Install + Instalar
-## Features +## Características -- 🌱  Free & open-source (AGPL v3 License) -- 🔐  Focused on data sovereignty: your content, audience, and analytics - belong to you, and you only -- 🪄  Podcasting 2.0 features: GUID, locked, transcripts, funding, chapters, - location, persons, soundbites, … -- 💬  Built-in social network: - - 🚀  Castopod is part of the Fediverse, a decentralized social network - - ❤️  Create posts, share, favourite, and comment on episodes -- 📈  Built-in analytics: - - ⚖️  GDPR / CCPA / LGPD compliant - - 🪙  Standard IABv2 audience measurement - - 🏡  On-premises analytics, no third party involved -- 📢  Built-in marketing tools: - - ✅  SEO ready (open-graph meta-tags, JSON-LD, …) - - 📱  PWA: install as a standalone app - - 🎨  Customizable theme colors - - 🎬  Generate ready-to-share Video clips from episodes - - 🔉  Generate soundbites - - ▶️  Embeddable player, embed your episodes on any website -- 💸  Monetization: - - 🔗  Funding links - - 📲  listen-to-click ads - - 🤝  value4value / WebMonetization -- 📡  Publish your episodes everywhere with RSS: - - 📱  On all indexes and apps: Podcast Index, Apple Podcasts, Spotify, - Google Podcasts, Deezer, Podcast Addict, Podfriend, … - - ⚡  Broadcast your episodes instantly with WebSub -- 📥  Podcast import: move your existing podcast into Castopod -- 📤  Move your podcast out of Castopod -- 🔀  Multi-tenant: host as many podcasts as you want -- 👥  Multi-user: add contributors and set roles -- 🌎  i18n support: translated in English, French & Polish with more to - come! +- 🌱  Gratis & de código abierto (AGPL v3 Licencia) +- 🔐  Centrado en la soberanía de los datos: su contenido, audiencia, y + analíticas le pertenecen a usted, y solo a  usted  +-  Funciones de Podcasting 2.0: GUID, protección y bloqueo del podcast, + transcripciones, fondos, capítulos, ubicación, personas, sonidos, … +- :speech \_balloon:  Red social integrada: + - 🚀  Castopod es parte del Fediverso, una red social descentralizada + - ❤️  Crear mensajes, compartir, favoritos y comentarios en episodios +- 📈  Análisis integrados: + - ⚖️  Compatible con GDPR / CCPA / LGPD + -  Medida estándar de audiencia IABv2 + - 🏡  Estadísticas sin terceros involucrados +- 📢  Herramientas de marketing incorporadas: + - ✅  SEO listo (meta-etiquetas de open-graph, JSON-LD, …) + - 📱  PWA: instalar como una aplicación independiente + - 🎨  Colores del tema personalizables + - 🎬  Genera videoclips listos para compartir a partir de episodios + - 🔉  Genera fragmentos de sonido + - ▶️  Reproductor incrustable, inserta tus episodios en cualquier sitio + web +- 💸  Monetización: + - 🔗  Enlaces de financiación + - 📲  anuncios de click para escuchar + - 🤝  valor por valor/ Monetización web +- 📡  Publica tus episodios en todas partes con RSS: + - 📱  En todos los directorios y aplicaciones: Podcast Index, Apple + Podcasts, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, … + - ⚡  Emite tus episodios al instante con WebSub +- 📥  Importación de Podcast: mueve tu podcast existente a Castopod +- 📤  Mueve tu podcast fuera de Castopod +- 🔀  Multi-podcast: alojar tantos podcasts como quieras +- 👥  Multi-usuario: añadir colaboradores y establecer roles +- 🌎  soporte i18n: traducido en inglés, francés & polaco y con más por + venir! -## Motivation +## Motivación -The podcasting ecosystem is decentralized by nature: you can create your podcast -as an RSS file, publish it on the web and have it shared everywhere online. +El ecosistema de podcasting está descentralizado por naturaleza: puedes crear tu +podcast como un archivo RSS, publicarlo en la web y compartirlo en todas partes. -It is in fact one of the only media to have stayed this way for a long time. +De hecho, es uno de los únicos medios de comunicación que se han mantenido así +durante mucho tiempo. -As usages are evolving, more and more people are getting into podcasts: whether -it is creators finding new ways to share their ideas, or listeners in the search -for better content. +A medida que los usos evolucionan, más y más personas se involucran en los +podcasts: ya sea que son los creadores que encuentran nuevas formas de compartir +sus ideas, o los oyentes en busca para un mejor contenido. -With podcasting becoming more widely used, some companies are trying to shift it -towards a more controlled and centralized medium. +Con el uso más amplio del podcast, algunas empresas están intentando desplazarlo +hacia un medio más controlado y centralizado. -Castopod was created in an effort to provide an open and sustainable alternative -to hosting your podcasts, promoting decentralization to ensure that podcasters -creativity can express itself. +Castopod fue creado en un esfuerzo por proporcionar una alternativa abierta y +sostenible. para alojar sus podcasts, promover la descentralización para +garantizar que los podcasters y su creatividad pueda expresarse. -This project is pushed by the open-source community, and specifically by the -[Fediverse](https://fediverse.party/en/fediverse/) and -[Podcasting 2.0](https://podcastindex.org/) movements. +Este proyecto es promovido por la comunidad de código abierto, y específicamente +por los movimientos [Fediverso](https://fediverse.party/en/fediverse/) y +[Podcasting 2.0](https://podcastindex.org/). -## Comparison with other solutions +## Comparación con otras soluciones -We believe that a solution is not necessarily right for everyone, it highly -depends on your needs. So, here are comparisons with other tools to help you to -gauge whether Castopod is the right fit for you. +Creemos que una solución no es necesariamente adecuada para todos, ya que +depende de tus necesidades. Por lo tanto, aquí hay comparaciones con otras +herramientas para ayudarte a medir si Castopod es el adecuado para ti. -### Castopod vs Wordpress +### Castopod contra Wordpress -Castopod is often referred to as "the Wordpress for podcasts" because of the -similarities between the two. In some ways this is true. And actually, Castopod -was greatly inspired by the Wordpress ecosystem, seeing the ease of adoption -from the community and the number of websites running it. +Castopod se denomina a menudo "el Wordpress para podcasts" debido a las +similitudes entre ambos. En cierto modo esto es cierto. Y en realidad, Castopod +se inspiró en gran medida en el ecosistema de Wordpress, viendo la facilidad de +adopción de la comunidad y el número de sitios web que funcionan ella. -Just like Wordpress, Castopod is free & open source, built using PHP with a -MySQL database and is packaged in a way that you can easily install on most web -servers. +Al igual que Wordpress, Castopod es libre & de código abierto, construido usando +PHP con una base de datos MySQL y está empaquetado de una manera que puede +instalar fácilmente en la mayoría de servidores web. -Wordpress is a great way to create your website and extend it with plugins to -get what you want. It is a full fledged CMS that helps you get any type of -website online. +Wordpress ofrece una gran manera de crear su sitio web y extenderlo con plugins +para obtener lo que quiere. Es un CMS completo que lo ayuda a obtener cualquier +tipo de sitio web en línea. -On the other hand, Castopod is meant to address the podcasters needs -specifically, focusing on podcasting, and nothing else. You don't need any -plugin to get you started on your podcasting journey. +Por otro lado, Castopod está pensado para abordar las necesidades de los +podcasters específicamente, centrándose en el podcasting y nada más. No +necesitas ningún plugin para empezar con tu podcasting journey. -This allows optimizing the processes specific to podcasting: ranging from the -creation of your podcasts and the publication of new episodes all the way to -broadcasting, marketing and analytics. +Esto permite optimizar los procesos específicos del podcasting: desde la +creación de tus podcasts y la publicación de nuevos episodios hasta la +transmisión, marketing y análisis. -Finally, depending on your needs, Wordpress and Castopod can even live side by -side as they share the same requirements! +Por último, dependiendo de sus necesidades, Wordpress y Castopod incluso puede +vivir lado a lado ya que comparten los mismos requisitos! ### Castopod vs Funkwhale -Funkwhale is a self-hosted, modern free and open-source music server. Just as -Castopod, Funkwhale is on the fediverse, a decentralized social network allowing -interoperability between the two. +Funkwhale es un servidor de música autoalojado, moderno y gratuito y de código +abierto. Así como Castopod, Funkwhale está en el fediverso, una red social +descentralizada que permite interoperabilidad entre ambos. -Funkwhale was initially built around music. And later on, as the project -evolved, the ability to host podcasts was introduced. +Funkwhale se construyó inicialmente en torno a la música. Y más adelante, al +evolucionar como proyecto, se introdujo la capacidad de alojar podcasts. -Unlike Funkwhale, Castopod has been designed and built around podcasting -exclusively. This allows easier implementation for features related to the -podcasting ecosystem, such as the podcasting 2.0 features (transcripts, -chapters, locations, persons, …). +A diferencia de Funkwhale, Castopod ha sido diseñado y construido exclusivamente +en torno al podcasting. Esto permite una implementación más fácil para +características relacionadas con el ecosistema de podcasting , tales como las +características de podcasting 2.0 (transcripciones, capítulos, ubicaciones, +personas, …). -So, you should probably use Funkwhale if you want to host your music, and use -Castopod if you want to host your podcasts. +Por lo tanto, probablemente deberías usar Funkwhale si quieres alojar tu música +y usar Castopod si quieres alojar tus podcasts. -### Castopod vs other podcast hosts +### Castopod vs otras plataformas de podcast -There are many solutions for you to host your podcasts, some of which are really -great and [a lot of them](https://podcastindex.org/apps) are jumping into the -Podcasting 2.0 wagon just like Castopod! +Hay muchas soluciones para que usted aloje sus podcasts, algunos de los cuales +son realmente geniales y [muchos de ellos](https://podcastindex. org/apps) están +saltando al vagón del Podcasting 2.0, como Castopod! -Each of these solutions differ from one another, you may compare with the -[list of features](#features). +Cada una de estas soluciones difiere entre sí, puedes comparar con la +[lista de características](#features). -That being said, there are two main differences with other podcasting solutions: +Dicho esto, hay dos diferencias principales con otras soluciones de podcasting: -- Castopod can be self-hosted and is the only solution that allows you to keep - full control over what you produce. Also, as it is open-source, you can even - customize it as you wish. +- Castopod puede ser autoalojado y es la única solución que te permite mantener + control completo sobre lo que produces. También, como es de código abierto, + puedes incluso personalizarlo como desees. -- Castopod is the only solution that currently integrates both a decentralized - social network with ActivityPub as well as many of the podcasting 2.0 - features, hoping to bridge the gap between the two. +- Castopod es la única solución que actualmente integra tanto una red social + descentralizada con ActivityPub como muchas de las características del + podcasting 2.0, con la esperanza de cerrar la brecha entre ambos. -## Contributing +## Contribuciones -Love Castopod and would like to help? Take a look at the following documentation -to get you started. +¿Te encanta Castopod y te gustaría ayudar? Eche un vistazo a la siguiente +documentación para que usted comience. -### Code of conduct +### Código de conducta -Castopod has adopted a Code of Conduct that we expect project participants to -adhere to. Please read the -[CODE_OF_CONDUCT manual](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md) -so that you can understand what actions will and will not be tolerated. +Castopod ha adoptado un Código de Conducta que esperamos que los participantes +del proyecto cumplan. Por favor, lea el +[manual CODE_OF_CONDUCT](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md) +para que pueda entender qué acciones serán y no serán toleradas. -### Contributing guide +### Guía de Contribución -Read our [contributing guide](./contributing/guidelines.md) to learn about our -development process, how to propose bugfixes and improvements, and how to build -and test your changes to Castopod. +Lee nuestra [guía de contribución](./contributing/guidelines.md) para aprender +más sobre nuestro proceso de desarrollo. cómo proponer correcciones de errores y +mejoras, y cómo compilar y probar sus cambios en Castopod. -## Contact +## Contacto -You may reach us for help or ask any question you have on: +Puedes contactarnos para ayuda o hacer cualquier pregunta que tengas sobre: -- [Discord](https://castopod.org/discord) (for direct interaction with - developers and the community) -- [Issue tracker](https://code.castopod.org/adaures/castopod/-/issues) (for - feature requests & bug reports) +- [Discord](https://castopod.org/discord) (para interacción directa con + desarrolladores y la comunidad) +- [Rastreador de problemas](https://code.castopod.org/adaures/castopod/-/issues) + (para solicitudes de características & informes de errores) -Alternatively, you can follow us on social media platforms to get news about -Castopod: +Alternativamente, puedes seguirnos en plataformas de redes sociales para obtener +noticias sobre Castopod: -- [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance) +- [podlibre.social](https://podlibre.social/@Castopod) (Instancia de Mastodon) - [Twitter](https://twitter.com/castopod) - [LinkedIn](https://linkedin.com/company/castopod) - [Facebook](https://www.facebook.com/castopod) -## Sponsors +## Patrocinadores -The ongoing development of Castopod is made possible with the support of its -backers. If you'd like to help, please consider -[sponsoring Castopod's development](https://opencollective.com/castopod/contribute). +El desarrollo en curso de Castopod es posible con el apoyo de sus +contribuyentes. Si quieres ayudar, por favor considera colaborar con +[el desarrollo de Castopod's](https://opencollective.com/castopod/contribute).
- Ad Aures Logo - NLnet Logo + Logo de Ad Aures + Logo de NLnet
-## License +## Licencia -[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/) +[Licencia pública general GNU v3.0](https://choosealicense.com/licenses/agpl-3.0/) -Copyright © 2020-present, [Ad Aures](https://adaures.com/). -https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release -https://img.shields.io/github/license/ad-aures/castopod?color=blue -https://img.shields.io/badge/contributions-welcome-brightgreen.svg -https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg -https://img.shields.io/github/stars/ad-aures/castopod?style=social +Copyright © 2020-presente, [Ad Aures](https://adaures.com/). [release]: https://code.castopod.org/adaures/castopod/-/releases +[release-badge]: + https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release [license]: https://code.castopod.org/adaures/castopod/-/blob/beta/LICENSE.md +[license-badge]: + https://img.shields.io/github/license/ad-aures/castopod?color=blue [contributions]: https://code.castopod.org/adaures/castopod/-/issues +[contributions-badge]: + https://img.shields.io/badge/contributions-welcome-brightgreen.svg [semantic-release]: https://github.com/semantic-release/semantic-release +[semantic-release-badge]: + https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg [discord]: https://castopod.org/discord +[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8 [stars]: https://github.com/ad-aures/castopod/stargazers +[stars-badge]: + https://img.shields.io/github/stars/ad-aures/castopod?style=social [crowdin]: https://translate.castopod.org/project/castopod +[crowdin-badge]: https://badges.crowdin.net/castopod/localized.svg diff --git a/modules/Admin/Language/br/Episode.php b/modules/Admin/Language/br/Episode.php index 946106f3..aed951b7 100644 --- a/modules/Admin/Language/br/Episode.php +++ b/modules/Admin/Language/br/Episode.php @@ -51,7 +51,7 @@ return [ ], 'form' => [ 'file_size_error' => - 'Re vras eo ho restr! {0} eo ar brasder uhelañ. Dav eo deoc\'h kreskaat an talvoudoù `memory_limit`, `upload_max_filesize` ha `post_max_size` en ho restr kefluniañ, a-raok adloc\'hañ ho servijer web hag uskargañ ho restr.', + 'Re vras eo ho restr! {0} eo ar braster uhelañ. Dav eo deoc\'h kreskaat an talvoudoù `memory_limit`, `upload_max_filesize` ha `post_max_size` en ho restr kefluniañ, a-raok adloc\'hañ ho tafariad web hag uskargañ ho restr.', 'audio_file' => 'Restr aodio', 'audio_file_hint' => 'Dibabit ur restr .mp3 pe .m4a.', 'info_section_title' => 'Titouroù ar rann', diff --git a/modules/Admin/Language/br/Home.php b/modules/Admin/Language/br/Home.php index 3ff4c04d..285392b4 100644 --- a/modules/Admin/Language/br/Home.php +++ b/modules/Admin/Language/br/Home.php @@ -9,6 +9,6 @@ declare(strict_types=1); */ return [ - 'all_podcasts' => 'All podcasts', - 'no_podcast' => 'No podcast found', + 'all_podcasts' => 'An holl bodkastoù', + 'no_podcast' => 'N\'eo bet kavet podkast ebet', ]; diff --git a/modules/Admin/Language/br/Install.php b/modules/Admin/Language/br/Install.php index 36e373a2..e73f08a3 100644 --- a/modules/Admin/Language/br/Install.php +++ b/modules/Admin/Language/br/Install.php @@ -9,53 +9,53 @@ declare(strict_types=1); */ return [ - 'manual_config' => 'Manual configuration', + 'manual_config' => 'Kefluniañ dre zorn', 'manual_config_subtitle' => - 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'Krouit ur restr `.env` gant hoc’h arventennoù ha hizivait ar bajenn evit kenderc\'hel gant ar staliañ.', 'form' => [ - 'instance_config' => 'Instance configuration', - 'hostname' => 'Hostname', - 'media_base_url' => 'Media base URL', + 'instance_config' => 'Arventennoù an istañs', + 'hostname' => 'Anv an ostiz', + 'media_base_url' => 'Chomlec\'h diazez ar mediaoù', 'media_base_url_hint' => - 'If you use a CDN and/or an external analytics service, you may set them here.', - 'admin_gateway' => 'Admin gateway', + 'Ma \'z implijit ur CDN pe ur servij diavaez evit muzuliañ heklev, e c\'hellit lakaat anezho amañ.', + 'admin_gateway' => 'Chomlec\'h an daolenn-stur', 'admin_gateway_hint' => - 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', - 'auth_gateway' => 'Auth gateway', + 'An hent evit mont d\'an daolenn-stur (da sk. https://skouer.bzh/cp-admin). Dre ziouer eo cp-admin, met erbedet oc\'h kemmañ anezhañ evit abegoù a denn d\'an diogelroez.', + 'auth_gateway' => 'Chomlec\'h ar c\'hennaskañ', 'auth_gateway_hint' => - 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', - 'database_config' => 'Database configuration', + 'An hent evit mont d\'ar bajenn gennaskañ (da sk. https://skouer.bzh/cp-auth). Dre ziouer eo cp-auth, met erbedet oc\'h kemmañ anezhañ evit abegoù a denn d\'an diogelroez.', + 'database_config' => 'Arventennoù ar stlennvon', 'database_config_hint' => - 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', - 'db_hostname' => 'Database hostname', - 'db_name' => 'Database name', - 'db_username' => 'Database username', - 'db_password' => 'Database password', - 'db_prefix' => 'Database prefix', + 'Castopod a rank bezañ kennesket ouzh ho stlennvon MySQL (pe MariaDB). Mont e darempred gant merour ho tafariad ma n\'emañ ket ganeoc\'h an titouroù-se.', + 'db_hostname' => 'Anv ostiz ar stlennvon', + 'db_name' => 'Anv ar stlennvon (an diaz)', + 'db_username' => 'Anv implijer ar stlennvon', + 'db_password' => 'Ger-tremen ar stlennvon', + 'db_prefix' => 'Rakger an taolennoù', 'db_prefix_hint' => - "The prefix of the Castopod table names, leave as is if you don't know what it means.", - 'cache_config' => 'Cache configuration', + "Rakger taolennoù Castopod. Laoskit evel m'emañ ma ne ouzoc'h ket petra a dalv.", + 'cache_config' => 'Arventennoù ar grubuilh (cache)', 'cache_config_hint' => - 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', - 'cache_handler' => 'Cache handler', + 'Dibabit hoc’h ardoer krubuilh muiañ plijet. Laoskit evel m\'emañ ma ne ouzoc\'h ket petra a dalv.', + 'cache_handler' => 'Aorder krubuilh', 'cacheHandlerOptions' => [ - 'file' => 'File', + 'file' => 'Restroù', 'redis' => 'Redis', 'predis' => 'Predis', ], - 'next' => 'Next', - 'submit' => 'Finish install', - 'create_superadmin' => 'Create your superadmin account', - 'email' => 'Email', - 'username' => 'Username', - 'password' => 'Password', + 'next' => 'War-lerc\'h', + 'submit' => 'Echuiñ ar staliañ', + 'create_superadmin' => 'Krouit ho kont gourverour·ez (superadmin)', + 'email' => 'Postel', + 'username' => 'Anv implijer·ez', + 'password' => 'Ger-tremen', ], 'messages' => [ 'createSuperAdminSuccess' => - 'Your superadmin account has been created successfully. Login to start podcasting!', + 'Ho kont gourverour·ez a zo bet krouet gant berzh. Kevreit ha krogit da bodkastiñ!', 'databaseConnectError' => - 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'N\'en deus ket gellet Castopod kevreañ ouzh ho stlennvon. Kemmit arventennoù ar stlennvon ha klaskit en-dro.', 'writeError' => - "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + "N'haller ket krouiñ/skrivañ ar restr `.env`. Deoc'h-c'hwi da grouiñ anezhi dre zorn diwar ar patrom `.env.example` az o e pakad Castopod.", ], ]; diff --git a/modules/Admin/Language/br/MyAccount.php b/modules/Admin/Language/br/MyAccount.php index 6ebbb30e..df980892 100644 --- a/modules/Admin/Language/br/MyAccount.php +++ b/modules/Admin/Language/br/MyAccount.php @@ -9,10 +9,10 @@ declare(strict_types=1); */ return [ - 'info' => 'My account info', - 'changePassword' => 'Change my password', + 'info' => 'Titouroù diwar-benn ma c\'hont', + 'changePassword' => 'Kemmañ ma ger-tremen', 'messages' => [ - 'wrongPasswordError' => "You've entered the wrong password, try again.", - 'passwordChangeSuccess' => 'Password has been successfully changed!', + 'wrongPasswordError' => "N'eo ket talvoudek ar ger-tremen ho peus skrivet. Klaskit en-dro.", + 'passwordChangeSuccess' => 'Kemmet eo bet ar ger-tremen gant berzh!', ], ]; diff --git a/modules/Admin/Language/br/Navigation.php b/modules/Admin/Language/br/Navigation.php index b84c78ef..b82240f9 100644 --- a/modules/Admin/Language/br/Navigation.php +++ b/modules/Admin/Language/br/Navigation.php @@ -9,33 +9,33 @@ declare(strict_types=1); */ return [ - 'toggle_sidebar' => 'Toggle sidebar', - 'go_to_website' => 'Go to website', - 'go_to_admin' => 'Go to admin', - 'dashboard' => 'Dashboard', - 'admin' => 'Home', - 'podcasts' => 'Podcasts', - 'podcast-list' => 'All podcasts', - 'podcast-create' => 'New podcast', - 'podcast-import' => 'Import a podcast', - 'persons' => 'Persons', - 'person-list' => 'All persons', - 'person-create' => 'New person', + 'toggle_sidebar' => 'Kuzhat/diskouez ar varrenn gostez', + 'go_to_website' => 'Mont d\'al lec\'hienn', + 'go_to_admin' => 'Mont d\'an daolenn-stur', + 'dashboard' => 'Taolenn-stur', + 'admin' => 'Degemer', + 'podcasts' => 'Podkastoù', + 'podcast-list' => 'An holl bodkastoù', + 'podcast-create' => 'Krouiñ ur podkast', + 'podcast-import' => 'Enporzhiañ ur podkast', + 'persons' => 'Emellerien·ezed', + 'person-list' => 'An holl emellerien·ezed', + 'person-create' => 'Krouiñ un emeller·ez', 'fediverse' => 'Kevrebed', - 'fediverse-blocked-actors' => 'Blocked accounts', - 'fediverse-blocked-domains' => 'Blocked domains', - 'users' => 'Users', - 'user-list' => 'All users', - 'user-create' => 'New user', - 'pages' => 'Pages', - 'page-list' => 'All pages', - 'page-create' => 'New Page', - 'settings' => 'Settings', - 'settings-general' => 'General', - 'settings-theme' => 'Theme', + 'fediverse-blocked-actors' => 'Implijerien·ezed stanket', + 'fediverse-blocked-domains' => 'Domanioù stanket', + 'users' => 'Implijerien·ezed', + 'user-list' => 'An holl implijerien·ezed', + 'user-create' => 'Krouiñ un implijer·ez', + 'pages' => 'Pajennoù', + 'page-list' => 'An holl bajennoù', + 'page-create' => 'Krouiñ ur bajenn', + 'settings' => 'Arventennoù', + 'settings-general' => 'Hollek', + 'settings-theme' => 'Neuz', 'account' => [ - 'my-account' => 'My account', - 'change-password' => 'Change password', - 'logout' => 'Logout', + 'my-account' => 'Ma c\'hont', + 'change-password' => 'Kemmañ ar ger-tremen', + 'logout' => 'Digennaskañ', ], ]; diff --git a/modules/Admin/Language/es/Episode.php b/modules/Admin/Language/es/Episode.php index ed370585..ca5ee1f8 100644 --- a/modules/Admin/Language/es/Episode.php +++ b/modules/Admin/Language/es/Episode.php @@ -52,15 +52,15 @@ return [ 'file_size_error' => '¡El tamaño de tu archivo es demasiado grande! El tamaño máximo es {0}. Aumenta los valores de `memory_limit`, `upload_max_filesize` y `post_max_size` en tu archivo de configuración php y reinicia tu servidor web para subir tu archivo.', 'audio_file' => 'Archivo de audio', - 'audio_file_hint' => 'Choose an .mp3 or .m4a audio file.', + 'audio_file_hint' => 'Elija un archivo de audio .mp3 o .m4a.', 'info_section_title' => 'Información de episodio', - 'cover' => 'Episode cover', + 'cover' => 'Portada del episodio', 'cover_hint' => - 'If you do not set a cover, the podcast cover will be used instead.', - 'cover_size_hint' => 'Cover must be squared with at least 1400px wide and tall.', + 'Si no establece una portada, la portada del podcast se utilizará en su lugar.', + 'cover_size_hint' => 'La portada debe ser cuadrada con al menos 1400px de ancho y alto.', 'title' => 'Título', 'title_hint' => - 'Should contain a clear and concise episode name. Do not specify the episode or season numbers here.', + 'Debe contener un nombre de episodio claro y conciso. No especifique los números de episodio o temporada aquí.', 'permalink' => 'Enlace permanente', 'season_number' => 'Temporada', 'episode_number' => 'Episodio', @@ -121,45 +121,45 @@ return [ 'back_to_episode_dashboard' => 'Volver al panel del episodio', 'post' => 'Tu post de anuncio', 'post_hint' => - "Write a message to announce the publication of your episode. The message will be broadcasted to all your followers in the fediverse and be featured in your podcast's homepage.", - 'message_placeholder' => 'Write your message…', + "Escribe un mensaje para anunciar la publicación de tu episodio. El mensaje será transmitido a todos tus seguidores en el fediverse y aparecerá en la página principal de tu podcast.", + 'message_placeholder' => 'Escribe tu mensaje…', 'publication_date' => 'Fecha de publicación', 'publication_method' => [ 'now' => 'Ahora', - 'schedule' => 'Schedule', + 'schedule' => 'Programar', ], - 'scheduled_publication_date' => 'Scheduled publication date', - 'scheduled_publication_date_clear' => 'Clear publication date', + 'scheduled_publication_date' => 'Fecha programada de publicación', + 'scheduled_publication_date_clear' => 'Borrar fecha de publicación', 'scheduled_publication_date_hint' => - 'You can schedule the episode release by setting a future publication date. This field must be formatted as YYYY-MM-DD HH:mm', + 'Puede programar la versión de episodio estableciendo una fecha futura de publicación. Este campo debe ser formateado como YYYY-MM-DD HH:mm', 'submit' => 'Publicar', 'submit_edit' => 'Editar publicación', 'cancel_publication' => 'Cancelar publicación', - 'message_warning' => 'You did not write a message for your announcement post!', - 'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.', + 'message_warning' => 'No has escrito un mensaje para el anuncio tu publicación!', + 'message_warning_hint' => 'Tener un mensaje aumenta el alcance social, resultando en una mejor visibilidad para tu episodio.', 'message_warning_submit' => 'Publicar de todos modos', ], 'unpublish_form' => [ 'disclaimer' => - "Unpublishing the episode will delete all the posts associated with it and remove it from the podcast's RSS feed.", + "Al cancelar la publicación del episodio se eliminarán todos los mensajes asociados a él y se eliminarán del feed RSS del podcast.", 'understand' => 'Lo entiendo, quiero anular la publicación del episodio', 'submit' => 'Anular publicación', ], 'delete_form' => [ 'disclaimer' => - "Deleting the episode will delete all the posts associated with it and remove it from the podcast's RSS feed.", - 'understand' => 'I understand, I want to delete the episode', + "Al eliminar el episodio se borrarán todos los mensajes asociados con él y se eliminarán del feed RSS del podcast.", + 'understand' => 'Entiendo, quiero eliminar el episodio', 'submit' => 'Borrar', ], 'embed' => [ - 'title' => 'Embeddable player', + 'title' => 'Reproductor embebido', 'label' => - 'Pick a theme color, copy the embeddable player to clipboard, then paste it on your website.', - 'clipboard_iframe' => 'Copy embeddable player to clipboard', + 'Elige un color de tema, copia el reproductor incrustable al portapapeles y pégalo en tu sitio web.', + 'clipboard_iframe' => 'Copiar reproductor incrustable al portapapeles', 'clipboard_url' => 'Copiar dirección al portapapeles', 'dark' => 'Oscuro', - 'dark-transparent' => 'Dark transparent', + 'dark-transparent' => 'Transparente oscuro', 'light' => 'Claro', - 'light-transparent' => 'Light transparent', + 'light-transparent' => 'Transparente claro', ], ]; diff --git a/modules/Admin/Language/es/EpisodeNavigation.php b/modules/Admin/Language/es/EpisodeNavigation.php index 1406e301..af45950b 100644 --- a/modules/Admin/Language/es/EpisodeNavigation.php +++ b/modules/Admin/Language/es/EpisodeNavigation.php @@ -9,15 +9,15 @@ declare(strict_types=1); */ return [ - 'go_to_page' => 'View episode page', - 'dashboard' => 'Episode dashboard', - 'episode-view' => 'Home', - 'episode-edit' => 'Edit episode', - 'episode-persons-manage' => 'Manage persons', - 'embed-add' => 'Embeddable player', - 'clips' => 'Clips', - 'video-clips-list' => 'Video clips', - 'video-clips-create' => 'New video clip', - 'soundbites-list' => 'Soundbites', - 'soundbites-create' => 'New soundbite', + 'go_to_page' => 'Ver página de episodios', + 'dashboard' => 'Panel de episodios', + 'episode-view' => 'Inicio', + 'episode-edit' => 'Editar episodio', + 'episode-persons-manage' => 'Administrar personas', + 'embed-add' => 'Reproductor embebido', + 'clips' => 'Recortes', + 'video-clips-list' => 'Recortes de vídeo', + 'video-clips-create' => 'Nuevo recorte de video', + 'soundbites-list' => 'Fragmentos de sonido', + 'soundbites-create' => 'Nuevo fragmento de sonido', ]; diff --git a/modules/Admin/Language/es/Fediverse.php b/modules/Admin/Language/es/Fediverse.php index 0e4ca66d..6d5b91b9 100644 --- a/modules/Admin/Language/es/Fediverse.php +++ b/modules/Admin/Language/es/Fediverse.php @@ -10,23 +10,23 @@ declare(strict_types=1); return [ 'messages' => [ - 'actorNotFound' => 'The account could not be found!', - 'blockActorSuccess' => '{actor} has been blocked!', - 'unblockActorSuccess' => 'Actor has been unblocked!', - 'blockDomainSuccess' => '{domain} has been blocked!', - 'unblockDomainSuccess' => '{domain} has been unblocked!', + 'actorNotFound' => '¡No se pudo encontrar la cuenta!', + 'blockActorSuccess' => '¡{actor} ha sido bloqueado!', + 'unblockActorSuccess' => '¡El actor ha sido desbloqueado!', + 'blockDomainSuccess' => '¡{domain} ha sido bloqueado!', + 'unblockDomainSuccess' => '¡{domain} ha sido desbloqueado!', ], - 'blocked_actors' => 'Blocked accounts', - 'blocked_domains' => 'Blocked domains', + 'blocked_actors' => 'Cuentas bloqueadas', + 'blocked_domains' => 'Dominios bloqueados', 'block_lists_form' => [ - 'handle' => 'Account handle', - 'handle_hint' => 'Input @username@domain account.', - 'domain' => 'Domain name', - 'submit' => 'Block!', + 'handle' => 'Alias de la cuenta', + 'handle_hint' => 'Ingrese la cuenta @username@dominio.', + 'domain' => 'Nombre de dominio', + 'submit' => 'Bloquear!', ], 'list' => [ - 'actor' => 'Account', - 'domain' => 'Domain name', - 'unblock' => 'Unblock', + 'actor' => 'Cuenta', + 'domain' => 'Nombre de dominio', + 'unblock' => 'Desbloquear', ], ]; diff --git a/modules/Admin/Language/es/Home.php b/modules/Admin/Language/es/Home.php index 3ff4c04d..4bff23a7 100644 --- a/modules/Admin/Language/es/Home.php +++ b/modules/Admin/Language/es/Home.php @@ -9,6 +9,6 @@ declare(strict_types=1); */ return [ - 'all_podcasts' => 'All podcasts', - 'no_podcast' => 'No podcast found', + 'all_podcasts' => 'Todos los podcasts', + 'no_podcast' => 'No se encontró el podcast', ]; diff --git a/modules/Admin/Language/es/Install.php b/modules/Admin/Language/es/Install.php index c5ebe783..e7d7d095 100644 --- a/modules/Admin/Language/es/Install.php +++ b/modules/Admin/Language/es/Install.php @@ -11,35 +11,35 @@ declare(strict_types=1); return [ 'manual_config' => 'Configuración manual', 'manual_config_subtitle' => - 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'Crea un archivo `.env` con tus ajustes y actualiza la página para continuar la instalación.', 'form' => [ 'instance_config' => 'Configuración de instancia', 'hostname' => 'Nombre de host', - 'media_base_url' => 'Media base URL', + 'media_base_url' => 'URL del reproductor de medios', 'media_base_url_hint' => - 'If you use a CDN and/or an external analytics service, you may set them here.', + 'Si utiliza un CDN y/o un servicio de análisis externo, puede establecerlo aquí.', 'admin_gateway' => 'Pasarela de administración', 'admin_gateway_hint' => - 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', + 'La ruta para acceder al área de administración (por ejemplo, https://example.com/cp-admin). Se establece por defecto como cp-admin, le recomendamos que lo cambie por razones de seguridad.', 'auth_gateway' => 'Pasarela de autenticación', 'auth_gateway_hint' => - 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', + 'La ruta para acceder al área de administración (por ejemplo, https://example.com/cp-auth). Se establece por defecto como cp-admin, le recomendamos que lo cambie por razones de seguridad.', 'database_config' => 'Configuración de la base de datos', 'database_config_hint' => 'Castopod necesita conectarse a su base de datos MySQL (o MariaDB). Si no tiene esta información requerida, póngase en contacto con el administrador de su servidor.', 'db_hostname' => 'Nombre de host de la base de datos', 'db_name' => 'Nombre de la base de datos', 'db_username' => 'Usuario la de base de datos', - 'db_password' => 'Database password', - 'db_prefix' => 'Database prefix', + 'db_password' => 'Contraseña de la base de datos', + 'db_prefix' => 'Prefijo de la base de datos', 'db_prefix_hint' => - "The prefix of the Castopod table names, leave as is if you don't know what it means.", - 'cache_config' => 'Cache configuration', + "El prefijo de los nombres de la tabla de Castopod, déjalo como aparece si no sabes lo que significa.", + 'cache_config' => 'Configuración de caché', 'cache_config_hint' => - 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', - 'cache_handler' => 'Cache handler', + 'Elija su gestor de caché preferido. Déjelo como el valor predeterminado si no tiene ni idea de lo que significa.', + 'cache_handler' => 'Gestor de cache', 'cacheHandlerOptions' => [ - 'file' => 'File', + 'file' => 'Archivo', 'redis' => 'Redis', 'predis' => 'Predis', ], @@ -48,14 +48,14 @@ return [ 'create_superadmin' => 'Crear la cuenta de administración', 'email' => 'Correo electrónico', 'username' => 'Nombre de usuario', - 'password' => 'Password', + 'password' => 'Contraseña', ], 'messages' => [ 'createSuperAdminSuccess' => - 'Your superadmin account has been created successfully. Login to start podcasting!', + 'Tu cuenta de superadmin se ha creado correctamente. ¡Inicia sesión para empezar a hacer podcasting!', 'databaseConnectError' => - 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'Castopod no pudo conectarse a su base de datos. Edite la configuración de la base de datos y vuelva a intentarlo.', 'writeError' => - "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + "No se pudo crear/escribir el archivo `.env`. Debes crearlo manualmente siguiendo la plantilla de archivo `.env.example` en el paquete Castopod.", ], ]; diff --git a/modules/Admin/Language/es/MyAccount.php b/modules/Admin/Language/es/MyAccount.php index 6ebbb30e..c9027a42 100644 --- a/modules/Admin/Language/es/MyAccount.php +++ b/modules/Admin/Language/es/MyAccount.php @@ -9,10 +9,10 @@ declare(strict_types=1); */ return [ - 'info' => 'My account info', - 'changePassword' => 'Change my password', + 'info' => 'Información de mi Cuenta', + 'changePassword' => 'Cambiar mi contraseña', 'messages' => [ - 'wrongPasswordError' => "You've entered the wrong password, try again.", - 'passwordChangeSuccess' => 'Password has been successfully changed!', + 'wrongPasswordError' => "Ingresaste la contraseña equivocada. Por favor intenta nuevamente.", + 'passwordChangeSuccess' => '¡Tu contraseña ha sido modificada con éxito!', ], ]; diff --git a/modules/Admin/Language/es/Person.php b/modules/Admin/Language/es/Person.php index fa9bba21..1d40394d 100644 --- a/modules/Admin/Language/es/Person.php +++ b/modules/Admin/Language/es/Person.php @@ -9,57 +9,57 @@ declare(strict_types=1); */ return [ - 'persons' => 'Persons', - 'all_persons' => 'All persons', - 'no_person' => 'Nobody found!', - 'create' => 'Create a person', - 'view' => 'View person', - 'edit' => 'Edit person', - 'delete' => 'Delete person', + 'persons' => 'Personas', + 'all_persons' => 'Todas las personas', + 'no_person' => 'No se encontró a nadie!', + 'create' => 'Crear una nueva persona', + 'view' => 'Ver persona', + 'edit' => 'Editar persona', + 'delete' => 'Eliminar persona', 'messages' => [ - 'createSuccess' => 'Person has been successfully created!', - 'editSuccess' => 'Person has been successfully updated!', - 'deleteSuccess' => 'Person has been removed!', + 'createSuccess' => '¡El episodio ha sido creado correctamente!', + 'editSuccess' => '¡El episodio ha sido actualizado correctamente!', + 'deleteSuccess' => '¡La persona ha sido eliminada!', ], 'form' => [ 'avatar' => 'Avatar', 'avatar_size_hint' => - 'Avatar must be squared with at least 400px wide and tall.', - 'full_name' => 'Full name', - 'full_name_hint' => 'This is the full name or alias of the person.', - 'unique_name' => 'Unique name', - 'unique_name_hint' => 'Used for URLs', - 'information_url' => 'Information URL', + 'El avatar debe ser cuadrado con al menos 400px de ancho y alto.', + 'full_name' => 'Nombre completo', + 'full_name_hint' => 'Este es el nombre completo o el alias de la persona.', + 'unique_name' => 'Nombre único', + 'unique_name_hint' => 'Utilizado para URLs', + 'information_url' => 'URL de información', 'information_url_hint' => - 'Url to a relevant resource of information about the person, such as a homepage or third-party profile platform.', - 'submit_create' => 'Create person', - 'submit_edit' => 'Save person', + 'Url a un recurso relevante de información sobre la persona, como una página de inicio o una plataforma de perfil de terceros.', + 'submit_create' => 'Crear una nueva persona', + 'submit_edit' => 'Guardar persona', ], 'podcast_form' => [ - 'title' => 'Manage persons', - 'add_section_title' => 'Add persons to this podcast', - 'add_section_subtitle' => 'You may pick several persons and roles.', - 'persons' => 'Persons', + 'title' => 'Administrar personas', + 'add_section_title' => 'Añadir personas a este podcast', + 'add_section_subtitle' => 'Usted puede elegir varias personas y roles.', + 'persons' => 'Personas', 'persons_hint' => - 'You may select one or several persons with the same roles. You need to create the persons first.', + 'Usted puede seleccionar una o varias personas con los mismos roles. Necesitas crear primero las personas.', 'roles' => 'Roles', 'roles_hint' => - 'You may select none, one or several roles for a person.', - 'submit_add' => 'Add person(s)', - 'remove' => 'Remove', + 'No puedes seleccionar ninguno, uno o varios roles para una persona.', + 'submit_add' => 'Añadir persona(s)', + 'remove' => 'Eliminar', ], 'episode_form' => [ - 'title' => 'Manage persons', - 'add_section_title' => 'Add persons to this episode', - 'add_section_subtitle' => 'You may pick several persons and roles.', - 'persons' => 'Persons', + 'title' => 'Administrar personas', + 'add_section_title' => 'Añadir personas a este episodio', + 'add_section_subtitle' => 'Usted puede elegir varias personas y roles.', + 'persons' => 'Personas', 'persons_hint' => - 'You may select one or several persons with the same roles. You need to create the persons first.', + 'Usted puede seleccionar una o varias personas con los mismos roles.', 'roles' => 'Roles', 'roles_hint' => - 'You may select none, one or several roles for a person.', - 'submit_add' => 'Add person(s)', - 'remove' => 'Remove', + 'No puedes seleccionar ninguno, uno o varios roles para una persona.', + 'submit_add' => 'Añadir persona(s)', + 'remove' => 'Eliminar', ], - 'credits' => 'Credits', + 'credits' => 'Créditos', ]; diff --git a/modules/Admin/Language/es/Platforms.php b/modules/Admin/Language/es/Platforms.php index ab17d599..48effd90 100644 --- a/modules/Admin/Language/es/Platforms.php +++ b/modules/Admin/Language/es/Platforms.php @@ -9,22 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', - 'home_url' => 'Go to {platformName} website', - 'submit_url' => 'Submit your podcast on {platformName}', - 'visible' => 'Display in podcast homepage?', - 'on_embed' => 'Display on embeddable player?', - 'remove' => 'Remove {platformName}', - 'submit' => 'Save', + 'title' => 'Plataformas', + 'home_url' => 'Ir al sitio web de {platformName}', + 'submit_url' => 'Envía tu podcast en {platformName}', + 'visible' => '¿Mostrar en la página de inicio del podcast?', + 'on_embed' => '¿Mostrar en el reproductor incrustable?', + 'remove' => 'Eliminar {platformName}', + 'submit' => 'Guardar', 'messages' => [ - 'updateSuccess' => 'Platform links have been successfully updated!', - 'removeLinkSuccess' => 'The platform link has been removed.', + 'updateSuccess' => '¡Los enlaces de la plataforma se han actualizado correctamente!', + 'removeLinkSuccess' => 'El enlace de la plataforma ha sido eliminado.', 'removeLinkError' => - 'The platform link could not be removed. Try again.', + 'No se ha podido eliminar el enlace de la plataforma. Inténtalo de nuevo.', ], 'description' => [ - 'podcasting' => 'The podcast ID on this platform', - 'social' => 'The podcast account ID on this platform', - 'funding' => 'Call to action message', + 'podcasting' => 'El ID del podcast en esta plataforma', + 'social' => 'El ID de la cuenta del podcast en esta plataforma', + 'funding' => 'Mensaje de llamada a la acción', ], ]; diff --git a/modules/Admin/Language/es/Podcast.php b/modules/Admin/Language/es/Podcast.php index 67335c10..52a8f076 100644 --- a/modules/Admin/Language/es/Podcast.php +++ b/modules/Admin/Language/es/Podcast.php @@ -9,235 +9,235 @@ declare(strict_types=1); */ return [ - 'all_podcasts' => 'All podcasts', - 'no_podcast' => 'No podcast found!', - 'create' => 'Create podcast', - 'import' => 'Import podcast', - 'new_episode' => 'New Episode', - 'view' => 'View podcast', - 'edit' => 'Edit podcast', - 'delete' => 'Delete podcast', - 'see_episodes' => 'See episodes', - 'see_contributors' => 'See contributors', - 'go_to_page' => 'Go to page', - 'latest_episodes' => 'Latest episodes', - 'see_all_episodes' => 'See all episodes', + 'all_podcasts' => 'Todos los podcasts', + 'no_podcast' => 'No se encontró el podcast!', + 'create' => 'Crear podcasts', + 'import' => 'Importar un podcast', + 'new_episode' => 'Nuevo episodio', + 'view' => 'Ver Podcast', + 'edit' => 'Editar el Podcast', + 'delete' => 'Eliminar podcast', + 'see_episodes' => 'Ver episodios', + 'see_contributors' => 'Ver colaboradores', + 'go_to_page' => 'Ir a la página', + 'latest_episodes' => 'Últimos Episodios', + 'see_all_episodes' => 'Mostrar todos los episodios', 'messages' => [ - 'createSuccess' => 'Podcast has been successfully created!', - 'editSuccess' => 'Podcast has been successfully updated!', - 'importSuccess' => 'Podcast has been successfully imported!', + 'createSuccess' => 'El Podcast ha sido creado con éxito!', + 'editSuccess' => 'El Podcast se ha actualizado correctamente!', + 'importSuccess' => 'El Podcast se ha importado correctamente!', ], 'form' => [ - 'identity_section_title' => 'Podcast identity', - 'identity_section_subtitle' => 'These fields allow you to get noticed.', - 'cover' => 'Podcast cover', - 'cover_size_hint' => 'Cover must be squared with at least 1400px wide and tall.', - 'banner' => 'Podcast banner', - 'banner_size_hint' => 'Banner must have a 3:1 ratio with at least 1500px wide.', - 'banner_delete' => 'Delete podcast banner', - 'title' => 'Title', - 'handle' => 'Handle', + 'identity_section_title' => 'Identidad de Podcast', + 'identity_section_subtitle' => 'Estos campos le permiten recibir un aviso.', + 'cover' => 'Portada de Podcast', + 'cover_size_hint' => 'La portada debe ser cuadrada con al menos 1400px de ancho y alto.', + 'banner' => 'Cartel del Podcast', + 'banner_size_hint' => 'El cartel debe tener una relación de 3:1 con al menos 1500px.', + 'banner_delete' => 'Borrar el cartel del podcast', + 'title' => 'Título', + 'handle' => 'Alias', 'handle_hint' => - 'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.', + 'Se utiliza para identificar el podcast. Se aceptan mayúsculas, minúsculas, números y guiones bajos.', 'type' => [ - 'label' => 'Type', - 'episodic' => 'Episodic', - 'episodic_hint' => 'If episodes are intended to be consumed without any specific order. Newest episodes will be presented first.', + 'label' => 'Tipo', + 'episodic' => 'Por episodios', + 'episodic_hint' => 'Si los episodios están destinados a ser consumidos sin ningún orden específico. Los episodios más nuevos serán presentados primero.', 'serial' => 'Serial', - 'serial_hint' => 'If episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.', + 'serial_hint' => 'Si los episodios están destinados a ser consumidos en orden secuencial. Los episodios más antiguos serán presentados primero.', ], - 'description' => 'Description', - 'classification_section_title' => 'Classification', + 'description' => 'Descripción', + 'classification_section_title' => 'Clasificación', 'classification_section_subtitle' => - 'These fields will impact your audience and competition.', - 'language' => 'Language', - 'category' => 'Category', - 'category_placeholder' => 'Select a category…', - 'other_categories' => 'Other categories', + 'Estos campos impactarán a su audiencia y competencia.', + 'language' => 'Idioma', + 'category' => 'Categoría', + 'category_placeholder' => 'Selecciona una categoría…', + 'other_categories' => 'Otras categorías', 'parental_advisory' => [ - 'label' => 'Parental advisory', - 'hint' => 'Does it contain explicit content?', - 'undefined' => 'undefined', - 'clean' => 'Clean', - 'explicit' => 'Explicit', + 'label' => 'Aviso parental', + 'hint' => '¿Contiene contenido explícito?', + 'undefined' => 'indefinido', + 'clean' => 'Limpio', + 'explicit' => 'Explícito', ], - 'author_section_title' => 'Author', - 'author_section_subtitle' => 'Who is managing the podcast?', - 'owner_name' => 'Owner name', + 'author_section_title' => 'Autor', + 'author_section_subtitle' => '¿Quién está gestionando el podcast?', + 'owner_name' => 'Nombre del propietario', 'owner_name_hint' => - 'For administrative use only. Visible in the public RSS feed.', - 'owner_email' => 'Owner email', + 'Para uso administrativo solamente. Visible en la fuente pública RSS.', + 'owner_email' => 'Email del propietario', 'owner_email_hint' => - 'Will be used by most platforms to verify the podcast ownership. Visible in the public RSS feed.', - 'publisher' => 'Publisher', + 'Será utilizado por la mayoría de las plataformas para verificar la propiedad del podcast. Visible en el feed RSS público.', + 'publisher' => 'Publicador', 'publisher_hint' => - 'The group responsible for creating the show. Often refers to the parent company or network of a podcast. This field is sometimes labeled as ’Author’.', - 'copyright' => 'Copyright', - 'location_section_title' => 'Location', - 'location_section_subtitle' => 'What place is this podcast about?', - 'location_name' => 'Location name or address', - 'location_name_hint' => 'This can be a real place or fictional', - 'monetization_section_title' => 'Monetization', + 'El grupo responsable de la creación del espectáculo. A menudo se refiere a la empresa matriz o red de un podcast. Este campo a veces se etiqueta como \'Autor\'.', + 'copyright' => 'Derechos de autor', + 'location_section_title' => 'Ubicación', + 'location_section_subtitle' => '¿De qué lugar trata este podcast?', + 'location_name' => 'Nombre o dirección de ubicación', + 'location_name_hint' => 'Este puede ser un lugar real o ficticio', + 'monetization_section_title' => 'Monetización', 'monetization_section_subtitle' => - 'Earn money thanks to your audience.', - 'payment_pointer' => 'Payment Pointer for Web Monetization', + 'Gana dinero gracias a tu audiencia.', + 'payment_pointer' => 'Puntero de pago para Monetización web', 'payment_pointer_hint' => - 'This is your where you will receive money thanks to Web Monetization', - 'advanced_section_title' => 'Advanced Parameters', + 'Aquí es donde usted recibirá dinero gracias a la Monetización Web', + 'advanced_section_title' => 'Parámetros Avanzados', 'advanced_section_subtitle' => - 'If you need RSS tags that Castopod does not handle, set them here.', - 'custom_rss' => 'Custom RSS tags for the podcast', - 'custom_rss_hint' => 'This will be injected within the ❬channel❭ tag.', - 'new_feed_url' => 'New feed URL', - 'new_feed_url_hint' => 'Use this field when you move to another domain or podcast hosting platform. By default, the value is set to the current RSS URL if the podcast is imported.', - 'partnership' => 'Partnership', + 'Si necesita etiquetas RSS que Castopod no maneja, póngalas aquí.', + 'custom_rss' => 'Etiquetas RSS personalizadas para el podcast', + 'custom_rss_hint' => 'Esto se inyectará dentro de la etiqueta de canal.', + 'new_feed_url' => 'Nueva URL de feed', + 'new_feed_url_hint' => 'Utilice este campo cuando se mueva a otro dominio o plataforma de alojamiento podcast. De forma predeterminada, el valor se establece en la URL actual de RSS si el podcast es importado.', + 'partnership' => 'Asociación', 'partner_id' => 'ID', - 'partner_link_url' => 'Link URL', - 'partner_image_url' => 'Image URL', - 'partner_id_hint' => 'Your own partner ID', - 'partner_link_url_hint' => 'The generic partner link address', - 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', - 'block' => 'Podcast should be hidden from all platforms', - 'complete' => 'Podcast will not be having new episodes', - 'lock' => 'Prevent podcast from being copied', + 'partner_link_url' => 'URL del enlace', + 'partner_image_url' => 'URL de la imágen', + 'partner_id_hint' => 'Su propio ID de socio', + 'partner_link_url_hint' => 'La dirección genérica de enlace de socio', + 'partner_image_url_hint' => 'La dirección de imagen genérica del socio', + 'status_section_title' => 'Estado', + 'block' => 'El episodio debe estar oculto para todas las plataformas', + 'complete' => 'El Podcast no tendrá nuevos episodios', + 'lock' => 'Evitar que el podcast sea copiado', 'lock_hint' => - 'The purpose is to tell other podcast platforms whether they are allowed to import this feed. A value of yes means that any attempt to import this feed into a new platform should be rejected.', - 'submit_create' => 'Create podcast', - 'submit_edit' => 'Save podcast', + 'El propósito es decirle a otras plataformas de podcast si se les permite importar este feed. Un valor de sí significa que cualquier intento de importar este feed en una nueva plataforma debe ser rechazado.', + 'submit_create' => 'Crear podcasts', + 'submit_edit' => 'Guardar podcast', ], 'category_options' => [ - 'uncategorized' => 'uncategorized', - 'arts' => 'Arts', - 'business' => 'Business', - 'comedy' => 'Comedy', - 'education' => 'Education', - 'fiction' => 'Fiction', - 'government' => 'Government', - 'health_and_fitness' => 'Health & Fitness', - 'history' => 'History', - 'kids_and_family' => 'Kids & Family', - 'leisure' => 'Leisure', - 'music' => 'Music', - 'news' => 'News', - 'religion_and_spirituality' => 'Religion & Spirituality', - 'science' => 'Science', - 'society_and_culture' => 'Society & Culture', - 'sports' => 'Sports', - 'technology' => 'Technology', - 'true_crime' => 'True Crime', - 'tv_and_film' => 'TV & Film', - 'books' => 'Books', - 'design' => 'Design', - 'fashion_and_beauty' => 'Fashion & Beauty', - 'food' => 'Food', - 'performing_arts' => 'Performing Arts', - 'visual_arts' => 'Visual Arts', - 'careers' => 'Careers', - 'entrepreneurship' => 'Entrepreneurship', - 'investing' => 'Investing', - 'management' => 'Management', + 'uncategorized' => 'sin categoría', + 'arts' => 'Artes', + 'business' => 'Negocios', + 'comedy' => 'Comedia', + 'education' => 'Educación', + 'fiction' => 'Ficción', + 'government' => 'Gubernamental', + 'health_and_fitness' => 'Salud & Bienestar', + 'history' => 'Historia', + 'kids_and_family' => 'Niños y Familia', + 'leisure' => 'Ocio', + 'music' => 'Música', + 'news' => 'Noticias', + 'religion_and_spirituality' => 'Religión y espiritualidad', + 'science' => 'Ciencias', + 'society_and_culture' => 'Sociedad y cultura', + 'sports' => 'Deportes', + 'technology' => 'Tecnología', + 'true_crime' => 'Crimen verdadero', + 'tv_and_film' => 'TV & Cine', + 'books' => 'Libros', + 'design' => 'Diseño', + 'fashion_and_beauty' => 'Moda & Belleza', + 'food' => 'Alimentos', + 'performing_arts' => 'Artes Escénicas', + 'visual_arts' => 'Artes visuales', + 'careers' => 'Empleos', + 'entrepreneurship' => 'Emprendimiento', + 'investing' => 'Inversiones', + 'management' => 'Administración', 'marketing' => 'Marketing', - 'non_profit' => 'Non-Profit', - 'comedy_interviews' => 'Comedy Interviews', - 'improv' => 'Improv', + 'non_profit' => 'Sin fines de lucro', + 'comedy_interviews' => 'Entrevistas de comedia', + 'improv' => 'Improvisación', 'stand_up' => 'Stand-Up', - 'courses' => 'Courses', - 'how_to' => 'How To', - 'language_learning' => 'Language Learning', - 'self_improvement' => 'Self-Improvement', - 'comedy_fiction' => 'Comedy Fiction', + 'courses' => 'Cursos', + 'how_to' => 'Como hacer', + 'language_learning' => 'Aprendizaje de idiomas', + 'self_improvement' => 'Crecimiento personal', + 'comedy_fiction' => 'Comedia de Ficción', 'drama' => 'Drama', - 'science_fiction' => 'Science Fiction', - 'alternative_health' => 'Alternative Health', + 'science_fiction' => 'Ciencia Ficción', + 'alternative_health' => 'Salud alternativa', 'fitness' => 'Fitness', - 'medicine' => 'Medicine', - 'mental_health' => 'Mental Health', - 'nutrition' => 'Nutrition', - 'sexuality' => 'Sexuality', - 'education_for_kids' => 'Education for Kids', - 'parenting' => 'Parenting', - 'pets_and_animals' => 'Pets & Animals', - 'stories_for_kids' => 'Stories for Kids', - 'animation_and_manga' => 'Animation & Manga', - 'automotive' => 'Automotive', - 'aviation' => 'Aviation', - 'crafts' => 'Crafts', - 'games' => 'Games', - 'hobbies' => 'Hobbies', - 'home_and_garden' => 'Home & Garden', - 'video_games' => 'Video Games', - 'music_commentary' => 'Music Commentary', - 'music_history' => 'Music History', - 'music_interviews' => 'Music Interviews', - 'business_news' => 'Business News', - 'daily_news' => 'Daily News', - 'entertainment_news' => 'Entertainment News', - 'news_commentary' => 'News Commentary', - 'politics' => 'Politics', - 'sports_news' => 'Sports News', - 'tech_news' => 'Tech News', - 'buddhism' => 'Buddhism', - 'christianity' => 'Christianity', - 'hinduism' => 'Hinduism', + 'medicine' => 'Medicina', + 'mental_health' => 'Salud mental', + 'nutrition' => 'Nutrición', + 'sexuality' => 'Sexualidad', + 'education_for_kids' => 'Educación para Niños', + 'parenting' => 'Paternidad', + 'pets_and_animals' => 'Mascotas y animales', + 'stories_for_kids' => 'Historias para niños', + 'animation_and_manga' => 'Animación y Manga', + 'automotive' => 'Automotor', + 'aviation' => 'Aviación', + 'crafts' => 'Creaciones', + 'games' => 'Juegos', + 'hobbies' => 'Pasatiempos', + 'home_and_garden' => 'Hogar y jardín', + 'video_games' => 'Video Juegos', + 'music_commentary' => 'Comentario de música', + 'music_history' => 'Historia de Música', + 'music_interviews' => 'Entrevistas de Música', + 'business_news' => 'Noticias de negocios', + 'daily_news' => 'Noticias diarias', + 'entertainment_news' => 'Noticias de Entretenimiento', + 'news_commentary' => 'Comentario de Noticias', + 'politics' => 'Política', + 'sports_news' => 'Noticias deportivas', + 'tech_news' => 'Noticias de Tecnología', + 'buddhism' => 'Budismo', + 'christianity' => 'Cristianismo', + 'hinduism' => 'Hinduismo', 'islam' => 'Islam', - 'judaism' => 'Judaism', - 'religion' => 'Religion', - 'spirituality' => 'Spirituality', - 'astronomy' => 'Astronomy', - 'chemistry' => 'Chemistry', - 'earth_sciences' => 'Earth Sciences', - 'life_sciences' => 'Life Sciences', - 'mathematics' => 'Mathematics', - 'natural_sciences' => 'Natural Sciences', - 'nature' => 'Nature', - 'physics' => 'Physics', - 'social_sciences' => 'Social Sciences', - 'documentary' => 'Documentary', - 'personal_journals' => 'Personal Journals', - 'philosophy' => 'Philosophy', - 'places_and_travel' => 'Places & Travel', - 'relationships' => 'Relationships', - 'baseball' => 'Baseball', - 'basketball' => 'Basketball', - 'cricket' => 'Cricket', - 'fantasy_sports' => 'Fantasy Sports', - 'football' => 'Football', + 'judaism' => 'Judaismo', + 'religion' => 'Religión', + 'spirituality' => 'Espiritualidad', + 'astronomy' => 'Astronomía', + 'chemistry' => 'Química', + 'earth_sciences' => 'Ciencias de la Tierra', + 'life_sciences' => 'Ciencias Biológicas', + 'mathematics' => 'Matemáticas', + 'natural_sciences' => 'Ciencias Naturales', + 'nature' => 'Naturaleza', + 'physics' => 'Física', + 'social_sciences' => 'Ciencias Sociales', + 'documentary' => 'Documentales', + 'personal_journals' => 'Diario personal', + 'philosophy' => 'Filosofía', + 'places_and_travel' => 'Lugares & Viajes', + 'relationships' => 'Relaciones', + 'baseball' => 'Beisbol', + 'basketball' => 'Baloncesto', + 'cricket' => 'Críquet', + 'fantasy_sports' => 'Deportes Fantásticos', + 'football' => 'Fútbol', 'golf' => 'Golf', 'hockey' => 'Hockey', 'rugby' => 'Rugby', - 'running' => 'Running', - 'soccer' => 'Soccer', - 'swimming' => 'Swimming', - 'tennis' => 'Tennis', - 'volleyball' => 'Volleyball', - 'wilderness' => 'Wilderness', - 'wrestling' => 'Wrestling', - 'after_shows' => 'After Shows', - 'film_history' => 'Film History', - 'film_interviews' => 'Film Interviews', - 'film_reviews' => 'Film Reviews', - 'tv_reviews' => 'TV Reviews', + 'running' => 'Correr', + 'soccer' => 'Fútbol', + 'swimming' => 'Natación', + 'tennis' => 'Tenis', + 'volleyball' => 'Voleibol', + 'wilderness' => 'Desierto', + 'wrestling' => 'Lucha Libre', + 'after_shows' => 'Después de los espectáculos', + 'film_history' => 'Historia del cine', + 'film_interviews' => 'Entrevistas de cine', + 'film_reviews' => 'Reseñas de cine', + 'tv_reviews' => 'Reseñas de TV', ], - 'by' => 'By {publisher}', - 'season' => 'Season {seasonNumber}', - 'list_of_episodes_year' => '{year} episodes ({episodeCount})', + 'by' => 'Por {publisher}', + 'season' => 'Temporada {seasonNumber}', + 'list_of_episodes_year' => '{year} episodios ({episodeCount})', 'list_of_episodes_season' => - 'Season {seasonNumber} episodes ({episodeCount})', - 'no_episode' => 'No episode found!', - 'follow' => 'Follow', + 'Temporada {seasonNumber} episodios ({episodeCount})', + 'no_episode' => '¡No se encontró el episodio!', + 'follow' => 'Seguir', 'followers' => '{numberOfFollowers, plural, - one {# follower} - other {# followers} + one {# seguidor} + other {# seguidores} }', 'posts' => '{numberOfPosts, plural, - one {# post} - other {# posts} + one {# publicación} + other {# publicaciones} }', - 'activity' => 'Activity', - 'episodes' => 'Episodes', - 'sponsor' => 'Sponsor', - 'funding_links' => 'Funding links for {podcastTitle}', - 'find_on' => 'Find {podcastTitle} on', - 'listen_on' => 'Listen on', + 'activity' => 'Actividad', + 'episodes' => 'Episodios', + 'sponsor' => 'Patrocinador', + 'funding_links' => 'Enlaces de financiación para {podcastTitle}', + 'find_on' => 'Buscar {podcastTitle} en', + 'listen_on' => 'Escuchar en', ]; diff --git a/modules/Admin/Language/es/PodcastImport.php b/modules/Admin/Language/es/PodcastImport.php index 7c3ef67d..ceefce1b 100644 --- a/modules/Admin/Language/es/PodcastImport.php +++ b/modules/Admin/Language/es/PodcastImport.php @@ -10,28 +10,28 @@ declare(strict_types=1); return [ 'warning' => - 'This procedure may take a long time. As the current version does not show any progress while it runs, you will not see anything updated until it is done. In case of timeout error, increase `max_execution_time` value.', - 'old_podcast_section_title' => 'The podcast to import', + 'Este procedimiento puede llevar mucho tiempo. Como la versión actual no muestra ningún progreso mientras se ejecuta, no verá nada actualizado hasta que termine. En caso de error de tiempo de espera, incrementa el valor `max_execution_time`.', + 'old_podcast_section_title' => 'Podcasts para importar', 'old_podcast_section_subtitle' => - 'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', - 'imported_feed_url' => 'Feed URL', - 'imported_feed_url_hint' => 'The feed must be in xml or rss format.', - 'new_podcast_section_title' => 'The new podcast', - 'advanced_params_section_title' => 'Advanced parameters', + 'Asegúrese de que tiene los derechos para este podcast antes de importarlo. Copiar y difundir un podcast sin los derechos apropiados es piratería y puede ser procesado.', + 'imported_feed_url' => 'URL del Feed', + 'imported_feed_url_hint' => 'El feed debe estar en formato xml o rss.', + 'new_podcast_section_title' => 'El nuevo Podcast', + 'advanced_params_section_title' => 'Parámetros avanzados', 'advanced_params_section_subtitle' => - 'Keep the default values if you have no idea of what the fields are for.', - 'slug_field' => 'Field to be used to calculate episode slug', + 'Mantenga los valores por defecto si no tiene idea de para qué sirven los campos.', + 'slug_field' => 'Campo a utilizar para calcular el slug de episodio', 'description_field' => - 'Source field used for episode description / show notes', - 'force_renumber' => 'Force episodes renumbering', + 'Campo de origen usado para la descripción del episodio / mostrar notas', + 'force_renumber' => 'Forzar renumeración de episodios', 'force_renumber_hint' => - 'Use this if your podcast does not have episode numbers but wish to set them during import.', - 'season_number' => 'Season number', + 'Utilice esto si su podcast no tiene números de episodios pero desea establecerlos durante la importación.', + 'season_number' => 'Número de Temporada', 'season_number_hint' => - 'Use this if your podcast does not have a season number but wish to set one during import. Leave blank otherwise.', - 'max_episodes' => 'Maximum number of episodes to import', - 'max_episodes_hint' => 'Leave blank to import all episodes', + 'Utilice esto si su podcast no tiene un número de temporada pero desea establecer uno durante la importación. Deje en blanco de lo contrario.', + 'max_episodes' => 'Número máximo de episodios a importar', + 'max_episodes_hint' => 'Dejar en blanco para importar todos los episodios', 'lock_import' => - 'This feed is protected. You cannot import it. If you are the owner, unprotect it on the origin platform.', - 'submit' => 'Import podcast', + 'Este feed está protegido. No puedes importarlo. Si eres el propietario, debes desprotegerlo en la plataforma de origen.', + 'submit' => 'Importar podcast', ]; diff --git a/modules/Admin/Language/es/PodcastNavigation.php b/modules/Admin/Language/es/PodcastNavigation.php index b6195731..6e1a4091 100644 --- a/modules/Admin/Language/es/PodcastNavigation.php +++ b/modules/Admin/Language/es/PodcastNavigation.php @@ -9,27 +9,27 @@ declare(strict_types=1); */ return [ - 'go_to_page' => 'Go to podcast page', - 'dashboard' => 'Podcast dashboard', - 'podcast-view' => 'Home', - 'podcast-edit' => 'Edit podcast', - 'podcast-persons-manage' => 'Manage persons', - 'episodes' => 'Episodes', - 'episode-list' => 'All episodes', - 'episode-create' => 'New episode', - 'analytics' => 'Analytics', - 'podcast-analytics' => 'Audience overview', - 'podcast-analytics-webpages' => 'Web pages visits', - 'podcast-analytics-locations' => 'Locations', - 'podcast-analytics-unique-listeners' => 'Unique listeners', - 'podcast-analytics-players' => 'Players', - 'podcast-analytics-listening-time' => 'Listening time', - 'podcast-analytics-time-periods' => 'Time periods', - 'contributors' => 'Contributors', - 'contributor-list' => 'All contributors', - 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', + 'go_to_page' => 'Ir a la página del podcast', + 'dashboard' => 'Panel de Podcast', + 'podcast-view' => 'Inicio', + 'podcast-edit' => 'Editar podcast', + 'podcast-persons-manage' => 'Administrar personas', + 'episodes' => 'Episodios', + 'episode-list' => 'Todos los episodios', + 'episode-create' => 'Nuevo episodio', + 'analytics' => 'Estadísticas', + 'podcast-analytics' => 'Vista general del público', + 'podcast-analytics-webpages' => 'Visitas a páginas web', + 'podcast-analytics-locations' => 'Ubicaciones', + 'podcast-analytics-unique-listeners' => 'Oyentes únicos', + 'podcast-analytics-players' => 'Reproductores', + 'podcast-analytics-listening-time' => 'Tiempo de escucha', + 'podcast-analytics-time-periods' => 'Periodos de tiempo', + 'contributors' => 'Colaboradores', + 'contributor-list' => 'Todos los colaboradores', + 'contributor-add' => 'Añadir colaborador', + 'platforms' => 'Plataformas externas', 'platforms-podcasting' => 'Podcasting', - 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-social' => 'Redes sociales', + 'platforms-funding' => 'Financiamiento', ]; diff --git a/modules/Admin/Language/es/Settings.php b/modules/Admin/Language/es/Settings.php index 0d6368cc..65fbde06 100644 --- a/modules/Admin/Language/es/Settings.php +++ b/modules/Admin/Language/es/Settings.php @@ -9,48 +9,48 @@ declare(strict_types=1); */ return [ - 'title' => 'General settings', + 'title' => 'Configuración General', 'instance' => [ - 'title' => 'Instance', - 'site_icon' => 'Site icon', - 'site_icon_delete' => 'Delete site icon', - 'site_icon_hint' => 'Site icons are what you see on your browser tabs, bookmarks bar, and when you add a website as a shortcut on mobile devices.', - 'site_icon_helper' => 'Icon must be squared with at least 512px wide and tall.', - 'site_name' => 'Site name', - 'site_description' => 'Site description', - 'submit' => 'Save', - 'editSuccess' => 'Instance has been updated successfully!', - 'deleteIconSuccess' => 'Site icon has been remove successfully!', + 'title' => 'Instancia', + 'site_icon' => 'Icono del sitio', + 'site_icon_delete' => 'Borrar icono del sitio', + 'site_icon_hint' => 'Los iconos del sitio son lo que ves en las pestañas del navegador, la barra de marcadores y cuando agregas un sitio web como un acceso directo en los dispositivos móviles.', + 'site_icon_helper' => 'El icono debe ser cuadrado con al menos 512px de ancho y alto.', + 'site_name' => 'Nombre del sitio', + 'site_description' => 'Descripción del sitio', + 'submit' => 'Guardar', + 'editSuccess' => 'La instancia ha sido actualizada correctamente!', + 'deleteIconSuccess' => '¡El icono del sitio se ha eliminado con éxito!', ], 'images' => [ - 'title' => 'Images', - 'subtitle' => 'Here you can regenerate all images based on the originals that were uploaded. To be used if you find that some images are missing. This task may take a while.', - 'regenerate' => 'Regenerate images', - 'regenerationSuccess' => 'All images have been regenerated successfully!', + 'title' => 'Imágenes', + 'subtitle' => 'Aquí puede regenerar todas las imágenes basadas en los originales que fueron subidos. Para ser usado si encuentras que faltan algunas imágenes. Esta tarea puede llevar un tiempo.', + 'regenerate' => 'Regenerar imágenes', + 'regenerationSuccess' => '¡Todas las imágenes han sido regeneradas con éxito!', ], 'housekeeping' => [ - 'title' => 'Housekeeping', - 'subtitle' => 'Runs various housekeeping tasks. Use this feature if you ever encounter issues with media files or data integrity. These tasks may take a while.', - 'reset_counts' => 'Reset counts', - 'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).', - 'rewrite_media' => 'Rewrite media metadata', - 'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)', - 'clear_cache' => 'Clear all cache', - 'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.', - 'run' => 'Run housekeeping', - 'runSuccess' => 'Housekeeping has been run successfully!', + 'title' => 'Mantenimiento', + 'subtitle' => 'Ejecuta varias tareas de limpieza. Usa esta función si alguna vez encuentras problemas con los archivos multimedia o la integridad de datos. Estas tareas pueden tardar algún tiempo.', + 'reset_counts' => 'Reiniciar contadores', + 'reset_counts_helper' => 'Esta opción recalculará y restablecerá todos los conteos de datos (número de seguidores, publicaciones, comentarios, …).', + 'rewrite_media' => 'Reescribir metadatos de medios', + 'rewrite_media_helper' => 'Esta opción eliminará todos los archivos multimedia superfluos y los volverá a crear (imágenes, archivos de audio, transcripciones, capítulos, …)', + 'clear_cache' => 'Borrar toda la caché', + 'clear_cache_helper' => 'Esta opción eliminará la caché de redis o archivos de escritura/caché.', + 'run' => 'Ejecutar tareas de mantenimiento', + 'runSuccess' => '¡El mantenimiento se ha realizado con éxito!', ], 'theme' => [ - 'title' => 'Theme', - 'accent_section_title' => 'Accent color', - 'accent_section_subtitle' => 'Choose the color to determine the look and feel of all public pages.', - 'pine' => 'Pine', - 'crimson' => 'Crimson', - 'amber' => 'Amber', - 'lake' => 'Lake', + 'title' => 'Tema', + 'accent_section_title' => 'Color de acento', + 'accent_section_subtitle' => 'Elija el color para determinar la apariencia de todas las páginas públicas.', + 'pine' => 'Pino', + 'crimson' => 'Carmesí', + 'amber' => 'Ámbar', + 'lake' => 'Lago', 'jacaranda' => 'Jacaranda', 'onyx' => 'Onyx', - 'submit' => 'Save', - 'setInstanceThemeSuccess' => 'Theme has been updated successfully!', + 'submit' => 'Guardar', + 'setInstanceThemeSuccess' => '¡El tema se ha actualizado con éxito!', ], ]; diff --git a/modules/Admin/Language/es/Soundbite.php b/modules/Admin/Language/es/Soundbite.php index a3f828fe..6034f115 100644 --- a/modules/Admin/Language/es/Soundbite.php +++ b/modules/Admin/Language/es/Soundbite.php @@ -10,22 +10,22 @@ declare(strict_types=1); return [ 'list' => [ - 'title' => 'Soundbites', - 'soundbite' => 'Soundbite', + 'title' => 'Fragmentos de sonido', + 'soundbite' => 'Fragmento de sonido', ], 'messages' => [ - 'createSuccess' => 'Soundbite has been successfully created!', - 'deleteSuccess' => 'Soundbite has been successfully removed!', + 'createSuccess' => '¡El fragmento de sonido ha sido creado con éxito!', + 'deleteSuccess' => '¡El fragmento de sonido ha sido eliminado con éxito!', ], 'form' => [ - 'title' => 'New soundbite', - 'soundbite_title' => 'Soundbite title', - 'start_time' => 'Start at', - 'duration' => 'Duration', - 'submit' => 'Create soundbite', + 'title' => 'Nuevo fragmento de sonido', + 'soundbite_title' => 'Título del fragmento de sonido', + 'start_time' => 'Comenzar en', + 'duration' => 'Duración', + 'submit' => 'Crear fragmento de sonido', ], - 'play' => 'Play soundbite', - 'stop' => 'Stop soundbite', - 'create' => 'New soundbite', - 'delete' => 'Delete soundbite', + 'play' => 'Reproducir fragmento de sonido', + 'stop' => 'Detener fragmento de sonido', + 'create' => 'Nuevo fragmento de sonido', + 'delete' => 'Eliminar fragmento de sonido', ]; diff --git a/modules/Admin/Language/es/User.php b/modules/Admin/Language/es/User.php index 8b2e478b..b926e3a9 100644 --- a/modules/Admin/Language/es/User.php +++ b/modules/Admin/Language/es/User.php @@ -9,46 +9,46 @@ declare(strict_types=1); */ return [ - 'edit_roles' => "Edit {username}'s roles", - 'forcePassReset' => 'Force pass reset', - 'ban' => 'Ban', - 'unban' => 'Unban', - 'delete' => 'Delete', - 'create' => 'New user', - 'view' => "{username}'s info", - 'all_users' => 'All users', + 'edit_roles' => "Editar rol de {username}", + 'forcePassReset' => 'Forzar el reseteo de la contraseña', + 'ban' => 'Banear', + 'unban' => 'Desbanear', + 'delete' => 'Borrar', + 'create' => 'Nuevo usuario', + 'view' => "Información de {username}", + 'all_users' => 'Todos los usuarios', 'list' => [ - 'user' => 'User', + 'user' => 'Usuario', 'roles' => 'Roles', - 'banned' => 'Banned?', + 'banned' => '¿Baneado?', ], 'form' => [ - 'email' => 'Email', - 'username' => 'Username', - 'password' => 'Password', - 'new_password' => 'New Password', + 'email' => 'Correo electrónico', + 'username' => 'Nombre de usuario', + 'password' => 'Contraseña', + 'new_password' => 'Nueva Contraseña', 'roles' => 'Roles', - 'permissions' => 'Permissions', - 'submit_create' => 'Create user', - 'submit_edit' => 'Save', - 'submit_password_change' => 'Change!', + 'permissions' => 'Permisos', + 'submit_create' => 'Crear usuario', + 'submit_edit' => 'Guardar', + 'submit_password_change' => '¡Cambiar!', ], 'roles' => [ - 'superadmin' => 'Super admin', + 'superadmin' => 'Super administrador', ], 'messages' => [ 'createSuccess' => - 'User created successfully! {username} will be prompted with a password reset upon first authentication.', + '¡Usuario creado con éxito! Se le pedirá a {username} que restablezca la contraseña en la primera autenticación.', 'rolesEditSuccess' => - "{username}'s roles have been successfully updated.", + "Los roles de {username} se han actualizado correctamente.", 'forcePassResetSuccess' => - '{username} will be prompted with a password reset upon next visit.', - 'banSuccess' => '{username} has been banned.', - 'unbanSuccess' => '{username} has been unbanned.', + 'Se pedirá a {username} que restablezca su contraseña en la próxima visita.', + 'banSuccess' => '{username} ha sido baneado.', + 'unbanSuccess' => '{username} ha sido desbaneado.', 'banSuperAdminError' => - '{username} is a superadmin, one does not simply ban a superadmin…', + '{username} es un superadmin, no puedes banear a un superadministrador…', 'deleteSuperAdminError' => - '{username} is a superadmin, one does not simply delete a superadmin…', - 'deleteSuccess' => '{username} has been deleted.', + '{username} es un superadmin, no puedes borrar a un superadministrador…', + 'deleteSuccess' => '{username} ha sido eliminado.', ], ]; diff --git a/modules/Admin/Language/es/Validation.php b/modules/Admin/Language/es/Validation.php index 750b1968..7b2d4379 100644 --- a/modules/Admin/Language/es/Validation.php +++ b/modules/Admin/Language/es/Validation.php @@ -10,9 +10,9 @@ declare(strict_types=1); return [ 'min_dims' => - '{field} is either not an image, or it is not wide or tall enough.', + '{field} no es una imagen, o no es suficientemente ancha o alta.', 'is_image_ratio' => - '{field} is either not an image or not of the right ratio.', + '{field} no es una imagen o no es de la proporción correcta.', 'validate_url' => - 'The {field} field must be a valid URL (eg. https://example.com/).', + 'El campo {field} debe ser una URL válida (ej. https://ejemplo.com/).', ]; diff --git a/modules/Admin/Language/es/VideoClip.php b/modules/Admin/Language/es/VideoClip.php index 638de697..4eedadb1 100644 --- a/modules/Admin/Language/es/VideoClip.php +++ b/modules/Admin/Language/es/VideoClip.php @@ -10,63 +10,63 @@ declare(strict_types=1); return [ 'list' => [ - 'title' => 'Video clips', + 'title' => 'Recortes de vídeo', 'status' => [ - 'label' => 'Status', - 'queued' => 'queued', - 'queued_hint' => 'Clip is waiting to be processed.', - 'pending' => 'pending', - 'pending_hint' => 'Clip will be generated shortly.', - 'running' => 'running', - 'running_hint' => 'Clip is being generated.', - 'failed' => 'failed', - 'failed_hint' => 'Clip could not be generated: script failure.', - 'passed' => 'passed', - 'passed_hint' => 'Clip was generated successfully!', + 'label' => 'Estado', + 'queued' => 'en cola', + 'queued_hint' => 'El clip está esperando ser procesado.', + 'pending' => 'pendiente', + 'pending_hint' => 'El clip se generará en breve.', + 'running' => 'ejecutándose', + 'running_hint' => 'El clip se está generando.', + 'failed' => 'sin éxito', + 'failed_hint' => 'No se pudo generar el clip: fallo del script.', + 'passed' => 'aprobado', + 'passed_hint' => '¡El clip se ha generado correctamente!', ], - 'clip' => 'Clip', - 'duration' => 'Job duration', + 'clip' => 'Recorte', + 'duration' => 'Duración del trabajo', ], - 'title' => 'Video clip: {videoClipLabel}', - 'download_clip' => 'Download clip', - 'create' => 'New video clip', - 'go_to_page' => 'Go to clip page', - 'retry' => 'Retry clip generation', - 'delete' => 'Delete clip', - 'logs' => 'Job logs', + 'title' => 'Recorte de vídeo: {videoClipLabel}', + 'download_clip' => 'Descargar recorte', + 'create' => 'Nuevo recorte de video', + 'go_to_page' => 'Ir a la página del recorte', + 'retry' => 'Reintentar la generación de recorte', + 'delete' => 'Borrar recorte', + 'logs' => 'Registros de trabajo', 'messages' => [ - 'alreadyExistingError' => 'The video clip you are trying to create already exists!', - 'addToQueueSuccess' => 'Video clip has been added to queue, awaiting to be created!', - 'deleteSuccess' => 'Video clip has been successfully removed!', + 'alreadyExistingError' => 'El recorte de video que estás intentando crear ya existe!', + 'addToQueueSuccess' => 'El recorte de video ha sido añadido a la cola, ¡esperando ser creado!', + 'deleteSuccess' => 'El recorte de vídeo se ha eliminado con éxito!', ], 'format' => [ - 'landscape' => 'Landscape', - 'portrait' => 'Portrait', - 'squared' => 'Squared', + 'landscape' => 'Horizontal', + 'portrait' => 'Vertical', + 'squared' => 'Cuadrado', ], 'form' => [ - 'title' => 'New video clip', - 'params_section_title' => 'Video clip parameters', - 'clip_title' => 'Clip title', + 'title' => 'Nuevo recorte de video', + 'params_section_title' => 'Parámetros del recorte de video', + 'clip_title' => 'Titulo del recorte', 'format' => [ - 'label' => 'Choose a format', - 'landscape_hint' => 'With a 16:9 ratio, landscape videos are great for PeerTube, Youtube and Vimeo.', - 'portrait_hint' => 'With a 9:16 ratio, portrait videos are great for TikTok, Youtube shorts and Instagram stories.', - 'squared_hint' => 'With a 1:1 ratio, squared videos are great for Mastodon, Facebook, Twitter and LinkedIn.', + 'label' => 'Elija un formato', + 'landscape_hint' => 'Con una relación de 16:9, videos horizontales son excelentes para PeerTube, Youtube y Vimeo.', + 'portrait_hint' => 'Con una relación de 9:16, los videos verticales son excelentes para TikTok, los cortos de Youtube y las historias de Instagram.', + 'squared_hint' => 'Con una relación 1:1, los videos cuadrados son excelentes para Mastodon, Facebook, Twitter y LinkedIn.', ], - 'theme' => 'Select a theme', - 'start_time' => 'Start at', - 'duration' => 'Duration', - 'trim_start' => 'Trim start', - 'trim_end' => 'Trim end', - 'submit' => 'Create video clip', + 'theme' => 'Seleccionar un tema', + 'start_time' => 'Comenzar en', + 'duration' => 'Duración', + 'trim_start' => 'Recortar Inicio', + 'trim_end' => 'Recortar final', + 'submit' => 'Crear recorte de video', ], 'requirements' => [ - 'title' => 'Missing requirements', - 'missing' => 'You have missing requirements. Make sure to add all the required items to be allowed creating a video for this episode!', + 'title' => 'Faltan requisitos', + 'missing' => 'Faltan requisitos. ¡Asegúrate de añadir todos los elementos necesarios para que se les permita crear un vídeo para este episodio!', 'ffmpeg' => 'FFmpeg', - 'gd' => 'Graphics Draw (GD)', - 'freetype' => 'Freetype library for GD', - 'transcript' => 'Transcript file (.srt)', + 'gd' => 'Dibujo de Gráficos (GD)', + 'freetype' => 'Librería Freetype para GD', + 'transcript' => 'Archivo de transcripción (.srt)', ], ];