Behavior of a structure field

hello,

I don’t understand the behavior of a structure field on a 3-language page.
If i enter a content in the standard language it will appear in all other languages. :ok_hand: however, if i delete this content from one of the non standard languages it will not be deleted from the other languages. :man_shrugging: If I then enter a content in the standard language again it no longer appears in all languages. :woman_shrugging:

 - width: 1/1
    fields:
      dates:
        label:
          de: Spielplan
          fr: Spielplan
          it: Spielplan
        type: structure
        fields:
          title:
            label: 
              de: Titel
              fr: Titel
              it: Titel
            type: text
            required: true
          date:
            label: Date
            type: date
            translate: false
            default: today
            time: true
          location:
            label:
              de: Veranstaltungsort
              fr: Veranstaltungsort
              it: Veranstaltungsort
            type: text
            width: 1/3
            translate: false 
          city:
            label:
              de: Ortschaft
              fr: Ortschaft
              it: Ortschaft
            type: text
            width: 1/3
            translate: false 
          website:
            label: 
              de: Website
              fr: Website
              it: Website
            type: url
            width: 1/3
            translate: false
          festival:
            label: 
              de: Festival
              fr: Festival
              it: Festival
            type: checkboxes
            width: 1/3
            options:
              - Festival
      
      blackboard:
        label:
          de: Schwarzes Brett
          fr: Schwarzes Brett
          it: Schwarzes Brett
        type: structure
        fields:
          title:
            label: 
              de: Titel
              fr: Titel
              it: Titel
            type: text
            required: true
          text:
            label: Text 
            type: markdown
          category:
            label: 
              de: Kategorie
              fr: Kategorie
              it: Kategorie
            type: checkboxes
            required: true
            options:
              - Material
              - Kurse
              - Vernetzung
          cover:
            label: Select files...
            type: files
            layout: cards
            max: 1
            width: 1/1
            translate: false
            size: small
          created:
            label: created
            type: date
            time: true
            default: now
            disabled: true

Well, the content in the non-standard languages is only prefilled as long a there is no content yet, but the content is not stored unless you save. Once the translations exist, they are independent, their is not relationship between them. Why should content in another language be deleted if you delete stuff from one language?

Why should content in another language be deleted if you delete stuff from one language?

I can explain this to the users but it will be harder to explain why when you create new content in the standard language (after deleting content from the non-standard language) it will not appear in the other languages.

I tried everything and the following happened: I create a content in the standard language, then go to the other languages and translate the content. However, when I create a new content in the standard language, it no longer appears in the other languages. that means as soon as I translate the content there is a bug.

do I understand something wrong or is that a bug?

blueprint

title: Member
permissions:
  access:
    panel: true
    site: true
    settings: false
    users: false
  files:
    create: true
    changeName: true
    delete: true
    replace: true
    update: true
  site:
    update: false
  pages:
    create: false
    changeTemplate: false
    changeTitle: false
    changeSlug: false
    delete: false
    hide: false
    sort: false
    update: false
  user:
    create: false
    changeName: true
    changeEmail: true
    changeLanguage: true
    changePassword: true
    changeRole: false
    delete: false
    update: true
    hide: true


  users:
    *: false
    


columns:
  - width: 1/2
    fields:
      member_type:
        label: type
        type: select
        translate: false
        options:
          - KünstlerIn
          - VeranstalterIn
          - Museen
          - Ausbildung  
          - Figurenspieltherapie
          

      street:
        label: 
          de: Strasse
          fr: Rue
          it: Strada
        type: text
      zip:
        label: 
          de: PLZ
          fr: CP
          it: CP
        type: text
        width: 1/4
      city:
        label:
          de: Ort
          fr: Lieu
          it: Lieu
        type: text
        width: 3/4
     canton:
        label: Canton
        type: select
        required: true
        translate: false
        options:
          AG: AG
          AI: AI
          AR: AR
          BE: BE
          BL: BL
          BS: BS
          FR: FR
          GE: GE
          GL: GL
          GR: GR
          JU: JU
          LU: LU
          NE: NE
          NW: NW
          OW: OW
          SG: SG
          SH: SH
          SO: SO
          SZ: SZ
          TG: TG
          TI: TI
          UR: UR
          VD: VD
          VS: VS
          ZG: ZG
          ZH: ZH


  - width: 1/2
    fields:
      website:
        label: Website
        type: url
      twitter:
        label: Twitter
        type: text
        icon: twitter
        placeholder: @username
      instagram:
        label: Instagram
        type: text
        icon: instagram
        placeholder: username
      facebook:
        label: Facebook
        type: text
        icon: facebook
        placeholder: username

  - width: 1/1
    fields:
      about:
        label: About 
        type: markdown
        width: 2/3
      cover:
        label: Select files...
        type: files
        layout: cards
        max: 3
        width: 1/3
        translate: false
        size: small

  - width: 1/1
    fields:
      dates:
        label:
          de: Spielplan
          fr: Spielplan
          it: Spielplan
        type: structure
        fields:
          title:
            label: 
              de: Titel
              fr: Titel
              it: Titel
            type: text
            required: true
          date:
            label: Date
            type: date
            translate: false
            default: today
            time: true
          location:
            label:
              de: Veranstaltungsort
              fr: Veranstaltungsort
              it: Veranstaltungsort
            type: text
            width: 1/3
            translate: false 
          city:
            label:
              de: Ortschaft
              fr: Ortschaft
              it: Ortschaft
            type: text
            width: 1/3
            translate: false 
          website:
            label: 
              de: Website
              fr: Website
              it: Website
            type: url
            width: 1/3
            translate: false
          festival:
            label: 
              de: Festival
              fr: Festival
              it: Festival
            type: checkboxes
            width: 1/3
            options:
              - Festival
            translate: false

      
      blackboard:
        label:
          de: Schwarzes Brett
          fr: Schwarzes Brett
          it: Schwarzes Brett
        type: structure
        fields:
          title:
            label: 
              de: Titel
              fr: Titel
              it: Titel
            type: text
            required: true
          text:
            label: Text 
            type: markdown
          category:
            label: 
              de: Kategorie
              fr: Kategorie
              it: Kategorie
            type: checkboxes
            required: true
            options:
              - Material
              - Kurse
              - Vernetzung
          cover:
            label: Select files...
            type: files
            layout: cards
            max: 1
            width: 1/1
            translate: false
            size: small
          created:
            label: created
            type: date
            time: true
            default: now
            disabled: true

config

<?php

return [
    'debug' => true,
    'panel.install'=> false,
    'languages' => true,

    'community.markdown-field.buttons'    => ['headlines', 'bold', 'italic', 'divider', 'link', 'email', 'pagelink', 'file', 'divider', 'ul', 'ol'],
    'community.markdown-field.font'       => [
      'family'  => 'sans-serif',
      'scaling' => false,
      'size'    => 'regular',
    ],

    'community.markdown-field.modals'     => true,
    'community.markdown-field.blank'      => false,
    'community.markdown-field.invisibles' => false,


    'thumbs' => [
      'driver' => 'gd',
      'autoOrient' => true
    ],

 
    'routes' => [
      [
        'pattern' => 'mitglied/(:any)',
        'action'  => function($user) {
          $site = kirby()->site(); 	
          return tpl::load(kirby()->roots()->templates() . DS . 'member.php', array('user' => $user, 'site' => $site), false);
        }
      ]
      ],
  
  
      

      'hooks' => [
       
        'route:before' => function ($route, $path, $method) {
       
      
          if (Str::startsWith($path, 'api/pages') && $method == 'GET') {
      
            $pagePath = str_replace('+', '/', str_replace('pages/', '', $route->arguments()[0]));
      
            $page = kirby()->page($pagePath);
            $user = kirby()->user();
      
            
            
            
            if ($page && $user && $user->role()->name() !== 'admin' && $user !== $page->created()->toUser()) 
            {
                throw new Exception('You cannot access this page');
            }
 
        
        }
      }
         
    ]
];

No that is expected behavior.

that means for each language you have to create new content only the first entry will be transferred to the other languages ?

The first entry, or rather any entries that you create before you switch language and store the translation. After that, there is no longer a connection between the fields. The same should actually be true for other fields as well?

thank you @texnixe now i understand, I assumed that one structurfield behaved another.