首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django翻译-每周翻译几天

Django翻译-每周翻译几天
EN

Stack Overflow用户
提问于 2018-01-11 07:04:30
回答 1查看 453关注 0票数 1

我正在制作多语种的网站,在翻译一周中的几天时遇到了问题,所以:

代码语言:javascript
复制
var day = moment().startOf("week").format('dddd')

这是简短的版本。

我试过用ugettext_lazy (_) -

代码语言:javascript
复制
var one = _(moment().startOf("week").format('dddd'))

但不起作用。

全部:

代码语言:javascript
复制
var days = data.buckets.map(e => moment().startOf('week').day(1 + e.key).format('dddd'))

这是d3/c3格式。

我在垂直条形图中使用x轴中的天数(也许这很重要:)

我需要翻译一整天的名字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 08:57:32

您提供的代码示例

代码语言:javascript
复制
var one = _(moment().startOf("week").format('dddd'))

是JavaScript。在JS中,更常见的是将_名称用于underscore.js或lodash,而不是用于翻译。可能不是你想要的。

如果您想用Python进行转换,那么应该将已经翻译过的字符串作为变量提供给您的JS脚本。如果值只来自JS,那么我建议使用字典/对象映射天数到已翻译的字符串。制作包含以下内容的Django模板:

代码语言:javascript
复制
{% load trans %}

<script>
var dayNamesMap = {
    0: "{% trans 'Monday' %}",
    1: "{% trans 'Tuesday' %}",
    2: "{% trans 'Wednesday' %}",
    // etc.
};
</script>

或者在视图中执行此操作,确保设置了区域设置(请参见Django如何发现语言偏好):

代码语言:javascript
复制
day_names_map = json.dumps({
    date.weekday(): date.strftime('%A')
    for i in range(7)
    for date in [datetime.date.today() + datetime.timedelta(days=i)]
})

回传

代码语言:javascript
复制
'{"3": "Thursday", "4": "Friday", "5": "Saturday", "6": "Sunday", "0": "Monday", "1": "Tuesday", "2": "Wednesday"}'

然后将day_names_map添加到上下文中,然后在模板中执行:

代码语言:javascript
复制
<script>
var dayNamesMap = {{ day_names_map }}
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48201475

复制
相关文章

相似问题

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