In Telegram for macOS beta 13.1.0.283431, released on the evening of November 1, full chat translation now translates not only incoming messages but also your own. Previously, when translation was enabled, your own messages remained in their original language, even if written in a different language — for example, English replies in a chat being translated to Russian. This change originated from pull request #97 by an outside community contributor, merged earlier that morning. This feature is for Telegram Premium subscribers: real-time translation of chats and channels is included in the list of subscription features. In the same build, group administrators gained "Restrict" and "Ban" options in the message context menu within Recent Actions.
What's Changing in Chat Translation
Full chat translation is a mode where Telegram replaces message text with a translation into the selected language while the mode is active. Before build 283431, the macOS client only selected incoming messages for translation; the exception was quotes in replies, which were translated regardless of the author. Now, outgoing messages are also queued for translation, along with your own pinned messages in the chat header, already opened transcriptions of your voice and video messages, media captions, poll questions, options, and explanations, and the text of Article messages: paragraphs, headings, tables, and captions.
Not all of your messages are translated. Before sending for translation, the client determines the text's language locally on the Mac, using Apple's system language recognizer (NLLanguageRecognizer). If the text is already in the translation language, it remains as is: no request is sent to the translator, and no loading bar appears over the message. The text is split into sentences, and the message is sent for translation if at least one sentence is recognized as a different language with a confidence level of 0.9 or higher. If no such sentence is found — for example, a short reply, a mix of languages within a phrase, only emojis, or a link — the message is also left untouched. The author of the change writes that the recognition is heuristic and may be inaccurate for short or mixed messages.
This functionality works everywhere chat translation was already available: in private chats, groups, supergroups, channels, and chats with bots. This change does not add new places where translation can be enabled.
Languages Not Supported for Your Own Messages
The limitation is set by Apple's recognizer: the code contains a list of 56 languages it can detect. If the translation language is not on this list, the client cannot determine the language of your message and leaves it in the original, rather than guessing based on a neighboring language. You can still select such a translation language; these include Serbian, Belarusian, Azerbaijani, Uzbek, Estonian, Tagalog, Lithuanian, Latvian, and Slovenian. Kazakh is added to the list only on macOS 13 and newer. Incoming messages in these languages are translated as before — the limitation only applies to your own messages.
While your own message's translation is loading or displayed, its context menu lacks the "Quote" option, and "Copy Text" copies the translation, not the original — just as it already did for translated incoming messages. The "Show Original" option in the translation menu disables chat translation for the entire chat, and the menu reverts to its normal state.
What to Do
- Get the beta. The build is delivered via auto-update for the Telegram for macOS beta; the list of builds is available in the update feed. The stable 13.1.0 (283357) from October 20 does not include this change.
- Enable chat translation. A Premium subscription is required. Translation is enabled within the chat itself, and the translation language is selected there; if disabled, messages remain unchanged.
- Revert to original. "Show Original" in the translation menu disables translation for the entire chat; there is no separate option for a single message. "Copy Text" on a translated message copies the translation.
- Consider the translation language. When translating to a language not on Apple's recognizer list — for example, Serbian, Belarusian, Uzbek, or Estonian — your own messages will remain in the original. For Kazakh, this applies only on macOS 13 and newer.
Banning from Recent Actions
The second notable change is for group administrators. In Recent Actions, restricting a member was previously only possible via their avatar's menu. Following pull request #100 by the same author, "Restrict" and "Ban" options are now available in the context menu of the message itself within the log, and in the menu of service message rows. In the header of a group of deleted messages, the menu shows a submenu for a maximum of ten authors; others are accessible if the group is expanded. In regular chats, pinned messages, and topics, the menu remains unchanged.
The options initially appear inactive: the client re-requests member permissions and enables them only if the action is allowed. These options are not present for the group owner or an administrator you cannot edit. Before applying restrictions, permissions are checked again. If the change is sent but the final permissions could not be confirmed, "Could not confirm the updated permissions. Check the member’s permissions before trying again." is displayed — this string is not yet translated and appears in English regardless of the interface language.
What Else Is in 283431
Between betas 283429 (November 1, 10:40 UTC) and 283431, 19 pull requests were merged into the client's open-source code, all from outside community contributors. Among those visible to the user:
| Pull Request | What Changes |
|---|---|
| #136 | an Article draft left in the input field survives Telegram restarts |
| #151 | sending a sticker or GIF from the panel no longer erases typed text |
| #155 | a topic in a muted forum is unmuted with a single "Unmute" click, not two |
| #182 | the order of pinned chats dragged within a folder is preserved — previously, it would revert in some folders |
| #181 | a link to a group video chat with topics opens the join window if the group is open or displayed as a chat |
| #120 | "Set as Status" is available in the emoji set preview on right-click |
| #210 | videos without Telegram cloud metadata (e.g., some AV1 from Telegram Desktop) now play, and seeking is fixed |
| #198 | on Apple Silicon, the Mac model is read from the device registry at startup without waiting for system_profiler; on Intel, the wait is limited to 2 seconds |
How It Was Verified That This Is in the Build
Both betas were downloaded from the update feed. The 283431 binaries contain classes from the pull request diffs: ChatTranslationSource from #97, ChannelParticipantModeration…, ServiceEventLogTextView, ChatPeerMenuContext, and the permissions string from #100, ChatRichTextDraftEntry from #136. None of these are present in 283429. Build 283431 also includes the ChunkMediaPlayerVideoGeometry type from #210 — the last pull request merged on November 1 at 20:52 UTC — meaning that if the beta is built from the same open source code, it was compiled after all nineteen: the branch history is linear. The beta description in the feed, as usual, is "Bug fixes, minor improvements, and more".
The macOS client has been accepting community contributions since late October, and it takes hours from merge to beta: just the day before, in less than 24 hours, a new active devices card made it into the beta.




