Puncte:1

Care este modalitatea corectă de a seta limba folosită de o formă modală?

drapel us

Am un buton conectat printr-un controler pentru a deschide un formular personalizat într-un mod:

Reapelul controlerului este:

  /**
   * Apel invers pentru deschiderea formularului modal.
   */
  funcția publică openShareLinkModalForm() {
    $răspuns = AjaxResponse nou();

    // Obțineți forma modală folosind generatorul de formulare.
    $modal_form = $this->formBuilder->getForm('Drupal\ssc_wsl\Form\ShareLinkModalForm');

    // Adăugați o comandă AJAX pentru a deschide un dialog modal cu formularul ca conținut.
    $response->addCommand(new OpenModalDialogCommand($this->t('Partajați linkul către această pagină.'), $modal_form, ['width' => '1200']));
        
    returnează $răspuns;
  }
}

acest lucru funcționează bine, cu excepția faptului că atunci când butonul meu este pe o pagină FR, modal se deschide în continuare în EN.

Dintr-un truc pe care l-am folosit în altă parte, am încercat să adaug acest cod în apel invers chiar înainte de apelul getForm():

$language_manager = \Drupal::languageManager();
$langcode = $language_manager->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();
$language = $language_manager->getLanguage($langcode);
$language_manager->setConfigOverrideLanguage($limba);

Acest lucru nu are niciun impact. Callback-ul controlerului pare să bazeze traducerea pe valoarea din: $language_manager->getCurrentLanguage(LanguageInterface::TYPE_CONTENT) și acea valoare este întotdeauna valoarea implicită setată pentru site (dacă am setat limba implicită a site-ului la FR; atunci numai modal arată în FR).

Întrebarea este, este aceasta modalitatea corectă de a seta limba folosită de modal?

Jaypan avatar
drapel de
Cum încărcați modalul și cum este tratată negocierea lingvistică pe site-ul dvs.? Dacă limba este după URL sau prefixul de cale, va trebui să vă asigurați că apelul AJAX este la adresa URL sau prefixul de cale corectă, pentru a încărca limba corectă. Dacă arătați un cod și răspundeți la primele întrebări din comentariul meu, va fi mai ușor să acordați asistență.
liquidcms avatar
drapel us
@Jaypan, da.. asta a fost.. Doahh!! Mulțumesc.
Jaypan avatar
drapel de
Am adăugat comentariul meu ca răspuns. Daca il poti marca te rog si multumesc :)
Puncte:1
drapel de

Dacă limba este după URL sau prefixul de cale, va trebui să vă asigurați că apelul AJAX este la adresa URL sau prefixul de cale corectă, pentru a încărca limba corectă.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.