mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-16 22:06:34 +00:00
Convert and filter backend translations to old format (#17161)
This commit is contained in:
parent
8bd09edec0
commit
1b503a6af1
@ -1,6 +1,7 @@
|
|||||||
import fs from "fs/promises";
|
import fs from "fs/promises";
|
||||||
import gulp from "gulp";
|
import gulp from "gulp";
|
||||||
import mapStream from "map-stream";
|
import mapStream from "map-stream";
|
||||||
|
import transform from "gulp-json-transform";
|
||||||
|
|
||||||
const inDirFrontend = "translations/frontend";
|
const inDirFrontend = "translations/frontend";
|
||||||
const inDirBackend = "translations/backend";
|
const inDirBackend = "translations/backend";
|
||||||
@ -41,9 +42,35 @@ function checkHtml() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backend translations do not currently pass HTML check so are excluded here for now
|
function convertBackendTranslations(data, _file) {
|
||||||
|
const output = { component: {} };
|
||||||
|
if (!data.component) {
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
Object.keys(data.component).forEach((domain) => {
|
||||||
|
if (!("entity_component" in data.component[domain])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
output.component[domain] = { entity_component: {} };
|
||||||
|
Object.keys(data.component[domain].entity_component).forEach((key) => {
|
||||||
|
output.component[domain].entity_component[key] =
|
||||||
|
data.component[domain].entity_component[key];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
gulp.task("convert-backend-translations", function () {
|
||||||
|
return gulp
|
||||||
|
.src([`${inDirBackend}/*.json`])
|
||||||
|
.pipe(transform((data, file) => convertBackendTranslations(data, file)))
|
||||||
|
.pipe(gulp.dest(inDirBackend));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task("check-translations-html", function () {
|
gulp.task("check-translations-html", function () {
|
||||||
return gulp.src([`${inDirFrontend}/*.json`]).pipe(checkHtml());
|
return gulp
|
||||||
|
.src([`${inDirFrontend}/*.json`, `${inDirBackend}/*.json`])
|
||||||
|
.pipe(checkHtml());
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task("check-all-files-exist", async function () {
|
gulp.task("check-all-files-exist", async function () {
|
||||||
@ -65,5 +92,9 @@ gulp.task("check-all-files-exist", async function () {
|
|||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"check-downloaded-translations",
|
"check-downloaded-translations",
|
||||||
gulp.series("check-translations-html", "check-all-files-exist")
|
gulp.series(
|
||||||
|
"convert-backend-translations",
|
||||||
|
"check-translations-html",
|
||||||
|
"check-all-files-exist"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user