Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. // /imports/modules/emails/i18next.js
  2.  
  3. import i18next from 'i18next';
  4.  
  5. export const getI18next = (language, translations, prefix) => {
  6. i18next.init({
  7. lng: language,
  8. interpolation: {
  9. prefix: '%{',
  10. suffix: '}',
  11. },
  12. resources: {
  13. en: {
  14. translation: translations.en,
  15. },
  16. de: {
  17. translation: translations.de,
  18. },
  19. fr: {
  20. translation: translations.fr,
  21. },
  22. },
  23. });
  24.  
  25. const t = (key, ...args) => i18next.t(`${prefix}.${key}`, ...args);
  26. return t;
  27. };
  28.  
  29.  
  30. // /imports/modules/myModule/MyComponent/MyComponent.js
  31. import { getI18next } from '/imports/modules/emails/i18next';
  32.  
  33. import en from './i18n/en.json';
  34. import de from './i18n/de.json';
  35. import fr from './i18n/fr.json';
  36.  
  37. export const MyComponent = ({ data }) => {
  38. const t = getI18next(data.language, { en, fr, de }, 'myModule.MyComponent');
  39. return (
  40. <div>{t('myText'}</div>
  41. );
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement