Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalisierung / Lokalisierung mit gettext #154

Open
wants to merge 25 commits into
base: dev
Choose a base branch
from
Open

Internationalisierung / Lokalisierung mit gettext #154

wants to merge 25 commits into from

Conversation

MHajoha
Copy link
Member

@MHajoha MHajoha commented Feb 25, 2025

Zwei größere Bausteine, die hier gegenüber der Diskussion in #146 noch hinzukommen, sind:

  • Deferred translation / verzögerte Übersetzung. Warum das nötig ist, ist in Grundlagen für I18N questionpy-server#136 schon grob beschrieben, hier wird TranslatableString dann implementiert. [n][p]gettext haben einen Keyword-Parameter defer, mit dem das explizit aus- oder explizit angeschaltet werden kann. Per default wird deferred, wenn beim Aufruf von gettext kein Request gehandelt wird. (Oder der on_request_callback nicht aufgerufen wurde, aber das sollte nie passieren.) Sollte das immernoch der Fall sein, wenn der string übersetzt werden muss, wird wie immer als Fallback die msgid verwendet und eine Warnung geloggt.
  • ngettext, pgettext und npgettext: Über die hatten wir noch nicht gesprochen, halte ich aber doch für wichtig. Ich habe mich dazu entschieden, die aus Attribute bzw. Methoden der gettext/_-Funktion bereitzustellen. D.h. _("Abc") übersetzt normal, _.ngettext("Abc", "Def", n) pluralisiert ggf.

Issue: #146
Server-PR: questionpy-org/questionpy-server#136

Copy link
Contributor

@MartinGauk MartinGauk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mir gefällt der defer Mechanismus und dass man dadurch _ sowohl in den Options als auch im Attempt nutzen kann.

@MHajoha MHajoha requested a review from MartinGauk March 4, 2025 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants