magic-removal: Merged to [2059]
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2060 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
58605bcfe3
commit
233254d634
|
@ -16,10 +16,10 @@ def compile_messages():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
for (dirpath, dirnames, filenames) in os.walk(basedir):
|
for (dirpath, dirnames, filenames) in os.walk(basedir):
|
||||||
for file in filenames:
|
for f in filenames:
|
||||||
if file.endswith('.po'):
|
if f.endswith('.po'):
|
||||||
sys.stderr.write('processing file %s in %s\n' % (file, dirpath))
|
sys.stderr.write('processing file %s in %s\n' % (f, dirpath))
|
||||||
pf = os.path.splitext(os.path.join(dirpath, file))[0]
|
pf = os.path.splitext(os.path.join(dirpath, f))[0]
|
||||||
cmd = 'msgfmt -o "%s.mo" "%s.po"' % (pf, pf)
|
cmd = 'msgfmt -o "%s.mo" "%s.po"' % (pf, pf)
|
||||||
os.system(cmd)
|
os.system(cmd)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import getopt
|
|
||||||
|
|
||||||
def unique_messages():
|
def unique_messages():
|
||||||
basedir = None
|
basedir = None
|
||||||
|
@ -16,10 +15,10 @@ def unique_messages():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
for (dirpath, dirnames, filenames) in os.walk(basedir):
|
for (dirpath, dirnames, filenames) in os.walk(basedir):
|
||||||
for file in filenames:
|
for f in filenames:
|
||||||
if file.endswith('.po'):
|
if f.endswith('.po'):
|
||||||
sys.stderr.write('processing file %s in %s\n' % (file, dirpath))
|
sys.stderr.write('processing file %s in %s\n' % (f, dirpath))
|
||||||
pf = os.path.splitext(os.path.join(dirpath, file))[0]
|
pf = os.path.splitext(os.path.join(dirpath, f))[0]
|
||||||
cmd = 'msguniq "%s.po"' % pf
|
cmd = 'msguniq "%s.po"' % pf
|
||||||
stdout = os.popen(cmd)
|
stdout = os.popen(cmd)
|
||||||
msg = stdout.read()
|
msg = stdout.read()
|
||||||
|
|
|
@ -12,13 +12,14 @@ DOTS = ['·', '*', '\xe2\x80\xa2', '•', '•', '•']
|
||||||
unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)')
|
unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)')
|
||||||
word_split_re = re.compile(r'(\s+)')
|
word_split_re = re.compile(r'(\s+)')
|
||||||
punctuation_re = re.compile('^(?P<lead>(?:%s)*)(?P<middle>.*?)(?P<trail>(?:%s)*)$' % \
|
punctuation_re = re.compile('^(?P<lead>(?:%s)*)(?P<middle>.*?)(?P<trail>(?:%s)*)$' % \
|
||||||
('|'.join([re.escape(p) for p in LEADING_PUNCTUATION]),
|
('|'.join([re.escape(x) for x in LEADING_PUNCTUATION]),
|
||||||
'|'.join([re.escape(p) for p in TRAILING_PUNCTUATION])))
|
'|'.join([re.escape(x) for x in TRAILING_PUNCTUATION])))
|
||||||
simple_email_re = re.compile(r'^\S+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$')
|
simple_email_re = re.compile(r'^\S+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$')
|
||||||
link_target_attribute_re = re.compile(r'(<a [^>]*?)target=[^\s>]+')
|
link_target_attribute_re = re.compile(r'(<a [^>]*?)target=[^\s>]+')
|
||||||
html_gunk_re = re.compile(r'(?:<br clear="all">|<i><\/i>|<b><\/b>|<em><\/em>|<strong><\/strong>|<\/?smallcaps>|<\/?uppercase>)', re.IGNORECASE)
|
html_gunk_re = re.compile(r'(?:<br clear="all">|<i><\/i>|<b><\/b>|<em><\/em>|<strong><\/strong>|<\/?smallcaps>|<\/?uppercase>)', re.IGNORECASE)
|
||||||
hard_coded_bullets_re = re.compile(r'((?:<p>(?:%s).*?[a-zA-Z].*?</p>\s*)+)' % '|'.join([re.escape(d) for d in DOTS]), re.DOTALL)
|
hard_coded_bullets_re = re.compile(r'((?:<p>(?:%s).*?[a-zA-Z].*?</p>\s*)+)' % '|'.join([re.escape(x) for x in DOTS]), re.DOTALL)
|
||||||
trailing_empty_content_re = re.compile(r'(?:<p>(?: |\s|<br \/>)*?</p>\s*)+\Z')
|
trailing_empty_content_re = re.compile(r'(?:<p>(?: |\s|<br \/>)*?</p>\s*)+\Z')
|
||||||
|
del x # Temporary variable
|
||||||
|
|
||||||
def escape(html):
|
def escape(html):
|
||||||
"Returns the given HTML with ampersands, quotes and carets encoded"
|
"Returns the given HTML with ampersands, quotes and carets encoded"
|
||||||
|
|
|
@ -2,7 +2,7 @@ from django.conf import settings
|
||||||
from django.template import Template, Context, TemplateDoesNotExist
|
from django.template import Template, Context, TemplateDoesNotExist
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.http import HttpResponseServerError, HttpResponseNotFound
|
from django.http import HttpResponseServerError, HttpResponseNotFound
|
||||||
import inspect, os, re, sys
|
import os, re
|
||||||
from itertools import count, izip
|
from itertools import count, izip
|
||||||
from os.path import dirname, join as pathjoin
|
from os.path import dirname, join as pathjoin
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
import re
|
|
||||||
import os
|
|
||||||
|
|
||||||
import gettext as gettext_module
|
|
||||||
|
|
||||||
from django import http
|
from django import http
|
||||||
from django.utils.translation import check_for_language, activate, to_locale, get_language
|
from django.utils.translation import check_for_language, activate, to_locale, get_language
|
||||||
from django.utils.text import javascript_quote
|
from django.utils.text import javascript_quote
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
import os
|
||||||
|
import gettext as gettext_module
|
||||||
|
|
||||||
def set_language(request):
|
def set_language(request):
|
||||||
"""
|
"""
|
||||||
|
@ -145,7 +142,7 @@ def javascript_catalog(request, domain='djangojs', packages=None):
|
||||||
for path in paths:
|
for path in paths:
|
||||||
try:
|
try:
|
||||||
catalog = gettext_module.translation(domain, path, [default_locale])
|
catalog = gettext_module.translation(domain, path, [default_locale])
|
||||||
except IOError, e:
|
except IOError:
|
||||||
catalog = None
|
catalog = None
|
||||||
if catalog is not None:
|
if catalog is not None:
|
||||||
t.update(catalog._catalog)
|
t.update(catalog._catalog)
|
||||||
|
@ -154,7 +151,7 @@ def javascript_catalog(request, domain='djangojs', packages=None):
|
||||||
for path in paths:
|
for path in paths:
|
||||||
try:
|
try:
|
||||||
catalog = gettext_module.translation(domain, path, [locale])
|
catalog = gettext_module.translation(domain, path, [locale])
|
||||||
except IOError, e:
|
except IOError:
|
||||||
catalog = None
|
catalog = None
|
||||||
if catalog is not None:
|
if catalog is not None:
|
||||||
t.update(catalog._catalog)
|
t.update(catalog._catalog)
|
||||||
|
|
|
@ -447,24 +447,24 @@ Notes:
|
||||||
en-us).
|
en-us).
|
||||||
|
|
||||||
.. _LANGUAGES setting: http://www.djangoproject.com/documentation/settings/#languages
|
.. _LANGUAGES setting: http://www.djangoproject.com/documentation/settings/#languages
|
||||||
* the LocaleMiddleware can only select languages for which there is a
|
* The ``LocaleMiddleware`` can only select languages for which there is a
|
||||||
django provided base translation. If you want to provide translations
|
Django-provided base translation. If you want to provide translations
|
||||||
for your application that aren't already in the set of translations
|
for your application that aren't already in the set of translations
|
||||||
in Djangos source tree, you will want to at least provide basic
|
in Django's source tree, you'll want to provide at least basic
|
||||||
translations for that language. For example Django uses technical
|
translations for that language. For example, Django uses technical
|
||||||
message IDs to translate date formats and time formats - so you will
|
message IDs to translate date formats and time formats -- so you will
|
||||||
need at least those translations for the system to work correctly.
|
need at least those translations for the system to work correctly.
|
||||||
|
|
||||||
A good starting point is to just copy over the english ``.po`` file
|
A good starting point is to copy the English ``.po`` file and to
|
||||||
and to translate at least the technical messages and maybe the validator
|
translate at least the technical messages -- maybe the validator
|
||||||
messages, too.
|
messages, too.
|
||||||
|
|
||||||
Technical message IDs are easily recognized by them being all upper case.
|
Technical message IDs are easily recognized; they're all upper case. You
|
||||||
You don't translate the message ID as with other messages, you provide
|
don't translate the message ID as with other messages, you provide the
|
||||||
the correct local variant on the provided english value. For example with
|
correct local variant on the provided English value. For example, with
|
||||||
``DATETIME_FORMAT`` (or ``DATE_FORMAT`` or ``TIME_FORMAT``), this would
|
``DATETIME_FORMAT`` (or ``DATE_FORMAT`` or ``TIME_FORMAT``), this would
|
||||||
be the format string that you want to use in your language. The format
|
be the format string that you want to use in your language. The format
|
||||||
is identical to the ``now`` tag date formattings.
|
is identical to the format strings used by the ``now`` template tag.
|
||||||
|
|
||||||
Once ``LocaleMiddleware`` determines the user's preference, it makes this
|
Once ``LocaleMiddleware`` determines the user's preference, it makes this
|
||||||
preference available as ``request.LANGUAGE_CODE`` for each `request object`_.
|
preference available as ``request.LANGUAGE_CODE`` for each `request object`_.
|
||||||
|
|
Loading…
Reference in New Issue