【问题标题】:Django reverse internalization/localizationDjango 反向内化/本地化
【发布时间】:2012-07-12 06:01:17
【问题描述】:

这是一个完全不同的问题。我们有一个欧洲语言的 Django Web 应用程序。现在我们想要同样的英语应用程序。

我想如果我只是按照相反的顺序执行 django 内部化/本地化步骤,我将能够用英文制作应用程序(原始代码是由其他人编写的)。但我认为这不是一个最佳的方法。有没有更好的方法或方法?

PS。当地时区现在是印度。我们计划在未来几天内添加其他国家/地区。

【问题讨论】:

    标签: python django localization internationalization timezone


    【解决方案1】:

    有两个部分可以达到您所指出的所需解决方案:国际化和本地化。

    国际化

    准备软件进行本地化。通常由开发人员完成。

    本地化

    编写翻译和本地格式。通常由翻译人员完成。

    请务必注意,如果代码的结构不适合本地化,那么翻译将不够。

    查看docs 了解更多信息。

    【讨论】:

    • 此外,gettext 风格的国际化被设计为使用类英语语言作为 ngettext 等的源语言。最好的选择是将源翻译成英文,然后国际化。
    【解决方案2】:

    时区的实现相当简单。只需使用 pytz 和/或 dateutil。您的问题非常广泛,您能否举例说明您面临的具体语言问题?

    【讨论】:

    • 不幸的是,根据实现的不同,时区的实现远非简单,这要归功于数据库不存储时区标记和 python 日期时间完全拙劣且不真正支持时区。这在阅读 pytz 文档时变得非常明显。尤其是使用 UTC 以外的任何服务器/数据库本地时区,您肯定会遇到问题。
    • 转换为 UTC 将是第一步,是的,这可能很困难。
    • 问题是,如果时区使用 DST,则时间戳在本地时区可能不明确。 python 做错的实际上是完全分解了 datetime 中的时间。 Java 做对了; java.util.Date 中的时间存储始终以 UTC 秒为单位,并且仅针对本地时区进行细分,以供 java.util.Calendar 实例输出。
    • 嘿@nicefinly 感谢您的回答。我即将开始它,所以我认为如果我能以最好的方式开始它会很好。
    猜你喜欢
    • 1970-01-01
    • 2011-12-16
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2014-09-16
    • 2012-10-29
    相关资源
    最近更新 更多