29 Commits

Author SHA1 Message Date
Vishal Kumar Singh 6e7e28306c fix(admin): use ISO 639-1 da for Danish admin locale (#26322)
* fix(admin): use ISO 639-1 da for Danish admin locale

Rename admin translation bundles from dk to da, normalize legacy dk in
app config, custom translation keys, localStorage, and stored user language.

Closes #25761

* fix(admin): add dk json fallback and admin user language migration

Register internal migration admin::migrate-prefered-language-dk-to-da to
rewrite admin_users.prefered_language from dk to da.

Export importLocaleJsonWithLegacyDkFallback from strapi-admin and use it in
core loadAdminTrads plus every bundled plugin registerTrads so third-party
plugins that still ship only dk.json keep loading when the UI locale is da.

Add @strapi/admin devDependency where the helper is imported from JS or
packages that did not already list it.

Refs #26322

* fix(types): add importLocaleJson to strapi-admin registerTrads typing

* fix(admin): expand plugin locale list and merge under canonical codes

Moves legacy dk handling into StrapiApp.loadTrads (flatMap + uniq + normalize merge) so registerTrads keeps a stable API without importLocaleJson. Core admin bundles use try/catch dynamic imports per locale code.

* fix(admin): route plugin translations through importLocaleJson

Pass StrapiApp.importLocaleJson into registerTrads so core and third-party plugins share legacy locale JSON fallback (da -> dk) and one-shot deprecation warnings. Relax admin test console.warn filter for those messages. Refs #26322.

* fix(admin): keep plugin locale fallback internal

---------

Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2026-05-29 18:26:00 +03:00
Filip Ónodi e7772d621e feat(i18n): update and create Slovak translations (#25831)
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2026-05-26 15:10:41 +03:00
Andrei L b5452ab89f chore(eslint): migrate .eslintrc + .eslintignore to .eslintrc.cjs (#26216)
* chore(eslint): migrate .eslintrc + .eslintignore to .eslintrc.cjs

Consolidates the per-package ESLint setup into a single typed
`.eslintrc.cjs` file across the monorepo (177 files touched).

Why
- `.eslintignore` is removed in ESLint v9/v10. Folding ignore patterns
  into `ignorePatterns` inside the rc file is the supported migration
  path and unblocks future ESLint upgrades (which will likely be needed
  alongside the in-flight TypeScript 6 migration).
- `.cjs` extension is explicit about module format, so the configs keep
  working if any package later adopts `"type": "module"` (no CJS/ESM
  surprises).
- Wrapping each config in `// @ts-check` + a `Linter.Config`-typed
  `const config` block gives editor autocomplete and catches typos.
  Surfaced two real duplicates in
  `eslint-config-custom/back/typescript.js`
  (`node/no-unsupported-features/es-syntax`,
  `node/no-missing-import`), now deduplicated.
- `extends` references switched from the `custom/*` shorthand to the
  explicit `eslint-config-custom/*` package name. ESLint resolves both,
  but the explicit form makes the source unambiguous.
- Added `coverage/` to `ignorePatterns` so coverage output produced
  inside a workspace is not linted.

Misc
- `examples/kitchensink` had ESLint configured but no `lint` script;
  added one so the config actually runs.
- `nx.json` hash inputs updated:
  - removed `.eslintignore` (no longer exists)
  - replaced `{projectRoot}/.eslintrc.js` with
    `{projectRoot}/**/.eslintrc.cjs` so nested package configs are also
    part of the cache key (the previous glob missed them).
- `packages/utils/upgrade/tsconfig.eslint.json` include path updated
  from `.eslintrc.js` to `.eslintrc.cjs`.

Verification
- `eslint --print-config` resolves cleanly on sampled back/front
  packages (admin, users-permissions, upload).
- Full `pnpm -r lint` is clean.

* chore(eslint): set tsconfigRootDir for vscode-eslint typed linting

CLI lint resolved tsconfig paths via cwd, but vscode-eslint runs from
the workspace root and could not locate per-package tsconfigs. Set
parserOptions.tsconfigRootDir to __dirname in each package's
.eslintrc.cjs so the editor resolves typed-lint configs correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(eslint): self-ignore configs, scope coverage to jest packages

- Replace `env: { es6: true }` workaround with `.eslintrc.cjs` in
  ignorePatterns so eslint never lints the config file itself
  (root cause of the "const is not a keyword" parse error in es5)
- Add `.eslintrc.cjs` to ignorePatterns across all configs that
  were missing it
- Restrict `coverage/` ignorePatterns to workspace roots that
  actually run jest; drop from non-test packages and admin/server
  subdir configs (tests run from the workspace root)
2026-05-12 07:32:12 +00:00
Filip Ónodi 4ccaab3c74 enhancement(translations): update czech translations (#25824)
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2026-04-24 11:11:48 +03:00
Ivan Malaniak 9a7418f343 enhancement: add missing Ukrainian translations for various plugins and components (#22150)
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2025-02-26 19:46:18 +02:00
Alexandre Bodin 92055a7fb1 chore: use rollup
chore: fetch template only if name matches name convention

chore: linting

chore: fix tests

chore: fix npm scripts

test: try to fix test
2025-01-23 16:28:23 +01:00
Simone c46976a9da chore(helper-plugin)!: remove prefixPluginTranslations (#19845) 2024-03-19 16:33:46 +00:00
Josh eb7b88426d fix(pack-up): ensure we pass the tsconfig file name, not a path to it (#18875)
* fix(pack-up): ensure we pass the tsconfig file name, not a path to it

fix(admin): annotate return type on createBuildContext

fix(admin): ensure shared is a the base folder not importing from server

chore(pack-up): PRINT MOREEEE

fix(ctb): export required type

chore: refactor tsconfigs

* chore: pr amends
2023-11-23 09:16:25 +00:00
Alexandre BODIN 5c5ae949bf chore(graphql): migration to basic ts (#18696) 2023-11-08 18:21:41 +01:00
Josh 116339ad86 refactor: admin build pipeline (#18539)
* chore(admin): refactor admin develop/build pipeline

chore: remove `webpackChunkName` comments

chore: reuse admin tsconfig where possible

chore: add .strapi to gitignore

chore(admin): pack-up

feat(admin): inject commands into strapi from admin for building

feat(admin): move watch command to admin

chore: keep backward compat API available

Update packages/core/admin/_internal/cli/index.ts

docs(admin): document the build & develop process and pipeline

test(admin): fix StrapiApp tests

chore: fix build

* Update skipped_tests.yml

* test(e2e): fix e2e setup

feat: add dependency installation

fix: mjs webpack resolution

* chore: fix server exports

* fix: typescript project type generation

* fix: development watch mode

* fix: connect to hot middleware – anywhere

* Update packages/core/admin/_internal/node/core/monorepo.ts

Co-authored-by: Marc Roig <marc12info@gmail.com>

* fix(admin): theme toggle type export

* chore: fixes

* chore: pr amends

Co-Authored-By: Ben Irvin <ben@innerdvations.com>

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
2023-10-30 11:36:16 +00:00
Gustav Hansen dca5778d8e Chore: Apply eslint import sorting fix 2023-06-12 21:34:07 +02:00
Paul 42e8cef3ba Translation updates
Deleting plugin name and description strings

Make translation more accurate

Update and improve russian

Added missing strings

More accurate style

Added plugin name

Correction of JSON style

Delete empty file

Added plugin name

Delete empty file

Added plugin name

Delete empty file

Added plugin name

Delete empty file

Added Russian

Delete empty file

Delete empty file

Added plugin name

Delete empty file

Delete empty file

Added plugin name

Delete empty file

Delete empty file

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Delete empty file

Delete empty file

Delete empty file

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Delete empty file

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added plugin name

Added Russian

Added plugin name

Correction of terminology

JWT is acronym.

Correction of terminology

JWT is acronym.

Correction of terminology

Correction of terminology

JWT is acronym.
Swagger UI  — the correct version.

Correction of terminology

Correction of terminology

JWT is acronym.
Swagger UI  — the correct version.

Correction of terminology

JWT is acronym.

Correction of terminology

Correction of terminology

Correction of terminology

JWT is acronym.
Swagger UI  — the correct version.

Correction of terminology

Correction of terminology

Correction of terminology

JWT is acronym.
Swagger UI  — the correct version.

Correction of terminology

JWT is acronym.

Correction of terminology

JWT is acronym.

Correction of terminology

JWT is acronym.
Swagger UI  — the correct version.

Correction of terminology

JWT is acronym.

Correction of terminology

JWT is acronym.

Correction of terminology

JWT is acronym.

Correction of terminology

Correction of terminology

Correction of terminology

JWT is acronym.

Updated Russian
2023-02-27 08:33:40 +00:00
Barış Can Daylık 226a462b7a Add Turkish translation 2022-12-13 00:44:27 +03:00
5idereal 3919e13274 update Traditional Chinese translation 2022-11-18 12:47:34 +08:00
Alve Svarén 6e9b64928a Add more swedish translations 2022-10-29 13:12:49 +02:00
Alexandre Bodin cf49ddbbfc Prettier and backend fix 2022-08-11 10:20:49 +02:00
Noeemi 4b08395b47 feat(translations): update and add missing PL translations 2022-06-16 11:27:07 +02:00
Alexandre BODIN ac58311b1b Merge pull request #12033 from tanoabeleyra/es-translations
Update Spanish translations
2022-01-19 11:18:24 +01:00
Robin Louis van Komen 3e0259477e add new translations 2022-01-02 16:40:32 +01:00
Tano Abeleyra ad86c3d638 Add GraphQL plugin Spanish translation 2021-12-27 20:09:36 +01:00
soupette 58790b682b Change icon type for menu Api
Signed-off-by: soupette <cyril@strapi.io>
2021-10-22 14:42:34 +02:00
Alexandre Bodin 805e7fdb4b Merge branch 'master' into releases/v4 2021-08-04 19:24:10 +02:00
soupette 900388755f Rename boot lifecycle to bootstrap
Signed-off-by: soupette <cyril.lpz@gmail.com>
2021-07-21 09:05:20 +02:00
soupette 3806d3cbf8 Clean files
Signed-off-by: soupette <cyril.lpz@gmail.com>
2021-06-09 12:11:51 +02:00
soupette 98b3a1c738 Load strapi plugins translations
Signed-off-by: soupette <cyril.lpz@gmail.com>
2021-06-09 11:47:56 +02:00
soupette 5a7951b595 Fix tests
Signed-off-by: soupette <cyril.lpz@gmail.com>
2021-05-31 12:58:14 +02:00
soupette 0f78b38eb3 Load graphql plugin
Signed-off-by: soupette <cyril.lpz@gmail.com>
2021-05-11 08:14:01 +02:00
Alexandre Bodin ab3760bb66 Rename import & requires, fix tests 2021-04-29 13:51:12 +02:00
Alexandre Bodin a14504e699 Init scoped packages 2021-04-29 12:03:54 +02:00