Update localization files + references (#4556)

* Initial plan

* Add localization support to NameChangeModal component

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Add NameChangeModal translations to English language file

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* fix(i18n): fix localization keys

* chore(test): add i18n test

* chore(i18n): update translation script

* chore(i18n): reorgnize translation keys and update components

* chore: fix linting warnings

* chore(i18n): update all the language files

* feat(i18n): add last live ago i18n key

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
This commit is contained in:
Copilot
2025-09-15 19:27:56 -07:00
committed by GitHub
co-authored by gabek copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Gabe Kangas
parent 401b5897e2
commit 1cf923a5af
46 changed files with 6053 additions and 4639 deletions
+150 -178
View File
@@ -1,179 +1,151 @@
{
"Add your Owncast instance to the Fediverse": "Agrega tu instancia de Owncast al Fediverso",
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Aumenta tu audiencia apareciendo en el <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Directorio de Owncast</strong></a>. Este es un servicio externo gestionado por el proyecto Owncast. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Aprende más</a>.",
"offlineMessageDescription": "El mensaje fuera de línea se muestra a los visitantes de la página cuando no se está transmitiendo. Markdown es compatible.",
"serverUrlRequiredForDirectory": "Debe configurar la <strong>URL de</strong> su servidor para habilitar el directorio."
},
"emojiPageDescription": "<strong><em>Falta traducción Admin.emojiPageDescription: Por favor, informe</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Falta la traducción de Admin.emojiUploadBulkGuide: Por favor, informe</em></strong>",
"emojis": "<strong><em>Falta traducción Admin.emojis: por favor reporta</em></strong>",
"uploadNewEmoji": "<strong><em>Falta traducción Admin.uploadNewEmoji: Por favor reporta</em></strong>"
},
"Banned Users": "Usuarios Baneados",
"Bring in moderators to help keep your chat in order": "Contrata a moderadores para que te ayuden a mantener el orden en el chat.",
"CPU": "CPU",
"Chat Messages": "Mensajes del Chat",
"Chat is disabled": "Chat desactivado",
"Chat is offline": "Chat desconectado",
"Chat will be available when the stream is live": "El chat estará disponible cuando inicie la emisión.",
"Chat will continue to be disabled until you begin a live stream": "El chat seguirá desactivado hasta que inicies una emisión en directo.",
"Click and never miss future streams!": "Haga clic y no se pierda las próximas transmisiones.",
"Common": {
"poweredByOwncastVersion": "Powered by <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Common tasks": "Tareas habituales",
"Connected": "Conectados",
"Contribute": "Contribuir",
"Current stream": "Emisión actual",
"Current viewers": "Espectadores Actuales",
"Disk": "Disco",
"Documentation": "Documentación",
"Embed your video onto other sites": "Inserta tu vídeo en otros sitios",
"Enable Owncast social features": "Activar características sociales de Owncast",
"Error": "Error",
"FAQ": "preguntas frecuentes (FAQ)",
"Find an audience on the Owncast Directory": "Encuentra la audiencia en el Directorio de Owncast",
"Fix your problems": "Solucione sus problemas",
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Permitir",
"blockButton": "Bloque",
"deniedDescription": "Para activar las notificaciones push de {{hostname}} accede a los permisos de tu navegador para este sitio y activa las notificaciones. Luego recargue esta página para aplicar la configuración actualizada en este sitio. <a href='https://owncast.online/docs/notifications'>Aprenda más.</a>",
"deniedTitle": "Las notificaciones están bloqueadas en tu dispositivo",
"enabledDescription": "Para desactivar las notificaciones push de {{hostname}} accede a los permisos de tu navegador para este sitio y desactiva las notificaciones. <a href='https://owncast.online/docs/notifications'>Más información</a>",
"enabledTitle": "Las notificaciones están habilitadas",
"errorTitle": "Error de notificación del navegador",
"iosAddButton": "Añadir",
"iosAddToHomeScreen": "Añadir a la pantalla de inicio",
"iosAllowPrompt": "Permitir",
"iosComeBack": "Vuelve a esta pantalla y activa las notificaciones.",
"iosDescription": "Da un par de pasos adicionales para asegurarte de que recibes notificaciones cuando tus streams favoritos van en directo.",
"iosNameAndTap": "Dale un nombre a este enlace y toca el nuevo icono en tu pantalla de inicio",
"iosShareButton": "compartir",
"iosTitle": "Recibir notificaciones en iOS",
"learnMore": "Aprende más",
"mainDescription": "Recibe notificaciones directamente en el navegador cada vez que este stream se pone en vivo.",
"permissionWantsTo": "{{hostname}} quiere",
"showNotifications": "Mostrar notificaciones",
"unsupported": "Las notificaciones del navegador no están soportadas en su navegador.",
"unsupportedLocal": "Las notificaciones del navegador no son compatibles con los servidores locales."
},
"chatOffline": "<strong><em>Falta traducción Frontend.chatOffline: Por favor, informe</em></strong>",
"componentError": "Error: {{message}}",
"helloWorld": "<strong><em>Falta traducción Frontend.helloWorld: por favor informe</em></strong>",
"notificationMessage": "<strong><em>Falta la traducción de Frontend.notificationMessage: Por favor, informe</em></strong>",
"offlineBasic": "Esta corriente está fuera de línea. ¡Vuelve pronto!",
"offlineFediverseOnly": "Este stream está fuera de línea. <span class='follow-link'>Sigue</span> {{fediverseAccount}} en el Fediverso para ver la próxima vez que {{streamer}} se ponga en directo.",
"offlineNotifyAndFediverse": "Esta transmisión está desconectada. Puede <span class='notify-link'>recibir una notificación</span> la próxima vez que {{streamer}} salga en directo o <span class='follow-link'>seguir</span> {{fediverseAccount}} en Fediverse.",
"offlineNotifyOnly": "Este stream está desconectado. <span class='notify-link'>Ser notificado</span> la próxima vez que {{streamer}} vaya en directo."
},
"Hardware Info": "Información del Hardware",
"Healthy Stream": "Calidad de Emisión",
"Help configuring my broadcasting software": "Ayuda a configurar mi software de emisión",
"Hidden messages": "Mensajes ocultos",
"Hide": "Ocultar",
"How can we help you?": "¿Cómo podemos ayudarte?",
"I found a bug": "Encontré un error",
"I have a general question": "Tengo una pregunta de carácter general",
"I want to build add-ons for Owncast": "Quiero crear complementos para Owncast",
"I want to configure my owncast instance": "Quiero configurar mi instancia de owncast",
"I want to customize my website": "Quiero personalizar mi página web",
"I want to embed my stream into another site": "Quiero incrustar mi emisión en otro sitio",
"I want to tweak my video output": "Quiero ajustar mi salida de vídeo",
"I want to use an external storage provider": "Quiero usar un proveedor de almacenamiento externo",
"IP Bans": "Baneos IP",
"If you found a bug, then please": "Si encuentras un error, entonces por favor",
"Inbound Audio Stream": "Trasmisión de Audio Entrante",
"Inbound Stream Details": "Detalles de Emisión Entrante",
"Inbound Video Stream": "Trasmisión de Vídeo Entrante",
"Info": "Información",
"Input": "Entrada",
"Last 12 hours": "Últimas 12 horas",
"Last 24 hours": "Últimas 24 horas",
"Last 3 months": "Últimos 3 meses",
"Last 30 days": "Últimos 30 días",
"Last 6 months": "Últimos 6 meses",
"Last 7 days": "Últimos 7 días",
"Last live ago": "Último directo hace {{timeAgo}}",
"Learn how to point your existing software to your new server and start streaming your content": "Aprenda cómo apuntar su software a su nuevo servidor y comenzar a emitir su contenido.",
"Learn how you can add your Owncast stream to other sites you control": "Aprende cómo puede agregar su emisión de Owncast en otros sitios que controle.",
"Learn more": "Más información",
"Learn more about chat moderation here": "Más información sobre la moderación del chat aquí.",
"Level": "Nivel",
"Link": "Enlace",
"List yourself in the Owncast Directory and show off your stream": {
" Enable it in": "Incluir en el directorio Owncast y publicar su emisión. Habilítelo en"
},
"Logs": "Registros",
"Manage the messages from viewers that show up on your stream": "Administra los mensajes de los espectadores que aparecen en tu emisión.",
"Max viewers last stream": "Máximo de espectadores de la última emisión",
"Max viewers this stream": "Máximo de espectadores en esta emisión",
"Memory": "Memoria",
"Message": "Mensaje",
"Moderators": "Moderadores",
"Most general questions are answered in our": "Las preguntas más generales se responden en nuestras",
"News & Updates from Owncast": "Noticias y actualizaciones de Owncast",
"No": "No",
"No hardware details have been collected yet": "Todavía no se han recopilado detalles de hardware.",
"No news": "No hay noticias.",
"No stream is active": "Emisión inactiva",
"No viewer data has been collected yet": "Todavía no se han recopilado datos del espectador.",
"Notify": "Notificar",
"Other": "Otros",
"Outbound Audio Stream": "Emisión de Audio Saliente",
"Outbound Stream Details": "Detalles de Emisión Saliente",
"Outbound Video Stream": "Emisión de Vídeo Saliente",
"Overridden via command line": "Sobrescrito vía línea de comandos.",
"Peak viewer count": "Pico de espectadores",
"Playback Health": "Calidad de Reproducción",
"Please wait": "Por favor, espera",
"Read the Docs": "Leer la documentación",
"Show": "Mostrar",
"Skip to footer": "Ir al pie de página",
"Skip to offline message": "Ir a mensaje sin conexión",
"Skip to page content": "Ir al contenido de la página",
"Skip to player": "Ir al reproductor",
"Source": "Código fuente",
"Stay updated!": "¡Mantente informado!",
"Stream health represents": "Muestra la calidad de emisión",
"Stream started": "Inicio de emisión",
"TROUBLESHOOT": "SOLUCIÓN DE PROBLEMAS",
"Testing": {
"itemCount": "<strong><em>Falta traducción Testing.itemCount: Por favor reporte</em></strong>",
"messageCount": "<strong><em>Falta traducción Testing.messageCount: Por favor, informe</em></strong>",
"noPluralKey": "<strong><em>Falta traducción Testing.noPluralKey: por favor reporta</em></strong>",
"simpleKey": "<strong><em>Falta traducción Testing.simpleKey: Por favor reporte</em></strong>"
},
"Time": "Tiempo",
"Timestamp": "Marca de tiempo",
"Troubleshooting": "Resolución de problemas",
"Use your broadcasting software": "Configurar software de emisión",
"User": "Usuario",
"View": "Ver",
"Viewer Info": "Datos de Audiencia",
"Viewers": "Espectadores",
"Visible messages": "Mensajes visibles",
"Visit the": "Visite la",
"Warning": "Advertencia",
"When a stream is active and chat is enabled, connected chat clients will be displayed here": "Cuando la emisión está activa y el chat está habilitado, los usuarios del chat se mostrarán aquí.",
"Yes": "Si",
"You can build your own bots, overlays, tools and add-ons with our": "Puedes construir tus propios bots, superposiciones, herramientas y complementos con nuestra",
"You should start one": "Deberías iniciar una.",
"developer APIs": "API para desarrolladores.",
"discussions": "debates",
"documentation": "documentación",
"let us know": "háznoslo saber",
"max viewers": "Máximo de espectadores",
"of all known players": {
" Other player status is unknown": "de todos los reproductores conocidos. Se desconoce el estado de los otros reproductores."
},
"offline": "sin conexión",
"offline_basic": "Esta corriente está fuera de línea. ¡Vuelve pronto!",
"or exist in our": "o existe en nuestros",
"settings": "configuración",
"to configure additional details about your viewers": "para configurar más detalles de sus espectadores.",
"to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream": "para que tu instancia se una al Fediverso, permitiendo a la gente seguir, compartir e involucrarse con tu emisión en directo.",
"used": "utilizado"
}
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Aumenta tu audiencia apareciendo en el <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Directorio de Owncast</strong></a>. Este es un servicio externo gestionado por el proyecto Owncast. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Aprende más</a>.",
"offlineMessageDescription": "El mensaje fuera de línea se muestra a los visitantes de la página cuando no se está transmitiendo. Markdown es compatible.",
"serverUrlRequiredForDirectory": "Debe configurar la <strong>URL de</strong> su servidor para habilitar el directorio."
},
"HardwareInfo": {
"cpu": "CPU",
"disk": "Disco",
"memory": "Memoria",
"noDetails": "No hardware details have been collected yet.",
"pleaseWait": "Por favor, espera",
"title": "Información del Hardware",
"used": "utilizado"
},
"Help": {
"bugPlease": "Si encuentras un error, entonces por favor",
"buildAddons": "Quiero crear complementos para Owncast",
"buildTools": "Puedes construir tus propios bots, superposiciones, herramientas y complementos con nuestra",
"commonTasks": "Tareas habituales",
"configureBroadcasting": "Ayuda a configurar mi software de emisión",
"configureInstance": "Quiero configurar mi instancia de owncast",
"customizeWebsite": "Quiero personalizar mi página web",
"developerApis": "developer APIs.",
"discussions": "debates",
"documentation": "Documentación",
"embedStream": "Quiero incrustar mi emisión en otro sitio",
"faq": "preguntas frecuentes (FAQ)",
"fixProblems": "Solucione sus problemas",
"foundBug": "Encontré un error",
"generalAnswered": "Las preguntas más generales se responden en nuestras",
"generalQuestion": "Tengo una pregunta de carácter general",
"learnMore": "Más información",
"letUsKnow": "háznoslo saber",
"orExist": "o existe en nuestros",
"other": "Otros",
"readDocs": "Leer la documentación",
"title": "¿Cómo podemos ayudarte?",
"troubleshooting": "Resolución de problemas",
"tweakVideo": "Quiero ajustar mi salida de vídeo",
"useStorage": "Quiero usar un proveedor de almacenamiento externo"
},
"LogTable": {
"error": "Error",
"info": "Información",
"level": "Nivel",
"logs": "Registros",
"message": "Mensaje",
"timestamp": "Marca de tiempo",
"warning": "Advertencia"
},
"NewsFeed": {
"link": "Enlace",
"noNews": "No news.",
"title": "Noticias y actualizaciones de Owncast"
},
"VideoVariantForm": {
"bitrateDisabledPassthrough": "Bitrate selection is disabled when Video Passthrough is enabled.",
"bitrateGoodForHigh": "Good for high speed & high bitrate viewers.",
"bitrateGoodForMost": "Good for most viewers, bandwidths and resolutions.",
"bitrateGoodForSlow": "Good for slow, mobile and low bitrate viewers.",
"bitrateValueKbps": "{{bitrate}} kbps"
},
"ViewerInfo": {
"currentStream": "Emisión actual",
"currentViewers": "Espectadores Actuales",
"last12Hours": "Últimas 12 horas",
"last24Hours": "Últimas 24 horas",
"last30Days": "Últimos 30 días",
"last3Months": "Últimos 3 meses",
"last6Months": "Últimos 6 meses",
"last7Days": "Últimos 7 días",
"maxViewers": "Máximo de espectadores",
"maxViewersLastStream": "Máximo de espectadores de la última emisión",
"maxViewersThisStream": "Máximo de espectadores en esta emisión",
"noData": "No viewer data has been collected yet.",
"pleaseWait": "Por favor, espera",
"title": "Datos de Audiencia",
"viewers": "Espectadores"
},
"deleteEmoji": "Delete emoji",
"emojiPageDescription": "<strong><em>Falta traducción Admin.emojiPageDescription: Por favor, informe</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Falta la traducción de Admin.emojiUploadBulkGuide: Por favor, informe</em></strong>",
"emojis": "<strong><em>Falta traducción Admin.emojis: por favor reporta</em></strong>",
"uploadNewEmoji": "<strong><em>Falta traducción Admin.uploadNewEmoji: Por favor reporta</em></strong>"
},
"Common": {
"poweredByOwncastVersion": "Powered by <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Permitir",
"blockButton": "Bloque",
"deniedDescription": "Para activar las notificaciones push de {{hostname}} accede a los permisos de tu navegador para este sitio y activa las notificaciones. Luego recargue esta página para aplicar la configuración actualizada en este sitio. <a href='https://owncast.online/docs/notifications'>Aprenda más.</a>",
"deniedTitle": "Las notificaciones están bloqueadas en tu dispositivo",
"enabledDescription": "Para desactivar las notificaciones push de {{hostname}} accede a los permisos de tu navegador para este sitio y desactiva las notificaciones. <a href='https://owncast.online/docs/notifications'>Más información</a>",
"enabledTitle": "Las notificaciones están habilitadas",
"errorMessage": "Error registering for live notifications: {{message}}. Make sure you're not inside a private browser environment or have previously disabled notifications for this stream.",
"errorTitle": "Error de notificación del navegador",
"iosAddButton": "Añadir",
"iosAddToHomeScreen": "Añadir a la pantalla de inicio",
"iosAllowPrompt": "Permitir",
"iosComeBack": "Vuelve a esta pantalla y activa las notificaciones.",
"iosDescription": "Da un par de pasos adicionales para asegurarte de que recibes notificaciones cuando tus streams favoritos van en directo.",
"iosNameAndTap": "Dale un nombre a este enlace y toca el nuevo icono en tu pantalla de inicio",
"iosShareButton": "compartir",
"iosTitle": "Recibir notificaciones en iOS",
"learnMore": "Aprende más",
"mainDescription": "Recibe notificaciones directamente en el navegador cada vez que este stream se pone en vivo.",
"permissionWantsTo": "{{hostname}} quiere",
"showNotifications": "Mostrar notificaciones",
"unsupported": "Las notificaciones del navegador no están soportadas en su navegador.",
"unsupportedLocal": "Las notificaciones del navegador no son compatibles con los servidores locales."
},
"Footer": {
"contribute": "Contribuir",
"documentation": "Documentación",
"source": "Código fuente"
},
"Header": {
"chatOffline": "Chat desconectado",
"chatWillBeAvailable": "Chat will be available when the stream is live.",
"skipToContent": "Ir al contenido de la página",
"skipToFooter": "Ir al pie de página",
"skipToOfflineMessage": "Ir a mensaje sin conexión",
"skipToPlayer": "Ir al reproductor"
},
"NameChangeModal": {
"authInfo": "You can also authenticate an IndieAuth or Fediverse account via the \"Authenticate\" menu.",
"buttonText": "Change name",
"colorLabel": "Your Color",
"description": "Your chat display name is what people see when you send chat messages.",
"overLimit": "Over limit",
"placeholder": "Your chat display name"
},
"chatOffline": "<strong><em>Falta traducción Frontend.chatOffline: Por favor, informe</em></strong>",
"componentError": "Error: {{message}}",
"helloWorld": "<strong><em>Falta traducción Frontend.helloWorld: por favor informe</em></strong>",
"offlineBasic": "Esta corriente está fuera de línea. ¡Vuelve pronto!",
"offlineFediverseOnly": "Este stream está fuera de línea. <span class='follow-link'>Sigue</span> {{fediverseAccount}} en el Fediverso para ver la próxima vez que {{streamer}} se ponga en directo.",
"offlineNotifyAndFediverse": "Esta transmisión está desconectada. Puede <span class='notify-link'>recibir una notificación</span> la próxima vez que {{streamer}} salga en directo o <span class='follow-link'>seguir</span> {{fediverseAccount}} en Fediverse.",
"offlineNotifyOnly": "Este stream está desconectado. <span class='notify-link'>Ser notificado</span> la próxima vez que {{streamer}} vaya en directo."
},
"Testing": {
"itemCount": "<strong><em>Falta traducción Testing.itemCount: Por favor reporte</em></strong>",
"messageCount": "<strong><em>Falta traducción Testing.messageCount: Por favor, informe</em></strong>",
"noPluralKey": "<strong><em>Falta traducción Testing.noPluralKey: por favor reporta</em></strong>",
"simpleKey": "<strong><em>Falta traducción Testing.simpleKey: Por favor reporte</em></strong>"
}
}