diff --git a/components/LocaleSwitcher.tsx b/components/LocaleSwitcher.tsx index 9178488..e22d0ed 100644 --- a/components/LocaleSwitcher.tsx +++ b/components/LocaleSwitcher.tsx @@ -8,25 +8,34 @@ import '@formatjs/intl-displaynames/polyfill' import '@formatjs/intl-displaynames/locale-data/ar' import '@formatjs/intl-displaynames/locale-data/de' import '@formatjs/intl-displaynames/locale-data/en' -import '@formatjs/intl-displaynames/locale-data/es' -import '@formatjs/intl-displaynames/locale-data/fa' -import '@formatjs/intl-displaynames/locale-data/fr' -import '@formatjs/intl-displaynames/locale-data/my' -import '@formatjs/intl-displaynames/locale-data/pt' +import '@formatjs/intl-displaynames/locale-data/id' +// import '@formatjs/intl-displaynames/locale-data/es' +// import '@formatjs/intl-displaynames/locale-data/fa' +// import '@formatjs/intl-displaynames/locale-data/fr' +import '@formatjs/intl-displaynames/locale-data/km' +// import '@formatjs/intl-displaynames/locale-data/my' +// import '@formatjs/intl-displaynames/locale-data/pt' import '@formatjs/intl-displaynames/locale-data/ru' -import '@formatjs/intl-displaynames/locale-data/sw' -import '@formatjs/intl-displaynames/locale-data/th' +// import '@formatjs/intl-displaynames/locale-data/sw' +// import '@formatjs/intl-displaynames/locale-data/th' import '@formatjs/intl-displaynames/locale-data/tr' -import '@formatjs/intl-displaynames/locale-data/vi' +// import '@formatjs/intl-displaynames/locale-data/vi' import '@formatjs/intl-displaynames/locale-data/zh-Hans' import '@formatjs/intl-displaynames/locale-data/zh-Hant' + +const getLocale = (locale: string) => { + if (locale === 'zh-cn') return 'zh-Hans' + // if (locale === 'pt-BR') return 'pt' + return locale +} + export const getLocalisedLanguageName = ( regionCode: string, locale: string, ) => { try { - return new Intl.DisplayNames([locale], { type: 'language' }).of( + return new Intl.DisplayNames([getLocale(locale)], { type: 'language' }).of( String(regionCode), ) } catch (e) { @@ -69,32 +78,6 @@ const LanguageSelect = (props: LanguageSelectProps) => ( ) -// const LanguageSelect = styled.select` -// color: ${(props) => props.theme.colors.white}; -// background: none; -// border: none; -// text-transform: capitalize; -// cursor: pointer; -// font-family: inherit; -// font-size: inherit; -// padding: 0; -// padding-bottom: 6px; -// padding-right: 10px; -// outline: none; -// appearance: none; -// -webkit-appearance: none; -// -moz-appearance: none; -// -ms-appearance: none; -// -o-appearance: none; -// background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23FFFFFF%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23FFFFFF%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -// background-size: .6em; -// background-position: 100% 0.2rem; -// background-repeat: no-repeat; -// html[dir="rtl"] &, body[dir="rtl"] &: { -// background-position: 0, 0.2rem; -// }, -// ` - const LocaleSwitcher = () => { const router = useRouter() const { pathname, asPath, query } = router diff --git a/package.json b/package.json index 51335d3..e3d44f9 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "react-dom": "^18.3.1", "react-hook-form": "^7.52.2", "react-icons": "^5.3.0", - "react-intl": "^6.6.8", + "react-intl": "^6.8.2", "react-outside-click-handler": "^1.3.0", "swr": "^2.2.5", "tailwind-merge": "^2.5.2", diff --git a/public/static/lang/es.json b/public/static/lang/es.json deleted file mode 100644 index 422c3b1..0000000 --- a/public/static/lang/es.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Hero.SubTitle": "Coordinar las pruebas de censura de sitio web", - "Title.URLs": "URLs", - "Button.AddUrl": "Agregar URL", - "Button.Generate": "Generar", - "Share.Twitter.Tweet": "¡Ejecuta OONI Probe para probar la censura!", - "Home.Heading.TestName": "Nombre de la prueba", - "Sidebar.WebConnectivity.Title": "Censura en Internet", - "Sidebar.Performance.Title": "Velocidad y Rendimiento", - "Sidebar.Middleboxes.Title": "Middleboxes", - "Modal.Heading.LinkReady": "¡Tu enlace está listo!", - "Modal.Heading.ShareIt": "Compártelo en las redes sociales", - "Modal.Button.Link": "Enlace", - "Modal.Heading.ShareThisURL": "Comparte este enlace con las usuarias de la aplicación móvil OONI Probe.", - "Modal.Heading.EmbedThisCode": "O inserta este código en tu sitio web", - "Modal.Button.Done": "Hecho", - "Nettest.Heading.HaveMobileApp": "Ya tienes la aplicación móvil OONI Probe", - "Nettest.Text.HaveMobileApp": "Toca Ejecutar y abre este enlace con tu aplicación móvil OONI Probe para comenzar la prueba.", - "Nettest.Button.Run": "Ejecutar", - "Nettest.Heading.InstallApp": "Instala la aplicación móvil OONI Probe", - "Nettest.Text.InstallApp": "Actualmente, los enlaces OONI Run solo funcionan con la aplicación móvil OONI Probe.", - "Nettest.Button.Install": "Instalar", - "Notice.Paste": "Nota: si tienes una lista larga de URLs para agregar, puedes copiarlas y pegarlas en uno de los cuadros a continuación.", - "WhatCanYouDoText.WebCensorship": "Agrega sitios web a continuación que te gustaría probar para la censura. Haz clic en \\\"Generar\\\" para crear un enlace basado en esos sitios web. ¡Comparte ese enlace con los usuarios de la aplicación móvil OONI Probe para que puedan probar los sitios web de tu elección!" -} \ No newline at end of file diff --git a/public/static/lang/fa.json b/public/static/lang/fa.json deleted file mode 100644 index 68fabb7..0000000 --- a/public/static/lang/fa.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Hero.SubTitle": "هماهنگ کردن آزمایش سانسور وب‌سایت", - "Title.URLs": "نشانی‌های اینترنتی", - "Button.AddUrl": "افزودن نشانی اینترنتی", - "Button.Generate": "تولید کردن", - "Share.Twitter.Tweet": "برای آزمایش سانسور، OONI Probe را اجرا کنید!", - "Home.Heading.TestName": "نام آزمایش", - "Sidebar.WebConnectivity.Title": "سانسور اینترنت", - "Sidebar.Performance.Title": "سرعت و عملکرد", - "Sidebar.Middleboxes.Title": "جعبه‌های میانی", - "Modal.Heading.LinkReady": "پیوند شما آماده است!", - "Modal.Heading.ShareIt": "آن را در شبکه‌های اجتماعی به اشتراک بگذارید", - "Modal.Button.Link": "پیوند", - "Modal.Heading.ShareThisURL": "این پیوند را با کاربران برنامه تلفن همراه OONI Probe به اشتراک بگذارید", - "Modal.Heading.EmbedThisCode": "یا این کد را در وب‌سایت خود قرار دهید", - "Modal.Button.Done": "انجام شد", - "Nettest.Heading.HaveMobileApp": "شما در حال حاضر برنامه تلفن همراه OONI Probe را دارید", - "Nettest.Text.HaveMobileApp": "روی «اجرا» ضربه بزنید و این پیوند را با برنامه تلفن همراه OONI Probe خود برای شروع آزمایش باز کنید.", - "Nettest.Button.Run": "اجرا", - "Nettest.Heading.InstallApp": "برنامه تلفن همراه OONI Probe را نصب کنید", - "Nettest.Text.InstallApp": "در حال حاضر، پیوندهای OONI Run فقط با برنامه تلفن همراهOONI Probe کار می‌کنند.", - "Nettest.Button.Install": "نصب", - "Notice.Paste": "توجه: اگر فهرست طولانی از نشانی‌های اینترنتی برای افزودن دارید، می‌توانید آنها را کپی کرده و در یکی از کادرهای زیر جایگذاری کنید.", - "WhatCanYouDoText.WebCensorship": "وب‌سایت‌هایی را در زیر اضافه کنید که می‌خواهید برای سانسور آزمایش کنید. برای ایجاد پیوند بر اساس آن وب‌سایت‌ها، روی \\\"تولید کردن\\\" کلیک کنید. آن پیوند را با کاربران برنامه تلفن همراه OONI Probe به اشتراک بگذارید تا بتوانند وب‌سایت‌های مورد نظر شما را آزمایش کنند!" -} \ No newline at end of file diff --git a/public/static/lang/pt-br.json b/public/static/lang/pt-br.json deleted file mode 100644 index f26a285..0000000 --- a/public/static/lang/pt-br.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "Hero.SubTitle": "Coordenar testes de censura de websites", - "Title.URLs": "URLs", - "Button.AddUrl": "Adicionar URL", - "Button.Generate": "Gerar", - "Share.Twitter.Tweet": "Rode o OONI Probe para testes de censura!", - "Home.Heading.TestName": "Testar nome", - "Sidebar.WebConnectivity.Title": "Censura na internet", - "Sidebar.Performance.Title": "Velocidade e desempenho", - "Sidebar.Middleboxes.Title": "Middleboxes", - "Modal.Heading.LinkReady": "Seu link está pronto!", - "Modal.Heading.ShareIt": "Compartilhe nas redes sociais", - "Modal.Button.Link": "Link", - "Modal.Heading.ShareThisURL": "Compartilhe este link com usuários do aplicativo móvel OONI Probe", - "Modal.Heading.EmbedThisCode": "Ou incorpore este código em seu site", - "Modal.Button.Done": "Feito", - "Nettest.Heading.HaveMobileApp": "Você já tem o aplicativo móvel OONI Probe", - "Nettest.Text.HaveMobileApp": "Toque em Executar e abra este link com seu aplicativo móvel OONI Probe para iniciar o teste", - "Nettest.Button.Run": "Rodar", - "Nettest.Heading.InstallApp": "Instalar o OONI Probe para aplicativos móveis", - "Nettest.Text.InstallApp": "Atualmente, os links OONI Run funcionam apenas com o aplicativo móvel OONI Probe", - "Nettest.Button.Install": "Instalar", - "Notice.Paste": "Observação: se você tiver uma longa lista de URLs para adicionar, poderá copiá-los e colá-los em uma das caixas abaixo", - "WhatCanYouDoText.WebCensorship": "Adicione abaixo os sites que você gostaria de testar quanto à censura. Clique em “Gerar” para criar um link baseado nesses sites. Compartilhe esse link com os usuários do aplicativo móvel OONI Probe para que eles possam testar os sites de sua escolha!", - "Error.Empty": "Não pode estar vazio.", - "Error.UrlFormat": "Deve ser um formato de URL válido, por exemplo, \"https://ooni.org/post/\"" -} \ No newline at end of file diff --git a/public/static/lang/th.json b/public/static/lang/th.json deleted file mode 100644 index abdce9b..0000000 --- a/public/static/lang/th.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Hero.SubTitle": "ช่วยกันทดสอบการปิดกั้นเว็บไซต์", - "Title.URLs": "URL", - "Button.AddUrl": "เพิ่ม URL", - "Button.Generate": "สร้าง", - "Share.Twitter.Tweet": "ใช้ OONI Probe เพื่อตรวจหาการปิดกั้น!", - "Home.Heading.TestName": "ชื่อการทดสอบ", - "Sidebar.WebConnectivity.Title": "การปิดกั้นอินเทอร์เน็ต", - "Sidebar.Performance.Title": "ความเร็วและประสิทธิภาพ", - "Sidebar.Middleboxes.Title": "ตัวกลาง", - "Modal.Heading.LinkReady": "ลิงก์ของคุณพร้อมแล้ว!", - "Modal.Heading.ShareIt": "แบ่งปันมันบนสื่อสังคม", - "Modal.Button.Link": "ลิงก์", - "Modal.Heading.ShareThisURL": "แบ่งปันลิงก์นี้กับผู้ใช้แอป OONI Probe บนอุปกรณ์พกพา", - "Modal.Heading.EmbedThisCode": "หรือฝังโค้ดนี้ในเว็บไซต์ของคุณ", - "Modal.Button.Done": "เสร็จสิ้น", - "Nettest.Heading.HaveMobileApp": "คุณมีแอป OONI Probe บนอุปกรณ์พกพาอยู่แล้ว", - "Nettest.Text.HaveMobileApp": "แตะ 'เริ่มทดสอบ' และเปิดลิงก์นี้ด้วยแอป OONI Probe บนอุปกรณ์พกพาของคุณ เพื่อเริ่มการทดสอบ", - "Nettest.Button.Run": "เริ่มทดสอบ", - "Nettest.Heading.InstallApp": "ติดตั้งแอป OONI Probe บนอุปกรณ์พกพา", - "Nettest.Text.InstallApp": "ปัจจุบัน ลิงก์ OONI Run ใช้ได้เฉพาะกับแอป OONI Probe บนอุปกรณ์พกพาเท่านั้น", - "Nettest.Button.Install": "ติดตั้ง", - "Notice.Paste": "หมายเหตุ: ถ้ารายการ URL ที่จะเพิ่มของคุณยาวมากๆ คุณสามารถทำสำเนามันและวางลงในกล่องใดก็ได้ด้านล่างนี้", - "WhatCanYouDoText.WebCensorship": "เพิ่มเว็บไซต์ที่คุณต้องการทดสอบหาการปิดกั้นที่ด้านล่างนี้ คลิก 'สร้าง' เพื่อสร้างลิงก์จากบรรดาเว็บไซต์ดังกล่าว แบ่งปันลิงก์นั้นให้กับผู้ใช้ OONI Probe บนอุปกรณ์พกพาคนอื่นๆ พวกเขาจะได้สามารถทดสอบบรรดาเว็บไซต์ที่คุณเลือกมาได้!" -} \ No newline at end of file diff --git a/public/static/lang/vi.json b/public/static/lang/vi.json deleted file mode 100644 index c12f44b..0000000 --- a/public/static/lang/vi.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "Hero.SubTitle": "Phối hợp kiểm tra kiểm duyệt trang web", - "Title.URLs": "URLs", - "Button.AddUrl": "Thêm URL", - "Button.Generate": "Tạo ra", - "Share.Twitter.Tweet": "Chạy OONI Probe để phát hiện kiểm duyệt!", - "Home.Heading.TestName": "Tên Kiểm Tra", - "Sidebar.WebConnectivity.Title": "Kiểm Duyệt Internet", - "Sidebar.Performance.Title": "Tốc độ & Hiệu suất", - "Sidebar.Middleboxes.Title": "Middleboxes", - "Modal.Heading.LinkReady": "Liên kết đã sẵn sàng", - "Modal.Heading.ShareIt": "Chia sẻ trên mạng xã hội", - "Modal.Button.Link": "Liên kết", - "Modal.Heading.ShareThisURL": "Chia sẻ liên kết này với người dùng ứng dụng di động OONI Probe ", - "Modal.Heading.EmbedThisCode": "Hoặc cài mã này trong trang web của bạn", - "Modal.Button.Done": "Xong", - "Nettest.Heading.HaveMobileApp": "Bạn đã có ứng dụng di động OONI Probe", - "Nettest.Text.HaveMobileApp": "Nhấn Chạy và mở liên kết này ra bằng ứng dụng di động OONI Probe để bắt đầu kiểm tra.", - "Nettest.Button.Run": "Chạy", - "Nettest.Heading.InstallApp": "Cài đặt ứng dụng di động OONI Probe", - "Nettest.Text.InstallApp": "Hiện thời, liên kết OONI Run chỉ chạy với ứng dụng di động OONI Probe.", - "Nettest.Button.Install": "Cài đặt", - "Notice.Paste": "Ghi chú: nếu bạn có một danh sách nhiều URL để thêm vào, bạn có thể sao chép và dán vào hộp dưới đây.", - "WhatCanYouDoText.WebCensorship": "Thêm trang web nào bạn muốn kiểm tra vào bên dưới. Bấm \"Tạo ra\" để tạo ra một liên kết dựa vào trang web đó. Chia sẻ liên kết đó với người dùng ứng dụng di động OONI Probe khác để họ có thể kiểm tra các trang web bạn chọn!", - "Error.Empty": "Không thể để trống", - "Error.UrlFormat": "Nên có dạng URL hợp lệ, ví dụ như \"https://ooni.org/post/\"" -} \ No newline at end of file diff --git a/public/static/lang/zh-TW.json b/public/static/lang/zh-TW.json deleted file mode 100644 index 821831d..0000000 --- a/public/static/lang/zh-TW.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Hero.SubTitle": "協作型網站審查測量", - "Title.URLs": "網址", - "Button.AddUrl": "新增網址 ", - "Button.Generate": "生成", - "Share.Twitter.Tweet": "執行 OONI Probe 來測量審查狀況", - "Home.Heading.TestName": "測試名稱", - "Sidebar.WebConnectivity.Title": "網際網路審查", - "Sidebar.Performance.Title": "速度 & 效能", - "Sidebar.Middleboxes.Title": "中間盒", - "Modal.Heading.LinkReady": "您的鏈接已就緒!", - "Modal.Heading.ShareIt": "分享到社群媒體", - "Modal.Button.Link": "鏈接", - "Modal.Heading.ShareThisURL": "分享此鏈接給 OONI Probe 行動用戶", - "Modal.Heading.EmbedThisCode": "或將此代碼篏入您的網站", - "Modal.Button.Done": "完成", - "Nettest.Heading.HaveMobileApp": "您已安裝了 OONI Probe 行動應用", - "Nettest.Text.HaveMobileApp": "輕觸執行並利用 OONI Probe 開啟鏈接以便啟動測量", - "Nettest.Button.Run": "執行", - "Nettest.Heading.InstallApp": "安裝 OONI Probe 行動應用", - "Nettest.Text.InstallApp": "目前 OONI Run 鏈接僅限於 OONI Probe 行動應用使用", - "Nettest.Button.Install": "安裝", - "Notice.Paste": "備註:如果有一長串網址清單待加入,可以下方方框來複製貼上", - "WhatCanYouDoText.WebCensorship": "在下方新增測試是否遭審之網址,點擊\"\\生成\\\" 來建立該網站的鏈接,透過 OONI Probe 行動應用來分享該鏈接,讓其它用戶可以測試您所選的網站。" -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 8fc62ec..2f5333e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1226,75 +1226,76 @@ resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.2.12.tgz#5295e4f6351ed563bcd49fb6479905165098bcd4" integrity sha512-bt1NEgkeYN8N9zWcpsPu3fZ57vv+biA+NtIQBlyOZnCp1bcvh+vNTXvmwF4C5qxqDtCylpOIb3yi3Ktgp4v0JQ== -"@formatjs/ecma402-abstract@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz#39197ab90b1c78b7342b129a56a7acdb8f512e17" - integrity sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g== +"@formatjs/ecma402-abstract@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.0.tgz#36f5bc0dac4ca77ca429fe44bd95b32d5ccd98dd" + integrity sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ== dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" + "@formatjs/fast-memoize" "2.2.1" + "@formatjs/intl-localematcher" "0.5.5" + tslib "^2.7.0" -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== +"@formatjs/fast-memoize@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.1.tgz#74575f18c6a789472517995ca9686e7a3f7c0b60" + integrity sha512-XS2RcOSyWxmUB7BUjj3mlPH0exsUzlf6QfhhijgI941WaJhVxXQ6mEWkdUFIdnKi3TuTYxRdelsgv3mjieIGIA== dependencies: - tslib "^2.4.0" + tslib "^2.7.0" -"@formatjs/icu-messageformat-parser@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz#f6d7643001e9bb5930d812f1f9a9856f30fa0343" - integrity sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA== +"@formatjs/icu-messageformat-parser@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.8.0.tgz#dccbc591720b9acc01bdf064fae655dd1f1470ac" + integrity sha512-r2un3fmF9oJv3mOkH+wwQZ037VpqmdfahbcCZ9Lh+p6Sx+sNsonI7Zcr6jNMm1s+Si7ejQORS4Ezlh05mMPAXA== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/icu-skeleton-parser" "1.8.2" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/icu-skeleton-parser" "1.8.4" + tslib "^2.7.0" -"@formatjs/icu-skeleton-parser@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz#2252c949ae84ee66930e726130ea66731a123c9f" - integrity sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q== +"@formatjs/icu-skeleton-parser@1.8.4": + version "1.8.4" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.4.tgz#8ca9c2efa2ef2f9e26c0502892a21699dcff8b4f" + integrity sha512-LMQ1+Wk1QSzU4zpd5aSu7+w5oeYhupRwZnMQckLPRYhSjf2/8JWQ882BauY9NyHxs5igpuQIXZDgfkaH3PoATg== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + tslib "^2.7.0" -"@formatjs/intl-displaynames@6.6.8": - version "6.6.8" - resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.6.8.tgz#2f5afac8df83167f5a6ef8543600eaf1ef99c885" - integrity sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g== +"@formatjs/intl-displaynames@6.7.0": + version "6.7.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.7.0.tgz#d5b99bef30abcfe476a39db1da15d43205e3f87c" + integrity sha512-k1mu06yYhAuZv50ZGcdHfgKHFC3lQg9LgFuLihlvHdbbXSjDVqKMg+7NxJhCiYDi27J05YJHmanq2wP9hbmVEA== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/intl-localematcher" "0.5.5" + tslib "^2.7.0" -"@formatjs/intl-listformat@7.5.7": - version "7.5.7" - resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.5.7.tgz#125e05105fabd1ae5f11881d6ab74484f2098ee4" - integrity sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g== +"@formatjs/intl-listformat@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.6.0.tgz#30163ba5859d315a567681ce6c99e40c2f2cf4b0" + integrity sha512-0u8OsrHB6MzWzqdTULk2RlkO705hyCrP8Lg0EYQ+H8UHPfVKXX7pA9p39TmMn8+MxZ0WUKVWRv5qAPD1fey0Gg== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/intl-localematcher" "0.5.5" + tslib "^2.7.0" -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== +"@formatjs/intl-localematcher@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.5.tgz#b24f100f30658104d5f6db35b0b8d97235298681" + integrity sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g== dependencies: - tslib "^2.4.0" + tslib "^2.7.0" -"@formatjs/intl@2.10.4": - version "2.10.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.10.4.tgz#e1819e0858fb05ca65923a020f346bc74e894e92" - integrity sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw== - dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.8" - "@formatjs/intl-displaynames" "6.6.8" - "@formatjs/intl-listformat" "7.5.7" - intl-messageformat "10.5.14" - tslib "^2.4.0" +"@formatjs/intl@2.10.9": + version "2.10.9" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.10.9.tgz#ea16e51140cb69664d839175f6f9a4ca8c4d0c49" + integrity sha512-PU18v48n8SaoWDaJ5h2SWd2R8jpK7hUASovo/RR0KtvmMJTUmHsKHwMyuYCdeMMyw6QEbVS8SSWVZlcHBWZ51A== + dependencies: + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/fast-memoize" "2.2.1" + "@formatjs/icu-messageformat-parser" "2.8.0" + "@formatjs/intl-displaynames" "6.7.0" + "@formatjs/intl-listformat" "7.6.0" + intl-messageformat "10.7.1" + tslib "^2.7.0" "@hookform/resolvers@^3.6.0": version "3.9.0" @@ -2170,7 +2171,7 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/hoist-non-react-statics@^3.3.1": +"@types/hoist-non-react-statics@3": version "3.3.5" resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== @@ -2267,7 +2268,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@^18.2.64": +"@types/react@*", "@types/react@^18.2.64": version "18.3.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.5.tgz#5f524c2ad2089c0ff372bbdabc77ca2c4dbadf8f" integrity sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA== @@ -2275,6 +2276,14 @@ "@types/prop-types" "*" csstype "^3.0.2" +"@types/react@^18.3.11": + version "18.3.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60" + integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + "@types/shimmer@^1.0.2": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.2.0.tgz#9b706af96fa06416828842397a70dfbbf1c14ded" @@ -3880,7 +3889,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@3, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -3993,15 +4002,15 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" -intl-messageformat@10.5.14: - version "10.5.14" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.14.tgz#e5bb373f8a37b88fbe647d7b941f3ab2a37ed00a" - integrity sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w== +intl-messageformat@10.7.1: + version "10.7.1" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.1.tgz#dcfc52c4523a082993fa1655a9b03fc1e2fbeef9" + integrity sha512-xQuJW2WcyzNJZWUu5xTVPOmNSA1Sowuu/NKFdUid5Fxx/Yl6/s4DefTU/y7zy+irZLDmFGmTLtnM8FqpN05wlA== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.8" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/fast-memoize" "2.2.1" + "@formatjs/icu-messageformat-parser" "2.8.0" + tslib "^2.7.0" is-arguments@^1.0.4: version "1.1.1" @@ -5158,21 +5167,21 @@ react-icons@^5.3.0: resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.3.0.tgz#ccad07a30aebd40a89f8cfa7d82e466019203f1c" integrity sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg== -react-intl@^6.6.8: - version "6.6.8" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.6.8.tgz#cb60c90502d0025caf9f86ec298cdc4348da17c2" - integrity sha512-M0pkhzcgV31h++2901BiRXWl69hp2zPyLxRrSwRjd1ErXbNoubz/f4M6DrRTd4OiSUrT4ajRQzrmtS5plG4FtA== - dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/icu-messageformat-parser" "2.7.8" - "@formatjs/intl" "2.10.4" - "@formatjs/intl-displaynames" "6.6.8" - "@formatjs/intl-listformat" "7.5.7" - "@types/hoist-non-react-statics" "^3.3.1" - "@types/react" "16 || 17 || 18" - hoist-non-react-statics "^3.3.2" - intl-messageformat "10.5.14" - tslib "^2.4.0" +react-intl@^6.8.2: + version "6.8.2" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.8.2.tgz#29c3043bad4956bb919c80162b9c5d6b051cb6e1" + integrity sha512-jrtc1ZwwqBYmBQ9xxbQSKJBxg7G8pEv5rLmX22JUAMXhvdVBtA3fMg6xlJ193SZuZYO8D3mEBQlH3rl2HdaX8A== + dependencies: + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/icu-messageformat-parser" "2.8.0" + "@formatjs/intl" "2.10.9" + "@formatjs/intl-displaynames" "6.7.0" + "@formatjs/intl-listformat" "7.6.0" + "@types/hoist-non-react-statics" "3" + "@types/react" "^18.3.11" + hoist-non-react-statics "3" + intl-messageformat "10.7.1" + tslib "^2.7.0" react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -5897,6 +5906,11 @@ tslib@^2.0.3, tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== +tslib@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"