diff --git a/apps/meteor/app/ui-message/client/actionButtons/messageAction.ts b/apps/meteor/app/ui-message/client/actionButtons/messageAction.ts
index e0a0d94a3f4dfe07e2bba6096f3d53b898999bd6..29a45ded6a1d404fe3285ec497de10ab8a29b0fd 100644
--- a/apps/meteor/app/ui-message/client/actionButtons/messageAction.ts
+++ b/apps/meteor/app/ui-message/client/actionButtons/messageAction.ts
@@ -3,7 +3,6 @@ import type { IUIActionButton } from '@rocket.chat/apps-engine/definition/ui';
 import { Utilities } from '../../../../ee/lib/misc/Utilities';
 import { MessageAction } from '../../../ui-utils/client';
 import { messageArgs } from '../../../../client/lib/utils/messageArgs';
-import { t } from '../../../utils/lib/i18n';
 import { triggerActionButtonAction } from '../ActionManager';
 import { applyButtonFilters } from './lib/applyButtonFilters';
 
@@ -14,7 +13,7 @@ export const onAdded = (button: IUIActionButton): void =>
 	MessageAction.addButton({
 		id: getIdForActionButton(button),
 		icon: '' as any,
-		label: t(Utilities.getI18nKeyForApp(button.labelI18n, button.appId)) as any,
+		label: Utilities.getI18nKeyForApp(button.labelI18n, button.appId),
 		context: button.when?.messageActionContext || ['message', 'message-mobile', 'threads', 'starred'],
 		condition({ room }) {
 			return applyButtonFilters(button, room);
diff --git a/apps/meteor/app/ui-message/client/actionButtons/messageBox.ts b/apps/meteor/app/ui-message/client/actionButtons/messageBox.ts
index 828c6bcaf577278da73f2c71286b9e09416679dc..d07ecbc23ad8cba15a7aa9e849634b25b1b18137 100644
--- a/apps/meteor/app/ui-message/client/actionButtons/messageBox.ts
+++ b/apps/meteor/app/ui-message/client/actionButtons/messageBox.ts
@@ -1,11 +1,9 @@
 import type { IUIActionButton } from '@rocket.chat/apps-engine/definition/ui';
-import type { TranslationKey } from '@rocket.chat/ui-contexts';
 
 import { ChatRoom } from '../../../models/client';
 import { messageBox } from '../../../ui-utils/client';
 import { applyButtonFilters } from './lib/applyButtonFilters';
 import { triggerActionButtonAction } from '../ActionManager';
-import { t } from '../../../utils/lib/i18n';
 import { Utilities } from '../../../../ee/lib/misc/Utilities';
 import { RoomManager } from '../../../../client/lib/RoomManager';
 import { asReactiveSource } from '../../../../client/lib/tracker';
@@ -14,7 +12,7 @@ const getIdForActionButton = ({ appId, actionId }: IUIActionButton): string => `
 
 export const onAdded = (button: IUIActionButton): void =>
 	// eslint-disable-next-line no-void
-	void messageBox.actions.add('Apps', t(Utilities.getI18nKeyForApp(button.labelI18n, button.appId)) as TranslationKey, {
+	void messageBox.actions.add('Apps', Utilities.getI18nKeyForApp(button.labelI18n, button.appId), {
 		id: getIdForActionButton(button),
 		// icon: button.icon || '',
 		condition() {
diff --git a/apps/meteor/app/ui-message/client/actionButtons/tabbar.ts b/apps/meteor/app/ui-message/client/actionButtons/tabbar.ts
index 1ff5a3809aebe6213966e9b4bec93556527875b1..26352cd9b59a47cb170df6a628d700e739bb3ed1 100644
--- a/apps/meteor/app/ui-message/client/actionButtons/tabbar.ts
+++ b/apps/meteor/app/ui-message/client/actionButtons/tabbar.ts
@@ -2,7 +2,6 @@ import type { IUIActionButton } from '@rocket.chat/apps-engine/definition/ui';
 
 import { addAction, deleteAction } from '../../../../client/views/room/lib/Toolbox';
 import { Utilities } from '../../../../ee/lib/misc/Utilities';
-import { t } from '../../../utils/lib/i18n';
 import { triggerActionButtonAction } from '../ActionManager';
 import { applyButtonFilters } from './lib/applyButtonFilters';
 
@@ -16,7 +15,7 @@ export const onAdded = (button: IUIActionButton): void =>
 					id: button.actionId,
 					icon: undefined, // Apps won't provide icons for now
 					order: 300, // Make sure the button only shows up inside the room toolbox
-					title: t(Utilities.getI18nKeyForApp(button.labelI18n, button.appId)) as any,
+					title: Utilities.getI18nKeyForApp(button.labelI18n, button.appId),
 					// Filters were applied in the applyButtonFilters function
 					// if the code made it this far, the button should be shown
 					groups: ['group', 'channel', 'live', 'team', 'direct', 'direct_multiple'],
diff --git a/apps/meteor/client/providers/TranslationProvider.tsx b/apps/meteor/client/providers/TranslationProvider.tsx
index 36b7c8d998456a6be5a7062f7d60328486a9b706..122579c8e7bbdcfafc328bfd77a1a72ce35bb318 100644
--- a/apps/meteor/client/providers/TranslationProvider.tsx
+++ b/apps/meteor/client/providers/TranslationProvider.tsx
@@ -11,7 +11,9 @@ import type { ReactElement, ReactNode } from 'react';
 import React, { useEffect, useMemo } from 'react';
 import { I18nextProvider, initReactI18next, useTranslation } from 'react-i18next';
 
+import { CachedCollectionManager } from '../../app/ui-cached-collection/client';
 import { i18n, addSprinfToI18n } from '../../app/utils/lib/i18n';
+import { AppClientOrchestratorInstance } from '../../ee/client/apps/orchestrator';
 import { applyCustomTranslations } from '../lib/utils/applyCustomTranslations';
 import { filterLanguage } from '../lib/utils/filterLanguage';
 import { isRTLScriptLanguage } from '../lib/utils/isRTLScriptLanguage';
@@ -218,6 +220,15 @@ const TranslationProvider = ({ children }: TranslationProviderProps): ReactEleme
 			});
 	}, [language, loadLocale, availableLanguages]);
 
+	useEffect(() => {
+		const cb = () => {
+			AppClientOrchestratorInstance.getAppClientManager().initialize();
+			AppClientOrchestratorInstance.load();
+		};
+		CachedCollectionManager.onLogin(cb);
+		return () => CachedCollectionManager.off('login', cb);
+	}, []);
+
 	return (
 		<I18nextProvider i18n={i18nextInstance}>
 			<TranslationProviderInner children={children} availableLanguages={availableLanguages} />
diff --git a/apps/meteor/ee/client/apps/orchestrator.ts b/apps/meteor/ee/client/apps/orchestrator.ts
index 80a8e2cbf6ef4c49f1fca546945599707e3aeda6..41efc3e6ed096c21bb43589cf032b40a0381ea42 100644
--- a/apps/meteor/ee/client/apps/orchestrator.ts
+++ b/apps/meteor/ee/client/apps/orchestrator.ts
@@ -5,10 +5,8 @@ import type { IPermission } from '@rocket.chat/apps-engine/definition/permission
 import type { ISetting } from '@rocket.chat/apps-engine/definition/settings';
 import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage/IAppStorageItem';
 import type { AppScreenshot, AppRequestFilter, Serialized, AppRequestsStats, PaginatedAppRequests } from '@rocket.chat/core-typings';
-import { Meteor } from 'meteor/meteor';
 
 import { hasAtLeastOnePermission } from '../../../app/authorization/client';
-import { CachedCollectionManager } from '../../../app/ui-cached-collection/client';
 import { sdk } from '../../../app/utils/client/lib/SDKClient';
 import { dispatchToastMessage } from '../../../client/lib/toast';
 import type { App } from '../../../client/views/marketplace/types';
@@ -263,10 +261,3 @@ class AppClientOrchestrator {
 }
 
 export const AppClientOrchestratorInstance = new AppClientOrchestrator();
-
-Meteor.startup(() => {
-	CachedCollectionManager.onLogin(() => {
-		AppClientOrchestratorInstance.getAppClientManager().initialize();
-		AppClientOrchestratorInstance.load();
-	});
-});