mirror of
https://github.com/penpot/penpot.git
synced 2025-02-02 04:19:08 -05:00
✨ Add English translations to storybook template
This commit is contained in:
parent
d703205921
commit
8aaa04b1f8
2 changed files with 28 additions and 2 deletions
|
@ -1,4 +1,5 @@
|
||||||
<link href="./css/ds.css?ts={{& ts}}" rel="stylesheet" type="text/css" />
|
<link href="./css/ds.css?ts={{& ts}}" rel="stylesheet" type="text/css" />
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
@ -8,3 +9,7 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.penpotTranslations = JSON.parse({{& translations}});
|
||||||
|
</script>
|
||||||
|
|
|
@ -303,7 +303,20 @@ async function readTranslations() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return JSON.stringify(result);
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterTranslations(translations, langs = [], keyFilter) {
|
||||||
|
const filteredEntries = Object.entries(translations)
|
||||||
|
.filter(([translationKey, _]) => keyFilter(translationKey))
|
||||||
|
.map(([translationKey, value]) => {
|
||||||
|
const langEntries = Object.entries(value).filter(([lang, _]) =>
|
||||||
|
langs.includes(lang),
|
||||||
|
);
|
||||||
|
return [translationKey, Object.fromEntries(langEntries)];
|
||||||
|
});
|
||||||
|
|
||||||
|
return Object.fromEntries(filteredEntries);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function generateSvgSprite(files, prefix) {
|
async function generateSvgSprite(files, prefix) {
|
||||||
|
@ -355,7 +368,14 @@ async function generateTemplates() {
|
||||||
const isDebug = process.env.NODE_ENV !== "production";
|
const isDebug = process.env.NODE_ENV !== "production";
|
||||||
await fs.mkdir("./resources/public/", { recursive: true });
|
await fs.mkdir("./resources/public/", { recursive: true });
|
||||||
|
|
||||||
const translations = await readTranslations();
|
let translations = await readTranslations();
|
||||||
|
const storybookTranslations = JSON.stringify(
|
||||||
|
filterTranslations(translations, ["en"], (key) =>
|
||||||
|
key.startsWith("labels."),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
translations = JSON.stringify(translations);
|
||||||
|
|
||||||
const manifest = await readShadowManifest();
|
const manifest = await readShadowManifest();
|
||||||
let content;
|
let content;
|
||||||
|
|
||||||
|
@ -408,6 +428,7 @@ async function generateTemplates() {
|
||||||
"resources/templates/preview-head.mustache",
|
"resources/templates/preview-head.mustache",
|
||||||
{
|
{
|
||||||
manifest: manifest,
|
manifest: manifest,
|
||||||
|
translations: JSON.stringify(storybookTranslations),
|
||||||
},
|
},
|
||||||
partials,
|
partials,
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Reference in a new issue