我有一个Django应用程序。将其本地化为多种语言简单明了,但网站的一部分是复杂的富互联网应用程序。该站点的这一部分允许用户进入他的工作空间模式。
一切都保持不变,但术语也发生了变化。 e.g。
www.exmaple.com/myria/chemist
www.exmaple.com/myria/biologist
www.exmaple.com/myria/physicist
myria
是我的富互联网应用程序。单词chemist
,biologist
和physicist
仅表示工作区。整个Django应用程序itselt使用相同的代码库而没有其他任何改变。
我正在使用django-rosetta管理翻译和django-localeurl以提供基于URL的语言环境切换(在网站的正常部分)。
我的智慧结束了如何实现这一目标。也许还有一些与网站框架相关的问题?
答案 0 :(得分:0)
简短回答:你不需要它。在大多数情况下,最好在URL中使用拉丁字符而不是%% - 转义。
长答案:DjangoCMS为每个页面提供与语言环境相关的URL。你可以找到类似的东西:
from django.utils.translations import ugettext as _
from django import http
...
def myria_view(request, localized_workspace):
my_workspaces = (
(_('foo'), foo_view),
(_('bar'), bar_view),
(_('buz'), buz_view),
)
for ws in my_workspaces:
if ws[0] == localized_workspace:
return ws[1](request)
raise http.Http404
但又一次,不要这样做。这是错的
更新:Django开箱即用https://docs.djangoproject.com/en/dev/topics/i18n/internationalization/#translating-url-patterns