diff --git a/Makefile b/Makefile
index 49dc1b6..64499a6 100755
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+export TRANSIFEX_RESOURCE = frontend-app-profile
transifex_resource = frontend-app-profile
transifex_langs = "ar,fr,es_419,zh_CN"
@@ -45,11 +46,11 @@ push_translations:
# Pushing strings to Transifex...
tx push -s
# Fetching hashes from Transifex...
- ./node_modules/reactifex/bash_scripts/get_hashed_strings.sh $(tx_url1)
+ ./node_modules/@edx/reactifex/bash_scripts/get_hashed_strings_v3.sh
# Writing out comments to file...
- $(transifex_utils) $(transifex_temp) --comments
+ $(transifex_utils) $(transifex_temp) --comments --v3-scripts-path
# Pushing comments to Transifex...
- ./node_modules/reactifex/bash_scripts/put_comments.sh $(tx_url2)
+ ./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh
# Pulls translations from Transifex.
pull_translations:
diff --git a/package-lock.json b/package-lock.json
index c5d18fd..495e08a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2094,6 +2094,65 @@
}
}
},
+ "@edx/reactifex": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@edx/reactifex/-/reactifex-1.0.3.tgz",
+ "integrity": "sha512-zJjD3ym4KOQ2sa+lwR08jgospMyiRTSRqK6Mxi1VMQ+sqxZxWFCGymV+mqLRPHPAJ/z+qhblsVuWeb0N9qI5ww==",
+ "dev": true,
+ "requires": {
+ "axios": "^0.21.1",
+ "yargs": "^17.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "yargs": {
+ "version": "17.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
+ "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
+ "dev": true
+ }
+ }
+ },
"@endemolshinegroup/cosmiconfig-typescript-loader": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
diff --git a/package.json b/package.json
index 8255053..943a00a 100644
--- a/package.json
+++ b/package.json
@@ -64,6 +64,7 @@
"@commitlint/cli": "13.2.1",
"@commitlint/config-angular": "13.2.0",
"@edx/frontend-build": "8.2.0",
+ "@edx/reactifex": "^1.0.3",
"codecov": "3.8.3",
"enzyme": "3.11.0",
"enzyme-adapter-react-16": "1.15.6",
diff --git a/src/profile/AgeMessage.jsx b/src/profile/AgeMessage.jsx
index 801ef2d..db3d0bd 100644
--- a/src/profile/AgeMessage.jsx
+++ b/src/profile/AgeMessage.jsx
@@ -18,14 +18,14 @@ function AgeMessage({ accountSettingsUrl }) {
>