Na beta do Telegram para macOS 13.1.0.283431, lançada na noite de 1º de novembro, a tradução completa do chat agora traduz não apenas as mensagens de outras pessoas, mas também as suas. Anteriormente, com a tradução ativada, suas próprias mensagens permaneciam no idioma original, mesmo que tivessem sido escritas em outro idioma — por exemplo, respostas em inglês em um chat que estava sendo traduzido para o russo. A mudança veio de um pull request #97 de um desenvolvedor da comunidade, que foi incorporado na manhã do mesmo dia. Isso afeta os assinantes do Telegram Premium: a tradução em tempo real de chats e canais está incluída na lista de recursos da assinatura. Na mesma build, as opções "Restringir" e "Banir" apareceram no menu de mensagens do registro de atividades para administradores de grupos.

O que muda na tradução de chat

A tradução completa do chat é um modo no qual o Telegram substitui o texto das mensagens por uma tradução para o idioma selecionado, enquanto o modo estiver ativado. Antes da versão 283431, o cliente para macOS selecionava apenas mensagens recebidas para tradução — as exceções eram citações em respostas, que eram traduzidas independentemente do autor. Agora, as mensagens enviadas também são incluídas, e com elas — suas mensagens fixadas no cabeçalho do chat, transcrições já abertas de suas mensagens de voz e vídeo, legendas de mídia, perguntas, opções e explicações de enquetes, e o texto de mensagens do tipo Article: parágrafos, títulos, tabelas, legendas.

Suas mensagens não são traduzidas indiscriminadamente. Antes de enviar para tradução, o cliente determina o idioma do texto no Mac, usando o reconhecedor de idioma do sistema da Apple (NLLanguageRecognizer). Se o texto já estiver no idioma de tradução, ele permanece como está: não há solicitação ao tradutor, nem barras de carregamento sobre a mensagem. O texto é dividido em frases, e a mensagem é enviada para tradução se pelo menos uma delas for reconhecida como outro idioma com uma confiança não inferior a 0,9. Se não houver tal reconhecimento — uma réplica curta, uma mistura de idiomas dentro da frase, apenas emojis ou um link — a mensagem também não é alterada. O autor da mudança escreve que o reconhecimento é heurístico e pode falhar em mensagens curtas e mistas.

Isso funciona em todos os lugares onde a tradução de chat já estava disponível: em chats privados, grupos, supergrupos, canais e chats com bots. A mudança não adiciona novos locais onde a tradução pode ser ativada.

Para quais idiomas de tradução isso não funciona

A restrição é definida pelo reconhecedor da Apple: o código contém uma lista de 56 idiomas que ele pode detectar, e se o idioma de tradução não estiver nela, o cliente não consegue entender em que idioma sua mensagem foi escrita e a mantém no original, em vez de adivinhar por um idioma próximo. No entanto, é possível selecionar tal idioma de tradução: entre eles estão sérvio, bielorrusso, azerbaijano, uzbeque, estoniano, tagalo, lituano, letão e esloveno. O cazaque é adicionado à lista apenas no macOS 13 e versões posteriores. As mensagens recebidas nesses idiomas são traduzidas como antes — a restrição se aplica apenas às suas próprias mensagens.

Enquanto a tradução de sua mensagem está sendo carregada ou exibida, não há a opção "Citar" em seu menu de contexto, e "Copiar texto" copia a tradução, não o original — assim como já acontecia com mensagens traduzidas de outras pessoas. A opção "Mostrar original" no menu de tradução desativa a tradução de todo o chat, e o menu volta ao normal.

O que fazer

  • Obter a beta. A build chega por atualização automática da versão beta do Telegram para macOS; a lista de builds está no feed de atualizações. Na versão estável 13.1.0 (283357) de 20 de outubro, a mudança não está presente.
  • Ativar a tradução de chat. É necessária uma assinatura Premium. A tradução é ativada no próprio chat, o idioma de tradução é selecionado ali; a tradução desativada não altera a mensagem.
  • Retornar ao original. "Mostrar original" no menu de tradução desativa a tradução de todo o chat; não há uma opção separada para uma única mensagem. "Copiar texto" em uma mensagem traduzida copia a tradução.
  • Considerar o idioma de tradução. Ao traduzir para um idioma que não está na lista do reconhecedor da Apple — por exemplo, sérvio, bielorrusso, uzbeque ou estoniano — suas mensagens permanecerão no original. Para o cazaque — apenas no macOS 13 e versões posteriores.

Bloqueio do registro de atividades

A segunda mudança notável é para administradores de grupos. No registro de atividades (Recent Actions), era possível restringir um membro apenas através do menu de seu avatar. Após o pull request #100 do mesmo autor, as opções "Restringir" e "Banir" também estão disponíveis no menu de contexto da própria mensagem no registro, e no menu de linhas de serviço. No cabeçalho do grupo de mensagens excluídas, o menu mostra um submenu para no máximo dez autores; os demais estão disponíveis se o grupo for expandido. Em chats normais, mensagens fixadas e tópicos, o menu não mudou.

As opções aparecem inicialmente inativas: o cliente solicita novamente as permissões do membro e as ativa somente se a ação for permitida. Contra o proprietário do grupo e um administrador que você não pode editar, essas opções não estão presentes. Antes da aplicação das restrições, as permissões são verificadas novamente. Se a alteração for enviada, mas não for possível verificar as permissões finais, é exibida a mensagem "Could not confirm the updated permissions. Check the member’s permissions before trying again." — a frase ainda não foi traduzida e é exibida em inglês em qualquer idioma da interface.

O que mais foi incluído na 283431

Entre as betas 283429 (1º de novembro, 10:40 UTC) e 283431, 19 pull requests foram incorporados ao código aberto do cliente, todos de desenvolvedores da comunidade. Dentre os visíveis para o usuário:

Pull RequestO que muda
#136um rascunho de Article, deixado no campo de entrada, sobrevive a uma reinicialização do Telegram
#151enviar um sticker ou GIF do painel não apaga mais o texto digitado
#155um tópico em um fórum silenciado é ativado com um único clique em "Unmute", e não dois
#182a ordem dos chats fixados, arrastados dentro de uma pasta, é preservada — antes, em algumas pastas, ela era revertida
#181um link para o chat de vídeo de um grupo com tópicos abre a janela de login se o grupo estiver aberto ou for exibido como um chat
#120na prévia do conjunto de emojis, ao clicar com o botão direito, há a opção Set as Status
#210reproduz vídeos sem metadados de nuvem do Telegram (por exemplo, parte de AV1 do Telegram Desktop), a função de avançar/retroceder foi corrigida
#198em Apple Silicon, o modelo do Mac é lido do registro de dispositivos na inicialização, sem esperar por system_profiler; em Intel, a espera é limitada a 2 segundos

Como foi verificado que isso está na build

Ambas as betas foram baixadas do feed de atualizações. Nos binários da 283431, existem classes dos diffs dos pull requests: ChatTranslationSource do #97, ChannelParticipantModeration…, ServiceEventLogTextView, ChatPeerMenuContext e a string sobre permissões do #100, ChatRichTextDraftEntry do #136. Na 283429, nenhuma delas está presente. Na 283431, também está presente o tipo ChunkMediaPlayerVideoGeometry do #210 — o último pull request incorporado em 1º de novembro às 20:52 UTC — o que significa que, se a beta for compilada a partir do mesmo código aberto, ela foi compilada após todos os dezenove: o histórico do branch é linear. A descrição da beta no feed, como de costume, é "Bug fixes, minor improvements, and more".

O cliente para macOS aceita contribuições da comunidade desde o final de outubro, e da incorporação à beta levam-se horas: no dia anterior, em menos de 24 horas, um novo cartão de sessão também chegou à beta.