一部のDjangoアプリケーションでは、次のようなgettextを含むURLパターンに遭遇しました。
from django.utils.translation import ugettext as _
urlpatterns = patterns('',
...
url(r'^%s$' % _('about/'), about, name='about'),
...
)
最初は、プロジェクトの他の部分と統一された方法でURLを国際化することは良い考えのように思われましたが、私には疑問があります。
AFAIK、URLパターンはアプリケーションの起動時に読み込まれます。したがって、アプリケーションに最初のリクエストを行うユーザーの言語設定に従ってビルドされると思います。スレッドが使用されている場合も、これはさらに予測不能になる可能性があります。
このアプローチは、インストールが単一言語で行われる場合に合理的である可能性がありますが、フォーラムアプリケーションなど、他の言語で他のインストールが行われる可能性があります。
これは問題だと思いますか、それとも私の想像ですか?このアプローチは多言語サイトに使用できますか?ugettext_lazy
この問題を回避できますか?