diff --git a/packages/pl-fe/package.json b/packages/pl-fe/package.json
index f7466f233..4fa34d20e 100644
--- a/packages/pl-fe/package.json
+++ b/packages/pl-fe/package.json
@@ -121,7 +121,7 @@
"react-helmet-async": "^2.0.5",
"react-hot-toast": "^2.5.2",
"react-inlinesvg": "^4.1.8",
- "react-intl": "^7.0.4",
+ "react-intl": "^8.0.10",
"react-redux": "^9.0.4",
"react-sparklines": "^1.7.0",
"react-sticky-box": "^2.0.5",
@@ -142,7 +142,7 @@
"zustand-mutative": "^1.2.0"
},
"devDependencies": {
- "@formatjs/cli": "^6.3.14",
+ "@formatjs/cli": "^6.9.0",
"@jedmao/redux-mock-store": "^3.0.5",
"@sentry/types": "^8.47.0",
"@stylistic/eslint-plugin": "^3.1.0",
diff --git a/packages/pl-fe/src/components/dropdown-navigation.tsx b/packages/pl-fe/src/components/dropdown-navigation.tsx
index f980319ee..c269fae74 100644
--- a/packages/pl-fe/src/components/dropdown-navigation.tsx
+++ b/packages/pl-fe/src/components/dropdown-navigation.tsx
@@ -297,7 +297,7 @@ const DropdownNavigation: React.FC = React.memo((): JSX.Element | null => {
}
+ text={}
onClick={closeSidebar}
/>
)}
diff --git a/packages/pl-fe/src/features/account/components/header.tsx b/packages/pl-fe/src/features/account/components/header.tsx
index e48b3a97b..03b39dfa0 100644
--- a/packages/pl-fe/src/features/account/components/header.tsx
+++ b/packages/pl-fe/src/features/account/components/header.tsx
@@ -645,7 +645,7 @@ const Header: React.FC = ({ account }) => {
}
isFlush
>
- } />
+ } />
);
}
diff --git a/packages/pl-fe/src/features/ui/components/panels/account-note-panel.tsx b/packages/pl-fe/src/features/ui/components/panels/account-note-panel.tsx
index 5e00508b7..de982ea18 100644
--- a/packages/pl-fe/src/features/ui/components/panels/account-note-panel.tsx
+++ b/packages/pl-fe/src/features/ui/components/panels/account-note-panel.tsx
@@ -12,7 +12,7 @@ import { useUpdateAccountNoteMutation } from 'pl-fe/queries/accounts/use-relatio
import type { Account as AccountEntity } from 'pl-api';
const messages = defineMessages({
- placeholder: { id: 'account_note.placeholder', defaultMessage: 'Click to add a note' },
+ placeholder: { id: 'account_note.placeholder', defaultMessage: 'Add a note' },
});
interface IAccountNotePanel {
diff --git a/packages/pl-fe/src/locales/en.json b/packages/pl-fe/src/locales/en.json
index b1f3f67f2..e7b888a4e 100644
--- a/packages/pl-fe/src/locales/en.json
+++ b/packages/pl-fe/src/locales/en.json
@@ -33,7 +33,7 @@
"account.follows": "Following",
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
- "account.header.alt": "Header",
+ "account.header.alt": "Profile header",
"account.header.description": "Header description",
"account.hide_reblogs": "Hide reposts from @{name}",
"account.instance_favicon": "Visit {domain} timeline",
@@ -100,7 +100,7 @@
"account_note.fail": "Failed to save note",
"account_note.header": "Note",
"account_note.modal_header": "Edit note for @{name}",
- "account_note.placeholder": "Click to add a note",
+ "account_note.placeholder": "Add a note",
"account_note.save": "Save note",
"account_note.success": "Note saved",
"admin.announcements.action": "Create announcement",
@@ -406,7 +406,7 @@
"column.developers": "Developers",
"column.developers.service_worker": "Service Worker",
"column.direct": "Direct messages",
- "column.directory": "Browse profiles",
+ "column.directory": "Profile directory",
"column.dislikes": "Dislikes",
"column.domain_blocks": "Domain blocks",
"column.draft_statuses": "Drafts",
@@ -420,7 +420,7 @@
"column.favourited_statuses": "Liked posts",
"column.favourites": "Likes",
"column.federation_restrictions": "Federation restrictions",
- "column.filters": "Filters",
+ "column.filters": "Muted words",
"column.filters.accounts": "Accounts",
"column.filters.add_new": "Add new filter",
"column.filters.conversations": "Conversations",
@@ -624,12 +624,12 @@
"confirmations.block_from_group.message": "Are you sure you want to ban @{name} from the group?",
"confirmations.cancel.confirm": "Discard",
"confirmations.cancel.heading": "Discard post",
- "confirmations.cancel.message": "Are you sure you want to cancel creating this post?",
+ "confirmations.cancel.message": "Are you sure you want to discard the currently composed post?",
"confirmations.cancel_draft.heading": "Discard draft changes",
- "confirmations.cancel_draft_editing.message": "Are you sure you want to cancel editing this draft post? All changes will be lost.",
+ "confirmations.cancel_draft_editing.message": "Are you sure you want to discard the changes to this draft post? All changes will be lost.",
"confirmations.cancel_editing.confirm": "Cancel editing",
"confirmations.cancel_editing.heading": "Cancel post editing",
- "confirmations.cancel_editing.message": "Are you sure you want to cancel editing this post? All changes will be lost.",
+ "confirmations.cancel_editing.message": "Are you sure you want to discard the changes to this post? All changes will be lost.",
"confirmations.cancel_editing.save_draft": "Save draft",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.heading": "Delete post",
@@ -1632,6 +1632,8 @@
"security.update_password.fail": "Update password failed.",
"security.update_password.password_confirmation_no_match": "Passwords do not match.",
"security.update_password.success": "Password successfully updated.",
+ "select.no_options": "No options available",
+ "select.placeholder": "Select",
"select_bookmark_folder_modal.header_title": "Select folder",
"settings.configure_mfa": "Configure MFA",
"settings.edit_profile": "Edit profile",
@@ -1852,13 +1854,14 @@
"url_privacy.redirect_links_mode.auto": "From URL",
"url_privacy.redirect_links_mode.manual": "Specify manually",
"url_privacy.redirect_links_mode.off": "Disabled",
+ "url_privacy.redirect_service_url.placeholder": "eg. https://proxy.example.org",
"url_privacy.redirect_services.name": "{name}",
"url_privacy.redirect_services.patterns": "Matches: {pattern}, eg. {services}, leave empty for no redirect",
"url_privacy.redirect_services_update.fail": "Failed to update redirect services URL",
"url_privacy.redirect_services_update.success": "Successfully updated redirect services",
"url_privacy.redirect_services_url.hint": "URLs database in Farside-compatible format, eg. {url}",
"url_privacy.redirect_services_url.label": "Redirect services URLs database address",
- "url_privacy.redirect_services_url.placeholder": "eg. https://proxy.example.org",
+ "url_privacy.redirect_services_url.placeholder": "Rules URL",
"url_privacy.rules_url.hint": "Rules database in ClearURLs-compatible format, eg. {url}",
"url_privacy.rules_url.label": "URL cleaning rules database address",
"url_privacy.rules_url.placeholder": "Rules URL",
diff --git a/packages/pl-fe/src/modals/compose-modal.tsx b/packages/pl-fe/src/modals/compose-modal.tsx
index b4a37e010..94502d059 100644
--- a/packages/pl-fe/src/modals/compose-modal.tsx
+++ b/packages/pl-fe/src/modals/compose-modal.tsx
@@ -47,10 +47,10 @@ const ComposeModal: React.FC = ({ onClose, c
?
: ,
message: editedId
- ?
+ ?
: compose.draftId
- ?
- : ,
+ ?
+ : ,
confirm: intl.formatMessage(editedId ? messages.cancelEditing : messages.confirm),
onConfirm: () => {
onClose('COMPOSE');
diff --git a/packages/pl-fe/src/pages/account-lists/directory.tsx b/packages/pl-fe/src/pages/account-lists/directory.tsx
index f562fea71..62162eba0 100644
--- a/packages/pl-fe/src/pages/account-lists/directory.tsx
+++ b/packages/pl-fe/src/pages/account-lists/directory.tsx
@@ -26,7 +26,7 @@ import { useDirectory } from 'pl-fe/queries/accounts/use-directory';
import { shortNumberFormat } from 'pl-fe/utils/numbers';
const messages = defineMessages({
- title: { id: 'column.directory', defaultMessage: 'Browse profiles' },
+ title: { id: 'column.directory', defaultMessage: 'Profile directory' },
recentlyActive: { id: 'directory.recently_active', defaultMessage: 'Recently active' },
newArrivals: { id: 'directory.new_arrivals', defaultMessage: 'New arrivals' },
local: { id: 'directory.local', defaultMessage: 'From {domain} only' },
diff --git a/packages/pl-fe/src/pages/settings/auth-token-list.tsx b/packages/pl-fe/src/pages/settings/auth-token-list.tsx
index 071c770f6..08e2b9203 100644
--- a/packages/pl-fe/src/pages/settings/auth-token-list.tsx
+++ b/packages/pl-fe/src/pages/settings/auth-token-list.tsx
@@ -18,7 +18,7 @@ import { useModalsActions } from 'pl-fe/stores/modals';
import type { OauthToken } from 'pl-api';
const messages = defineMessages({
- header: { id: 'column.tokens', defaultMessage: 'Sessions' },
+ header: { id: 'column.tokens', defaultMessage: 'Active sessions' },
revoke: { id: 'security.tokens.revoke', defaultMessage: 'Revoke' },
revokeSessionHeading: { id: 'confirmations.revoke_session.heading', defaultMessage: 'Revoke current session' },
revokeSessionMessage: { id: 'confirmations.revoke_session.message', defaultMessage: 'You are about to revoke your current session. You will be signed out.' },
diff --git a/packages/pl-fe/src/pages/settings/domain-blocks.tsx b/packages/pl-fe/src/pages/settings/domain-blocks.tsx
index 2eaddff0d..8e8f2f464 100644
--- a/packages/pl-fe/src/pages/settings/domain-blocks.tsx
+++ b/packages/pl-fe/src/pages/settings/domain-blocks.tsx
@@ -9,7 +9,7 @@ import Spinner from 'pl-fe/components/ui/spinner';
import { domainBlocksQueryOptions } from 'pl-fe/queries/settings/domain-blocks';
const messages = defineMessages({
- heading: { id: 'column.domain_blocks', defaultMessage: 'Hidden domains' },
+ heading: { id: 'column.domain_blocks', defaultMessage: 'Domain blocks' },
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },
});
diff --git a/packages/pl-fe/src/pages/settings/migration.tsx b/packages/pl-fe/src/pages/settings/migration.tsx
index 848052db8..6136a78ca 100644
--- a/packages/pl-fe/src/pages/settings/migration.tsx
+++ b/packages/pl-fe/src/pages/settings/migration.tsx
@@ -15,7 +15,7 @@ import { useInstance } from 'pl-fe/hooks/use-instance';
import toast from 'pl-fe/toast';
const messages = defineMessages({
- heading: { id: 'column.migration', defaultMessage: 'Account migration' },
+ heading: { id: 'column.migration', defaultMessage: 'Move account' },
submit: { id: 'migration.submit', defaultMessage: 'Move followers' },
moveAccountSuccess: { id: 'migration.move_account.success', defaultMessage: 'Account successfully moved.' },
moveAccountFail: { id: 'migration.move_account.fail', defaultMessage: 'Account migration failed.' },
diff --git a/packages/pl-fe/src/pages/settings/privacy.tsx b/packages/pl-fe/src/pages/settings/privacy.tsx
index d09f7a76a..535ded6d1 100644
--- a/packages/pl-fe/src/pages/settings/privacy.tsx
+++ b/packages/pl-fe/src/pages/settings/privacy.tsx
@@ -29,7 +29,7 @@ const messages = defineMessages({
redirectLinksModeAuto: { id: 'url_privacy.redirect_links_mode.auto', defaultMessage: 'From URL' },
redirectLinksModeManual: { id: 'url_privacy.redirect_links_mode.manual', defaultMessage: 'Specify manually' },
redirectServicesUrlPlaceholder: { id: 'url_privacy.redirect_services_url.placeholder', defaultMessage: 'Rules URL' },
- redirectServicePlaceholder: { id: 'url_privacy.redirect_services_url.placeholder', defaultMessage: 'eg. https://proxy.example.org' },
+ redirectServicePlaceholder: { id: 'url_privacy.redirect_service_url.placeholder', defaultMessage: 'eg. https://proxy.example.org' },
});
const Privacy = () => {
diff --git a/packages/pl-fe/src/pages/settings/settings.tsx b/packages/pl-fe/src/pages/settings/settings.tsx
index ff29d9ddf..1b145c1fd 100644
--- a/packages/pl-fe/src/pages/settings/settings.tsx
+++ b/packages/pl-fe/src/pages/settings/settings.tsx
@@ -24,7 +24,7 @@ const messages = defineMessages({
domainBlocks: { id: 'column.domain_blocks', defaultMessage: 'Domain blocks' },
editProfile: { id: 'settings.edit_profile', defaultMessage: 'Edit profile' },
exportData: { id: 'column.export_data', defaultMessage: 'Export data' },
- filters: { id: 'column.filters', defaultMessage: 'Filters' },
+ filters: { id: 'column.filters', defaultMessage: 'Muted words' },
importData: { id: 'column.import_data', defaultMessage: 'Import data' },
interactionPolicies: { id: 'column.interaction_policies', defaultMessage: 'Interaction policies' },
mfaDisabled: { id: 'mfa.disabled', defaultMessage: 'Disabled' },
diff --git a/packages/pl-fe/src/pages/timelines/home-timeline.tsx b/packages/pl-fe/src/pages/timelines/home-timeline.tsx
index 67683fb51..2b5654bce 100644
--- a/packages/pl-fe/src/pages/timelines/home-timeline.tsx
+++ b/packages/pl-fe/src/pages/timelines/home-timeline.tsx
@@ -88,7 +88,7 @@ const HomeTimelinePage: React.FC = () => {
values={{
public: (
-
+
),
}}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c031cccb4..2b26e469b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -365,8 +365,8 @@ importers:
specifier: ^4.1.8
version: 4.2.0(react@19.2.3)
react-intl:
- specifier: ^7.0.4
- version: 7.1.11(react@19.2.3)(typescript@5.7.3)
+ specifier: ^8.0.10
+ version: 8.0.10(@types/react@18.3.23)(react@19.2.3)(typescript@5.7.3)
react-redux:
specifier: ^9.0.4
version: 9.2.0(@types/react@18.3.23)(react@19.2.3)(redux@5.0.1)
@@ -423,8 +423,8 @@ importers:
version: 1.3.0(@types/react@18.3.23)(mutative@1.2.0)(react@19.2.3)(zustand@5.0.7(@types/react@18.3.23)(immer@10.1.1)(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)))
devDependencies:
'@formatjs/cli':
- specifier: ^6.3.14
- version: 6.7.2(@vue/compiler-core@3.5.18)
+ specifier: ^6.9.0
+ version: 6.9.0(@vue/compiler-core@3.5.18)
'@jedmao/redux-mock-store':
specifier: ^3.0.5
version: 3.0.5(redux@5.0.1)
@@ -459,13 +459,13 @@ importers:
specifier: ^1.0.3
version: 1.0.3
'@types/react':
- specifier: ^18.3.23
+ specifier: ^18.3.18
version: 18.3.23
'@types/react-color':
specifier: ^3.0.13
version: 3.0.13(@types/react@18.3.23)
'@types/react-dom':
- specifier: ^18.3.7
+ specifier: ^18.3.5
version: 18.3.7(@types/react@18.3.23)
'@types/react-router-dom':
specifier: ^5.3.3
@@ -1660,17 +1660,17 @@ packages:
'@fontsource/tajawal@5.2.6':
resolution: {integrity: sha512-Wxml4z3f7wr7xNVMXwGIc2aJpyUOwJxkxX9lTJHh3eDPZVaLa/MkOz+HMUt3VWMah/xq0Xmn5pVhSbdYTb9R2A==}
- '@formatjs/cli@6.7.2':
- resolution: {integrity: sha512-714/ifbtq7CmOtcLVGjYZp5EX0vKclQt3XZ+4Oiz0lhrHWU1ObFTtX9sLS9dADGta1pgDtS4+A3YpjWMY26Spg==}
+ '@formatjs/cli@6.9.0':
+ resolution: {integrity: sha512-gYzzsYvff8RoIZZczepjd0z+lmrVMjBKaVaHg39GCOJfDvBNnS96kHGwHqRn2NfbOEv5eqYZQL5liYSXHgKqtQ==}
engines: {node: '>= 16'}
hasBin: true
peerDependencies:
'@glimmer/env': '*'
'@glimmer/reference': '*'
- '@glimmer/syntax': ^0.94.9
+ '@glimmer/syntax': ^0.95.0
'@glimmer/validator': '*'
'@vue/compiler-core': ^3.5.12
- content-tag: ^3.0.0
+ content-tag: '4'
ember-template-recast: ^6.1.5
vue: ^3.5.12
peerDependenciesMeta:
@@ -1694,20 +1694,35 @@ packages:
'@formatjs/ecma402-abstract@2.3.4':
resolution: {integrity: sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==}
+ '@formatjs/ecma402-abstract@3.0.7':
+ resolution: {integrity: sha512-U55Yulf37vBXN0C7gHm7hrxULVrcrhpQBcdLmIN2rpYpLfC5eIpa1JRX9efjU74gfzjK/MSmSG3Lxv3E4ZNZIw==}
+
'@formatjs/fast-memoize@2.2.7':
resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==}
+ '@formatjs/fast-memoize@3.0.2':
+ resolution: {integrity: sha512-YFApUDWFmjpPwAE7VcY7PYVjm6JaLZOAo0UfCQj1/OGi/1QtduG9kIBHmVC551M6AI01qvuP5kjbDebrZOT4Vg==}
+
'@formatjs/icu-messageformat-parser@2.11.2':
resolution: {integrity: sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==}
+ '@formatjs/icu-messageformat-parser@3.2.1':
+ resolution: {integrity: sha512-DEECn8HEHtI4dvfKtTfvDOZ9nCTAJ2ESXGPRGKe4dkn/RE9w/G0NjgP/kFAQJbwIKWHo+BRxpee1bQKJ4lF6pg==}
+
'@formatjs/icu-skeleton-parser@1.8.14':
resolution: {integrity: sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==}
+ '@formatjs/icu-skeleton-parser@2.0.7':
+ resolution: {integrity: sha512-/LEeQ2gOU7ujm7LJk07OYYOpsOtIH/6ma78vTHvZNGZ6m0wn3gxQqU39HEpXZfez6aIhGh7Psde2H2ILj5wb0Q==}
+
'@formatjs/intl-localematcher@0.6.1':
resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
- '@formatjs/intl@3.1.6':
- resolution: {integrity: sha512-tDkXnA4qpIFcDWac8CyVJq6oW8DR7W44QDUBsfXWIIJD/FYYen0QoH46W7XsVMFfPOVKkvbufjboZrrWbEfmww==}
+ '@formatjs/intl-localematcher@0.7.4':
+ resolution: {integrity: sha512-AWsSZupIBMU/y04Nj24CjohyNVyfItMJPxSzX5OJwedDEIbGLOHkPxCjAeLeiLF2dw4xmQA8psktdi9MaebBQw==}
+
+ '@formatjs/intl@4.0.8':
+ resolution: {integrity: sha512-+tf/K6NPHe0X5e2xTl7zsIeBMv2/G1czennknmPbNDxBbeCrWKBSIQHv1Pd92Jnwv59BnXL1ajn18bParbGdpg==}
peerDependencies:
typescript: ^5.6.0
peerDependenciesMeta:
@@ -4375,6 +4390,9 @@ packages:
intl-messageformat@10.7.16:
resolution: {integrity: sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==}
+ intl-messageformat@11.0.8:
+ resolution: {integrity: sha512-q2Md8nj28CSkXxkBaAOWhTjQAdea24fpcZxqR1pMsCwzDYLQF68iOOPNTLgFFF+HKJKNUiJ+Mkjp0zXvG88UFA==}
+
intl-pluralrules@2.0.1:
resolution: {integrity: sha512-astxTLzIdXPeN0K9Rumi6LfMpm3rvNO0iJE+h/k8Kr/is+wPbRe4ikyDjlLr6VTh/mEfNv8RjN+gu3KwDiuhqg==}
@@ -5543,9 +5561,10 @@ packages:
peerDependencies:
react: 16.8 - 19
- react-intl@7.1.11:
- resolution: {integrity: sha512-tnVoRCWvW5Ie2ikYSdPF7z3+880yCe/9xPmitFeRPw3RYDcCfR4m8ZYa4MBq19W4adt9Z+PQA4FaMBCJ7E+HCQ==}
+ react-intl@8.0.10:
+ resolution: {integrity: sha512-+8L+/kClosP/z9B1lgVKyX6f4vs1aEQXFIO4l2/xSjapzXnJI/TJ50qVTZrn1idJTtO9MqlmZn64b1JlYtMHFg==}
peerDependencies:
+ '@types/react': ^18.3.18
react: 16 || 17 || 18 || 19
typescript: ^5.6.0
peerDependenciesMeta:
@@ -8043,7 +8062,7 @@ snapshots:
'@fontsource/tajawal@5.2.6': {}
- '@formatjs/cli@6.7.2(@vue/compiler-core@3.5.18)':
+ '@formatjs/cli@6.9.0(@vue/compiler-core@3.5.18)':
optionalDependencies:
'@vue/compiler-core': 3.5.18
@@ -8054,31 +8073,58 @@ snapshots:
decimal.js: 10.6.0
tslib: 2.8.1
+ '@formatjs/ecma402-abstract@3.0.7':
+ dependencies:
+ '@formatjs/fast-memoize': 3.0.2
+ '@formatjs/intl-localematcher': 0.7.4
+ decimal.js: 10.6.0
+ tslib: 2.8.1
+
'@formatjs/fast-memoize@2.2.7':
dependencies:
tslib: 2.8.1
+ '@formatjs/fast-memoize@3.0.2':
+ dependencies:
+ tslib: 2.8.1
+
'@formatjs/icu-messageformat-parser@2.11.2':
dependencies:
'@formatjs/ecma402-abstract': 2.3.4
'@formatjs/icu-skeleton-parser': 1.8.14
tslib: 2.8.1
+ '@formatjs/icu-messageformat-parser@3.2.1':
+ dependencies:
+ '@formatjs/ecma402-abstract': 3.0.7
+ '@formatjs/icu-skeleton-parser': 2.0.7
+ tslib: 2.8.1
+
'@formatjs/icu-skeleton-parser@1.8.14':
dependencies:
'@formatjs/ecma402-abstract': 2.3.4
tslib: 2.8.1
+ '@formatjs/icu-skeleton-parser@2.0.7':
+ dependencies:
+ '@formatjs/ecma402-abstract': 3.0.7
+ tslib: 2.8.1
+
'@formatjs/intl-localematcher@0.6.1':
dependencies:
tslib: 2.8.1
- '@formatjs/intl@3.1.6(typescript@5.7.3)':
+ '@formatjs/intl-localematcher@0.7.4':
dependencies:
- '@formatjs/ecma402-abstract': 2.3.4
- '@formatjs/fast-memoize': 2.2.7
- '@formatjs/icu-messageformat-parser': 2.11.2
- intl-messageformat: 10.7.16
+ '@formatjs/fast-memoize': 3.0.2
+ tslib: 2.8.1
+
+ '@formatjs/intl@4.0.8(typescript@5.7.3)':
+ dependencies:
+ '@formatjs/ecma402-abstract': 3.0.7
+ '@formatjs/fast-memoize': 3.0.2
+ '@formatjs/icu-messageformat-parser': 3.2.1
+ intl-messageformat: 11.0.8
tslib: 2.8.1
optionalDependencies:
typescript: 5.7.3
@@ -11394,6 +11440,13 @@ snapshots:
'@formatjs/icu-messageformat-parser': 2.11.2
tslib: 2.8.1
+ intl-messageformat@11.0.8:
+ dependencies:
+ '@formatjs/ecma402-abstract': 3.0.7
+ '@formatjs/fast-memoize': 3.0.2
+ '@formatjs/icu-messageformat-parser': 3.2.1
+ tslib: 2.8.1
+
intl-pluralrules@2.0.1: {}
invariant@2.2.4:
@@ -12527,15 +12580,15 @@ snapshots:
react: 19.2.3
react-from-dom: 0.7.5(react@19.2.3)
- react-intl@7.1.11(react@19.2.3)(typescript@5.7.3):
+ react-intl@8.0.10(@types/react@18.3.23)(react@19.2.3)(typescript@5.7.3):
dependencies:
- '@formatjs/ecma402-abstract': 2.3.4
- '@formatjs/icu-messageformat-parser': 2.11.2
- '@formatjs/intl': 3.1.6(typescript@5.7.3)
+ '@formatjs/ecma402-abstract': 3.0.7
+ '@formatjs/icu-messageformat-parser': 3.2.1
+ '@formatjs/intl': 4.0.8(typescript@5.7.3)
'@types/hoist-non-react-statics': 3.3.7(@types/react@18.3.23)
'@types/react': 18.3.23
hoist-non-react-statics: 3.3.2
- intl-messageformat: 10.7.16
+ intl-messageformat: 11.0.8
react: 19.2.3
tslib: 2.8.1
optionalDependencies: