@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.
Files changed (89) hide show
  1. package/blog/ar/index.md +1 -1
  2. package/blog/de/index.md +1 -1
  3. package/blog/en/index.md +1 -1
  4. package/blog/en-GB/index.md +1 -1
  5. package/blog/es/index.md +1 -1
  6. package/blog/fr/index.md +1 -1
  7. package/blog/hi/index.md +1 -1
  8. package/blog/id/index.md +1 -1
  9. package/blog/it/index.md +1 -1
  10. package/blog/ja/index.md +1 -1
  11. package/blog/ko/index.md +1 -1
  12. package/blog/pl/index.md +1 -1
  13. package/blog/pt/index.md +1 -1
  14. package/blog/ru/index.md +1 -1
  15. package/blog/uk/index.md +1 -1
  16. package/blog/vi/index.md +1 -1
  17. package/blog/zh/index.md +1 -1
  18. package/dist/cjs/common.cjs +24 -1
  19. package/dist/cjs/common.cjs.map +1 -1
  20. package/dist/cjs/generated/blog.entry.cjs +31 -4
  21. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  22. package/dist/cjs/generated/docs.entry.cjs +31 -4
  23. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  24. package/dist/cjs/generated/frequentQuestions.entry.cjs +31 -4
  25. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  26. package/dist/cjs/generated/legal.entry.cjs +31 -4
  27. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  28. package/dist/esm/common.mjs +24 -1
  29. package/dist/esm/common.mjs.map +1 -1
  30. package/dist/esm/generated/blog.entry.mjs +31 -4
  31. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  32. package/dist/esm/generated/docs.entry.mjs +31 -4
  33. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  34. package/dist/esm/generated/frequentQuestions.entry.mjs +31 -4
  35. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  36. package/dist/esm/generated/legal.entry.mjs +31 -4
  37. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  38. package/dist/types/common.d.ts.map +1 -1
  39. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  40. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  41. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  42. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  43. package/docs/ar/bundle_optimization.md +58 -25
  44. package/docs/ar/live-sync.md +4 -0
  45. package/docs/bn/bundle_optimization.md +58 -25
  46. package/docs/cs/bundle_optimization.md +58 -25
  47. package/docs/de/bundle_optimization.md +58 -25
  48. package/docs/de/live-sync.md +4 -0
  49. package/docs/en/bundle_optimization.md +51 -23
  50. package/docs/en/live-sync.md +4 -0
  51. package/docs/en-GB/bundle_optimization.md +58 -25
  52. package/docs/en-GB/live-sync.md +4 -0
  53. package/docs/es/bundle_optimization.md +58 -25
  54. package/docs/es/live-sync.md +4 -0
  55. package/docs/fr/bundle_optimization.md +58 -25
  56. package/docs/fr/live-sync.md +4 -0
  57. package/docs/hi/bundle_optimization.md +58 -25
  58. package/docs/hi/live-sync.md +4 -0
  59. package/docs/id/bundle_optimization.md +58 -25
  60. package/docs/id/live-sync.md +4 -0
  61. package/docs/it/bundle_optimization.md +58 -25
  62. package/docs/it/live-sync.md +4 -0
  63. package/docs/ja/bundle_optimization.md +58 -25
  64. package/docs/ja/live-sync.md +4 -0
  65. package/docs/ko/bundle_optimization.md +58 -25
  66. package/docs/ko/live-sync.md +4 -0
  67. package/docs/nl/bundle_optimization.md +58 -25
  68. package/docs/pl/bundle_optimization.md +58 -25
  69. package/docs/pl/live-sync.md +4 -0
  70. package/docs/pt/bundle_optimization.md +58 -24
  71. package/docs/pt/live-sync.md +4 -0
  72. package/docs/ru/bundle_optimization.md +58 -25
  73. package/docs/ru/live-sync.md +4 -0
  74. package/docs/tr/bundle_optimization.md +58 -25
  75. package/docs/tr/live-sync.md +4 -0
  76. package/docs/uk/bundle_optimization.md +58 -25
  77. package/docs/uk/live-sync.md +4 -0
  78. package/docs/ur/bundle_optimization.md +58 -25
  79. package/docs/vi/bundle_optimization.md +58 -25
  80. package/docs/vi/live-sync.md +4 -0
  81. package/docs/zh/bundle_optimization.md +58 -25
  82. package/docs/zh/live-sync.md +4 -0
  83. package/docs/zh-TW/bundle_optimization.md +58 -25
  84. package/package.json +7 -7
  85. package/src/common.ts +39 -2
  86. package/src/generated/blog.entry.ts +39 -7
  87. package/src/generated/docs.entry.ts +39 -7
  88. package/src/generated/frequentQuestions.entry.ts +39 -7
  89. package/src/generated/legal.entry.ts +39 -7
package/blog/ar/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: مدونة
5
5
  description: اكتشف جميع المواضيع ذات صلة مع Intlayer، التدويل الدولي وغيرها
package/blog/de/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Entdecken Sie alle Themen, die sich auf Intlayer, Internationalisierung und andere beziehen
package/blog/en/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Discover all topics related to Intlayer, internationalization and other
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Discover all topics related to Intlayer, internationalization and other
package/blog/es/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Descubre todos los temas relacionados con Intlayer, internacionalización y otros
package/blog/fr/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Découvrez tous les sujets liés à Intlayer, l’internationalisation et autres
package/blog/hi/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: ब्लॉग
5
5
  description: सभी विषय के साथ Intlayer, अंतर्राष्ट्रीयकरण और अन्य के साथ हैं
package/blog/id/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Temukan semua topik terkait Intlayer, internasionalisasi, dan lainnya
package/blog/it/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Scopri tutti i temi relativi a Intlayer, l’internazionalizzazione e altro
package/blog/ja/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: ブログ
5
5
  description: Intlayer、国際化、その他に関連するすべてのトピックを発見します
package/blog/ko/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: 블로그
5
5
  description: Intlayer, 국제화, 기타 관련된 모든 주제를 알아보세요
package/blog/pl/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Odkryj wszystkie tematy związane z Intlayer, internacjonalizacją i innymi
package/blog/pt/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Descubra todos os tópicos relacionados a Intlayer, internacionalização e outros
package/blog/ru/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Блог
5
5
  description: Узнайте о всех темах, связанных с Intlayer, интернационализацией и другими
package/blog/uk/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Блог
5
5
  description: Дізнайтеся про всі теми, пов'язані з Intlayer, інтернаціоналізацією та іншим
package/blog/vi/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Khám phá tất cả các chủ đề liên quan đến Intlayer, quốc tế hóa và các chủ đề khác
package/blog/zh/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: 博客
5
5
  description: 了解所有与 Intlayer、国际化和其他相关的主题
@@ -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
- const getFileMetadataRecord = async (files, locale = defaultLocale) => {
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);
@@ -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":";;;;;;;;;AAMA,MAAa,gBAAgBA,wBAAQ;AAErC,MAAa,oBACX;AACF,MAAa,aAAa;AAE1B,MAAa,WAA0C,QACrD,OAAO,KAAK,GAAG;AAEjB,MAAa,WAAW,OAGtB,OACA,OAAsB,kBACc;CACpC,MAAM,eAAe,MAAM,QAAQ,IACjC,OAAO,QAAQ,KAAK,CAAC,CAClB,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAsB,CAAC,CAAC,CAC1D,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAK,CAAC,CACnD;CAEA,OADoB,OAAO,YAAY,YACtB;AACnB;AAEA,MAAa,UAAU,OAGrB,OACA,QACA,SAAwB,kBACJ;CAGpB,IAAI,CAFe,MAAM,SAGvB,MAAM,IAAI,MAAM,QAAQ,OAAiB,WAAW;CAGtD,MAAM,OAAO,MAAM,MAAM,OAAO,GAAG;CAEnC,IAAI,CAAC,MAAM;EACT,MAAM,cAAc,MAAM,MAAM,OAAO,GAAG;EAE1C,IAAI,CAAC,aACH,MAAM,IAAI,MAAM,QAAQ,OAAiB,WAAW;EAGtD,OAAO;CACT;CAEA,OAAO;AACT;AAwBA,MAAa,kBACX,QACA,MACA,SAAwB,kBACP;CACjB,MAAM,8DAA+B,IAAI;CAEzC,MAAM,SAAS,SAAS,SAAS,CAAC,EAAC,CAAE,IAAI,MAAM;CAC/C,MAAM,YAAY,SAAS,YAAY,CAAC,EAAC,CAAE,IAAI,MAAM;CAErD,MAAM,kCAAmB,KAAK,GAAG,KAAK;CAEtC,MAAM,eAAe,OAAO,MAAM,CAAC;CAInC,MAAM,YAAY,SAAS;CAI3B,MAAM,SACJ,OAAO,cAAc,WACjB,aAAa,SACb,WAAW,UAAU;CAE3B,OAAO;EACL,GAAG;EACH;EACA;EACA;EACA;EACA,WAAW,GAAG,oBAAoB,eAAe,QAC/C,QACA,IAAI,OAAO,EACb;EACA,8DAA6B,aAAa,MAAM;EAChD,0EAA0B,YAAY,WAAW,GAAG,MAAM;CAC5D;AACF;AAEA,MAAa,kBAAkB,OAI7B,OACA,QACA,SAAwB,kBACT;CACf,MAAM,OAAO,MAAM,QAAQ,OAAO,QAAQ,MAAM;CAEhD,OAAO,eAAe,QAAkB,MAAM,MAAM;AACtD;;;;;;;;;;AAWA,MAAM,0CAA0B,IAAI,QAGlC;AAEF,MAAM,0BAA0B,OAG9B,OACA,WAC2C;CAO3C,MAAM,gBAAe,MANC,QAAQ,WAC5B,OAAO,QAAQ,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS;EAEzC,OAAO,CAAC,KAAK,MADU,gBAAgB,OAAO,KAAgB,MAAM,CAC/C;CACvB,CAAC,CACH,EAC4B,CACzB,QACE,MACC,EAAE,WAAW,WACjB,CAAC,CACA,KAAK,MAAM,EAAE,KAAK;CAErB,OADoB,OAAO,YAAY,YACtB;AACnB;AAEA,MAAa,wBAAwB,OAGnC,OACA,SAAwB,kBACmB;CAC3C,IAAI,cAAc,wBAAwB,IAAI,KAAK;CAEnD,IAAI,CAAC,aAAa;EAChB,8BAAc,IAAI,IAAI;EACtB,wBAAwB,IAAI,OAAO,WAAW;CAChD;CAEA,IAAI,SAAS,YAAY,IAAI,MAAM;CAEnC,IAAI,CAAC,QAAQ;EACX,SAAS,wBAAwB,OAAO,MAAM;EAC9C,YAAY,IAAI,QAAQ,MAAM;CAChC;CAEA,OAAQ,MAAM;AAChB;AAEA,MAAa,wBAAwB,OAGnC,OACA,OACA,SAAwB,eACxB,SAAS,UACN;CACH,MAAM,aAAa,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;CACxD,MAAM,gBAAgB,MAAM,sBAC1B,OACA,aACF;CAEA,IAAI,oBAAoC,OAAO,OAAO,aAAa,CAAC,CAAC,QAClE,iBACC,WAAW,OAAO,SAAS,aAAa,OAAO,SAAS,IAAI,CAAC,CACjE;CAEA,IAAI,QACF,oBAAoB,kBAAkB,QACnC,iBAAiB,aAAa,MAAM,WAAW,WAAW,MAC7D;CAGF,IAAI,WAAW,eAQb,OAAO,MAP6B,QAAQ,IAC1C,kBAAkB,IAChB,OAAO,iBACL,MAAM,gBAAgB,OAAO,aAAa,QAAQ,MAAM,CAC5D,CACF;CAKF,OAAO;AACT;AAEA,MAAa,gBAAgB,OAG3B,OACA,OACA,SAAwB,eACxB,SAAS,UACN;CACH,MAAM,aAAa,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;CACxD,MAAM,gBAAgB,MAAM,sBAC1B,OACA,aACF;CAEA,IAAI,oBAAoB,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,iBAC3D,WAAW,OAAO,SAAS,aAAa,OAAO,SAAS,IAAI,CAAC,CAC/D;CAEA,IAAI,QACF,oBAAoB,kBAAkB,QACnC,iBAAiB,aAAa,MAAM,WAAW,WAAW,MAC7D;CAUF,OAAO,MAPgB,QAAQ,IAC7B,kBAAkB,IAAI,OAAO,iBAAiB;EAE5C,OAAO,MADY,QAAQ,OAAO,aAAa,QAAQ,MAAM;CAE/D,CAAC,CACH;AAGF"}
@@ -17,12 +17,39 @@ try {
17
17
  baseDir = (0, _intlayer_config_utils.getPackageJsonPath)(currentDir).baseDir;
18
18
  }
19
19
  }
20
- const readLocale = (relativeAfterLocale, locale) => {
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
- return Promise.reject(/* @__PURE__ */ new Error(`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`));
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
- const readLocale = (relativeAfterLocale, locale) => {
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
- return Promise.reject(/* @__PURE__ */ new Error(`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`));
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": {