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": "Adicione sua instância do Owncast ao Fediverso",
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Aumente o seu público aparecendo no <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Owncast Directory</strong></a>. Este é um serviço externo executado pelo projeto Owncasty. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Saiba mais</a>.",
"offlineMessageDescription": "A mensagem offline é exibida aos visitantes da página quando você não está transmitindo. Markdown é suportado.",
"serverUrlRequiredForDirectory": "Você deve definir a URL <strong>do servidor</strong> acima para habilitar o diretório."
},
"emojiPageDescription": "<strong><em>Falta tradução Admin.emojiPageDescription: Por favor, reporte</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Falta tradução Admin.emojiUploadBulkGuide: Por favor, reporte</em></strong>",
"emojis": "<strong><em>Falta tradução Admin.emojis: Por favor, reporte</em></strong>",
"uploadNewEmoji": "<strong><em>Falta tradução Admin.uploadNewEmoji: Por favor, reporte</em></strong>"
},
"Banned Users": "Usuários Banidos",
"Bring in moderators to help keep your chat in order": "Chame moderadores para ajudar a manter o chat em ordem.",
"CPU": "CPU",
"Chat Messages": "Mensagens de Chat",
"Chat is disabled": "Chat desativado",
"Chat is offline": "O chat está offline",
"Chat will be available when the stream is live": "O Chat estará disponível quando a transmissão estiver ativa.",
"Chat will continue to be disabled until you begin a live stream": "O chat continuará desativado até que você inicie uma transmissão ao vivo.",
"Click and never miss future streams!": "Clique e não perca futuras transmissões!",
"Common": {
"poweredByOwncastVersion": "Desenvolvido por <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Common tasks": "Tarefas comuns",
"Connected": "Conectado",
"Contribute": "Contribua",
"Current stream": "Transmissão atual",
"Current viewers": "Espectadores atuais",
"Disk": "Disco",
"Documentation": "Documentação",
"Embed your video onto other sites": "Incorporar seu vídeo em outros sites",
"Enable Owncast social features": "Habilitar recursos sociais do Owncast",
"Error": "Erro",
"FAQ": "Perguntas frequentes (FAQ)",
"Find an audience on the Owncast Directory": "Encontre um público no diretório do Owncast",
"Fix your problems": "Resolva seus problemas",
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Autorizar",
"blockButton": "Bloquear",
"deniedDescription": "Para habilitar notificações push de permissões de acesso do {{hostname}} ao seu navegador para este site e ativar as notificações. Em seguida, recarregue esta página para aplicar suas configurações atualizadas neste site. <a href='https://owncast.online/docs/notifications'>Saiba mais.</a>",
"deniedTitle": "As notificações estão bloqueadas no seu dispositivo",
"enabledDescription": "Para desativar notificações push de permissões de acesso {{hostname}} ao seu navegador para este site e desativar as notificações. <a href='https://owncast.online/docs/notifications'>Saiba mais.</a>",
"enabledTitle": "As notificações estão habilitadas",
"errorTitle": "Erro de notificação do navegador",
"iosAddButton": "Adicionar",
"iosAddToHomeScreen": "Adicionar à tela inicial",
"iosAllowPrompt": "Autorizar",
"iosComeBack": "Volte para esta tela e permita notificações.",
"iosDescription": "São necessários alguns passos adicionais para garantir que você seja notificado quando suas streams favoritas forem ao ar.",
"iosNameAndTap": "Dê um nome a este link e toque no novo ícone na sua tela inicial",
"iosShareButton": "compartilhar",
"iosTitle": "Seja notificado no iOS",
"learnMore": "Mais informações",
"mainDescription": "Seja notificado diretamente no navegador cada vez que esse stream for ao ar.",
"permissionWantsTo": "{{hostname}} quer",
"showNotifications": "Mostrar notificações",
"unsupported": "As notificações do navegador não são suportadas no seu navegador.",
"unsupportedLocal": "Notificações de navegador não são suportadas por servidores locais."
},
"chatOffline": "<strong><em>Falta tradução do Frontend.chatOffline: Por favor, reporte</em></strong>",
"componentError": "Erro: {{message}}",
"helloWorld": "<strong><em>Falta tradução do Frontend.helloWorld: Por favor, reporte</em></strong>",
"notificationMessage": "<strong><em>Falta tradução do Frontend.notificationMessage: Por favor, informe</em></strong>",
"offlineBasic": "Esta transmissão está offline. Volte em breve!",
"offlineFediverseOnly": "Esta transmissão está off-line. <span class='follow-link'>Siga</span> {{fediverseAccount}} no Fediverse para ver a próxima vez que {{streamer}} estiver ao vivo.",
"offlineNotifyAndFediverse": "Esta transmissão está offline. <span class='notify-link'>Pode ser notificado</span> na próxima vez que {{streamer}} for ao ar ou <span class='follow-link'>siga</span> {{fediverseAccount}} no Fediverse.",
"offlineNotifyOnly": "Esta transmissão está offline. U <span class='notify-link'>Seja notificado</span> na próxima vez que {{streamer}} for ao ar."
},
"Hardware Info": "Informação de Hardware",
"Healthy Stream": "Transmissão Saudável",
"Help configuring my broadcasting software": "Ajude a configurar meu software de transmissão",
"Hidden messages": "Mensagens Ocultas",
"Hide": "Ocultar",
"How can we help you?": "Como podemos ajudar você?",
"I found a bug": "Encontrei um bug",
"I have a general question": "Tenho uma pergunta geral",
"I want to build add-ons for Owncast": "Quero criar complementos para o Owncast",
"I want to configure my owncast instance": "Quero configurar minha instância do owncast",
"I want to customize my website": "Quero personalizar meu site",
"I want to embed my stream into another site": "Quero incorporar minha transmissão em outro site",
"I want to tweak my video output": "Quero ajustar minha saída de vídeo",
"I want to use an external storage provider": "Quero usar um provedor de armazenamento externo",
"IP Bans": "Banimentos de IP",
"If you found a bug, then please": "Se você encontrou um bug, por favor",
"Inbound Audio Stream": "Fluxo de áudio de entrada",
"Inbound Stream Details": "Detalhes do fluxo de entrada",
"Inbound Video Stream": "Fluxo de vídeo de entrada",
"Info": "Informações",
"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 Dias",
"Last 6 months": "Últimos 6 meses",
"Last 7 days": "Últimos 7 dias",
"Last live ago": "Última transmissão realizada {{timeAgo}} atrás",
"Learn how to point your existing software to your new server and start streaming your content": "Aprenda a apontar seu software existente para seu novo servidor e comece a transmitir seu conteúdo.",
"Learn how you can add your Owncast stream to other sites you control": "Saiba como adicionar sua transmissão do Owncast a outros sites que você controla.",
"Learn more": "Saiba mais",
"Learn more about chat moderation here": "Aprenda mais sobre moderação de sala de chat aqui.",
"Level": "Nível",
"Link": "Link",
"List yourself in the Owncast Directory and show off your stream": {
" Enable it in": "Liste-se no diretório do Owncast e exiba sua transmissão. Habilite-o em"
},
"Logs": "Logs",
"Manage the messages from viewers that show up on your stream": "Gerencie as mensagens dos espectadores que aparecem em sua transmissão.",
"Max viewers last stream": "Máximo de espectadores na última transmissão",
"Max viewers this stream": "Máximo de espectadores nesta transmissão",
"Memory": "Memória",
"Message": "Mensagem",
"Moderators": "Moderadores",
"Most general questions are answered in our": "A maioria das perguntas gerais são respondidas no nosso",
"News & Updates from Owncast": "Notícias e Atualizações do Owncast",
"No": "Não",
"No hardware details have been collected yet": "Nenhum detalhe de hardware foi coletado ainda.",
"No news": "Sem notícias.",
"No stream is active": "Nenhuma transmissão está ativa",
"No viewer data has been collected yet": "Nenhum dado do espectador foi coletado ainda.",
"Notify": "Notificar",
"Other": "Outro",
"Outbound Audio Stream": "Fluxo de áudio de saída",
"Outbound Stream Details": "Detalhes do fluxo de saída",
"Outbound Video Stream": "Fluxo de vídeo de saída",
"Overridden via command line": "Substituído pela linha de comando.",
"Peak viewer count": "Pico de contagem de espectadores",
"Playback Health": "Status da reprodução",
"Please wait": "Por favor aguarde",
"Read the Docs": "Leia a documentação",
"Show": "Mostrar",
"Skip to footer": "Pular para o rodapé",
"Skip to offline message": "Pular para mensagem offline",
"Skip to page content": "Ir para o conteúdo da página",
"Skip to player": "Pular para o player",
"Source": "Fonte",
"Stay updated!": "Mantenha-se atualizado!",
"Stream health represents": "A saúde da transmissão representa",
"Stream started": "Transmissão iniciada",
"TROUBLESHOOT": "TROUBLESHOOT",
"Testing": {
"itemCount": "<strong><em>Falta tradução Testing.itemContt: Por favor, reporte</em></strong>",
"messageCount": "<strong><em>Falta tradução Testing.messageContt: Por favor, reporte</em></strong>",
"noPluralKey": "<strong><em>Falta de tradução Testing.noPluralKey: Por favor, reporte</em></strong>",
"simpleKey": "<strong><em>Falta de tradução Testing.simpleKey: Por favor, reporte</em></strong>"
},
"Time": "Horário",
"Timestamp": "Timestamp",
"Troubleshooting": "Resolução de problemas",
"Use your broadcasting software": "Use seu software de transmissão",
"User": "Usuário",
"View": "Visualizar",
"Viewer Info": "Informações do espectador",
"Viewers": "Espectadores",
"Visible messages": "Mensagens visíveis",
"Visit the": "Visite a",
"Warning": "Aviso",
"When a stream is active and chat is enabled, connected chat clients will be displayed here": "Quando uma transmissão está ativa e o chat está habilitado, os clientes de chat conectados serão exibidos aqui.",
"Yes": "Sim",
"You can build your own bots, overlays, tools and add-ons with our": "Você pode criar seus próprios bots, sobreposições, ferramentas e complementos com nossa",
"You should start one": "Você deveria começar uma.",
"developer APIs": "APIs de desenvolvedor.",
"discussions": "discussões",
"documentation": "documentação",
"let us know": "informe-nos",
"max viewers": "máximo de espectadores",
"of all known players": {
" Other player status is unknown": "de todos os players conhecidos. O status de outro player é desconhecido."
},
"offline": "offline",
"offline_basic": "Esta transmissão está offline. Volte em breve!",
"or exist in our": "ou existem em nossas",
"settings": "configurações.",
"to configure additional details about your viewers": "para configurar detalhes adicionais sobre seus espectadores.",
"to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream": "para que sua instância faça parte do Fediverso, permitindo que as pessoas sigam, compartilhem e se envolvam com seu fluxo ao vivo.",
"used": "utilizado"
}
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Aumente o seu público aparecendo no <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Owncast Directory</strong></a>. Este é um serviço externo executado pelo projeto Owncasty. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Saiba mais</a>.",
"offlineMessageDescription": "A mensagem offline é exibida aos visitantes da página quando você não está transmitindo. Markdown é suportado.",
"serverUrlRequiredForDirectory": "Você deve definir a URL <strong>do servidor</strong> acima para habilitar o diretório."
},
"HardwareInfo": {
"cpu": "CPU",
"disk": "Disco",
"memory": "Memória",
"noDetails": "No hardware details have been collected yet.",
"pleaseWait": "Por favor aguarde",
"title": "Informação de Hardware",
"used": "utilizado"
},
"Help": {
"bugPlease": "Se você encontrou um bug, por favor",
"buildAddons": "Quero criar complementos para o Owncast",
"buildTools": "Você pode criar seus próprios bots, sobreposições, ferramentas e complementos com nossa",
"commonTasks": "Tarefas comuns",
"configureBroadcasting": "Ajude a configurar meu software de transmissão",
"configureInstance": "Quero configurar minha instância do owncast",
"customizeWebsite": "Quero personalizar meu site",
"developerApis": "developer APIs.",
"discussions": "discussões",
"documentation": "Documentação",
"embedStream": "Quero incorporar minha transmissão em outro site",
"faq": "Perguntas frequentes (FAQ)",
"fixProblems": "Resolva seus problemas",
"foundBug": "Encontrei um bug",
"generalAnswered": "A maioria das perguntas gerais são respondidas no nosso",
"generalQuestion": "Tenho uma pergunta geral",
"learnMore": "Saiba mais",
"letUsKnow": "informe-nos",
"orExist": "ou existem em nossas",
"other": "Outro",
"readDocs": "Leia a documentação",
"title": "Como podemos ajudar você?",
"troubleshooting": "Resolução de problemas",
"tweakVideo": "Quero ajustar minha saída de vídeo",
"useStorage": "Quero usar um provedor de armazenamento externo"
},
"LogTable": {
"error": "Erro",
"info": "Informações",
"level": "Nível",
"logs": "Logs",
"message": "Mensagem",
"timestamp": "Timestamp",
"warning": "Aviso"
},
"NewsFeed": {
"link": "Link",
"noNews": "No news.",
"title": "Notícias e Atualizações do 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": "Transmissão atual",
"currentViewers": "Espectadores atuais",
"last12Hours": "Últimas 12 horas",
"last24Hours": "Últimas 24 horas",
"last30Days": "Últimos 30 Dias",
"last3Months": "Últimos 3 meses",
"last6Months": "Últimos 6 meses",
"last7Days": "Últimos 7 dias",
"maxViewers": "máximo de espectadores",
"maxViewersLastStream": "Máximo de espectadores na última transmissão",
"maxViewersThisStream": "Máximo de espectadores nesta transmissão",
"noData": "No viewer data has been collected yet.",
"pleaseWait": "Por favor aguarde",
"title": "Informações do espectador",
"viewers": "Espectadores"
},
"deleteEmoji": "Delete emoji",
"emojiPageDescription": "<strong><em>Falta tradução Admin.emojiPageDescription: Por favor, reporte</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Falta tradução Admin.emojiUploadBulkGuide: Por favor, reporte</em></strong>",
"emojis": "<strong><em>Falta tradução Admin.emojis: Por favor, reporte</em></strong>",
"uploadNewEmoji": "<strong><em>Falta tradução Admin.uploadNewEmoji: Por favor, reporte</em></strong>"
},
"Common": {
"poweredByOwncastVersion": "Desenvolvido por <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Autorizar",
"blockButton": "Bloquear",
"deniedDescription": "Para habilitar notificações push de permissões de acesso do {{hostname}} ao seu navegador para este site e ativar as notificações. Em seguida, recarregue esta página para aplicar suas configurações atualizadas neste site. <a href='https://owncast.online/docs/notifications'>Saiba mais.</a>",
"deniedTitle": "As notificações estão bloqueadas no seu dispositivo",
"enabledDescription": "Para desativar notificações push de permissões de acesso {{hostname}} ao seu navegador para este site e desativar as notificações. <a href='https://owncast.online/docs/notifications'>Saiba mais.</a>",
"enabledTitle": "As notificações estão 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": "Erro de notificação do navegador",
"iosAddButton": "Adicionar",
"iosAddToHomeScreen": "Adicionar à tela inicial",
"iosAllowPrompt": "Autorizar",
"iosComeBack": "Volte para esta tela e permita notificações.",
"iosDescription": "São necessários alguns passos adicionais para garantir que você seja notificado quando suas streams favoritas forem ao ar.",
"iosNameAndTap": "Dê um nome a este link e toque no novo ícone na sua tela inicial",
"iosShareButton": "compartilhar",
"iosTitle": "Seja notificado no iOS",
"learnMore": "Mais informações",
"mainDescription": "Seja notificado diretamente no navegador cada vez que esse stream for ao ar.",
"permissionWantsTo": "{{hostname}} quer",
"showNotifications": "Mostrar notificações",
"unsupported": "As notificações do navegador não são suportadas no seu navegador.",
"unsupportedLocal": "Notificações de navegador não são suportadas por servidores locais."
},
"Footer": {
"contribute": "Contribua",
"documentation": "Documentação",
"source": "Fonte"
},
"Header": {
"chatOffline": "O chat está offline",
"chatWillBeAvailable": "Chat will be available when the stream is live.",
"skipToContent": "Ir para o conteúdo da página",
"skipToFooter": "Pular para o rodapé",
"skipToOfflineMessage": "Pular para mensagem offline",
"skipToPlayer": "Pular para o player"
},
"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 tradução do Frontend.chatOffline: Por favor, reporte</em></strong>",
"componentError": "Erro: {{message}}",
"helloWorld": "<strong><em>Falta tradução do Frontend.helloWorld: Por favor, reporte</em></strong>",
"offlineBasic": "Esta transmissão está offline. Volte em breve!",
"offlineFediverseOnly": "Esta transmissão está off-line. <span class='follow-link'>Siga</span> {{fediverseAccount}} no Fediverse para ver a próxima vez que {{streamer}} estiver ao vivo.",
"offlineNotifyAndFediverse": "Esta transmissão está offline. <span class='notify-link'>Pode ser notificado</span> na próxima vez que {{streamer}} for ao ar ou <span class='follow-link'>siga</span> {{fediverseAccount}} no Fediverse.",
"offlineNotifyOnly": "Esta transmissão está offline. U <span class='notify-link'>Seja notificado</span> na próxima vez que {{streamer}} for ao ar."
},
"Testing": {
"itemCount": "<strong><em>Falta tradução Testing.itemContt: Por favor, reporte</em></strong>",
"messageCount": "<strong><em>Falta tradução Testing.messageContt: Por favor, reporte</em></strong>",
"noPluralKey": "<strong><em>Falta de tradução Testing.noPluralKey: Por favor, reporte</em></strong>",
"simpleKey": "<strong><em>Falta de tradução Testing.simpleKey: Por favor, reporte</em></strong>"
}
}