- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于 Django 关于 javascript 文件本地化的问题。
Django 提供了一个小而方便的 javascript 库,它像 gettext 一样用于将 javascript 文件中的字符串国际化。
我成功地设置了它(至少插值函数有效)并且我可以生成法语的 po 文件。但是,并非所有字符串都被检测到。我真的不知道为什么,因为它们看起来都一样。我在 Django Trac 和官方文档中找不到任何内容。
javascript 代码位于模板中包含的外部文件中,Django 显然找到了它,因为它在 po 文件中放入了两个字符串。
包含在 HTML 模板中:
<script src="{{MEDIA_URL|default:'/media/'}}js/list.js" type="text/javascript"></script>
JavaScript 代码:
/* ---------------
* Upload progress
* --------------- */
$(document).ready(function() {
$(function() {
$('#upload_form').uploadProgress({
//...
/* function called just before starting the upload */
start: function() {
$("#upload_form").hide();
filename = $("#id_file").val().split(/[\/\\]/).pop();
fmts = gettext('Uploading %(filename)s...');
dat = {
filename: filename
};
s = interpolate(fmts,dat,true);
$("#progress_filename").html(s);
$("#progress_container").show();
},
/* function called each time bar is updated */
uploading: function(upload) {
if (upload.percents >= 100) {
window.clearTimeout(this.timer);
fmts = gettext("Saving %(filename)s...");
dat = {
filename: filename
};
s = interpolate(fmts,dat,true);
$("#progress_filename").html(s);
} else {
fmts = gettext('Uploading %(filename)s : %(percents)s%...');
dat = {
filename: filename,
percents: upload.percents
};
s = interpolate(fmts,dat,true);
$("#progress_filename").html(s);
}
},
//...
});
});
});
/* --------------------
* Confirmation dialogs
* -------------------- */
function delVid(title) {
fmts = gettext('Do you really want to delete the video "%(title)s"?');
dat = {
title: title
};
s = interpolate(fmts,dat,true);
return confirm(s)
}
function abortVid(title) {
fmts = gettext('Do you really want to abort the processing of the video "%(title)s"?');
dat = {
title: title
};
s = interpolate(fmts,dat,true);
return confirm(s)
}
第一部分是 JQuery 的 jquery.uploadprogress 模块的标准使用,第二部分只是确认弹出窗口的两个函数。
检测到的字符串都在第一部分:
我使用命令“django-admin.py -d djangojs -l fr”,它生成了一个包含这两个字符串的 djangojs.po 文件。我翻译了它们。不幸的是,它们不会在运行时被翻译。看来我终于有两个问题了。
有什么想法吗?
最佳答案
Django 的 Javascript 消息解析非常脆弱。我有 written up the details为什么会这样。我还有一个附加到 Django ticket 7704 的 Django 1.3 修复程序, 2012 年被录用。
关于javascript - Django 1.2.3 - 国际化 - makemessages 不检测所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3879177/
在我的 Django 项目中,我使用 Vue + vue-gettext对于 i18n。 为了制作可翻译的字符串,我的 .vue 文件中有以下代码: Hello %{name} Click here
如何使用 Django 的内置 makemessages 收集项目文件夹之外的翻译字符串设施?管理命令 makemessages 非常方便,我想将它用于位于站点包中的应用程序。 最佳答案 (1)激活安
当我制作一个 django 项目的 i18n 文件时,我遇到了一个奇怪的错误: (venv) user@machine:~/path/to/repo$ django-admin makemessage
每次我向 Django 项目添加一些字符串时,我都会运行“django-admin.py makemessages -all”来为所有语言环境生成 .PO 文件。 问题是即使我只添加了 5 个新闻字符
我正在尝试将 i8n 添加到 Django 应用程序中,但是当我执行时: (venv) user@machine:~/path/to/repo$ django-admin makemessages -
我在使用 Django makemessages 管理命令时遇到问题。它似乎在 .po 文件中随机将消息标记为模糊,即使它们已经被翻译。例如.... #: templates/profile/edit
我正在尝试国际化 django 应用程序。我按照教程进行操作,但是当我运行时... ./manage.py makemessages --all ... django 仅创建一个 .po 文件,其中包
如果我运行以下命令,我的 Django 应用程序中有 12 种语言: python manage.py makemessages --all 它将为这些语言创建所有 12 个 .po 文件,现在我又添
当我运行 manage.py makemessages 时,我在 .po 文件中发现了一些消息,如下所示: msgid "Example" msgstr "Example" 运行命令后变成这样: #~
我有一个带有多个本地语言环境文件夹的 Django 应用程序,存储在基本目录的 translations 文件夹中: translations/public/locale/{en,fr} transl
首先,我期待 --no-obsolete会注释掉 msgid和 msgstr如果 gettext被删除了吧 我的测试方式是: 我写了 gettext("some string here")在查看 我跑
我的设置 settings.py INSTALLED_APPS = ( ... 'myprojectname', ... ) STATIC_ROOT = '/var/www/a
我正在尝试为 Django 项目启用翻译,django-admin.py makemessages -l de 似乎没有创建任何 .po 文件,尽管有几个 {% trans ... %} 在模板中,在
这是我的目录结构: Implementaion\template Implementaion\Agency_project\locale Implementaion\Agency_project\ai
我安装的 python 与 yum 是分开的。 现在,我需要为 OSQA 系统重新编译语言包,但是得到这样的消息: Error: errors happened while running xgett
我想使用 django i18n 支持来翻译我的 javascript 文件。我有以下 javascript 文件: var test_text = gettext('example'); @with
例如,我的网站中有几个不属于任何应用程序的字符串 {% block title %}{% trans "Login" %}{% endblock %} 或用于设置区域设置 cookie 的修改后的身份
我在一个文件夹中有一个应用程序,在另一个文件夹中有它的模板... 我已将翻译字符串添加到模板(存储在模板目录中,我的应用程序中的所有模板都在一个目录中) 当我转到应用程序文件夹并在那里运行脚本时: s
我用 django-admin.py makemessages -a 创建了语言文件 稍作开发之后,所有创建 *.po 文件的尝试都失败了: django-admin.py makemessages
我有以下结构: . ├── apps │ ├── app1 │ │ ├── app1 │ │ └── setup.py │ ├── app2 │ │ ├── app2
我是一名优秀的程序员,十分优秀!