I18n woes in 10.29+

Hey everyone,

I just noticed that switching languages is working only partially for a site we are running after upgrading to Preside 10.29+.
When the nice user changes their language, the change affects only the multilingual content, while the framework i18n language is always sticking to the default value set in config.cfc. The result is a mix of strings from the default language settings of the i18n framework and content (e.g. blog entries) in the expected language.

This is the code we are hitting when the users changes their language:

component {
  property name="multilingualPresideObjectService" inject="multilingualPresideObjectService";
  property name="userPreferencesService"           inject="userPreferencesService";
  property name="i18n"                             inject="i18n";

  public function setLanguage( event, rc, prc ) {
  
    userPreferencesService.setLanguage( language=rc.language );
    i18n.setFWLocale( rc.language );

    relocate( url=event.buildLink( page=rc.currentPage ) );
  }

}

Any pointers?

Thanks in advance,
– Lutz

Apologies @Lutz_Lesener for just seeing this. The only thing I could think of is that the locale is set just once here and then not persisted.

Ensure that this is set at the beginning of each request based on the preferences. Might that be the case?