mirror of
https://github.com/marcogll/passkit-generator.git
synced 2026-03-15 22:25:24 +00:00
Fixed problem with localization files path/fileNames
This commit is contained in:
@@ -48,11 +48,12 @@ export async function getModelContents(model: FactoryOptions["model"]) {
|
|||||||
|
|
||||||
export async function getModelFolderContents(model: string): Promise<PartitionedBundle> {
|
export async function getModelFolderContents(model: string): Promise<PartitionedBundle> {
|
||||||
try {
|
try {
|
||||||
const modelPath = path.resolve(model) + (!!model && !path.extname(model) ? ".pass" : "");
|
const modelPath = model + (!path.extname(model) && ".pass");
|
||||||
const modelFilesList = await readDir(modelPath);
|
const modelFilesList = await readDir(modelPath);
|
||||||
|
|
||||||
// No dot-starting files, manifest and signature
|
// No dot-starting files, manifest and signature
|
||||||
const filteredFiles = removeHidden(modelFilesList).filter(f => !/(manifest|signature)/i.test(f));
|
const filteredFiles = removeHidden(modelFilesList)
|
||||||
|
.filter(f => !/(manifest|signature)/i.test(f) && /.+$/.test(path.parse(f).ext));
|
||||||
|
|
||||||
const isModelInitialized = (
|
const isModelInitialized = (
|
||||||
filteredFiles.length &&
|
filteredFiles.length &&
|
||||||
@@ -103,7 +104,10 @@ export async function getModelFolderContents(model: string): Promise<Partitioned
|
|||||||
return acc;
|
return acc;
|
||||||
}
|
}
|
||||||
|
|
||||||
return { ...acc, [file]: buffers[index] };
|
const fileComponents = file.split(path.sep);
|
||||||
|
const fileName = fileComponents[fileComponents.length-1];
|
||||||
|
|
||||||
|
return { ...acc, [fileName]: buffers[index] };
|
||||||
}, {})
|
}, {})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
17
src/pass.ts
17
src/pass.ts
@@ -145,6 +145,7 @@ export class Pass {
|
|||||||
|
|
||||||
Object.keys(this.l10nTranslations).forEach(lang => {
|
Object.keys(this.l10nTranslations).forEach(lang => {
|
||||||
const strings = generateStringFile(this.l10nTranslations[lang]);
|
const strings = generateStringFile(this.l10nTranslations[lang]);
|
||||||
|
const langInBundles = `${lang}.lproj`;
|
||||||
|
|
||||||
if (strings.length) {
|
if (strings.length) {
|
||||||
/**
|
/**
|
||||||
@@ -153,17 +154,17 @@ export class Pass {
|
|||||||
* it otherwise.
|
* it otherwise.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!this.l10nBundles[lang]) {
|
if (!this.l10nBundles[langInBundles]) {
|
||||||
this.l10nBundles[lang] = {};
|
this.l10nBundles[langInBundles] = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
this.l10nBundles[lang]["pass.strings"] = Buffer.concat([
|
this.l10nBundles[langInBundles]["pass.strings"] = Buffer.concat([
|
||||||
this.l10nBundles[lang]["pass.strings"] || Buffer.alloc(0),
|
this.l10nBundles[langInBundles]["pass.strings"] || Buffer.alloc(0),
|
||||||
strings
|
strings
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this.l10nBundles[lang] && Object.keys(this.l10nBundles[lang]).length)) {
|
if (!(this.l10nBundles[langInBundles] && Object.keys(this.l10nBundles[langInBundles]).length)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,10 +176,10 @@ export class Pass {
|
|||||||
* composition.
|
* composition.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Object.assign(finalBundle, ...Object.keys(this.l10nBundles[lang])
|
Object.assign(finalBundle, ...Object.keys(this.l10nBundles[langInBundles])
|
||||||
.map(fileName => {
|
.map(fileName => {
|
||||||
const fullPath = path.join(`${lang}.lproj`, fileName).replace(/\\/, "/");
|
const fullPath = path.join(langInBundles, fileName).replace(/\\/, "/");
|
||||||
return { [fullPath]: this.l10nBundles[lang][fileName] };
|
return { [fullPath]: this.l10nBundles[langInBundles][fileName] };
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user