首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django中特定于上下文的本地化

Django中特定于上下文的本地化
EN

Stack Overflow用户
提问于 2011-11-02 22:36:39
回答 1查看 118关注 0票数 2

我有一个Django应用程序。将其本地化为多种语言很简单,但网站的一部分是一个复杂的富互联网应用程序。网站的这一部分允许用户进入他的工作空间模式。

一切都保持不变,但术语发生了变化。例如:

代码语言:javascript
复制
www.exmaple.com/myria/chemist
www.exmaple.com/myria/biologist
www.exmaple.com/myria/physicist

myria是我的富互联网应用程序。单词chemistbiologistphysicist仅表示工作空间。整个Django应用程序本身使用相同的代码库,其他内容没有变化。

我使用django-rosetta来管理翻译,使用django-localeurl来提供基于URL的区域设置切换(在站点的正常部分)。

我对如何做到这一点束手无策。也许是一些与网站框架相关的东西?

EN

回答 1

Stack Overflow用户

发布于 2011-11-06 18:37:25

简单的回答是:你不需要它。在大多数情况下,最好在URL中使用拉丁字符,而不是%%转义的字符。

冗长的答案: DjangoCMS为每个页面提供了依赖于语言环境的URL。你可以像这样拼凑一些东西:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7982127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档