Angebotsanfrage für Arbeit an Indico: Event default language

Sehr geehrte Damen und Herren,

bitte senden Sie uns ein Angebot für die Arbeit an dem auf dem Python-Framework Flask basierenden Veranstaltungsmanagementsystem Indico, um die Aufgabe * Event default language* zu implementieren.

Currently Indico only has a language setting for users, but no way to indicate the primary language of an event.

  • Add a new event setting with the default language for the event
  • Add a new event setting with the supported languages in the event
  • Add a new user setting to always use the preferred language
  • In end-user-facing parts of the event (i. e. not the management area), these new language settings should behave like this:
    • User setting enabled: Always use the user’s language (ignore supported languages); otherwise use the user’s language if it’s supported, and fall back to the default language if it isn’t.
    • When sending emails to a user, use the same logic to determine the language used there.
    • When sending emails without knowing the user’s language, use the event’s default language.

Die Arbeiten müssen in Form von einem oder mehreren Merge-/Pull-Requests beim Projekt eingereicht werden und den Ansprüchen des Indico-Entwicklungsteams genügen, sodass diese in das Upstream-Projekt integriert werden können. Zudem müssen die Merge-/Pull-Requests noch dieses Jahr, das heißt bis zum 29. Dezember erstellt werden.

Bitte fügen Sie dem Angebot Referenzen zu ähnlicher geleisteter Arbeit hinzu. Bitte lesen Sie die Zusätzlichen Vertragsbedingungen der Max-Planck-Gesellschaft zur Förderung der Wissenschaften e. V. und senden Sie uns dieses bis zum 15. Dezember 2022 vorzugsweise als reine Textnachricht (mit Anhang) an mit dem Zeichen indico-38dvt-event-language zu. Sollten Sie kein Angebot abgeben können, teilen Sie uns das bitte auch mit.

Max-Planck-Institut für molekulare Genetik
z. H. Paul Menzel
Ihnestraße 63–73
14195 Berlin

Freundliche Grüße

Paul Menzel

Dear @ThiefMaster ,
Hello, here are a few points to clarify,

  1. Add new event settings -
    The settings page will have another section with a drop-down form, right? If so, the options will be user-defined (manager-defined) languages or available i18n languages supported by the Indico Server?
    For example, if the Indico server has English, French, and German, then a manager can select multiple of these as event-supported languages, let’s say French and German, and one of the French and German as the default let’s say, German?

  2. Add a new user setting to always use the preferred language.
    This should be added in the user profile settings, and/or on the top right menu, this should affect all the events, not at a particular event level?

  3. Behaviour
    3.1 If the event’s default language is set as German.
    The user’s preferred language is English, so we ignore the event’s default language or supported languages, system will show the event in English, and also send emails in English.
    3.2 User’s preferred language is French, we’ll show the event in French, and send emails in French.
    Is this correct understanding?

  4. Currently in Indico core, I guess we don’t let managers define their own templates for automatic emails like approval, rejection, etc. Therefore, we will add {% trans %} tag to the existing templates, correct?

Thanks in advance for the clarifications,
Vasant Vohra

  1. Yeah new section there for i18n stuff is a good idea. I’d say we offer all languages available on on the server. If an indico admin wants to disable a language globally they can already do that via the config file. And yes, the default language should be one of the event languages if the user selected some of those. I’d just fail validation if the user tries to select a different one.

  2. Profile settings is enough IMHO. No need to add it to the “top menu” (btw, I think you mean the “session bar”).

  3. If the user prefers to always use their own language, then we ignore the event language because the user actively opted in to always having their language even if this means mixed-language in some areas. If the user did not enable that setting, then the event language should get priority over the user’s configured language.

  4. We already added i18n to all templates, and there’s also a new force_event_locale contextmanager which is currently not doing much, but would be the one single place to handle this new functionality (this is what makes this task relatively easy and straightforward - the hard work has already been done!)

1 Like

Dear Indico folks, thank you for the questions. Please use the GitHub issue #5606 to discuss this.