From d731a8ab75fc9b7dcb7072427063536b1d530bb7 Mon Sep 17 00:00:00 2001
From: Marcus Notheis <marcus.notheis@sap.com>
Date: Wed, 12 Mar 2025 15:21:25 +0100
Subject: [PATCH] fix(I18nContext): scope context per react major version

Fixes #6930
---
 packages/base/src/context/I18nContext.ts | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/packages/base/src/context/I18nContext.ts b/packages/base/src/context/I18nContext.ts
index 898bfb9eef6..23f74434752 100644
--- a/packages/base/src/context/I18nContext.ts
+++ b/packages/base/src/context/I18nContext.ts
@@ -1,7 +1,7 @@
 'use client';
 
 import type I18nBundle from '@ui5/webcomponents-base/dist/i18nBundle.js';
-import { createContext, useContext } from 'react';
+import { createContext, useContext, version } from 'react';
 
 export const I18nContext = createContext<{
   i18nBundles: Record<string, I18nBundle>;
@@ -11,7 +11,12 @@ export const I18nContext = createContext<{
 export const getI18nContext = (): typeof I18nContext => {
   globalThis['@ui5/webcomponents-react'] ??= {};
   globalThis['@ui5/webcomponents-react'].I18nContext ??= I18nContext;
-  return globalThis['@ui5/webcomponents-react'].I18nContext;
+
+  const reactMajorVersion = version.substring(0, version.indexOf('.'));
+  globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`] ??= {};
+  globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`].I18nContext ??= I18nContext;
+
+  return globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`].I18nContext;
 };
 
 export const useI18nContext = () => useContext(getI18nContext());