Compare commits

..

15 Commits

Author SHA1 Message Date
albemarle
6dc8f64ccb Merge pull request #19 from edx/albemarle/more-i18n
fix(i18n): use up-to-date i18n-concat.js
2019-04-09 15:46:31 -04:00
albemarle
0453d7fbaa fix(i18n): use up-to-date i18n-concat.js 2019-04-09 15:38:46 -04:00
Robert Raposa
fa6d38f422 Merge pull request #18 from edx/albemarle/check-changes
fix(i18n): add detect_changed_source_translations target to stop jobs erroring
2019-04-05 16:52:44 -04:00
albemarle
9f3e945d4e fix(i18n): add detect_changed_source_translations target to stop jobs erroring 2019-04-05 16:42:50 -04:00
edX Transifex Bot
429d19291d fix(i18n): update translations 2019-04-05 16:21:24 -04:00
Matt Tuchfarber
e27bc8de39 Merge pull request #16 from edx/tuchfarber/remove_translation_fail
fix: remove incorrect translation files
2019-04-05 15:38:56 -04:00
Matt Tuchfarber
cd0b84c223 fix: remove incorrect translation files
Remove translation files that were generated by an incorrect transifex
config
2019-04-05 15:33:23 -04:00
Matt Tuchfarber
26810c99e6 Merge pull request #15 from edx/tuchfarber/make_umd_build
Generate builds so they can be used in server rendered apps
2019-04-05 15:20:44 -04:00
Matt Tuchfarber
2fb8ea2608 Generate builds so they can be used in server rendered apps
Current build uses window everywhere, thus breaking server rendered apps
2019-04-05 12:34:52 -04:00
albemarle
16c6da229b Merge pull request #14 from edx/tuchfarber/fix_i18n_quoting
Fix i18n paths
2019-04-04 15:26:50 -04:00
Matt Tuchfarber
fb8de7a59c Fix i18n paths 2019-04-04 15:13:55 -04:00
Robert Raposa
21a9e6c5e1 Merge pull request #13 from edx/robrap/ARCH-460-change-file-ext
fix: update file extension
2019-03-21 14:52:25 -04:00
Robert Raposa
9475888392 fix: update file extension 2019-03-21 14:45:35 -04:00
Robert Raposa
c069f20716 Merge pull request #12 from edx/robrap/ARCH-460-add-empty-language
ARCH-460: fix: add empty language files
2019-03-20 17:14:10 -04:00
Robert Raposa
46772ecc0e fix: add empty language files
ARCH-460
2019-03-20 17:03:47 -04:00
9 changed files with 25 additions and 16 deletions

View File

@@ -2,7 +2,7 @@
host = https://www.transifex.com
[edx-platform.frontend-component-footer]
file_filter = "src/i18n/messages/<lang>.json"
source_file = "src/i18n/transifex_input.json"
file_filter = src/i18n/messages/<lang>.json
source_file = src/i18n/transifex_input.json
source_lang = en
type = KEYVALUEJSON

View File

@@ -12,7 +12,7 @@ i18n.concat:
# Gathering JSON messages into one file...
./src/i18n/i18n-concat.js ./temp/src ./src/i18n/transifex_input.json
i18n.pre_validate: | i18n.extract i18n.concat
detect_changed_source_translations:
git diff --exit-code ./src/i18n/transifex_input.json
tx_url1 = https://www.transifex.com/api/2/project/edx-platform/resource/frontend-component-footer/translation/en/strings/

View File

@@ -13,6 +13,7 @@ module.exports = Merge.smart(commonConfig, {
path: path.resolve(__dirname, '../dist'),
library: 'frontend-component-footer',
libraryTarget: 'umd',
globalObject: 'typeof self !== \'undefined\' ? self : this',
},
resolve: {
extensions: ['.js', '.jsx'],

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env node
/**
* This code originally came from https://github.com/efischer19/reactifex/blob/master/main.js,
* which should be edx/reactifex. It is temporarily being copied here until we find it a new home.
* See the Makefile for how the required hash file is downloaded from Transifex.
*/
// NOTE: This script is called from Jenkins using devDependencies, so eslint is being
@@ -23,28 +23,36 @@ function gatherJson(dir) {
return ret;
}
// the hash file returns ids whose periods are "escaped" (sort of), like this:
// "key": "profile\\.sociallinks\\.social\\.links"
// so our regular messageIds won't match them out of the box
function escapeDots(messageId) {
return messageId.replace(/\./g, '\\.');
}
const jsonDir = process.argv[2];
const messageObjects = gatherJson(jsonDir);
if (process.argv[3] === '--comments') { // prepare to handle the translator notes
const thisFile = path.basename(`${__filename}`);
const loggingPrefix = path.basename(`${__filename}`); // the name of this JS file
const bashScriptsPath = './node_modules/reactifex/bash_scripts';
process.stdout.write(`${thisFile}: generating bash scripts...\n`);
process.stdout.write(`${thisFile}: info file at ${bashScriptsPath}/hashmap.json\n`);
const hashFile = `${bashScriptsPath}/hashmap.json`;
process.stdout.write(`${loggingPrefix}: reading hash file ${hashFile}\n`);
const messageInfo = JSON.parse(fs.readFileSync(hashFile));
const messageInfo = JSON.parse(fs.readFileSync(`${bashScriptsPath}/hashmap.json`));
const dataPath = `${bashScriptsPath}/hashed_data.txt`;
process.stdout.write(`${thisFile}: data path is ${dataPath}\n`);
fs.writeFileSync(dataPath, '');
const outputFile = `${bashScriptsPath}/hashed_data.txt`;
process.stdout.write(`${loggingPrefix}: writing to output file ${outputFile}\n`);
fs.writeFileSync(outputFile, '');
messageObjects.forEach((message) => {
const info = messageInfo.find(mi => mi.key === message.id);
const transifexFormatId = escapeDots(message.id);
const info = messageInfo.find(mi => mi.key === transifexFormatId);
if (info) {
fs.appendFileSync(dataPath, `${info.string_hash}|${message.description}\n`);
fs.appendFileSync(outputFile, `${info.string_hash}|${message.description}\n`);
} else {
process.stdout.write(`${thisFile}: string ${message.id} does not yet exist on transifex!\n`);
process.stdout.write(`${loggingPrefix}: string ${message.id} does not yet exist on transifex!\n`);
}
});
} else {