Commit 566b8692 by Clinton Blackburn

Corrected language tag names and added macrolanguage property

ECOM-5076
parent 117997e0
......@@ -7,126 +7,126 @@ from django.db import migrations, models
LANGTAGS = (
("Afrikaans", "af"),
("Albanian", "sq"),
("Arabic Algeria", "ar-dz"),
("Arabic Bahrain", "ar-bh"),
("Arabic Egypt", "ar-eg"),
("Arabic Iraq", "ar-iq"),
("Arabic Jordan", "ar-jo"),
("Arabic Kuwait", "ar-kw"),
("Arabic Lebanon", "ar-lb"),
("Arabic Libya", "ar-ly"),
("Arabic Morocco", "ar-ma"),
("Arabic Oman", "ar-om"),
("Arabic Qatar", "ar-qa"),
("Arabic Saudi Arabia", "ar-sa"),
("Arabic Syria", "ar-sy"),
("Arabic Tunisia", "ar-tn"),
("Arabic United Arab Emirates", "ar-ae"),
("Arabic Yemen", "ar-ye"),
("Arabic - Algeria", "ar-dz"),
("Arabic - Bahrain", "ar-bh"),
("Arabic - Egypt", "ar-eg"),
("Arabic - Iraq", "ar-iq"),
("Arabic - Jordan", "ar-jo"),
("Arabic - Kuwait", "ar-kw"),
("Arabic - Lebanon", "ar-lb"),
("Arabic - Libya", "ar-ly"),
("Arabic - Morocco", "ar-ma"),
("Arabic - Oman", "ar-om"),
("Arabic - Qatar", "ar-qa"),
("Arabic - Saudi Arabia", "ar-sa"),
("Arabic - Syria", "ar-sy"),
("Arabic - Tunisia", "ar-tn"),
("Arabic - United Arab Emirates", "ar-ae"),
("Arabic - Yemen", "ar-ye"),
("Armenian", "hy"),
("Azeri Latin", "az-az"),
("Azeri - Latin", "az-az"),
("Basque (Basque)", "eu"),
("Belarusian", "be"),
("Bulgarian", "bg"),
("Catalan", "ca"),
("Chinese China", "zh-cn"),
("Chinese Hong Kong SAR", "zh-hk"),
("Chinese Macau SAR", "zh-mo"),
("Chinese Singapore", "zh-sg"),
("Chinese Taiwan", "zh-tw"),
("Chinese - China", "zh-cn"),
("Chinese - Hong Kong SAR", "zh-hk"),
("Chinese - Macau SAR", "zh-mo"),
("Chinese - Singapore", "zh-sg"),
("Chinese - Taiwan", "zh-tw"),
("Croatian", "hr"),
("Czech", "cs"),
("Danish", "da"),
("Dutch Belgium", "nl-be"),
("Dutch Netherlands", "nl-nl"),
("English Australia", "en-au"),
("English Belize", "en-bz"),
("English Canada", "en-ca"),
("English Caribbean", "en-cb"),
("English India", "en-in"),
("English Ireland", "en-ie"),
("English Jamaica", "en-jm"),
("English Malaysia", "en-my"),
("English New Zealand", "en-nz"),
("English Phillippines", "en-ph"),
("English Singapore", "en-sg"),
("English Southern Africa", "en-za"),
("English Trinidad", "en-tt"),
("English Great Britain", "en-gb"),
("English United States", "en-us"),
("English Zimbabwe", "en-zw"),
("Dutch - Belgium", "nl-be"),
("Dutch - Netherlands", "nl-nl"),
("English - Australia", "en-au"),
("English - Belize", "en-bz"),
("English - Canada", "en-ca"),
("English - Caribbean", "en-cb"),
("English - India", "en-in"),
("English - Ireland", "en-ie"),
("English - Jamaica", "en-jm"),
("English - Malaysia", "en-my"),
("English - New Zealand", "en-nz"),
("English - Phillippines", "en-ph"),
("English - Singapore", "en-sg"),
("English - Southern Africa", "en-za"),
("English - Trinidad", "en-tt"),
("English - Great Britain", "en-gb"),
("English - United States", "en-us"),
("English - Zimbabwe", "en-zw"),
("Estonian", "et"),
("Farsi", "fa"),
("Finnish", "fi"),
("Faroese", "fo"),
("French France", "fr-fr"),
("French Belgium", "fr-be"),
("French Canada", "fr-ca"),
("French Luxembourg", "fr-lu"),
("French Switzerland", "fr-ch"),
("Irish Ireland", "gd-ie"),
("Scottish Gaelic United Kingdom", "gd"),
("German Germany", "de-de"),
("German Austria", "de-at"),
("German Liechtenstein", "de-li"),
("German Luxembourg", "de-lu"),
("German Switzerland", "de-ch"),
("French - France", "fr-fr"),
("French - Belgium", "fr-be"),
("French - Canada", "fr-ca"),
("French - Luxembourg", "fr-lu"),
("French - Switzerland", "fr-ch"),
("Irish - Ireland", "gd-ie"),
("Scottish Gaelic - United Kingdom", "gd"),
("German - Germany", "de-de"),
("German - Austria", "de-at"),
("German - Liechtenstein", "de-li"),
("German - Luxembourg", "de-lu"),
("German - Switzerland", "de-ch"),
("Greek", "el"),
("Hebrew", "he"),
("Hindi", "hi"),
("Hungarian", "hu"),
("Icelandic", "is"),
("Indonesian", "id"),
("Italian Italy", "it-it"),
("Italian Switzerland", "it-ch"),
("Italian - Italy", "it-it"),
("Italian - Switzerland", "it-ch"),
("Japanese", "ja"),
("Korean", "ko"),
("Latvian", "lv"),
("Lithuanian", "lt"),
("F.Y.R.O. Macedonia", "mk"),
("Malay Malaysia", "ms-my"),
("Malay Brunei", "ms-bn"),
("Malay - Malaysia", "ms-my"),
("Malay - Brunei", "ms-bn"),
("Maltese", "mt"),
("Marathi", "mr"),
("Norwegian Bokmål", "nb-no"),
("Norwegian Nynorsk", "nn-no"),
("Norwegian - Bokmål", "nb-no"),
("Norwegian - Nynorsk", "nn-no"),
("Polish", "pl"),
("Portuguese Portugal", "pt-pt"),
("Portuguese Brazil", "pt-br"),
("Portuguese - Portugal", "pt-pt"),
("Portuguese - Brazil", "pt-br"),
("Raeto-Romance", "rm"),
("Romanian Romania", "ro"),
("Romanian Republic of Moldova", "ro-mo"),
("Romanian - Romania", "ro"),
("Romanian - Republic of Moldova", "ro-mo"),
("Russian", "ru"),
("Russian Republic of Moldova", "ru-mo"),
("Russian - Republic of Moldova", "ru-mo"),
("Sanskrit", "sa"),
("Serbian Latin", "sr-sp"),
("Serbian - Latin", "sr-sp"),
("Setsuana", "tn"),
("Slovenian", "sl"),
("Slovak", "sk"),
("Sorbian", "sb"),
("Spanish Spain (Modern)", "es-es"),
("Spanish Argentina", "es-ar"),
("Spanish Bolivia", "es-bo"),
("Spanish Chile", "es-cl"),
("Spanish Colombia", "es-co"),
("Spanish Costa Rica", "es-cr"),
("Spanish Dominican Republic", "es-do"),
("Spanish Ecuador", "es-ec"),
("Spanish Guatemala", "es-gt"),
("Spanish Honduras", "es-hn"),
("Spanish Mexico", "es-mx"),
("Spanish Nicaragua", "es-ni"),
("Spanish Panama", "es-pa"),
("Spanish Peru", "es-pe"),
("Spanish Puerto Rico", "es-pr"),
("Spanish Paraguay", "es-py"),
("Spanish El Salvador", "es-sv"),
("Spanish Uruguay", "es-uy"),
("Spanish Venezuela", "es-ve"),
("Spanish - Spain (Modern)", "es-es"),
("Spanish - Argentina", "es-ar"),
("Spanish - Bolivia", "es-bo"),
("Spanish - Chile", "es-cl"),
("Spanish - Colombia", "es-co"),
("Spanish - Costa Rica", "es-cr"),
("Spanish - Dominican Republic", "es-do"),
("Spanish - Ecuador", "es-ec"),
("Spanish - Guatemala", "es-gt"),
("Spanish - Honduras", "es-hn"),
("Spanish - Mexico", "es-mx"),
("Spanish - Nicaragua", "es-ni"),
("Spanish - Panama", "es-pa"),
("Spanish - Peru", "es-pe"),
("Spanish - Puerto Rico", "es-pr"),
("Spanish - Paraguay", "es-py"),
("Spanish - El Salvador", "es-sv"),
("Spanish - Uruguay", "es-uy"),
("Spanish - Venezuela", "es-ve"),
("Southern Sotho", "st"),
("Swahili", "sw"),
("Swedish Sweden", "sv-se"),
("Swedish Finland", "sv-fi"),
("Swedish - Sweden", "sv-se"),
("Swedish - Finland", "sv-fi"),
("Tamil", "ta"),
("Tatar", "tt"),
("Thai", "th"),
......@@ -134,7 +134,7 @@ LANGTAGS = (
("Tsonga", "ts"),
("Ukrainian", "uk"),
("Urdu", "ur"),
("Uzbek Latin", "uz-uz"),
("Uzbek - Latin", "uz-uz"),
("Vietnamese", "vi"),
("Xhosa", "xh"),
("Yiddish", "yi"),
......
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
def fix_tag_names(apps, schema_editor):
""" Replace dashes (—) in tag names with hyphens (-)."""
LanguageTag = apps.get_model('ietf_language_tags', 'LanguageTag')
for tag in LanguageTag.objects.all():
tag.name = tag.name.replace('—', '-')
tag.save()
class Migration(migrations.Migration):
dependencies = [
('ietf_language_tags', '0002_language_tag_data_migration'),
]
operations = [
migrations.RunPython(fix_tag_names),
]
......@@ -10,3 +10,7 @@ class LanguageTag(models.Model):
def __str__(self):
return '{code} - {name}'.format(code=self.code, name=self.name)
@property
def macrolanguage(self):
return self.name.split('-')[0].strip()
......@@ -15,3 +15,8 @@ class LanguageTagTests(TestCase):
name = 'Test LanguageTag'
tag = LanguageTag(code=code, name=name)
self.assertEqual(str(tag), '{code} - {name}'.format(code=code, name=name))
def test_macrolanguage(self):
""" Verify the property returns the macrolanguage for a given LanguageTag. """
en_us = LanguageTag(code='en-us', name='English - United States')
self.assertEqual(en_us.macrolanguage, 'English')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment