From 5560f4fbb9afdc05b4a51b8f959e96be15606e89 Mon Sep 17 00:00:00 2001 From: callumalpass Date: Thu, 29 Oct 2026 23:47:22 +1100 Subject: [PATCH] chore: consume published i18n tooling from npm --- docs/development/language-packs.md | 4 ++-- docs/development/translations.md | 2 +- docs/releases/unreleased.md | 2 ++ package-lock.json | 8 ++++---- package.json | 2 +- scripts/lib/plural-contracts.mjs | 4 ++-- .../mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz | Bin 23479 -> 0 bytes .../mdbase-dev-i18n-0.1.0-beta.141-a36fa009.tgz | Bin 21683 -> 0 bytes 8 files changed, 12 insertions(+), 10 deletions(-) delete mode 100644 vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz delete mode 100644 vendor/mdbase-dev-i18n-0.1.0-beta.141-a36fa009.tgz diff --git a/docs/development/language-packs.md b/docs/development/language-packs.md index 22df12c4d..a308b6cbc 100644 --- a/docs/development/language-packs.md +++ b/docs/development/language-packs.md @@ -4,7 +4,7 @@ This opt-in delivery layer serves the shared Lingui UI catalogues. Translation a ## Shipping decision -Published releases ship the bundled build (decided October 2026). With ten locales the bundled `main.js` is 4,264,038 bytes, under the 5,000,000-byte budget. The downloadable build is 3,612,122 bytes, so it would save about 0.65 MB. The cost would be a network dependency on first use of each language, an operated hosting and publication path, and mobile behaviour that hasn't been accepted on the current Lingui build. Keep the downloadable mode in the codebase for experimental builds, but don't enable it in releases. Revisit this if added locales push the bundled build towards the budget. +Published releases ship the bundled build (decided October 2026). With ten locales and published `@mdbase-dev/i18n@0.1.0-beta.147`, the bundled `main.js` measured on October 29, 2026 is 4,094,305 bytes, under the 5,000,000-byte budget. The downloadable build is 3,445,906 bytes, so it would save about 0.65 MB. The cost would be a network dependency on first use of each language, an operated hosting and publication path, and mobile behaviour that hasn't been accepted on the current Lingui build. Keep the downloadable mode in the codebase for experimental builds, but don't enable it in releases. Revisit this if added locales push the bundled build towards the budget. ## Build modes @@ -43,7 +43,7 @@ The catalogues are JSON **data**, not remotely executable code. `tasknotes-lingu Canonical serialization makes exports reproducible. Changing English or a target translation changes the catalogue version. Re-exporting identical inputs is idempotent. Existing immutable artifacts with different content are rejected. The manifest is written after all locale files. -English defines the authoritative generated-ID set. Export requires exactly all ten supported catalogues and a complete matching ID set in each. Ordinary export/build/test entry points first check extraction sync, authored POs and source guards, then compile; Lingui `--strict` alone is not sufficient because it permits fallback-filled translations. ICU validation preserves argument names/roles, fixed select and exact-number arms, offsets, numeric rich tags and pound bindings while allowing locale-specific plural/ordinal categories. Required plural/ordinal categories are those reached by integer counts 0–999 after the ICU offset; exact `=N` cases match the original count and satisfy a category only when they cover all its representatives in that range. Million-only `many` categories in fr/es/pt/it are optional; the follow-up removes all 90 mechanically added es/fr `many` arms. The plugin mirrors `mdbase-connect` kit `e61ab062`'s coverage rule locally: the kit exposes no standalone coverage helper, and the plugin retains stricter English-source coverage and scoped English-arm rejection. The Italian adoption pins kit `49bea0aa`; this plugin does not consume the shared UI package. There are no legacy suffix-parameter exemptions. Literal template/path/code examples remain protected data. PO is authoritative; use normal clean extraction after integration. The legacy converter and its refresh flags have been retired. +English defines the authoritative generated-ID set. Export requires exactly all ten supported catalogues and a complete matching ID set in each. Ordinary export/build/test entry points first check extraction sync, authored POs and source guards, then compile; Lingui `--strict` alone is not sufficient because it permits fallback-filled translations. ICU validation preserves argument names/roles, fixed select and exact-number arms, offsets, numeric rich tags and pound bindings while allowing locale-specific plural/ordinal categories. Required plural/ordinal categories are those reached by integer counts 0–999 after the ICU offset; exact `=N` cases match the original count and satisfy a category only when they cover all its representatives in that range. Million-only `many` categories in fr/es/pt/it are optional; the follow-up removes all 90 mechanically added es/fr `many` arms. The plugin mirrors `mdbase-connect` kit `e61ab062`'s coverage rule locally: the kit exposes no standalone coverage helper, and the plugin retains stricter English-source coverage and scoped English-arm rejection. The plugin pins the published `@mdbase-dev/i18n@0.1.0-beta.147` tooling from npm; it does not consume the shared UI package or the kit runtime. Its plugin-owned Lingui adapter retains literal-backslash protection. There are no legacy suffix-parameter exemptions. Literal template/path/code examples remain protected data. PO is authoritative; use normal clean extraction after integration. The legacy converter and its refresh flags have been retired. ## Local fixture diff --git a/docs/development/translations.md b/docs/development/translations.md index 96c6fa117..2e9a5a76b 100644 --- a/docs/development/translations.md +++ b/docs/development/translations.md @@ -64,7 +64,7 @@ Ordinary builds synchronously bundle all ten catalogues using compacted data mod Italian (`it`, endonym **Italiano**) is the tenth UI locale. Regional system preferences such as `it-IT` and explicit `it_CH` choices normalize to `it`. The ordinary registry includes it synchronously; the downloadable build derives its picker and pinned publication manifest from the same ten-locale kit and emits `it.json`. Neither the pack format nor source-message IDs change. -This branch vendors kit `49bea0aa` (`sha256: 4b08df26d7474b26bd90492a1835716f938488b06a73cd3b55943414bc0cbd82`). The matching shared UI tarball was verified (`sha256: 1230707f2ba9545a041f2a9325ab5e2d25ed001885ebc0369d836e00b19d30f0`), but this Obsidian plugin does not consume `@mdbase-dev/ui` or compose any library catalogues: adding that unused dependency or a `--compose` path would be misleading. The shared strict check still validates composition of all configured plugin catalogue scopes. Replace the vendored kit with its published version at merge time. +The plugin pins the published `@mdbase-dev/i18n` tooling to exactly `0.1.0-beta.147` from npm. It does not consume `@mdbase-dev/ui` or compose any library catalogues: adding that unused dependency or a `--compose` path would be misleading. The shared strict check still validates composition of all configured plugin catalogue scopes. The plugin uses its own Lingui instances, not the kit runtime, so its literal-backslash protection remains in the plugin adapter. The Italian identical-term exceptions cover protected interpolation/template syntax, example paths/IDs, numeric formats, symbols, proper product names and established Italian UI loanwords (File, Frontmatter, Pomodoro, Token, Webhook, Agenda). The expand-control symbol `▶` is preserved verbatim. No English sentences are allowlisted. The single scoped English-arm exception is `FBlWXu` / `noteCount:other`: Italian plural **note** (singular **nota**) legitimately matches English singular **note**. Calendar day/week/year abbreviations, unavailable-value text and the missing-key caption were translated rather than allowlisted. The official Obsidian Italian catalogue calls the core plugin **Base**; interface references use **Base**, including the starter note's enable-plugin instruction. diff --git a/docs/releases/unreleased.md b/docs/releases/unreleased.md index d83dd62e8..0319c7339 100644 --- a/docs/releases/unreleased.md +++ b/docs/releases/unreleased.md @@ -41,6 +41,8 @@ When a change has user-facing documentation, include a canonical tasknotes.dev l ## Changed +- Use the published shared translation tooling instead of bundled development tarballs; all ten interface languages remain available offline in ordinary builds. + - Calendar view settings now use fewer, task-focused sections, with less common controls under Advanced and clearer names for time-grid and event limits. Saved `.base` settings keep applying unchanged. See [Calendar Views](https://tasknotes.dev/views/calendar-views/#view-options). - The Calendar view now uses TaskNotes' own calendar engine instead of FullCalendar. Existing calendar view settings in `.base` files keep working, including the saved view, custom day count, first day of week, time format, slot range and size, height mode, week numbers, weekends, all-day row, today column width, and event limits. diff --git a/package-lock.json b/package-lock.json index f432b6608..0417eccb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "@lingui/babel-plugin-lingui-macro": "6.9.0", "@lingui/format-po": "6.9.0", "@lingui/message-utils": "6.9.0", - "@mdbase-dev/i18n": "file:vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz", + "@mdbase-dev/i18n": "0.1.0-beta.147", "@playwright/test": "^1.57.0", "@types/jest": "^30.0.0", "@types/node": "^24.3.0", @@ -4016,9 +4016,9 @@ "license": "MIT" }, "node_modules/@mdbase-dev/i18n": { - "version": "0.1.0-beta.141", - "resolved": "file:vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz", - "integrity": "sha512-cfXfXeWDuZ+C+9OLkCLH/rzmu1+/jbm/g8mwk6NtLAcpN3jMVLHCiyer39lxyuX8yNha9XqP/zTeHLvLzjBp4A==", + "version": "0.1.0-beta.147", + "resolved": "https://registry.npmjs.org/@mdbase-dev/i18n/-/i18n-0.1.0-beta.147.tgz", + "integrity": "sha512-6WlBrS1hsiT2sppyAHHSLrr18fknqkm6xZsCy7YIFZHR0z5MMRA5oSl5UOMmGjkNr5Ji81ISpcmgZXVjDM5EJg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index e6adff163..6f57d26d6 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@lingui/babel-plugin-lingui-macro": "6.9.0", "@lingui/format-po": "6.9.0", "@lingui/message-utils": "6.9.0", - "@mdbase-dev/i18n": "file:vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz", + "@mdbase-dev/i18n": "0.1.0-beta.147", "@playwright/test": "^1.57.0", "@types/jest": "^30.0.0", "@types/node": "^24.3.0", diff --git a/scripts/lib/plural-contracts.mjs b/scripts/lib/plural-contracts.mjs index 22aa6b289..133e2c09f 100644 --- a/scripts/lib/plural-contracts.mjs +++ b/scripts/lib/plural-contracts.mjs @@ -16,8 +16,8 @@ function choices(tokens) { * Coverage mirrors mdbase-connect e61ab062 packages/i18n/scripts/checks.mjs: * require only categories reached by integer counts 0..999, after offset; * exact arms match the original count and may exhaust a category's domain. - * The kit does not export coverage separately. Keep its existing tarball pin - * and mirror this small rule here, retaining strict English-source coverage + * The kit does not export coverage separately. Mirror this small rule here + * alongside the published kit, retaining strict English-source coverage * and the plugin's scoped English-arm rejection (the newer kit only warns). * This is deliberately conservative: it catches exact English branches, not every * possible untranslated sentence. No heuristic can establish translation quality. diff --git a/vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz b/vendor/mdbase-dev-i18n-0.1.0-beta.141-49bea0aa.tgz deleted file mode 100644 index 921a34f6a112e7bd6f81299a8576c01c21d0ded1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23479 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 O`1$|pUogA?ZUF!kdpijL