From f0a1df0b0139a7f5a576dff966210b5d52247650 Mon Sep 17 00:00:00 2001
From: Tim Graham <timograham@gmail.com>
Date: Fri, 9 Jan 2015 15:08:16 -0500
Subject: [PATCH] Removed deprecated Chinese language codes; refs #18149.

---
 django/conf/global_settings.py                |    2 -
 django/conf/locale/__init__.py                |    8 -
 .../conf/locale/zh_CN/LC_MESSAGES/django.mo   |  Bin 16605 -> 0 bytes
 .../conf/locale/zh_CN/LC_MESSAGES/django.po   | 1376 -----------------
 django/conf/locale/zh_CN/__init__.py          |    0
 django/conf/locale/zh_CN/formats.py           |   45 -
 .../conf/locale/zh_TW/LC_MESSAGES/django.mo   |  Bin 15001 -> 0 bytes
 .../conf/locale/zh_TW/LC_MESSAGES/django.po   | 1369 ----------------
 django/conf/locale/zh_TW/__init__.py          |    0
 django/conf/locale/zh_TW/formats.py           |   45 -
 django/utils/translation/trans_real.py        |   12 -
 tests/deprecation/tests.py                    |   22 +-
 tests/i18n/tests.py                           |   46 +-
 13 files changed, 12 insertions(+), 2913 deletions(-)
 delete mode 100644 django/conf/locale/zh_CN/LC_MESSAGES/django.mo
 delete mode 100644 django/conf/locale/zh_CN/LC_MESSAGES/django.po
 delete mode 100644 django/conf/locale/zh_CN/__init__.py
 delete mode 100644 django/conf/locale/zh_CN/formats.py
 delete mode 100644 django/conf/locale/zh_TW/LC_MESSAGES/django.mo
 delete mode 100644 django/conf/locale/zh_TW/LC_MESSAGES/django.po
 delete mode 100644 django/conf/locale/zh_TW/__init__.py
 delete mode 100644 django/conf/locale/zh_TW/formats.py

diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index 863bb2e5cd..597091916a 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -130,10 +130,8 @@ LANGUAGES = (
     ('uk', gettext_noop('Ukrainian')),
     ('ur', gettext_noop('Urdu')),
     ('vi', gettext_noop('Vietnamese')),
-    ('zh-cn', gettext_noop('Simplified Chinese')),
     ('zh-hans', gettext_noop('Simplified Chinese')),
     ('zh-hant', gettext_noop('Traditional Chinese')),
-    ('zh-tw', gettext_noop('Traditional Chinese')),
 )
 
 # Languages using BiDi (right-to-left) layout
diff --git a/django/conf/locale/__init__.py b/django/conf/locale/__init__.py
index f2affb2248..b5cab321d1 100644
--- a/django/conf/locale/__init__.py
+++ b/django/conf/locale/__init__.py
@@ -511,10 +511,6 @@ LANG_INFO = {
     },
     'zh-cn': {
         'fallback': ['zh-hans'],
-        'bidi': False,
-        'code': 'zh-cn',
-        'name': 'Simplified Chinese',
-        'name_local': '简体中文',
     },
     'zh-hans': {
         'bidi': False,
@@ -542,9 +538,5 @@ LANG_INFO = {
     },
     'zh-tw': {
         'fallback': ['zh-hant'],
-        'bidi': False,
-        'code': 'zh-tw',
-        'name': 'Traditional Chinese',
-        'name_local': '繁體中文',
     },
 }
diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.mo b/django/conf/locale/zh_CN/LC_MESSAGES/django.mo
deleted file mode 100644
index e95e9106473ac755ebc6e384db379bffbd20ca95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16605
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

diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.po b/django/conf/locale/zh_CN/LC_MESSAGES/django.po
deleted file mode 100644
index 92056e7f69..0000000000
--- a/django/conf/locale/zh_CN/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,1376 +0,0 @@
-# This file is distributed under the same license as the Django package.
-#
-# Translators:
-# Daniel Duan <DaNmarner@gmail.com>, 2013
-# Jannis Leidel <jannis@leidel.info>, 2011
-# Kevin Sze <leiarix@gmail.com>, 2012
-# Lele Long <schemacs@gmail.com>, 2011
-# ouyanghongyu <ouyanghongyu@gmail.com>, 2014
-# pylemon <leeway1985@gmail.com>, 2013
-# slene <vslene@gmail.com>, 2011
-# Sun Liwen <sunliwen@gmail.com>, 2014
-# Xiang Yu <bupt.aswmtjdsj@gmail.com>, 2014
-# Yin Jifeng <jifeng.yin@gmail.com>, 2013
-# Ziang Song <songziang@gmail.com>, 2011-2012
-# Kevin Sze <leiarix@gmail.com>, 2012
-msgid ""
-msgstr ""
-"Project-Id-Version: django\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-08-23 14:10+0200\n"
-"PO-Revision-Date: 2014-09-04 10:36+0000\n"
-"Last-Translator: ouyanghongyu <ouyanghongyu@gmail.com>\n"
-"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django/"
-"language/zh_CN/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: conf/global_settings.py:51
-msgid "Afrikaans"
-msgstr "南非语"
-
-#: conf/global_settings.py:52
-msgid "Arabic"
-msgstr "阿拉伯语"
-
-#: conf/global_settings.py:53
-msgid "Asturian"
-msgstr ""
-
-#: conf/global_settings.py:53
-msgid "Azerbaijani"
-msgstr "阿塞拜疆语"
-
-#: conf/global_settings.py:54
-msgid "Bulgarian"
-msgstr "保加利亚语"
-
-#: conf/global_settings.py:55
-msgid "Belarusian"
-msgstr "白俄罗斯语"
-
-#: conf/global_settings.py:56
-msgid "Bengali"
-msgstr "孟加拉语"
-
-#: conf/global_settings.py:57
-msgid "Breton"
-msgstr "布雷顿"
-
-#: conf/global_settings.py:58
-msgid "Bosnian"
-msgstr "波斯尼亚语"
-
-#: conf/global_settings.py:59
-msgid "Catalan"
-msgstr "加泰罗尼亚语"
-
-#: conf/global_settings.py:60
-msgid "Czech"
-msgstr "捷克语"
-
-#: conf/global_settings.py:61
-msgid "Welsh"
-msgstr "威尔士语"
-
-#: conf/global_settings.py:62
-msgid "Danish"
-msgstr "丹麦语"
-
-#: conf/global_settings.py:63
-msgid "German"
-msgstr "德语"
-
-#: conf/global_settings.py:64
-msgid "Greek"
-msgstr "希腊语"
-
-#: conf/global_settings.py:65
-msgid "English"
-msgstr "英语"
-
-#: conf/global_settings.py:66
-msgid "Australian English"
-msgstr ""
-
-#: conf/global_settings.py:67
-msgid "British English"
-msgstr "英国英语"
-
-#: conf/global_settings.py:68
-msgid "Esperanto"
-msgstr "世界语"
-
-#: conf/global_settings.py:69
-msgid "Spanish"
-msgstr "西班牙语"
-
-#: conf/global_settings.py:70
-msgid "Argentinian Spanish"
-msgstr "阿根廷西班牙语"
-
-#: conf/global_settings.py:71
-msgid "Mexican Spanish"
-msgstr "墨西哥西班牙语"
-
-#: conf/global_settings.py:72
-msgid "Nicaraguan Spanish"
-msgstr "尼加拉瓜西班牙语"
-
-#: conf/global_settings.py:73
-msgid "Venezuelan Spanish"
-msgstr "委内瑞拉西班牙语"
-
-#: conf/global_settings.py:74
-msgid "Estonian"
-msgstr "爱沙尼亚语"
-
-#: conf/global_settings.py:75
-msgid "Basque"
-msgstr "巴斯克语"
-
-#: conf/global_settings.py:76
-msgid "Persian"
-msgstr "波斯语"
-
-#: conf/global_settings.py:77
-msgid "Finnish"
-msgstr "芬兰语"
-
-#: conf/global_settings.py:78
-msgid "French"
-msgstr "法语"
-
-#: conf/global_settings.py:79
-msgid "Frisian"
-msgstr "夫里斯兰语"
-
-#: conf/global_settings.py:80
-msgid "Irish"
-msgstr "爱尔兰语"
-
-#: conf/global_settings.py:81
-msgid "Galician"
-msgstr "加利西亚语"
-
-#: conf/global_settings.py:82
-msgid "Hebrew"
-msgstr "希伯来语"
-
-#: conf/global_settings.py:83
-msgid "Hindi"
-msgstr "北印度语"
-
-#: conf/global_settings.py:84
-msgid "Croatian"
-msgstr "克罗地亚语"
-
-#: conf/global_settings.py:85
-msgid "Hungarian"
-msgstr "匈牙利语"
-
-#: conf/global_settings.py:86
-msgid "Interlingua"
-msgstr "国际语"
-
-#: conf/global_settings.py:87
-msgid "Indonesian"
-msgstr "印尼语"
-
-#: conf/global_settings.py:88
-msgid "Ido"
-msgstr ""
-
-#: conf/global_settings.py:88
-msgid "Icelandic"
-msgstr "冰岛语"
-
-#: conf/global_settings.py:89
-msgid "Italian"
-msgstr "意大利语"
-
-#: conf/global_settings.py:90
-msgid "Japanese"
-msgstr "日语"
-
-#: conf/global_settings.py:91
-msgid "Georgian"
-msgstr "格鲁吉亚语"
-
-#: conf/global_settings.py:92
-msgid "Kazakh"
-msgstr "哈萨克语"
-
-#: conf/global_settings.py:93
-msgid "Khmer"
-msgstr "高棉语"
-
-#: conf/global_settings.py:94
-msgid "Kannada"
-msgstr "埃纳德语"
-
-#: conf/global_settings.py:95
-msgid "Korean"
-msgstr "韩语"
-
-#: conf/global_settings.py:96
-msgid "Luxembourgish"
-msgstr "卢森堡语"
-
-#: conf/global_settings.py:97
-msgid "Lithuanian"
-msgstr "立陶宛语"
-
-#: conf/global_settings.py:98
-msgid "Latvian"
-msgstr "拉脱维亚语"
-
-#: conf/global_settings.py:99
-msgid "Macedonian"
-msgstr "马其顿语"
-
-#: conf/global_settings.py:100
-msgid "Malayalam"
-msgstr "马来亚拉姆语"
-
-#: conf/global_settings.py:101
-msgid "Mongolian"
-msgstr "蒙古语"
-
-#: conf/global_settings.py:102
-msgid "Marathi"
-msgstr ""
-
-#: conf/global_settings.py:102
-msgid "Burmese"
-msgstr "缅甸语"
-
-#: conf/global_settings.py:103
-msgid "Norwegian Bokmal"
-msgstr "挪威博克马尔"
-
-#: conf/global_settings.py:104
-msgid "Nepali"
-msgstr "尼泊尔语"
-
-#: conf/global_settings.py:105
-msgid "Dutch"
-msgstr "荷兰语"
-
-#: conf/global_settings.py:106
-msgid "Norwegian Nynorsk"
-msgstr "新挪威语"
-
-#: conf/global_settings.py:107
-msgid "Ossetic"
-msgstr "奥塞梯语"
-
-#: conf/global_settings.py:108
-msgid "Punjabi"
-msgstr "旁遮普语 "
-
-#: conf/global_settings.py:109
-msgid "Polish"
-msgstr "波兰语"
-
-#: conf/global_settings.py:110
-msgid "Portuguese"
-msgstr "葡萄牙语"
-
-#: conf/global_settings.py:111
-msgid "Brazilian Portuguese"
-msgstr "巴西葡萄牙语"
-
-#: conf/global_settings.py:112
-msgid "Romanian"
-msgstr "罗马尼亚语"
-
-#: conf/global_settings.py:113
-msgid "Russian"
-msgstr "俄语"
-
-#: conf/global_settings.py:114
-msgid "Slovak"
-msgstr "斯洛伐克语"
-
-#: conf/global_settings.py:115
-msgid "Slovenian"
-msgstr "斯洛文尼亚语"
-
-#: conf/global_settings.py:116
-msgid "Albanian"
-msgstr "阿尔巴尼亚语"
-
-#: conf/global_settings.py:117
-msgid "Serbian"
-msgstr "塞尔维亚语"
-
-#: conf/global_settings.py:118
-msgid "Serbian Latin"
-msgstr "塞尔维亚拉丁语"
-
-#: conf/global_settings.py:119
-msgid "Swedish"
-msgstr "瑞典语"
-
-#: conf/global_settings.py:120
-msgid "Swahili"
-msgstr "斯瓦西里语"
-
-#: conf/global_settings.py:121
-msgid "Tamil"
-msgstr "泰米尔语"
-
-#: conf/global_settings.py:122
-msgid "Telugu"
-msgstr "泰卢固语"
-
-#: conf/global_settings.py:123
-msgid "Thai"
-msgstr "泰语"
-
-#: conf/global_settings.py:124
-msgid "Turkish"
-msgstr "土耳其语"
-
-#: conf/global_settings.py:125
-msgid "Tatar"
-msgstr "鞑靼语"
-
-#: conf/global_settings.py:126
-msgid "Udmurt"
-msgstr "乌德穆尔特语"
-
-#: conf/global_settings.py:127
-msgid "Ukrainian"
-msgstr "乌克兰语"
-
-#: conf/global_settings.py:128
-msgid "Urdu"
-msgstr "乌尔都语"
-
-#: conf/global_settings.py:129
-msgid "Vietnamese"
-msgstr "越南语"
-
-#: conf/global_settings.py:130 conf/global_settings.py:131
-msgid "Simplified Chinese"
-msgstr "简体中文"
-
-#: conf/global_settings.py:132 conf/global_settings.py:133
-msgid "Traditional Chinese"
-msgstr "繁体中文"
-
-#: contrib/sitemaps/apps.py:8
-msgid "Site Maps"
-msgstr ""
-
-#: contrib/staticfiles/apps.py:8
-msgid "Static Files"
-msgstr ""
-
-#: contrib/syndication/apps.py:8
-msgid "Syndication"
-msgstr ""
-
-#: contrib/webdesign/apps.py:8
-msgid "Web Design"
-msgstr ""
-
-#: core/validators.py:21
-msgid "Enter a valid value."
-msgstr "输入一个有效的值。"
-
-#: core/validators.py:77 forms/fields.py:675
-msgid "Enter a valid URL."
-msgstr "输入一个有效的 URL。"
-
-#: core/validators.py:115
-msgid "Enter a valid integer."
-msgstr ""
-
-#: core/validators.py:120
-msgid "Enter a valid email address."
-msgstr "输入一个合法的Email地址."
-
-#: core/validators.py:185
-msgid ""
-"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."
-msgstr "输入一个有效的 'slug',由字母、数字、下划线或横线组成。"
-
-#: core/validators.py:188 core/validators.py:207
-msgid "Enter a valid IPv4 address."
-msgstr "输入一个有效的 IPv4 地址。"
-
-#: core/validators.py:193 core/validators.py:208
-msgid "Enter a valid IPv6 address."
-msgstr "填写合法的IPv6地址。"
-
-#: core/validators.py:203 core/validators.py:206
-msgid "Enter a valid IPv4 or IPv6 address."
-msgstr "输入可用的IPv4 或 IPv6 地址."
-
-#: core/validators.py:229 db/models/fields/__init__.py:1070
-msgid "Enter only digits separated by commas."
-msgstr "只能输入用逗号分隔的数字。"
-
-#: core/validators.py:236
-#, python-format
-msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
-msgstr "确保该值为 %(limit_value)s (现在为 %(show_value)s)。"
-
-#: core/validators.py:255
-#, python-format
-msgid "Ensure this value is less than or equal to %(limit_value)s."
-msgstr "确保该值小于或等于%(limit_value)s。"
-
-#: core/validators.py:262
-#, python-format
-msgid "Ensure this value is greater than or equal to %(limit_value)s."
-msgstr "确保该值大于或等于%(limit_value)s。"
-
-#: core/validators.py:271
-#, python-format
-msgid ""
-"Ensure this value has at least %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at least %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-"确保该变量至少包含 %(limit_value)d 字符(目前字符数 %(show_value)d)。"
-
-#: core/validators.py:282
-#, python-format
-msgid ""
-"Ensure this value has at most %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at most %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-"确保该变量包含不超过 %(limit_value)d 字符 (目前字符数 %(show_value)d)。"
-
-#: db/models/base.py:975 forms/models.py:718
-msgid "and"
-msgstr "和"
-
-#: db/models/base.py:977
-#, python-format
-msgid "%(model_name)s with this %(field_labels)s already exists."
-msgstr ""
-
-#: db/models/fields/__init__.py:104
-#, python-format
-msgid "Value %(value)r is not a valid choice."
-msgstr ""
-
-#: db/models/fields/__init__.py:105
-msgid "This field cannot be null."
-msgstr "这个值不能为 null。"
-
-#: db/models/fields/__init__.py:106
-msgid "This field cannot be blank."
-msgstr "此字段不能为空。"
-
-#: db/models/fields/__init__.py:107
-#, python-format
-msgid "%(model_name)s with this %(field_label)s already exists."
-msgstr "具有 %(field_label)s 的 %(model_name)s 已存在。"
-
-#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'.
-#. Eg: "Title must be unique for pub_date year"
-#: db/models/fields/__init__.py:111
-#, python-format
-msgid ""
-"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s."
-msgstr ""
-
-#: db/models/fields/__init__.py:116
-#, python-format
-msgid "Field of type: %(field_type)s"
-msgstr "字段类型:%(field_type)s"
-
-#: db/models/fields/__init__.py:847 db/models/fields/__init__.py:1573
-msgid "Integer"
-msgstr "整数"
-
-#: db/models/fields/__init__.py:851 db/models/fields/__init__.py:1571
-#, python-format
-msgid "'%(value)s' value must be an integer."
-msgstr ""
-
-#: db/models/fields/__init__.py:926
-#, python-format
-msgid "'%(value)s' value must be either True or False."
-msgstr ""
-
-#: db/models/fields/__init__.py:928
-msgid "Boolean (Either True or False)"
-msgstr "布尔值(真或假)"
-
-#: db/models/fields/__init__.py:1004
-#, python-format
-msgid "String (up to %(max_length)s)"
-msgstr "字符串(最长 %(max_length)s 位)"
-
-#: db/models/fields/__init__.py:1065
-msgid "Comma-separated integers"
-msgstr "逗号分隔的整数"
-
-#: db/models/fields/__init__.py:1080
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "
-"format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1082 db/models/fields/__init__.py:1189
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "
-"date."
-msgstr ""
-
-#: db/models/fields/__init__.py:1085
-msgid "Date (without time)"
-msgstr "日期(无时间)"
-
-#: db/models/fields/__init__.py:1187
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
-"uuuuuu]][TZ] format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1191
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
-"[TZ]) but it is an invalid date/time."
-msgstr ""
-
-#: db/models/fields/__init__.py:1195
-msgid "Date (with time)"
-msgstr "日期(带时间)"
-
-#: db/models/fields/__init__.py:1297
-#, python-format
-msgid "'%(value)s' value must be a decimal number."
-msgstr ""
-
-#: db/models/fields/__init__.py:1299
-msgid "Decimal number"
-msgstr "小数"
-
-#: db/models/fields/__init__.py:1444
-msgid "Email address"
-msgstr "Email 地址"
-
-#: db/models/fields/__init__.py:1470
-msgid "File path"
-msgstr "文件路径"
-
-#: db/models/fields/__init__.py:1537
-#, python-format
-msgid "'%(value)s' value must be a float."
-msgstr ""
-
-#: db/models/fields/__init__.py:1539
-msgid "Floating point number"
-msgstr "浮点数"
-
-#: db/models/fields/__init__.py:1623
-msgid "Big (8 byte) integer"
-msgstr "大整数(8字节)"
-
-#: db/models/fields/__init__.py:1638
-msgid "IPv4 address"
-msgstr "IPv4 地址"
-
-#: db/models/fields/__init__.py:1668
-msgid "IP address"
-msgstr "IP 地址"
-
-#: db/models/fields/__init__.py:1747
-#, python-format
-msgid "'%(value)s' value must be either None, True or False."
-msgstr ""
-
-#: db/models/fields/__init__.py:1749
-msgid "Boolean (Either True, False or None)"
-msgstr "布尔值(真、假或无)"
-
-#: db/models/fields/__init__.py:1809
-msgid "Positive integer"
-msgstr "正整数"
-
-#: db/models/fields/__init__.py:1821
-msgid "Positive small integer"
-msgstr "正小整数"
-
-#: db/models/fields/__init__.py:1834
-#, python-format
-msgid "Slug (up to %(max_length)s)"
-msgstr "Slug (多达 %(max_length)s)"
-
-#: db/models/fields/__init__.py:1863
-msgid "Small integer"
-msgstr "小整数"
-
-#: db/models/fields/__init__.py:1870
-msgid "Text"
-msgstr "文本"
-
-#: db/models/fields/__init__.py:1893
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
-"format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1895
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
-"invalid time."
-msgstr ""
-
-#: db/models/fields/__init__.py:1898
-msgid "Time"
-msgstr "时间"
-
-#: db/models/fields/__init__.py:1977
-msgid "URL"
-msgstr "URL"
-
-#: db/models/fields/__init__.py:2000
-msgid "Raw binary data"
-msgstr "原始二进制数据"
-
-#: db/models/fields/files.py:225
-msgid "File"
-msgstr "文件"
-
-#: db/models/fields/files.py:375
-msgid "Image"
-msgstr "图像"
-
-#: db/models/fields/related.py:1580
-#, python-format
-msgid "%(model)s instance with pk %(pk)r does not exist."
-msgstr ""
-
-#: db/models/fields/related.py:1582
-msgid "Foreign Key (type determined by related field)"
-msgstr "外键(由相关字段确定)"
-
-#: db/models/fields/related.py:1773
-msgid "One-to-one relationship"
-msgstr "一对一关系"
-
-#: db/models/fields/related.py:1843
-msgid "Many-to-many relationship"
-msgstr "多对多关系"
-
-#: forms/fields.py:55
-msgid "This field is required."
-msgstr "这个字段是必填项。"
-
-#: forms/fields.py:236
-msgid "Enter a whole number."
-msgstr "输入整数。"
-
-#: forms/fields.py:279 forms/fields.py:316
-msgid "Enter a number."
-msgstr "输入一个数字。"
-
-#: forms/fields.py:318
-#, python-format
-msgid "Ensure that there are no more than %(max)s digit in total."
-msgid_plural "Ensure that there are no more than %(max)s digits in total."
-msgstr[0] "确认总共不超过 %(max)s 个数字."
-
-#: forms/fields.py:322
-#, python-format
-msgid "Ensure that there are no more than %(max)s decimal place."
-msgid_plural "Ensure that there are no more than %(max)s decimal places."
-msgstr[0] "确认小数不超过 %(max)s 位."
-
-#: forms/fields.py:326
-#, python-format
-msgid ""
-"Ensure that there are no more than %(max)s digit before the decimal point."
-msgid_plural ""
-"Ensure that there are no more than %(max)s digits before the decimal point."
-msgstr[0] "确认小数点前不超过 %(max)s 位。"
-
-#: forms/fields.py:437 forms/fields.py:1139
-msgid "Enter a valid date."
-msgstr "输入一个有效的日期。"
-
-#: forms/fields.py:461 forms/fields.py:1140
-msgid "Enter a valid time."
-msgstr "输入一个有效的时间。"
-
-#: forms/fields.py:483
-msgid "Enter a valid date/time."
-msgstr "输入一个有效的日期/时间。"
-
-#: forms/fields.py:564
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr "未提交文件。请检查表单的编码类型。"
-
-#: forms/fields.py:565
-msgid "No file was submitted."
-msgstr "没有提交文件。"
-
-#: forms/fields.py:566
-msgid "The submitted file is empty."
-msgstr "所提交的是空文件。"
-
-#: forms/fields.py:568
-#, python-format
-msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
-msgid_plural ""
-"Ensure this filename has at most %(max)d characters (it has %(length)d)."
-msgstr[0] "确保该文件名长度不超过 %(max)d 字符(目前字符数 %(length)d)。"
-
-#: forms/fields.py:571
-msgid "Please either submit a file or check the clear checkbox, not both."
-msgstr "请提交文件或勾选清除复选框,两者其一即可。"
-
-#: forms/fields.py:632
-msgid ""
-"Upload a valid image. The file you uploaded was either not an image or a "
-"corrupted image."
-msgstr "请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。"
-
-#: forms/fields.py:782 forms/fields.py:871 forms/models.py:1192
-#, python-format
-msgid "Select a valid choice. %(value)s is not one of the available choices."
-msgstr "选择一个有效的选项。 %(value)s 不在可用的选项中。"
-
-#: forms/fields.py:872 forms/fields.py:987 forms/models.py:1191
-msgid "Enter a list of values."
-msgstr "输入一系列值。"
-
-#: forms/fields.py:988
-msgid "Enter a complete value."
-msgstr ""
-
-#. Translators: This is the default suffix added to form field labels
-#: forms/forms.py:122
-msgid ":"
-msgstr ":"
-
-#: forms/forms.py:192
-#, python-format
-msgid "(Hidden field %(name)s) %(error)s"
-msgstr "(隐藏字段 %(name)s) %(error)s"
-
-#. Translators: If found as last label character, these punctuation
-#. characters will prevent the default label_suffix to be appended to the
-#. label
-#: forms/forms.py:620
-msgid ":?.!"
-msgstr ":?.!"
-
-#: forms/formsets.py:95
-msgid "ManagementForm data is missing or has been tampered with"
-msgstr ""
-
-#: forms/formsets.py:332
-#, python-format
-msgid "Please submit %d or fewer forms."
-msgid_plural "Please submit %d or fewer forms."
-msgstr[0] "请提交不超过 %d 个表格。"
-
-#: forms/formsets.py:339
-#, python-format
-msgid "Please submit %d or more forms."
-msgid_plural "Please submit %d or more forms."
-msgstr[0] ""
-
-#: forms/formsets.py:367 forms/formsets.py:369
-msgid "Order"
-msgstr "排序"
-
-#: forms/formsets.py:371
-msgid "Delete"
-msgstr "删除"
-
-#: forms/models.py:712
-#, python-format
-msgid "Please correct the duplicate data for %(field)s."
-msgstr "请修改%(field)s的重复数据"
-
-#: forms/models.py:716
-#, python-format
-msgid "Please correct the duplicate data for %(field)s, which must be unique."
-msgstr "请修改%(field)s的重复数据.这个字段必须唯一"
-
-#: forms/models.py:722
-#, python-format
-msgid ""
-"Please correct the duplicate data for %(field_name)s which must be unique "
-"for the %(lookup)s in %(date_field)s."
-msgstr ""
-"请修正%(field_name)s的重复数据。%(date_field)s %(lookup)s 在 %(field_name)s "
-"必须保证唯一."
-
-#: forms/models.py:730
-msgid "Please correct the duplicate values below."
-msgstr "请修正重复的数据."
-
-#: forms/models.py:1028
-msgid "The inline foreign key did not match the parent instance primary key."
-msgstr "内联外键与父实例的主键不匹配。"
-
-#: forms/models.py:1094
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr "选择一个有效的选项: 该选择不在可用的选项中。"
-
-#: forms/models.py:1194
-#, python-format
-msgid "\"%(pk)s\" is not a valid value for a primary key."
-msgstr "\"%(pk)s\" 不是一个合法的主键值."
-
-#: forms/models.py:1205
-msgid ""
-"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
-msgstr "按下 \"Control\",或者在Mac上按 \"Command\" 来选择多个值。"
-
-#: forms/utils.py:148
-#, python-format
-msgid ""
-"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "
-"may be ambiguous or it may not exist."
-msgstr ""
-"%(datetime)s 不能在时区 %(current_timezone)s正确解读; 可能时间有歧义或者不存"
-"在."
-
-#: forms/widgets.py:350
-msgid "Currently"
-msgstr "目前"
-
-#: forms/widgets.py:351
-msgid "Change"
-msgstr "修改"
-
-#: forms/widgets.py:352
-msgid "Clear"
-msgstr "清除"
-
-#: forms/widgets.py:546
-msgid "Unknown"
-msgstr "未知"
-
-#: forms/widgets.py:547
-msgid "Yes"
-msgstr "是"
-
-#: forms/widgets.py:548
-msgid "No"
-msgstr "否"
-
-#: template/defaultfilters.py:855
-msgid "yes,no,maybe"
-msgstr "是、否、也许"
-
-#: template/defaultfilters.py:884 template/defaultfilters.py:896
-#, python-format
-msgid "%(size)d byte"
-msgid_plural "%(size)d bytes"
-msgstr[0] "%(size)d 字节"
-
-#: template/defaultfilters.py:898
-#, python-format
-msgid "%s KB"
-msgstr "%s KB"
-
-#: template/defaultfilters.py:900
-#, python-format
-msgid "%s MB"
-msgstr "%s MB"
-
-#: template/defaultfilters.py:902
-#, python-format
-msgid "%s GB"
-msgstr "%s GB"
-
-#: template/defaultfilters.py:904
-#, python-format
-msgid "%s TB"
-msgstr "%s TB"
-
-#: template/defaultfilters.py:906
-#, python-format
-msgid "%s PB"
-msgstr "%s PB"
-
-#: utils/dateformat.py:59
-msgid "p.m."
-msgstr "p.m."
-
-#: utils/dateformat.py:60
-msgid "a.m."
-msgstr "a.m."
-
-#: utils/dateformat.py:65
-msgid "PM"
-msgstr "PM"
-
-#: utils/dateformat.py:66
-msgid "AM"
-msgstr "AM"
-
-#: utils/dateformat.py:149
-msgid "midnight"
-msgstr "午夜"
-
-#: utils/dateformat.py:151
-msgid "noon"
-msgstr "中午"
-
-#: utils/dates.py:6
-msgid "Monday"
-msgstr "星期一"
-
-#: utils/dates.py:6
-msgid "Tuesday"
-msgstr "星期二"
-
-#: utils/dates.py:6
-msgid "Wednesday"
-msgstr "星期三"
-
-#: utils/dates.py:6
-msgid "Thursday"
-msgstr "星期四"
-
-#: utils/dates.py:6
-msgid "Friday"
-msgstr "星期五"
-
-#: utils/dates.py:7
-msgid "Saturday"
-msgstr "星期六"
-
-#: utils/dates.py:7
-msgid "Sunday"
-msgstr "星期日"
-
-#: utils/dates.py:10
-msgid "Mon"
-msgstr "星期一"
-
-#: utils/dates.py:10
-msgid "Tue"
-msgstr "星期二"
-
-#: utils/dates.py:10
-msgid "Wed"
-msgstr "星期三"
-
-#: utils/dates.py:10
-msgid "Thu"
-msgstr "星期四"
-
-#: utils/dates.py:10
-msgid "Fri"
-msgstr "星期五"
-
-#: utils/dates.py:11
-msgid "Sat"
-msgstr "星期六"
-
-#: utils/dates.py:11
-msgid "Sun"
-msgstr "星期日"
-
-#: utils/dates.py:18
-msgid "January"
-msgstr "一月"
-
-#: utils/dates.py:18
-msgid "February"
-msgstr "二月"
-
-#: utils/dates.py:18
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:18
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:18
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:18
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:19
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:19
-msgid "August"
-msgstr "八月"
-
-#: utils/dates.py:19
-msgid "September"
-msgstr "九月"
-
-#: utils/dates.py:19
-msgid "October"
-msgstr "十月"
-
-#: utils/dates.py:19
-msgid "November"
-msgstr "十一月"
-
-#: utils/dates.py:20
-msgid "December"
-msgstr "十二月"
-
-#: utils/dates.py:23
-msgid "jan"
-msgstr "一月"
-
-#: utils/dates.py:23
-msgid "feb"
-msgstr "二月"
-
-#: utils/dates.py:23
-msgid "mar"
-msgstr "三月"
-
-#: utils/dates.py:23
-msgid "apr"
-msgstr "四月"
-
-#: utils/dates.py:23
-msgid "may"
-msgstr "五月"
-
-#: utils/dates.py:23
-msgid "jun"
-msgstr "六月"
-
-#: utils/dates.py:24
-msgid "jul"
-msgstr "七月"
-
-#: utils/dates.py:24
-msgid "aug"
-msgstr "八月"
-
-#: utils/dates.py:24
-msgid "sep"
-msgstr "九月"
-
-#: utils/dates.py:24
-msgid "oct"
-msgstr "十月"
-
-#: utils/dates.py:24
-msgid "nov"
-msgstr "十一月"
-
-#: utils/dates.py:24
-msgid "dec"
-msgstr "十二月"
-
-#: utils/dates.py:31
-msgctxt "abbrev. month"
-msgid "Jan."
-msgstr "一月"
-
-#: utils/dates.py:32
-msgctxt "abbrev. month"
-msgid "Feb."
-msgstr "二月"
-
-#: utils/dates.py:33
-msgctxt "abbrev. month"
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:34
-msgctxt "abbrev. month"
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:35
-msgctxt "abbrev. month"
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:36
-msgctxt "abbrev. month"
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:37
-msgctxt "abbrev. month"
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:38
-msgctxt "abbrev. month"
-msgid "Aug."
-msgstr "八月"
-
-#: utils/dates.py:39
-msgctxt "abbrev. month"
-msgid "Sept."
-msgstr "九月"
-
-#: utils/dates.py:40
-msgctxt "abbrev. month"
-msgid "Oct."
-msgstr "十月"
-
-#: utils/dates.py:41
-msgctxt "abbrev. month"
-msgid "Nov."
-msgstr "十一月"
-
-#: utils/dates.py:42
-msgctxt "abbrev. month"
-msgid "Dec."
-msgstr "十二月"
-
-#: utils/dates.py:45
-msgctxt "alt. month"
-msgid "January"
-msgstr "一月"
-
-#: utils/dates.py:46
-msgctxt "alt. month"
-msgid "February"
-msgstr "二月"
-
-#: utils/dates.py:47
-msgctxt "alt. month"
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:48
-msgctxt "alt. month"
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:49
-msgctxt "alt. month"
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:50
-msgctxt "alt. month"
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:51
-msgctxt "alt. month"
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:52
-msgctxt "alt. month"
-msgid "August"
-msgstr "八月"
-
-#: utils/dates.py:53
-msgctxt "alt. month"
-msgid "September"
-msgstr "九月"
-
-#: utils/dates.py:54
-msgctxt "alt. month"
-msgid "October"
-msgstr "十月"
-
-#: utils/dates.py:55
-msgctxt "alt. month"
-msgid "November"
-msgstr "十一月"
-
-#: utils/dates.py:56
-msgctxt "alt. month"
-msgid "December"
-msgstr "十二月"
-
-#: utils/ipv6.py:10
-msgid "This is not a valid IPv6 address."
-msgstr ""
-
-#: utils/text.py:76
-#, python-format
-msgctxt "String to return when truncating text"
-msgid "%(truncated_text)s..."
-msgstr "%(truncated_text)s..."
-
-#: utils/text.py:245
-msgid "or"
-msgstr "或"
-
-#. Translators: This string is used as a separator between list elements
-#: utils/text.py:264 utils/timesince.py:57
-msgid ", "
-msgstr ","
-
-#: utils/timesince.py:25
-#, python-format
-msgid "%d year"
-msgid_plural "%d years"
-msgstr[0] "%d 年"
-
-#: utils/timesince.py:26
-#, python-format
-msgid "%d month"
-msgid_plural "%d months"
-msgstr[0] "%d 月"
-
-#: utils/timesince.py:27
-#, python-format
-msgid "%d week"
-msgid_plural "%d weeks"
-msgstr[0] "%d 周"
-
-#: utils/timesince.py:28
-#, python-format
-msgid "%d day"
-msgid_plural "%d days"
-msgstr[0] "%d 日"
-
-#: utils/timesince.py:29
-#, python-format
-msgid "%d hour"
-msgid_plural "%d hours"
-msgstr[0] "%d 小时"
-
-#: utils/timesince.py:30
-#, python-format
-msgid "%d minute"
-msgid_plural "%d minutes"
-msgstr[0] "%d 分钟"
-
-#: utils/timesince.py:46
-msgid "0 minutes"
-msgstr "0 分钟"
-
-#: views/csrf.py:105
-msgid "Forbidden"
-msgstr ""
-
-#: views/csrf.py:106
-msgid "CSRF verification failed. Request aborted."
-msgstr "CSRF验证失败. 相应中断."
-
-#: views/csrf.py:110
-msgid ""
-"You are seeing this message because this HTTPS site requires a 'Referer "
-"header' to be sent by your Web browser, but none was sent. This header is "
-"required for security reasons, to ensure that your browser is not being "
-"hijacked by third parties."
-msgstr ""
-
-#: views/csrf.py:115
-msgid ""
-"If you have configured your browser to disable 'Referer' headers, please re-"
-"enable them, at least for this site, or for HTTPS connections, or for 'same-"
-"origin' requests."
-msgstr ""
-
-#: views/csrf.py:120
-msgid ""
-"You are seeing this message because this site requires a CSRF cookie when "
-"submitting forms. This cookie is required for security reasons, to ensure "
-"that your browser is not being hijacked by third parties."
-msgstr ""
-
-#: views/csrf.py:125
-msgid ""
-"If you have configured your browser to disable cookies, please re-enable "
-"them, at least for this site, or for 'same-origin' requests."
-msgstr ""
-
-#: views/csrf.py:129
-msgid "More information is available with DEBUG=True."
-msgstr ""
-
-#: views/generic/dates.py:43
-msgid "No year specified"
-msgstr "没有指定年"
-
-#: views/generic/dates.py:99
-msgid "No month specified"
-msgstr "没有指定月"
-
-#: views/generic/dates.py:158
-msgid "No day specified"
-msgstr "没有指定天"
-
-#: views/generic/dates.py:214
-msgid "No week specified"
-msgstr "没有指定周"
-
-#: views/generic/dates.py:369 views/generic/dates.py:397
-#, python-format
-msgid "No %(verbose_name_plural)s available"
-msgstr "%(verbose_name_plural)s 不存在"
-
-#: views/generic/dates.py:650
-#, python-format
-msgid ""
-"Future %(verbose_name_plural)s not available because %(class_name)s."
-"allow_future is False."
-msgstr ""
-"因为 %(class_name)s.allow_future 设置为 False,所以特性 "
-"%(verbose_name_plural)s 不可用。"
-
-#: views/generic/dates.py:682
-#, python-format
-msgid "Invalid date string '%(datestr)s' given format '%(format)s'"
-msgstr "日期字符串 '%(datestr)s' 与格式 '%(format)s' 不匹配"
-
-#: views/generic/detail.py:54
-#, python-format
-msgid "No %(verbose_name)s found matching the query"
-msgstr "没有找到符合查询的 %(verbose_name)s"
-
-#: views/generic/list.py:62
-msgid "Page is not 'last', nor can it be converted to an int."
-msgstr "page 不等于 'last',或者它不能被转为数字。"
-
-#: views/generic/list.py:67
-#, python-format
-msgid "Invalid page (%(page_number)s): %(message)s"
-msgstr "非法页面 (%(page_number)s): %(message)s"
-
-#: views/generic/list.py:158
-#, python-format
-msgid "Empty list and '%(class_name)s.allow_empty' is False."
-msgstr "列表是空的并且'%(class_name)s.allow_empty 设置为 False'"
-
-#: views/static.py:54
-msgid "Directory indexes are not allowed here."
-msgstr "这里不允许目录索引"
-
-#: views/static.py:56
-#, python-format
-msgid "\"%(path)s\" does not exist"
-msgstr "\"%(path)s\" 不存在"
-
-#: views/static.py:97
-#, python-format
-msgid "Index of %(directory)s"
-msgstr "%(directory)s的索引"
diff --git a/django/conf/locale/zh_CN/__init__.py b/django/conf/locale/zh_CN/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/django/conf/locale/zh_CN/formats.py b/django/conf/locale/zh_CN/formats.py
deleted file mode 100644
index f855dec5b2..0000000000
--- a/django/conf/locale/zh_CN/formats.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- encoding: utf-8 -*-
-# This file is distributed under the same license as the Django package.
-#
-from __future__ import unicode_literals
-
-# The *_FORMAT strings use the Django date format syntax,
-# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-DATE_FORMAT = 'Y年n月j日'                # 2016年9月5日
-TIME_FORMAT = 'H:i'                     # 20:45
-DATETIME_FORMAT = 'Y年n月j日 H:i'        # 2016年9月5日 20:45
-YEAR_MONTH_FORMAT = 'Y年n月'             # 2016年9月
-MONTH_DAY_FORMAT = 'm月j日'              # 9月5日
-SHORT_DATE_FORMAT = 'Y年n月j日'          # 2016年9月5日
-SHORT_DATETIME_FORMAT = 'Y年n月j日 H:i'  # 2016年9月5日 20:45
-FIRST_DAY_OF_WEEK = 1                   # 星期一 (Monday)
-
-# The *_INPUT_FORMATS strings use the Python strftime format syntax,
-# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior
-DATE_INPUT_FORMATS = (
-    '%Y/%m/%d',     # '2016/09/05'
-    '%Y-%m-%d',     # '2016-09-05'
-    '%Y年%n月%j日',  # '2016年9月5日'
-)
-
-TIME_INPUT_FORMATS = (
-    '%H:%M',        # '20:45'
-    '%H:%M:%S',     # '20:45:29'
-    '%H:%M:%S.%f',  # '20:45:29.000200'
-)
-
-DATETIME_INPUT_FORMATS = (
-    '%Y/%m/%d %H:%M',           # '2016/09/05 20:45'
-    '%Y-%m-%d %H:%M',           # '2016-09-05 20:45'
-    '%Y年%n月%j日 %H:%M',        # '2016年9月5日 14:45'
-    '%Y/%m/%d %H:%M:%S',        # '2016/09/05 20:45:29'
-    '%Y-%m-%d %H:%M:%S',        # '2016-09-05 20:45:29'
-    '%Y年%n月%j日 %H:%M:%S',     # '2016年9月5日 20:45:29'
-    '%Y/%m/%d %H:%M:%S.%f',     # '2016/09/05 20:45:29.000200'
-    '%Y-%m-%d %H:%M:%S.%f',     # '2016-09-05 20:45:29.000200'
-    '%Y年%n月%j日 %H:%n:%S.%f',  # '2016年9月5日 20:45:29.000200'
-)
-
-DECIMAL_SEPARATOR = '.'
-THOUSAND_SEPARATOR = ''
-NUMBER_GROUPING = 4
diff --git a/django/conf/locale/zh_TW/LC_MESSAGES/django.mo b/django/conf/locale/zh_TW/LC_MESSAGES/django.mo
deleted file mode 100644
index 5b01df21ff4645958cec80d0093cd8c3cca114c2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15001
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
S1~Vp~H>>vWmtBa@QuV+1vs~8z

diff --git a/django/conf/locale/zh_TW/LC_MESSAGES/django.po b/django/conf/locale/zh_TW/LC_MESSAGES/django.po
deleted file mode 100644
index 1d45681df1..0000000000
--- a/django/conf/locale/zh_TW/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,1369 +0,0 @@
-# This file is distributed under the same license as the Django package.
-#
-# Translators:
-# Eric Ho <eric913@gmail.com>, 2013
-# ilay <ilay@ilay.tw>, 2012
-# Jannis Leidel <jannis@leidel.info>, 2011
-# mail6543210 <mail6543210@yahoo.com.tw>, 2013
-# ming hsien tzang <tzangms@gmail.com>, 2011
-# tcc <tcchou@tcchou.org>, 2011
-# Yeh-Yung <yyc1217@gmail.com>, 2013
-# Yeh-Yung <yyc1217@gmail.com>, 2012
-msgid ""
-msgstr ""
-"Project-Id-Version: django\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-08-23 14:10+0200\n"
-"PO-Revision-Date: 2014-08-24 08:52+0000\n"
-"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
-"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/django/"
-"language/zh_TW/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: conf/global_settings.py:51
-msgid "Afrikaans"
-msgstr "南非語"
-
-#: conf/global_settings.py:52
-msgid "Arabic"
-msgstr "阿拉伯語"
-
-#: conf/global_settings.py:53
-msgid "Asturian"
-msgstr ""
-
-#: conf/global_settings.py:53
-msgid "Azerbaijani"
-msgstr "阿塞拜疆(Azerbaijani)"
-
-#: conf/global_settings.py:54
-msgid "Bulgarian"
-msgstr "保加利亞語"
-
-#: conf/global_settings.py:55
-msgid "Belarusian"
-msgstr "白俄羅斯人"
-
-#: conf/global_settings.py:56
-msgid "Bengali"
-msgstr "孟加拉語"
-
-#: conf/global_settings.py:57
-msgid "Breton"
-msgstr ""
-
-#: conf/global_settings.py:58
-msgid "Bosnian"
-msgstr "波士尼亞語"
-
-#: conf/global_settings.py:59
-msgid "Catalan"
-msgstr "嘉泰羅尼亞語"
-
-#: conf/global_settings.py:60
-msgid "Czech"
-msgstr "捷克語"
-
-#: conf/global_settings.py:61
-msgid "Welsh"
-msgstr "威爾斯語"
-
-#: conf/global_settings.py:62
-msgid "Danish"
-msgstr "丹麥語"
-
-#: conf/global_settings.py:63
-msgid "German"
-msgstr "德語"
-
-#: conf/global_settings.py:64
-msgid "Greek"
-msgstr "希臘語"
-
-#: conf/global_settings.py:65
-msgid "English"
-msgstr "英語"
-
-#: conf/global_settings.py:66
-msgid "Australian English"
-msgstr ""
-
-#: conf/global_settings.py:67
-msgid "British English"
-msgstr "英國英語"
-
-#: conf/global_settings.py:68
-msgid "Esperanto"
-msgstr "世界語(Esperanto)"
-
-#: conf/global_settings.py:69
-msgid "Spanish"
-msgstr "西班牙語"
-
-#: conf/global_settings.py:70
-msgid "Argentinian Spanish"
-msgstr "阿根廷西班牙語"
-
-#: conf/global_settings.py:71
-msgid "Mexican Spanish"
-msgstr "墨西哥西班牙語(Mexican Spanish)"
-
-#: conf/global_settings.py:72
-msgid "Nicaraguan Spanish"
-msgstr "尼加拉瓜西班牙語(Nicaraguan Spanish)"
-
-#: conf/global_settings.py:73
-msgid "Venezuelan Spanish"
-msgstr "委內瑞拉西班牙人"
-
-#: conf/global_settings.py:74
-msgid "Estonian"
-msgstr "愛沙尼亞語"
-
-#: conf/global_settings.py:75
-msgid "Basque"
-msgstr "巴斯克語"
-
-#: conf/global_settings.py:76
-msgid "Persian"
-msgstr "波斯語"
-
-#: conf/global_settings.py:77
-msgid "Finnish"
-msgstr "芬蘭語"
-
-#: conf/global_settings.py:78
-msgid "French"
-msgstr "法語"
-
-#: conf/global_settings.py:79
-msgid "Frisian"
-msgstr "弗里斯蘭語"
-
-#: conf/global_settings.py:80
-msgid "Irish"
-msgstr "愛爾蘭語"
-
-#: conf/global_settings.py:81
-msgid "Galician"
-msgstr "加里西亞語"
-
-#: conf/global_settings.py:82
-msgid "Hebrew"
-msgstr "希伯來語"
-
-#: conf/global_settings.py:83
-msgid "Hindi"
-msgstr "印度語"
-
-#: conf/global_settings.py:84
-msgid "Croatian"
-msgstr "克羅埃西亞語"
-
-#: conf/global_settings.py:85
-msgid "Hungarian"
-msgstr "匈牙利語"
-
-#: conf/global_settings.py:86
-msgid "Interlingua"
-msgstr ""
-
-#: conf/global_settings.py:87
-msgid "Indonesian"
-msgstr "印尼語"
-
-#: conf/global_settings.py:88
-msgid "Ido"
-msgstr ""
-
-#: conf/global_settings.py:88
-msgid "Icelandic"
-msgstr "冰島語"
-
-#: conf/global_settings.py:89
-msgid "Italian"
-msgstr "義大利語"
-
-#: conf/global_settings.py:90
-msgid "Japanese"
-msgstr "日語"
-
-#: conf/global_settings.py:91
-msgid "Georgian"
-msgstr "喬治亞語"
-
-#: conf/global_settings.py:92
-msgid "Kazakh"
-msgstr "哈薩克(Kazakh)"
-
-#: conf/global_settings.py:93
-msgid "Khmer"
-msgstr "高棉語"
-
-#: conf/global_settings.py:94
-msgid "Kannada"
-msgstr "坎那達語"
-
-#: conf/global_settings.py:95
-msgid "Korean"
-msgstr "韓語"
-
-#: conf/global_settings.py:96
-msgid "Luxembourgish"
-msgstr ""
-
-#: conf/global_settings.py:97
-msgid "Lithuanian"
-msgstr "立陶宛語"
-
-#: conf/global_settings.py:98
-msgid "Latvian"
-msgstr "拉脫維亞語"
-
-#: conf/global_settings.py:99
-msgid "Macedonian"
-msgstr "馬其頓語"
-
-#: conf/global_settings.py:100
-msgid "Malayalam"
-msgstr "馬來亞拉姆語"
-
-#: conf/global_settings.py:101
-msgid "Mongolian"
-msgstr "蒙古語"
-
-#: conf/global_settings.py:102
-msgid "Marathi"
-msgstr ""
-
-#: conf/global_settings.py:102
-msgid "Burmese"
-msgstr ""
-
-#: conf/global_settings.py:103
-msgid "Norwegian Bokmal"
-msgstr "挪威語(波克默爾)"
-
-#: conf/global_settings.py:104
-msgid "Nepali"
-msgstr "尼泊爾(Nepali)"
-
-#: conf/global_settings.py:105
-msgid "Dutch"
-msgstr "荷蘭語"
-
-#: conf/global_settings.py:106
-msgid "Norwegian Nynorsk"
-msgstr "挪威語(尼諾斯克)"
-
-#: conf/global_settings.py:107
-msgid "Ossetic"
-msgstr ""
-
-#: conf/global_settings.py:108
-msgid "Punjabi"
-msgstr "旁遮普語"
-
-#: conf/global_settings.py:109
-msgid "Polish"
-msgstr "波蘭嶼"
-
-#: conf/global_settings.py:110
-msgid "Portuguese"
-msgstr "葡萄牙語"
-
-#: conf/global_settings.py:111
-msgid "Brazilian Portuguese"
-msgstr "巴西葡萄牙語"
-
-#: conf/global_settings.py:112
-msgid "Romanian"
-msgstr "羅馬尼亞語"
-
-#: conf/global_settings.py:113
-msgid "Russian"
-msgstr "俄語"
-
-#: conf/global_settings.py:114
-msgid "Slovak"
-msgstr "斯洛伐克語"
-
-#: conf/global_settings.py:115
-msgid "Slovenian"
-msgstr "斯洛維尼亞語"
-
-#: conf/global_settings.py:116
-msgid "Albanian"
-msgstr "阿爾巴尼亞語"
-
-#: conf/global_settings.py:117
-msgid "Serbian"
-msgstr "塞爾維亞語"
-
-#: conf/global_settings.py:118
-msgid "Serbian Latin"
-msgstr "塞爾維亞拉丁語"
-
-#: conf/global_settings.py:119
-msgid "Swedish"
-msgstr "瑞典語"
-
-#: conf/global_settings.py:120
-msgid "Swahili"
-msgstr "斯瓦希裡(Swahili)"
-
-#: conf/global_settings.py:121
-msgid "Tamil"
-msgstr "坦米爾語"
-
-#: conf/global_settings.py:122
-msgid "Telugu"
-msgstr "泰盧固語"
-
-#: conf/global_settings.py:123
-msgid "Thai"
-msgstr "泰語"
-
-#: conf/global_settings.py:124
-msgid "Turkish"
-msgstr "土耳其語"
-
-#: conf/global_settings.py:125
-msgid "Tatar"
-msgstr "韃靼(Tatar)"
-
-#: conf/global_settings.py:126
-msgid "Udmurt"
-msgstr ""
-
-#: conf/global_settings.py:127
-msgid "Ukrainian"
-msgstr "烏克蘭語"
-
-#: conf/global_settings.py:128
-msgid "Urdu"
-msgstr "烏爾都語(Urdu)"
-
-#: conf/global_settings.py:129
-msgid "Vietnamese"
-msgstr "越南語"
-
-#: conf/global_settings.py:130 conf/global_settings.py:131
-msgid "Simplified Chinese"
-msgstr "簡體中文"
-
-#: conf/global_settings.py:132 conf/global_settings.py:133
-msgid "Traditional Chinese"
-msgstr "繁體中文"
-
-#: contrib/sitemaps/apps.py:8
-msgid "Site Maps"
-msgstr ""
-
-#: contrib/staticfiles/apps.py:8
-msgid "Static Files"
-msgstr ""
-
-#: contrib/syndication/apps.py:8
-msgid "Syndication"
-msgstr ""
-
-#: contrib/webdesign/apps.py:8
-msgid "Web Design"
-msgstr ""
-
-#: core/validators.py:21
-msgid "Enter a valid value."
-msgstr "輸入有效的值"
-
-#: core/validators.py:77 forms/fields.py:675
-msgid "Enter a valid URL."
-msgstr "輸入有效的URL"
-
-#: core/validators.py:115
-msgid "Enter a valid integer."
-msgstr ""
-
-#: core/validators.py:120
-msgid "Enter a valid email address."
-msgstr "輸入有效的電子郵件地址。"
-
-#: core/validators.py:185
-msgid ""
-"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."
-msgstr "輸入一個有效的 'slug',由字母、數字、底線與連字號組成。"
-
-#: core/validators.py:188 core/validators.py:207
-msgid "Enter a valid IPv4 address."
-msgstr "輸入有效的 IPv4 位址。"
-
-#: core/validators.py:193 core/validators.py:208
-msgid "Enter a valid IPv6 address."
-msgstr "請輸入有效的 IPv6 位址。"
-
-#: core/validators.py:203 core/validators.py:206
-msgid "Enter a valid IPv4 or IPv6 address."
-msgstr "請輸入有效的 IPv4 或 IPv6 位址。"
-
-#: core/validators.py:229 db/models/fields/__init__.py:1070
-msgid "Enter only digits separated by commas."
-msgstr "輸入以逗號分隔的數字。"
-
-#: core/validators.py:236
-#, python-format
-msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
-msgstr "確認這個是否為 %(limit_value)s (目前是 %(show_value)s)."
-
-#: core/validators.py:255
-#, python-format
-msgid "Ensure this value is less than or equal to %(limit_value)s."
-msgstr "確認這個數值是否小於或等於 %(limit_value)s。"
-
-#: core/validators.py:262
-#, python-format
-msgid "Ensure this value is greater than or equal to %(limit_value)s."
-msgstr "確認這個數值是否大於或等於 %(limit_value)s。"
-
-#: core/validators.py:271
-#, python-format
-msgid ""
-"Ensure this value has at least %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at least %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-
-#: core/validators.py:282
-#, python-format
-msgid ""
-"Ensure this value has at most %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at most %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-
-#: db/models/base.py:975 forms/models.py:718
-msgid "and"
-msgstr "和"
-
-#: db/models/base.py:977
-#, python-format
-msgid "%(model_name)s with this %(field_labels)s already exists."
-msgstr ""
-
-#: db/models/fields/__init__.py:104
-#, python-format
-msgid "Value %(value)r is not a valid choice."
-msgstr ""
-
-#: db/models/fields/__init__.py:105
-msgid "This field cannot be null."
-msgstr "這個值不能是 null。"
-
-#: db/models/fields/__init__.py:106
-msgid "This field cannot be blank."
-msgstr "這個欄位不能留白"
-
-#: db/models/fields/__init__.py:107
-#, python-format
-msgid "%(model_name)s with this %(field_label)s already exists."
-msgstr "這個 %(field_label)s 在 %(model_name)s 已經存在。"
-
-#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'.
-#. Eg: "Title must be unique for pub_date year"
-#: db/models/fields/__init__.py:111
-#, python-format
-msgid ""
-"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s."
-msgstr ""
-
-#: db/models/fields/__init__.py:116
-#, python-format
-msgid "Field of type: %(field_type)s"
-msgstr "欄位型態: %(field_type)s"
-
-#: db/models/fields/__init__.py:847 db/models/fields/__init__.py:1573
-msgid "Integer"
-msgstr "整數"
-
-#: db/models/fields/__init__.py:851 db/models/fields/__init__.py:1571
-#, python-format
-msgid "'%(value)s' value must be an integer."
-msgstr ""
-
-#: db/models/fields/__init__.py:926
-#, python-format
-msgid "'%(value)s' value must be either True or False."
-msgstr ""
-
-#: db/models/fields/__init__.py:928
-msgid "Boolean (Either True or False)"
-msgstr "布林值 (True 或 False)"
-
-#: db/models/fields/__init__.py:1004
-#, python-format
-msgid "String (up to %(max_length)s)"
-msgstr "字串 (最長到 %(max_length)s 個字)"
-
-#: db/models/fields/__init__.py:1065
-msgid "Comma-separated integers"
-msgstr "逗號分隔的整數"
-
-#: db/models/fields/__init__.py:1080
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "
-"format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1082 db/models/fields/__init__.py:1189
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "
-"date."
-msgstr ""
-
-#: db/models/fields/__init__.py:1085
-msgid "Date (without time)"
-msgstr "日期 (不包括時間)"
-
-#: db/models/fields/__init__.py:1187
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
-"uuuuuu]][TZ] format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1191
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
-"[TZ]) but it is an invalid date/time."
-msgstr ""
-
-#: db/models/fields/__init__.py:1195
-msgid "Date (with time)"
-msgstr "日期 (包括時間)"
-
-#: db/models/fields/__init__.py:1297
-#, python-format
-msgid "'%(value)s' value must be a decimal number."
-msgstr ""
-
-#: db/models/fields/__init__.py:1299
-msgid "Decimal number"
-msgstr "十進位數(小數可)"
-
-#: db/models/fields/__init__.py:1444
-msgid "Email address"
-msgstr "電子郵件地址"
-
-#: db/models/fields/__init__.py:1470
-msgid "File path"
-msgstr "檔案路徑"
-
-#: db/models/fields/__init__.py:1537
-#, python-format
-msgid "'%(value)s' value must be a float."
-msgstr ""
-
-#: db/models/fields/__init__.py:1539
-msgid "Floating point number"
-msgstr "浮點數"
-
-#: db/models/fields/__init__.py:1623
-msgid "Big (8 byte) integer"
-msgstr "大整數(8位元組)"
-
-#: db/models/fields/__init__.py:1638
-msgid "IPv4 address"
-msgstr "IPv4 地址"
-
-#: db/models/fields/__init__.py:1668
-msgid "IP address"
-msgstr "IP 位址"
-
-#: db/models/fields/__init__.py:1747
-#, python-format
-msgid "'%(value)s' value must be either None, True or False."
-msgstr ""
-
-#: db/models/fields/__init__.py:1749
-msgid "Boolean (Either True, False or None)"
-msgstr "布林值 (True, False 或 None)"
-
-#: db/models/fields/__init__.py:1809
-msgid "Positive integer"
-msgstr "正整數"
-
-#: db/models/fields/__init__.py:1821
-msgid "Positive small integer"
-msgstr "正小整數"
-
-#: db/models/fields/__init__.py:1834
-#, python-format
-msgid "Slug (up to %(max_length)s)"
-msgstr "可讀網址 (長度最多 %(max_length)s)"
-
-#: db/models/fields/__init__.py:1863
-msgid "Small integer"
-msgstr "小整數"
-
-#: db/models/fields/__init__.py:1870
-msgid "Text"
-msgstr "文字"
-
-#: db/models/fields/__init__.py:1893
-#, python-format
-msgid ""
-"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
-"format."
-msgstr ""
-
-#: db/models/fields/__init__.py:1895
-#, python-format
-msgid ""
-"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
-"invalid time."
-msgstr ""
-
-#: db/models/fields/__init__.py:1898
-msgid "Time"
-msgstr "時間"
-
-#: db/models/fields/__init__.py:1977
-msgid "URL"
-msgstr "URL"
-
-#: db/models/fields/__init__.py:2000
-msgid "Raw binary data"
-msgstr "原始二進制數據"
-
-#: db/models/fields/files.py:225
-msgid "File"
-msgstr "檔案"
-
-#: db/models/fields/files.py:375
-msgid "Image"
-msgstr "影像"
-
-#: db/models/fields/related.py:1580
-#, python-format
-msgid "%(model)s instance with pk %(pk)r does not exist."
-msgstr ""
-
-#: db/models/fields/related.py:1582
-msgid "Foreign Key (type determined by related field)"
-msgstr "外鍵 (型態由關連欄位決定)"
-
-#: db/models/fields/related.py:1773
-msgid "One-to-one relationship"
-msgstr "一對一關連"
-
-#: db/models/fields/related.py:1843
-msgid "Many-to-many relationship"
-msgstr "多對多關連"
-
-#: forms/fields.py:55
-msgid "This field is required."
-msgstr "這個欄位是必須的。"
-
-#: forms/fields.py:236
-msgid "Enter a whole number."
-msgstr "輸入整數"
-
-#: forms/fields.py:279 forms/fields.py:316
-msgid "Enter a number."
-msgstr "輸入一個數字"
-
-#: forms/fields.py:318
-#, python-format
-msgid "Ensure that there are no more than %(max)s digit in total."
-msgid_plural "Ensure that there are no more than %(max)s digits in total."
-msgstr[0] "確認數字全長不超過 %(max)s 位。"
-
-#: forms/fields.py:322
-#, python-format
-msgid "Ensure that there are no more than %(max)s decimal place."
-msgid_plural "Ensure that there are no more than %(max)s decimal places."
-msgstr[0] ""
-
-#: forms/fields.py:326
-#, python-format
-msgid ""
-"Ensure that there are no more than %(max)s digit before the decimal point."
-msgid_plural ""
-"Ensure that there are no more than %(max)s digits before the decimal point."
-msgstr[0] ""
-
-#: forms/fields.py:437 forms/fields.py:1139
-msgid "Enter a valid date."
-msgstr "輸入有效的日期"
-
-#: forms/fields.py:461 forms/fields.py:1140
-msgid "Enter a valid time."
-msgstr "輸入有效的時間"
-
-#: forms/fields.py:483
-msgid "Enter a valid date/time."
-msgstr "輸入有效的日期/時間"
-
-#: forms/fields.py:564
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr "沒有檔案被送出。請檢查表單的編碼類型。"
-
-#: forms/fields.py:565
-msgid "No file was submitted."
-msgstr "沒有檔案送出"
-
-#: forms/fields.py:566
-msgid "The submitted file is empty."
-msgstr "送出的檔案是空的。"
-
-#: forms/fields.py:568
-#, python-format
-msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
-msgid_plural ""
-"Ensure this filename has at most %(max)d characters (it has %(length)d)."
-msgstr[0] ""
-
-#: forms/fields.py:571
-msgid "Please either submit a file or check the clear checkbox, not both."
-msgstr "請提交一個檔案或確認清除核可項, 不能兩者都做。"
-
-#: forms/fields.py:632
-msgid ""
-"Upload a valid image. The file you uploaded was either not an image or a "
-"corrupted image."
-msgstr "上傳一個有效的圖檔。你上傳的檔案為非圖片,不然就是損壞的圖檔。"
-
-#: forms/fields.py:782 forms/fields.py:871 forms/models.py:1192
-#, python-format
-msgid "Select a valid choice. %(value)s is not one of the available choices."
-msgstr "請選擇有效的項目, %(value)s 不是一個可用的選擇。"
-
-#: forms/fields.py:872 forms/fields.py:987 forms/models.py:1191
-msgid "Enter a list of values."
-msgstr "輸入一個列表的值"
-
-#: forms/fields.py:988
-msgid "Enter a complete value."
-msgstr ""
-
-#. Translators: This is the default suffix added to form field labels
-#: forms/forms.py:122
-msgid ":"
-msgstr ":"
-
-#: forms/forms.py:192
-#, python-format
-msgid "(Hidden field %(name)s) %(error)s"
-msgstr ""
-
-#. Translators: If found as last label character, these punctuation
-#. characters will prevent the default label_suffix to be appended to the
-#. label
-#: forms/forms.py:620
-msgid ":?.!"
-msgstr ":?.!"
-
-#: forms/formsets.py:95
-msgid "ManagementForm data is missing or has been tampered with"
-msgstr ""
-
-#: forms/formsets.py:332
-#, python-format
-msgid "Please submit %d or fewer forms."
-msgid_plural "Please submit %d or fewer forms."
-msgstr[0] ""
-
-#: forms/formsets.py:339
-#, python-format
-msgid "Please submit %d or more forms."
-msgid_plural "Please submit %d or more forms."
-msgstr[0] ""
-
-#: forms/formsets.py:367 forms/formsets.py:369
-msgid "Order"
-msgstr "排序"
-
-#: forms/formsets.py:371
-msgid "Delete"
-msgstr "刪除"
-
-#: forms/models.py:712
-#, python-format
-msgid "Please correct the duplicate data for %(field)s."
-msgstr "請修正 %(field)s 的重覆資料"
-
-#: forms/models.py:716
-#, python-format
-msgid "Please correct the duplicate data for %(field)s, which must be unique."
-msgstr "請修正 %(field)s 的重覆資料, 必須為唯一值"
-
-#: forms/models.py:722
-#, python-format
-msgid ""
-"Please correct the duplicate data for %(field_name)s which must be unique "
-"for the %(lookup)s in %(date_field)s."
-msgstr ""
-"請修正 %(field_name)s 重複資料, %(date_field)s 的 %(lookup)s 必須是唯一值。"
-
-#: forms/models.py:730
-msgid "Please correct the duplicate values below."
-msgstr "請修正下方重覆的數值"
-
-#: forms/models.py:1028
-msgid "The inline foreign key did not match the parent instance primary key."
-msgstr "內含的外鍵無法連接到對應的上層實體主鍵。"
-
-#: forms/models.py:1094
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr "選擇有效的選項: 此選擇不在可用的選項中。"
-
-#: forms/models.py:1194
-#, python-format
-msgid "\"%(pk)s\" is not a valid value for a primary key."
-msgstr "\"%(pk)s\" 不是一個主鍵的有效資料。"
-
-#: forms/models.py:1205
-msgid ""
-"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
-msgstr "按住 \"Control\", 或者在 Mac 上按 \"Command\", 以選取更多值"
-
-#: forms/utils.py:148
-#, python-format
-msgid ""
-"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "
-"may be ambiguous or it may not exist."
-msgstr ""
-"%(datetime)s 無法被轉換成 %(current_timezone)s 時區格式; 可能是不符格式或不存"
-"在。"
-
-#: forms/widgets.py:350
-msgid "Currently"
-msgstr "目前"
-
-#: forms/widgets.py:351
-msgid "Change"
-msgstr "變更"
-
-#: forms/widgets.py:352
-msgid "Clear"
-msgstr "清除"
-
-#: forms/widgets.py:546
-msgid "Unknown"
-msgstr "未知"
-
-#: forms/widgets.py:547
-msgid "Yes"
-msgstr "是"
-
-#: forms/widgets.py:548
-msgid "No"
-msgstr "否"
-
-#: template/defaultfilters.py:855
-msgid "yes,no,maybe"
-msgstr "是、否、也許"
-
-#: template/defaultfilters.py:884 template/defaultfilters.py:896
-#, python-format
-msgid "%(size)d byte"
-msgid_plural "%(size)d bytes"
-msgstr[0] "%(size)d 位元組"
-
-#: template/defaultfilters.py:898
-#, python-format
-msgid "%s KB"
-msgstr "%s KB"
-
-#: template/defaultfilters.py:900
-#, python-format
-msgid "%s MB"
-msgstr "%s MB"
-
-#: template/defaultfilters.py:902
-#, python-format
-msgid "%s GB"
-msgstr "%s GB"
-
-#: template/defaultfilters.py:904
-#, python-format
-msgid "%s TB"
-msgstr "%s TB"
-
-#: template/defaultfilters.py:906
-#, python-format
-msgid "%s PB"
-msgstr "%s PB"
-
-#: utils/dateformat.py:59
-msgid "p.m."
-msgstr "p.m."
-
-#: utils/dateformat.py:60
-msgid "a.m."
-msgstr "a.m."
-
-#: utils/dateformat.py:65
-msgid "PM"
-msgstr "PM"
-
-#: utils/dateformat.py:66
-msgid "AM"
-msgstr "AM"
-
-#: utils/dateformat.py:149
-msgid "midnight"
-msgstr "午夜"
-
-#: utils/dateformat.py:151
-msgid "noon"
-msgstr "中午"
-
-#: utils/dates.py:6
-msgid "Monday"
-msgstr "星期一"
-
-#: utils/dates.py:6
-msgid "Tuesday"
-msgstr "星期二"
-
-#: utils/dates.py:6
-msgid "Wednesday"
-msgstr "星期三"
-
-#: utils/dates.py:6
-msgid "Thursday"
-msgstr "星期四"
-
-#: utils/dates.py:6
-msgid "Friday"
-msgstr "星期五"
-
-#: utils/dates.py:7
-msgid "Saturday"
-msgstr "星期六"
-
-#: utils/dates.py:7
-msgid "Sunday"
-msgstr "星期日"
-
-#: utils/dates.py:10
-msgid "Mon"
-msgstr "星期一"
-
-#: utils/dates.py:10
-msgid "Tue"
-msgstr "星期二"
-
-#: utils/dates.py:10
-msgid "Wed"
-msgstr "星期三"
-
-#: utils/dates.py:10
-msgid "Thu"
-msgstr "星期四"
-
-#: utils/dates.py:10
-msgid "Fri"
-msgstr "星期五"
-
-#: utils/dates.py:11
-msgid "Sat"
-msgstr "星期六"
-
-#: utils/dates.py:11
-msgid "Sun"
-msgstr "星期日"
-
-#: utils/dates.py:18
-msgid "January"
-msgstr "一月"
-
-#: utils/dates.py:18
-msgid "February"
-msgstr "二月"
-
-#: utils/dates.py:18
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:18
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:18
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:18
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:19
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:19
-msgid "August"
-msgstr "八月"
-
-#: utils/dates.py:19
-msgid "September"
-msgstr "九月"
-
-#: utils/dates.py:19
-msgid "October"
-msgstr "十月"
-
-#: utils/dates.py:19
-msgid "November"
-msgstr "十一月"
-
-#: utils/dates.py:20
-msgid "December"
-msgstr "十二月"
-
-#: utils/dates.py:23
-msgid "jan"
-msgstr "一月"
-
-#: utils/dates.py:23
-msgid "feb"
-msgstr "二月"
-
-#: utils/dates.py:23
-msgid "mar"
-msgstr "三月"
-
-#: utils/dates.py:23
-msgid "apr"
-msgstr "四月"
-
-#: utils/dates.py:23
-msgid "may"
-msgstr "五月"
-
-#: utils/dates.py:23
-msgid "jun"
-msgstr "六月"
-
-#: utils/dates.py:24
-msgid "jul"
-msgstr "七月"
-
-#: utils/dates.py:24
-msgid "aug"
-msgstr "八月"
-
-#: utils/dates.py:24
-msgid "sep"
-msgstr "九月"
-
-#: utils/dates.py:24
-msgid "oct"
-msgstr "十月"
-
-#: utils/dates.py:24
-msgid "nov"
-msgstr "十一月"
-
-#: utils/dates.py:24
-msgid "dec"
-msgstr "十二月"
-
-#: utils/dates.py:31
-msgctxt "abbrev. month"
-msgid "Jan."
-msgstr "一月"
-
-#: utils/dates.py:32
-msgctxt "abbrev. month"
-msgid "Feb."
-msgstr "二月"
-
-#: utils/dates.py:33
-msgctxt "abbrev. month"
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:34
-msgctxt "abbrev. month"
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:35
-msgctxt "abbrev. month"
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:36
-msgctxt "abbrev. month"
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:37
-msgctxt "abbrev. month"
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:38
-msgctxt "abbrev. month"
-msgid "Aug."
-msgstr "八月"
-
-#: utils/dates.py:39
-msgctxt "abbrev. month"
-msgid "Sept."
-msgstr "九月"
-
-#: utils/dates.py:40
-msgctxt "abbrev. month"
-msgid "Oct."
-msgstr "十月"
-
-#: utils/dates.py:41
-msgctxt "abbrev. month"
-msgid "Nov."
-msgstr "十一月"
-
-#: utils/dates.py:42
-msgctxt "abbrev. month"
-msgid "Dec."
-msgstr "十二月"
-
-#: utils/dates.py:45
-msgctxt "alt. month"
-msgid "January"
-msgstr "一月"
-
-#: utils/dates.py:46
-msgctxt "alt. month"
-msgid "February"
-msgstr "二月"
-
-#: utils/dates.py:47
-msgctxt "alt. month"
-msgid "March"
-msgstr "三月"
-
-#: utils/dates.py:48
-msgctxt "alt. month"
-msgid "April"
-msgstr "四月"
-
-#: utils/dates.py:49
-msgctxt "alt. month"
-msgid "May"
-msgstr "五月"
-
-#: utils/dates.py:50
-msgctxt "alt. month"
-msgid "June"
-msgstr "六月"
-
-#: utils/dates.py:51
-msgctxt "alt. month"
-msgid "July"
-msgstr "七月"
-
-#: utils/dates.py:52
-msgctxt "alt. month"
-msgid "August"
-msgstr "八月"
-
-#: utils/dates.py:53
-msgctxt "alt. month"
-msgid "September"
-msgstr "九月"
-
-#: utils/dates.py:54
-msgctxt "alt. month"
-msgid "October"
-msgstr "十月"
-
-#: utils/dates.py:55
-msgctxt "alt. month"
-msgid "November"
-msgstr "十一月"
-
-#: utils/dates.py:56
-msgctxt "alt. month"
-msgid "December"
-msgstr "十二月"
-
-#: utils/ipv6.py:10
-msgid "This is not a valid IPv6 address."
-msgstr ""
-
-#: utils/text.py:76
-#, python-format
-msgctxt "String to return when truncating text"
-msgid "%(truncated_text)s..."
-msgstr "%(truncated_text)s..."
-
-#: utils/text.py:245
-msgid "or"
-msgstr "或"
-
-#. Translators: This string is used as a separator between list elements
-#: utils/text.py:264 utils/timesince.py:57
-msgid ", "
-msgstr ", "
-
-#: utils/timesince.py:25
-#, python-format
-msgid "%d year"
-msgid_plural "%d years"
-msgstr[0] "%d 年"
-
-#: utils/timesince.py:26
-#, python-format
-msgid "%d month"
-msgid_plural "%d months"
-msgstr[0] "%d 月"
-
-#: utils/timesince.py:27
-#, python-format
-msgid "%d week"
-msgid_plural "%d weeks"
-msgstr[0] "%d 週"
-
-#: utils/timesince.py:28
-#, python-format
-msgid "%d day"
-msgid_plural "%d days"
-msgstr[0] "%d 日"
-
-#: utils/timesince.py:29
-#, python-format
-msgid "%d hour"
-msgid_plural "%d hours"
-msgstr[0] "%d 時"
-
-#: utils/timesince.py:30
-#, python-format
-msgid "%d minute"
-msgid_plural "%d minutes"
-msgstr[0] "%d 分"
-
-#: utils/timesince.py:46
-msgid "0 minutes"
-msgstr "0 分"
-
-#: views/csrf.py:105
-msgid "Forbidden"
-msgstr ""
-
-#: views/csrf.py:106
-msgid "CSRF verification failed. Request aborted."
-msgstr ""
-
-#: views/csrf.py:110
-msgid ""
-"You are seeing this message because this HTTPS site requires a 'Referer "
-"header' to be sent by your Web browser, but none was sent. This header is "
-"required for security reasons, to ensure that your browser is not being "
-"hijacked by third parties."
-msgstr ""
-
-#: views/csrf.py:115
-msgid ""
-"If you have configured your browser to disable 'Referer' headers, please re-"
-"enable them, at least for this site, or for HTTPS connections, or for 'same-"
-"origin' requests."
-msgstr ""
-
-#: views/csrf.py:120
-msgid ""
-"You are seeing this message because this site requires a CSRF cookie when "
-"submitting forms. This cookie is required for security reasons, to ensure "
-"that your browser is not being hijacked by third parties."
-msgstr ""
-
-#: views/csrf.py:125
-msgid ""
-"If you have configured your browser to disable cookies, please re-enable "
-"them, at least for this site, or for 'same-origin' requests."
-msgstr ""
-
-#: views/csrf.py:129
-msgid "More information is available with DEBUG=True."
-msgstr ""
-
-#: views/generic/dates.py:43
-msgid "No year specified"
-msgstr "不指定年份"
-
-#: views/generic/dates.py:99
-msgid "No month specified"
-msgstr "不指定月份"
-
-#: views/generic/dates.py:158
-msgid "No day specified"
-msgstr "不指定日期"
-
-#: views/generic/dates.py:214
-msgid "No week specified"
-msgstr "不指定週數"
-
-#: views/generic/dates.py:369 views/generic/dates.py:397
-#, python-format
-msgid "No %(verbose_name_plural)s available"
-msgstr "%(verbose_name_plural)s 無法使用"
-
-#: views/generic/dates.py:650
-#, python-format
-msgid ""
-"Future %(verbose_name_plural)s not available because %(class_name)s."
-"allow_future is False."
-msgstr ""
-"未來的 %(verbose_name_plural)s 不可用,因 %(class_name)s.allow_future 為 "
-"False."
-
-#: views/generic/dates.py:682
-#, python-format
-msgid "Invalid date string '%(datestr)s' given format '%(format)s'"
-msgstr "無效的日期字串 '%(datestr)s' 可接受格式 '%(format)s'"
-
-#: views/generic/detail.py:54
-#, python-format
-msgid "No %(verbose_name)s found matching the query"
-msgstr "無 %(verbose_name)s 符合本次搜尋"
-
-#: views/generic/list.py:62
-msgid "Page is not 'last', nor can it be converted to an int."
-msgstr "頁面不是最後一頁,也無法被轉換為整數。"
-
-#: views/generic/list.py:67
-#, python-format
-msgid "Invalid page (%(page_number)s): %(message)s"
-msgstr "無效的頁面 (%(page_number)s): %(message)s"
-
-#: views/generic/list.py:158
-#, python-format
-msgid "Empty list and '%(class_name)s.allow_empty' is False."
-msgstr "為空list且 '%(class_name)s.allow_empty' 為False."
-
-#: views/static.py:54
-msgid "Directory indexes are not allowed here."
-msgstr "這裡不允許目錄索引。"
-
-#: views/static.py:56
-#, python-format
-msgid "\"%(path)s\" does not exist"
-msgstr "\"%(path)s\" 路徑不存在"
-
-#: views/static.py:97
-#, python-format
-msgid "Index of %(directory)s"
-msgstr "%(directory)s 的索引"
diff --git a/django/conf/locale/zh_TW/__init__.py b/django/conf/locale/zh_TW/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/django/conf/locale/zh_TW/formats.py b/django/conf/locale/zh_TW/formats.py
deleted file mode 100644
index f855dec5b2..0000000000
--- a/django/conf/locale/zh_TW/formats.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- encoding: utf-8 -*-
-# This file is distributed under the same license as the Django package.
-#
-from __future__ import unicode_literals
-
-# The *_FORMAT strings use the Django date format syntax,
-# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
-DATE_FORMAT = 'Y年n月j日'                # 2016年9月5日
-TIME_FORMAT = 'H:i'                     # 20:45
-DATETIME_FORMAT = 'Y年n月j日 H:i'        # 2016年9月5日 20:45
-YEAR_MONTH_FORMAT = 'Y年n月'             # 2016年9月
-MONTH_DAY_FORMAT = 'm月j日'              # 9月5日
-SHORT_DATE_FORMAT = 'Y年n月j日'          # 2016年9月5日
-SHORT_DATETIME_FORMAT = 'Y年n月j日 H:i'  # 2016年9月5日 20:45
-FIRST_DAY_OF_WEEK = 1                   # 星期一 (Monday)
-
-# The *_INPUT_FORMATS strings use the Python strftime format syntax,
-# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior
-DATE_INPUT_FORMATS = (
-    '%Y/%m/%d',     # '2016/09/05'
-    '%Y-%m-%d',     # '2016-09-05'
-    '%Y年%n月%j日',  # '2016年9月5日'
-)
-
-TIME_INPUT_FORMATS = (
-    '%H:%M',        # '20:45'
-    '%H:%M:%S',     # '20:45:29'
-    '%H:%M:%S.%f',  # '20:45:29.000200'
-)
-
-DATETIME_INPUT_FORMATS = (
-    '%Y/%m/%d %H:%M',           # '2016/09/05 20:45'
-    '%Y-%m-%d %H:%M',           # '2016-09-05 20:45'
-    '%Y年%n月%j日 %H:%M',        # '2016年9月5日 14:45'
-    '%Y/%m/%d %H:%M:%S',        # '2016/09/05 20:45:29'
-    '%Y-%m-%d %H:%M:%S',        # '2016-09-05 20:45:29'
-    '%Y年%n月%j日 %H:%M:%S',     # '2016年9月5日 20:45:29'
-    '%Y/%m/%d %H:%M:%S.%f',     # '2016/09/05 20:45:29.000200'
-    '%Y-%m-%d %H:%M:%S.%f',     # '2016-09-05 20:45:29.000200'
-    '%Y年%n月%j日 %H:%n:%S.%f',  # '2016年9月5日 20:45:29.000200'
-)
-
-DECIMAL_SEPARATOR = '.'
-THOUSAND_SEPARATOR = ''
-NUMBER_GROUPING = 4
diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py
index 4e6a359df2..18bb84b1de 100644
--- a/django/utils/translation/trans_real.py
+++ b/django/utils/translation/trans_real.py
@@ -15,7 +15,6 @@ from django.conf.locale import LANG_INFO
 from django.core.exceptions import AppRegistryNotReady
 from django.core.signals import setting_changed
 from django.dispatch import receiver
-from django.utils.deprecation import RemovedInDjango19Warning
 from django.utils.encoding import force_text
 from django.utils._os import upath
 from django.utils.safestring import mark_safe, SafeData
@@ -46,12 +45,6 @@ language_code_re = re.compile(r'^[a-z]{1,8}(?:-[a-z0-9]{1,8})*$', re.IGNORECASE)
 
 language_code_prefix_re = re.compile(r'^/([\w-]+)(/|$)')
 
-# some browsers use deprecated locales. refs #18419
-_DJANGO_DEPRECATED_LOCALES = {
-    'zh-cn': 'zh-hans',
-    'zh-tw': 'zh-hant',
-}
-
 
 @receiver(setting_changed)
 def reset_cache(**kwargs):
@@ -213,11 +206,6 @@ def activate(language):
     """
     if not language:
         return
-    if language in _DJANGO_DEPRECATED_LOCALES:
-        msg = ("The use of the language code '%s' is deprecated. "
-               "Please use the '%s' translation instead.")
-        warnings.warn(msg % (language, _DJANGO_DEPRECATED_LOCALES[language]),
-                      RemovedInDjango19Warning, stacklevel=2)
     _active.value = translation(language)
 
 
diff --git a/tests/deprecation/tests.py b/tests/deprecation/tests.py
index 2d9a9beb69..ccc4f2351b 100644
--- a/tests/deprecation/tests.py
+++ b/tests/deprecation/tests.py
@@ -4,9 +4,9 @@ import os
 import unittest
 import warnings
 
-from django.test import SimpleTestCase, override_settings
+from django.test import SimpleTestCase
 from django.test.utils import reset_warning_registry
-from django.utils import six, translation
+from django.utils import six
 from django.utils.deprecation import RenameMethodsBase
 from django.utils.encoding import force_text
 
@@ -175,24 +175,6 @@ class RenameMethodsTests(SimpleTestCase):
             ])
 
 
-@override_settings(USE_I18N=True)
-class DeprecatedChineseLanguageCodes(SimpleTestCase):
-    def test_deprecation_warning(self):
-        with warnings.catch_warnings(record=True) as recorded:
-            warnings.simplefilter('always')
-            with translation.override('zh-cn'):
-                pass
-            with translation.override('zh-tw'):
-                pass
-            msgs = [str(warning.message) for warning in recorded]
-            self.assertEqual(msgs, [
-                "The use of the language code 'zh-cn' is deprecated. "
-                "Please use the 'zh-hans' translation instead.",
-                "The use of the language code 'zh-tw' is deprecated. "
-                "Please use the 'zh-hant' translation instead.",
-            ])
-
-
 class DeprecatingSimpleTestCaseUrls(unittest.TestCase):
 
     def test_deprecation(self):
diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py
index a0df8daddf..f3ae0288c2 100644
--- a/tests/i18n/tests.py
+++ b/tests/i18n/tests.py
@@ -972,11 +972,11 @@ class MiscTests(TestCase):
         self.assertEqual(g(r), 'es')
 
         # This tests the following scenario: there isn't a main language (zh)
-        # translation of Django but there is a translation to variation (zh_CN)
-        # the user sets zh-cn as the preferred language, it should be selected
+        # translation of Django but there is a translation to variation (zh-hans)
+        # the user sets zh-hans as the preferred language, it should be selected
         # by Django without falling back nor ignoring it.
-        r.META = {'HTTP_ACCEPT_LANGUAGE': 'zh-cn,de'}
-        self.assertEqual(g(r), 'zh-cn')
+        r.META = {'HTTP_ACCEPT_LANGUAGE': 'zh-hans,de'}
+        self.assertEqual(g(r), 'zh-hans')
 
         r.META = {'HTTP_ACCEPT_LANGUAGE': 'NL'}
         self.assertEqual('nl', g(r))
@@ -1022,32 +1022,6 @@ class MiscTests(TestCase):
         r.META = {'HTTP_ACCEPT_LANGUAGE': 'zh-tw,en'}
         self.assertEqual(g(r), 'zh-hant')
 
-    @override_settings(
-        LANGUAGES=(
-            ('en', 'English'),
-            ('zh-cn', 'Simplified Chinese'),
-            ('zh-hans', 'Simplified Chinese'),
-            ('zh-hant', 'Traditional Chinese'),
-            ('zh-tw', 'Traditional Chinese'),
-        )
-    )
-    def test_backwards_compatibility(self):
-        """
-        While the old chinese language codes are being deprecated, they should
-        still work as before the new language codes were introduced.
-
-        refs #18419 -- this is explicitly for backwards compatibility and
-        should be removed in Django 1.9
-        """
-        g = get_language_from_request
-        r = self.rf.get('/')
-        r.COOKIES = {}
-        r.META = {'HTTP_ACCEPT_LANGUAGE': 'zh-cn,en'}
-        self.assertEqual(g(r), 'zh-cn')
-
-        r.META = {'HTTP_ACCEPT_LANGUAGE': 'zh-tw,en'}
-        self.assertEqual(g(r), 'zh-tw')
-
     def test_special_fallback_language(self):
         """
         Some languages may have special fallbacks that don't follow the simple
@@ -1085,12 +1059,12 @@ class MiscTests(TestCase):
         self.assertEqual(g(r), 'es')
 
         # This tests the following scenario: there isn't a main language (zh)
-        # translation of Django but there is a translation to variation (zh_CN)
-        # the user sets zh-cn as the preferred language, it should be selected
+        # translation of Django but there is a translation to variation (zh-hans)
+        # the user sets zh-hans as the preferred language, it should be selected
         # by Django without falling back nor ignoring it.
-        r.COOKIES = {settings.LANGUAGE_COOKIE_NAME: 'zh-cn'}
+        r.COOKIES = {settings.LANGUAGE_COOKIE_NAME: 'zh-hans'}
         r.META = {'HTTP_ACCEPT_LANGUAGE': 'de'}
-        self.assertEqual(g(r), 'zh-cn')
+        self.assertEqual(g(r), 'zh-hans')
 
     def test_get_language_from_path_real(self):
         g = trans_real.get_language_from_path
@@ -1238,8 +1212,8 @@ class TestLanguageInfo(TestCase):
         """
         li = get_language_info('zh-my')
         self.assertEqual(li['code'], 'zh-hans')
-        li = get_language_info('zh-cn')
-        self.assertEqual(li['code'], 'zh-cn')
+        li = get_language_info('zh-hans')
+        self.assertEqual(li['code'], 'zh-hans')
 
 
 class MultipleLocaleActivationTests(TestCase):