web/i18n/es: add translation

web/i18n/es: add translation

web/i18n/es: add translation

web/i18n: update translations

Updated by "Squash Git commits" add-on in Weblate.

web/i18n: update translations

Updated by "Squash Git commits" add-on in Weblate.

web/i18n/es: add translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n: update translations

Updated by "Cleanup translation files" add-on in Weblate.

web/i18n/es: update translation

web/i18n/es: update translation

web/i18n: update translations

Updated by "Squash Git commits" add-on in Weblate.

web/i18n: update translations

Updated by "Squash Git commits" add-on in Weblate.

Co-authored-by: 3alTemp <3alTemp@users.noreply.github.com>
Co-authored-by: Anonymous <anonymous@users.noreply.github.com>
Co-authored-by: Daniel Ignacio Rodríguez Torres <saritodev@users.noreply.github.com>
Co-authored-by: Darío <nulkode@users.noreply.github.com>
Co-authored-by: Gabriel <cottoyoteconozco@users.noreply.github.com>
Co-authored-by: GlitchyPSI <GlitchyPSIX@users.noreply.github.com>
Co-authored-by: Ian Chavarria <derpchux@users.noreply.github.com>
Co-authored-by: José Martínez <jmdv-es@users.noreply.github.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Luci/Matsu <Lucimatsu@users.noreply.github.com>
Co-authored-by: Michael NT <MikeT3ch@users.noreply.github.com>
Co-authored-by: ROBORACCOON64 <ROBORACCOON64@users.noreply.github.com>
Co-authored-by: SullensCR <sullenscr@users.noreply.github.com>
Co-authored-by: Typical_Player <Typical-Player@users.noreply.github.com>
Co-authored-by: UnaPepsi <UnaPepsi@users.noreply.github.com>
Co-authored-by: Visket <VisketInTheBox@users.noreply.github.com>
Co-authored-by: alexthyst <alexthyst@users.noreply.github.com>
Co-authored-by: clvdaw <clvdaw@users.noreply.github.com>
Co-authored-by: imput project translators <i18n@imput.net>
Co-authored-by: jj <log@riseup.net>
Co-authored-by: mel <imperfectmel@users.noreply.github.com>
Co-authored-by: somari2010 <somari2010@users.noreply.github.com>
Co-authored-by: tposejank <tposejank@users.noreply.github.com>
Translate-URL: https://i18n.imput.net/projects/cobalt/a11ydonate/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/about/
Translate-URL: https://i18n.imput.net/projects/cobalt/about/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutcredits/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutcredits/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutgeneral/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutgeneral/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutprivacy/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutprivacy/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutterms/
Translate-URL: https://i18n.imput.net/projects/cobalt/aboutterms/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/button/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/dialog/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/donate/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/error/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/general/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/notification/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/receiver/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/remux/
Translate-URL: https://i18n.imput.net/projects/cobalt/remux/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/save/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/settings/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/tabs/es/
Translate-URL: https://i18n.imput.net/projects/cobalt/updates/
Translation: cobalt/a11y/donate
Translation: cobalt/about
Translation: cobalt/about/credits
Translation: cobalt/about/general
Translation: cobalt/about/privacy
Translation: cobalt/about/terms
Translation: cobalt/button
Translation: cobalt/dialog
Translation: cobalt/donate
Translation: cobalt/error
Translation: cobalt/general
Translation: cobalt/notification
Translation: cobalt/receiver
Translation: cobalt/remux
Translation: cobalt/save
Translation: cobalt/settings
Translation: cobalt/tabs
Translation: cobalt/updates
This commit is contained in:
imput project translators 2025-06-25 10:28:42 +00:00
parent 33ae21932a
commit 749010d2a9
26 changed files with 717 additions and 0 deletions

View File

@ -0,0 +1,5 @@
{
"picker.item.photo": "miniatura de foto",
"picker.item.video": "miniatura de vídeo",
"picker.item.gif": "miniatura de gif"
}

View File

@ -0,0 +1,4 @@
{
"share.qr.expand": "código qr. pulse para ampliar.",
"share.qr.collapse": "código qr expandido. pulse para contraer."
}

View File

@ -0,0 +1,3 @@
{
"back": "volver atrás"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,12 @@
{
"download.think": "procesando el enlace...",
"download": "descargar",
"download.check": "verificando descarga...",
"download.done": "descarga completa",
"download.error": "error al descargar",
"tutorial.shortcut.photos": "añadir acceso directo a fotos",
"tutorial.shortcut.files": "añadir acceso directo a archivos",
"clear_input": "borrar entrada",
"link_area": "zona de entrada de enlaces",
"link_area.turnstile": "zona de entrada de enlaces. verificando que no eres un robot."
}

View File

@ -0,0 +1,3 @@
{
"tab_panel": "panel de pestañas"
}

36
web/i18n/es/about.json Normal file
View File

@ -0,0 +1,36 @@
{
"page.general": "¿qué es cobalt?",
"page.faq": "FAQ",
"page.community": "comunidad & soporte",
"page.privacy": "politica de privacidad",
"page.terms": "terminos y ética",
"page.credits": "agradecimientos & licencias",
"community.discord": "servidor de discord de la comunidad",
"community.twitter": "cuenta de noticias en twitter",
"community.github": "repositorio de github",
"community.email": "correo de soporte",
"community.telegram": "canal de noticias en telegram",
"heading.saving": "funcionalidad de descarga",
"heading.plausible": "análisis de tráfico anónimo",
"heading.cloudflare": "privacidad & seguridad web",
"heading.responsibility": "responsabilidades del usuario",
"heading.abuse": "reportar abuso",
"heading.licenses": "licencias",
"heading.summary": "la mejor forma de guardar lo que más amas",
"heading.general": "términos generales",
"heading.local": "procesamiento en el dispositivo",
"heading.encryption": "encriptación",
"heading.community": "comunidad abierta",
"heading.speed": "velocidad abrasadora",
"heading.privacy": "líderes en privacidad",
"heading.testers": "probadores beta",
"heading.motivation": "motivación",
"support.github": "echa un vistazo al código fuente de cobalt, contribuye cambios o reporta problemas",
"support.discord": "habla con la comunidad y los desarrolladores sobre cobalt o pide ayuda",
"support.twitter": "sigue las actualizaciones y el desarrollo de cobalt en tu cronologia de twitter",
"support.telegram": "mantente al día con las últimas actualizaciones de cobalt vía canal de telegram",
"support.description.issue": "si quieres reportar un error o algún otro problema recurrente, hazlo en github.",
"support.description.help": "usa discord para cualquier otra pregunta. describe el problema apropiadamente en #cobalt-support o de lo contrario nadie podrá ayudarte.",
"support.description.best-effort": "todo soporte es de mejor esfuerzo y no es garantizado, una respuesta podría tomar algún tiempo.",
"support.bluesky": "sigue las actualizaciones y el desarrollo de cobalt en tu feed de bluesky"
}

View File

@ -0,0 +1,90 @@
<script lang="ts">
import { contacts, docs, partners } from "$lib/env";
import { t } from "$lib/i18n/translations";
import SectionHeading from "$components/misc/SectionHeading.svelte";
import BetaTesters from "$components/misc/BetaTesters.svelte";
</script>
<section id="imput">
<SectionHeading
title="imput"
sectionId="imput"
/>
cobalt is made with love and care by [imput](https://imput.net/) ❤️
we're a small team of two guys, but we work really hard to make great software
that benefits everyone. if you like our work, please consider supporting it on
the [donate page](/donate)!
</section>
<section id="testers">
<SectionHeading
title={$t("about.heading.testers")}
sectionId="testers"
/>
huge shout-out to our testers for testing updates early and making sure they're
stable. they also helped us ship cobalt 10! <BetaTesters />
todos los enlaces son externos y conducen a sus sitios web personales o redes
sociales.
</section>
<section id="partners">
<SectionHeading
title={$t("about.heading.partners")}
sectionId="partners"
/>
a portion of cobalt's processing infrastructure is provided by our long-standing
partner, [royalehosting.net]({partners.royalehosting})!
</section>
<section id="meowbalt">
<SectionHeading
title={$t("general.meowbalt")}
sectionId="meowbalt"
/>
meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast
internet.
all amazing art of meowbalt that you see in cobalt was made by
[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the
character.
imput holds legal rights to meowbalt's character design, but not specific
artworks that were created by GlitchyPSI.
we love meowbalt, so we have to set a few rules in place to protect him:
- you cannot use meowbalt's character design in any form that isn't fan art.
- you cannot use meowbalt's design or artworks commercially.
- you cannot use meowbalt's design or artworks in your own projects.
- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form.
if you create fan art of meowbalt, please share it in [our discord
server](/about/community), we'd love to see it!
</section>
<section id="licenses">
<SectionHeading
title={$t("about.heading.licenses")}
sectionId="licenses"
/>
cobalt api (processing server) code is open source and licensed under
[AGPL-3.0]({docs.apiLicense}).
cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed
under [CC-BY-NC-SA 4.0]({docs.webLicense}).
we had to make frontend source first to stop grifters from profiting off our
work & from creating malicious clones that deceive people and hurt our public
identity. other than commercial use, it follows same principles as many open
source licenses.
we rely on many open source libraries, but also create & distribute our own. you
can see the full list of dependencies on [github]({contacts.github})!
</section>

View File

@ -0,0 +1,77 @@
<script lang="ts">
import { t } from "$lib/i18n/translations";
import { contacts, docs } from "$lib/env";
import SectionHeading from "$components/misc/SectionHeading.svelte";
</script>
<section id="summary">
<SectionHeading
title={$t("about.heading.summary")}
sectionId="summary"
/>
cobalt te ayuda a guardar cualquier cosa de tus sitios web favoritos: vídeos,
audio, fotos o gifs. ¡sólo pega el enlace y listo!
no hay anuncios, rastreadores, funciones de pago, ni cualquier otra tontería. es
tan solo una conveniente aplicación web que funciona en cualquier parte, cuando
sea que la necesites.
</section>
<section id="motivation">
<SectionHeading
title={$t("about.heading.motivation")}
sectionId="motivation"
/>
cobalt was created for public benefit, to protect people from ads and malware
pushed by alternative downloaders. we believe that the best software is safe,
open, and accessible. all imput project follow these basic principles.
</section>
<section id="privacy-efficiency">
<SectionHeading
title={$t("about.heading.privacy_efficiency")}
sectionId="privacy-efficiency"
/>
all requests to the backend are anonymous and all information about potential
file tunnels is encrypted. we have a strict zero log policy and don't store or
track *anything* about individual people.
if a request requires additional processing, such as remuxing or transcoding,
cobalt processes media directly on your device. this ensures best efficiency and
privacy.
if your device doesn't support local processing, then server-based live
processing is used instead. in this scenario, processed media is streamed
directly to client, without ever being stored on server's disk.
you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy
even further. when enabled, cobalt will tunnel all downloaded files, not just
those that require it. no one will know where you download something from, even
your network provider. all they'll see is that you're using a cobalt instance.
</section>
<section id="community">
<SectionHeading
title={$t("about.heading.community")}
sectionId="community"
/>
cobalt es usado por incontables artistas, educadores, y creadores de contenido
para hacer lo que aman. siempre estamos en contacto con nuestra comunidad y
trabajamos juntos para hacer de cobalt incluso mas útil. ¡siéntete libre de
[unirte a la conversación](/about/community)!
creemos que el futuro del internet es abierto, razón por la cual cobalt es
[source first](https://sourcefirst.com/) y [fácil de
autoalojar]({docs.instanceHosting}).
si un amigo aloja una instancia de procesamiento, solo pídeles un dominio y
[añádelo en tu configuración de instancias](/settings/instances#community).
puedes mirar el código fuente y contribuir [en github]({contacts.github}) en
cualquier momento. ¡aceptamos todo tipo de contribuciones y sugerencias!
</section>

View File

@ -0,0 +1,124 @@
<script lang="ts">
import env from "$lib/env";
import { t } from "$lib/i18n/translations";
import SectionHeading from "$components/misc/SectionHeading.svelte";
</script>
<section id="general">
<SectionHeading
title={$t("about.heading.general")}
sectionId="general"
/>
la política de privacidad de cobalt es simple: no recopilamos ni guardamos nada
sobre tí. lo que sea que haces es asunto tuyo, no nuestro ni de nadie más.
these terms are applicable only when using the official cobalt instance. in
other cases, you may need to contact the instance hoster for accurate info.
</section>
<section id="local">
<SectionHeading
title={$t("about.heading.local")}
sectionId="local"
/>
tools that use on-device processing work offline, locally, and never send any
processed data anywhere. they are explicitly marked as such whenever applicable.
</section>
<section id="saving">
<SectionHeading
title={$t("about.heading.saving")}
sectionId="saving"
/>
when using saving functionality, cobalt may need to proxy or remux/transcode
files. if that's the case, then a temporary tunnel is created for this purpose
and minimal required information about the media is stored for 90 seconds.
on an unmodified & official cobalt instance, **all tunnel data is encrypted with
a key that only the end user has access to**.
encrypted tunnel data may include:
- origin service's name.
- original URLs for media files.
- internal arguments needed to differentiate between types of processing.
- minimal file metadata (generated filename, title, author, creation year,
copyright info).
- minimal information about the original request that may be used in case of an
URL failure during the tunnelling process.
this data is irreversibly purged from server's RAM after 90 seconds. no one has
access to cached tunnel data, even instance owners, as long as cobalt's source
code is not modified.
media data from tunnels is never stored/cached anywhere. everything is processed
live, even during remuxing and transcoding. cobalt tunnels function like an
anonymous proxy.
if your device supports local processing, then encrypted tunnel info includes
way less info, because it's returned to client instead.
see the [related source code on
github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn
more about how it works.
</section>
<section id="encryption">
<SectionHeading
title={$t("about.heading.encryption")}
sectionId="encryption"
/>
los datos del túnel almacenados temporalmente se cifran usando el estándar
AES-256. las claves de descifrado sólo se incluyen en el enlace de acceso y
nunca se registran o almacenan en caché en ningún lugar. solamente el usuario
final tiene acceso al enlace y a las claves de cifrado. las claves se generan de
forma exclusiva para cada túnel solicitado.
</section>
{#if env.PLAUSIBLE_ENABLED}
<section id="plausible">
<SectionHeading
title={$t("about.heading.plausible")}
sectionId="plausible"
/>
we use [plausible](https://plausible.io/) to get an approximate number of active
cobalt users, fully anonymously. no identifiable information about you or your
requests is ever stored. all data is anonymized and aggregated. we self-host and
manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses.
plausible no utiliza cookies y cumple plenamente con GDPR, CCPA y PECR.
if you wish to opt out of anonymous analytics, you can do it in [privacy
settings](/settings/privacy#analytics). if you opt out, the plausible script
will not be loaded at all.
[learn more about plausible's dedication to
privacy](https://plausible.io/privacy-focused-web-analytics).
</section>
{/if}
<section id="cloudflare">
<SectionHeading
title={$t("about.heading.cloudflare")}
sectionId="cloudflare"
/>
we use cloudflare services for:
- ddos & abuse protection.
- bot protection (cloudflare turnstile).
- hosting & deploying the statically rendered web app (cloudflare workers).
all of these are required to provide the best experience for everyone.
cloudflare is the most private & reliable provider for all mentioned solutions
that we know of.
cloudflare cumple plenamente con GDPR e HIPAA.
[learn more about cloudflare's dedication to
privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/).
</section>

View File

@ -0,0 +1,65 @@
<script lang="ts">
import { t } from "$lib/i18n/translations";
import SectionHeading from "$components/misc/SectionHeading.svelte";
</script>
<section id="general">
<SectionHeading
title={$t("about.heading.general")}
sectionId="general"
/>
these terms are applicable only when using the official cobalt instance. in
other cases, you may need to contact the instance hoster for accurate info.
</section>
<section id="saving">
<SectionHeading
title={$t("about.heading.saving")}
sectionId="saving"
/>
saving functionality simplifies downloading content from the internet and we
take zero liability for what the saved content is used for.
processing servers operate like advanced proxies and don't ever write any
requested content to disk. everything is handled in RAM and permanently purged
once the tunnel is completed. we have no downloading logs and cannot identify
anyone.
you can learn more about how tunnels work in [privacy policy](/about/privacy).
</section>
<section id="responsibility">
<SectionHeading
title={$t("about.heading.responsibility")}
sectionId="responsibility"
/>
tú (el usuario final) eres responsable de lo que hagas con nuestras
herramientas, el cómo usas y distribuyes el contenido resultante. por favor sé
considerado al usar contenido de otros y siempre acredita a los creadores
originales. asegúrate de no violar ningún término o licencia.
cuando sea utilizado con fines educativos, cita siempre las fuentes y da
créditos a los creadores originales.
el uso justo y dar crédito a sus creadores beneficia a todos.
</section>
<section id="abuse">
<SectionHeading
title={$t("about.heading.abuse")}
sectionId="abuse"
/>
we have no way of detecting abusive behavior automatically because cobalt is
fully anonymous. however, you can report such activities to us via email and
we'll do our best to comply manually: abuse[at]imput.net
**este correo electrónico no es destinado para el soporte al usuario, no
obtendrás una respuesta si tu asunto no esta relacionado con abuso**
if you're experiencing issues, you can reach out for support via any preferred
method on [the community page](/about/community).
</section>

20
web/i18n/es/button.json Normal file
View File

@ -0,0 +1,20 @@
{
"gotit": "entendido",
"download": "descargar",
"save": "guardar",
"cancel": "cancelar",
"reset": "restablecer",
"done": "listo",
"download.audio": "descargar audio",
"share": "compartir",
"copy": "copiar",
"copied": "copiado",
"import": "importar",
"continue": "continuar",
"follow": "síguenos",
"export": "exportar",
"yes": "sí",
"no": "no",
"star": "dar estrella",
"copy.section": "copiar el enlace de la sección"
}

18
web/i18n/es/dialog.json Normal file
View File

@ -0,0 +1,18 @@
{
"reset.title": "¿restablecer todos los datos?",
"reset.body": "¿estás seguro de que quieres restablecer todos los datos? esta acción es inmediata e irreversible.",
"picker.title": "selecciona qué guardar",
"picker.description.desktop": "haz clic en un elemento para guardarlo. las imágenes también se pueden guardar mediante el menú del clic derecho del ratón.",
"picker.description.phone": "pulsa un elemento para guardarlo. las imágenes también se pueden guardar con una pulsación larga.",
"picker.description.ios": "pulsa un elemento para guardarlo con un atajo. las imágenes también se pueden guardar con una pulsación larga.",
"saving.title": "elige cómo guardar",
"saving.blocked": "cobalt intentó abrir el archivo en una nueva pestaña, pero tu navegador lo bloqueó. puedes permitir las ventanas emergentes de cobalt para evitar que esto ocurra la próxima vez.",
"saving.timeout": "cobalt intentó guardar el archivo automáticamente, pero tu navegador lo impidió. tienes que seleccionar el método preferido manualmente.",
"safety.title": "aviso importante de seguridad",
"api.override.title": "anulación de la instancia de procesamiento",
"api.override.body": "{{ value }} es ahora la instancia de procesamiento. si no confías en ella, pulsa «cancelar» y será ignorada.\n\npuedes cambiar tu elección más tarde en la configuración de procesamiento.",
"processing.ongoing": "cobalt está procesando un archivo en esta pestaña. salir abortará el procesamiento. ¿estás seguro de que quieres hacerlo?",
"processing.title.ongoing": "el procesamiento será cancelado",
"import.body": "importar archivos desconocidos o dañados puede alterar o romper inesperadamente la funcionalidad de cobalt. solamente importa archivos que hayas exportado personalmente y que no hayas modificado. si alguien te pidió que importes este archivo, no lo hagas.\n\nno nos hacemos responsables de ningún daño causado por la importación de archivos de configuración desconocidos.",
"safety.custom_instance.body": "las instancias personalizadas pueden plantear riesgos potenciales para la privacidad y la seguridad.\n\nlas malas instancias pueden:\n1. redirigirte fuera de cobalt e intentar estafarte.\n2. registrar toda la información sobre sus solicitudes, almacenarla para siempre y utilizarla para rastrearte.\n3. servirte archivos maliciosos (como malware).\n4. obligarte a ver anuncios o hacerte pagar por las descargas.\n\nde aquí en adelante, no podemos protegerte. por favor, ten cuidado con las instancias que utilizas y confía siempre en tu instinto. si algo no te cuadra, vuelve a esta página, reinicia la instancia personalizada e infórmanos en github."
}

30
web/i18n/es/donate.json Normal file
View File

@ -0,0 +1,30 @@
{
"body.keep_going": "si cobalt te ha resultado útil, ¡considera la posibilidad de apoyar nuestro trabajo! puedes ayudarnos haciendo una donación o compartiendo cobalt con un amigo. toda donación es muy apreciada y nos ayuda a seguir trabajando en cobalt y en otros proyectos.",
"card.once": "donación única",
"card.monthly": "donación mensual",
"card.custom": "monto personalizado (desde $2)",
"card.processor": "mediante {{value}}",
"card.option.5": "una taza de café",
"card.option.10": "pizza grande",
"card.option.15": "almuerzo completo",
"card.option.30": "almuerzo para dos",
"card.option.100": "un año de dominios",
"card.option.200": "freidora de aire",
"card.option.500": "silla de oficina elegante",
"card.option.1599": "macbook pro básico",
"card.option.4900": "10.000 manzanas",
"card.option.7398": "macbook pro al tope",
"card.option.8629": "un pequeño terreno",
"card.option.9433": "jacuzzi de lujo",
"card.custom.submit": "donar un monto personalizado",
"share.title": "comparte cobalt con un amigo",
"alternative.title": "otras formas de donar",
"alt.copy": "{{ value }}. dirección del monedero crypto. presiona para copiar.",
"alt.open": "{{ value }}. presiona para abrir.",
"banner.title": "Apoya una Internet\nsegura y abierta",
"banner.subtitle": "hazle una donación a imput o comparte\nla alegría de cobalt con un amigo",
"body.motivation": "cobalt ayuda a productores, educadores, creadores de contenido y a muchos otros a hacer lo que les gusta. es un servicio diferente que se hace con amor, sin ánimo de lucro.",
"card.option.50": "10kg de comida para gatos",
"body.no_bullshit": "creemos que el internet no tiene por qué dar miedo, por eso cobalt nunca tendrá anuncios ni ningún otro tipo de contenido malicioso. es una promesa que mantenemos firmemente. todo lo que hacemos se construye teniendo en cuenta la privacidad, la accesibilidad y la facilidad de uso, lo que hace que cobalt esté al alcance de todos.",
"card.recurring": "donación recurrente"
}

58
web/i18n/es/error.json Normal file
View File

@ -0,0 +1,58 @@
{
"import.no_data": "no hay ninguna configuración para este archivo . ¿estás seguro que es el correcto?",
"import.invalid": "tu archivo no tiene una configuración de cobalt válida para importar. ¿estás seguro de que es el correcto?",
"import.unknown": "no se pudieron cargar los datos del archivo. puede que esté dañado o que tenga el formato incorrecto. aquí está el error que me apareció:\n\n{{ value }}",
"remux.corrupted": "no se pudieron leer los metadatos de este archivo, puede que esté dañado.",
"api.auth.turnstile.invalid": "no se ha podido confirmar si no eres un robot porque tu token de acceso humano caducó y no fue renovado. ¡inténtalo de nuevo en unos segundos o recarga la página!",
"api.timed_out": "el servidor de procesamiento tardó demasiado en responder. puede que esté saturado en este momento, ¡inténtalo de nuevo en unos segundos!",
"api.link.invalid": "tu enlace no es válido o este servicio aún no es compatible. ¿has pegado el enlace correcto?",
"api.fetch.empty": "no pude encontrar ningún medio que pudiera descargar para ti. ¿estás seguro de que pegaste el enlace correcto?",
"api.fetch.short_link": "no se ha podido obtener la información del enlace corto. ¿estás seguro de que funciona? si es así y sigues recibiendo este error, ¡déjanos saber e intentaremos ayudarte!",
"api.content.video.unavailable": "no puedo acceder a este vídeo. puede que esté restringido por parte de {{ service }}. ¡intenta con un enlace diferente!",
"api.content.video.live": "este vídeo está actualmente en directo, por lo que no puedo descargarlo todavía. ¡espera a que termine el directo y vuelve a intentarlo!",
"api.content.video.private": "este vídeo es privado, por lo que no puedo acceder a él. ¡cambia su visibilidad o prueba con otro!",
"api.content.video.region": "este vídeo está bloqueado por región y el servidor de procesamiento se encuentra en una ubicación diferente. ¡prueba con otro!",
"api.content.video.age": "este vídeo tiene restricciones de edad, por lo que no puedo acceder a él de forma anónima. ¡prueba con otro!",
"remux.out_of_resources": "cobalt se quedó sin recursos y no puede continuar con el procesamiento en el dispositivo. esto es causado por las limitaciones de tu navegador. ¡actualiza o vuelve a abrir la aplicación e intenta de nuevo!",
"tunnel.probe": "no se pudo probar este túnel. tu navegador o configuración de red podría estar bloqueando acceso a alguno de los servidores de cobalt. ¿seguro de que no tienes ninguna extensión de navegador rara?",
"api.auth.jwt.missing": "no se ha podido confirmar si no eres un robot porque el servidor de procesamiento no ha recibido el token de acceso humano. ¡inténtalo de nuevo en unos segundos o recarga la página!",
"api.auth.turnstile.missing": "no se ha podido confirmar si no eres un robot porque el servidor de procesamiento no ha recibido el token de acceso humano. ¡inténtalo de nuevo en unos segundos o recarga la página!",
"api.unreachable": "no se pudo conectar a la instancia de procesamiento. ¡comprueba tu conexión a internet e inténtalo de nuevo!",
"api.rate_exceeded": "estás haciendo demasiadas peticiones. inténtalo de nuevo en {{ limit }} segundos.",
"api.generic": "algo ha ido mal y no pude conseguirte nada. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡déjanos saber e intentaremos ayudarte!",
"api.unknown_response": "no se pudo leer la respuesta de la instancia de procesamiento. esto podría deberse a un desajuste de versión entre instancias de cobalt.",
"api.service.unsupported": "este servicio aún no está soportado. ¿has pegado el enlace correcto?",
"api.auth.jwt.invalid": "no se ha podido confirmar si no eres un robot porque tu token de acceso humano caducó y no fue renovado. ¡inténtalo de nuevo en unos segundos o recarga la página!",
"api.capacity": "cobalt está al límite de su capacidad y no puede procesar tu solicitud en este momento. inténtalo de nuevo en unos segundos. si sigue sin funcionar, ¡déjanos saber e intentaremos ayudarte!",
"api.service.disabled": "este servicio está soportado por cobalt, pero está deshabilitado en esta instancia. ¡intenta un enlace desde otro servicio!",
"api.link.unsupported": "{{ service }} es compatible, pero no pude reconocer tu enlace. ¿has pegado el correcto?",
"api.fetch.fail": "algo ha ido mal al obtener información de {{ service }} y no pude conseguirte nada. ¿estás seguro de que tu enlace funciona? si es así y sigues viendo este error, ¡déjanos saber e intentaremos ayudarte!",
"api.fetch.critical": "el módulo {{ service }} devuelve un error que no reconozco. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡déjanos saber!",
"api.fetch.rate": "el servidor de procesamiento de cobalt fue limitado por la api de {{ service }}. ¡inténtalo de nuevo en unos segundos!",
"api.content.too_long": "el medio que has solicitado es demasiado largo. el límite de duración actual es de {{ limit }} minutos. ¡prueba con algo más corto!",
"api.content.post.age": "este post está restringido por edad y no está disponible sin antes iniciar sesión. ¡intenta con otro enlace!",
"api.youtube.decipher": "youtube actualizó su algoritmo de descifrado y no pude extraer la información sobre el video. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡por favor repórtalo!",
"api.content.post.unavailable": "no se ha podido encontrar nada sobre este post. puede que su visibilidad sea limitada o que no exista en absoluto. ¡asegúrate de que tu enlace funciona y vuelve a intentarlo en unos segundos!",
"api.content.post.private": "no se pudo obtener nada sobre este post porque es de una cuenta privada. ¡intenta con un enlace diferente!",
"api.youtube.codec": "youtube no devuelve nada con tu códec de vídeo preferido. ¡prueba con otro en ajustes!",
"api.youtube.login": "no pude ver este vídeo porque youtube me ha etiquetado como bot. esto puede deberse a que la instancia de procesamiento no tiene ningún token de cuenta activo. inténtalo de nuevo en unos segundos, pero si sigue sin funcionar, ¡comunícaselo al propietario de la instancia!",
"api.youtube.token_expired": "no he podido ver este vídeo porque el token de youtube caducó y no he podido actualizarlo. inténtalo de nuevo en unos segundos, pero si sigue sin funcionar, ¡díselo al propietario de la instancia!",
"captcha_ongoing": "turnstile de cloudflare aún está comprobando que no seas un robot. si se toma demasiado, intenta: desactivar extensiones del navegador raras, cambiar de red, usar otro navegador o revisar si tu dispositivo tiene malware.",
"api.youtube.no_hls_streams": "no se ha encontrado ningún stream HLS que coincida para este vídeo. ¡prueba a descargarlo sin HLS!",
"api.youtube.no_matching_format": "youtube no devolvió una combinación de formatos de audio y vídeo válida. faltan o el audio o el vídeo. los formatos para este vídeo pueden estar recodificándose en youtube o algo salió mal al analizarlos. ¡intenta habilitar la opción de hls en las opciones de vídeo!",
"api.youtube.temporary_disabled": "las descargas de youtube están deshabilitadas temporalmente debido a restricciones del lado de youtube. ya estamos buscando formas de esquivarlas.\n\npedimos disculpas por los inconvenientes y estamos haciendo lo mejor que podemos para restaurar esta funcionalidad. ¡revisa las redes sociales o el github de cobalt para estar al tanto!",
"api.auth.key.missing": "se requiere una clave de acceso para usar esta instancia de procesamiento, pero falta. ¡agrégala en la configuración de instancia!",
"api.auth.key.not_api_key": "se requiere una clave de acceso para usar esta instancia de procesamiento, pero falta. ¡agrégala en la configuración de instancia!",
"api.service.audio_not_supported": "este servicio no soporta extracción de audio. ¡intenta con un enlace de otro servicio!",
"api.auth.key.invalid": "la clave de acceso es inválida. ¡restablécela en los ajustes de instancia y usa una adecuada!",
"api.auth.key.invalid_ip": "tu dirección ip no pudo ser analizada. algo salió muy mal. ¡reporta este problema!",
"api.auth.key.not_found": "no se pudo encontrar la clave de acceso que usaste. ¿estás seguro de que esta instancia tiene tu clave?",
"api.auth.key.ip_not_allowed": "tu dirección IP tiene prohibido usar esta clave de acceso. ¡usa una instancia o red diferente!",
"api.auth.key.ua_not_allowed": "tu agente de usuario no tiene permiso para usar esta clave de acceso. ¡usa un cliente o dispositivo diferente!",
"api.content.region": "este contenido está bloqueado por región, y la instancia de procesamiento está en una ubicación distinta. ¡intenta con otro enlace!",
"api.content.paid": "este contenido requiere compra. cobalt no puede descargar contenido de pago. ¡intenta con otro enlace!",
"api.youtube.api_error": "youtube actualizó algo en su api y no pude obtener ninguna información sobre este vídeo. intenta de nuevo en unos segundos, pero si el problema persiste, por favor, ¡repórtalo!",
"api.invalid_body": "no se pudo enviar la solicitud a la instancia de procesamiento. puede que la causa de esto sea que la pagina este desactualizada. recarga la pagina e inténtalo de nuevo!",
"api.youtube.drm": "este vídeo de youtube está protegido por widevine DRM, por lo que no puedo descargarlo. ¡prueba con otro enlace!",
"api.youtube.no_session_tokens": "no se han podido obtener los tokens de sesión necesarios para youtube. esto puede deberse a una restricción por parte de youtube. inténtalo de nuevo en unos segundos, pero si este problema persiste, ¡notifícalo!"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

6
web/i18n/es/general.json Normal file
View File

@ -0,0 +1,6 @@
{
"beta": "beta",
"meowbalt": "miaubalt",
"cobalt": "cobalt",
"embed.description": "cobalt te permite guardar lo que te gusta sin anuncios, rastreo, muros de pago ni otras tonterías. ¡sólo pega el enlace y listo!"
}

View File

@ -0,0 +1,4 @@
{
"update.title": "¡actualización disponible!",
"update.subtext": "presiona para recargar"
}

1
web/i18n/es/queue.json Normal file
View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,5 @@
{
"title": "arrastra o selecciona un archivo",
"title.drop": "¡arrastra el archivo aquí!",
"accept": "formatos admitidos: {{ formats }}."
}

9
web/i18n/es/remux.json Normal file
View File

@ -0,0 +1,9 @@
{
"description": "la remezcla suele solucionar problemas de compatibilidad con programas antiguos. es rápida, sin pérdidas y todo se procesa en el dispositivo.",
"bullet.purpose.title": "¿qué hace remux?",
"bullet.purpose.description": "remux arregla cualquier problema con el contenedor del archivo, como la falta de información de la duración. ayuda a mejorar la compatibildad con software más antiguo, como vegas pro y windows media player.",
"bullet.explainer.title": "¿cómo funciona?",
"bullet.explainer.description": "remuxar toma datos del códec y los copia a un nuevo contenedor multimedia. no tiene pérdida de calidad y los datos no vuelven a ser recodificados.",
"bullet.privacy.title": "procesamiento en el dispositivo",
"bullet.privacy.description": "cobalt remuxa los datos localmente. estos datos nunca se van de tu dispositivo, por lo tanto el proceso es casi instantáneo."
}

23
web/i18n/es/save.json Normal file
View File

@ -0,0 +1,23 @@
{
"paste": "pegar",
"paste.long": "pegar y descargar",
"auto": "auto",
"audio": "audio",
"mute": "silenciado",
"services.title_show": "mostrar servicios soportados",
"input.placeholder": "pega el enlace aquí",
"terms.note.agreement": "al continuar, aceptas los",
"terms.note.link": "términos y ética de uso",
"services.title": "servicios soportados",
"services.title_hide": "ocultar servicios soportados",
"tutorial.title": "¿cómo guardar en ios?",
"tutorial.intro": "para guardar archivos multimedia cómodamente en ios, tendrás que utilizar un atajo de siri complementario desde la pestaña de compartir.",
"tutorial.step.1": "añadir atajo de siri complementario:",
"tutorial.step.3": "selecciona el atajo correspondiente en la pestaña de compartir.",
"tutorial.outro": "estos accesos directos sólo funcionarán desde la aplicación de cobalt, compartir enlaces desde otras aplicaciones no funcionará.",
"tutorial.shortcut.photos": "a fotos",
"tutorial.shortcut.files": "a archivos",
"services.disclaimer": "cobalt no está afiliado a ninguno de los servicios mencionados.",
"tutorial.step.2": "pulsa el botón «compartir» en el cuadro de diálogo de guardado de cobalt.",
"label.community_instance": "instancia de la comunidad"
}

109
web/i18n/es/settings.json Normal file
View File

@ -0,0 +1,109 @@
{
"page.appearance": "apariencia",
"page.privacy": "privacidad",
"page.video": "vídeo",
"page.audio": "audio",
"video.youtube.codec.description": "h264: mejor compatibilidad, calidad promedio. calidad máxima de 1080p. \nav1: mejor calidad y eficiencia. soporta 8k y HDR. \nvp9: misma calidad que av1, pero el archivo es ~2x más grande. soporta 4k y HDR.\n\nav1 y vp9 no son tan compatibles como h264. si av1 o vp9 no están disponibles, se usa h264 en su lugar.",
"video.youtube.codec": "códec de vídeo y contenedor de youtube",
"video.twitter.gif": "twitter/x",
"video.twitter.gif.title": "convertir vídeos en bucle a GIF",
"video.twitter.gif.description": "la conversión de GIF es ineficaz, el archivo convertido puede ser odiosamente grande y de baja calidad.",
"page.download": "descargas",
"page.advanced": "avanzado",
"page.debug": "información para nerds",
"page.instances": "instancias",
"section.general": "general",
"section.save": "guardar",
"theme": "tema",
"theme.auto": "auto",
"theme.light": "claro",
"theme.dark": "oscuro",
"theme.description": "el tema automático cambia entre temas claros y oscuros en función del modo de visualización de tu dispositivo.",
"video.quality": "calidad de vídeo",
"video.quality.max": "8k+",
"video.quality.2160": "4k",
"video.quality.1440": "1440p",
"video.quality.1080": "1080p",
"video.quality.720": "720p",
"video.quality.480": "480p",
"video.quality.360": "360p",
"video.quality.240": "240p",
"video.quality.144": "144p",
"video.quality.description": "si la calidad de vídeo preferida no está disponible, se elige la siguiente mejor.",
"saving.description": "forma preferida de guardar el archivo o enlace de cobalt. si el método preferido no está disponible o algo va mal, cobalt te preguntará qué hacer a continuación.",
"processing.override.description": "si la instancia web proporciona su propio servidor de procesamiento predeterminado, puede optar por utilizarlo en lugar del servidor de procesamiento principal. asegúrate de que se trata de un servidor de alguien de confianza.",
"video.tiktok.h265": "tiktok",
"video.tiktok.h265.title": "preferir el formato HEVC/H265",
"audio.format": "formato de audio",
"audio.format.best": "mejor",
"audio.format.mp3": "mp3",
"audio.format.ogg": "ogg",
"audio.format.wav": "wav",
"audio.format.opus": "opus",
"audio.format.description": "todos los formatos excepto \"mejor\" se convierten a partir del formato de origen con cierta pérdida de calidad. cuando se selecciona el formato \"mejor\", el audio se mantiene en su formato original cuando sea posible.",
"audio.bitrate": "tasa de bits de audio",
"audio.bitrate.kbps": "kb/s",
"audio.bitrate.description": "la tasa de bits sólo se aplica al convertir audio a un formato con pérdidas. cobalt no puede mejorar la calidad del audio de origen, por lo que elegir una tasa de bits superior a 128 kbps puede inflar el tamaño del archivo sin que haya una diferencia audible. la calidad percibida puede variar según el formato.",
"audio.youtube.dub": "pista de audio de youtube",
"audio.youtube.dub.title": "idioma de doblaje preferido",
"audio.youtube.dub.description": "cobalt usará una pista de audio doblada para el idioma seleccionado si está disponible. si no, se usará la original en su lugar.",
"video.tiktok.h265.description": "permite descargar vídeos en 1080p disminuyendo la compatibilidad.",
"audio.tiktok.original": "tiktok",
"audio.tiktok.original.title": "descargar sonido original",
"audio.tiktok.original.description": "cobalt descargará el sonido del vídeo sin ningún cambio por parte del autor del post.",
"metadata.filename": "estilo del nombre de archivo",
"metadata.filename.classic": "clásico",
"metadata.filename.basic": "básico",
"metadata.filename.pretty": "bonito",
"metadata.filename.nerdy": "para nerds",
"metadata.filename.preview.video": "Título del vídeo",
"metadata.filename.preview.audio": "Título del audio - Título del autor",
"metadata.file": "metadatos del archivo",
"metadata.disable.title": "desactivar los metadatos de archivo",
"metadata.disable.description": "no se añadirán al archivo el título, artista y otra información.",
"saving.title": "método de guardado",
"saving.ask": "preguntar",
"saving.download": "descargar",
"saving.share": "compartir",
"saving.copy": "copiar",
"accessibility": "accesibilidad",
"accessibility.transparency.title": "reducir la transparencia visual",
"accessibility.transparency.description": "reduce la transparencia de las superficies y desactiva los efectos de desenfoque. también puede mejorar el rendimiento de la interfaz en dispositivos de bajo rendimiento.",
"accessibility.motion.title": "movimiento reducido",
"accessibility.motion.description": "desactiva las animaciones y transiciones siempre que sea posible.",
"language": "idioma",
"language.auto.title": "selección automática",
"language.preferred.title": "idioma preferido",
"privacy.analytics": "analíticas de tráfico anónimo",
"privacy.analytics.title": "no contribuir a la analítica",
"privacy.analytics.learnmore": "más información sobre el compromiso de plausible con la privacidad.",
"privacy.tunnel.title": "siempre usar la tunelización para archivos",
"privacy.tunnel.description": "cobalt ocultará tu dirección ip, la información del navegador y eludirá las restricciones de la red local. cuando esté activado, los archivos también tendrán nombres legibles que, de otro modo, serían ilegibles.",
"advanced.debug": "depuración",
"advanced.debug.title": "activar funciones para nerds",
"advanced.data": "gestión de datos",
"processing.override": "anulación de instancia predeterminada",
"processing.override.title": "utilizar el servidor de procesamiento proporcionado por la instancia",
"metadata.filename.description": "el estilo de nombre de archivo sólo se utilizará para los archivos tunelizados por cobalt. algunos servicios no admiten estilos de nombre de archivo distintos del clásico.",
"privacy.tunnel": "tunelización",
"processing.community": "instancias de la comunidad",
"processing.enable_custom.title": "utilizar un servidor de procesamiento personalizado",
"processing.custom.placeholder": "dominio de la instancia personalizada",
"language.auto.description": "cobalt utilizará el idioma por defecto de tu navegador si la traducción está disponible. si no, se utilizará el inglés en su lugar.",
"language.preferred.description": "este idioma se usara cuando la selección automática esté desactivada. cualquier texto que no esté traducido se mostrará en inglés.\n\nalgunos idiomas usan traducciones de la comunidad, estas podrían ser inexactas o estar incompletas.",
"privacy.analytics.description": "los análisis de tráfico anónimos son necesarios para obtener un número aproximado de usuarios activos de cobalt. nunca se almacena información identificable sobre ti. todos los datos procesados son anónimos y agregados.\n\nutilizamos una instancia de plausible autoalojada que no utiliza cookies y cumple plenamente con GDPR, CCPA y PECR.",
"advanced.debug.description": "te da fácil acceso a una página con información de la aplicación que puede ser útil para depurar. habilitar esto no afecta la funcionalidad de cobalt de ninguna forma.",
"processing.enable_custom.description": "cobalt usará una instancia de procesamiento personalizada si así lo deseas. aunque cobalt cuenta con algunas medidas de seguridad, no nos hacemos responsables de los daños que se produzcan a través de una instancia comunitaria, ya que no tenemos control sobre ellas.\n\npor favor, ten cuidado con las instancias que usas y asegúrate de que están alojadas por personas en las que confías.",
"video.youtube.hls.title": "preferir hls para audio y vídeo",
"youtube.dub.original": "original",
"video.youtube.hls.description": "los archivos se descargarán más rápido y serán menos propensos a errores o cortes bruscos. sólo los códecs h264 y vp9 están disponibles en este modo. el códec original es aac, es recodificado por compatibilidad y la calidad de audio puede ser peor que su contraparte sin HLS.\n\nesta opción es experimental, y puede desaparecer o cambiar en el futuro.",
"video.youtube.hls": "formatos hls en youtube",
"video.h265.title": "permitir h265 para vídeos",
"video.h265": "códec de vídeo de alta eficiencia",
"video.h265.description": "permite descargar vídeos de plataformas como tiktok y xiaohongshu en mayor calidad al coste de compatibilidad.",
"processing.access_key": "clave de acceso de la instancia",
"processing.access_key.title": "usar una clave de acceso de instancia",
"processing.access_key.description": "cobalt usará esta clave para realizar solicitudes a la instancia de procesamiento en lugar de otros métodos de autenticación. ¡asegúrate de que la instancia sea compatible con claves de api!",
"processing.custom_instance.input.alt_text": "dominio de instancia personalizada",
"processing.access_key.input.alt_text": "clave de acceso u-u-i-d"
}

8
web/i18n/es/tabs.json Normal file
View File

@ -0,0 +1,8 @@
{
"save": "guardar",
"settings": "ajustes",
"updates": "novedades",
"donate": "donar",
"about": "acerca de",
"remux": "remezclar"
}

4
web/i18n/es/updates.json Normal file
View File

@ -0,0 +1,4 @@
{
"button.next": "ir al registro de cambios más antiguo ({{ value }})",
"button.previous": "ir al registro de cambios más reciente ({{ value }})"
}