From 589f07147cb086632ed178d630dd32caf97fa694 Mon Sep 17 00:00:00 2001 From: Omar Al-Ithawi Date: Thu, 30 Mar 2023 19:23:51 +0300 Subject: [PATCH] feat: add experimental atlas to pull_translations This is an experimental off-by-defualt feature for moving the translation files ouside the repos. Run `OPENEDX_ATLAS_PULL=true make translations` to use atlas to pull translations instead of transifex. --- Makefile | 15 +++++++++++++++ package.json | 2 +- src/i18n/{index.jsx => index.js} | 11 +++++++++-- src/index.jsx | 10 ++-------- 4 files changed, 27 insertions(+), 11 deletions(-) rename src/i18n/{index.jsx => index.js} (76%) diff --git a/Makefile b/Makefile index 194b44c5d1..93196d3b5f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ export TRANSIFEX_RESOURCE=frontend-app-learning transifex_langs = "ar,fr,es_419,zh_CN,pt,it,de,uk,ru,hi,fr_CA" +intl_imports = ./node_modules/.bin/intl-imports.js transifex_utils = ./node_modules/.bin/transifex-utils.js i18n = ./src/i18n transifex_input = $(i18n)/transifex_input.json @@ -42,9 +43,23 @@ push_translations: # Pushing comments to Transifex... ./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh +ifeq ($(OPENEDX_ATLAS_PULL),) # Pulls translations from Transifex. pull_translations: tx pull -f --mode reviewed --languages=$(transifex_langs) +else +# Experimental: OEP-58 Pulls translations using atlas +pull_translations: + rm -rf src/i18n/messages + mkdir src/i18n/messages + cd src/i18n/messages \ + && atlas pull --filter=$(transifex_langs) \ + translations/frontend-app-learning/src/i18n/messages:frontend-app-learning \ + translations/frontend-component-footer/src/i18n/messages:frontend-component-footer \ + translations/frontend-component-header/src/i18n/messages:frontend-component-header + + $(intl_imports) frontend-component-header frontend-component-footer frontend-app-learning +endif # This target is used by Travis. validate-no-uncommitted-package-lock-changes: diff --git a/package.json b/package.json index d5d340e5fe..a61615b4cb 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@edx/frontend-component-footer": "11.6.3", "@edx/frontend-component-header": "3.6.4", "@edx/frontend-lib-special-exams": "2.10.0", - "@edx/frontend-platform": "3.4.1", + "@edx/frontend-platform": "4.1.0", "@edx/paragon": "20.28.4", "@fortawesome/fontawesome-svg-core": "1.3.0", "@fortawesome/free-brands-svg-icons": "5.15.4", diff --git a/src/i18n/index.jsx b/src/i18n/index.js similarity index 76% rename from src/i18n/index.jsx rename to src/i18n/index.js index 0336b3a284..9f9ffc3e37 100644 --- a/src/i18n/index.jsx +++ b/src/i18n/index.js @@ -1,3 +1,6 @@ +import { messages as footerMessages } from '@edx/frontend-component-footer'; +import { messages as headerMessages } from '@edx/frontend-component-header'; + import arMessages from './messages/ar.json'; import frMessages from './messages/fr.json'; import es419Messages from './messages/es_419.json'; @@ -11,7 +14,7 @@ import hiMessages from './messages/hi.json'; import frCAMessages from './messages/fr_CA.json'; // no need to import en messages-- they are in the defaultMessage field -const messages = { +const appMessages = { ar: arMessages, 'es-419': es419Messages, fr: frMessages, @@ -25,4 +28,8 @@ const messages = { uk: ukMessages, }; -export default messages; +export default [ + appMessages, + footerMessages, + headerMessages, +]; diff --git a/src/index.jsx b/src/index.jsx index 7fec13b112..a509e1f6a8 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -11,13 +11,11 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Switch } from 'react-router-dom'; -import { messages as footerMessages } from '@edx/frontend-component-footer'; -import { messages as headerMessages } from '@edx/frontend-component-header'; import { Helmet } from 'react-helmet'; import { fetchDiscussionTab, fetchLiveTab } from './course-home/data/thunks'; import DiscussionTab from './course-home/discussion-tab/DiscussionTab'; -import appMessages from './i18n'; +import messages from './i18n'; import { UserMessagesProvider } from './generic/user-messages'; import './index.scss'; @@ -142,9 +140,5 @@ initialize({ }, 'LearnerAppConfig'); }, }, - messages: [ - appMessages, - footerMessages, - headerMessages, - ], + messages, });