[IMP] package: keep only French and US English Chromium locales
The portable executable carried Chromium's translations of its own texts in 55 languages, about 48 MB unpacked, none of which the interface reads: it holds its own labels. electron-builder now keeps fr and en-US, the latter being Chromium's fallback. The executable drops from 100.9 MB to 93.1 MB, 326 MB unpacked instead of 373 MB. The package test pins the list, and the closed list of configuration keys now includes it. Checked: a full build under podman, locales/ holds fr.pak and en-US.pak only; node 5175. --- FR --- [IMP] paquet : ne garder que les langues de Chromium fr et en-US L'exécutable portable embarquait les traductions des textes propres à Chromium en 55 langues, environ 48 Mo décompressés, qu'aucune interface ne lit : elle porte ses propres libellés. electron-builder ne garde plus que fr et en-US, la langue de repli de Chromium. L'exécutable passe de 100,9 Mo à 93,1 Mo, 326 Mo décompressé au lieu de 373 Mo. L'épreuve du livrable fige la liste, et la liste fermée des clés de la configuration l'inclut. Vérifié : une construction complète sous podman, locales/ ne contient que fr.pak et en-US.pak ; node 5175. Assisted-by: Claude Opus 5.5
This commit is contained in:
parent
1724ce5e39
commit
76fa8775c2
4 changed files with 15 additions and 0 deletions
|
|
@ -196,6 +196,9 @@
|
||||||
- Le panneau « À propos » nomme l'éditeur, TechnoLibre Inc., et l'auteur,
|
- Le panneau « À propos » nomme l'éditeur, TechnoLibre Inc., et l'auteur,
|
||||||
Mathieu Benoit, développeur, concepteur et mainteneur du logiciel. Son bloc à
|
Mathieu Benoit, développeur, concepteur et mainteneur du logiciel. Son bloc à
|
||||||
copier ne porte plus que la version affichée, sans sa forme Windows.
|
copier ne porte plus que la version affichée, sans sa forme Windows.
|
||||||
|
- L'exécutable pèse environ 8 Mo de moins : il ne garde que le français et
|
||||||
|
l'anglais parmi les traductions internes du navigateur qu'il embarque.
|
||||||
|
L'interface ne change pas.
|
||||||
|
|
||||||
**Version de format des fichiers** : 2. Les étiquettes, les objectifs, leurs
|
**Version de format des fichiers** : 2. Les étiquettes, les objectifs, leurs
|
||||||
règles, les cases nouvelles, le mode des objectifs et l'ordre des priorités
|
règles, les cases nouvelles, le mode des objectifs et l'ordre des priorités
|
||||||
|
|
|
||||||
|
|
@ -31,5 +31,9 @@ module.exports = {
|
||||||
// d'exécution, aucun node_modules n'entre dans le paquet.
|
// d'exécution, aucun node_modules n'entre dans le paquet.
|
||||||
files: ['www/**', 'electron/**', 'package.json'],
|
files: ['www/**', 'electron/**', 'package.json'],
|
||||||
artifactName: deriver(lireJson('version.json').version).nomFichier,
|
artifactName: deriver(lireJson('version.json').version).nomFichier,
|
||||||
|
// Les traductions des textes propres à Chromium (locales/*.pak) gardées
|
||||||
|
// dans le paquet : le français, et l'anglais des États-Unis, la langue de
|
||||||
|
// repli de Chromium. L'interface ne les lit pas : elle porte ses libellés.
|
||||||
|
electronLanguages: ['fr', 'en-US'],
|
||||||
win: { target: [{ target: 'portable', arch: ['x64'] }] },
|
win: { target: [{ target: 'portable', arch: ['x64'] }] },
|
||||||
};
|
};
|
||||||
|
|
|
||||||
3
spec.md
3
spec.md
|
|
@ -6236,6 +6236,9 @@ au même titre que la publication du dossier d'origine par le lanceur portable
|
||||||
beaucoup plus cher que de le découvrir tout de suite.
|
beaucoup plus cher que de le découvrir tout de suite.
|
||||||
|
|
||||||
Ce qui est livré au client : **un exécutable**, et rien d'autre à installer.
|
Ce qui est livré au client : **un exécutable**, et rien d'autre à installer.
|
||||||
|
Le paquet ne garde que les traductions des textes propres à Chromium en français
|
||||||
|
et en anglais des États-Unis, sa langue de repli : l'interface porte ses propres
|
||||||
|
libellés, et les autres langues alourdiraient l'exécutable sans servir.
|
||||||
|
|
||||||
**Le livrable est un exécutable portable à fichier unique, non un
|
**Le livrable est un exécutable portable à fichier unique, non un
|
||||||
installateur**, et ce n'est pas une préférence : la règle du dossier de travail du
|
installateur**, et ce n'est pas une préférence : la règle du dossier de travail du
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,10 @@ describe('livrable : forme et contenu', () => {
|
||||||
assert.deepEqual(configuration.files, ['www/**', 'electron/**', 'package.json']);
|
assert.deepEqual(configuration.files, ['www/**', 'electron/**', 'package.json']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('le paquet ne garde que les traductions de Chromium en français et en anglais des États-Unis, sa langue de repli (§ 16)', () => {
|
||||||
|
assert.deepEqual(charger(RACINE).electronLanguages, ['fr', 'en-US']);
|
||||||
|
});
|
||||||
|
|
||||||
test("la configuration n'a pas d'autre clé que celles que ces épreuves examinent (§ 14.15, § 18.1)", () => {
|
test("la configuration n'a pas d'autre clé que celles que ces épreuves examinent (§ 14.15, § 18.1)", () => {
|
||||||
// Une clé de plus change ce que le paquet emporte (extraResources,
|
// Une clé de plus change ce que le paquet emporte (extraResources,
|
||||||
// extraFiles, asar) ou la version qu'il porte (buildVersion, buildNumber),
|
// extraFiles, asar) ou la version qu'il porte (buildVersion, buildNumber),
|
||||||
|
|
@ -124,6 +128,7 @@ describe('livrable : forme et contenu', () => {
|
||||||
'artifactName',
|
'artifactName',
|
||||||
'copyright',
|
'copyright',
|
||||||
'directories',
|
'directories',
|
||||||
|
'electronLanguages',
|
||||||
'files',
|
'files',
|
||||||
'productName',
|
'productName',
|
||||||
'win',
|
'win',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue