Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: remove Transifex calls for OEP-58 | FC-0012 #383

Merged
merged 1 commit into from
Mar 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ coverage
dist/
src/i18n/transifex_input.json
src/data/i18n/default/src/
src/i18n/messages/
temp/babel-plugin-react-intl

## Emacs ###
Expand Down
8 changes: 0 additions & 8 deletions .tx/config

This file was deleted.

29 changes: 5 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
UNAME := $(shell uname)

transifex_langs = "ar,fr,es_419,zh_CN"
i18n = ./src/i18n
transifex_input = $(i18n)/transifex_input.json
transifex_utils = ./node_modules/.bin/edx_reactifex

# This directory must match .babelrc .
transifex_temp = ./temp/babel-plugin-react-intl

export TRANSIFEX_RESOURCE = studio-frontend

# Help message borrowed from https://github.com/openedx/devstack, which borrowed it from https://github.com/pydanny/cookiecutter-djangopackage.
help: ## display a help message
@echo $(MAKEFILE_LIST)
Expand Down Expand Up @@ -81,29 +78,13 @@ i18n.concat:
i18n.pre_validate: | i18n.extract i18n.concat
git diff --exit-code $(transifex_input)

# Pushes translations to Transifex. You must run make extract_translations first.
push_translations:

# # Pushing strings to Transifex...
tx push -s

./node_modules/@edx/reactifex/bash_scripts/get_hashed_strings_v3.sh
$$(npm bin)/edx_reactifex $(transifex_temp) --comments --v3-scripts-path
./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh

generate_supported_langs: ## generate the currentlySupportedLangs.jsx file
node src/utils/i18n/scripts/generateSupportedLangs.js src/i18n/messages

ifeq ($(OPENEDX_ATLAS_PULL),)
# Pulls translations from Transifex.
pull_translations:
tx pull -t -f --mode reviewed --languages=$(transifex_langs)
else
# Experimental: OEP-58 Pulls translations using atlas
pull_translations:
pull_translations: ## pull translations via atlas for development preview
rm -rf src/i18n/messages
cd src/i18n/ \
&& atlas pull $(ATLAS_OPTIONS) translations/studio-frontend/src/i18n/messages:messages
node src/utils/i18n/scripts/generateSupportedLangs.js src/i18n/messages
endif
atlas pull $(ATLAS_OPTIONS) translations/studio-frontend/src/i18n/messages:src/i18n/messages
make generate_supported_langs

copy-dist:
for f in dist/*; do docker cp $$f edx.devstack.studio:/edx/app/edxapp/edx-platform/node_modules/@edx/studio-frontend/dist/; done
1 change: 0 additions & 1 deletion src/data/i18n/default/transifex_input.json

This file was deleted.

1 change: 0 additions & 1 deletion src/data/i18n/locales

This file was deleted.

176 changes: 0 additions & 176 deletions src/i18n/messages/ar.json

This file was deleted.

55 changes: 36 additions & 19 deletions src/i18n/messages/currentlySupportedLangs.jsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,45 @@
// This file is generated by the "generateSupportedLangs.js" script.
import arData from 'react-intl/locale-data/ar';
import enData from 'react-intl/locale-data/en';
import daData from 'react-intl/locale-data/da';
import deData from 'react-intl/locale-data/de';
import elData from 'react-intl/locale-data/el';
import esData from 'react-intl/locale-data/es';
import faData from 'react-intl/locale-data/fa';
import frData from 'react-intl/locale-data/fr';
import heData from 'react-intl/locale-data/he';
import hiData from 'react-intl/locale-data/hi';
import idData from 'react-intl/locale-data/id';
import itData from 'react-intl/locale-data/it';
import ptData from 'react-intl/locale-data/pt';
import ruData from 'react-intl/locale-data/ru';
import swData from 'react-intl/locale-data/sw';
import teData from 'react-intl/locale-data/te';
import thData from 'react-intl/locale-data/th';
import trData from 'react-intl/locale-data/tr';
import ukData from 'react-intl/locale-data/uk';
import zhData from 'react-intl/locale-data/zh';

import './ar.json';
import './es_419.json';
import './fr.json';
import './zh_CN.json';

// Methodology: These languages (plus the default english) are the only ones that appear on edx.org
// This was determined by inspecting the 'released_languages' method in the following file:
// https://github.com/openedx/edx-platform/blob/master/openedx/core/djangoapps/lang_pref/api.py
//
// Further, I hit the read replica in order to confirm the live values, which are currently:
// en, fr, zh-cn, es-419, ar
// If these values change, please also update the pull_translations command in Makefile

const localeDataMap = {
export default {
'ar': arData,
'en': enData,
'da': daData,
'de': deData,
'de-de': deData,
'el': elData,
'es-419': esData,
'fr': frData,
'es-es': esData,
'fa': faData,
'fr-ca': frData,
'he': heData,
'hi': hiData,
'id': idData,
'it-it': itData,
'pt-br': ptData,
'pt-pt': ptData,
'ru': ruData,
'sw': swData,
'te': teData,
'th': thData,
'tr-tr': trData,
'uk': ukData,
'zh-cn': zhData,
};

export default localeDataMap;
Loading
Loading