Skip to content

Instantly share code, notes, and snippets.

@EduardoAC
Created February 11, 2024 08:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EduardoAC/3e959b65d287528487bf33c20d698433 to your computer and use it in GitHub Desktop.
Save EduardoAC/3e959b65d287528487bf33c20d698433 to your computer and use it in GitHub Desktop.
Language message handler within the content script for a browser extension built using React + event-driven model.
function initMessageHandler() {
// ...
useEffect(() => {
// Listening for updates by the service worker
chrome.runtime.onMessage.addListener(handleMessageListener);
return () => {
chrome.runtime.onMessage.removeListener(handleMessageListener);
};
}, []);
}
const handleMessageListener = (message: Message) => {
// ...
if (message.type === "languageUpdated") {
const { language, translations } = message.data;
// namespace (ns) group set of translations (separated files)
i18n
.addResources(language, "${ns}", translations["${ns}"])
.changeLanguage(language);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment