Disable add button for secondary languages

I think you can use a conditional info section/info field based on a hidden field with the language code

The little trick would at least work if you have only two languages:

  1. Add two new fields to your blueprint:
    fields:
      languageCode:
        type: hidden
      info:
        type: info
        text: >
          Create new pages only in default language
        when:
          languageCode: de # English is the default language
  1. Hook to update page with language codes on page creation:
  'hooks' => [
        'page.create:after' => function($page) {
          foreach (kirby()->languages() as $language) {
            $page->update([
              'languageCode' => $language->code()
            ], $language->code());
          }
        },
  ]

Now the info field will only be shown on the non-default (in this example: German) page.

An alternative to this approach: Use a separate blueprint for default and non-default languages

Or the plugin I suggested in my last post, with the plugin, you only need a bit of CSS instead of these hacks (ok, the plugin is probably also a hack)