test(localize): add compile time extraction to integration test (#32912)
The integration test for i18n now makes use of the new extraction tooling from the `@angular/localize` package rather than the old ViewEngine extractor. PR Close #32912
This commit is contained in:

committed by
Andrew Kushnir

parent
190561d8a6
commit
290bc7334d
20
integration/ivy-i18n/scripts/update-xlf-translation-file.js
Normal file
20
integration/ivy-i18n/scripts/update-xlf-translation-file.js
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* This file simulates translating a generated translation file into a new locale.
|
||||
* In particular it takes an English locale XLIFF 1.2 format and translates to the French locale.
|
||||
*/
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// Load the file
|
||||
const filePath = path.resolve(__dirname, '..', process.argv.pop());
|
||||
const contents = fs.readFileSync(filePath, 'utf8');
|
||||
|
||||
// Backup the file
|
||||
fs.writeFileSync(filePath + '.bak', contents, 'utf8');
|
||||
|
||||
// Write translated file
|
||||
const updated =
|
||||
contents.replace(/source>/g, 'target>')
|
||||
.replace(/Hello/g, 'Bonjour')
|
||||
.replace(/source-language="([^"]+)"/g, 'source-language="$1" target-language="legacy"');
|
||||
fs.writeFileSync(filePath, updated, 'utf8');
|
19
integration/ivy-i18n/scripts/update-xmb-translation-file.js
Normal file
19
integration/ivy-i18n/scripts/update-xmb-translation-file.js
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* This file simulates translating a generated translation file into a new locale.
|
||||
* In particular it takes an English locale XMB format and translates to a French locale XTB format.
|
||||
*/
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// Load the file
|
||||
const filePath = path.resolve(__dirname, '..', process.argv.pop());
|
||||
const contents = fs.readFileSync(filePath, 'utf8');
|
||||
|
||||
// Write translated file
|
||||
const updatedFilePath = filePath.replace(/\.xmb$/, '.xtb');
|
||||
const updatedContents = contents.replace(/messagebundle/g, 'translationbundle>')
|
||||
.replace(/<translationbundle>/g, '<translationbundle lang="legacy">')
|
||||
.replace(/\bmsg\b/g, 'translation')
|
||||
.replace(/Hello/g, 'Bonjour')
|
||||
.replace(/<source>.*<\/source>/g, '');
|
||||
fs.writeFileSync(updatedFilePath, updatedContents, 'utf8');
|
Reference in New Issue
Block a user