Merged in feat/sw-2333-package-and-sas-i18n (pull request #2538)

feat(SW-2333): I18n for multiple apps and packages

* Set upp i18n in partner-sas

* Adapt lokalise workflow to monorepo

* Fix layout props


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-07-10 07:00:03 +00:00
parent 2c0e8965e2
commit 233c685e52
31 changed files with 48133 additions and 210 deletions

70
scripts/i18n/diff.mjs Normal file
View File

@@ -0,0 +1,70 @@
import filteredLokalise from "./translations/en.json" with { type: "json" }
import allLokalise from "./translations-all/en.json" with { type: "json" }
import fromCodebase from "./extracted.json" with { type: "json" }
function diffArray(json1, json2) {
const diff = []
const keys1 = Object.keys(json1)
const keys2 = Object.keys(json2)
keys1.forEach((key) => {
if (!keys2.includes(key)) {
diff.push(key)
}
})
return diff
}
function resolveLabels(ids, arr) {
return ids.map((id) => {
return {
id,
...arr[id],
}
})
}
const labelsHidden = diffArray(allLokalise, filteredLokalise)
const labelsToRemove = diffArray(filteredLokalise, fromCodebase)
const labelsToAdd = diffArray(fromCodebase, filteredLokalise).filter(
(key) => !labelsHidden.includes(key)
)
if (labelsToRemove.length === 0 && labelsToAdd.length === 0) {
console.log(`Nothing has changed!`)
} else {
console.log(`Labels to REMOVE from Lokalise: ${labelsToRemove.length}`)
console.log(`Labels to ADD to Lokalise: ${labelsToAdd.length}`)
console.log(`Labels HIDDEN in Lokalise: ${labelsHidden.length}`)
console.log("")
}
if (labelsToRemove.length) {
console.log(`${labelsToRemove.length} labels to remove from Lokalise:`)
console.table(resolveLabels(labelsToRemove, filteredLokalise))
console.log("")
}
if (labelsToAdd.length) {
console.log("")
console.log(`${labelsToAdd.length} labels to add to Lokalise`)
console.table(resolveLabels(labelsToAdd, fromCodebase))
console.log("")
}
if (labelsHidden.length) {
console.log("")
console.log(`${labelsHidden.length} labels are hidden in Lokalise`)
console.table(resolveLabels(labelsHidden, allLokalise))
console.log("")
}
if (labelsToRemove.length === 0 && labelsToAdd.length === 0) {
console.log(`Nothing has changed!`)
} else {
console.log(`Labels to REMOVE from Lokalise: ${labelsToRemove.length}`)
console.log(`Labels to ADD to Lokalise: ${labelsToAdd.length}`)
console.log(`Labels HIDDEN in Lokalise: ${labelsHidden.length}`)
console.log("")
}