【发布时间】:2015-05-05 03:31:53
【问题描述】:
我目前正在尝试设置我的网站以进行翻译。 我的网站目前是法文的,我想把它翻译成英文。这是我到目前为止所做的:
- 将
{% load i18n %}标签放在html顶部 - 使用
{% trans "Services" %}放置一个字段以供翻译 - 在 settings.py 中:
我已将'django.middleware.locale.LocaleMiddleware' 添加到
中间件类列表。
我还将当前语言设置为
法语与LANGUAGE_CODE = 'fr'
我已经指定了可用的语言
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('Anglais')),
('fr', ugettext('Français')),
)
我已经用USE_I18N = True开启了I18N翻译
我已经指定了本地化文件的位置
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale/'),
)
当我运行 django-admin.py makemessages -l en -v3 时,我得到的结果如下:
PS C:\Users\USERNAME\Desktop\Ajitech\ajitech-website> django-admin.py makemessages -l en -v3
examining files with the extensions: .txt and .html
ignoring directory .git
ignoring file settings.cpython-34.pyc in .\AjitechRoot\__pycache__
ignoring file urls.cpython-34.pyc in .\AjitechRoot\__pycache__
ignoring file wsgi.cpython-34.pyc in .\AjitechRoot\__pycache__
ignoring file __init__.cpython-34.pyc in .\AjitechRoot\__pycache__
ignoring file __init__.cpython-34.pyc in .\AjitechWebsite\migrations\__pycache__
ignoring file admin.cpython-34.pyc in .\AjitechWebsite\__pycache__
ignoring file models.cpython-34.pyc in .\AjitechWebsite\__pycache__
ignoring file views.cpython-34.pyc in .\AjitechWebsite\__pycache__
ignoring file __init__.cpython-34.pyc in .\AjitechWebsite\__pycache__
processing file AjitechData.sqlite3 in .
processing file __init__.py in .\AjitechRoot
processing file settings.py in .\AjitechRoot
processing file urls.py in .\AjitechRoot
processing file wsgi.py in .\AjitechRoot
processing file __init__.py in .\AjitechWebsite
processing file admin.py in .\AjitechWebsite
processing file __init__.py in .\AjitechWebsite\migrations
processing file models.py in .\AjitechWebsite
processing file tests.py in .\AjitechWebsite
processing file views.py in .\AjitechWebsite
processing file Runserver.ps1 in .
processing file db.sqlite3 in .
processing file manage.py in .
processing file base.css in .\static\static-only\admin\css
processing file changelists.css in .\static\static-only\admin\css
processing file dashboard.css in .\static\static-only\admin\css
processing file forms.css in .\static\static-only\admin\css
processing file ie.css in .\static\static-only\admin\css
processing file login.css in .\static\static-only\admin\css
processing file rtl.css in .\static\static-only\admin\css
processing file widgets.css in .\static\static-only\admin\css
processing file changelist-bg.gif in .\static\static-only\admin\img
processing file changelist-bg_rtl.gif in .\static\static-only\admin\img
processing file default-bg-reverse.gif in .\static\static-only\admin\img
processing file default-bg.gif in .\static\static-only\admin\img
processing file deleted-overlay.gif in .\static\static-only\admin\img
processing file move_vertex_off.png in .\static\static-only\admin\img\gis
processing file move_vertex_on.png in .\static\static-only\admin\img\gis
processing file icon-no.gif in .\static\static-only\admin\img
processing file icon-unknown.gif in .\static\static-only\admin\img
processing file icon-yes.gif in .\static\static-only\admin\img
processing file icon_addlink.gif in .\static\static-only\admin\img
processing file icon_alert.gif in .\static\static-only\admin\img
processing file icon_calendar.gif in .\static\static-only\admin\img
processing file icon_changelink.gif in .\static\static-only\admin\img
processing file icon_clock.gif in .\static\static-only\admin\img
processing file icon_deletelink.gif in .\static\static-only\admin\img
processing file icon_error.gif in .\static\static-only\admin\img
processing file icon_searchbox.png in .\static\static-only\admin\img
processing file icon_success.gif in .\static\static-only\admin\img
processing file inline-delete-8bit.png in .\static\static-only\admin\img
processing file inline-delete.png in .\static\static-only\admin\img
processing file inline-restore-8bit.png in .\static\static-only\admin\img
processing file inline-restore.png in .\static\static-only\admin\img
processing file inline-splitter-bg.gif in .\static\static-only\admin\img
processing file nav-bg-grabber.gif in .\static\static-only\admin\img
processing file nav-bg-reverse.gif in .\static\static-only\admin\img
processing file nav-bg-selected.gif in .\static\static-only\admin\img
processing file nav-bg.gif in .\static\static-only\admin\img
processing file selector-icons.gif in .\static\static-only\admin\img
processing file selector-search.gif in .\static\static-only\admin\img
processing file sorting-icons.gif in .\static\static-only\admin\img
processing file tooltag-add.png in .\static\static-only\admin\img
processing file tooltag-arrowright.png in .\static\static-only\admin\img
processing file LICENSE-JQUERY.txt in .\static\static-only\admin\js
processing file SelectBox.js in .\static\static-only\admin\js
processing file SelectFilter2.js in .\static\static-only\admin\js
processing file actions.js in .\static\static-only\admin\js
processing file actions.min.js in .\static\static-only\admin\js
processing file DateTimeShortcuts.js in .\static\static-only\admin\js\admin
processing file RelatedObjectLookups.js in .\static\static-only\admin\js\admin
processing file calendar.js in .\static\static-only\admin\js
processing file collapse.js in .\static\static-only\admin\js
processing file collapse.min.js in .\static\static-only\admin\js
processing file core.js in .\static\static-only\admin\js
processing file inlines.js in .\static\static-only\admin\js
processing file inlines.min.js in .\static\static-only\admin\js
processing file jquery.init.js in .\static\static-only\admin\js
processing file jquery.js in .\static\static-only\admin\js
processing file jquery.min.js in .\static\static-only\admin\js
processing file prepopulate.js in .\static\static-only\admin\js
processing file prepopulate.min.js in .\static\static-only\admin\js
processing file timeparse.js in .\static\static-only\admin\js
processing file urlify.js in .\static\static-only\admin\js
processing file animation.css in .\static\static\css
processing file bootstrap.min.css in .\static\static\css
processing file font-awesome.min.css in .\static\static\css
processing file FontAwesome.otf in .\static\static\fonts
processing file fontawesome-webfont.eot in .\static\static\fonts
processing file fontawesome-webfont.svg in .\static\static\fonts
processing file fontawesome-webfont.ttf in .\static\static\fonts
processing file fontawesome-webfont.woff in .\static\static\fonts
processing file fontawesome-webfont.woff2 in .\static\static\fonts
processing file ajitech-jumbotron-background-color-small.png in .\static\static\images
processing file ajitech-jumbotron-background-small.png in .\static\static\images
processing file ajitech-jumbotron-background.png in .\static\static\images
processing file ajitech-jumbotron-even.png in .\static\static\images
processing file ajitech-jumbotron-odd.png in .\static\static\images
processing file ajitech-logo-large.png in .\static\static\images
processing file ajitech-logo.png in .\static\static\images
processing file ajitech-logo.svg in .\static\static\images
processing file programming.jpg in .\static\static\images\services
processing file username-normal.png in .\static\static\images\team
processing file ajitech.js in .\static\static\js
processing file bootstrap.min.js in .\static\static\js
processing file jquery-2.1.3.min.js in .\static\static\js
processing file less-2.5.0.min.js in .\static\static\js
processing file wow.min.js in .\static\static\js
processing file ajitech-404.less in .\static\static\less
processing file ajitech-utilities.less in .\static\static\less
processing file ajitech.less in .\static\static\less
processing file 404.html in .\static\templates
processing file overview.html in .\static\templates
processing locale en
我要翻译的消息在overview.html 中,它已被脚本处理(最后处理的文件)。
毕竟,我希望在 locale 文件夹中生成一个 .po 文件,其中包含要翻译成英文的“Service”行。然而,事实并非如此。我有什么遗漏吗?
这是我的 settings.py
"""
Django settings for AjitechRoot project.
For more information on this file, see
https://docs.djangoproject.com/en/1.7/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.7/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '** REDACTED **'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ALLOWED_HOSTS = [ '127.0.0.1' ]
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'AjitechWebsite',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.i18n',
)
ROOT_URLCONF = 'AjitechRoot.urls'
WSGI_APPLICATION = 'AjitechRoot.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'AjitechData.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.7/topics/i18n/
LANGUAGE_CODE = 'fr'
TIME_ZONE = 'Eastern/Canada'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale/'),
)
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('Anglais')),
('fr', ugettext('Français')),
)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
STATIC_URL = '/static/'
# Template location
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'static/templates'),
)
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/static-only')
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/static'),
)
编辑:
我正在使用 Django 1.8.1。
makemessages 命令是从我网站的根文件夹调用的,您可以在该文件夹中找到 manage.py。
【问题讨论】:
标签: django windows translation