This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new bba406979506 [improvement](website) Use Telegram for Russian community 
links (#4568)
bba406979506 is described below

commit bba406979506208850ce2b3aacee2f93085e355a
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Mon Nov 2 01:54:15 2026 +0000

    [improvement](website) Use Telegram for Russian community links (#4568)
    
    Russian homepage community links now open Telegram through the stable
    `/telegram` entry point. The hero, community card, footer, and floating
    community prompt use the Telegram icon and label. Other locales continue
    to use Slack.
    
    `customFields.telegramInviteUrl` is the single destination setting,
    initially `https://t.me/dorisapache`. The redirect reuses the existing
    Matomo attribution and fallback behavior with a separate `Telegram
    Click` action. It is registered as a utility page and excluded from
    sitemaps.
    
    ## Validation
    
    - Existing redirect attribution and community prompt tests: 23 passed.
    - Scoped TypeScript check for the changed components and page: no
    diagnostics.
    - Verified all four Russian entry URLs and their UTM parameters; other
    locale URLs remain unchanged.
    - Verified redirect rendering, noindex metadata, noscript fallback,
    tracker callback, and redirect without a tracker for both channels.
    - Checked desktop and 400px mobile previews and followed the homepage
    link through to `t.me/dorisapache`.
    - Translation publication report completes; no new source-drift entries
    compared with master.
    - `git diff --check` passes.
    
    ## Versions
    
    Website UI only. No versioned documentation changes.
    
    ## Languages
    
    - [x] Russian
    - [x] English maintainer documentation
    - [ ] Chinese
    
    The Russian community destination intentionally differs from the other
    locales.
    
    ## Docs Checklist
    
    - [x] Checked by AI
    - [x] Test Cases Built (existing tests and focused runtime checks)
    - [x] Updated required version and language counterparts, or explained
    why not
    - [x] If only one language changed, confirmed whether source/translation
    counterparts need sync
    
    Co-authored-by: morningman <[email protected]>
---
 developer_docs/slack-utm-convention.md             |   8 ++
 docusaurus.config.js                               |  11 ++-
 i18n/ru/code.json                                  |   6 +-
 src/components/Icons/telegram.tsx                  |   9 ++
 src/components/home-next/SlackCommunityNudge.tsx   |  11 ++-
 .../home-next/sections/CommunitySection.tsx        |  15 +--
 src/components/home-next/sections/HeroSection.tsx  |  10 +-
 src/components/slack-redirect/SlackRedirect.tsx    |  35 +++----
 .../slack-redirect/slack-attribution.logic.d.ts    |   4 +
 .../slack-redirect/slack-attribution.logic.js      |  15 +++
 src/pages/telegram.tsx                             |   7 ++
 src/theme/Footer/index.tsx                         |  10 +-
 translations/pages/registry.json                   |   6 ++
 translations/pages/state.json                      | 104 +++++++++++----------
 translations/shared/registry.json                  |   3 +-
 15 files changed, 163 insertions(+), 91 deletions(-)

diff --git a/developer_docs/slack-utm-convention.md 
b/developer_docs/slack-utm-convention.md
index 41acd759d721..16ad637a4555 100644
--- a/developer_docs/slack-utm-convention.md
+++ b/developer_docs/slack-utm-convention.md
@@ -6,6 +6,14 @@ Matomo instance and then forwards the visitor to the real 
invite link kept in
 `docusaurus.config.js` under `customFields.slackInviteUrl`. When the invite
 link is rotated, change it there and nothing else.
 
+Russian community entry points use `https://doris.apache.org/telegram` with
+the same UTM parameters and redirect behavior. Its destination is configured
+once in `customFields.telegramInviteUrl` in `docusaurus.config.js`. Change
+that field when the Telegram link changes. These clicks use the same
+`Community Acquisition` category with the separate action `Telegram Click`.
+Locale-aware components use `buildCommunityEntryUrl()` so Russian visitors
+reach Telegram and other locales continue to use Slack.
+
 Every channel keeps linking to `/slack`; what differs per channel is the UTM
 query string. Use these four standard parameters and nothing else:
 
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 0523ca101871..7dcd543340d8 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -27,12 +27,12 @@ const ENABLED_LOCALES = enabledLocales();
 const MANAGED_LOCALES = managedLocales(__dirname, ENABLED_LOCALES);
 
 // Utility routes that are never content: /search renders a noindex search page
-// in every locale, and /slack is a tracking redirect. The sitemap filter below
-// drops them by exact path, so the set follows the enabled locales instead of
-// naming a language.
+// in every locale, and /slack and /telegram are tracking redirects. The 
sitemap
+// filter drops them by exact path, so the set follows the enabled locales
+// instead of naming a language.
 const UTILITY_PATHS = new Set(ENABLED_LOCALES.flatMap(locale => {
     const prefix = locale === DEFAULT_LOCALE ? '' : `/${locale}`;
-    return [`${prefix}/search`, `${prefix}/slack`];
+    return [`${prefix}/search`, `${prefix}/slack`, `${prefix}/telegram`];
 }));
 
 // Root-entry selection precedes hydration; theme and course rail preferences
@@ -343,6 +343,9 @@ const config = {
         // the only value to update when the invite is rotated.
         slackInviteUrl:
             
'https://join.slack.com/t/apachedoriscommunity/shared_invite/zt-4ce61raf7-LPi99HBnrzHOZ7E0_bQZXA',
+        // Keep public links on https://doris.apache.org/telegram. Update only
+        // this destination when the Telegram community link changes.
+        telegramInviteUrl: 'https://t.me/dorisapache',
         // The public HTTPS reverse proxy is the default browser entry point.
         // Local development can still replace this build-time value when 
needed.
         profileAnalysisApiBaseUrl: process.env.PROFILE_ANALYSIS_API_BASE_URL 
?? 'https://agent.velodb.io',
diff --git a/i18n/ru/code.json b/i18n/ru/code.json
index 595d29539961..80a2aca46b37 100644
--- a/i18n/ru/code.json
+++ b/i18n/ru/code.json
@@ -2928,7 +2928,7 @@
     "message": "Спросить ИИ"
   },
   "homepage.hero.058": {
-    "message": "Присоединиться к Slack"
+    "message": "Telegram"
   },
   "homepage.features.001": {
     "message": "Аналитика реального времени"
@@ -3663,10 +3663,10 @@
     "message": "Создаёте решение на Doris?"
   },
   "homepage.slackcommunitynudge.010": {
-    "message": "Присоединяйтесь к Slack за помощью с установкой, советами по 
производительности и ответами пользователей и разработчиков Apache Doris."
+    "message": "Присоединяйтесь к Telegram за помощью с установкой, советами 
по производительности и ответами пользователей и разработчиков Apache Doris."
   },
   "homepage.slackcommunitynudge.011": {
-    "message": "Присоединиться к Slack"
+    "message": "Telegram"
   },
   "homepage.slackcommunitynudge.013": {
     "message": "21–22 октября · онлайн"
diff --git a/src/components/Icons/telegram.tsx 
b/src/components/Icons/telegram.tsx
new file mode 100644
index 000000000000..1b3aa54f85d6
--- /dev/null
+++ b/src/components/Icons/telegram.tsx
@@ -0,0 +1,9 @@
+import React from 'react';
+
+export function TelegramIcon(props: React.SVGProps<SVGSVGElement>): 
React.JSX.Element {
+    return (
+        <svg width="2em" height="2em" viewBox="0 0 24 24" fill="currentColor" 
aria-hidden="true" {...props}>
+            <path d="M21.94 4.64l-3.18 15c-.24 1.06-.87 
1.32-1.76.82l-4.84-3.57-2.34 2.25c-.26.26-.48.48-.98.48l.35-4.93L18.16 
6.6c.39-.35-.09-.55-.6-.2L6.47 13.38l-4.78-1.5c-1.04-.32-1.06-1.04.22-1.54L20.6 
3.13c.87-.32 1.63.2 1.34 1.51z" />
+        </svg>
+    );
+}
diff --git a/src/components/home-next/SlackCommunityNudge.tsx 
b/src/components/home-next/SlackCommunityNudge.tsx
index a0fd88e5a389..0af56dee9b77 100644
--- a/src/components/home-next/SlackCommunityNudge.tsx
+++ b/src/components/home-next/SlackCommunityNudge.tsx
@@ -4,7 +4,8 @@ import { useLocation } from '@docusaurus/router';
 import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
 import { normalizePathname } from '@site/src/utils/locale';
 import { isTranslatedLocale } from '@site/src/utils/localization';
-import { buildSlackEntryUrl } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { buildCommunityEntryUrl, getCommunityName } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { TelegramIcon } from '@site/src/components/Icons/telegram';
 import {
     allowsSlackNudgeAutoOpen,
     computeMascotPupilOffset,
@@ -80,7 +81,9 @@ export function SlackCommunityNudge(): JSX.Element {
     // The provider outlives client-side navigation, so the timer checks the 
page it fires on.
     const autoOpenAllowedRef = useRef(true);
     autoOpenAllowedRef.current = allowsSlackNudgeAutoOpen(normalizedPathname);
-    const slackUrl = buildSlackEntryUrl({
+    const communityName = getCommunityName(currentLocale);
+    const communityUrl = buildCommunityEntryUrl({
+        locale: currentLocale,
         medium: showDocsFeedback ? 'docs' : 'website',
         content: 'mascot_nudge',
     });
@@ -270,13 +273,13 @@ export function SlackCommunityNudge(): JSX.Element {
                 </ul>
                 <a
                     className="slack-community-nudge__cta"
-                    href={slackUrl}
+                    href={communityUrl}
                     target="_blank"
                     rel="noopener noreferrer"
                     onClick={handleJoin}
                     tabIndex={isOpen ? undefined : -1}
                 >
-                    <SlackGlyph />
+                    {communityName === 'Telegram' ? <TelegramIcon width="16" 
height="16" /> : <SlackGlyph />}
                     {translate({ id: "homepage.slackcommunitynudge.011", 
message: "Join Slack" })}</a>
                 <section
                     className="slack-community-nudge__summit"
diff --git a/src/components/home-next/sections/CommunitySection.tsx 
b/src/components/home-next/sections/CommunitySection.tsx
index 4ea43e0bf127..f39ac0655814 100644
--- a/src/components/home-next/sections/CommunitySection.tsx
+++ b/src/components/home-next/sections/CommunitySection.tsx
@@ -1,6 +1,8 @@
 import { translate } from '@docusaurus/Translate';
 import React, { JSX } from 'react';
-import { buildSlackEntryUrl } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
+import { buildCommunityEntryUrl, getCommunityName } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { TelegramIcon } from '@site/src/components/Icons/telegram';
 import './CommunitySection.scss';
 
 interface Channel {
@@ -9,7 +11,7 @@ interface Channel {
     icon: JSX.Element;
 }
 
-const CHANNELS: Channel[] = [
+const channels = (locale: string): Channel[] => [
     {
         name: 'GitHub Discussions',
         href: 'https://github.com/apache/doris/discussions',
@@ -20,9 +22,9 @@ const CHANNELS: Channel[] = [
         ),
     },
     {
-        name: 'Slack',
-        href: buildSlackEntryUrl({ medium: 'website', content: 
'homepage_community' }),
-        icon: (
+        name: getCommunityName(locale),
+        href: buildCommunityEntryUrl({ locale, medium: 'website', content: 
'homepage_community' }),
+        icon: getCommunityName(locale) === 'Telegram' ? <TelegramIcon 
width="28" height="28" /> : (
             <svg width="28" height="28" viewBox="0 0 24 24" 
fill="currentColor" aria-hidden="true">
                 <path d="M5.042 15.165a2.528 2.528 0 01-2.52 2.523A2.528 2.528 
0 010 15.165a2.527 2.527 0 012.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 
012.521-2.52 2.527 2.527 0 012.521 2.52v6.313A2.528 2.528 0 018.834 24a2.528 
2.528 0 01-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 01-2.521-2.52A2.528 
2.528 0 018.834 0a2.528 2.528 0 012.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 
012.521 2.521 2.528 2.528 0 01-2.521 2.521H2.522A2.528 2.528 0 010 8.834a2.528 
2.528 0 012.522-2.521h6.312 [...]
             </svg>
@@ -69,6 +71,7 @@ const CHANNELS: Channel[] = [
 ];
 
 export function CommunitySection(): JSX.Element {
+    const { i18n: { currentLocale } } = useDocusaurusContext();
     return (
         <section className="community-next">
             <div className="community-next__inner">
@@ -83,7 +86,7 @@ export function CommunitySection(): JSX.Element {
                 </header>
 
                 <div className="community-next__grid">
-                    {CHANNELS.map((ch, i) => (
+                    {channels(currentLocale).map((ch, i) => (
                         <a key={i} className="community-next__card" 
href={ch.href} target="_blank" rel="noopener noreferrer">
                             <div className="community-next__card-main">
                                 <div 
className="community-next__card-icon">{ch.icon}</div>
diff --git a/src/components/home-next/sections/HeroSection.tsx 
b/src/components/home-next/sections/HeroSection.tsx
index 7f98e5d96efa..f7985552cfde 100644
--- a/src/components/home-next/sections/HeroSection.tsx
+++ b/src/components/home-next/sections/HeroSection.tsx
@@ -1,8 +1,10 @@
 import { localizedAiLabels } from '@site/src/utils/localization';
 import { translate } from '@docusaurus/Translate';
+import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
 import React, { JSX, useState, useEffect, useMemo, useRef } from 'react';
 import { StarGreenIcon } from '@site/src/components/Icons/star-green-icon';
-import { buildSlackEntryUrl } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { buildCommunityEntryUrl, getCommunityName } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { TelegramIcon } from '@site/src/components/Icons/telegram';
 import './HeroSection.scss';
 
 // ─── SVG atoms 
───────────────────────────────────────────────────────────────
@@ -843,6 +845,8 @@ function MascotWithEyes(): JSX.Element {
 // ─── HeroSection 
─────────────────────────────────────────────────────────────
 
 export function HeroSection(): JSX.Element {
+    const { i18n: { currentLocale } } = useDocusaurusContext();
+    const communityName = getCommunityName(currentLocale);
     return (
         <section className="hero-next">
             {/* Layered backgrounds */}
@@ -898,11 +902,11 @@ export function HeroSection(): JSX.Element {
                             </button>
                             <a
                                 className="hero-next__btn 
hero-next__btn--ghost"
-                                href={buildSlackEntryUrl({ medium: 'website', 
content: 'homepage_hero' })}
+                                href={buildCommunityEntryUrl({ locale: 
currentLocale, medium: 'website', content: 'homepage_hero' })}
                                 target="_blank"
                                 rel="noopener noreferrer"
                             >
-                                <SlackIcon />
+                                {communityName === 'Telegram' ? <TelegramIcon 
width="14" height="14" /> : <SlackIcon />}
                                 {translate({ id: "homepage.hero.058", message: 
"Join Slack" })}</a>
                         </div>
                     </div>
diff --git a/src/components/slack-redirect/SlackRedirect.tsx 
b/src/components/slack-redirect/SlackRedirect.tsx
index 5bd06d2d239b..bd541b4ff8c4 100644
--- a/src/components/slack-redirect/SlackRedirect.tsx
+++ b/src/components/slack-redirect/SlackRedirect.tsx
@@ -2,6 +2,7 @@ import React, { JSX, useEffect } from 'react';
 import Head from '@docusaurus/Head';
 import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
 import { SlackIcon } from '@site/src/components/Icons/slack';
+import { TelegramIcon } from '@site/src/components/Icons/telegram';
 import {
     SLACK_EVENT_ACTION,
     SLACK_EVENT_CATEGORY,
@@ -48,19 +49,21 @@ function hasScriptElement(url: string): boolean {
     return Array.from(document.scripts).some(script => script.src === url);
 }
 
-function readSlackInviteUrl(customFields: Record<string, unknown> | 
undefined): string {
-    const value = customFields?.slackInviteUrl;
+function readCommunityInviteUrl(customFields: Record<string, unknown> | 
undefined, channel: 'Slack' | 'Telegram'): string {
+    const field = channel === 'Telegram' ? 'telegramInviteUrl' : 
'slackInviteUrl';
+    const value = customFields?.[field];
     if (typeof value !== 'string' || value === '') {
         throw new Error(
-            'customFields.slackInviteUrl is missing from docusaurus.config.js; 
/slack cannot forward visitors without it.',
+            `customFields.${field} is missing from docusaurus.config.js; 
/${channel.toLowerCase()} cannot forward visitors without it.`,
         );
     }
     return value;
 }
 
-export default function SlackRedirect(): JSX.Element {
+export default function CommunityRedirect({ channel = 'Slack' }: { channel?: 
'Slack' | 'Telegram' }): JSX.Element {
     const { siteConfig } = useDocusaurusContext();
-    const slackInviteUrl = readSlackInviteUrl(siteConfig.customFields);
+    const inviteUrl = readCommunityInviteUrl(siteConfig.customFields, channel);
+    const eventAction = channel === 'Telegram' ? 'Telegram Click' : 
SLACK_EVENT_ACTION;
     const trackerScriptUrl = getMatomoScriptUrl(siteConfig.themeConfig.matomo 
as MatomoThemeConfig | undefined);
 
     useEffect(() => {
@@ -80,13 +83,13 @@ export default function SlackRedirect(): JSX.Element {
             }
             redirected = true;
             timers.forEach(id => window.clearTimeout(id));
-            window.location.replace(slackInviteUrl);
+            window.location.replace(inviteUrl);
         };
 
         if (process.env.NODE_ENV !== 'production') {
             // docusaurus-plugin-matomo only injects the tracker in production
             // builds, so surface what would have been sent.
-            console.info('[slack-redirect] Matomo event:', 
SLACK_EVENT_CATEGORY, SLACK_EVENT_ACTION, eventName);
+            console.info(`[${channel.toLowerCase()}-redirect] Matomo event:`, 
SLACK_EVENT_CATEGORY, eventAction, eventName);
         }
 
         const queue = matomoWindow._paq || (matomoWindow._paq = []);
@@ -96,7 +99,7 @@ export default function SlackRedirect(): JSX.Element {
         queue.push([
             'trackEvent',
             SLACK_EVENT_CATEGORY,
-            SLACK_EVENT_ACTION,
+            eventAction,
             eventName,
             undefined, // value
             undefined, // customData
@@ -126,31 +129,31 @@ export default function SlackRedirect(): JSX.Element {
         timers.push(window.setTimeout(redirect, REDIRECT_MAX_WAIT_MS));
 
         return () => timers.forEach(id => window.clearTimeout(id));
-    }, [slackInviteUrl, trackerScriptUrl]);
+    }, [inviteUrl, trackerScriptUrl, eventAction, channel]);
 
     return (
         <>
             <Head>
-                <title>Join the Apache Doris Slack community</title>
+                <title>{`Join the Apache Doris ${channel} community`}</title>
                 <meta name="robots" content="noindex, nofollow" />
-                <meta name="description" content="Forwarding you to the Apache 
Doris community Slack workspace." />
+                <meta name="description" content={`Forwarding you to the 
Apache Doris ${channel} community.`} />
             </Head>
             <main className="slack-redirect">
                 {/* Browsers without JavaScript never run the effect above; the
                     server-rendered meta refresh forwards them straight away. 
*/}
                 <noscript>
-                    <meta httpEquiv="refresh" 
content={`0;url=${slackInviteUrl}`} />
+                    <meta httpEquiv="refresh" content={`0;url=${inviteUrl}`} />
                 </noscript>
                 <div className="slack-redirect__card" role="status" 
aria-live="polite">
                     <div className="slack-redirect__icon" aria-hidden="true">
-                        <SlackIcon />
+                        {channel === 'Telegram' ? <TelegramIcon /> : 
<SlackIcon />}
                     </div>
                     <p className="slack-redirect__eyebrow">Apache Doris 
Community</p>
-                    <h1 className="slack-redirect__title">Taking you to 
Slack…</h1>
+                    <h1 className="slack-redirect__title">Taking you to 
{channel}…</h1>
                     <p className="slack-redirect__copy">
                         If nothing happens within a few seconds,{' '}
-                        <a className="slack-redirect__link" 
href={slackInviteUrl}>
-                            open the Slack invite
+                        <a className="slack-redirect__link" href={inviteUrl}>
+                            open the {channel} invite
                         </a>{' '}
                         directly.
                     </p>
diff --git a/src/components/slack-redirect/slack-attribution.logic.d.ts 
b/src/components/slack-redirect/slack-attribution.logic.d.ts
index 9b16366fc19e..b3b85a5657d6 100644
--- a/src/components/slack-redirect/slack-attribution.logic.d.ts
+++ b/src/components/slack-redirect/slack-attribution.logic.d.ts
@@ -43,6 +43,10 @@ export function buildSlackEventName(
 
 export function buildSlackEntryUrl(options: SlackEntryUrlOptions): string;
 
+export function getCommunityName(locale: string): 'Slack' | 'Telegram';
+
+export function buildCommunityEntryUrl(options: SlackEntryUrlOptions & { 
locale: string }): string;
+
 export interface MatomoThemeConfig {
     matomoUrl?: string;
     jsLoader?: string;
diff --git a/src/components/slack-redirect/slack-attribution.logic.js 
b/src/components/slack-redirect/slack-attribution.logic.js
index e0f4e02358fe..24ce43123b75 100644
--- a/src/components/slack-redirect/slack-attribution.logic.js
+++ b/src/components/slack-redirect/slack-attribution.logic.js
@@ -156,11 +156,26 @@ function buildSlackEntryUrl({ medium, content, campaign 
}) {
     return `${SLACK_ENTRY_URL}?${params.toString()}`;
 }
 
+// Russian community entry points use Telegram; the public URL remains stable
+// when customFields.telegramInviteUrl changes.
+function getCommunityName(locale) {
+    return locale === 'ru' ? 'Telegram' : 'Slack';
+}
+
+function buildCommunityEntryUrl({ locale, ...options }) {
+    const slackUrl = buildSlackEntryUrl(options);
+    return getCommunityName(locale) === 'Telegram'
+        ? `/telegram${new URL(slackUrl).search}`
+        : slackUrl;
+}
+
 module.exports = {
     SLACK_ENTRY_URL,
     SLACK_EVENT_ACTION,
     SLACK_EVENT_CATEGORY,
     buildSlackEntryUrl,
+    buildCommunityEntryUrl,
+    getCommunityName,
     buildSlackEventName,
     getMatomoScriptUrl,
     getReferrerHost,
diff --git a/src/pages/telegram.tsx b/src/pages/telegram.tsx
new file mode 100644
index 000000000000..e1383bcd1e08
--- /dev/null
+++ b/src/pages/telegram.tsx
@@ -0,0 +1,7 @@
+import React, { JSX } from 'react';
+import CommunityRedirect from 
'@site/src/components/slack-redirect/SlackRedirect';
+
+// Stable public entry point; rotate customFields.telegramInviteUrl in config.
+export default function TelegramPage(): JSX.Element {
+    return <CommunityRedirect channel="Telegram" />;
+}
diff --git a/src/theme/Footer/index.tsx b/src/theme/Footer/index.tsx
index 849a8097be95..8c8f78e1f102 100644
--- a/src/theme/Footer/index.tsx
+++ b/src/theme/Footer/index.tsx
@@ -11,7 +11,8 @@ import { MailIcon } from '@site/src/components/Icons/mail';
 import { GithubIcon } from '@site/src/components/Icons/github';
 import { TwitterIcon } from '@site/src/components/Icons/twitter';
 import { SlackIcon } from '@site/src/components/Icons/slack';
-import { buildSlackEntryUrl } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { buildCommunityEntryUrl, getCommunityName } from 
'@site/src/components/slack-redirect/slack-attribution.logic';
+import { TelegramIcon } from '@site/src/components/Icons/telegram';
 import { DiscordIcon } from '@site/src/components/Icons/discord-icon';
 import { YoutubeIcon } from '@site/src/components/Icons/youtube';
 import { LinkedinIcon } from '@site/src/components/Icons/linkedin';
@@ -43,6 +44,7 @@ function footerLabels(): Record<string, string> {
 function Footer(): React.ReactElement {
     const { copyright, logo } = footer;
     const {i18n: {currentLocale}} = useDocusaurusContext();
+    const communityName = getCommunityName(currentLocale);
     const labels = footerLabels();
     const links = footer.links.map(column => ({...column, title: 
labels[column.title] ?? column.title,
         items: column.items.map(item => ({...item, label: labels[item.label] 
?? item.label}))}));
@@ -81,12 +83,12 @@ function Footer(): React.ReactElement {
                                     <TwitterIcon />
                                 </a>
                                 <a
-                                    href={buildSlackEntryUrl({ medium: 
'website', content: 'footer' })}
-                                    title="Slack" aria-label="Slack"
+                                    href={buildCommunityEntryUrl({ locale: 
currentLocale, medium: 'website', content: 'footer' })}
+                                    title={communityName} 
aria-label={communityName}
                                     target="_blank" rel="noopener noreferrer"
                                     className="item"
                                 >
-                                    <SlackIcon />
+                                    {communityName === 'Telegram' ? 
<TelegramIcon /> : <SlackIcon />}
                                 </a>
                             </div>
                             <div className="social">
diff --git a/translations/pages/registry.json b/translations/pages/registry.json
index 086fe8f2e41f..f846a76ecc94 100644
--- a/translations/pages/registry.json
+++ b/translations/pages/registry.json
@@ -7,6 +7,7 @@
       "sourcePath": "src/pages/index.tsx",
       "sourceFiles": [
         "src/components/Icons/star-green-icon.tsx",
+        "src/components/Icons/telegram.tsx",
         "src/components/home-next/HomeNext.scss",
         "src/components/home-next/HomeNext.tsx",
         "src/components/home-next/NewsTicker.logic.js",
@@ -5552,6 +5553,11 @@
       "kind": "utility",
       "sourcePath": "src/pages/slack.tsx"
     },
+    {
+      "id": "telegram",
+      "kind": "utility",
+      "sourcePath": "src/pages/telegram.tsx"
+    },
     {
       "id": "archived-docs",
       "kind": "page",
diff --git a/translations/pages/state.json b/translations/pages/state.json
index 62f2ba95ebb0..9a2168d4c0cd 100644
--- a/translations/pages/state.json
+++ b/translations/pages/state.json
@@ -7,6 +7,7 @@
       "state": "ready",
       "sourceFiles": [
         "src/components/Icons/star-green-icon.tsx",
+        "src/components/Icons/telegram.tsx",
         "src/components/home-next/HomeNext.scss",
         "src/components/home-next/HomeNext.tsx",
         "src/components/home-next/NewsTicker.logic.js",
@@ -56,7 +57,7 @@
       "messageNamespaces": [
         "homepage"
       ],
-      "sourceHash": 
"04fd2ce6e5f2be735f687ceb1ec9bec5ed53b8d366183d51cf475c35c7669a12",
+      "sourceHash": 
"bca2747fd4817a46b41471167f6b7846302202a59559f7dfea05a70827ba6557",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewStatus": "machine",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
@@ -67,6 +68,7 @@
       "state": "ready",
       "sourceFiles": [
         "src/components/Icons/star-green-icon.tsx",
+        "src/components/Icons/telegram.tsx",
         "src/components/home-next/HomeNext.scss",
         "src/components/home-next/HomeNext.tsx",
         "src/components/home-next/NewsTicker.logic.js",
@@ -116,7 +118,7 @@
       "messageNamespaces": [
         "homepage"
       ],
-      "sourceHash": 
"04fd2ce6e5f2be735f687ceb1ec9bec5ed53b8d366183d51cf475c35c7669a12",
+      "sourceHash": 
"bca2747fd4817a46b41471167f6b7846302202a59559f7dfea05a70827ba6557",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167",
       "reviewStatus": "machine",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259"
@@ -127,6 +129,7 @@
       "state": "ready",
       "sourceFiles": [
         "src/components/Icons/star-green-icon.tsx",
+        "src/components/Icons/telegram.tsx",
         "src/components/home-next/HomeNext.scss",
         "src/components/home-next/HomeNext.tsx",
         "src/components/home-next/NewsTicker.logic.js",
@@ -176,7 +179,7 @@
       "messageNamespaces": [
         "homepage"
       ],
-      "sourceHash": 
"04fd2ce6e5f2be735f687ceb1ec9bec5ed53b8d366183d51cf475c35c7669a12",
+      "sourceHash": 
"bca2747fd4817a46b41471167f6b7846302202a59559f7dfea05a70827ba6557",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0",
       "reviewStatus": "machine",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259"
@@ -187,6 +190,7 @@
       "state": "ready",
       "sourceFiles": [
         "src/components/Icons/star-green-icon.tsx",
+        "src/components/Icons/telegram.tsx",
         "src/components/home-next/HomeNext.scss",
         "src/components/home-next/HomeNext.tsx",
         "src/components/home-next/NewsTicker.logic.js",
@@ -236,8 +240,8 @@
       "messageNamespaces": [
         "homepage"
       ],
-      "sourceHash": 
"04fd2ce6e5f2be735f687ceb1ec9bec5ed53b8d366183d51cf475c35c7669a12",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "sourceHash": 
"bca2747fd4817a46b41471167f6b7846302202a59559f7dfea05a70827ba6557",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259"
     },
@@ -353,7 +357,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"337dfd3f9d86e98e05591d6fdf27f5d460fabb70298294ad7f770a74d74c9dff",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -435,7 +439,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"faa2dfb60b7b2f2f263f67eb4dd791feb6b1c763259ce1aacb0280c3f2d1184c",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -523,7 +527,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"0e443a2d62bcd13a7bd71a95a3aad9a856a8789f5c423e533ba0f75fb9c4909b",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "derivedDependencies": [
@@ -1171,7 +1175,7 @@
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
       "sourceHash": 
"cc12416cf9494de15597003e40491c91a2197b819a99dc0d293cb0cf07660438",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P06",
@@ -1269,7 +1273,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"572f5460f3e88a1d45232ffa837c236f06d2a8f18132fcd63cade5f19d831500",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -1371,7 +1375,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"82b97c655120ad6aafaa445bc35f4b6a48330ad70aba5e8128c998c7ca3dd92f",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -1473,7 +1477,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"41300ff30c8bfa4923eadc74667c4195cc246a20fb823c4edb4f3aaa97124aef",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -1563,7 +1567,7 @@
         "i18n/ru/code.json"
       ],
       "sourceHash": 
"15d1b62c09dd2e12754c4219df7a67b426d8088d7b3506837e12171349acec00",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine",
       "compatibilitySource": "Existing seven marketing pages at 
bb7e86a7ff7b9232af24090928cfbc9a87d8a3b2",
       "reviewedSourceCommit": "2df4bc3783d68b5d1b9b50cca4ffda6f8046b259",
@@ -1694,7 +1698,7 @@
       ],
       "reviewedSourceCommit": "df07fea7243b149566236fc0932304564fab2d25",
       "sourceHash": 
"9a606e29b717c97f10e92019c0449174ad2dc7f411a28e5e921abecff3576cb4",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P11",
@@ -1815,7 +1819,7 @@
       ],
       "reviewedSourceCommit": "5264923f07b0cb362febce45b5d62abd94966de4",
       "sourceHash": 
"eca1dd2eaf22825059040986b901880e13416a8ef56279c66e7516196e0b51f6",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P12",
@@ -2044,7 +2048,7 @@
       ],
       "reviewedSourceCommit": "5264923f07b0cb362febce45b5d62abd94966de4",
       "sourceHash": 
"fbc29f6ab62e9b5ec55d2d2c689d881ef94cb313ef4de07026ca70ca30bae97c",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P13",
@@ -2121,7 +2125,7 @@
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
       "sourceHash": 
"04aea9fc522482abd7826e6bc880d753a67c298e71a743cb8b660ba599924aa3",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P14",
@@ -2274,7 +2278,7 @@
       ],
       "reviewedSourceCommit": "bd675d25613a69a75e5f97196d6d32f2fd05a0c3",
       "sourceHash": 
"19ac30159720760fb2140606d3a5f145d7cf317d10436f362b7854a896aaded9",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P15",
@@ -2295,7 +2299,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"29ba179001533b26c301882a156148556ce5cfd423754b1b4afc7af0cc6aad98",
+      "sourceHash": 
"bbf902c3ffce41a8f90113d196a8b1cf48b9c9881b5a8fe0592240e9cd2ef16f",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
     },
@@ -2322,7 +2326,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"29ba179001533b26c301882a156148556ce5cfd423754b1b4afc7af0cc6aad98",
+      "sourceHash": 
"bbf902c3ffce41a8f90113d196a8b1cf48b9c9881b5a8fe0592240e9cd2ef16f",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2348,7 +2352,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"29ba179001533b26c301882a156148556ce5cfd423754b1b4afc7af0cc6aad98",
+      "sourceHash": 
"bbf902c3ffce41a8f90113d196a8b1cf48b9c9881b5a8fe0592240e9cd2ef16f",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2374,8 +2378,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"29ba179001533b26c301882a156148556ce5cfd423754b1b4afc7af0cc6aad98",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"bbf902c3ffce41a8f90113d196a8b1cf48b9c9881b5a8fe0592240e9cd2ef16f",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P16",
@@ -2399,7 +2403,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"3d1c44d11b35385356c1254afadae40ed492110abfc9d5406d603585bfd23a63",
+      "sourceHash": 
"ab6284412105c7267bf08532153b58e1b420dfd681da6a9e2952fa4387f0bec3",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
     },
@@ -2429,7 +2433,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"3d1c44d11b35385356c1254afadae40ed492110abfc9d5406d603585bfd23a63",
+      "sourceHash": 
"ab6284412105c7267bf08532153b58e1b420dfd681da6a9e2952fa4387f0bec3",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2458,7 +2462,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"3d1c44d11b35385356c1254afadae40ed492110abfc9d5406d603585bfd23a63",
+      "sourceHash": 
"ab6284412105c7267bf08532153b58e1b420dfd681da6a9e2952fa4387f0bec3",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2487,8 +2491,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "3f9be0688303724a81180847311584185ee1baa7",
-      "sourceHash": 
"3d1c44d11b35385356c1254afadae40ed492110abfc9d5406d603585bfd23a63",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"ab6284412105c7267bf08532153b58e1b420dfd681da6a9e2952fa4387f0bec3",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P17",
@@ -2512,7 +2516,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"ea46072e6b95eaea26b71cd718979c46ba20acbee027800a115ca3c7bae76ef9",
+      "sourceHash": 
"cd29749441d766c54f2d43cbb0c70e1ce881406430e760fda796deb01e3626d8",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
     },
@@ -2542,7 +2546,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"ea46072e6b95eaea26b71cd718979c46ba20acbee027800a115ca3c7bae76ef9",
+      "sourceHash": 
"cd29749441d766c54f2d43cbb0c70e1ce881406430e760fda796deb01e3626d8",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2571,7 +2575,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"ea46072e6b95eaea26b71cd718979c46ba20acbee027800a115ca3c7bae76ef9",
+      "sourceHash": 
"cd29749441d766c54f2d43cbb0c70e1ce881406430e760fda796deb01e3626d8",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2600,8 +2604,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"ea46072e6b95eaea26b71cd718979c46ba20acbee027800a115ca3c7bae76ef9",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"cd29749441d766c54f2d43cbb0c70e1ce881406430e760fda796deb01e3626d8",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P18",
@@ -2625,7 +2629,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"d73b197f3be189748bc2cf90cf871bcfcc9ffce5ed5940961741be5722ea8036",
+      "sourceHash": 
"f694e146285128c00fb1a8987b4c1060fb5757015e1bffc308b6516bdfc3c6fa",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
     },
@@ -2655,7 +2659,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"d73b197f3be189748bc2cf90cf871bcfcc9ffce5ed5940961741be5722ea8036",
+      "sourceHash": 
"f694e146285128c00fb1a8987b4c1060fb5757015e1bffc308b6516bdfc3c6fa",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2684,7 +2688,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"d73b197f3be189748bc2cf90cf871bcfcc9ffce5ed5940961741be5722ea8036",
+      "sourceHash": 
"f694e146285128c00fb1a8987b4c1060fb5757015e1bffc308b6516bdfc3c6fa",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2713,8 +2717,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "3f9be0688303724a81180847311584185ee1baa7",
-      "sourceHash": 
"d73b197f3be189748bc2cf90cf871bcfcc9ffce5ed5940961741be5722ea8036",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"f694e146285128c00fb1a8987b4c1060fb5757015e1bffc308b6516bdfc3c6fa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P19",
@@ -2738,7 +2742,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"009c25f0cea8f61ecd48644d2f53c3434503616f31334a79a33061983525ad6a",
+      "sourceHash": 
"24161716f6bbce2657bbea22222bee874084d111cac639b6a0f73e4765e16398",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "3a9e30380a8f000d7583b107059af36f885af6ac"
     },
@@ -2768,7 +2772,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"009c25f0cea8f61ecd48644d2f53c3434503616f31334a79a33061983525ad6a",
+      "sourceHash": 
"24161716f6bbce2657bbea22222bee874084d111cac639b6a0f73e4765e16398",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2797,7 +2801,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "84fc102161d192a2ef7547a034db5035b21fc12d",
-      "sourceHash": 
"009c25f0cea8f61ecd48644d2f53c3434503616f31334a79a33061983525ad6a",
+      "sourceHash": 
"24161716f6bbce2657bbea22222bee874084d111cac639b6a0f73e4765e16398",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2826,8 +2830,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "3f9be0688303724a81180847311584185ee1baa7",
-      "sourceHash": 
"009c25f0cea8f61ecd48644d2f53c3434503616f31334a79a33061983525ad6a",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"24161716f6bbce2657bbea22222bee874084d111cac639b6a0f73e4765e16398",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P20",
@@ -2853,7 +2857,7 @@
         "i18n/zh-CN/code.json"
       ],
       "reviewStatus": "machine",
-      "sourceHash": 
"2ea6430ef3e51508a055113c5311f8e6f487fd133592861cfc10f4cec3c22506",
+      "sourceHash": 
"6fe0e95a478c3fca62da5d3d0f30f91bbeeb5a72ff8a7ff4c73bab56d081e215",
       "targetHash": 
"69ce7f26d6a8e4838bec8a1e766c1e926f3d24a1c8d14c87cd5bb37fbefba322",
       "reviewedSourceCommit": "83db37675df50061dbf657a93706b920ffccbcbc"
     },
@@ -2885,7 +2889,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "83db37675df50061dbf657a93706b920ffccbcbc",
-      "sourceHash": 
"2ea6430ef3e51508a055113c5311f8e6f487fd133592861cfc10f4cec3c22506",
+      "sourceHash": 
"6fe0e95a478c3fca62da5d3d0f30f91bbeeb5a72ff8a7ff4c73bab56d081e215",
       "targetHash": 
"abe03ef14786120753856c57e34c89caa5cd155f9e0f1cdd82f0f7661f34a167"
     },
     {
@@ -2916,7 +2920,7 @@
         "landing"
       ],
       "reviewedSourceCommit": "83db37675df50061dbf657a93706b920ffccbcbc",
-      "sourceHash": 
"2ea6430ef3e51508a055113c5311f8e6f487fd133592861cfc10f4cec3c22506",
+      "sourceHash": 
"6fe0e95a478c3fca62da5d3d0f30f91bbeeb5a72ff8a7ff4c73bab56d081e215",
       "targetHash": 
"d02fe109727675a20e7c5f44696f6ce7449b058462f7fffda54b681c66a6ffe0"
     },
     {
@@ -2947,8 +2951,8 @@
         "landing"
       ],
       "reviewedSourceCommit": "83db37675df50061dbf657a93706b920ffccbcbc",
-      "sourceHash": 
"2ea6430ef3e51508a055113c5311f8e6f487fd133592861cfc10f4cec3c22506",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "sourceHash": 
"6fe0e95a478c3fca62da5d3d0f30f91bbeeb5a72ff8a7ff4c73bab56d081e215",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:P21",
@@ -3113,7 +3117,7 @@
       ],
       "reviewedSourceCommit": "83db37675df50061dbf657a93706b920ffccbcbc",
       "sourceHash": 
"adbbc6ec57dabb8bf267b547ebd87a096031e99fd69ecc2697ddb1c27d665c29",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa"
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9"
     },
     {
       "contentId": "page:archived-docs",
@@ -3200,7 +3204,7 @@
         "docs.archive.title"
       ],
       "sourceHash": 
"0df5166f5ec3532c2dd3a4e3a2d591dbbb10b0e66537d9bd24d8c26cf7592c83",
-      "targetHash": 
"1a7386bb841974641f33176fdfdea5c7a8c79bab2fbcce78969b438e1851a9aa",
+      "targetHash": 
"76db980280935ae0c031354800545018619580a84c65af81855a6c8ccf3f17f9",
       "reviewStatus": "machine"
     }
   ]
diff --git a/translations/shared/registry.json 
b/translations/shared/registry.json
index c7c5c0f4e0b8..a3232bea5aa3 100644
--- a/translations/shared/registry.json
+++ b/translations/shared/registry.json
@@ -13,6 +13,7 @@
     "src/components/Icons/mail.tsx",
     "src/components/Icons/medium.tsx",
     "src/components/Icons/slack.tsx",
+    "src/components/Icons/telegram.tsx",
     "src/components/Icons/star-green-icon.tsx",
     "src/components/Icons/twitter.tsx",
     "src/components/Icons/youtube.tsx",
@@ -175,7 +176,7 @@
     "theme.SearchPage.noResultsText": "No documents were found",
     "theme.SearchPage.searchSource": "Search the source documents"
   },
-  "sourceHash": 
"b43c249af470c0bdbffe32efa9a7bbbcb19dc60c8709a61a37f2c33601b0239a",
+  "sourceHash": 
"fcb54288bc7f5875a678619accd4f7ed878f9e5ba57acf98c62cf175791c9b25",
   "entryFiles": [
     "src/components/home-next/NavbarNext.tsx",
     "src/components/home-next/SlackCommunityNudge.tsx",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to