google-app-engine - URL 中区域设置的 webapp2 路由

标签 google-app-engine internationalization locale webapp2

webapp2 i18n 文档有一个在参数中指定语言环境的示例,例如:

www.example.com?locale=en_US

但是谷歌搜索控制台说这是not recommended .

我想改为像这样将语言环境放在 URL 中:

www.example.com
www.example.com/about
www.example.com/contact
www.example.com/fr
www.example.com/fr/about
www.example.com/fr/contact

设置 webapp2 路由并将语言环境作为参数传递给处理程序的好方法是什么?

最佳答案

如果你想尝试我这样做的方式:设置一个正则表达式 (app = webapp2.WSGIApplication([('/([^/]+)/?([^/]*)', RegionSearch )], config=settings.w2config, debug=settings.DEBUG) 然后将参数“传递”到模板,您可以在其中为许多不同的区域设置、时区和货币任意设置定位,例如

   {% if request.... == "..." %} # depend on values in the request
        {% set currency = "SEK" %}
        {% set format = "sv_SE" %}
        {% set timezoneinfo = 'Europe/Stockholm' %}
        {% set locale = "se" %}    
    {% endif %}

关于google-app-engine - URL 中区域设置的 webapp2 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42141365/

相关文章:

google-app-engine - 获取Google App Engine项目的公共(public)IP地址

java - 部署到 Google App Engine 时出现“类文件是 Java 8,但最大支持的是 Java 7”错误

ruby-on-rails - rails I8n : Use default locale when the requested locale (from HTTP header) is not available?

ruby-on-rails-3 - Rails 国际化 (I18n) : locale in the url

c++ - 为什么设置了中文代码页的 Windows 控制台可以显示 UTF-16 编码的字符?

google-app-engine - Google App Engine 上的 Lua

google-app-engine - 在用 golang 编写的 Google App Engine 应用程序中使用和测试本地包的好方法?

php - .po 文件中的 CakePhp i18n 翻译词顺序

java - Android - 更改所有 Android 版本的应用程序语言

c - 使用 _sprintf_l 格式化 double 和数千个数