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:
- 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
- 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)