Adding custom translations disables other page overrides?

I’m using a file in site/models/channel.php to overwrite the isReadable function for extended permissions.
Now I added a custom language file in site/languages/de.php to overwrite just a error code text which our UX people think would fit better.
This somehow makes kirby not use the channel.php anymore (permissions not working anymore, also any var_dump(), die() etc is not called), how could this possibly be?

site/languages/de.php:
<?php

return [
    'code' => 'de',
    'default' => true,
    'direction' => 'ltr',
    'locale' => 'de_DE',
    'name' => 'Deutsch',
    'translations' => [
        'error.page.create.permission' => 'Du darfst die neue Seite "{slug}" nicht anlegen',
    ],
];

Do you have a multilanguage site or did you just add this language file without making the changes necessary for multilanguage sites, i.e. add language codes to content file filenames?

If you only need a single language on your site, I wouldn’t use the language file but solve this problem otherwise.

I did not change anything related to multilanguage, it seemed to support user languages out of the box. Is there more to this than enabling languages in the config.php?

We actually only need the german language, so english support is not required. What would your other approach entail?

If you add languages via the Panel, then the content files are automatically renamed. If you add this language file manually, you would also have to rename the content files from for example article.txt to article.de.txt, otherwise your models will not be recognized. And I think that is what happens in your case.

As regards alternatives, I’m not sure, but maybe you can manipulate the default translations without using language definitions. Would have to check.

Thanks!
Enabling the language feature in the config and having Kirby create the language file itself worked for me!
contents of de.php afterwards for future reference:

<?php

return [
    'code' => 'de',
    'default' => true,
    'direction' => 'ltr',
    'locale' => [
        'LC_ALL' => 'de_DE',
    ],
    'name' => 'Deutsch',
    'translations' => [
        'error.page.create.permission' => 'Du darfst die neue Seite "{slug}" nicht anlegen',
    ],
    'url' => NULL,
];