@intlayer/docs 9.2.0 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/index.md +1 -1
- package/blog/de/index.md +1 -1
- package/blog/en/index.md +1 -1
- package/blog/en-GB/index.md +1 -1
- package/blog/es/index.md +1 -1
- package/blog/fr/index.md +1 -1
- package/blog/hi/index.md +1 -1
- package/blog/id/index.md +1 -1
- package/blog/it/index.md +1 -1
- package/blog/ja/index.md +1 -1
- package/blog/ko/index.md +1 -1
- package/blog/pl/index.md +1 -1
- package/blog/pt/index.md +1 -1
- package/blog/ru/index.md +1 -1
- package/blog/uk/index.md +1 -1
- package/blog/vi/index.md +1 -1
- package/blog/zh/index.md +1 -1
- package/dist/cjs/common.cjs +24 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +31 -4
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +31 -4
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +31 -4
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +31 -4
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +24 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +31 -4
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +31 -4
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +31 -4
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +31 -4
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +58 -25
- package/docs/ar/live-sync.md +4 -0
- package/docs/bn/bundle_optimization.md +58 -25
- package/docs/cs/bundle_optimization.md +58 -25
- package/docs/de/bundle_optimization.md +58 -25
- package/docs/de/live-sync.md +4 -0
- package/docs/en/bundle_optimization.md +51 -23
- package/docs/en/live-sync.md +4 -0
- package/docs/en-GB/bundle_optimization.md +58 -25
- package/docs/en-GB/live-sync.md +4 -0
- package/docs/es/bundle_optimization.md +58 -25
- package/docs/es/live-sync.md +4 -0
- package/docs/fr/bundle_optimization.md +58 -25
- package/docs/fr/live-sync.md +4 -0
- package/docs/hi/bundle_optimization.md +58 -25
- package/docs/hi/live-sync.md +4 -0
- package/docs/id/bundle_optimization.md +58 -25
- package/docs/id/live-sync.md +4 -0
- package/docs/it/bundle_optimization.md +58 -25
- package/docs/it/live-sync.md +4 -0
- package/docs/ja/bundle_optimization.md +58 -25
- package/docs/ja/live-sync.md +4 -0
- package/docs/ko/bundle_optimization.md +58 -25
- package/docs/ko/live-sync.md +4 -0
- package/docs/nl/bundle_optimization.md +58 -25
- package/docs/pl/bundle_optimization.md +58 -25
- package/docs/pl/live-sync.md +4 -0
- package/docs/pt/bundle_optimization.md +58 -24
- package/docs/pt/live-sync.md +4 -0
- package/docs/ru/bundle_optimization.md +58 -25
- package/docs/ru/live-sync.md +4 -0
- package/docs/tr/bundle_optimization.md +58 -25
- package/docs/tr/live-sync.md +4 -0
- package/docs/uk/bundle_optimization.md +58 -25
- package/docs/uk/live-sync.md +4 -0
- package/docs/ur/bundle_optimization.md +58 -25
- package/docs/vi/bundle_optimization.md +58 -25
- package/docs/vi/live-sync.md +4 -0
- package/docs/zh/bundle_optimization.md +58 -25
- package/docs/zh/live-sync.md +4 -0
- package/docs/zh-TW/bundle_optimization.md +58 -25
- package/package.json +7 -7
- package/src/common.ts +39 -2
- package/src/generated/blog.entry.ts +39 -7
- package/src/generated/docs.entry.ts +39 -7
- package/src/generated/frequentQuestions.entry.ts +39 -7
- package/src/generated/legal.entry.ts +39 -7
package/blog/ar/index.md
CHANGED
package/blog/de/index.md
CHANGED
package/blog/en/index.md
CHANGED
package/blog/en-GB/index.md
CHANGED
package/blog/es/index.md
CHANGED
package/blog/fr/index.md
CHANGED
package/blog/hi/index.md
CHANGED
package/blog/id/index.md
CHANGED
package/blog/it/index.md
CHANGED
package/blog/ja/index.md
CHANGED
package/blog/ko/index.md
CHANGED
package/blog/pl/index.md
CHANGED
package/blog/pt/index.md
CHANGED
package/blog/ru/index.md
CHANGED
package/blog/uk/index.md
CHANGED
package/blog/vi/index.md
CHANGED
package/blog/zh/index.md
CHANGED
package/dist/cjs/common.cjs
CHANGED
|
@@ -48,12 +48,35 @@ const getFileMetadata = async (files, docKey, locale = defaultLocale) => {
|
|
|
48
48
|
const file = await getFile(files, docKey, locale);
|
|
49
49
|
return formatMetadata(docKey, file, locale);
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Per-locale metadata records, keyed by the entry map they were built from.
|
|
53
|
+
*
|
|
54
|
+
* Building a record parses the frontmatter of every document of a category, and
|
|
55
|
+
* callers such as {@link getFileMetadataBySlug} need the whole record just to
|
|
56
|
+
* resolve a single slug — which a static site generator repeats for every page
|
|
57
|
+
* it renders. Documents are read once per process anyway (each entry caches its
|
|
58
|
+
* own read), so the derived metadata is equally safe to keep.
|
|
59
|
+
*/
|
|
60
|
+
const fileMetadataRecordCache = /* @__PURE__ */ new WeakMap();
|
|
61
|
+
const buildFileMetadataRecord = async (files, locale) => {
|
|
52
62
|
const filesEntries = (await Promise.allSettled(Object.entries(files).map(async ([key]) => {
|
|
53
63
|
return [key, await getFileMetadata(files, key, locale)];
|
|
54
64
|
}))).filter((r) => r.status === "fulfilled").map((r) => r.value);
|
|
55
65
|
return Object.fromEntries(filesEntries);
|
|
56
66
|
};
|
|
67
|
+
const getFileMetadataRecord = async (files, locale = defaultLocale) => {
|
|
68
|
+
let localeCache = fileMetadataRecordCache.get(files);
|
|
69
|
+
if (!localeCache) {
|
|
70
|
+
localeCache = /* @__PURE__ */ new Map();
|
|
71
|
+
fileMetadataRecordCache.set(files, localeCache);
|
|
72
|
+
}
|
|
73
|
+
let record = localeCache.get(locale);
|
|
74
|
+
if (!record) {
|
|
75
|
+
record = buildFileMetadataRecord(files, locale);
|
|
76
|
+
localeCache.set(locale, record);
|
|
77
|
+
}
|
|
78
|
+
return await record;
|
|
79
|
+
};
|
|
57
80
|
const getFileMetadataBySlug = async (files, slugs, locale = defaultLocale, strict = false) => {
|
|
58
81
|
const slugsArray = Array.isArray(slugs) ? slugs : [slugs];
|
|
59
82
|
const filesMetadata = await getFileMetadataRecord(files, defaultLocale);
|
package/dist/cjs/common.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.cjs","names":["Locales"],"sources":["../../src/common.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { getLocalizedUrl } from '@intlayer/core/localization';\nimport { getMarkdownMetadata } from '@intlayer/core/transpiler';\nimport * as Locales from '@intlayer/types/locales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nexport const defaultLocale = Locales.ENGLISH;\n\nexport const GITHUB_URL_PREFIX =\n 'https://github.com/aymericzip/intlayer/blob/main/docs';\nexport const URL_PREFIX = 'https://intlayer.org/';\n\nexport const getKeys = <T extends Record<string, any>>(obj: T): (keyof T)[] =>\n Object.keys(obj) as (keyof T)[];\n\nexport const getFiles = async <\n F extends Record<`./${string}`, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n lang: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<string, string>> => {\n const filesEntries = await Promise.all(\n Object.entries(files)\n .map(([key, value]) => [key, value[lang as LocalesValues]])\n .map(async ([key, value]) => [key, await value])\n );\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult;\n};\n\nexport const getFile = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<string> => {\n const fileRecord = files[docKey];\n\n if (!fileRecord) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n const file = await files[docKey]?.[locale];\n\n if (!file) {\n const englishFile = await files[docKey]?.[defaultLocale as LocalesValues];\n\n if (!englishFile) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n return englishFile;\n }\n\n return file;\n};\n\nexport type FileMetadata = {\n docKey: string;\n url: string;\n relativeUrl: string;\n githubUrl: string;\n title: string;\n slugs: string[];\n description: string;\n keywords: string[];\n updatedAt: string;\n createdAt: string;\n author?: string;\n youtubeVideo?: string;\n applicationTemplate?: string;\n applicationShowcase?: string;\n history?: {\n version: string;\n date: string;\n changes: string;\n }[];\n};\n\nexport const formatMetadata = (\n docKey: string,\n file: string,\n locale: LocalesValues = defaultLocale as LocalesValues\n): FileMetadata => {\n const metadata = getMarkdownMetadata(file);\n\n const slugs = (metadata.slugs ?? []).map(String);\n const keywords = (metadata.keywords ?? []).map(String);\n\n const relativeUrl = join('/', ...slugs);\n\n const slicedDocKey = docKey.slice(1);\n\n // Normalise author: accept both a plain string handle (new format)\n // and a legacy object `{ github: '...' }` — always reduce to a plain string.\n const rawAuthor = metadata.author as\n | string\n | { name?: string; github?: string }\n | undefined;\n const author: string | undefined =\n typeof rawAuthor === 'string'\n ? rawAuthor || undefined\n : rawAuthor?.github || undefined;\n\n return {\n ...metadata,\n docKey,\n slugs,\n keywords,\n author,\n githubUrl: `${GITHUB_URL_PREFIX}${slicedDocKey}`.replace(\n '/en/',\n `/${locale}/`\n ),\n relativeUrl: getLocalizedUrl(relativeUrl, locale),\n url: getLocalizedUrl(join(URL_PREFIX, relativeUrl), locale),\n } as FileMetadata;\n};\n\nexport const getFileMetadata = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n R extends FileMetadata,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<R> => {\n const file = await getFile(files, docKey, locale);\n\n return formatMetadata(docKey as string, file, locale) as R;\n};\n\nexport const getFileMetadataRecord = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<keyof F, FileMetadata>> => {\n const results = await Promise.allSettled(\n Object.entries(files).map(async ([key]) => {\n const metadata = await getFileMetadata(files, key as keyof F, locale);\n return [key, metadata] as [string, FileMetadata];\n })\n );\n const filesEntries = results\n .filter(\n (r): r is PromiseFulfilledResult<[string, FileMetadata]> =>\n r.status === 'fulfilled'\n )\n .map((r) => r.value);\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult as Record<keyof F, FileMetadata>;\n};\n\nexport const getFileMetadataBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray: FileMetadata[] = Object.values(filesMetadata).filter(\n (fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n if (locale !== defaultLocale) {\n const localizedFileMetadata = await Promise.all(\n fileMetadataArray.map(\n async (fileMetadata) =>\n await getFileMetadata(files, fileMetadata.docKey, locale)\n )\n );\n\n return localizedFileMetadata;\n }\n\n return fileMetadataArray;\n};\n\nexport const getFileBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray = Object.values(filesMetadata).filter((fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n const fileList = await Promise.all(\n fileMetadataArray.map(async (fileMetadata) => {\n const file = await getFile(files, fileMetadata.docKey, locale);\n return file;\n })\n );\n\n return fileList;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.cjs","names":["Locales"],"sources":["../../src/common.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { getLocalizedUrl } from '@intlayer/core/localization';\nimport { getMarkdownMetadata } from '@intlayer/core/transpiler';\nimport * as Locales from '@intlayer/types/locales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nexport const defaultLocale = Locales.ENGLISH;\n\nexport const GITHUB_URL_PREFIX =\n 'https://github.com/aymericzip/intlayer/blob/main/docs';\nexport const URL_PREFIX = 'https://intlayer.org/';\n\nexport const getKeys = <T extends Record<string, any>>(obj: T): (keyof T)[] =>\n Object.keys(obj) as (keyof T)[];\n\nexport const getFiles = async <\n F extends Record<`./${string}`, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n lang: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<string, string>> => {\n const filesEntries = await Promise.all(\n Object.entries(files)\n .map(([key, value]) => [key, value[lang as LocalesValues]])\n .map(async ([key, value]) => [key, await value])\n );\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult;\n};\n\nexport const getFile = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<string> => {\n const fileRecord = files[docKey];\n\n if (!fileRecord) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n const file = await files[docKey]?.[locale];\n\n if (!file) {\n const englishFile = await files[docKey]?.[defaultLocale as LocalesValues];\n\n if (!englishFile) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n return englishFile;\n }\n\n return file;\n};\n\nexport type FileMetadata = {\n docKey: string;\n url: string;\n relativeUrl: string;\n githubUrl: string;\n title: string;\n slugs: string[];\n description: string;\n keywords: string[];\n updatedAt: string;\n createdAt: string;\n author?: string;\n youtubeVideo?: string;\n applicationTemplate?: string;\n applicationShowcase?: string;\n history?: {\n version: string;\n date: string;\n changes: string;\n }[];\n};\n\nexport const formatMetadata = (\n docKey: string,\n file: string,\n locale: LocalesValues = defaultLocale as LocalesValues\n): FileMetadata => {\n const metadata = getMarkdownMetadata(file);\n\n const slugs = (metadata.slugs ?? []).map(String);\n const keywords = (metadata.keywords ?? []).map(String);\n\n const relativeUrl = join('/', ...slugs);\n\n const slicedDocKey = docKey.slice(1);\n\n // Normalise author: accept both a plain string handle (new format)\n // and a legacy object `{ github: '...' }` — always reduce to a plain string.\n const rawAuthor = metadata.author as\n | string\n | { name?: string; github?: string }\n | undefined;\n const author: string | undefined =\n typeof rawAuthor === 'string'\n ? rawAuthor || undefined\n : rawAuthor?.github || undefined;\n\n return {\n ...metadata,\n docKey,\n slugs,\n keywords,\n author,\n githubUrl: `${GITHUB_URL_PREFIX}${slicedDocKey}`.replace(\n '/en/',\n `/${locale}/`\n ),\n relativeUrl: getLocalizedUrl(relativeUrl, locale),\n url: getLocalizedUrl(join(URL_PREFIX, relativeUrl), locale),\n } as FileMetadata;\n};\n\nexport const getFileMetadata = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n R extends FileMetadata,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<R> => {\n const file = await getFile(files, docKey, locale);\n\n return formatMetadata(docKey as string, file, locale) as R;\n};\n\n/**\n * Per-locale metadata records, keyed by the entry map they were built from.\n *\n * Building a record parses the frontmatter of every document of a category, and\n * callers such as {@link getFileMetadataBySlug} need the whole record just to\n * resolve a single slug — which a static site generator repeats for every page\n * it renders. Documents are read once per process anyway (each entry caches its\n * own read), so the derived metadata is equally safe to keep.\n */\nconst fileMetadataRecordCache = new WeakMap<\n Record<string, unknown>,\n Map<LocalesValues, Promise<Record<string, FileMetadata>>>\n>();\n\nconst buildFileMetadataRecord = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n locale: LocalesValues\n): Promise<Record<keyof F, FileMetadata>> => {\n const results = await Promise.allSettled(\n Object.entries(files).map(async ([key]) => {\n const metadata = await getFileMetadata(files, key as keyof F, locale);\n return [key, metadata] as [string, FileMetadata];\n })\n );\n const filesEntries = results\n .filter(\n (r): r is PromiseFulfilledResult<[string, FileMetadata]> =>\n r.status === 'fulfilled'\n )\n .map((r) => r.value);\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult as Record<keyof F, FileMetadata>;\n};\n\nexport const getFileMetadataRecord = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<keyof F, FileMetadata>> => {\n let localeCache = fileMetadataRecordCache.get(files);\n\n if (!localeCache) {\n localeCache = new Map();\n fileMetadataRecordCache.set(files, localeCache);\n }\n\n let record = localeCache.get(locale);\n\n if (!record) {\n record = buildFileMetadataRecord(files, locale);\n localeCache.set(locale, record);\n }\n\n return (await record) as Record<keyof F, FileMetadata>;\n};\n\nexport const getFileMetadataBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray: FileMetadata[] = Object.values(filesMetadata).filter(\n (fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n if (locale !== defaultLocale) {\n const localizedFileMetadata = await Promise.all(\n fileMetadataArray.map(\n async (fileMetadata) =>\n await getFileMetadata(files, fileMetadata.docKey, locale)\n )\n );\n\n return localizedFileMetadata;\n }\n\n return fileMetadataArray;\n};\n\nexport const getFileBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray = Object.values(filesMetadata).filter((fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n const fileList = await Promise.all(\n fileMetadataArray.map(async (fileMetadata) => {\n const file = await getFile(files, fileMetadata.docKey, locale);\n return file;\n })\n );\n\n return fileList;\n};\n"],"mappings":"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"}
|
|
@@ -17,12 +17,39 @@ try {
|
|
|
17
17
|
baseDir = (0, _intlayer_config_utils.getPackageJsonPath)(currentDir).baseDir;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Reads a document, preferring the requested locale and falling back to English.
|
|
22
|
+
*/
|
|
23
|
+
const readLocaleFile = async (relativeAfterLocale, locale) => {
|
|
21
24
|
const target1 = (0, node_path.join)(baseDir, `./blog/${locale}/${relativeAfterLocale}`);
|
|
22
|
-
if ((0, node_fs.existsSync)(target1)) return (0, node_fs_promises.readFile)(target1, "utf8");
|
|
25
|
+
if ((0, node_fs.existsSync)(target1)) return await (0, node_fs_promises.readFile)(target1, "utf8");
|
|
23
26
|
const target2 = (0, node_path.join)(baseDir, `./blog/en/${relativeAfterLocale}`);
|
|
24
|
-
if ((0, node_fs.existsSync)(target2)) return (0, node_fs_promises.readFile)(target2, "utf8");
|
|
25
|
-
|
|
27
|
+
if ((0, node_fs.existsSync)(target2)) return await (0, node_fs_promises.readFile)(target2, "utf8");
|
|
28
|
+
throw new Error(`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`);
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Builds a lazy, awaitable handle over a document.
|
|
32
|
+
*
|
|
33
|
+
* The entry map below holds one handle per document *per locale*, so reading
|
|
34
|
+
* eagerly would pull every markdown file of every locale into memory as soon as
|
|
35
|
+
* this module is imported — hundreds of megabytes, duplicated in every
|
|
36
|
+
* prerender worker, for the handful of documents a page actually renders.
|
|
37
|
+
*
|
|
38
|
+
* The returned value is a thenable rather than a promise: consumers only ever
|
|
39
|
+
* `await` it, and `await` triggers `then`, so the file is read on first use and
|
|
40
|
+
* the resulting promise is cached for subsequent reads.
|
|
41
|
+
*/
|
|
42
|
+
const readLocale = (relativeAfterLocale, locale) => {
|
|
43
|
+
let pendingRead;
|
|
44
|
+
const read = () => {
|
|
45
|
+
pendingRead ??= readLocaleFile(relativeAfterLocale, locale);
|
|
46
|
+
return pendingRead;
|
|
47
|
+
};
|
|
48
|
+
return {
|
|
49
|
+
then: (onFulfilled, onRejected) => read().then(onFulfilled, onRejected),
|
|
50
|
+
catch: (onRejected) => read().catch(onRejected),
|
|
51
|
+
finally: (onFinally) => read().finally(onFinally)
|
|
52
|
+
};
|
|
26
53
|
};
|
|
27
54
|
const blogEntry = {
|
|
28
55
|
"./blog/en/compiler_vs_declarative_i18n.md": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.entry.cjs","names":[],"sources":["../../../src/generated/blog.entry.ts"],"sourcesContent":["/* AUTO-GENERATED – DO NOT EDIT */\n/* REGENERATE USING `pnpm prepare` */\nimport { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { join, dirname as pathDirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { getPackageJsonPath, getProjectRequire } from '@intlayer/config/utils';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\n// Robustly resolve the base directory of the @intlayer/docs package in both\n// bundled environments (Next.js) and standalone CLIs (MCP via npx).\nconst currentDir =\n typeof __dirname !== 'undefined'\n ? __dirname\n : pathDirname(fileURLToPath(import.meta.url));\n\nlet baseDir: string;\ntry {\n // Prefer resolving from the location of this file (works for CLIs).\n const projectRequire = getProjectRequire(currentDir);\n const docEntryPath = projectRequire.resolve('@intlayer/docs');\n baseDir = getPackageJsonPath(docEntryPath).baseDir;\n} catch {\n try {\n // Fallback: resolve from the consumer project (works for apps/bundlers).\n const projectRequire = getProjectRequire();\n const docEntryPath = projectRequire.resolve('@intlayer/docs');\n baseDir = getPackageJsonPath(docEntryPath).baseDir;\n } catch {\n // Last resort: walk up from currentDir (useful when executed inside @intlayer/docs).\n baseDir = getPackageJsonPath(currentDir).baseDir;\n }\n}\n\nconst readLocale = (\n relativeAfterLocale: string,\n locale: LocalesValues\n): Promise<string> => {\n const target1 = join(baseDir, `./blog/${locale}/${relativeAfterLocale}`);\n if (existsSync(target1)) {\n return readFile(target1, 'utf8');\n }\n const target2 = join(baseDir, `./blog/en/${relativeAfterLocale}`);\n if (existsSync(target2)) {\n return readFile(target2, 'utf8');\n }\n\n return Promise.reject(\n new Error(\n `[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`\n )\n );\n};\n\nexport const blogEntry = {\n './blog/en/compiler_vs_declarative_i18n.md': {\n en: readLocale('compiler_vs_declarative_i18n.md', 'en'),\n es: readLocale('compiler_vs_declarative_i18n.md', 'es'),\n ru: readLocale('compiler_vs_declarative_i18n.md', 'ru'),\n ja: readLocale('compiler_vs_declarative_i18n.md', 'ja'),\n fr: readLocale('compiler_vs_declarative_i18n.md', 'fr'),\n ko: readLocale('compiler_vs_declarative_i18n.md', 'ko'),\n zh: readLocale('compiler_vs_declarative_i18n.md', 'zh'),\n de: readLocale('compiler_vs_declarative_i18n.md', 'de'),\n ar: readLocale('compiler_vs_declarative_i18n.md', 'ar'),\n it: readLocale('compiler_vs_declarative_i18n.md', 'it'),\n 'en-GB': readLocale('compiler_vs_declarative_i18n.md', 'en-GB'),\n pt: readLocale('compiler_vs_declarative_i18n.md', 'pt'),\n hi: readLocale('compiler_vs_declarative_i18n.md', 'hi'),\n tr: readLocale('compiler_vs_declarative_i18n.md', 'tr'),\n pl: readLocale('compiler_vs_declarative_i18n.md', 'pl'),\n id: readLocale('compiler_vs_declarative_i18n.md', 'id'),\n vi: readLocale('compiler_vs_declarative_i18n.md', 'vi'),\n uk: readLocale('compiler_vs_declarative_i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_meaning.md': {\n en: readLocale('i18n_meaning.md', 'en'),\n es: readLocale('i18n_meaning.md', 'es'),\n ru: readLocale('i18n_meaning.md', 'ru'),\n ja: readLocale('i18n_meaning.md', 'ja'),\n fr: readLocale('i18n_meaning.md', 'fr'),\n ko: readLocale('i18n_meaning.md', 'ko'),\n zh: readLocale('i18n_meaning.md', 'zh'),\n de: readLocale('i18n_meaning.md', 'de'),\n ar: readLocale('i18n_meaning.md', 'ar'),\n it: readLocale('i18n_meaning.md', 'it'),\n 'en-GB': readLocale('i18n_meaning.md', 'en-GB'),\n pt: readLocale('i18n_meaning.md', 'pt'),\n hi: readLocale('i18n_meaning.md', 'hi'),\n tr: readLocale('i18n_meaning.md', 'tr'),\n pl: readLocale('i18n_meaning.md', 'pl'),\n id: readLocale('i18n_meaning.md', 'id'),\n vi: readLocale('i18n_meaning.md', 'vi'),\n uk: readLocale('i18n_meaning.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_using_next-i18next.md': {\n en: readLocale('i18n_using_next-i18next.md', 'en'),\n es: readLocale('i18n_using_next-i18next.md', 'es'),\n ru: readLocale('i18n_using_next-i18next.md', 'ru'),\n ja: readLocale('i18n_using_next-i18next.md', 'ja'),\n fr: readLocale('i18n_using_next-i18next.md', 'fr'),\n ko: readLocale('i18n_using_next-i18next.md', 'ko'),\n zh: readLocale('i18n_using_next-i18next.md', 'zh'),\n de: readLocale('i18n_using_next-i18next.md', 'de'),\n ar: readLocale('i18n_using_next-i18next.md', 'ar'),\n it: readLocale('i18n_using_next-i18next.md', 'it'),\n 'en-GB': readLocale('i18n_using_next-i18next.md', 'en-GB'),\n pt: readLocale('i18n_using_next-i18next.md', 'pt'),\n hi: readLocale('i18n_using_next-i18next.md', 'hi'),\n tr: readLocale('i18n_using_next-i18next.md', 'tr'),\n pl: readLocale('i18n_using_next-i18next.md', 'pl'),\n id: readLocale('i18n_using_next-i18next.md', 'id'),\n vi: readLocale('i18n_using_next-i18next.md', 'vi'),\n uk: readLocale('i18n_using_next-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_using_next-intl.md': {\n en: readLocale('i18n_using_next-intl.md', 'en'),\n es: readLocale('i18n_using_next-intl.md', 'es'),\n ru: readLocale('i18n_using_next-intl.md', 'ru'),\n ja: readLocale('i18n_using_next-intl.md', 'ja'),\n fr: readLocale('i18n_using_next-intl.md', 'fr'),\n ko: readLocale('i18n_using_next-intl.md', 'ko'),\n zh: readLocale('i18n_using_next-intl.md', 'zh'),\n de: readLocale('i18n_using_next-intl.md', 'de'),\n ar: readLocale('i18n_using_next-intl.md', 'ar'),\n it: readLocale('i18n_using_next-intl.md', 'it'),\n 'en-GB': readLocale('i18n_using_next-intl.md', 'en-GB'),\n pt: readLocale('i18n_using_next-intl.md', 'pt'),\n hi: readLocale('i18n_using_next-intl.md', 'hi'),\n tr: readLocale('i18n_using_next-intl.md', 'tr'),\n pl: readLocale('i18n_using_next-intl.md', 'pl'),\n id: readLocale('i18n_using_next-intl.md', 'id'),\n vi: readLocale('i18n_using_next-intl.md', 'vi'),\n uk: readLocale('i18n_using_next-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/index.md': {\n en: readLocale('index.md', 'en'),\n es: readLocale('index.md', 'es'),\n ru: readLocale('index.md', 'ru'),\n ja: readLocale('index.md', 'ja'),\n fr: readLocale('index.md', 'fr'),\n ko: readLocale('index.md', 'ko'),\n zh: readLocale('index.md', 'zh'),\n de: readLocale('index.md', 'de'),\n ar: readLocale('index.md', 'ar'),\n it: readLocale('index.md', 'it'),\n 'en-GB': readLocale('index.md', 'en-GB'),\n pt: readLocale('index.md', 'pt'),\n hi: readLocale('index.md', 'hi'),\n tr: readLocale('index.md', 'tr'),\n pl: readLocale('index.md', 'pl'),\n id: readLocale('index.md', 'id'),\n vi: readLocale('index.md', 'vi'),\n uk: readLocale('index.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/internationalization_and_SEO.md': {\n en: readLocale('internationalization_and_SEO.md', 'en'),\n es: readLocale('internationalization_and_SEO.md', 'es'),\n ru: readLocale('internationalization_and_SEO.md', 'ru'),\n ja: readLocale('internationalization_and_SEO.md', 'ja'),\n fr: readLocale('internationalization_and_SEO.md', 'fr'),\n ko: readLocale('internationalization_and_SEO.md', 'ko'),\n zh: readLocale('internationalization_and_SEO.md', 'zh'),\n de: readLocale('internationalization_and_SEO.md', 'de'),\n ar: readLocale('internationalization_and_SEO.md', 'ar'),\n it: readLocale('internationalization_and_SEO.md', 'it'),\n 'en-GB': readLocale('internationalization_and_SEO.md', 'en-GB'),\n pt: readLocale('internationalization_and_SEO.md', 'pt'),\n hi: readLocale('internationalization_and_SEO.md', 'hi'),\n tr: readLocale('internationalization_and_SEO.md', 'tr'),\n pl: readLocale('internationalization_and_SEO.md', 'pl'),\n id: readLocale('internationalization_and_SEO.md', 'id'),\n vi: readLocale('internationalization_and_SEO.md', 'vi'),\n uk: readLocale('internationalization_and_SEO.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_i18next.md': {\n en: readLocale('intlayer_with_i18next.md', 'en'),\n es: readLocale('intlayer_with_i18next.md', 'es'),\n ru: readLocale('intlayer_with_i18next.md', 'ru'),\n ja: readLocale('intlayer_with_i18next.md', 'ja'),\n fr: readLocale('intlayer_with_i18next.md', 'fr'),\n ko: readLocale('intlayer_with_i18next.md', 'ko'),\n zh: readLocale('intlayer_with_i18next.md', 'zh'),\n de: readLocale('intlayer_with_i18next.md', 'de'),\n ar: readLocale('intlayer_with_i18next.md', 'ar'),\n it: readLocale('intlayer_with_i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_i18next.md', 'pt'),\n hi: readLocale('intlayer_with_i18next.md', 'hi'),\n tr: readLocale('intlayer_with_i18next.md', 'tr'),\n pl: readLocale('intlayer_with_i18next.md', 'pl'),\n id: readLocale('intlayer_with_i18next.md', 'id'),\n vi: readLocale('intlayer_with_i18next.md', 'vi'),\n uk: readLocale('intlayer_with_i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_next-i18next.md': {\n en: readLocale('intlayer_with_next-i18next.md', 'en'),\n es: readLocale('intlayer_with_next-i18next.md', 'es'),\n ru: readLocale('intlayer_with_next-i18next.md', 'ru'),\n ja: readLocale('intlayer_with_next-i18next.md', 'ja'),\n fr: readLocale('intlayer_with_next-i18next.md', 'fr'),\n ko: readLocale('intlayer_with_next-i18next.md', 'ko'),\n zh: readLocale('intlayer_with_next-i18next.md', 'zh'),\n de: readLocale('intlayer_with_next-i18next.md', 'de'),\n ar: readLocale('intlayer_with_next-i18next.md', 'ar'),\n it: readLocale('intlayer_with_next-i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_next-i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_next-i18next.md', 'pt'),\n hi: readLocale('intlayer_with_next-i18next.md', 'hi'),\n tr: readLocale('intlayer_with_next-i18next.md', 'tr'),\n pl: readLocale('intlayer_with_next-i18next.md', 'pl'),\n id: readLocale('intlayer_with_next-i18next.md', 'id'),\n vi: readLocale('intlayer_with_next-i18next.md', 'vi'),\n uk: readLocale('intlayer_with_next-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_next-intl.md': {\n en: readLocale('intlayer_with_next-intl.md', 'en'),\n es: readLocale('intlayer_with_next-intl.md', 'es'),\n ru: readLocale('intlayer_with_next-intl.md', 'ru'),\n ja: readLocale('intlayer_with_next-intl.md', 'ja'),\n fr: readLocale('intlayer_with_next-intl.md', 'fr'),\n ko: readLocale('intlayer_with_next-intl.md', 'ko'),\n zh: readLocale('intlayer_with_next-intl.md', 'zh'),\n de: readLocale('intlayer_with_next-intl.md', 'de'),\n ar: readLocale('intlayer_with_next-intl.md', 'ar'),\n it: readLocale('intlayer_with_next-intl.md', 'it'),\n 'en-GB': readLocale('intlayer_with_next-intl.md', 'en-GB'),\n pt: readLocale('intlayer_with_next-intl.md', 'pt'),\n hi: readLocale('intlayer_with_next-intl.md', 'hi'),\n tr: readLocale('intlayer_with_next-intl.md', 'tr'),\n pl: readLocale('intlayer_with_next-intl.md', 'pl'),\n id: readLocale('intlayer_with_next-intl.md', 'id'),\n vi: readLocale('intlayer_with_next-intl.md', 'vi'),\n uk: readLocale('intlayer_with_next-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_react-i18next.md': {\n en: readLocale('intlayer_with_react-i18next.md', 'en'),\n es: readLocale('intlayer_with_react-i18next.md', 'es'),\n ru: readLocale('intlayer_with_react-i18next.md', 'ru'),\n ja: readLocale('intlayer_with_react-i18next.md', 'ja'),\n fr: readLocale('intlayer_with_react-i18next.md', 'fr'),\n ko: readLocale('intlayer_with_react-i18next.md', 'ko'),\n zh: readLocale('intlayer_with_react-i18next.md', 'zh'),\n de: readLocale('intlayer_with_react-i18next.md', 'de'),\n ar: readLocale('intlayer_with_react-i18next.md', 'ar'),\n it: readLocale('intlayer_with_react-i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_react-i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_react-i18next.md', 'pt'),\n hi: readLocale('intlayer_with_react-i18next.md', 'hi'),\n tr: readLocale('intlayer_with_react-i18next.md', 'tr'),\n pl: readLocale('intlayer_with_react-i18next.md', 'pl'),\n id: readLocale('intlayer_with_react-i18next.md', 'id'),\n vi: readLocale('intlayer_with_react-i18next.md', 'vi'),\n uk: readLocale('intlayer_with_react-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_react-intl.md': {\n en: readLocale('intlayer_with_react-intl.md', 'en'),\n es: readLocale('intlayer_with_react-intl.md', 'es'),\n ru: readLocale('intlayer_with_react-intl.md', 'ru'),\n ja: readLocale('intlayer_with_react-intl.md', 'ja'),\n fr: readLocale('intlayer_with_react-intl.md', 'fr'),\n ko: readLocale('intlayer_with_react-intl.md', 'ko'),\n zh: readLocale('intlayer_with_react-intl.md', 'zh'),\n de: readLocale('intlayer_with_react-intl.md', 'de'),\n ar: readLocale('intlayer_with_react-intl.md', 'ar'),\n it: readLocale('intlayer_with_react-intl.md', 'it'),\n 'en-GB': readLocale('intlayer_with_react-intl.md', 'en-GB'),\n pt: readLocale('intlayer_with_react-intl.md', 'pt'),\n hi: readLocale('intlayer_with_react-intl.md', 'hi'),\n tr: readLocale('intlayer_with_react-intl.md', 'tr'),\n pl: readLocale('intlayer_with_react-intl.md', 'pl'),\n id: readLocale('intlayer_with_react-intl.md', 'id'),\n vi: readLocale('intlayer_with_react-intl.md', 'vi'),\n uk: readLocale('intlayer_with_react-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_vue-i18n.md': {\n en: readLocale('intlayer_with_vue-i18n.md', 'en'),\n es: readLocale('intlayer_with_vue-i18n.md', 'es'),\n ru: readLocale('intlayer_with_vue-i18n.md', 'ru'),\n ja: readLocale('intlayer_with_vue-i18n.md', 'ja'),\n fr: readLocale('intlayer_with_vue-i18n.md', 'fr'),\n ko: readLocale('intlayer_with_vue-i18n.md', 'ko'),\n zh: readLocale('intlayer_with_vue-i18n.md', 'zh'),\n de: readLocale('intlayer_with_vue-i18n.md', 'de'),\n ar: readLocale('intlayer_with_vue-i18n.md', 'ar'),\n it: readLocale('intlayer_with_vue-i18n.md', 'it'),\n 'en-GB': readLocale('intlayer_with_vue-i18n.md', 'en-GB'),\n pt: readLocale('intlayer_with_vue-i18n.md', 'pt'),\n hi: readLocale('intlayer_with_vue-i18n.md', 'hi'),\n tr: readLocale('intlayer_with_vue-i18n.md', 'tr'),\n pl: readLocale('intlayer_with_vue-i18n.md', 'pl'),\n id: readLocale('intlayer_with_vue-i18n.md', 'id'),\n vi: readLocale('intlayer_with_vue-i18n.md', 'vi'),\n uk: readLocale('intlayer_with_vue-i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/Lokalise.md': {\n en: readLocale('l10n_platform_alternative/Lokalise.md', 'en'),\n es: readLocale('l10n_platform_alternative/Lokalise.md', 'es'),\n ru: readLocale('l10n_platform_alternative/Lokalise.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/Lokalise.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/Lokalise.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/Lokalise.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/Lokalise.md', 'zh'),\n de: readLocale('l10n_platform_alternative/Lokalise.md', 'de'),\n ar: readLocale('l10n_platform_alternative/Lokalise.md', 'ar'),\n it: readLocale('l10n_platform_alternative/Lokalise.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/Lokalise.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/Lokalise.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/Lokalise.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/Lokalise.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/Lokalise.md', 'pl'),\n id: readLocale('l10n_platform_alternative/Lokalise.md', 'id'),\n vi: readLocale('l10n_platform_alternative/Lokalise.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/Lokalise.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/crowdin.md': {\n en: readLocale('l10n_platform_alternative/crowdin.md', 'en'),\n es: readLocale('l10n_platform_alternative/crowdin.md', 'es'),\n ru: readLocale('l10n_platform_alternative/crowdin.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/crowdin.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/crowdin.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/crowdin.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/crowdin.md', 'zh'),\n de: readLocale('l10n_platform_alternative/crowdin.md', 'de'),\n ar: readLocale('l10n_platform_alternative/crowdin.md', 'ar'),\n it: readLocale('l10n_platform_alternative/crowdin.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/crowdin.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/crowdin.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/crowdin.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/crowdin.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/crowdin.md', 'pl'),\n id: readLocale('l10n_platform_alternative/crowdin.md', 'id'),\n vi: readLocale('l10n_platform_alternative/crowdin.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/crowdin.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/phrase.md': {\n en: readLocale('l10n_platform_alternative/phrase.md', 'en'),\n es: readLocale('l10n_platform_alternative/phrase.md', 'es'),\n ru: readLocale('l10n_platform_alternative/phrase.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/phrase.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/phrase.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/phrase.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/phrase.md', 'zh'),\n de: readLocale('l10n_platform_alternative/phrase.md', 'de'),\n ar: readLocale('l10n_platform_alternative/phrase.md', 'ar'),\n it: readLocale('l10n_platform_alternative/phrase.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/phrase.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/phrase.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/phrase.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/phrase.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/phrase.md', 'pl'),\n id: readLocale('l10n_platform_alternative/phrase.md', 'id'),\n vi: readLocale('l10n_platform_alternative/phrase.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/phrase.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/angular.md': {\n en: readLocale('list_i18n_technologies/frameworks/angular.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/angular.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/angular.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/angular.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/angular.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/angular.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/angular.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/angular.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/angular.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/angular.md', 'it'),\n 'en-GB': readLocale(\n 'list_i18n_technologies/frameworks/angular.md',\n 'en-GB'\n ),\n pt: readLocale('list_i18n_technologies/frameworks/angular.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/angular.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/angular.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/angular.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/angular.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/angular.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/angular.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/react-native.md': {\n en: readLocale('list_i18n_technologies/frameworks/react-native.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/react-native.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/react-native.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/react-native.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/react-native.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/react-native.md', 'it'),\n 'en-GB': readLocale(\n 'list_i18n_technologies/frameworks/react-native.md',\n 'en-GB'\n ),\n pt: readLocale('list_i18n_technologies/frameworks/react-native.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/react-native.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/react-native.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/react-native.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/react-native.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/react-native.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/react-native.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/react.md': {\n en: readLocale('list_i18n_technologies/frameworks/react.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/react.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/react.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/react.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/react.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/react.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/react.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/react.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/react.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/react.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/react.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/react.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/react.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/react.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/react.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/react.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/react.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/react.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/svelte.md': {\n en: readLocale('list_i18n_technologies/frameworks/svelte.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/svelte.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/svelte.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/svelte.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/svelte.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/svelte.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/svelte.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/svelte.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/svelte.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/svelte.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/svelte.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/svelte.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/svelte.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/svelte.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/vue.md': {\n en: readLocale('list_i18n_technologies/frameworks/vue.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/vue.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/vue.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/vue.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/vue.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/vue.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/vue.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/vue.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/vue.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/vue.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/vue.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/vue.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/vue.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/vue.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/vue.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/vue.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/vue.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/vue.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/next-i18next_vs_next-intl_vs_intlayer.md': {\n en: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'en'),\n es: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'es'),\n ru: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ru'),\n ja: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ja'),\n fr: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'fr'),\n ko: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ko'),\n zh: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'zh'),\n de: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'de'),\n ar: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ar'),\n it: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'en-GB'),\n pt: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'pt'),\n hi: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'hi'),\n tr: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'tr'),\n pl: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'pl'),\n id: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'id'),\n vi: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'vi'),\n uk: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/nextjs-multilingual-seo-comparison.md': {\n en: readLocale('nextjs-multilingual-seo-comparison.md', 'en'),\n es: readLocale('nextjs-multilingual-seo-comparison.md', 'es'),\n ru: readLocale('nextjs-multilingual-seo-comparison.md', 'ru'),\n ja: readLocale('nextjs-multilingual-seo-comparison.md', 'ja'),\n fr: readLocale('nextjs-multilingual-seo-comparison.md', 'fr'),\n ko: readLocale('nextjs-multilingual-seo-comparison.md', 'ko'),\n zh: readLocale('nextjs-multilingual-seo-comparison.md', 'zh'),\n de: readLocale('nextjs-multilingual-seo-comparison.md', 'de'),\n ar: readLocale('nextjs-multilingual-seo-comparison.md', 'ar'),\n it: readLocale('nextjs-multilingual-seo-comparison.md', 'it'),\n 'en-GB': readLocale('nextjs-multilingual-seo-comparison.md', 'en-GB'),\n pt: readLocale('nextjs-multilingual-seo-comparison.md', 'pt'),\n hi: readLocale('nextjs-multilingual-seo-comparison.md', 'hi'),\n tr: readLocale('nextjs-multilingual-seo-comparison.md', 'tr'),\n pl: readLocale('nextjs-multilingual-seo-comparison.md', 'pl'),\n id: readLocale('nextjs-multilingual-seo-comparison.md', 'id'),\n vi: readLocale('nextjs-multilingual-seo-comparison.md', 'vi'),\n uk: readLocale('nextjs-multilingual-seo-comparison.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/per-component_vs_centralized_i18n.md': {\n en: readLocale('per-component_vs_centralized_i18n.md', 'en'),\n es: readLocale('per-component_vs_centralized_i18n.md', 'es'),\n ru: readLocale('per-component_vs_centralized_i18n.md', 'ru'),\n ja: readLocale('per-component_vs_centralized_i18n.md', 'ja'),\n fr: readLocale('per-component_vs_centralized_i18n.md', 'fr'),\n ko: readLocale('per-component_vs_centralized_i18n.md', 'ko'),\n zh: readLocale('per-component_vs_centralized_i18n.md', 'zh'),\n de: readLocale('per-component_vs_centralized_i18n.md', 'de'),\n ar: readLocale('per-component_vs_centralized_i18n.md', 'ar'),\n it: readLocale('per-component_vs_centralized_i18n.md', 'it'),\n 'en-GB': readLocale('per-component_vs_centralized_i18n.md', 'en-GB'),\n pt: readLocale('per-component_vs_centralized_i18n.md', 'pt'),\n hi: readLocale('per-component_vs_centralized_i18n.md', 'hi'),\n tr: readLocale('per-component_vs_centralized_i18n.md', 'tr'),\n pl: readLocale('per-component_vs_centralized_i18n.md', 'pl'),\n id: readLocale('per-component_vs_centralized_i18n.md', 'id'),\n vi: readLocale('per-component_vs_centralized_i18n.md', 'vi'),\n uk: readLocale('per-component_vs_centralized_i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/rag_powered_documentation_assistant.md': {\n en: readLocale('rag_powered_documentation_assistant.md', 'en'),\n es: readLocale('rag_powered_documentation_assistant.md', 'es'),\n ru: readLocale('rag_powered_documentation_assistant.md', 'ru'),\n ja: readLocale('rag_powered_documentation_assistant.md', 'ja'),\n fr: readLocale('rag_powered_documentation_assistant.md', 'fr'),\n ko: readLocale('rag_powered_documentation_assistant.md', 'ko'),\n zh: readLocale('rag_powered_documentation_assistant.md', 'zh'),\n de: readLocale('rag_powered_documentation_assistant.md', 'de'),\n ar: readLocale('rag_powered_documentation_assistant.md', 'ar'),\n it: readLocale('rag_powered_documentation_assistant.md', 'it'),\n 'en-GB': readLocale('rag_powered_documentation_assistant.md', 'en-GB'),\n pt: readLocale('rag_powered_documentation_assistant.md', 'pt'),\n hi: readLocale('rag_powered_documentation_assistant.md', 'hi'),\n tr: readLocale('rag_powered_documentation_assistant.md', 'tr'),\n pl: readLocale('rag_powered_documentation_assistant.md', 'pl'),\n id: readLocale('rag_powered_documentation_assistant.md', 'id'),\n vi: readLocale('rag_powered_documentation_assistant.md', 'vi'),\n uk: readLocale('rag_powered_documentation_assistant.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/react-i18next_vs_react-intl_vs_intlayer.md': {\n en: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'en'),\n es: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'es'),\n ru: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ru'),\n ja: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ja'),\n fr: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'fr'),\n ko: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ko'),\n zh: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'zh'),\n de: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'de'),\n ar: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ar'),\n it: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'en-GB'),\n pt: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'pt'),\n hi: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'hi'),\n tr: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'tr'),\n pl: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'pl'),\n id: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'id'),\n vi: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'vi'),\n uk: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/vue-i18n_vs_intlayer.md': {\n en: readLocale('vue-i18n_vs_intlayer.md', 'en'),\n es: readLocale('vue-i18n_vs_intlayer.md', 'es'),\n ru: readLocale('vue-i18n_vs_intlayer.md', 'ru'),\n ja: readLocale('vue-i18n_vs_intlayer.md', 'ja'),\n fr: readLocale('vue-i18n_vs_intlayer.md', 'fr'),\n ko: readLocale('vue-i18n_vs_intlayer.md', 'ko'),\n zh: readLocale('vue-i18n_vs_intlayer.md', 'zh'),\n de: readLocale('vue-i18n_vs_intlayer.md', 'de'),\n ar: readLocale('vue-i18n_vs_intlayer.md', 'ar'),\n it: readLocale('vue-i18n_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('vue-i18n_vs_intlayer.md', 'en-GB'),\n pt: readLocale('vue-i18n_vs_intlayer.md', 'pt'),\n hi: readLocale('vue-i18n_vs_intlayer.md', 'hi'),\n tr: readLocale('vue-i18n_vs_intlayer.md', 'tr'),\n pl: readLocale('vue-i18n_vs_intlayer.md', 'pl'),\n id: readLocale('vue-i18n_vs_intlayer.md', 'id'),\n vi: readLocale('vue-i18n_vs_intlayer.md', 'vi'),\n uk: readLocale('vue-i18n_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/what_is_internationalization.md': {\n en: readLocale('what_is_internationalization.md', 'en'),\n es: readLocale('what_is_internationalization.md', 'es'),\n ru: readLocale('what_is_internationalization.md', 'ru'),\n ja: readLocale('what_is_internationalization.md', 'ja'),\n fr: readLocale('what_is_internationalization.md', 'fr'),\n ko: readLocale('what_is_internationalization.md', 'ko'),\n zh: readLocale('what_is_internationalization.md', 'zh'),\n de: readLocale('what_is_internationalization.md', 'de'),\n ar: readLocale('what_is_internationalization.md', 'ar'),\n it: readLocale('what_is_internationalization.md', 'it'),\n 'en-GB': readLocale('what_is_internationalization.md', 'en-GB'),\n pt: readLocale('what_is_internationalization.md', 'pt'),\n hi: readLocale('what_is_internationalization.md', 'hi'),\n tr: readLocale('what_is_internationalization.md', 'tr'),\n pl: readLocale('what_is_internationalization.md', 'pl'),\n id: readLocale('what_is_internationalization.md', 'id'),\n vi: readLocale('what_is_internationalization.md', 'vi'),\n uk: readLocale('what_is_internationalization.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blog.entry.cjs","names":[],"sources":["../../../src/generated/blog.entry.ts"],"sourcesContent":["/* AUTO-GENERATED – DO NOT EDIT */\n/* REGENERATE USING `pnpm prepare` */\nimport { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { join, dirname as pathDirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { getPackageJsonPath, getProjectRequire } from '@intlayer/config/utils';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\n// Robustly resolve the base directory of the @intlayer/docs package in both\n// bundled environments (Next.js) and standalone CLIs (MCP via npx).\nconst currentDir =\n typeof __dirname !== 'undefined'\n ? __dirname\n : pathDirname(fileURLToPath(import.meta.url));\n\nlet baseDir: string;\ntry {\n // Prefer resolving from the location of this file (works for CLIs).\n const projectRequire = getProjectRequire(currentDir);\n const docEntryPath = projectRequire.resolve('@intlayer/docs');\n baseDir = getPackageJsonPath(docEntryPath).baseDir;\n} catch {\n try {\n // Fallback: resolve from the consumer project (works for apps/bundlers).\n const projectRequire = getProjectRequire();\n const docEntryPath = projectRequire.resolve('@intlayer/docs');\n baseDir = getPackageJsonPath(docEntryPath).baseDir;\n } catch {\n // Last resort: walk up from currentDir (useful when executed inside @intlayer/docs).\n baseDir = getPackageJsonPath(currentDir).baseDir;\n }\n}\n\n/**\n * Reads a document, preferring the requested locale and falling back to English.\n */\nconst readLocaleFile = async (\n relativeAfterLocale: string,\n locale: LocalesValues\n): Promise<string> => {\n const target1 = join(baseDir, `./blog/${locale}/${relativeAfterLocale}`);\n if (existsSync(target1)) {\n return await readFile(target1, 'utf8');\n }\n const target2 = join(baseDir, `./blog/en/${relativeAfterLocale}`);\n if (existsSync(target2)) {\n return await readFile(target2, 'utf8');\n }\n\n throw new Error(\n `[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`\n );\n};\n\n/**\n * Builds a lazy, awaitable handle over a document.\n *\n * The entry map below holds one handle per document *per locale*, so reading\n * eagerly would pull every markdown file of every locale into memory as soon as\n * this module is imported — hundreds of megabytes, duplicated in every\n * prerender worker, for the handful of documents a page actually renders.\n *\n * The returned value is a thenable rather than a promise: consumers only ever\n * `await` it, and `await` triggers `then`, so the file is read on first use and\n * the resulting promise is cached for subsequent reads.\n */\nconst readLocale = (\n relativeAfterLocale: string,\n locale: LocalesValues\n): Promise<string> => {\n let pendingRead: Promise<string> | undefined;\n\n const read = (): Promise<string> => {\n pendingRead ??= readLocaleFile(relativeAfterLocale, locale);\n return pendingRead;\n };\n\n return {\n // biome-ignore lint/suspicious/noThenProperty: the thenable is intentional — `await` is what triggers the lazy read.\n then: (onFulfilled, onRejected) => read().then(onFulfilled, onRejected),\n catch: (onRejected) => read().catch(onRejected),\n finally: (onFinally) => read().finally(onFinally),\n } as Promise<string>;\n};\n\nexport const blogEntry = {\n './blog/en/compiler_vs_declarative_i18n.md': {\n en: readLocale('compiler_vs_declarative_i18n.md', 'en'),\n es: readLocale('compiler_vs_declarative_i18n.md', 'es'),\n ru: readLocale('compiler_vs_declarative_i18n.md', 'ru'),\n ja: readLocale('compiler_vs_declarative_i18n.md', 'ja'),\n fr: readLocale('compiler_vs_declarative_i18n.md', 'fr'),\n ko: readLocale('compiler_vs_declarative_i18n.md', 'ko'),\n zh: readLocale('compiler_vs_declarative_i18n.md', 'zh'),\n de: readLocale('compiler_vs_declarative_i18n.md', 'de'),\n ar: readLocale('compiler_vs_declarative_i18n.md', 'ar'),\n it: readLocale('compiler_vs_declarative_i18n.md', 'it'),\n 'en-GB': readLocale('compiler_vs_declarative_i18n.md', 'en-GB'),\n pt: readLocale('compiler_vs_declarative_i18n.md', 'pt'),\n hi: readLocale('compiler_vs_declarative_i18n.md', 'hi'),\n tr: readLocale('compiler_vs_declarative_i18n.md', 'tr'),\n pl: readLocale('compiler_vs_declarative_i18n.md', 'pl'),\n id: readLocale('compiler_vs_declarative_i18n.md', 'id'),\n vi: readLocale('compiler_vs_declarative_i18n.md', 'vi'),\n uk: readLocale('compiler_vs_declarative_i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_meaning.md': {\n en: readLocale('i18n_meaning.md', 'en'),\n es: readLocale('i18n_meaning.md', 'es'),\n ru: readLocale('i18n_meaning.md', 'ru'),\n ja: readLocale('i18n_meaning.md', 'ja'),\n fr: readLocale('i18n_meaning.md', 'fr'),\n ko: readLocale('i18n_meaning.md', 'ko'),\n zh: readLocale('i18n_meaning.md', 'zh'),\n de: readLocale('i18n_meaning.md', 'de'),\n ar: readLocale('i18n_meaning.md', 'ar'),\n it: readLocale('i18n_meaning.md', 'it'),\n 'en-GB': readLocale('i18n_meaning.md', 'en-GB'),\n pt: readLocale('i18n_meaning.md', 'pt'),\n hi: readLocale('i18n_meaning.md', 'hi'),\n tr: readLocale('i18n_meaning.md', 'tr'),\n pl: readLocale('i18n_meaning.md', 'pl'),\n id: readLocale('i18n_meaning.md', 'id'),\n vi: readLocale('i18n_meaning.md', 'vi'),\n uk: readLocale('i18n_meaning.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_using_next-i18next.md': {\n en: readLocale('i18n_using_next-i18next.md', 'en'),\n es: readLocale('i18n_using_next-i18next.md', 'es'),\n ru: readLocale('i18n_using_next-i18next.md', 'ru'),\n ja: readLocale('i18n_using_next-i18next.md', 'ja'),\n fr: readLocale('i18n_using_next-i18next.md', 'fr'),\n ko: readLocale('i18n_using_next-i18next.md', 'ko'),\n zh: readLocale('i18n_using_next-i18next.md', 'zh'),\n de: readLocale('i18n_using_next-i18next.md', 'de'),\n ar: readLocale('i18n_using_next-i18next.md', 'ar'),\n it: readLocale('i18n_using_next-i18next.md', 'it'),\n 'en-GB': readLocale('i18n_using_next-i18next.md', 'en-GB'),\n pt: readLocale('i18n_using_next-i18next.md', 'pt'),\n hi: readLocale('i18n_using_next-i18next.md', 'hi'),\n tr: readLocale('i18n_using_next-i18next.md', 'tr'),\n pl: readLocale('i18n_using_next-i18next.md', 'pl'),\n id: readLocale('i18n_using_next-i18next.md', 'id'),\n vi: readLocale('i18n_using_next-i18next.md', 'vi'),\n uk: readLocale('i18n_using_next-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/i18n_using_next-intl.md': {\n en: readLocale('i18n_using_next-intl.md', 'en'),\n es: readLocale('i18n_using_next-intl.md', 'es'),\n ru: readLocale('i18n_using_next-intl.md', 'ru'),\n ja: readLocale('i18n_using_next-intl.md', 'ja'),\n fr: readLocale('i18n_using_next-intl.md', 'fr'),\n ko: readLocale('i18n_using_next-intl.md', 'ko'),\n zh: readLocale('i18n_using_next-intl.md', 'zh'),\n de: readLocale('i18n_using_next-intl.md', 'de'),\n ar: readLocale('i18n_using_next-intl.md', 'ar'),\n it: readLocale('i18n_using_next-intl.md', 'it'),\n 'en-GB': readLocale('i18n_using_next-intl.md', 'en-GB'),\n pt: readLocale('i18n_using_next-intl.md', 'pt'),\n hi: readLocale('i18n_using_next-intl.md', 'hi'),\n tr: readLocale('i18n_using_next-intl.md', 'tr'),\n pl: readLocale('i18n_using_next-intl.md', 'pl'),\n id: readLocale('i18n_using_next-intl.md', 'id'),\n vi: readLocale('i18n_using_next-intl.md', 'vi'),\n uk: readLocale('i18n_using_next-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/index.md': {\n en: readLocale('index.md', 'en'),\n es: readLocale('index.md', 'es'),\n ru: readLocale('index.md', 'ru'),\n ja: readLocale('index.md', 'ja'),\n fr: readLocale('index.md', 'fr'),\n ko: readLocale('index.md', 'ko'),\n zh: readLocale('index.md', 'zh'),\n de: readLocale('index.md', 'de'),\n ar: readLocale('index.md', 'ar'),\n it: readLocale('index.md', 'it'),\n 'en-GB': readLocale('index.md', 'en-GB'),\n pt: readLocale('index.md', 'pt'),\n hi: readLocale('index.md', 'hi'),\n tr: readLocale('index.md', 'tr'),\n pl: readLocale('index.md', 'pl'),\n id: readLocale('index.md', 'id'),\n vi: readLocale('index.md', 'vi'),\n uk: readLocale('index.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/internationalization_and_SEO.md': {\n en: readLocale('internationalization_and_SEO.md', 'en'),\n es: readLocale('internationalization_and_SEO.md', 'es'),\n ru: readLocale('internationalization_and_SEO.md', 'ru'),\n ja: readLocale('internationalization_and_SEO.md', 'ja'),\n fr: readLocale('internationalization_and_SEO.md', 'fr'),\n ko: readLocale('internationalization_and_SEO.md', 'ko'),\n zh: readLocale('internationalization_and_SEO.md', 'zh'),\n de: readLocale('internationalization_and_SEO.md', 'de'),\n ar: readLocale('internationalization_and_SEO.md', 'ar'),\n it: readLocale('internationalization_and_SEO.md', 'it'),\n 'en-GB': readLocale('internationalization_and_SEO.md', 'en-GB'),\n pt: readLocale('internationalization_and_SEO.md', 'pt'),\n hi: readLocale('internationalization_and_SEO.md', 'hi'),\n tr: readLocale('internationalization_and_SEO.md', 'tr'),\n pl: readLocale('internationalization_and_SEO.md', 'pl'),\n id: readLocale('internationalization_and_SEO.md', 'id'),\n vi: readLocale('internationalization_and_SEO.md', 'vi'),\n uk: readLocale('internationalization_and_SEO.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_i18next.md': {\n en: readLocale('intlayer_with_i18next.md', 'en'),\n es: readLocale('intlayer_with_i18next.md', 'es'),\n ru: readLocale('intlayer_with_i18next.md', 'ru'),\n ja: readLocale('intlayer_with_i18next.md', 'ja'),\n fr: readLocale('intlayer_with_i18next.md', 'fr'),\n ko: readLocale('intlayer_with_i18next.md', 'ko'),\n zh: readLocale('intlayer_with_i18next.md', 'zh'),\n de: readLocale('intlayer_with_i18next.md', 'de'),\n ar: readLocale('intlayer_with_i18next.md', 'ar'),\n it: readLocale('intlayer_with_i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_i18next.md', 'pt'),\n hi: readLocale('intlayer_with_i18next.md', 'hi'),\n tr: readLocale('intlayer_with_i18next.md', 'tr'),\n pl: readLocale('intlayer_with_i18next.md', 'pl'),\n id: readLocale('intlayer_with_i18next.md', 'id'),\n vi: readLocale('intlayer_with_i18next.md', 'vi'),\n uk: readLocale('intlayer_with_i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_next-i18next.md': {\n en: readLocale('intlayer_with_next-i18next.md', 'en'),\n es: readLocale('intlayer_with_next-i18next.md', 'es'),\n ru: readLocale('intlayer_with_next-i18next.md', 'ru'),\n ja: readLocale('intlayer_with_next-i18next.md', 'ja'),\n fr: readLocale('intlayer_with_next-i18next.md', 'fr'),\n ko: readLocale('intlayer_with_next-i18next.md', 'ko'),\n zh: readLocale('intlayer_with_next-i18next.md', 'zh'),\n de: readLocale('intlayer_with_next-i18next.md', 'de'),\n ar: readLocale('intlayer_with_next-i18next.md', 'ar'),\n it: readLocale('intlayer_with_next-i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_next-i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_next-i18next.md', 'pt'),\n hi: readLocale('intlayer_with_next-i18next.md', 'hi'),\n tr: readLocale('intlayer_with_next-i18next.md', 'tr'),\n pl: readLocale('intlayer_with_next-i18next.md', 'pl'),\n id: readLocale('intlayer_with_next-i18next.md', 'id'),\n vi: readLocale('intlayer_with_next-i18next.md', 'vi'),\n uk: readLocale('intlayer_with_next-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_next-intl.md': {\n en: readLocale('intlayer_with_next-intl.md', 'en'),\n es: readLocale('intlayer_with_next-intl.md', 'es'),\n ru: readLocale('intlayer_with_next-intl.md', 'ru'),\n ja: readLocale('intlayer_with_next-intl.md', 'ja'),\n fr: readLocale('intlayer_with_next-intl.md', 'fr'),\n ko: readLocale('intlayer_with_next-intl.md', 'ko'),\n zh: readLocale('intlayer_with_next-intl.md', 'zh'),\n de: readLocale('intlayer_with_next-intl.md', 'de'),\n ar: readLocale('intlayer_with_next-intl.md', 'ar'),\n it: readLocale('intlayer_with_next-intl.md', 'it'),\n 'en-GB': readLocale('intlayer_with_next-intl.md', 'en-GB'),\n pt: readLocale('intlayer_with_next-intl.md', 'pt'),\n hi: readLocale('intlayer_with_next-intl.md', 'hi'),\n tr: readLocale('intlayer_with_next-intl.md', 'tr'),\n pl: readLocale('intlayer_with_next-intl.md', 'pl'),\n id: readLocale('intlayer_with_next-intl.md', 'id'),\n vi: readLocale('intlayer_with_next-intl.md', 'vi'),\n uk: readLocale('intlayer_with_next-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_react-i18next.md': {\n en: readLocale('intlayer_with_react-i18next.md', 'en'),\n es: readLocale('intlayer_with_react-i18next.md', 'es'),\n ru: readLocale('intlayer_with_react-i18next.md', 'ru'),\n ja: readLocale('intlayer_with_react-i18next.md', 'ja'),\n fr: readLocale('intlayer_with_react-i18next.md', 'fr'),\n ko: readLocale('intlayer_with_react-i18next.md', 'ko'),\n zh: readLocale('intlayer_with_react-i18next.md', 'zh'),\n de: readLocale('intlayer_with_react-i18next.md', 'de'),\n ar: readLocale('intlayer_with_react-i18next.md', 'ar'),\n it: readLocale('intlayer_with_react-i18next.md', 'it'),\n 'en-GB': readLocale('intlayer_with_react-i18next.md', 'en-GB'),\n pt: readLocale('intlayer_with_react-i18next.md', 'pt'),\n hi: readLocale('intlayer_with_react-i18next.md', 'hi'),\n tr: readLocale('intlayer_with_react-i18next.md', 'tr'),\n pl: readLocale('intlayer_with_react-i18next.md', 'pl'),\n id: readLocale('intlayer_with_react-i18next.md', 'id'),\n vi: readLocale('intlayer_with_react-i18next.md', 'vi'),\n uk: readLocale('intlayer_with_react-i18next.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_react-intl.md': {\n en: readLocale('intlayer_with_react-intl.md', 'en'),\n es: readLocale('intlayer_with_react-intl.md', 'es'),\n ru: readLocale('intlayer_with_react-intl.md', 'ru'),\n ja: readLocale('intlayer_with_react-intl.md', 'ja'),\n fr: readLocale('intlayer_with_react-intl.md', 'fr'),\n ko: readLocale('intlayer_with_react-intl.md', 'ko'),\n zh: readLocale('intlayer_with_react-intl.md', 'zh'),\n de: readLocale('intlayer_with_react-intl.md', 'de'),\n ar: readLocale('intlayer_with_react-intl.md', 'ar'),\n it: readLocale('intlayer_with_react-intl.md', 'it'),\n 'en-GB': readLocale('intlayer_with_react-intl.md', 'en-GB'),\n pt: readLocale('intlayer_with_react-intl.md', 'pt'),\n hi: readLocale('intlayer_with_react-intl.md', 'hi'),\n tr: readLocale('intlayer_with_react-intl.md', 'tr'),\n pl: readLocale('intlayer_with_react-intl.md', 'pl'),\n id: readLocale('intlayer_with_react-intl.md', 'id'),\n vi: readLocale('intlayer_with_react-intl.md', 'vi'),\n uk: readLocale('intlayer_with_react-intl.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/intlayer_with_vue-i18n.md': {\n en: readLocale('intlayer_with_vue-i18n.md', 'en'),\n es: readLocale('intlayer_with_vue-i18n.md', 'es'),\n ru: readLocale('intlayer_with_vue-i18n.md', 'ru'),\n ja: readLocale('intlayer_with_vue-i18n.md', 'ja'),\n fr: readLocale('intlayer_with_vue-i18n.md', 'fr'),\n ko: readLocale('intlayer_with_vue-i18n.md', 'ko'),\n zh: readLocale('intlayer_with_vue-i18n.md', 'zh'),\n de: readLocale('intlayer_with_vue-i18n.md', 'de'),\n ar: readLocale('intlayer_with_vue-i18n.md', 'ar'),\n it: readLocale('intlayer_with_vue-i18n.md', 'it'),\n 'en-GB': readLocale('intlayer_with_vue-i18n.md', 'en-GB'),\n pt: readLocale('intlayer_with_vue-i18n.md', 'pt'),\n hi: readLocale('intlayer_with_vue-i18n.md', 'hi'),\n tr: readLocale('intlayer_with_vue-i18n.md', 'tr'),\n pl: readLocale('intlayer_with_vue-i18n.md', 'pl'),\n id: readLocale('intlayer_with_vue-i18n.md', 'id'),\n vi: readLocale('intlayer_with_vue-i18n.md', 'vi'),\n uk: readLocale('intlayer_with_vue-i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/Lokalise.md': {\n en: readLocale('l10n_platform_alternative/Lokalise.md', 'en'),\n es: readLocale('l10n_platform_alternative/Lokalise.md', 'es'),\n ru: readLocale('l10n_platform_alternative/Lokalise.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/Lokalise.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/Lokalise.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/Lokalise.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/Lokalise.md', 'zh'),\n de: readLocale('l10n_platform_alternative/Lokalise.md', 'de'),\n ar: readLocale('l10n_platform_alternative/Lokalise.md', 'ar'),\n it: readLocale('l10n_platform_alternative/Lokalise.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/Lokalise.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/Lokalise.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/Lokalise.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/Lokalise.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/Lokalise.md', 'pl'),\n id: readLocale('l10n_platform_alternative/Lokalise.md', 'id'),\n vi: readLocale('l10n_platform_alternative/Lokalise.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/Lokalise.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/crowdin.md': {\n en: readLocale('l10n_platform_alternative/crowdin.md', 'en'),\n es: readLocale('l10n_platform_alternative/crowdin.md', 'es'),\n ru: readLocale('l10n_platform_alternative/crowdin.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/crowdin.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/crowdin.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/crowdin.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/crowdin.md', 'zh'),\n de: readLocale('l10n_platform_alternative/crowdin.md', 'de'),\n ar: readLocale('l10n_platform_alternative/crowdin.md', 'ar'),\n it: readLocale('l10n_platform_alternative/crowdin.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/crowdin.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/crowdin.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/crowdin.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/crowdin.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/crowdin.md', 'pl'),\n id: readLocale('l10n_platform_alternative/crowdin.md', 'id'),\n vi: readLocale('l10n_platform_alternative/crowdin.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/crowdin.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/l10n_platform_alternative/phrase.md': {\n en: readLocale('l10n_platform_alternative/phrase.md', 'en'),\n es: readLocale('l10n_platform_alternative/phrase.md', 'es'),\n ru: readLocale('l10n_platform_alternative/phrase.md', 'ru'),\n ja: readLocale('l10n_platform_alternative/phrase.md', 'ja'),\n fr: readLocale('l10n_platform_alternative/phrase.md', 'fr'),\n ko: readLocale('l10n_platform_alternative/phrase.md', 'ko'),\n zh: readLocale('l10n_platform_alternative/phrase.md', 'zh'),\n de: readLocale('l10n_platform_alternative/phrase.md', 'de'),\n ar: readLocale('l10n_platform_alternative/phrase.md', 'ar'),\n it: readLocale('l10n_platform_alternative/phrase.md', 'it'),\n 'en-GB': readLocale('l10n_platform_alternative/phrase.md', 'en-GB'),\n pt: readLocale('l10n_platform_alternative/phrase.md', 'pt'),\n hi: readLocale('l10n_platform_alternative/phrase.md', 'hi'),\n tr: readLocale('l10n_platform_alternative/phrase.md', 'tr'),\n pl: readLocale('l10n_platform_alternative/phrase.md', 'pl'),\n id: readLocale('l10n_platform_alternative/phrase.md', 'id'),\n vi: readLocale('l10n_platform_alternative/phrase.md', 'vi'),\n uk: readLocale('l10n_platform_alternative/phrase.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/angular.md': {\n en: readLocale('list_i18n_technologies/frameworks/angular.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/angular.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/angular.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/angular.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/angular.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/angular.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/angular.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/angular.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/angular.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/angular.md', 'it'),\n 'en-GB': readLocale(\n 'list_i18n_technologies/frameworks/angular.md',\n 'en-GB'\n ),\n pt: readLocale('list_i18n_technologies/frameworks/angular.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/angular.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/angular.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/angular.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/angular.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/angular.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/angular.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/react-native.md': {\n en: readLocale('list_i18n_technologies/frameworks/react-native.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/react-native.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/react-native.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/react-native.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/react-native.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/react-native.md', 'it'),\n 'en-GB': readLocale(\n 'list_i18n_technologies/frameworks/react-native.md',\n 'en-GB'\n ),\n pt: readLocale('list_i18n_technologies/frameworks/react-native.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/react-native.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/react-native.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/react-native.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/react-native.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/react-native.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/react-native.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/react.md': {\n en: readLocale('list_i18n_technologies/frameworks/react.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/react.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/react.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/react.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/react.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/react.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/react.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/react.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/react.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/react.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/react.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/react.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/react.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/react.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/react.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/react.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/react.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/react.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/svelte.md': {\n en: readLocale('list_i18n_technologies/frameworks/svelte.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/svelte.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/svelte.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/svelte.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/svelte.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/svelte.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/svelte.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/svelte.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/svelte.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/svelte.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/svelte.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/svelte.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/svelte.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/svelte.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/list_i18n_technologies/frameworks/vue.md': {\n en: readLocale('list_i18n_technologies/frameworks/vue.md', 'en'),\n es: readLocale('list_i18n_technologies/frameworks/vue.md', 'es'),\n ru: readLocale('list_i18n_technologies/frameworks/vue.md', 'ru'),\n ja: readLocale('list_i18n_technologies/frameworks/vue.md', 'ja'),\n fr: readLocale('list_i18n_technologies/frameworks/vue.md', 'fr'),\n ko: readLocale('list_i18n_technologies/frameworks/vue.md', 'ko'),\n zh: readLocale('list_i18n_technologies/frameworks/vue.md', 'zh'),\n de: readLocale('list_i18n_technologies/frameworks/vue.md', 'de'),\n ar: readLocale('list_i18n_technologies/frameworks/vue.md', 'ar'),\n it: readLocale('list_i18n_technologies/frameworks/vue.md', 'it'),\n 'en-GB': readLocale('list_i18n_technologies/frameworks/vue.md', 'en-GB'),\n pt: readLocale('list_i18n_technologies/frameworks/vue.md', 'pt'),\n hi: readLocale('list_i18n_technologies/frameworks/vue.md', 'hi'),\n tr: readLocale('list_i18n_technologies/frameworks/vue.md', 'tr'),\n pl: readLocale('list_i18n_technologies/frameworks/vue.md', 'pl'),\n id: readLocale('list_i18n_technologies/frameworks/vue.md', 'id'),\n vi: readLocale('list_i18n_technologies/frameworks/vue.md', 'vi'),\n uk: readLocale('list_i18n_technologies/frameworks/vue.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/next-i18next_vs_next-intl_vs_intlayer.md': {\n en: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'en'),\n es: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'es'),\n ru: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ru'),\n ja: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ja'),\n fr: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'fr'),\n ko: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ko'),\n zh: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'zh'),\n de: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'de'),\n ar: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ar'),\n it: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'en-GB'),\n pt: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'pt'),\n hi: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'hi'),\n tr: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'tr'),\n pl: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'pl'),\n id: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'id'),\n vi: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'vi'),\n uk: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/nextjs-multilingual-seo-comparison.md': {\n en: readLocale('nextjs-multilingual-seo-comparison.md', 'en'),\n es: readLocale('nextjs-multilingual-seo-comparison.md', 'es'),\n ru: readLocale('nextjs-multilingual-seo-comparison.md', 'ru'),\n ja: readLocale('nextjs-multilingual-seo-comparison.md', 'ja'),\n fr: readLocale('nextjs-multilingual-seo-comparison.md', 'fr'),\n ko: readLocale('nextjs-multilingual-seo-comparison.md', 'ko'),\n zh: readLocale('nextjs-multilingual-seo-comparison.md', 'zh'),\n de: readLocale('nextjs-multilingual-seo-comparison.md', 'de'),\n ar: readLocale('nextjs-multilingual-seo-comparison.md', 'ar'),\n it: readLocale('nextjs-multilingual-seo-comparison.md', 'it'),\n 'en-GB': readLocale('nextjs-multilingual-seo-comparison.md', 'en-GB'),\n pt: readLocale('nextjs-multilingual-seo-comparison.md', 'pt'),\n hi: readLocale('nextjs-multilingual-seo-comparison.md', 'hi'),\n tr: readLocale('nextjs-multilingual-seo-comparison.md', 'tr'),\n pl: readLocale('nextjs-multilingual-seo-comparison.md', 'pl'),\n id: readLocale('nextjs-multilingual-seo-comparison.md', 'id'),\n vi: readLocale('nextjs-multilingual-seo-comparison.md', 'vi'),\n uk: readLocale('nextjs-multilingual-seo-comparison.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/per-component_vs_centralized_i18n.md': {\n en: readLocale('per-component_vs_centralized_i18n.md', 'en'),\n es: readLocale('per-component_vs_centralized_i18n.md', 'es'),\n ru: readLocale('per-component_vs_centralized_i18n.md', 'ru'),\n ja: readLocale('per-component_vs_centralized_i18n.md', 'ja'),\n fr: readLocale('per-component_vs_centralized_i18n.md', 'fr'),\n ko: readLocale('per-component_vs_centralized_i18n.md', 'ko'),\n zh: readLocale('per-component_vs_centralized_i18n.md', 'zh'),\n de: readLocale('per-component_vs_centralized_i18n.md', 'de'),\n ar: readLocale('per-component_vs_centralized_i18n.md', 'ar'),\n it: readLocale('per-component_vs_centralized_i18n.md', 'it'),\n 'en-GB': readLocale('per-component_vs_centralized_i18n.md', 'en-GB'),\n pt: readLocale('per-component_vs_centralized_i18n.md', 'pt'),\n hi: readLocale('per-component_vs_centralized_i18n.md', 'hi'),\n tr: readLocale('per-component_vs_centralized_i18n.md', 'tr'),\n pl: readLocale('per-component_vs_centralized_i18n.md', 'pl'),\n id: readLocale('per-component_vs_centralized_i18n.md', 'id'),\n vi: readLocale('per-component_vs_centralized_i18n.md', 'vi'),\n uk: readLocale('per-component_vs_centralized_i18n.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/rag_powered_documentation_assistant.md': {\n en: readLocale('rag_powered_documentation_assistant.md', 'en'),\n es: readLocale('rag_powered_documentation_assistant.md', 'es'),\n ru: readLocale('rag_powered_documentation_assistant.md', 'ru'),\n ja: readLocale('rag_powered_documentation_assistant.md', 'ja'),\n fr: readLocale('rag_powered_documentation_assistant.md', 'fr'),\n ko: readLocale('rag_powered_documentation_assistant.md', 'ko'),\n zh: readLocale('rag_powered_documentation_assistant.md', 'zh'),\n de: readLocale('rag_powered_documentation_assistant.md', 'de'),\n ar: readLocale('rag_powered_documentation_assistant.md', 'ar'),\n it: readLocale('rag_powered_documentation_assistant.md', 'it'),\n 'en-GB': readLocale('rag_powered_documentation_assistant.md', 'en-GB'),\n pt: readLocale('rag_powered_documentation_assistant.md', 'pt'),\n hi: readLocale('rag_powered_documentation_assistant.md', 'hi'),\n tr: readLocale('rag_powered_documentation_assistant.md', 'tr'),\n pl: readLocale('rag_powered_documentation_assistant.md', 'pl'),\n id: readLocale('rag_powered_documentation_assistant.md', 'id'),\n vi: readLocale('rag_powered_documentation_assistant.md', 'vi'),\n uk: readLocale('rag_powered_documentation_assistant.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/react-i18next_vs_react-intl_vs_intlayer.md': {\n en: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'en'),\n es: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'es'),\n ru: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ru'),\n ja: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ja'),\n fr: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'fr'),\n ko: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ko'),\n zh: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'zh'),\n de: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'de'),\n ar: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ar'),\n it: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'en-GB'),\n pt: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'pt'),\n hi: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'hi'),\n tr: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'tr'),\n pl: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'pl'),\n id: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'id'),\n vi: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'vi'),\n uk: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/vue-i18n_vs_intlayer.md': {\n en: readLocale('vue-i18n_vs_intlayer.md', 'en'),\n es: readLocale('vue-i18n_vs_intlayer.md', 'es'),\n ru: readLocale('vue-i18n_vs_intlayer.md', 'ru'),\n ja: readLocale('vue-i18n_vs_intlayer.md', 'ja'),\n fr: readLocale('vue-i18n_vs_intlayer.md', 'fr'),\n ko: readLocale('vue-i18n_vs_intlayer.md', 'ko'),\n zh: readLocale('vue-i18n_vs_intlayer.md', 'zh'),\n de: readLocale('vue-i18n_vs_intlayer.md', 'de'),\n ar: readLocale('vue-i18n_vs_intlayer.md', 'ar'),\n it: readLocale('vue-i18n_vs_intlayer.md', 'it'),\n 'en-GB': readLocale('vue-i18n_vs_intlayer.md', 'en-GB'),\n pt: readLocale('vue-i18n_vs_intlayer.md', 'pt'),\n hi: readLocale('vue-i18n_vs_intlayer.md', 'hi'),\n tr: readLocale('vue-i18n_vs_intlayer.md', 'tr'),\n pl: readLocale('vue-i18n_vs_intlayer.md', 'pl'),\n id: readLocale('vue-i18n_vs_intlayer.md', 'id'),\n vi: readLocale('vue-i18n_vs_intlayer.md', 'vi'),\n uk: readLocale('vue-i18n_vs_intlayer.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n './blog/en/what_is_internationalization.md': {\n en: readLocale('what_is_internationalization.md', 'en'),\n es: readLocale('what_is_internationalization.md', 'es'),\n ru: readLocale('what_is_internationalization.md', 'ru'),\n ja: readLocale('what_is_internationalization.md', 'ja'),\n fr: readLocale('what_is_internationalization.md', 'fr'),\n ko: readLocale('what_is_internationalization.md', 'ko'),\n zh: readLocale('what_is_internationalization.md', 'zh'),\n de: readLocale('what_is_internationalization.md', 'de'),\n ar: readLocale('what_is_internationalization.md', 'ar'),\n it: readLocale('what_is_internationalization.md', 'it'),\n 'en-GB': readLocale('what_is_internationalization.md', 'en-GB'),\n pt: readLocale('what_is_internationalization.md', 'pt'),\n hi: readLocale('what_is_internationalization.md', 'hi'),\n tr: readLocale('what_is_internationalization.md', 'tr'),\n pl: readLocale('what_is_internationalization.md', 'pl'),\n id: readLocale('what_is_internationalization.md', 'id'),\n vi: readLocale('what_is_internationalization.md', 'vi'),\n uk: readLocale('what_is_internationalization.md', 'uk'),\n } as unknown as Record<LocalesValues, Promise<string>>,\n} as const;\n"],"mappings":"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"}
|
|
@@ -17,12 +17,39 @@ try {
|
|
|
17
17
|
baseDir = (0, _intlayer_config_utils.getPackageJsonPath)(currentDir).baseDir;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Reads a document, preferring the requested locale and falling back to English.
|
|
22
|
+
*/
|
|
23
|
+
const readLocaleFile = async (relativeAfterLocale, locale) => {
|
|
21
24
|
const target1 = (0, node_path.join)(baseDir, `./docs/${locale}/${relativeAfterLocale}`);
|
|
22
|
-
if ((0, node_fs.existsSync)(target1)) return (0, node_fs_promises.readFile)(target1, "utf8");
|
|
25
|
+
if ((0, node_fs.existsSync)(target1)) return await (0, node_fs_promises.readFile)(target1, "utf8");
|
|
23
26
|
const target2 = (0, node_path.join)(baseDir, `./docs/en/${relativeAfterLocale}`);
|
|
24
|
-
if ((0, node_fs.existsSync)(target2)) return (0, node_fs_promises.readFile)(target2, "utf8");
|
|
25
|
-
|
|
27
|
+
if ((0, node_fs.existsSync)(target2)) return await (0, node_fs_promises.readFile)(target2, "utf8");
|
|
28
|
+
throw new Error(`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`);
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Builds a lazy, awaitable handle over a document.
|
|
32
|
+
*
|
|
33
|
+
* The entry map below holds one handle per document *per locale*, so reading
|
|
34
|
+
* eagerly would pull every markdown file of every locale into memory as soon as
|
|
35
|
+
* this module is imported — hundreds of megabytes, duplicated in every
|
|
36
|
+
* prerender worker, for the handful of documents a page actually renders.
|
|
37
|
+
*
|
|
38
|
+
* The returned value is a thenable rather than a promise: consumers only ever
|
|
39
|
+
* `await` it, and `await` triggers `then`, so the file is read on first use and
|
|
40
|
+
* the resulting promise is cached for subsequent reads.
|
|
41
|
+
*/
|
|
42
|
+
const readLocale = (relativeAfterLocale, locale) => {
|
|
43
|
+
let pendingRead;
|
|
44
|
+
const read = () => {
|
|
45
|
+
pendingRead ??= readLocaleFile(relativeAfterLocale, locale);
|
|
46
|
+
return pendingRead;
|
|
47
|
+
};
|
|
48
|
+
return {
|
|
49
|
+
then: (onFulfilled, onRejected) => read().then(onFulfilled, onRejected),
|
|
50
|
+
catch: (onRejected) => read().catch(onRejected),
|
|
51
|
+
finally: (onFinally) => read().finally(onFinally)
|
|
52
|
+
};
|
|
26
53
|
};
|
|
27
54
|
const docsEntry = {
|
|
28
55
|
"./docs/en/CI_CD.md": {
|