From bb0237329282d2d678dd833e6f5447596c169b87 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:28:21 -0700 Subject: [PATCH] deprecate: translation progress from picker Remove translation percentage, word counts, progress bar, and "Translate to" footer from the LanguagePicker component. LLM translations have changed how translations are handled, making Crowdin-based progress tracking obsolete in the UI. Removed: - ProgressBar.tsx, LanguagePickerFooter.tsx components - translationProgress.json data file - ProjectProgressData type - approvalProgress/wordsApproved/progress/words from LocaleDisplayInfo type - Progress computation logic from localeToDisplayInfo - Deprecated i18n keys from all 25 locale files Co-Authored-By: Claude Opus 4.6 --- src/components/LanguagePicker/Desktop.tsx | 1 - .../LanguagePicker/LanguagePickerFooter.tsx | 55 ------ src/components/LanguagePicker/MenuItem.tsx | 19 +- src/components/LanguagePicker/ProgressBar.tsx | 11 -- src/components/LanguagePicker/index.tsx | 21 +-- .../LanguagePicker/useLanguagePicker.tsx | 12 +- src/data/translationProgress.json | 170 ------------------ src/intl/ar/common.json | 4 - src/intl/bn/common.json | 4 - src/intl/cs/common.json | 4 - src/intl/de/common.json | 6 +- src/intl/en/common.json | 4 - src/intl/es/common.json | 4 - src/intl/es/page-languages.json | 3 - src/intl/fr/common.json | 4 - src/intl/hi/common.json | 4 - src/intl/id/common.json | 6 +- src/intl/it/common.json | 6 +- src/intl/ja/common.json | 4 - src/intl/ja/page-languages.json | 3 - src/intl/ko/common.json | 4 - src/intl/mr/common.json | 4 - src/intl/pl/common.json | 4 - src/intl/pt-br/common.json | 4 - src/intl/ru/common.json | 4 - src/intl/sw/common.json | 4 - src/intl/ta/common.json | 4 - src/intl/te/common.json | 4 - src/intl/tr/common.json | 4 - src/intl/uk/common.json | 4 - src/intl/ur/common.json | 4 - src/intl/vi/common.json | 4 - src/intl/zh-tw/common.json | 4 - src/intl/zh/common.json | 4 - src/lib/nav/localeToDisplayInfo.ts | 71 +------- src/lib/types.ts | 13 -- 36 files changed, 8 insertions(+), 477 deletions(-) delete mode 100644 src/components/LanguagePicker/LanguagePickerFooter.tsx delete mode 100644 src/components/LanguagePicker/ProgressBar.tsx delete mode 100644 src/data/translationProgress.json diff --git a/src/components/LanguagePicker/Desktop.tsx b/src/components/LanguagePicker/Desktop.tsx index bd0cde90113..7dcf611fc38 100644 --- a/src/components/LanguagePicker/Desktop.tsx +++ b/src/components/LanguagePicker/Desktop.tsx @@ -63,7 +63,6 @@ const DesktopLanguagePicker = ({ languages={languages} onSelect={onClose} onNoResultsClose={onClose} - onTranslationProgramClick={onClose} /> diff --git a/src/components/LanguagePicker/LanguagePickerFooter.tsx b/src/components/LanguagePicker/LanguagePickerFooter.tsx deleted file mode 100644 index 0e707a1f981..00000000000 --- a/src/components/LanguagePicker/LanguagePickerFooter.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { useLocale } from "next-intl" - -import type { LocaleDisplayInfo } from "@/lib/types" - -import { ButtonLink } from "@/components/ui/buttons/Button" - -import { DEFAULT_LOCALE } from "@/lib/constants" - -import { useTranslation } from "@/hooks/useTranslation" - -type LanguagePickerFooterProps = { - intlLanguagePreference?: LocaleDisplayInfo - onTranslationProgramClick: () => void -} - -const LanguagePickerFooter = ({ - intlLanguagePreference, - onTranslationProgramClick, -}: LanguagePickerFooterProps) => { - const { t } = useTranslation("common") - const locale = useLocale() - return ( -
-
-
- {locale === DEFAULT_LOCALE ? ( -

- {intlLanguagePreference - ? `${t("page-languages-translate-cta-title")} ${t(`language-${intlLanguagePreference.localeOption}`)}` - : "Translate ethereum.org"} -

- ) : ( -

- {t("page-languages-translate-cta-title")}{" "} - {t(`language-${locale}`)} -

- )} -

- {t("page-languages-recruit-community")} -

-
- - {t("get-involved")} - -
-
- ) -} - -export default LanguagePickerFooter diff --git a/src/components/LanguagePicker/MenuItem.tsx b/src/components/LanguagePicker/MenuItem.tsx index 7ca3d3b34cc..f3067fbe91a 100644 --- a/src/components/LanguagePicker/MenuItem.tsx +++ b/src/components/LanguagePicker/MenuItem.tsx @@ -8,24 +8,12 @@ import { cn } from "@/lib/utils/cn" import { CommandItem } from "../ui/command" -import ProgressBar from "./ProgressBar" - -import { useTranslation } from "@/hooks/useTranslation" - type ItemProps = ComponentPropsWithoutRef & { displayInfo: LocaleDisplayInfo } const MenuItem = ({ displayInfo, ...props }: ItemProps) => { - const { - localeOption, - sourceName, - targetName, - approvalProgress, - progress, - words, - } = displayInfo - const { t } = useTranslation("common") + const { localeOption, sourceName, targetName } = displayInfo const locale = useLocale() const isCurrent = localeOption === locale @@ -61,11 +49,6 @@ const MenuItem = ({ displayInfo, ...props }: ItemProps) => { /> )} -

- {progress} {t("page-languages-translated")} • {words}{" "} - {t("page-languages-words")} -

- ) } diff --git a/src/components/LanguagePicker/ProgressBar.tsx b/src/components/LanguagePicker/ProgressBar.tsx deleted file mode 100644 index 327ae272ba8..00000000000 --- a/src/components/LanguagePicker/ProgressBar.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { ComponentPropsWithoutRef } from "react" - -import { Progress } from "../ui/progress" - -type ProgressBarProps = Pick, "value"> - -const ProgressBar = ({ value }: ProgressBarProps) => ( - -) - -export default ProgressBar diff --git a/src/components/LanguagePicker/index.tsx b/src/components/LanguagePicker/index.tsx index d4f30f06cf0..31693269960 100644 --- a/src/components/LanguagePicker/index.tsx +++ b/src/components/LanguagePicker/index.tsx @@ -8,7 +8,6 @@ import type { LocaleDisplayInfo } from "@/lib/types" import { cn } from "@/lib/utils/cn" import { trackCustomEvent } from "@/lib/utils/matomo" -import LanguagePickerFooter from "./LanguagePickerFooter" import LanguagePickerMenu from "./LanguagePickerMenu" import { useLanguagePicker } from "./useLanguagePicker" @@ -19,7 +18,6 @@ type LanguagePickerProps = { languages: LocaleDisplayInfo[] onSelect?: (value: string) => void onNoResultsClose?: () => void - onTranslationProgramClick?: () => void } const LanguagePicker = ({ @@ -27,13 +25,11 @@ const LanguagePicker = ({ className, onSelect, onNoResultsClose, - onTranslationProgramClick, }: LanguagePickerProps) => { const pathname = usePathname() const { push } = useRouter() const params = useParams() - const { languages: sortedLanguages, intlLanguagePreference } = - useLanguagePicker(languages) + const { languages: sortedLanguages } = useLanguagePicker(languages) useEffect(() => { trackCustomEvent({ @@ -81,16 +77,6 @@ const LanguagePicker = ({ }) } - const handleTranslationProgramClick = () => { - onTranslationProgramClick?.() - - trackCustomEvent({ - eventCategory: `Language picker`, - eventAction: "Translation program link (menu footer)", - eventName: "/contributing/translation-program", - }) - } - return (
- -
) } diff --git a/src/components/LanguagePicker/useLanguagePicker.tsx b/src/components/LanguagePicker/useLanguagePicker.tsx index 35f584d135c..bce83c5475a 100644 --- a/src/components/LanguagePicker/useLanguagePicker.tsx +++ b/src/components/LanguagePicker/useLanguagePicker.tsx @@ -36,9 +36,6 @@ export const useLanguagePicker = (languages: LocaleDisplayInfo[]) => { return preferences }, []) - // Keep the first preference for backward compatibility - const intlLocalePreference = intlLocalePreferences[0] || "" - // Sort languages client-side to prioritize browser preference const sortedLanguages = useMemo(() => { return [...languages] @@ -73,12 +70,5 @@ export const useLanguagePicker = (languages: LocaleDisplayInfo[]) => { }) }, [languages, intlLocalePreferences, locale]) - const intlLanguagePreference = sortedLanguages.find( - (lang) => lang.localeOption === intlLocalePreference - ) - - return { - languages: sortedLanguages, - intlLanguagePreference, - } + return { languages: sortedLanguages } } diff --git a/src/data/translationProgress.json b/src/data/translationProgress.json deleted file mode 100644 index 8e86fd822a5..00000000000 --- a/src/data/translationProgress.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "languageId": "ar", - "words": { - "approved": 34465, - "total": 312825 - } - }, - { - "languageId": "bn", - "words": { - "approved": 25352, - "total": 312825 - } - }, - { - "languageId": "cs", - "words": { - "approved": 131153, - "total": 312825 - } - }, - { - "languageId": "de", - "words": { - "approved": 190233, - "total": 312825 - } - }, - { - "languageId": "es-EM", - "words": { - "approved": 312825, - "total": 312825 - } - }, - { - "languageId": "fr", - "words": { - "approved": 300169, - "total": 312825 - } - }, - { - "languageId": "hi", - "words": { - "approved": 158047, - "total": 312825 - } - }, - { - "languageId": "id", - "words": { - "approved": 130918, - "total": 312825 - } - }, - { - "languageId": "it", - "words": { - "approved": 252421, - "total": 312825 - } - }, - { - "languageId": "ja", - "words": { - "approved": 247480, - "total": 312825 - } - }, - { - "languageId": "ko", - "words": { - "approved": 47350, - "total": 312825 - } - }, - { - "languageId": "mr", - "words": { - "approved": 17192, - "total": 312825 - } - }, - { - "languageId": "pl", - "words": { - "approved": 101091, - "total": 312825 - } - }, - { - "languageId": "pt-BR", - "words": { - "approved": 254545, - "total": 312825 - } - }, - { - "languageId": "ru", - "words": { - "approved": 107301, - "total": 312825 - } - }, - { - "languageId": "sw", - "words": { - "approved": 19751, - "total": 312825 - } - }, - { - "languageId": "ta", - "words": { - "approved": 2608, - "total": 312825 - } - }, - { - "languageId": "te", - "words": { - "approved": 22564, - "total": 312825 - } - }, - { - "languageId": "tr", - "words": { - "approved": 238487, - "total": 312825 - } - }, - { - "languageId": "uk", - "words": { - "approved": 78090, - "total": 312825 - } - }, - { - "languageId": "ur-IN", - "words": { - "approved": 2436, - "total": 312825 - } - }, - { - "languageId": "vi", - "words": { - "approved": 39674, - "total": 312825 - } - }, - { - "languageId": "zh-CN", - "words": { - "approved": 265476, - "total": 312825 - } - }, - { - "languageId": "zh-TW", - "words": { - "approved": 227418, - "total": 312825 - } - } -] diff --git a/src/intl/ar/common.json b/src/intl/ar/common.json index 72ca1c69863..4ff8ac46971 100644 --- a/src/intl/ar/common.json +++ b/src/intl/ar/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "اكتب للتصفية", "page-languages-interested": "هل ترغب في المساهمة؟", "page-languages-learn-more": "اعرف المزيد عن برنامج الترجمة لدينا", - "page-languages-recruit-community": "ساعدنا على ترجَمة ethereum.org.", - "page-languages-translated": "تمت الترجَمة", "page-languages-want-more-header": "هل ترغب في الاطلاع على ethereum.org بلغة مختلفة؟", "page-languages-want-more-link": "برنامج الترجمة", - "page-languages-translate-cta-title": "ترجمة إلى", "page-languages-want-more-paragraph": "مترجمو ethereum.org دائمًا يترجمون الصفحات بأكبر عدد ممكن من اللغات. للاطلاع على ما يعملون عليه الآن أو للتسجيل للانضمام إليهم، اقرأ عن", - "page-languages-words": "من الكلمات", "page-last-updated": "آخر تحديث للصفحة", "page-not-found": "لم يتم العثور على الصفحة", "page-not-found-description": "لا يمكن العثور على الصفحة المطلوبة.", diff --git a/src/intl/bn/common.json b/src/intl/bn/common.json index a2a730c0d34..c20ff436120 100644 --- a/src/intl/bn/common.json +++ b/src/intl/bn/common.json @@ -363,13 +363,9 @@ "page-languages-filter-placeholder": "ফিল্টার করতে লিখুন", "page-languages-interested": "অবদান রাখতে আগ্রহী?", "page-languages-learn-more": "আমাদের অনুবাদ প্রোগ্রাম সম্পর্কে আরও জানুন", - "page-languages-recruit-community": "আমাদের ethereum.org অনুবাদ করতে সাহায্য করুন।", - "page-languages-translate-cta-title": "অনুবাদ করুন", - "page-languages-translated": "অনুবাদ করা হয়েছে", "page-languages-want-more-header": "একটি ভিন্ন ভাষায় ethereum.org দেখতে চান?", "page-languages-want-more-link": "অনুবাদ কর্মসূচি", "page-languages-want-more-paragraph": "ethereum.org অনুবাদকরা সবসময় যতটা সম্ভব অনেক ভাষায় পৃষ্ঠাগুলি অনুবাদ করে। তারা এখন কি কাজ করছে তা দেখতে বা তাদের সাথে যোগ দিতে সাইন আপ করতে, আমাদের সম্পর্কে পড়ুন", - "page-languages-words": "শব্দ", "page-last-update": "পৃষ্ঠাটি সর্বশেষ আপডেট করা হয়েছে:", "page-last-updated": "যখন পৃষ্ঠাটি শেষবারের মতো আপডেট করা হয়েছে", "page-not-found": "পৃষ্ঠাটি খুঁজে পাওয়া যায়নি", diff --git a/src/intl/cs/common.json b/src/intl/cs/common.json index fd6bfffbc4c..00e4126a502 100644 --- a/src/intl/cs/common.json +++ b/src/intl/cs/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Zadejte text k filtrování", "page-languages-interested": "Chcete se zapojit?", "page-languages-learn-more": "Více informací o našem překladatelském programu", - "page-languages-recruit-community": "Pomozte nám překládat ethereum.org.", - "page-languages-translated": "přeloženo", "page-languages-want-more-header": "Chcete prohlížet ethereum.org v jiném jazyce?", "page-languages-want-more-link": "Překladatelský program", - "page-languages-translate-cta-title": "Přeložit do", "page-languages-want-more-paragraph": "Překladatelé ethereum.org vždy překládají stránky do co největšího počtu jazyků. Chcete-li zjistit, na čem právě pracují, nebo se přihlásit, abyste se k nim připojili, přečtěte si o našem", - "page-languages-words": "slova", "page-last-updated": "Stránka naposledy aktualizována", "page-not-found": "Stránka nenalezena", "page-not-found-description": "Požadovanou stránku nelze nalézt.", diff --git a/src/intl/de/common.json b/src/intl/de/common.json index 6419ef16fc6..82c1b637b4d 100644 --- a/src/intl/de/common.json +++ b/src/intl/de/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Tippen zum Filtern", "page-languages-interested": "Interessiert daran, mitzuwirken?", "page-languages-learn-more": "Erfahre mehr über unser Übersetzungsprogramm", - "page-languages-recruit-community": "Hilf uns, ethereum.org zu übersetzen.", - "page-languages-translated": "übersetzt", "page-languages-want-more-header": "Möchtest du ethereum.org in einer anderen Sprache sehen?", "page-languages-want-more-link": "Übersetzungsprogramm", - "page-languages-translate-cta-title": "Übersetzen nach", "page-languages-want-more-paragraph": "Die Übersetzer von ethereum.org übersetzen ständig Seiten in so viele Sprachen wie möglich. Um zu sehen, woran sie gerade arbeiten, oder um dich anzumelden und mitzumachen, lies über unser", - "page-languages-words": "Wörter", "page-last-updated": "Seite zuletzt aktualisiert", "page-not-found": "Seite nicht gefunden", "page-not-found-description": "Die angeforderte Seite konnte nicht gefunden werden.", @@ -459,4 +455,4 @@ "region-bonaire-netherlands": "Bonaire (Niederlande)", "region-saba-netherlands": "Saba (Niederlande)", "region-sint-eustatius-netherlands": "Sint Eustatius (Niederlande)" -} \ No newline at end of file +} diff --git a/src/intl/en/common.json b/src/intl/en/common.json index 83c89b1ac93..c5d51592c7c 100644 --- a/src/intl/en/common.json +++ b/src/intl/en/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Type to filter", "page-languages-interested": "Interested in contributing?", "page-languages-learn-more": "Learn more about our Translation Program", - "page-languages-recruit-community": "Help us translate ethereum.org.", - "page-languages-translated": "translated", "page-languages-want-more-header": "Want to see ethereum.org in a different language?", "page-languages-want-more-link": "Translation Program", - "page-languages-translate-cta-title": "Translate to", "page-languages-want-more-paragraph": "ethereum.org translators are always translating pages in as many languages as possible. To see what they're working on right now or to sign up to join them, read about our", - "page-languages-words": "words", "page-last-updated": "Page last updated", "page-not-found": "Page not found", "page-not-found-description": "The requested page could not be found.", diff --git a/src/intl/es/common.json b/src/intl/es/common.json index 1e5aaa94763..9eadbfcefba 100644 --- a/src/intl/es/common.json +++ b/src/intl/es/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Escriba el filtro", "page-languages-interested": "¿Le interesaría contribuir?", "page-languages-learn-more": "Obtenga más información sobre nuestro programa de traducción", - "page-languages-recruit-community": "Ayúdenos a traducir ethereum.org.", - "page-languages-translated": "traducido(s)", "page-languages-want-more-header": "¿Quiere ver ethereum.org en otro idioma?", "page-languages-want-more-link": "Programa de traducción", - "page-languages-translate-cta-title": "Traducir a", "page-languages-want-more-paragraph": "Los traductores de ethereum.org siempre traducen páginas a tantos idiomas como sea posible. Para ver en qué están trabajando ahora mismo o para registrarse y unirse a ellos, lea acerca de nuestro", - "page-languages-words": "palabras", "page-last-updated": "Última actualización de la página", "page-not-found": "No se ha encontrado la página", "page-not-found-description": "No se ha podido encontrar la página solicitada.", diff --git a/src/intl/es/page-languages.json b/src/intl/es/page-languages.json index d5431f28052..c7de244edb8 100644 --- a/src/intl/es/page-languages.json +++ b/src/intl/es/page-languages.json @@ -14,9 +14,6 @@ "page-languages-filter-label": "Lista de filtros", "page-languages-filter-placeholder": "Escriba el filtro", "page-languages-browser-default": "Navegador por defecto", - "page-languages-translated": "traducido(s)", - "page-languages-words": "palabras", - "page-languages-recruit-community": "Ayúdenos a traducir ethereum.org.", "language-am": "Amárico", "language-ar": "Árabe", "language-az": "Azerbaiyano", diff --git a/src/intl/fr/common.json b/src/intl/fr/common.json index cd9730ef96d..236ec86568b 100644 --- a/src/intl/fr/common.json +++ b/src/intl/fr/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Écrivez pour filtrer", "page-languages-interested": "Vous souhaitez contribuer ?", "page-languages-learn-more": "En savoir plus sur notre programme de traduction", - "page-languages-recruit-community": "Aidez-nous à traduire ethereum.org.", - "page-languages-translated": "traduit", "page-languages-want-more-header": "Voulez-vous voir ethereum.org dans une autre langue ?", "page-languages-want-more-link": "Programme de traduction", - "page-languages-translate-cta-title": "Traduire par", "page-languages-want-more-paragraph": "Les traducteurs d’ethereum.org traduisent constamment les pages dans le plus de langues possible. Pour voir ce sur quoi ils sont en train de travailler actuellement ou pour les rejoindre, lisez notre", - "page-languages-words": "mots", "page-last-updated": "Dernière mise à jour de la page", "page-not-found": "Page introuvable", "page-not-found-description": "La page demandée est introuvable.", diff --git a/src/intl/hi/common.json b/src/intl/hi/common.json index 5758be25432..263f772db09 100644 --- a/src/intl/hi/common.json +++ b/src/intl/hi/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "फ़िल्टर करने के लिए टाइप करें", "page-languages-interested": "योगदान करने के इच्छुक हैं?", "page-languages-learn-more": "हमारे अनुवाद कार्यक्रम के बारे में अधिक जानें", - "page-languages-recruit-community": "Ethereum.org का अनुवाद करने में हमारी मदद करें.", - "page-languages-translated": "अनुवाद किया गया", "page-languages-want-more-header": "किसी और भाषा में ethereum.org देखना चाहते हैं?", "page-languages-want-more-link": "अनुवाद कार्यक्रम", - "page-languages-translate-cta-title": "इसमें अनुवाद करें", "page-languages-want-more-paragraph": "ethereum.org अनुवादक हमेशा यथासंभव अधिक भाषाओं में पृष्ठों का अनुवाद कर रहे हैं। यह देखने के लिए कि वे अभी क्या काम कर रहे हैं या उनसे जुड़ने के लिए साइन अप करें, हमारे इसके बारे में पढ़ें", - "page-languages-words": "शब्द", "page-last-updated": "पृष्ठ अंतिम बार अपडेट किया गया", "page-not-found": "पेज नहीं मिला", "page-not-found-description": "अनुरोधित पेज नहीं मिल सका।", diff --git a/src/intl/id/common.json b/src/intl/id/common.json index f91eb34bfda..41768510ae2 100644 --- a/src/intl/id/common.json +++ b/src/intl/id/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Ketik untuk memfilter", "page-languages-interested": "Tertarik untuk berkontribusi?", "page-languages-learn-more": "Pelajari lebih lanjut tentang Program Terjemahan kami", - "page-languages-recruit-community": "Bantu kami menerjemahkan ethereum.org.", - "page-languages-translated": "diterjemahkan", "page-languages-want-more-header": "Ingin melihat ethereum.org dalam bahasa yang berbeda?", "page-languages-want-more-link": "Program Terjemahan", - "page-languages-translate-cta-title": "Terjemahkan ke", "page-languages-want-more-paragraph": "Penerjemah ethereum.org selalu menerjemahkan halaman ke dalam sebanyak mungkin bahasa. Untuk melihat apa yang sedang mereka kerjakan saat ini atau untuk mendaftar bergabung dengan mereka, baca tentang", - "page-languages-words": "kata", "page-last-updated": "Halaman terakhir diperbarui", "page-not-found": "Halaman tidak ditemukan", "page-not-found-description": "Halaman yang diminta tidak dapat ditemukan.", @@ -459,4 +455,4 @@ "region-bonaire-netherlands": "Bonaire (Belanda)", "region-saba-netherlands": "Saba (Belanda)", "region-sint-eustatius-netherlands": "Sint Eustatius (Belanda)" -} \ No newline at end of file +} diff --git a/src/intl/it/common.json b/src/intl/it/common.json index 4ffefe4ee1a..924dcb51153 100644 --- a/src/intl/it/common.json +++ b/src/intl/it/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Digita per filtrare", "page-languages-interested": "Ti interessa contribuire?", "page-languages-learn-more": "Scopri di più sul nostro Programma di Traduzione", - "page-languages-recruit-community": "Aiutaci a tradurre ethereum.org.", - "page-languages-translated": "tradotto", "page-languages-want-more-header": "Vuoi vedere ethereum.org in una lingua diversa?", "page-languages-want-more-link": "Programma di Traduzione", - "page-languages-translate-cta-title": "Traduci in", "page-languages-want-more-paragraph": "I traduttori di ethereum.org traducono costantemente le pagine nel maggior numero di lingue possibile. Per vedere a cosa stanno lavorando in questo momento o per iscriverti e unirti a loro, leggi del nostro", - "page-languages-words": "parole", "page-last-updated": "Ultimo aggiornamento della pagina", "page-not-found": "Pagina non trovata", "page-not-found-description": "La pagina richiesta non è stata trovata.", @@ -459,4 +455,4 @@ "region-bonaire-netherlands": "Bonaire (Paesi Bassi)", "region-saba-netherlands": "Saba (Paesi Bassi)", "region-sint-eustatius-netherlands": "Sint Eustatius (Paesi Bassi)" -} \ No newline at end of file +} diff --git a/src/intl/ja/common.json b/src/intl/ja/common.json index 2d2fa369fa3..7a6756026e1 100644 --- a/src/intl/ja/common.json +++ b/src/intl/ja/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "フィルタータイプ", "page-languages-interested": "ご協力いただけますか?", "page-languages-learn-more": "翻訳プログラムの詳細はこちら", - "page-languages-recruit-community": "ethereum.orgの翻訳にご協力ください。", - "page-languages-translated": "翻訳済", "page-languages-want-more-header": "ethereum.orgを他の言語で表示したいですか?", "page-languages-want-more-link": "翻訳プログラム", - "page-languages-translate-cta-title": "翻訳先", "page-languages-want-more-paragraph": "ethereum.orgの翻訳者は、常に可能なかぎり多くの言語の翻訳版を作成しています。翻訳作業の現在の進行状況や確認したい場合や、翻訳プロジェクトにサインアップしたい場合は、ethereum.orgの〜をお読みください", - "page-languages-words": "単語", "page-last-updated": "ページの最終更新日時", "page-not-found": "ページが見つかりません", "page-not-found-description": "要求されたページは見つかりませんでした。", diff --git a/src/intl/ja/page-languages.json b/src/intl/ja/page-languages.json index 5b13e82e324..f0059f37d41 100644 --- a/src/intl/ja/page-languages.json +++ b/src/intl/ja/page-languages.json @@ -14,9 +14,6 @@ "page-languages-filter-label": "フィルターリスト", "page-languages-filter-placeholder": "フィルタータイプ", "page-languages-browser-default": "ブラウザのデフォルト", - "page-languages-translated": "翻訳済", - "page-languages-words": "単語", - "page-languages-recruit-community": "ethereum.orgの翻訳にご協力ください。", "language-am": "アムハラ語", "language-ar": "アラビア語", "language-az": "アゼルバイジャン語", diff --git a/src/intl/ko/common.json b/src/intl/ko/common.json index 03858c85f65..1f8d9e2da45 100644 --- a/src/intl/ko/common.json +++ b/src/intl/ko/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "필터링할 내용 입력", "page-languages-interested": "기여해 보시겠습니까?", "page-languages-learn-more": "번역 프로그램에 대해 자세히 보기", - "page-languages-recruit-community": "ethereum.org를 번역하는 데 도움을 주세요.", - "page-languages-translated": "번역됨", "page-languages-want-more-header": "ethereum.org를 다른 언어로 확인해 보시겠습니까?", "page-languages-want-more-link": "번역 프로그램", - "page-languages-translate-cta-title": "다음 언어로 번역:", "page-languages-want-more-paragraph": "ethereum.org 번역가는 항상 가능한 많은 언어로 페이지를 번역하고 있습니다. 현재 작업하고 있는 내용을 확인하거나, 참여하기 위해서는 다음 자료를 참조하세요.", - "page-languages-words": "단어", "page-last-updated": "페이지가 마지막으로 업데이트됨", "page-not-found": "페이지를 찾을 수 없음", "page-not-found-description": "요청하신 페이지를 찾을 수 없습니다.", diff --git a/src/intl/mr/common.json b/src/intl/mr/common.json index 4f1be8fbf65..b6ba5b40dff 100644 --- a/src/intl/mr/common.json +++ b/src/intl/mr/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "फिल्टर करण्यासाठी टाइप करा", "page-languages-interested": "योगदान देण्यात स्वारस्य आहे?", "page-languages-learn-more": "आमच्या भाषांतर कार्यक्रमाबद्दल अधिक जाणून घ्या", - "page-languages-recruit-community": "ethereum.org चे भाषांतर करण्यात आम्हाला मदत करा.", - "page-languages-translated": "भाषांतरित", "page-languages-want-more-header": "ethereum.org वेगळ्या भाषेत पाहू इच्छिता?", "page-languages-want-more-link": "भाषांतर कार्यक्रम", - "page-languages-translate-cta-title": "मध्ये भाषांतरित करा", "page-languages-want-more-paragraph": "ethereum.org अनुवादक नेहमी शक्य तितक्या भाषांमध्ये पृष्ठांचे भाषांतर करत असतात. ते सध्या कशावर काम करत आहेत हे पाहण्यासाठी किंवा त्यांच्यात सामील होण्यासाठी साइन अप करण्यासाठी, आमच्याबद्दल वाचा", - "page-languages-words": "शब्द", "page-last-updated": "पृष्ठ अखेरचे अद्यतनित", "page-not-found": "पृष्ठ सापडले नाही", "page-not-found-description": "विनंती केलेले पृष्ठ सापडले नाही.", diff --git a/src/intl/pl/common.json b/src/intl/pl/common.json index 77f8e7ae45d..e17d6d5991a 100644 --- a/src/intl/pl/common.json +++ b/src/intl/pl/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Wpisz, aby filtrować", "page-languages-interested": "Chcesz wziąć udział?", "page-languages-learn-more": "Dowiedz się więcej o naszym programie tłumaczeń", - "page-languages-recruit-community": "Pomóż nam tłumaczyć ethereum.org.", - "page-languages-translated": "przetłumaczono", "page-languages-want-more-header": "Chcesz zobaczyć ethereum.org w innym języku?", "page-languages-want-more-link": "Program Tłumaczeń", - "page-languages-translate-cta-title": "Przetłumacz na", "page-languages-want-more-paragraph": "Tłumacze ethereum.org zawsze tłumaczą strony na jak najwięcej języków. Aby zobaczyć, nad czym teraz pracują, lub aby się zarejestrować, aby dołączyć do nich, przeczytaj o naszym", - "page-languages-words": "słowa", "page-last-updated": "Strona ostatnio zaktualizowana", "page-not-found": "Nie znaleziono strony", "page-not-found-description": "Nie znaleziono żądanej strony.", diff --git a/src/intl/pt-br/common.json b/src/intl/pt-br/common.json index 2a3fa54f61f..406542b3714 100644 --- a/src/intl/pt-br/common.json +++ b/src/intl/pt-br/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Digite para filtrar", "page-languages-interested": "Interessado em contribuir?", "page-languages-learn-more": "Saiba mais sobre nosso Programa de tradução", - "page-languages-recruit-community": "Ajude-nos a traduzir ethereum.org.", - "page-languages-translated": "traduzido", "page-languages-want-more-header": "Quer ver o ethereum.org em um idioma diferente?", "page-languages-want-more-link": "Programa de tradução", - "page-languages-translate-cta-title": "Traduzir para", "page-languages-want-more-paragraph": "Os tradutores do ethereum.org estão sempre traduzindo as páginas para a maior quantidade de idiomas possíveis. Para ver em que eles estão trabalhando agora ou inscrever-se para participar com eles, leia sobre nosso", - "page-languages-words": "palavras", "page-last-updated": "Última atualização da página", "page-not-found": "Página não encontrada", "page-not-found-description": "A página solicitada não foi encontrada.", diff --git a/src/intl/ru/common.json b/src/intl/ru/common.json index f80e817b713..b3451259271 100644 --- a/src/intl/ru/common.json +++ b/src/intl/ru/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Введите текст для фильтрации", "page-languages-interested": "Хотите внести свой вклад?", "page-languages-learn-more": "Узнайте больше о нашей программе перевода", - "page-languages-recruit-community": "Помогите нам с переводом ethereum.org.", - "page-languages-translated": "переведено", "page-languages-want-more-header": "Хотите просматривать ethereum.org на другом языке?", "page-languages-want-more-link": "Программа перевода", - "page-languages-translate-cta-title": "Перевести на", "page-languages-want-more-paragraph": "Переводчики ethereum.org всегда переводят страницы на как можно большее количество языков. Чтобы посмотреть, над чем они сейчас работают, или зарегистрироваться, чтобы присоединиться к ним, прочитайте о нашем", - "page-languages-words": "слова", "page-last-updated": "Последнее обновление страницы", "page-not-found": "Страница не найдена", "page-not-found-description": "Не удается найти страницу.", diff --git a/src/intl/sw/common.json b/src/intl/sw/common.json index 970ecf768ea..f2ea958296e 100644 --- a/src/intl/sw/common.json +++ b/src/intl/sw/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Andika kwenye kichujio", "page-languages-interested": "Unavutiwa Kuchangia?", "page-languages-learn-more": "Jifunze zaidi kuhusu Programu yetu ya Ufasiri", - "page-languages-recruit-community": "Tusaidie kutafsiri ethereum.org.", - "page-languages-translated": "imetafsiriwa", "page-languages-want-more-header": "Unataka kuona ethereum.org katika lugha tofauti?", "page-languages-want-more-link": "Programu ya Kutafsiri", - "page-languages-translate-cta-title": "Tafsiri kwa", "page-languages-want-more-paragraph": "watafsiri wa ethereum.org daima wanatafsiri kurasa katika lugha nyingi iwezekanavyo. Ili kuona kile wanachofanyia kazi hivi sasa au kujiandikisha ili ujiunge nao, soma kuhusu yetu", - "page-languages-words": "maneno", "page-last-updated": "Ukurasa ulisasishwa mwisho", "page-not-found": "Ukurasa haujapatikana", "page-not-found-description": "Ukurasa uliotafutwa haukupatikana", diff --git a/src/intl/ta/common.json b/src/intl/ta/common.json index 5ffe2aec17e..825ebe20e42 100644 --- a/src/intl/ta/common.json +++ b/src/intl/ta/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "வடிகட்டத் தட்டச்சு செய்க", "page-languages-interested": "பங்களிக்க ஆர்வமா?", "page-languages-learn-more": "எங்கள் மொழிபெயர்ப்புத் திட்டத்தைப் பற்றி மேலும் அறிக", - "page-languages-recruit-community": "Ethereum.org-ஐ மொழிபெயர்க்க எங்களுக்கு உதவிடுங்கள்.", - "page-languages-translated": "மொழிபெயர்க்கப்பட்டது", "page-languages-want-more-header": "எத்தீரியம்.ஓஆர்ஜி ஐ வேறு மொழியில் பார்க்க வேண்டுமா?", "page-languages-want-more-link": "மொழிபெயர்ப்புத் திட்டம்", - "page-languages-translate-cta-title": "மொழிபெயர்க்கவும்", "page-languages-want-more-paragraph": "எத்தீரியம்.ஓஆர்ஜி மொழிபெயர்ப்பாளர்கள் எப்போதும் முடிந்தவரை பல மொழிகளில் பக்கங்களை மொழிபெயர்த்து வருகின்றனர். அவர்கள் இப்போது என்ன வேலை செய்கிறார்கள் என்பதைப் பார்க்க அல்லது அவர்களுடன் சேர பதிவுபெற, எங்களைப் பற்றிப் படிக்கவும்", - "page-languages-words": "சொற்கள்", "page-last-updated": "பக்கம் கடைசியாக மாற்றப்பட்டது", "page-not-found": "பக்கம் கிடைக்கவில்லை", "page-not-found-description": "கோரப்பட்ட பக்கத்தைக் கண்டுபிடிக்க முடியவில்லை.", diff --git a/src/intl/te/common.json b/src/intl/te/common.json index 6b2060412aa..75dff2409d6 100644 --- a/src/intl/te/common.json +++ b/src/intl/te/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "ఫిల్టర్ చేయడానికి టైప్ చేయండి", "page-languages-interested": "సహకారం అందించడానికి ఆసక్తి ఉందా?", "page-languages-learn-more": "మా అనువాద కార్యక్రమం గురించి మరింత తెలుసుకోండి", - "page-languages-recruit-community": "Ethereum.orgను అనువదించడానికి మాకు సహాయం చేయండి.", - "page-languages-translated": "అనువదించారు", "page-languages-want-more-header": "వేరే భాషలో ethereum.org చూడాలనుకుంటున్నారా?", "page-languages-want-more-link": "అనువాద కార్యక్రమం", - "page-languages-translate-cta-title": "దీనికి అనువదించు", "page-languages-want-more-paragraph": "ethereum.org అనువాదకులు ఎల్లప్పుడూ వీలైనన్ని భాషల్లో పేజీలను అనువదిస్తున్నారు. వారు ప్రస్తుతం ఏమి పని చేస్తున్నారో చూడటానికి లేదా వారితో చేరడానికి సైన్ అప్ చేయడానికి, మా గురించి చదవండి", - "page-languages-words": "పదాలు", "page-last-updated": "పేజీ చివరగా అప్‌డేట్ చేయబడింది", "page-not-found": "పేజీ కనుగొనబడలేదు", "page-not-found-description": "అభ్యర్థించిన పేజీ కనుగొనబడలేదు.", diff --git a/src/intl/tr/common.json b/src/intl/tr/common.json index b1d79164117..b92b1230290 100644 --- a/src/intl/tr/common.json +++ b/src/intl/tr/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Filtre tipi", "page-languages-interested": "Katkıda bulunmak ister misiniz?", "page-languages-learn-more": "Çeviri Programımız hakkında daha fazla bilgi edinin", - "page-languages-recruit-community": "ethereum.org'u çevirmemize yardımcı olun.", - "page-languages-translated": "çevrildi", "page-languages-want-more-header": "Ethereum.org'u farklı bir dilde görmek ister misiniz?", "page-languages-want-more-link": "Çeviri Programı", - "page-languages-translate-cta-title": "Şu dile çevir", "page-languages-want-more-paragraph": "ethereum.org çevirmenleri sayfaları her zaman mümkün olduğu kadar çok dilde çevirir. Şu anda ne üzerinde çalıştıklarını görmek veya onlara katılmak üzere kaydolmak için ve hakkımızda okumak için", - "page-languages-words": "kelimeler", "page-last-updated": "Sayfanın son güncellenmesi", "page-not-found": "Sayfa bulunamadı", "page-not-found-description": "İstenilen sayfa bulunamadı.", diff --git a/src/intl/uk/common.json b/src/intl/uk/common.json index d69c6c311e5..d5d3923fb67 100644 --- a/src/intl/uk/common.json +++ b/src/intl/uk/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Введіть, щоб фільтрувати", "page-languages-interested": "Хочете зробити внесок?", "page-languages-learn-more": "Дізнайтеся більше про нашу програму перекладів", - "page-languages-recruit-community": "Допоможіть нам перекласти сайт ethereum.org.", - "page-languages-translated": "перекладено", "page-languages-want-more-header": "Хочете перекласти сайт ethereum.org іншою мовою?", "page-languages-want-more-link": "програму перекладів", - "page-languages-translate-cta-title": "Перекласти", "page-languages-want-more-paragraph": "Перекладачі прагнуть перекласти сайт ethereum.org на максимально можливу кількість мов. Щоб побачити, над чим вони зараз працюють, або приєднатися до команди, дізнайтеся більше про нашу", - "page-languages-words": "слова", "page-last-updated": "Page last updated", "page-not-found": "Сторінку не знайдено", "page-not-found-description": "Запитану сторінку не знайдено.", diff --git a/src/intl/ur/common.json b/src/intl/ur/common.json index 4e82f1443ae..e9da939db8c 100644 --- a/src/intl/ur/common.json +++ b/src/intl/ur/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "فلٹر کرنے کے لیے ٹائپ کریں", "page-languages-interested": "تعاون کرنے میں دلچسپی رکھتے ہیں؟", "page-languages-learn-more": "ہمارے ترجمے کے پروگرام کے بارے میں مزید جانیں", - "page-languages-recruit-community": "ethereum.org کا ترجمہ کرنے میں ہماری مدد کریں۔", - "page-languages-translated": "ترجمہ شدہ", "page-languages-want-more-header": "ethereum.org کو ایک مختلف زبان میں دیکھنا چاہتے ہیں؟", "page-languages-want-more-link": "ترجمے کا پروگرام", - "page-languages-translate-cta-title": "اس میں ترجمہ کریں", "page-languages-want-more-paragraph": "ethereum.org کے مترجمین ہمیشہ ممکنہ حد تک زیادہ سے زیادہ زبانوں میں صفحات کا ترجمہ کر رہے ہوتے ہیں۔ فی الوقت وہ کیا کام کر رہے ہیں یا ان میں شامل ہونے کی خاطر سائن اپ کرنے کے لیے، ہماری مندرجہ ذیل کے بارے میں پڑھیں", - "page-languages-words": "الفاظ", "page-last-updated": "صفحہ آخری بار اپ ڈیٹ کیا گیا", "page-not-found": "صفحہ نہیں ملا", "page-not-found-description": "درخواست کردہ صفحہ نہیں مل سکا۔", diff --git a/src/intl/vi/common.json b/src/intl/vi/common.json index 0a72eadf48c..0cfe72d1de2 100644 --- a/src/intl/vi/common.json +++ b/src/intl/vi/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "Nhập để lọc", "page-languages-interested": "Bạn muốn tìm hiểu về việc đóng góp?", "page-languages-learn-more": "Tìm hiểu thêm về Chương trình dịch thuật của chúng tôi", - "page-languages-recruit-community": "Giúp chúng tôi dịch trang ethereum.org.", - "page-languages-translated": "đã dịch", "page-languages-want-more-header": "Bạn muốn tìm hiểu về ethereum.org bằng một ngôn ngữ khác?", "page-languages-want-more-link": "Chương trình dịch thuật", - "page-languages-translate-cta-title": "Dịch sang", "page-languages-want-more-paragraph": "Dịch giả của ethereum.org luôn dịch các trang sang nhiều ngôn ngữ nhất có thể. Để tìm hiểu về những gì họ đang làm ngay bây giờ hoặc đăng ký để tham gia, hãy đọc", - "page-languages-words": "từ", "page-last-updated": "Trang cập nhật mới nhất", "page-not-found": "Trang lỗi", "page-not-found-description": "Không tìm thấy trang được yêu cầu.", diff --git a/src/intl/zh-tw/common.json b/src/intl/zh-tw/common.json index 12cadf0affc..d6e5156c7bc 100644 --- a/src/intl/zh-tw/common.json +++ b/src/intl/zh-tw/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "輸入以進行篩選", "page-languages-interested": "想要參與貢獻嗎?", "page-languages-learn-more": "了解更多關於翻譯計畫資訊的資訊", - "page-languages-recruit-community": "幫助我們翻譯 ethereum.org 網站。", - "page-languages-translated": "已翻譯", "page-languages-want-more-header": "想查看 ethereum.org 其他語言版本嗎?", "page-languages-want-more-link": "翻譯計畫", - "page-languages-translate-cta-title": "翻譯成", "page-languages-want-more-paragraph": "ethereum.org 的譯者不斷地翻譯盡可能多種的語言頁面。想要查看他們目前的工作計畫或註冊成為他們的一員,請閱讀我們的", - "page-languages-words": "字數", "page-last-updated": "頁面上次更新", "page-not-found": "找不到頁面", "page-not-found-description": "無法找到所請求的頁面。", diff --git a/src/intl/zh/common.json b/src/intl/zh/common.json index 11e7545bb1a..1ecea46cf0b 100644 --- a/src/intl/zh/common.json +++ b/src/intl/zh/common.json @@ -365,13 +365,9 @@ "page-languages-filter-placeholder": "输入筛选条件", "page-languages-interested": "有兴趣做贡献吗?", "page-languages-learn-more": "了解更多关于我们翻译计划的信息", - "page-languages-recruit-community": "帮助我们翻译 ethereum.org。", - "page-languages-translated": "已翻译", "page-languages-want-more-header": "想用不同的语言查看ethereum.org吗?", "page-languages-want-more-link": "翻译计划", - "page-languages-translate-cta-title": "翻译至", "page-languages-want-more-paragraph": "ethereum.org的翻译者总是以尽可能多的语言进行翻译。 要看看他们正在做什么或注册加入他们,请阅读我们的", - "page-languages-words": "字数", "page-last-updated": "页面最后更新", "page-not-found": "找不到页面", "page-not-found-description": "找不到所请求的页面。", diff --git a/src/lib/nav/localeToDisplayInfo.ts b/src/lib/nav/localeToDisplayInfo.ts index c5d8fbbb2cf..d2bca85ce01 100644 --- a/src/lib/nav/localeToDisplayInfo.ts +++ b/src/lib/nav/localeToDisplayInfo.ts @@ -1,32 +1,7 @@ -import type { - I18nLocale, - Lang, - LocaleDisplayInfo, - ProjectProgressData, -} from "@/lib/types" +import type { I18nLocale, Lang, LocaleDisplayInfo } from "@/lib/types" import { languages } from "@/lib/utils/translations" -import progressDataJson from "@/data/translationProgress.json" - -import { DEFAULT_LOCALE } from "@/lib/constants" - -const progressData = progressDataJson satisfies ProjectProgressData[] - -const getProgressInfo = ( - locale: Lang, - approvalProgress: number, - wordsApproved: number -) => { - const percentage = new Intl.NumberFormat(locale, { - style: "percent", - }).format(approvalProgress / 100) - const progress = - approvalProgress === 0 ? "<" + percentage.replace("0", "1") : percentage - const words = new Intl.NumberFormat(locale).format(wordsApproved) - return { progress, words } -} - export const localeToDisplayInfo = ( localeOption: Lang, sourceLocale: Lang, @@ -67,52 +42,10 @@ export const localeToDisplayInfo = ( }) } - // English will not have a dataItem - const dataItem = progressData.find( - ({ languageId }) => - i18nItem.crowdinCode.toLowerCase() === languageId.toLowerCase() - ) - - const approvalProgress = - localeOption === DEFAULT_LOCALE - ? 100 - : Math.floor((dataItem!.words.approved / dataItem!.words.total) * 100) || - 0 - - const returnData: Partial = { + return { localeOption, sourceName: sourceName ?? localeOption, targetName: targetName ?? localeOption, englishName, } - - if (progressData.length < 1) { - console.warn(`Missing translation progress data; check GitHub action`) - return { - ...returnData, - approvalProgress: 0, - wordsApproved: 0, - } as LocaleDisplayInfo - } - - const totalWords = progressData[0].words.total - - const wordsApproved = - localeOption === DEFAULT_LOCALE - ? totalWords || 0 - : dataItem?.words.approved || 0 - - const { progress, words } = getProgressInfo( - localeOption, - approvalProgress, - wordsApproved - ) - - return { - ...returnData, - approvalProgress, - wordsApproved, - progress, - words, - } as LocaleDisplayInfo } diff --git a/src/lib/types.ts b/src/lib/types.ts index d70060caa8a..d103d883653 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -305,24 +305,11 @@ export type LocaleContributions = { data: FileContributorData[] } -// Crowdin translation progress -export type ProjectProgressData = { - languageId: string - words: { - total: number - approved: number - } -} - export type LocaleDisplayInfo = { localeOption: string sourceName: string targetName: string englishName: string - approvalProgress: number - wordsApproved: number - progress: string - words: string isBrowserDefault?: boolean }