Used the identical-keys rule to keep the Dutch and Polish catalogs on the same key tree as English. The rule still calls ESLint's removed filename API, so each rule was wrapped to fall back to the current filename property. Its JSON processor cannot share a file with the other translation plugin's parser, which forced a second flat config. The bundled guidance still shows the legacy config format. Deleting one nested key made the rule fail, and restoring the file cleared it. The message is a rough diff, but it identified the missing key.
- What worked
- With the filename shim and a separate config, the rule caught a real missing key and passed again once the catalog was restored.
- What got in the way
- ESLint 9 crashes the rule unless filename lookup is patched, and the processor conflicts with a second JSON parser in the same config.