This commit is contained in:
sork 2011-05-18 17:25:42 +02:00
Коммит 91cb43d289
132 изменённых файлов: 3123 добавлений и 0 удалений

18
.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,18 @@
settings_local.py
*.py[co]
*.sw[po]
.coverage
pip-log.txt
docs/_gh-pages
build.py
.DS_Store
*-min.css
*-all.css
*-min.js
*-all.js
vendor
.noseids
tmp/*
*~
locale/*
*.tmproj

25
LICENSE Normal file
Просмотреть файл

@ -0,0 +1,25 @@
Copyright (c) 2011, Mozilla
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright owner nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

57
README.md Normal file
Просмотреть файл

@ -0,0 +1,57 @@
Spark EOL
=========
Spark End-Of-Life desktop and mobile websites.
Based off Mozilla's [Playdoh][github-playdoh] and [Spark][github-spark].
Python dependencies are in the spark-lib repository also hosted on [github][github-sparklib].
Please refer to [Playdoh's docs][github-playdoh] for more information.
[github-playdoh]: http://github.com/mozilla/playdoh
[github-spark]: http://github.com/mozilla/spark
[github-sparklib]: http://github.com/mozilla/spark-lib
Getting started (all environments)
==================================
* git clone --recursive git://github.com/mozilla/spark-eol.git
* Optional: create a virtualenv before running the step below
* pip install -r requirements/compiled.txt
Dev installation
================
* Refer to 'Getting started' above
* cp settings_local.py-dev settings_local.py
* Configure the database in settings_local.py
* ./vendor/src/schematic/schematic migrations/
* ./manage.py runserver
When the dev installation is complete:
* Access desktop version: http://localhost:8000/
* Access mobile version: http://localhost:8000/m/
Stage installation
==================
* Refer to 'Getting started' above
* cp settings_local.py-dist settings_local.py
* Configure all required settings in settings_local.py for stage
* Run migrations: ./vendor/src/schematic/schematic migrations/
* Set up a cron job: ./bin/update_site.py -e stage
Production installation
=======================
* Refer to 'Getting started' above
* cp settings_local.py-dist settings_local.py
* Configure all required settings in settings_local.py for production
* Run migrations: ./vendor/src/schematic/schematic migrations/
* Run: ./bin/update_site.py -e prod

0
__init__.py Normal file
Просмотреть файл

0
apps/.gitignore поставляемый Normal file
Просмотреть файл

0
apps/__init__.py Normal file
Просмотреть файл

0
apps/commons/__init__.py Normal file
Просмотреть файл

Просмотреть файл

@ -0,0 +1,10 @@
from django.conf import settings
from django.utils import translation
def i18n(request):
return {'LANGUAGES': settings.LANGUAGES,
'LANG': settings.LANGUAGE_URL_MAP.get(translation.get_language())
or translation.get_language(),
'DIR': 'rtl' if translation.get_language_bidi() else 'ltr',
}

157
apps/commons/decorators.py Normal file
Просмотреть файл

@ -0,0 +1,157 @@
import json
from functools import wraps
from django.conf import settings
from django.contrib.auth import REDIRECT_FIELD_NAME
from django.http import (HttpResponse, HttpResponseForbidden, HttpResponseRedirect,
HttpResponseBadRequest, HttpResponseNotAllowed)
from django.utils.decorators import available_attrs
from django.utils.http import urlquote
from django.utils.encoding import smart_str
from .helpers import urlparams
from .urlresolvers import reverse
def mobile_view(mobile_view_name):
"""This decorator redirects the view to a mobile view if request.MOBILE == True."""
def decorator(view_fn):
@wraps(view_fn)
def wrapper(request, *args, **kw):
if request.MOBILE:
query = dict((smart_str(k), request.GET[k]) for k in request.GET)
return HttpResponseRedirect(urlparams(reverse(mobile_view_name, args=kw.values()), **query))
else:
return view_fn(request, *args, **kw)
return wrapper
return decorator
## Taken from kitsune & zamboni
def ssl_required(view_func):
"""A view decorator that enforces HTTPS.
If settings.DEBUG is True, it doesn't enforce anything."""
def _checkssl(request, *args, **kwargs):
if not settings.DEBUG and not request.is_secure():
url_str = request.build_absolute_uri()
url_str = url_str.replace('http://', 'https://')
return HttpResponseRedirect(url_str)
return view_func(request, *args, **kwargs)
return _checkssl
def user_access_decorator(redirect_func, redirect_url_func, deny_func=None,
redirect_field=REDIRECT_FIELD_NAME, mobile=False):
"""
Helper function that returns a decorator.
* redirect func ----- If truthy, a redirect will occur
* deny_func --------- If truthy, HttpResponseForbidden is returned.
* redirect_url_func - Evaluated at view time, returns the redirect URL
i.e. where to go if redirect_func is truthy.
* redirect_field ---- What field to set in the url, defaults to Django's.
Set this to None to exclude it from the URL.
"""
def decorator(view_fn):
def _wrapped_view(request, *args, **kwargs):
if redirect_func(request.user):
# We must call reverse at the view level, else the threadlocal
# locale prefixing doesn't take effect.
if mobile:
default_login_url = reverse('users.mobile_login')
else:
default_login_url = reverse('users.login')
redirect_url = redirect_url_func() or default_login_url
# Redirect back here afterwards?
if redirect_field:
path = urlquote(request.get_full_path())
redirect_url = '%s?%s=%s' % (
redirect_url, redirect_field, path)
return HttpResponseRedirect(redirect_url)
if deny_func and deny_func(request.user):
return HttpResponseForbidden()
return view_fn(request, *args, **kwargs)
return wraps(view_fn, assigned=available_attrs(view_fn))(_wrapped_view)
return decorator
def logout_required(redirect, mobile=False):
"""Requires that the user *not* be logged in."""
redirect_func = lambda u: u.is_authenticated()
if hasattr(redirect, '__call__'):
home_view = 'mobile.home' if mobile else 'desktop.home'
return user_access_decorator(
redirect_func, redirect_field=None,
redirect_url_func=lambda: reverse(home_view))(redirect)
else:
return user_access_decorator(redirect_func, redirect_field=None,
redirect_url_func=lambda: redirect)
def login_required(func, login_url=None, redirect=REDIRECT_FIELD_NAME,
only_active=True, mobile=False):
"""Requires that the user is logged in."""
if only_active:
redirect_func = lambda u: not (u.is_authenticated() and u.is_active)
else:
redirect_func = lambda u: not u.is_authenticated()
redirect_url_func = lambda: login_url
return user_access_decorator(redirect_func, redirect_field=redirect,
redirect_url_func=redirect_url_func,
mobile=mobile)(func)
def post_required(f):
@wraps(f)
def wrapper(request, *args, **kw):
if request.method != 'POST':
return HttpResponseNotAllowed(['POST'])
else:
return f(request, *args, **kw)
return wrapper
def ajax_required(f):
"""
AJAX request required decorator
use it in your views:
@ajax_required
def my_view(request):
....
"""
def wrap(request, *args, **kwargs):
if not request.is_ajax():
return HttpResponseBadRequest()
return f(request, *args, **kwargs)
wrap.__doc__=f.__doc__
wrap.__name__=f.__name__
return wrap
def json_view(f):
@wraps(f)
def wrapper(*args, **kw):
response = f(*args, **kw)
if isinstance(response, HttpResponse):
return response
else:
return HttpResponse(json.dumps(response),
content_type='application/json')
return wrapper
json_view.error = lambda s: http.HttpResponseBadRequest(
json.dumps(s), content_type='application/json')

198
apps/commons/helpers.py Normal file
Просмотреть файл

@ -0,0 +1,198 @@
import urlparse
import datetime
from django.conf import settings
from django.http import QueryDict
from django.utils import translation
from django.utils.encoding import smart_unicode, smart_str
from django.utils.http import urlencode
from django.contrib.sites.models import Site
from jingo import register
import jinja2
from pytz import timezone
from babel import Locale, localedata
from babel.support import Format
from babel.dates import format_date, format_time, format_datetime
from babel.numbers import format_decimal
from tower import ungettext as _ungettext
from .urlresolvers import reverse
# Most of these functions are taken from kitsune
@register.function
def ungettext(singular, plural, number, context=None):
return _ungettext(singular, plural, number, context)
@register.function
def url(viewname, *args, **kwargs):
"""Helper for Django's ``reverse`` in templates."""
locale = kwargs.pop('locale', None)
return reverse(viewname, locale=locale, args=args, kwargs=kwargs)
@register.filter
def label_with_help(f):
"""Print the label tag for a form field, including the help_text
value as a title attribute."""
label = u'<label for="%s" title="%s">%s</label>'
return jinja2.Markup(label % (f.auto_id, f.help_text, f.label))
@register.filter
def secure_url(url):
if settings.DEBUG:
return url
else:
site = Site.objects.get_current()
return u'https://%s%s' % (site, url)
@register.filter
def urlparams(url_, hash=None, query_dict=None, **query):
"""
Add a fragment and/or query paramaters to a URL.
New query params will be appended to exising parameters, except duplicate
names, which will be replaced.
"""
url_ = urlparse.urlparse(url_)
fragment = hash if hash is not None else url_.fragment
q = url_.query
new_query_dict = (QueryDict(smart_str(q), mutable=True) if
q else QueryDict('', mutable=True))
if query_dict:
for k, l in query_dict.lists():
new_query_dict[k] = None # Replace, don't append.
for v in l:
new_query_dict.appendlist(k, v)
for k, v in query.items():
new_query_dict[k] = v # Replace, don't append.
query_string = urlencode([(k, v) for k, l in new_query_dict.lists() for
v in l if v is not None])
new = urlparse.ParseResult(url_.scheme, url_.netloc, url_.path,
url_.params, query_string, fragment)
return new.geturl()
@register.filter
def timesince(d, now=None):
"""Take two datetime objects and return the time between d and now as a
nicely formatted string, e.g. "10 minutes". If d is None or occurs after
now, return ''.
Units used are years, months, weeks, days, hours, and minutes. Seconds and
microseconds are ignored. Just one unit is displayed. For example,
"2 weeks" and "1 year" are possible outputs, but "2 weeks, 3 days" and "1
year, 5 months" are not.
Adapted from django.utils.timesince to have better i18n (not assuming
commas as list separators and including "ago" so order of words isn't
assumed), show only one time unit, and include seconds.
"""
if d is None:
return u''
chunks = [
(60 * 60 * 24 * 365, lambda n: ungettext('%(number)d year ago',
'%(number)d years ago', n)),
(60 * 60 * 24 * 30, lambda n: ungettext('%(number)d month ago',
'%(number)d months ago', n)),
(60 * 60 * 24 * 7, lambda n: ungettext('%(number)d week ago',
'%(number)d weeks ago', n)),
(60 * 60 * 24, lambda n: ungettext('%(number)d day ago',
'%(number)d days ago', n)),
(60 * 60, lambda n: ungettext('%(number)d hour ago',
'%(number)d hours ago', n)),
(60, lambda n: ungettext('%(number)d minute ago',
'%(number)d minutes ago', n)),
(1, lambda n: ungettext('%(number)d second ago',
'%(number)d seconds ago', n))]
if not now:
if d.tzinfo:
now = datetime.datetime.now(LocalTimezone(d))
else:
now = datetime.datetime.now()
# Ignore microsecond part of 'd' since we removed it from 'now'
delta = now - (d - datetime.timedelta(0, 0, d.microsecond))
since = delta.days * 24 * 60 * 60 + delta.seconds
if since <= 0:
# d is in the future compared to now, stop processing.
return u''
for i, (seconds, name) in enumerate(chunks):
count = since // seconds
if count != 0:
break
return name(count) % {'number': count}
def _babel_locale(locale):
"""Return the Babel locale code, given a normal one."""
# Babel uses underscore as separator.
return locale.replace('-', '_')
def _contextual_locale(context):
"""Return locale from the context, falling back to a default if invalid."""
locale = context['request'].locale
if not localedata.exists(locale):
locale = settings.LANGUAGE_CODE
return locale
@register.function
@jinja2.contextfunction
def datetimeformat(context, value, format='shortdatetime'):
"""
Returns date/time formatted using babel's locale settings. Uses the
timezone from settings.py
"""
if not isinstance(value, datetime.datetime):
# Expecting date value
raise ValueError
tzinfo = timezone(settings.TIME_ZONE)
tzvalue = tzinfo.localize(value)
locale = _babel_locale(_contextual_locale(context))
# If within a day, 24 * 60 * 60 = 86400s
if format == 'shortdatetime':
# Check if the date is today
if value.toordinal() == datetime.date.today().toordinal():
formatted = _lazy(u'Today at %s') % format_time(
tzvalue, format='short', locale=locale)
else:
formatted = format_datetime(tzvalue, format='short', locale=locale)
elif format == 'longdatetime':
formatted = format_datetime(tzvalue, format='long', locale=locale)
elif format == 'date':
formatted = format_date(tzvalue, locale=locale)
elif format == 'time':
formatted = format_time(tzvalue, locale=locale)
elif format == 'datetime':
formatted = format_datetime(tzvalue, locale=locale)
else:
# Unknown format
raise DateTimeFormatError
return jinja2.Markup('<time datetime="%s">%s</time>' % \
(tzvalue.isoformat(), formatted))
def _get_format():
lang = translation.get_language()
locale = Locale(translation.to_locale(lang))
return Format(locale)
@register.filter
def numberfmt(num, format=None):
return _get_format().decimal(num, format)

124
apps/commons/middleware.py Normal file
Просмотреть файл

@ -0,0 +1,124 @@
import contextlib
import re
import urllib
from django.http import HttpResponsePermanentRedirect, HttpResponseForbidden
from django.middleware import common
from django.utils.encoding import iri_to_uri, smart_str, smart_unicode
import jingo
import MySQLdb as mysql
import tower
from .helpers import urlparams
from .urlresolvers import Prefixer, set_url_prefixer, split_path
from .views import handle403
## Taken from kitsune
class LocaleURLMiddleware(object):
"""
Based on zamboni.amo.middleware.
Tried to use localeurl but it choked on 'en-US' with capital letters.
1. Search for the locale.
2. Save it in the request.
3. Strip them from the URL.
"""
def process_request(self, request):
prefixer = Prefixer(request)
set_url_prefixer(prefixer)
full_path = prefixer.fix(prefixer.shortened_path)
if 'lang' in request.GET:
# Blank out the locale so that we can set a new one. Remove lang
# from the query params so we don't have an infinite loop.
prefixer.locale = ''
new_path = prefixer.fix(prefixer.shortened_path)
query = dict((smart_str(k), v) for
k, v in request.GET.iteritems() if k != 'lang')
return HttpResponsePermanentRedirect(urlparams(new_path, **query))
if full_path != request.path:
query_string = request.META.get('QUERY_STRING', '')
full_path = urllib.quote(full_path.encode('utf-8'))
if query_string:
full_path = '%s?%s' % (full_path, query_string)
response = HttpResponsePermanentRedirect(full_path)
# Vary on Accept-Language if we changed the locale
old_locale = prefixer.locale
new_locale, _ = split_path(full_path)
if old_locale != new_locale:
response['Vary'] = 'Accept-Language'
return response
request.path_info = '/' + prefixer.shortened_path
request.locale = prefixer.locale
tower.activate(prefixer.locale)
def process_response(self, request, response):
"""Unset the thread-local var we set during `process_request`."""
# This makes mistaken tests (that should use LocalizingClient but
# use Client instead) fail loudly and reliably. Otherwise, the set
# prefixer bleeds from one test to the next, making tests
# order-dependent and causing hard-to-track failures.
set_url_prefixer(None)
return response
def process_exception(self, request, exception):
set_url_prefixer(None)
class Forbidden403Middleware(object):
"""
Renders a 403.html page if response.status_code == 403.
"""
def process_response(self, request, response):
if isinstance(response, HttpResponseForbidden):
return handle403(request)
# If not 403, return response unmodified
return response
class RemoveSlashMiddleware(object):
"""
Middleware that tries to remove a trailing slash if there was a 404.
If the response is a 404 because url resolution failed, we'll look for a
better url without a trailing slash.
"""
def process_response(self, request, response):
if (response.status_code == 404
and request.path_info.endswith('/')
and not common._is_valid_path(request.path_info)
and common._is_valid_path(request.path_info[:-1])):
# Use request.path because we munged app/locale in path_info.
newurl = request.path[:-1]
if request.GET:
with safe_query_string(request):
newurl += '?' + request.META['QUERY_STRING']
return HttpResponsePermanentRedirect(newurl)
return response
@contextlib.contextmanager
def safe_query_string(request):
"""
Turn the QUERY_STRING into a unicode- and ascii-safe string.
We need unicode so it can be combined with a reversed URL, but it has to be
ascii to go in a Location header. iri_to_uri seems like a good compromise.
"""
qs = request.META['QUERY_STRING']
try:
request.META['QUERY_STRING'] = iri_to_uri(qs)
yield
finally:
request.META['QUERY_STRING'] = qs

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "desktop/base.html" %}
{% set title = _('Access denied') %}
{% block content %}
<article id="error-page" class="main">
<h1>{{ title }}</h1>
<p>{{ _('You do not have permission to access this page.') }}</p>
</article>
{% endblock %}

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "desktop/base.html" %}
{% block content %}
{{ _('Whoops!') }}
<h3>{{ _('Error 404') }}</h3>
<p>
{{ _("It looks like the page you were looking for doesn't exist.") }}
<a href="">{{ _('Go to the homepage') }} ></a>
</p>
{% endblock %}

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "desktop/base.html" %}
{% set title = _('An Error Occurred') %}
{% block content %}
<article id="error-page" class="main">
<h1>{{ title }}</h1>
<p>{{ _('Oh, no! It looks like an unexpected error occurred.') }}</p>
</article>
{% endblock %}

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "mobile/page.html" %}
{% set pagetitle = _('Oops, your request was unsuccessful') %}
{% block pagecontent %}
<div class="section">
<p>{% trans %}
We couldn't perform your request. Perhaps because the action is no
longer applicable or you tried to perform an invalid action.{% endtrans %}</p>
</div>
{% endblock %}

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "mobile/base.html" %}
{% set pagetitle = _('Access denied') %}
{% block content %}
<article id="error-page" class="main">
<h1>{{ pagetitle }}</h1>
<p>{{ _('You do not have permission to access this page.') }}</p>
</article>
{% endblock %}

Просмотреть файл

@ -0,0 +1,29 @@
{% extends "mobile/page.html" %}
{% set pagetitle = _('Firefox Spark') %}
{% set logged_in = request.user.is_authenticated() %}
{% set body_id = 'home' %}
{% if logged_in %}
{% set scripts = ('menu',) %}
{% set body_class = 'error404' %}
{% else %}
{% set hide_menu = True %}
{% set body_class = 'logged-out error404' %}
{% endif %}
{% block pagecontent %}
<div class="section">
<h3>{{ _('Whoops!') }}</h3>
<p class="sans">{{ _("It looks like the page you were looking for doesn't exist.") }}</p>
</div>
<hr>
<div class="cta">
{% if logged_in %}
<a href="{{ url('mobile.home') }}">{{ _('Go to My Spark') }}</a>
{% else %}
<a href="{{ url('mobile.home') }}">{{ _('Go to the homepage') }}</a>
{% endif %}
</div>
<hr>
{% endblock %}

Просмотреть файл

@ -0,0 +1,10 @@
{% extends "mobile/base.html" %}
{% set pagetitle = _('An Error Occurred') %}
{% block content %}
<article id="error-page" class="main">
<h1>{{ pagetitle }}</h1>
<p>{{ _('Oh, no! It looks like an unexpected error occurred.') }}</p>
</article>
{% endblock %}

Просмотреть файл

@ -0,0 +1,4 @@
# robots.txt
User-Agent: *
Disallow: /admin/

Просмотреть файл

@ -0,0 +1,29 @@
from django.test.client import Client
from django.conf import settings
from test_utils import TestCase
from commons.urlresolvers import reverse, split_path
get = lambda c, v, **kw: c.get(reverse(v, **kw), follow=True)
post = lambda c, v, data={}, **kw: c.post(reverse(v, **kw), data, follow=True)
class LocalizingClient(Client):
"""Client which prepends a locale so test requests can get through
LocaleURLMiddleware without resulting in a locale-prefix-adding 301.
Otherwise, we'd have to hard-code locales into our tests everywhere or
{mock out reverse() and make LocaleURLMiddleware not fire}.
"""
def request(self, **request):
"""Make a request, but prepend a locale if there isn't one already."""
# Fall back to defaults as in the superclass's implementation:
path = request.get('PATH_INFO', self.defaults.get('PATH_INFO', '/'))
locale, shortened = split_path(path)
if not locale:
request['PATH_INFO'] = '/%s/%s' % (settings.LANGUAGE_CODE,
shortened)
return super(LocalizingClient, self).request(**request)

Просмотреть файл

@ -0,0 +1,59 @@
from django.conf import settings
from django.contrib.sites.models import Site
import mock
from nose.tools import eq_
from pyquery import PyQuery as pq
from test_utils import RequestFactory
from commons.tests import TestCase
from commons.urlresolvers import clean_next_url
SITE_DOMAIN = 'spark.mozilla.org'
class CleanNextUrlTestCase(TestCase):
def _clean_next_url(self, next):
request = RequestFactory().post('/login', {'next': next})
return clean_next_url(request)
def test_accepts_relative_path(self):
eq_('/m/about', self._clean_next_url('/m/about'))
def test_prepends_a_slash(self):
eq_('/m/about', self._clean_next_url('m/about'))
@mock.patch.object(Site.objects, 'get_current')
def test_ignores_protocol_relative_url_to_different_domain(self, get_current):
get_current.return_value.domain = SITE_DOMAIN
eq_(None, self._clean_next_url('//www.different.com'))
@mock.patch.object(Site.objects, 'get_current')
def test_ignores_absolute_url_to_different_domain(self, get_current):
get_current.return_value.domain = SITE_DOMAIN
eq_(None, self._clean_next_url('http://www.different.com'))
@mock.patch.object(Site.objects, 'get_current')
def test_accepts_protocol_relative_url_to_same_domain(self, get_current):
get_current.return_value.domain = SITE_DOMAIN
eq_('/some/file/somewhere', self._clean_next_url('//spark.mozilla.org/some/file/somewhere'))
@mock.patch.object(Site.objects, 'get_current')
def test_accepts_absolute_url_to_same_domain(self, get_current):
get_current.return_value.domain = SITE_DOMAIN
eq_('/m/some_path/', self._clean_next_url('http://spark.mozilla.org/m/some_path/'))
@mock.patch.object(Site.objects, 'get_current')
def test_rejects_data_scheme(self, get_current):
get_current.return_value.domain = SITE_DOMAIN
eq_(None, self._clean_next_url('data:text/html,<html><script>alert(1)</script></html>'))

Просмотреть файл

@ -0,0 +1,193 @@
import threading
import urlparse
from django.conf import settings
from django.core.handlers.wsgi import WSGIRequest
from django.core.urlresolvers import reverse as django_reverse
from django.utils.translation.trans_real import parse_accept_lang_header
from django.contrib.sites.models import Site
# Thread-local storage for URL prefixes. Access with (get|set)_url_prefix.
_locals = threading.local()
def set_url_prefixer(prefixer):
"""Set the Prefixer for the current thread."""
_locals.prefixer = prefixer
def get_url_prefixer():
"""Get the Prefixer for the current thread, or None."""
return getattr(_locals, 'prefixer', None)
def reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None,
force_locale=False, locale=None):
"""Wraps Django's reverse to prepend the correct locale.
force_locale -- Ordinarily, if get_url_prefixer() returns None, we return
an unlocalized URL, which will be localized via redirect when visited.
Set force_locale to True to force the insertion of a default locale
when there is no set prefixer. If you are writing a test and simply
wish to avoid LocaleURLMiddleware's initial 301 when passing in an
unprefixed URL, it is probably easier to substitute LocalizingClient
for any uses of django.test.client.Client and forgo this kwarg.
locale -- By default, reverse prepends the current locale (if set) or
the default locale if force_locale == True. To override this behavior
and have it prepend a different locale, pass in the locale parameter
with the desired locale. When passing a locale, the force_locale is
not used and is implicitly True.
"""
if locale:
prefixer = Prefixer(locale=locale)
else:
prefixer = get_url_prefixer()
if not prefixer and force_locale:
prefixer = Prefixer()
if prefixer:
prefix = prefix or '/'
url = django_reverse(viewname, urlconf, args, kwargs, prefix)
if prefixer:
return prefixer.fix(url)
else:
return url
def find_supported(test):
return [settings.LANGUAGE_URL_MAP[x] for
x in settings.LANGUAGE_URL_MAP if
x.split('-', 1)[0] == test.lower().split('-', 1)[0]]
def split_path(path):
"""
Split the requested path into (locale, path).
locale will be empty if it isn't found.
"""
path = path.lstrip('/')
# Use partition instead of split since it always returns 3 parts
first, _, rest = path.partition('/')
lang = first.lower()
if lang in settings.LANGUAGE_URL_MAP:
return settings.LANGUAGE_URL_MAP[lang], rest
else:
supported = find_supported(first)
if supported:
return supported[0], rest
else:
return '', path
class Prefixer(object):
def __init__(self, request=None, locale=None):
"""If request is omitted, fall back to a default locale."""
self.request = request or WSGIRequest({'REQUEST_METHOD': 'bogus'})
self.locale, self.shortened_path = split_path(self.request.path_info)
if locale:
self.locale = locale
def get_language(self):
"""
Return a locale code we support on the site using the
user's Accept-Language header to determine which is best. This
mostly follows the RFCs but read bug 439568 for details.
"""
if 'lang' in self.request.GET:
lang = self.request.GET['lang'].lower()
if lang in settings.LANGUAGE_URL_MAP:
return settings.LANGUAGE_URL_MAP[lang]
if self.request.META.get('HTTP_ACCEPT_LANGUAGE'):
best = self.get_best_language(
self.request.META['HTTP_ACCEPT_LANGUAGE'])
if best:
return best
return settings.LANGUAGE_CODE
def get_best_language(self, accept_lang):
"""Given an Accept-Language header, return the best-matching language."""
LUM = settings.LANGUAGE_URL_MAP
PREFIXES = dict((x.split('-')[0], LUM[x]) for x in LUM)
langs = dict(LUM)
langs.update((k.split('-')[0], v) for k, v in LUM.items() if
k.split('-')[0] not in langs)
ranked = parse_accept_lang_header(accept_lang)
for lang, _ in ranked:
lang = lang.lower()
if lang in langs:
return langs[lang]
pre = lang.split('-')[0]
if pre in langs:
return langs[pre]
# Could not find an acceptable language.
return False
def fix(self, path):
path = path.lstrip('/')
url_parts = [self.request.META['SCRIPT_NAME']]
first = path.partition('/')[0]
if first not in settings.SUPPORTED_NONLOCALES:
locale = self.locale if self.locale else self.get_language()
if locale == 'ja' and first == 'm':
locale = 'en-US'
url_parts.append(locale)
url_parts.append(path)
return '/'.join(url_parts)
def clean_next_url(request):
if 'next' in request.POST:
url = request.POST.get('next')
elif 'next' in request.GET:
url = request.GET.get('next')
else:
url = None
if url:
parsed_url = urlparse.urlparse(url)
site_domain = Site.objects.get_current().domain
next_domain = parsed_url.netloc
if url.startswith('data:'):
return None
if next_domain:
if site_domain != next_domain:
# Don't let absolute or protocol relative URLs redirect outside of Spark.
return None
else:
# Don't include protocol+domain, so if we are https we stay that way.
url = u'?'.join([getattr(parsed_url, x) for x in
('path', 'query') if getattr(parsed_url, x)])
# Prepend a '/' to the url if not present. We only want relative URLs.
if not url.startswith('/'):
url = '/' + url
# Don't redirect right back to login or logout page
auth_urls = [reverse('users.mobile_login'), reverse('users.login'),
reverse('users.logout'), reverse('users.mobile_logout')]
if parsed_url.path in auth_urls:
url = None
return url
def absolute_reverse(view_name):
return absolute_url(reverse(view_name))
def absolute_url(url):
site = Site.objects.get_current()
return u'https://%s%s' % (site, url)

6
apps/commons/urls.py Normal file
Просмотреть файл

@ -0,0 +1,6 @@
from django.conf.urls.defaults import patterns, url
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
url(r'^robots.txt$', direct_to_template, {'template': 'spark/robots.html', 'mimetype': 'text/plain'}),
)

64
apps/commons/utils.py Normal file
Просмотреть файл

@ -0,0 +1,64 @@
import re
import math
def is_mobile_request(request):
mobile_url = re.compile(r'.+/m/.+')
return mobile_url.match(request.path) != None
def get_country_name(country_code, locale):
from geo.countries import countries
cc = country_code.lower()
if cc in countries[locale]:
country_name = countries[locale][cc]
else:
country_name = '?'
return country_name
def get_city_fullname(city_name, country_code, locale):
from geo.countries import countries
if locale not in countries:
locale = 'en-US'
country_name = get_country_name(country_code, locale)
return '%s, %s' % (city_name, country_name)
def get_ua(request):
return request.META.get('HTTP_USER_AGENT', '')
def is_iphone(request):
return 'iPhone' in get_ua(request)
def is_android(request):
ua = get_ua(request)
if 'Android' in ua:
return True
return False
def is_supported_non_firefox(request):
ua = get_ua(request)
if ('Android' in ua or 'Maemo' in ua) and not 'Firefox' in ua:
return True
return False
def is_firefox_mobile(request):
ua = get_ua(request)
if ('Android' in ua or 'Maemo' in ua) and 'Firefox' in ua:
return True
return False
def is_mobile(request):
return is_iphone(request) or is_supported_non_firefox(request) or is_firefox_mobile(request)

62
apps/commons/views.py Normal file
Просмотреть файл

@ -0,0 +1,62 @@
import logging
import os
import socket
import StringIO
import time
from django import http
from django.conf import settings
from django.core.cache import cache, parse_backend_uri
from django.http import (HttpResponsePermanentRedirect, HttpResponseRedirect,
HttpResponse)
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_protect
import jingo
from commons.urlresolvers import reverse
from commons.utils import is_mobile_request
def handle403(request):
"""A 403 message that looks nicer than the normal Apache forbidden page."""
if(is_mobile_request(request)):
template = 'commons/handlers/mobile/403.html'
else:
template = 'commons/handlers/desktop/403.html'
return jingo.render(request, template, status=403)
@csrf_protect
def handle404(request):
"""A handler for 404s."""
if(is_mobile_request(request)):
template = 'commons/handlers/mobile/404.html'
else:
template = 'commons/handlers/desktop/404.html'
return jingo.render(request, template, status=404)
def handle500(request):
"""A 500 message that looks nicer than the normal Apache error page."""
if(is_mobile_request(request)):
template = 'commons/handlers/mobile/500.html'
else:
template = 'commons/handlers/desktop/500.html'
return jingo.render(request, template, status=500)
def redirect_to(request, url, permanent=True, **kwargs):
"""Like Django's redirect_to except that 'url' is passed to reverse."""
dest = reverse(url, kwargs=kwargs)
if permanent:
return HttpResponsePermanentRedirect(dest)
return HttpResponseRedirect(dest)
def robots(request):
"""Generate a robots.txt."""
template = jingo.render(request, 'robots.html')
return HttpResponse(template, mimetype='text/plain')

0
apps/eol/__init__.py Normal file
Просмотреть файл

Просмотреть файл

@ -0,0 +1,26 @@
{# L10n: Title of the page about Firefox addons for mobile. #}
{{ _('Customize On The Go') }}
{{ _('Customize Firefox to fit exactly the way you browse with our growing catalog of <a href="{url}">mobile add-ons</a>.')|fe(url='#') }}
{{ _('Hundreds of thousands of Add-ons Downloaded') }}
{{ _('<em>Add-ons</em> Downloaded')|f(num=1234567) }}
{{ _('<em>Available</em> Add-ons <span>and counting</span>') }}
{# L10n: Featured add-on name. #}
{{ _('Personas') }}
{{ _('Dress up your Firefox with thousands of cool designs from <a href="{url}">GetPersonas.com</a>.')|fe(url='#') }}
{# L10n: Featured add-on name. #}
{{ _('HootBar') }}
{{ _('Post messages to Twitter and other social networks from the Awesome Bar.') }}
{# L10n: Featured add-on name. #}
{{ _('Adblock Plus') }}
{{ _('Remove ads and regain control of the way you view the web.') }}
{# L10n: Featured add-on name. #}
{{ _('Phony') }}
{{ _('View sites by masquerading as an iPhone, Android, or desktop browser.') }}

Просмотреть файл

@ -0,0 +1,24 @@
{# L10n: Title of the page giving an overview of Firefox for mobile. #}
{{ _('Type Less, Browse More') }}
{{ _('All the awesomeness of Firefox, packed into a mobile device.') }}
{{ _('<em>Tabbed</em> Browsing') }}
{{ _('Enjoy the convenience of tabbed browsing on your mobile device.') }}
{{ _('<em>Awesome</em> Screen') }}
{{ _('Firefox learns your favorite sites as you browse and helps you get to them with minimal or no typing.') }}
{{ _('<em>One-Touch</em> Bookmarking') }}
{{ _('Swipe to the left and bookmark a site you love with one touch.') }}
{{ _('<em>Full Screen</em> View') }}
{{ _('Firefox stays out of the way of the content youre looking at.') }}
{{ _('<em>Millions</em> of downloads') }}
{# L10n: Download link to Firefox for mobile. Should be kept as short as possible. #}
{{ _('Get it now') }}
{{ _('<em>See Firefox</em> for Android in action.') }}

Просмотреть файл

@ -0,0 +1,18 @@
{# L10n: Title of the page about Firefox Sync. #}
{{ _('Keep Your Life In Sync') }}
{{ _('Securely access your desktop Firefox history, bookmarks, tabs and passwords across all your devices.') }}
{# L10n: Title of the paragraph giving an overview of Firefox Sync. #}
{{ _('Stay in Sync') }}
{{ _('Get up and go and have your favorite parts of the Web synchronized between your computer, tablet and mobile. Access years of desktop browsing the first day you fire up your mobile, and use saved passwords from your desktop to fill out forms on your phone with no typing.') }}
{# L10n: Title of the paragraph about Firefox Sync's ease of installation. #}
{{ _('Easy set up') }}
{{ _('Take a minute to set up a Sync account and synchronize your Firefoxes.') }}
{{ _('See how it works') }}
{# L10n: Title of the paragraph about Firefox Sync's security. #}
{{ _('Stay safe') }}
{{ _('Firefox Sync is the only service with end-to-end encryption. Your data is always protected, so only you have access to information like your passwords and browsing history.') }}

Просмотреть файл

@ -0,0 +1,57 @@
{# L10n: Title of the page about additional Firefox features which are less visible but still important. #}
{{ _('More Than Meets The Eye') }}
{{ _('Discover even more features that make Firefox for Android an easy-to-use, customizeable and powerful browser.') }}
{{ _('<em>Greater Control</em> via Site Menu') }}
{{ _('Find in page') }}
{{ _('Quickly find text on a website') }}
{{ _('Save to PDF') }}
{{ _('Capture important websites, like directions or a boarding pass, to view offline') }}
{{ _('Share page') }}
{{ _('Share websites via apps like email, Facebook, Twitter, Google Reader and more') }}
{{ _('Forget password') }}
{{ _('Tell a website to forget your password') }}
{{ _('Add search engine') }}
{{ _('Customize your search engine list') }}
{{ _('Clear site preferences') }}
{{ _('Manage site-specific preferences like blocking pop-ups and opting to never save a password') }}
{# L10n: Paragraph title referring to state-of-the-art web technologies used in Firefox for Mobile. #}
{{ _('The Cutting Edge') }}
{{ _('Firefox for Android includes the newest Web technologies for a modern browsing experience on your phone.') }}
{{ _('HTML5') }}
{{ _('Firefox uses open Web standards like HTML5, CSS and JavaScript so developers can create fast, powerful and beautiful add-ons and applications.') }}
{{ _('Multi-process') }}
{{ _('Firefox takes advantage of new multi-core CPUs by running the browser in multiple processes.') }}
{# L10n: Refers to the Firefox browser interface running in a separate process from the rendering one. #}
{{ _('Electrolysis') }}
{{ _('The browser interface runs in a separate process from the one rendering Web content, resulting in a much more stable and responsive browser.') }}
{# L10n: JaegerMonkey is Mozilla's JavaScript engine. #}
{{ _('JaegerMonkey') }}
{% trans %}
Firefox includes a superfast JavaScript engine that uses Mozilla's "JaegerMonkey" just-in-time compiler and is optimized for ARM processors.
{% endtrans %}
{# L10n: Refers to the layers technology improving graphic performance on Firefox for mobile. #}
{{ _('Layers') }}
{{ _('Layers technology helps improve graphic performance for swifter and slicker scrolling, zooming and animations.') }}
{{ _('Offline Browsing') }}
{{ _("Offline browsing in Firefox lets you have a Web connection even if your mobile device doesn't have one.") }}
{{ _('<em>Location-Aware</em> Browsing') }}
{{ _("Firefox can tell websites where you're located, so you can find info that's more relevant and more useful!") }}
{{ _("It's all optional - Firefox doesn't share your location without your permission.") }}

Просмотреть файл

@ -0,0 +1,22 @@
{# L10n: Placed above Twitter and Facebook sharing buttons. #}
{{ _('Share This') }}
{# L10n: Title above the newsletter sign up input field. #}
{{ _('Stay Updated') }}
{{ _('Be the first to hear the latest news about Firefox for mobile.') }}
{{ _('Your Email Address') }}
{# L10n: Title above a sentence inviting users to visit Spark with their mobile. #}
{{ _('Go Mobile') }}
{{ _('Visit spark.mozilla.org with your mobile') }}
{{ _('Privacy Policy') }}
{{ _('Legal Notices') }}
{{ _('Report Trademark Abuse') }}
{% trans noted_url='http://www.mozilla.com/en-US/about/legal.html#site', license_url='http://creativecommons.org/licenses/by-sa/3.0/' %}
Except where otherwise <a href="{{ noted_url }}">noted</a>, content of this site is licensed under the
<a href="{{ license_url }}">Creative Commons Attribution Share-Alike License v3.0</a> or any later version.
{% endtrans %}

Просмотреть файл

@ -0,0 +1,12 @@
{# Download button #}
{{ _('<em>Get Firefox</em> for mobile') }}
{{ _('Available <span>free</span> for Android and the Nokia N900') }}
{# Navigation links #}
{{ _('Back to home') }}
{{ _('To Spark results') }}
{{ _('Learn more about Firefox') }}

Просмотреть файл

@ -0,0 +1,28 @@
{% extends 'desktop/base.html' %}
{% block content %}
{{ _('Spark powered by Firefox for mobile.') }}
{{ _('Spark is now over. Thanks to all participants!') }}
{{ _("Check out the game's results & learn more about Firefox for Android.") }}
{{ _('See the complete <em>Game Results</em>') }}
{{ _('Take a look inside <em>Firefox <span>for</span> Android</em>') }}
{% include "eol/desktop/header.html" %}
{% include "eol/desktop/spark/menu.html" %}
{% include "eol/desktop/spark/sharing.html" %}
{% include "eol/desktop/spark/around.html" %}
{% include "eol/desktop/spark/hall.html" %}
{% include "eol/desktop/firefox/addons.html" %}
{% include "eol/desktop/firefox/overview.html" %}
{% include "eol/desktop/firefox/sync.html" %}
{% include "eol/desktop/firefox/various.html" %}
{% include "eol/desktop/footer.html" %}
{% endblock %}

Просмотреть файл

@ -0,0 +1,14 @@
{# Around the Globe #}
{{ _('Most Sparked <em>Cities</em>') }}
{# L10n: Preceded by the number of continents #}
{{ _('<em>Continents</em> Sparked') }}
{# L10n: Preceded by the number of sparks #}
{{ _('<em>Total Sparks</em> Worldwide') }}
{# L10n: Preceded by the number of countries #}
{{ _('<em>Countries</em> Sparked') }}
{{ _('Most Active <em>Countries</em>') }}

Просмотреть файл

@ -0,0 +1,14 @@
{# Hall of Fame #}
{# L10n: Title of a table listing the top 10 players. #}
{{ _('Spark <em>Leaderboard</em>') }}
{{ _('Huge thanks to all players for their participation, the top 10 players will receive a well-deserved Firefox T-shirt. Congratulations, super sparkers!') }}
{# L10n: Title of a ring chart showing player level repartition. #}
{{ _('<em>Levels</em> Breakdown') }}
{# L10n: Preceded by the number of badges #}
{{ _('Total Earned <em>Badges</em>') }}
{{ _('Most Earned <em>Badges</em>') }}

Просмотреть файл

@ -0,0 +1,12 @@
{{ _('Spark') }}
{{ _('Global results') }}
{% trans %}
Spark was created to celebrate the release of Firefox for Android and encouraged sharing the browser with friends across the globe.
Together we helped the flame of the mobile Web glow bright. See how well everyone has performed!
{% endtrans %}
{{ _('<em>Sharing</em> the Spark') }}
{{ _('<em>Around</em> the Globe') }}
{{ _('<em>Hall</em> of Fame') }}

Просмотреть файл

@ -0,0 +1,21 @@
{# Sharing the Spark #}
{# L10n: Preceded by the number of shares. #}
{{ _('Total Shares') }}
{{ _('<em>How people shared</em> their Spark') }}
{# Pie chart tooltips #}
{{ _('via Twitter') }}
{{ _('via Facebook') }}
{{ _('via QR Code') }}
{{ _('via Poster') }}
{{ _('<em>Shares</em> over time') }}
{{ _('<em>Shares</em> via Twitter') }}
{{ _('<em>Shares</em> via Facebook') }}
{# Alternate strings #}
{{ _('Number <span>of</span> Tweets') }}
{{ _('<em>Facebook</em> messages') }}

Просмотреть файл

@ -0,0 +1,16 @@
{{ _('<em>Sharing</em> <span>the</span> Spark') }}
{{ _('<em>Around</em> <span>the</span> Globe') }}
{{ _('<em>Hall</em> <span>of</span> Fame') }}
{{ _('Spark is now over') }}
{{ _('Thanks to all participants!') }}
{{ _('Share This Page') }}
{{ _('Home') }}
{{ _('Back') }}
{{ _('Next') }}
{{ _('Back to top') }}
{{ _('<em>Get firefox</em> for mobile') }}

16
apps/eol/urls.py Normal file
Просмотреть файл

@ -0,0 +1,16 @@
from django.conf.urls.defaults import patterns, url
from commons.views import redirect_to
from . import views
urlpatterns = patterns('',
url(r'^$', redirect_to, {'url': 'eol.home'}),
url(r'^home$', views.home, name='eol.home'),
url(r'^spark$', views.spark, name='eol.spark'),
url(r'^firefox$', views.firefox, name='eol.firefox'),
url(r'^m/$', redirect_to, {'url': 'eol.home_mobile'}),
url(r'^m/home$', views.home_mobile, name='eol.home_mobile'),
url(r'^m/spark$', views.spark_mobile, name='eol.spark_mobile'),
url(r'^m/firefox$', views.firefox_mobile, name='eol.firefox_mobile'),
)

39
apps/eol/utils.py Normal file
Просмотреть файл

@ -0,0 +1,39 @@
# Sharing the Spark
# L10n: In the US, when the # sign precedes a number, it reads as "number". Example: Week #1 means "Week number 1". Just remove the # sign if this is not localizable in your language.
WEEK_NUMBER = _lazy(u'Week #%(num)d')
NUM_SHARES_PER_WEEK = _lazy(u'%(num)d shares')
# Around the Globe
EUROPE = _lazy(u'Europe')
AFRICA = _lazy(u'Africa')
NORTH_AMERICA = _lazy(u'North America')
SOUTH_AMERICA = _lazy(u'South America')
ASIA = _lazy(u'Asia')
# L10n: This refers to the Australian continent, not the country. Translate 'Oceania' instead if this is not applicable to your language.
AUSTRALIA = _lazy(u'Australia')
ANTARCTICA = _lazy(u'Antarctica')
# L10n: In the US, when the # sign precedes a number, it reads as "number". Example: #1 means "number 1". Just remove the # sign if this is not localizable in your language.
COUNTRY_NUMBER = _lazy(u'#%(num)d')
# Hall of Fame
# L10n: This is the content of tooltips when hovering rows of the leaderboard
LEADERBOARD_TOOLTIP = _lazy(u'%(username)s from %(city)s, %(country)s shared %(num_shares)d times and unlocked %(num_badges)d badges')
# L10n: Short description of any player level. Example: "Level 2"
LEVEL = _lazy(u'Level %(num)d')
# Social network messages
TWITTER = _lazy(u"#Spark Winners Announced! Check out the game's results & infographics")
FACEBOOK = _lazy(u"Want to learn more about Firefox for Android and the results of the Spark game? Check out the game's results & infographics!")

25
apps/eol/views.py Normal file
Просмотреть файл

@ -0,0 +1,25 @@
import jingo
def home(request):
return jingo.render(request, 'eol/desktop/home.html')
def spark(request):
return jingo.render(request, 'eol/desktop/spark.html')
def firefox(request):
return jingo.render(request, 'eol/desktop/firefox.html')
def home_mobile(request):
return jingo.render(request, 'eol/mobile/home.html')
def spark_mobile(request):
return jingo.render(request, 'eol/mobile/spark.html')
def firefox_mobile(request):
return jingo.render(request, 'eol/mobile/firefox.html')

Просмотреть файл

@ -0,0 +1 @@
""" This responsys app is based on code from webowonder. """

Просмотреть файл

@ -0,0 +1,31 @@
from datetime import date
import urllib2
from django.utils.http import urlencode
from django.conf import settings
def make_source_url(request):
return request.get_host() + request.get_full_path()
def subscribe(campaigns, address, format='html', source_url='', lang=''):
for campaign in campaigns:
data = {
'LANG_LOCALE': lang,
'SOURCE_URL': source_url,
'EMAIL_ADDRESS_': address,
'EMAIL_FORMAT_': 'H' if format == 'html' else 'T',
}
data['%s_FLG' % campaign] = 'Y'
data['%s_DATE' % campaign] = date.today().strftime('%Y-%m-%d')
data['_ri_'] = settings.RESPONSYS_ID
try:
res = urllib2.urlopen(settings.RESPONSYS_URL, data=urlencode(data))
if res.code != 200:
return False
except urllib2.URLError, e:
return False
return True

37
bin/autol10n.sh Executable file
Просмотреть файл

@ -0,0 +1,37 @@
#!/bin/bash
# Automatically pull L10n dirs from SVN, compile, then push to git.
# Runs on all project dirs named *-autol10n.
# Settings
GIT=`/usr/bin/which git`
FIND=`/usr/bin/which find`
DEVDIR=$HOME/dev
# Update everything
for dir in `$FIND "$DEVDIR" -maxdepth 1 -name '*-autol10n'`; do
cd $dir
$GIT pull -q origin master
cd locale
$GIT svn rebase
# Compile .mo, commit if changed
./compile-mo.sh .
$FIND . -name '*.mo' -exec $GIT add {} \;
$GIT status
if [ $? -eq 0 ]; then
$GIT commit -m 'compiled .mo files (automatic commit)'
fi
# Push to SVN and git
$GIT svn dcommit && $GIT push -q origin master
cd ..
$GIT add locale
$GIT status locale
if [ $? -eq 0 ]; then
$GIT commit -m 'L10n update (automatic commit)'
$GIT push -q origin master
fi
done

19
bin/compile-mo.sh Executable file
Просмотреть файл

@ -0,0 +1,19 @@
#!/bin/bash
# syntax:
# compile-mo.sh locale-dir/
function usage() {
echo "syntax:"
echo "compile.sh locale-dir/"
exit 1
}
# check if file and dir are there
if [[ ($# -ne 1) || (! -d "$1") ]]; then usage; fi
for lang in `find $1 -type f -name "*.po"`; do
dir=`dirname $lang`
stem=`basename $lang .po`
msgfmt -o ${dir}/${stem}.mo $lang
done

125
bin/update_site.py Executable file
Просмотреть файл

@ -0,0 +1,125 @@
#!/usr/bin/env python
"""
Usage: update_site.py [options]
Updates a server's sources, vendor libraries, packages CSS/JS
assets, migrates the database, and other nifty deployment tasks.
Options:
-h, --help show this help message and exit
-e ENVIRONMENT, --environment=ENVIRONMENT
Type of environment. One of (prod|dev|stage) Example:
update_site.py -e stage
-v, --verbose Echo actions before taking them.
"""
import os
import sys
from textwrap import dedent
from optparse import OptionParser
# Constants
PROJECT = 0
VENDOR = 1
ENV_BRANCH = {
# 'environment': [PROJECT_BRANCH, VENDOR_BRANCH],
'dev': ['base', 'master'],
'stage': ['master', 'master'],
'prod': ['prod', 'master'],
}
GIT_PULL = "git pull -q origin %(branch)s"
GIT_SUBMODULE = "git submodule update --init"
SVN_UP = "svn update"
COMPILE_PO = "./compile.sh"
EXEC = 'exec'
CHDIR = 'chdir'
def update_site(env, debug):
"""Run through commands to update this site."""
error_updating = False
here = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
project_branch = {'branch': ENV_BRANCH[env][PROJECT]}
vendor_branch = {'branch': ENV_BRANCH[env][VENDOR]}
commands = [
(CHDIR, here),
(EXEC, GIT_PULL % project_branch),
(EXEC, GIT_SUBMODULE),
]
# Update locale dir if applicable
if os.path.exists(os.path.join(here, 'locale', '.svn')):
commands += [
(CHDIR, os.path.join(here, 'locale')),
(EXEC, SVN_UP),
(EXEC, COMPILE_PO),
(CHDIR, here),
]
elif os.path.exists(os.path.join(here, 'locale', '.git')):
commands += [
(CHDIR, os.path.join(here, 'locale')),
(EXEC, GIT_PULL % 'master'),
(CHDIR, here),
]
commands += [
(CHDIR, os.path.join(here, 'vendor')),
(EXEC, GIT_PULL % vendor_branch),
(EXEC, GIT_SUBMODULE),
(CHDIR, os.path.join(here)),
(EXEC, 'python2.6 vendor/src/schematic/schematic migrations/'),
(EXEC, 'python2.6 manage.py compress_assets'),
]
for cmd, cmd_args in commands:
if CHDIR == cmd:
if debug:
sys.stdout.write("cd %s\n" % cmd_args)
os.chdir(cmd_args)
elif EXEC == cmd:
if debug:
sys.stdout.write("%s\n" % cmd_args)
if not 0 == os.system(cmd_args):
error_updating = True
break
else:
raise Exception("Unknown type of command %s" % cmd)
if error_updating:
sys.stderr.write("There was an error while updating. Please try again "
"later. Aborting.\n")
def main():
""" Handels command line args. """
debug = False
usage = dedent("""\
%prog [options]
Updates a server's sources, vendor libraries, packages CSS/JS
assets, migrates the database, and other nifty deployment tasks.
""".rstrip())
options = OptionParser(usage=usage)
e_help = "Type of environment. One of (%s) Example: update_site.py \
-e stage" % '|'.join(ENV_BRANCH.keys())
options.add_option("-e", "--environment", help=e_help)
options.add_option("-v", "--verbose",
help="Echo actions before taking them.",
action="store_true", dest="verbose")
(opts, _) = options.parse_args()
if opts.verbose:
debug = True
if opts.environment in ENV_BRANCH.keys():
update_site(opts.environment, debug)
else:
sys.stderr.write("Invalid environment!\n")
options.print_help(sys.stderr)
sys.exit(1)
if __name__ == '__main__':
main()

10
lib/decorators.py Normal file
Просмотреть файл

@ -0,0 +1,10 @@
from django import http
def require_post(f):
def wrapper(request, *args, **kw):
if request.method == 'POST':
return f(request, *args, **kw)
else:
return http.HttpResponseNotAllowed(['POST'])
return wrapper

0
lib/geo/__init__.py Normal file
Просмотреть файл

Просмотреть файл

@ -0,0 +1,15 @@
"""
This list of localized country names is borrowed from:
http://svn.mozilla.org/libs/product-details/json/regions/
"""
import json
import os
countries = {}
root = os.path.dirname(os.path.realpath(__file__))
for filename in os.listdir(root):
if filename.endswith('.json'):
name = os.path.splitext(filename)[0]
path = os.path.join(root, filename)
countries[name] = json.load(open(path))

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganistan","al":"Alb\u00e0nia","de":"Alemanya","dz":"Alg\u00e8ria","ad":"Andorra","ao":"Angola","ai":"Anguilla","ag":"Antigua i Barbuda","an":"Antilles Neerlandeses","aq":"Ant\u00e0rtida","ar":"Argentina","am":"Arm\u00e8nia","aw":"Aruba","sa":"Ar\u00e0bia Saudita","au":"Austr\u00e0lia","az":"Azerbaidjan","bs":"Bahames","bh":"Bahrain","bd":"Bangla Desh","bb":"Barbados","bz":"Belize","bj":"Ben\u00edn","bm":"Bermuda","bt":"Bhutan","by":"Bielor\u00fassia","bo":"Bol\u00edvia","bw":"Botswana","bv":"Bouvet","br":"Brasil","bn":"Brunei","bg":"Bulg\u00e0ria","bf":"Burkina Faso","bi":"Burundi","be":"B\u00e8lgica","ba":"B\u00f2snia i Hercegovina","kh":"Cambodja","cm":"Camerun","ca":"Canad\u00e0","cv":"Cap Verd","va":"Ciutat del Vatic\u00e0","co":"Col\u00f2mbia","km":"Comores","cg":"Congo Brazzaville","cd":"Congo Kinshasa","kp":"Corea del Nord","kr":"Corea del Sud","cr":"Costa Rica","ci":"Costa d'Ivori","hr":"Cro\u00e0cia","cu":"Cuba","dk":"Dinamarca","dj":"Djibouti","dm":"Dominica","eg":"Egipte","sv":"El Salvador","ec":"Equador","er":"Eritrea","sk":"Eslov\u00e0quia","si":"Eslov\u00e8nia","es":"Espanya","us":"Estats Units","ee":"Est\u00f2nia","et":"Eti\u00f2pia","fj":"Fiji","ph":"Filipines","fi":"Finl\u00e0ndia","fr":"Fran\u00e7a","ga":"Gabon","ge":"Ge\u00f2rgia","gh":"Ghana","gi":"Gibraltar","gd":"Grenada","gl":"Grenl\u00e0ndia","gr":"Gr\u00e8cia","gp":"Guadeloupe","gf":"Guaiana francesa","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea Bissau","gq":"Guinea Equatorial","gy":"Guyana","gm":"G\u00e0mbia","ht":"Hait\u00ed","hn":"Hondures","hk":"Hong Kong","hu":"Hongria","ye":"Iemen","cx":"Illa Christmas","hm":"Illa de Heard i illes McDonald","im":"Illa de Man","nf":"Illa de Norfolk","re":"Illa de la Reuni\u00f3","ky":"Illes Caiman","cc":"Illes Cocos (Keeling)","ck":"Illes Cook","fo":"Illes F\u00e8roe","gs":"Illes Ge\u00f2rgia del Sud i Sandwich del Sud","fk":"Illes Malvines","mp":"Illes Mariannes Septentrionals","mh":"Illes Marshall","um":"Illes Perif\u00e8riques Menors dels EUA","pn":"Illes Pitcairn","sb":"Illes Salom\u00f3","tc":"Illes Turks i Caicos","vg":"Illes Verges Brit\u00e0niques","vi":"Illes Verges Nord-americanes","ax":"Illes \u00c5land","id":"Indon\u00e8sia","ir":"Iran","iq":"Iraq","ie":"Irlanda","is":"Isl\u00e0ndia","il":"Israel","it":"It\u00e0lia","jm":"Jamaica","jp":"Jap\u00f3","je":"Jersey","jo":"Jord\u00e0nia","kz":"Kazakhstan","ke":"Kenya","kg":"Kirguizistan","ki":"Kiribati","kw":"Kuwait","la":"Laos","ls":"Lesotho","lv":"Let\u00f2nia","lr":"Lib\u00e8ria","li":"Liechtenstein","lt":"Litu\u00e0nia","lu":"Luxemburg","lb":"L\u00edban","ly":"L\u00edbia","mk":"Maced\u00f2nia","mg":"Madagascar","mw":"Malawi","mv":"Maldives","ml":"Mali","mt":"Malta","my":"Mal\u00e0isia","ma":"Marroc","mq":"Martinica","mu":"Maurici","mr":"Maurit\u00e0nia","yt":"Mayotte","fm":"Micron\u00e8sia","mo":"Mold\u00e0via","mn":"Mong\u00f2lia","me":"Montenegro","ms":"Montserrat","mz":"Mo\u00e7ambic","mm":"Myanmar","mx":"M\u00e8xic","mc":"M\u00f2naco","na":"Nam\u00edbia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","ng":"Nig\u00e8ria","nu":"Niue","no":"Noruega","nc":"Nova Caled\u00f2nia","nz":"Nova Zelanda","ne":"N\u00edger","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panam\u00e0","pg":"Papua Nova Guinea","py":"Paraguai","nl":"Pa\u00efsos Baixos","pe":"Per\u00fa","pf":"Polin\u00e8sia Francesa","pl":"Pol\u00f2nia","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","gb":"Regne Unit","cf":"Rep\u00fablica Centreafricana","do":"Rep\u00fablica Dominicana","cz":"Rep\u00fablica Txeca","md":"Rep\u00fablica de Mold\u00e0via","ro":"Romania","rw":"Rwanda","ru":"R\u00fassia","kn":"Saint Kitts i Nevis","lc":"Saint Lucia","vc":"Saint Vincent i les Grenadines","bl":"Saint-Barth\u00e9lemy","mf":"Saint-Martin","pm":"Saint-Pierre i Miquelon","ws":"Samoa","as":"Samoa Nord-americana","sm":"San Marino","sh":"Santa Helena","sn":"Senegal","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapur","so":"Som\u00e0lia","lk":"Sri Lanka","za":"Sud-\u00e0frica","sd":"Sudan","sr":"Surinam","se":"Su\u00e8cia","ch":"Su\u00efssa","sj":"Svalbard i Jan Mayen","sz":"Swazil\u00e0ndia","eh":"S\u00e0hara Occidental","st":"S\u00e3o Tom\u00e9 i Pr\u00edncipe","rs":"S\u00e8rbia","sy":"S\u00edria","tj":"Tadjikistan","th":"Tail\u00e0ndia","tw":"Taiwan","tz":"Tanz\u00e0nia","tf":"Terres Australs i Ant\u00e0rtiques Franceses","io":"Territori Brit\u00e0nic de l'Oce\u00e0 \u00cdndic","ps":"Territori Ocupat de Palestina","tl":"Timor Oriental","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinitat","tn":"Tun\u00edsia","tm":"Turkmenistan","tr":"Turquia","tv":"Tuvalu","td":"Txad","ua":"Ucra\u00efna","ug":"Uganda","ae":"Uni\u00f3 dels Emirats \u00c0rabs","uy":"Uruguai","uz":"Uzbekistan","vu":"Vanuatu","ve":"Vene\u00e7uela","vn":"Vietnam","wf":"Wallis i Futuna","cl":"Xile","cn":"Xina","cy":"Xipre","zw":"Zimbabwe","zm":"Z\u00e0mbia","at":"\u00c0ustria","in":"\u00cdndia"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albanien","dz":"Algeriet","as":"Amerikansk Samoa","vi":"Amerikanske Jomfru\u00f8er","um":"Amerikanske Oceanien","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarktis","ag":"Antigua og Barbuda","ar":"Argentina","am":"Armenien","aw":"Aruba","au":"Australien","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","be":"Belgien","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnien-Hercegovina","bw":"Botswana","bv":"Bouvet\u00f8en","br":"Brazilien","vg":"Britiske Jomfru\u00f8er","io":"Britiske Territorium i Indiske Ocean","bn":"Brunei Darussalam","bg":"Bulgarien","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroun","ca":"Canada","ky":"Cayman-\u00f8erne","cf":"Centralafrikanske Republik","cl":"Chile","cx":"Christmas Island","cc":"Cocos\u00f8erne","co":"Colombia","km":"Comorerne","ck":"Cook-\u00f8erne","cr":"Costa Rica","cu":"Cuba","cy":"Cypern","dk":"Danmark","cd":"Demokratiske Republik Congo","dj":"Djibouti","dm":"Dominica","do":"Dominikanske Republik","ec":"Ecuador","eg":"Egypten","sv":"El Salvador","ci":"Elfenbenskysten","er":"Eritrea","ee":"Estland","et":"Etiopien","fk":"Falklands\u00f8erne","fj":"Fiji","ph":"Filippinerne","fi":"Finland","ae":"Forenede Arabiske Emirater","fr":"Frankrig","gf":"Fransk Guiana","pf":"Fransk Polynesien","tf":"Franske Sydterritorier","fo":"F\u00e6r\u00f8erne","ga":"Gabon","gm":"Gambia","ge":"Georgien","gh":"Ghana","gi":"Gibraltar","gd":"Grenada","gr":"Gr\u00e6kenland","gl":"Gr\u00f8nland","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard- og McDonald-\u00f8erne","nl":"Holland","hn":"Honduras","hk":"Hong Kong","by":"Hviderusland","in":"Indien","id":"Indonesien","iq":"Irak","ir":"Iran","ie":"Irland","is":"Island","im":"Isle of Man","il":"Israel","it":"Italien","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","cv":"Kap Verde","kz":"Kazakhstan","ke":"Kenya","cn":"Kina","kg":"Kirgisistan","ki":"Kiribati","hr":"Kroatien","kw":"Kuwait","la":"Laos","ls":"Lesotho","lv":"Letland","lb":"Libanon","lr":"Liberia","ly":"Libyen","li":"Liechtenstein","lt":"Litauen","lu":"Luxembourg","mo":"Macau","mg":"Madagaskar","mk":"Makedonien","mw":"Malawi","my":"Malaysia","mv":"Maldiverne","ml":"Mali","mt":"Malta","ma":"Marokko","mh":"Marshall\u00f8erne","mq":"Martinique","mr":"Mauritanien","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Mikronesien","md":"Moldavien","mc":"Monaco","mn":"Mongoliet","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar \/ Burma","na":"Namibia","nr":"Nauru","an":"Nederlandske Antiller","np":"Nepal","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","kp":"Nordkorea","mp":"Nordmarianerne","nf":"Norfolk\u00f8en","no":"Norge","pg":"Ny Guinea","nc":"Ny Kaledonien","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Palestina","pa":"Panama","py":"Paraguay","pe":"Peru","pn":"Pitcairn\u00f8erne","pl":"Polen","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","cg":"Republikken Congo","re":"Reunion","ro":"Rum\u00e6nien","ru":"Rusland","rw":"Rwanda","kn":"Saint Kitts og Nevis","lc":"Saint Lucia","mf":"Saint Martin","vc":"Saint Vincent og Grenadinerne","bl":"Saint-Barthelemy","pm":"Saint-Pierre og Miquelon","sb":"Salomon\u00f8erne","ws":"Samoa","sm":"San Marino","sh":"Sankt Helena","st":"Sao Tome og Principe","sa":"Saudiarabien","ch":"Schweitz","sn":"Senegal","rs":"Serbien","sc":"Seychellerne","sl":"Sierra Leone","sg":"Singapore","sk":"Slovakiet","si":"Slovenien","so":"Somalia","es":"Spanien","lk":"Sri Lanka","gb":"Storbritanien","sd":"Sudan","sr":"Surinam","sj":"Svalbard og Jan Mayen","se":"Sverige","sz":"Swaziland","za":"Sydafrika","gs":"Sydgeorgien og Sydsandwich\u00f8erne","kr":"Sydkorea","sy":"Syrien","tj":"Tadsjikistan","tw":"Taiwan","tz":"Tanzania","td":"Tchad","th":"Thailand","cz":"Tjekkiet","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad og Tobago","tn":"Tunesien","tm":"Turkmenistan","tc":"Turks- og Caicos\u00f8erne","tv":"Tuvalu","tr":"Tyrkiet","de":"Tyskland","us":"USA","ug":"Uganda","ua":"Ukraine","hu":"Ungarn","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatikanstaten","ve":"Venezuela","eh":"Vestsahara","vn":"Vietnam","wf":"Wallis- og Futuna\u00f8erne","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe","ax":"\u00c5land","gq":"\u00c6kvatorialguinea","at":"\u00d8strig","tl":"\u00d8sttimor"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albanien","dz":"Algerien","vi":"Amerikanische Jungferninseln","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarktis","ag":"Antigua und Barbuda","ar":"Argentinien","am":"Armenien","aw":"Aruba","az":"Aserbaidschan","au":"Australien","um":"Au\u00dfengebiete der Vereinigten Staaten","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesch","bb":"Barbados","be":"Belgien","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivien","ba":"Bosnien und Herzegowina","bw":"Botsuana","bv":"Bouvetinsel","br":"Brasilien","vg":"Britische Jungferninseln","io":"Britisches Territorium im Indischen Ozean","bn":"Brunei","bg":"Bulgarien","bf":"Burkina Faso","bi":"Burundi","cl":"Chile","cn":"China","ck":"Cookinseln","cr":"Costa Rica","cd":"Demokratische Republik Kongo","de":"Deutschland","dm":"Dominica","do":"Dominikanische Republik","dj":"Dschibuti","dk":"D\u00e4nemark","ec":"Ecuador","sv":"El Salvador","ci":"Elfenbeink\u00fcste","er":"Eritrea","ee":"Estland","fk":"Falklandinseln (Malwinen)","fj":"Fidschi","fi":"Finnland","fr":"Frankreich","gf":"Franz\u00f6sisch-Guayana","pf":"Franz\u00f6sisch-Polynesien","tf":"Franz\u00f6sische S\u00fcdpolarterritorien","fo":"F\u00e4r\u00f6er","ga":"Gabun","gm":"Gambia","ge":"Georgien","gh":"Ghana","gi":"Gibraltar","gd":"Grenada","gr":"Griechenland","gb":"Gro\u00dfbritannien","gl":"Gr\u00f6nland","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard und McDonaldinseln","hn":"Honduras","hk":"Hongkong","in":"Indien","id":"Indonesien","iq":"Irak","ir":"Iran","ie":"Irland","is":"Island","im":"Isle of Man","il":"Israel","it":"Italien","jm":"Jamaika","jp":"Japan","ye":"Jemen","je":"Jersey","jo":"Jordanien","ky":"Kaimaninseln","kh":"Kambodscha","cm":"Kamerun","ca":"Kanada","cv":"Kap Verde","kz":"Kasachstan","qa":"Katar","ke":"Kenia","kg":"Kirgisistan","ki":"Kiribati","cc":"Kokosinseln (Keelinginseln)","co":"Kolumbien","km":"Komoren","hr":"Kroatien","cu":"Kuba","kw":"Kuwait","la":"Laos","ls":"Lesotho","lv":"Lettland","lb":"Libanon","lr":"Liberia","ly":"Libyen","li":"Liechtenstein","lt":"Litauen","lu":"Luxemburg","mo":"Macao","mg":"Madagaskar","mw":"Malawi","my":"Malaysia","mv":"Malediven","ml":"Mali","mt":"Malta","ma":"Marokko","mh":"Marshallinseln","mq":"Martinique","mr":"Mauretanien","mu":"Mauritius","yt":"Mayotte","mk":"Mazedonien","mx":"Mexiko","fm":"Mikronesien","md":"Moldawien","mc":"Monaco","mn":"Mongolei","me":"Montenegro","ms":"Montserrat","mz":"Mosambik","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nc":"Neukaledonien","nz":"Neuseeland","ni":"Nicaragua","nl":"Niederlande","an":"Niederl\u00e4ndische Antillen","ne":"Niger","ng":"Nigeria","nu":"Niue","kp":"Nordkorea","nf":"Norfolkinsel","no":"Norwegen","mp":"N\u00f6rdliche Marianen","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Pal\u00e4stinensische Autonomiegebiete","pa":"Panama","pg":"Papua-Neuguinea","py":"Paraguay","pe":"Peru","ph":"Philippinen","pn":"Pitcairn","pl":"Polen","pt":"Portugal","pr":"Puerto Rico","cg":"Republik Kongo","rw":"Ruanda","ro":"Rum\u00e4nien","ru":"Russland","re":"R\u00e9union","mf":"Saint-Martin","pm":"Saint-Pierre und Miquelon","sb":"Salomonen","zm":"Sambia","as":"Samoa","ws":"Samoa","sm":"San Marino","bl":"Sankt Bartholom\u00e4us","sa":"Saudi-Arabien","se":"Schweden","ch":"Schweiz","sn":"Senegal","rs":"Serbien","sc":"Seychellen","sl":"Sierra Leone","zw":"Simbabwe","sg":"Singapur","sk":"Slowakei","si":"Slowenien","so":"Somalia","es":"Spanien","lk":"Sri Lanka","sh":"St. Helena","kn":"St. Kitts und Nevis","lc":"St. Lucia","vc":"St. Vincent und die Grenadinen","sd":"Sudan","sr":"Suriname","sj":"Svalbard und Jan Mayen","sz":"Swasiland","sy":"Syrien","st":"S\u00e3o Tom\u00e9 und Pr\u00edncipe","za":"S\u00fcdafrika","gs":"S\u00fcdgeorgien und die S\u00fcdlichen Sandwichinseln","kr":"S\u00fcdkorea","tj":"Tadschikistan","tw":"Taiwan","tz":"Tansania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad und Tobago","td":"Tschad","cz":"Tschechische Republik","tn":"Tunesien","tm":"Turkmenistan","tc":"Turks- und Caicosinseln","tv":"Tuvalu","tr":"T\u00fcrkei","ug":"Uganda","ua":"Ukraine","hu":"Ungarn","uy":"Uruguay","uz":"Usbekistan","vu":"Vanuatu","va":"Vatikanstadt","ve":"Venezuela","ae":"Vereinigte Arabische Emirate","us":"Vereinigte Staaten von Amerika","vn":"Vietnam","wf":"Wallis und Futuna","cx":"Weihnachtsinsel","by":"Wei\u00dfrussland","eh":"Westsahara","cf":"Zentralafrikanische Republik","cy":"Zypern","eg":"\u00c4gypten","gq":"\u00c4quatorialguinea","et":"\u00c4thiopien","ax":"\u00c5land","at":"\u00d6sterreich"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos (Keeling) Islands","co":"Colombia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","ck":"Cook Islands","cr":"Costa Rica","hr":"Croatia","cu":"Cuba","cy":"Cyprus","cz":"Czech Republic","dk":"Denmark","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands (Malvinas)","fo":"Faroe Islands","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guiana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard Island and McDonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Ireland","im":"Isle of Man","il":"Israel","it":"Italy","ci":"Ivory Coast","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macao","mk":"Macedonia, F.Y.R. of","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nl":"Netherlands","an":"Netherlands Antilles","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","kp":"North Korea","mp":"Northern Mariana Islands","no":"Norway","ps":"Occupied Palestinian Territory","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russian Federation","rw":"Rwanda","bl":"Saint Barth\u00e9lemy","sh":"Saint Helena","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and the South Sandwich Islands","kr":"South Korea","es":"Spain","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syria","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks and Caicos Islands","tv":"Tuvalu","ae":"U.A.E.","vi":"U.S. Virgin Islands","ug":"Uganda","ua":"Ukraine","gb":"United Kingdom","us":"United States","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe","ax":"\u00c5land Islands"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos (Keeling) Islands","co":"Colombia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","ck":"Cook Islands","cr":"Costa Rica","hr":"Croatia","cu":"Cuba","cy":"Cyprus","cz":"Czech Republic","dk":"Denmark","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands (Malvinas)","fo":"Faroe Islands","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guiana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard Island and McDonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Ireland","im":"Isle of Man","il":"Israel","it":"Italy","ci":"Ivory Coast","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macao","mk":"Macedonia, F.Y.R. of","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nl":"Netherlands","an":"Netherlands Antilles","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","kp":"North Korea","mp":"Northern Mariana Islands","no":"Norway","ps":"Occupied Palestinian Territory","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russian Federation","rw":"Rwanda","bl":"Saint Barth\u00e9lemy","sh":"Saint Helena","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and the South Sandwich Islands","kr":"South Korea","es":"Spain","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syria","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks and Caicos Islands","tv":"Tuvalu","ae":"U.A.E.","vi":"U.S. Virgin Islands","ug":"Uganda","ua":"Ukraine","gb":"United Kingdom","us":"United States","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe","ax":"\u00c5land Islands"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganist\u00e1n","al":"Albania","de":"Alemania","ad":"Andorra","ao":"Angola","ai":"Anguilla","ag":"Antigua y Barbuda","an":"Antillas Holandesas","aq":"Ant\u00e1rtida","sa":"Arabia Saudita","dz":"Argelia","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrein","bd":"Bangladesh","bb":"Barbados","bz":"Belice","bj":"Benin","bm":"Bermuda","bt":"Bhutan","by":"Bielorrusia","bo":"Bolivia","ba":"Bosnia Herzegovina","bw":"Botswana","br":"Brasil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","be":"B\u00e9lgica","cv":"Cabo Verde","kh":"Camboya","cm":"Camer\u00fan","ca":"Canad\u00e1","td":"Chad","cl":"Chile","cn":"China","cy":"Chipre","co":"Colombia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","kp":"Corea del Norte","kr":"Corea del Sur","cr":"Costa Rica","ci":"Costa de Marfil","hr":"Croacia","cu":"Cuba","dk":"Dinamarca","dj":"Djibouti","dm":"Dominica","ec":"Ecuador","eg":"Egipto","sv":"El Salvador","er":"Eritrea","sk":"Eslovaquia","si":"Eslovenia","es":"Espa\u00f1a","us":"Estados Unidos","ee":"Estonia","et":"Etiop\u00eda","ru":"Federaci\u00f3n Rusa","fj":"Fiji","ph":"Filipinas","fi":"Finlandia","fr":"Francia","tf":"French Southern Territories","ga":"Gab\u00f3n","gm":"Gambia","ge":"Georgia","gh":"Ghana","gi":"Gibraltar","gd":"Granada","gr":"Grecia","gl":"Groenlandia","gp":"Guadalupe","gu":"Guam","gt":"Guatemala","gf":"Guayana Francesa","gg":"Guernsey","gn":"Guinea","gq":"Guinea Ecuatorial","gw":"Guinea-Bissau","gy":"Guyana","ht":"Hait\u00ed","hm":"Heard Island and McDonald Islands","nl":"Holanda","hn":"Honduras","hk":"Hong Kong","hu":"Hungr\u00eda","in":"India","id":"Indonesia","iq":"Irak","ie":"Irlanda","ir":"Ir\u00e1n","bv":"Isla Bouvet","cx":"Isla Navidad","nf":"Isla Norfolk","is":"Islandia","ky":"Islas Caim\u00e1n","cc":"Islas Cocos (Keeling)","ck":"Islas Cook","fo":"Islas Faroe","gs":"Islas Georgia y Sandwich del Sur","fk":"Islas Malvinas","mh":"Islas Marshall","sb":"Islas Solomon","im":"Isle of Man","il":"Israel","it":"Italia","jm":"Jamaica","jp":"Jap\u00f3n","je":"Jersey","jo":"Jordania","kz":"Kazakhstan","ke":"Kenia","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","ls":"Lesotho","lv":"Letonia","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lituania","lu":"Luxemburgo","lb":"L\u00edbano","mo":"Macao","mk":"Macedonia, Ex-Rep\u00fablica de","mg":"Madagascar","my":"Malasia","mw":"Malawi","mv":"Maldivas","ml":"Mali","mt":"Malta","ma":"Marruecos","mq":"Martinica","mu":"Mauricio","mr":"Mauritania","yt":"Mayotte","fm":"Micronesia","md":"Moldova","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","mx":"M\u00e9xico","mc":"M\u00f3naco","na":"Namibia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","ng":"Nigeria","nu":"Niue","mp":"Northern Mariana Islands","no":"Noruega","nz":"Nuev Zelanda","nc":"Nueva Caledonia","ne":"N\u00edger","om":"Oman","pk":"Pakist\u00e1n","pw":"Palau","pa":"Panam\u00e1","pg":"Pap\u00faa Nueva Guinea","py":"Paraguay","pe":"Per\u00fa","pn":"Pitcairn","pf":"Polinesia Francesa","pl":"Polonia","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","gb":"Reino Unido","cf":"Rep\u00fablica Centro Africana","cz":"Rep\u00fablica Checa","do":"Rep\u00fablica Dominicana","re":"Reunion","ro":"Rumania","rw":"Rwanda","eh":"Sahara Occidental","kn":"Saint Kitts and Nevis","mf":"Saint Martin","vc":"Saint Vincent and the Grenadines","ws":"Samoa","as":"Samoa Americana","bl":"San Bartolom\u00e9","sm":"San Marino","pm":"San Pedro y Miquelon","sh":"Santa Helena","lc":"Santa Luc\u00eda","st":"Sao Tome y Principe","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leona","sg":"Singapur","sy":"Siria","so":"Somal\u00eda","lk":"Sri Lanka","za":"Sud\u00e1frica","sd":"Sud\u00e1n","se":"Suecia","ch":"Suiza","sr":"Surinam","sj":"Svalbard y Jan Mayen","sz":"Swazilandia","th":"Tailandia","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","ps":"Territorio Palestino Ocupado","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad y Tobago","tm":"Turkmenist\u00e1n","tc":"Turks and Caicos Islands","tr":"Turqu\u00eda","tv":"Tuvalu","tn":"T\u00fanez","ae":"U.A.E.","vi":"U.S. Virgin Islands","ua":"Ucrania","ug":"Uganda","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vaticano","ve":"Venezuela","vn":"Vietnam","wf":"Wallis y Futuna","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe","ax":"\u00c5land Islands"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganist\u00e1n","al":"Albania","de":"Alemania","ad":"Andorra","ao":"Angola","ai":"Anguilla","ag":"Antigua y Barbuda","an":"Antillas holandesas","aq":"Ant\u00e1rtida","sa":"Arabia Saud\u00ed","dz":"Argelia","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbay\u00e1n","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belar\u00fas","bz":"Belice","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia-Herzegovina","bw":"Botswana","br":"Brasil","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","be":"B\u00e9lgica","cv":"Cabo Verde","kh":"Camboya","cm":"Camer\u00fan","ca":"Canad\u00e1","td":"Chad","cl":"Chile","cn":"China","cy":"Chipre","va":"Ciudad del Vaticano","co":"Colombia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","kp":"Corea del Norte","kr":"Corea del Sur","ci":"Costa Ivory","cr":"Costa Rica","hr":"Croacia","cu":"Cuba","dk":"Dinamarca","dj":"Djibouti","dm":"Dominica","ae":"E.A.U.","ec":"Ecuador","eg":"Egipto","sv":"El Salvador","er":"Eritrea","sk":"Eslovaquia","si":"Eslovenia","es":"Espa\u00f1a","us":"Estados Unidos","ee":"Estonia","et":"Etiop\u00eda","ru":"Federaci\u00f3n Rusa","fj":"Fiji","ph":"Filipinas","fi":"Finlandia","fr":"Francia","ga":"Gab\u00f3n","gm":"Gambia","ge":"Georgia","gs":"Georgia del Sur y las Islas Sandwich del Sur","gh":"Ghana","gi":"Gibraltar","gd":"Granada","gr":"Grecia","gl":"Groenlandia","gp":"Guadalupe","gu":"Guam","gt":"Guatemala","gf":"Guayana Francesa","gg":"Guernsey","gn":"Guinea","gq":"Guinea Ecuatorial","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","nl":"Holanda (Pa\u00edses Bajos)","hn":"Honduras","hk":"Hong Kong","hu":"Hungr\u00eda","in":"India","id":"Indonesia","iq":"Iraq","ie":"Irlanda","ir":"Ir\u00e1n","bv":"Isla Bouvet","nf":"Isla Norfolk","im":"Isla de Man","cx":"Isla de Navidad","is":"Islandia","ky":"Islas Caim\u00e1n","cc":"Islas Cocos (Keeling)","ck":"Islas Cook","fo":"Islas Faroe","hm":"Islas Heard e Islas McDonald","fk":"Islas Malvinas (Falkland)","mp":"Islas Marianas del Norte","mh":"Islas Marshall","um":"Islas Menores Remotas de los Estados Unidos","sb":"Islas Salom\u00f3n","tc":"Islas Turcas y Caicos","vg":"Islas V\u00edrgenes Brit\u00e1nicas","vi":"Islas V\u00edrgenes U.S.","ax":"Islas \u00c5land","il":"Israel","it":"Italia","jm":"Jamaica","jp":"Jap\u00f3n","je":"Jersey","jo":"Jordania","kz":"Kazajst\u00e1n","ke":"Kenia","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","ls":"Lesotho","lv":"Letonia","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lituania","lu":"Luxemburgo","lb":"L\u00edbano","mo":"Macao","mk":"Macedonia (antes, Rep. Yug. de)","mg":"Madagascar","my":"Malasia","mw":"Malawi","mv":"Maldivas","ml":"Mali","mt":"Malta","ma":"Marruecos","mq":"Martinica","mu":"Mauricio","mr":"Mauritania","yt":"Mayotte","fm":"Micronesia","md":"Moldavia","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","mx":"M\u00e9xico","mc":"M\u00f3naco","na":"Namibia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","ng":"Nigeria","nu":"Niue","no":"Noruega","nc":"Nueva Caledonia","nz":"Nueva Zelanda","ne":"N\u00edger","om":"Om\u00e1n","pk":"Pakist\u00e1n","pw":"Palau","pa":"Panam\u00e1","pg":"Pap\u00faa Nueva Guinea","py":"Paraguay","pe":"Per\u00fa","pn":"Pitcairn","pf":"Polinesia Francesa","pl":"Polonia","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","gb":"Reino Unido","cf":"Rep\u00fablica Centroafricana","cz":"Rep\u00fablica Checa","do":"Rep\u00fablica Dominicana","re":"Reuni\u00f3n","rw":"Ruanda","ro":"Ruman\u00eda","kn":"Saint Kitts y Nevis","ws":"Samoa","as":"Samoa americana","bl":"San Bartolom\u00e9","sm":"San Marino","mf":"San Mart\u00edn","pm":"San Pedro y Miquel\u00f3n","st":"San Tome y Pr\u00edncipe","vc":"San Vicente y las Granadinas","sh":"Santa Elena","lc":"Santa Luc\u00eda","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leona","sg":"Singapur","sy":"Siria","so":"Somalia","lk":"Sri Lanka","za":"Sud\u00e1frica","sd":"Sud\u00e1n","se":"Suecia","ch":"Suiza","sr":"Suriname","sj":"Svalbard y Jan Mayen","sz":"Swazilandia","eh":"S\u00e1hara Occidental","th":"Tailandia","tw":"Taiw\u00e1n","tz":"Tanzania","tj":"Tayikist\u00e1n","io":"Territorio brit\u00e1nico en el Oc\u00e9ano \u00cdndico","ps":"Territorio ocupado de Palestina","tf":"Territorios franceses del sur","tl":"Timor Oriental","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad y Tobago","tm":"Turkmenist\u00e1n","tr":"Turqu\u00eda","tv":"Tuvalu","tn":"T\u00fanez","ua":"Ucrania","ug":"Uganda","uy":"Uruguay","uz":"Uzbekist\u00e1n","vu":"Vanuatu","ve":"Venezuela","vn":"Vietn\u00e1m","wf":"Wallis y Futuna","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganistan","cf":"Afrika Erdiko Errepublika","al":"Albania","de":"Alemania","dz":"Aljeria","as":"Amerikar Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antartika","ag":"Antigua eta Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgika","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","ci":"Boli Kosta","bo":"Bolivia","ba":"Bosnia eta Herzegovina","bw":"Botswana","bv":"Bouvet uhartea","br":"Brasil","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","cv":"Cabo Verde","cx":"Christmas Uhartea","cc":"Cocos (Keeling) Uharteak","km":"Comoros","cd":"Congo-Kinshasa","ck":"Cook Uharteak","cr":"Costa Rica","dk":"Dinamarka","dj":"Djibouti","dm":"Dominika","do":"Dominikar errepublika","eg":"Egipto","tl":"Ekialdeko Timor","ec":"Ekuador","gq":"Ekuatore Ginea","sv":"El Salvador","er":"Eritrea","gb":"Erresuma Batua","vg":"Erresuma Batuko Birjina Uharteak","ro":"Errumania","sk":"Eslovakia","si":"Eslovenia","es":"Espainia","us":"Estatu Batuak","um":"Estatu Batuetako Itsasoz Haraindiko Uharteak","vi":"Estatu batuetako birjina uharteak","ee":"Estonia","et":"Etiopia","fk":"Falkland uharteak (Malvinak)","fo":"Faroe uharteak","fj":"Fidji","ph":"Filipinak","fi":"Finlandia","fr":"Frantzia","ga":"Gabon","gm":"Ganbia","ge":"Georgia","gh":"Ghana","gi":"Gibraltar","gn":"Ginea","gd":"Granada","gr":"Grezia","gl":"Groenlandia","gp":"Guadalupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gw":"Guinea-Bissau","gy":"Guyana","gf":"Guyana Frantsesa","ht":"Haiti","hm":"Heard eta McDonald Uharteak","gs":"Hego Georgia eta Hego Sandwich Uharteak","kr":"Hego Korea","za":"Hegoafrika","tf":"Hegoaldeko Frantziar Lurraldeak","nl":"Herbehereak","an":"Holandarren Antillak","hn":"Honduras","hk":"Hong Kong","hu":"Hungaria","in":"India","id":"Indonesia","kp":"Ipar Korea","mp":"Ipar Mariana Uharteak","iq":"Irak","ir":"Iran","ie":"Irlanda","is":"Islandia","il":"Israel","it":"Italia","jm":"Jamaika","jp":"Japonia","je":"Jersey","jo":"Jordania","ky":"Kaiman Uharteak","nc":"Kaledonia Berria","cm":"Kamerun","ca":"Kanada","kh":"Kanbodia","qa":"Katar","kz":"Kazakhstan","ke":"Kenya","kg":"Kirgizistan","ki":"Kiribati","co":"Kolonbia","cg":"Kongo-Brazzaville","hr":"Kroazia","cu":"Kuba","kw":"Kuwait","la":"Laos","lv":"Latvia","ls":"Lesotho","lb":"Libano","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lithuania","lu":"Luxenburgo","mk":"Macedoniako errepublia yugoslabiar federala","mg":"Madagascar","mo":"Makao","my":"Malasia","mw":"Malawi","mv":"Maldivak","ml":"Mali","mt":"Malta","im":"Man uhartea","ma":"Maroko","mh":"Marshall Uharteak","mq":"Martinika","mr":"Mauritania","mu":"Maurizio","yt":"Mayotte","eh":"Mendebaldeko Sahara","mx":"Mexiko","fm":"Mikronesia","md":"Moldabiako errepublika","mc":"Monako","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","ne":"Niger","ng":"Nigeria","ni":"Nikaragua","nu":"Niue","nf":"Norfolk Uharteak","no":"Norvegia","om":"Oman","io":"Ozeano Indikoko Lurralde Britaniarra","pk":"Pakistan","pw":"Palau","ps":"Palestina","pa":"Panama","pg":"Papua Ginea Berria","py":"Paraguai","pe":"Peru","pn":"Pitcairn","pf":"Polinesia Frantziarra","pl":"Polonia","pt":"Portugal","pr":"Puerto Rico","re":"Reunion","ru":"Russia","rw":"Rwanda","bl":"Saint Barth\u00e9lemy","sh":"Saint Helena","kn":"Saint Kitts eta Nevis","lc":"Saint Lucia","mf":"Saint Martin","vc":"Saint Vincent eta Grenadinak","pm":"Saint-Pierre eta Mikelune","sb":"Salomon Uharteak","ws":"Samoa","sm":"San Marino","st":"Sao Tome eta Principe uharteak","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leona","sg":"Singapur","sy":"Siria","so":"Somalia","lk":"Sri Lanka","sd":"Sudan","se":"Suedia","ch":"Suitza","sr":"Surinam","sj":"Svalbard eta Jan Mayen Uharteak","sz":"Swazilandia","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailandia","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad eta Tobago","tn":"Tunez","tr":"Turkia","tc":"Turkiar eta Caicos Uharteak","tm":"Turkmenistan","tv":"Tuvalu","td":"Txad","cz":"Txekiar errepublika","cl":"Txile","cn":"Txina","cy":"Txipre","ae":"U.A.E.","ug":"Uganda","ua":"Ukraina","uy":"Uruguai","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatikano Hiriko Estatua","ve":"Venezuela","vn":"Vietnam","wf":"Wallis eta Futuna","ye":"Yemen","zm":"Zambia","nz":"Zelanda Berria","zw":"Zimbawe","ax":"\u00c5land Uharteak"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","za":"Afrique du Sud","al":"Albanie","dz":"Alg\u00e9rie","de":"Allemagne","ad":"Andorre","ao":"Angola","ai":"Anguilla","aq":"Antarctique","ag":"Antigua-et-Barbuda","an":"Antilles n\u00e9erlandaises","sa":"Arabie Saoudite","ar":"Argentine","am":"Arm\u00e9nie","aw":"Aruba","au":"Australie","at":"Autriche","az":"Azerba\u00efdjan","bs":"Bahamas","bh":"Bahre\u00efn","bd":"Bangladesh","bb":"Barbade","be":"Belgique","bz":"Belize","bm":"Bermudes","bt":"Bhoutan","mm":"Birmanie","bo":"Bolivie","ba":"Bosnie-Herz\u00e9govine","bw":"Botswana","bv":"Bouvet, \u00eele","bn":"Brun\u00e9i Darussalam","br":"Br\u00e9sil","bg":"Bulgarie","bf":"Burkina Faso","bi":"Burundi","by":"B\u00e9larus","bj":"B\u00e9nin","kh":"Cambodge","cm":"Cameroun","ca":"Canada","cv":"Cap-Vert","ky":"Ca\u00efmans, \u00eeles","cf":"Centrafricaine, R\u00e9publique","cl":"Chili","cn":"Chine","cx":"Christmas, \u00eele","cy":"Chypre","cc":"Cocos (Keeling), \u00eeles","co":"Colombie","km":"Comores","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","ck":"Cook, \u00eeles","kp":"Cor\u00e9e du Nord","kr":"Cor\u00e9e du Sud","cr":"Costa Rica","hr":"Croatie","cu":"Cuba","ci":"C\u00f4te d'Ivoire","dk":"Danemark","dj":"Djibouti","do":"Dominicaine, R\u00e9publique","dm":"Dominique","sv":"El Salvador","es":"Espagne","ee":"Estonie","fj":"Fidji","fi":"Finlande","fr":"France","fo":"F\u00e9ro\u00e9, \u00eeles","ga":"Gabon","gm":"Gambie","gh":"Ghana","gi":"Gibraltar","gd":"Grenade","gl":"Groenland","gr":"Gr\u00e8ce","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernesey","gn":"Guin\u00e9e","gq":"Guin\u00e9e \u00c9quatoriale","gw":"Guin\u00e9e-Bissau","gy":"Guyana","gf":"Guyane Fran\u00e7aise","ge":"G\u00e9orgie","gs":"G\u00e9orgie du Sud et les \u00eeles Sandwich du Sud","ht":"Ha\u00efti","hm":"Heard, \u00eeles et McDonald, \u00eeles","hn":"Honduras","hk":"Hong-Kong","hu":"Hongrie","in":"Inde","id":"Indon\u00e9sie","ir":"Iran","iq":"Iraq","ie":"Irlande","is":"Islande","il":"Isra\u00ebl","it":"Italie","jm":"Jama\u00efque","jp":"Japon","je":"Jersey","jo":"Jordanie","kz":"Kazakhstan","ke":"Kenya","kg":"Kirghizistan","ki":"Kiribati","kw":"Kowe\u00eft","la":"Laos","ls":"Lesotho","lv":"Lettonie","lb":"Liban","ly":"Libye","lr":"Lib\u00e9ria","li":"Liechtenstein","lt":"Lituanie","lu":"Luxembourg","mo":"Macao","mk":"Mac\u00e9doine","mg":"Madagascar","my":"Malaisie","mw":"Malawi","mv":"Maldives","ml":"Mali","fk":"Malouines, \u00eeles","mt":"Malte","im":"Man, \u00eele de","mp":"Mariannes du Nord, \u00eeles","ma":"Maroc","mh":"Marshall, \u00eeles","mq":"Martinique","mu":"Maurice","mr":"Mauritanie","yt":"Mayotte","mx":"Mexique","fm":"Micron\u00e9sie","md":"Moldavie","mc":"Monaco","mn":"Mongolie","ms":"Montserrat","me":"Mont\u00e9n\u00e9gro","mz":"Mozambique","na":"Namibie","nr":"Nauru","ni":"Nicaragua","ne":"Niger","ng":"Nig\u00e9ria","nu":"Niu\u00e9","nf":"Norfolk, \u00eele","no":"Norv\u00e8ge","nc":"Nouvelle-Cal\u00e9donie","nz":"Nouvelle-Z\u00e9lande","np":"N\u00e9pal","io":"Oc\u00e9an Indien, territoire britannique de l'\u00eele de l'","om":"Oman","ug":"Ouganda","uz":"Ouzb\u00e9kistan","pk":"Pakistan","pw":"Palaos","ps":"Palestinien Occup\u00e9, territoire","pa":"Panama","pg":"Papouasie-Nouvelle-Guin\u00e9e","py":"Paraguay","nl":"Pays-Bas","ph":"Philippines","pn":"Pitcairn","pl":"Pologne","pf":"Polyn\u00e9sie fran\u00e7aise","pr":"Porto Rico","pt":"Portugal","pe":"P\u00e9rou","qa":"Qatar","ro":"Roumanie","gb":"Royaume-Uni","ru":"Russie","rw":"Rwanda","re":"R\u00e9union","eh":"Sahara Occidental","bl":"Saint Barth\u00e9lemy","mf":"Saint Martin","kn":"Saint-Kitts-et-Nevis","sm":"Saint-Marin","pm":"Saint-Pierre-et-Miquelon","vc":"Saint-Vincent-et-les-Grenadines","sh":"Sainte-H\u00e9l\u00e8ne","lc":"Sainte-Lucie","sb":"Salomon, \u00eeles","ws":"Samoa","as":"Samoa am\u00e9ricaines","st":"Sao Tom\u00e9-et-Principe","rs":"Serbie","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapour","sk":"Slovaquie","si":"Slov\u00e9nie","so":"Somalie","sd":"Soudan","lk":"Sri Lanka","ch":"Suisse","sr":"Suriname","se":"Su\u00e8de","sj":"Svalbard et \u00eele Jan Mayen","sz":"Swaziland","sy":"Syrie","sn":"S\u00e9n\u00e9gal","tj":"Tadjikistan","tz":"Tanzanie","tw":"Ta\u00efwan","td":"Tchad","cz":"Tch\u00e8que, R\u00e9publique","tf":"Terres Australes Fran\u00e7aises","th":"Tha\u00eflande","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinit\u00e9-et-Tobago","tn":"Tunisie","tm":"Turkm\u00e9nistan","tc":"Turques et Ca\u00efques, \u00eeles","tr":"Turquie","tv":"Tuvalu","ua":"Ukraine","uy":"Uruguay","vu":"Vanuatu","va":"Vatican","ve":"Venezuela","vn":"Vietnam","wf":"Wallis-et-Futuna","ye":"Y\u00e9men","zm":"Zambie","zw":"Zimbabwe","ax":"\u00c5land, \u00eeles d'","eg":"\u00c9gypte","ae":"\u00c9mirats arabes unis","ec":"\u00c9quateur","er":"\u00c9rythr\u00e9e","us":"\u00c9tats-Unis","et":"\u00c9thiopie","um":"\u00celes Mineures \u00c9loign\u00e9es des \u00c9tats-Unis","vi":"\u00celes Vierges Am\u00e9ricaines","vg":"\u00celes Vierges Britanniques"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganistan","al":"Albaanje","dz":"Algerije","as":"Amerikaansk Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarktika","ag":"Antigua en Barbuda","ar":"Argentinje","am":"Armeenje","aw":"Aruba","au":"Austraalje","az":"Azerbeijaan","bs":"Bahamas","bh":"Bahrein","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgje","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivja","ba":"Bosnje en Herzgovina","bw":"Botswana","bv":"Bouvet Eil\u00e2n","br":"Brazili\u00eb","io":"Brits Indyske Oseaan Territorium","vg":"Britske Virgin Eilannen","bn":"Brunei","bg":"Bulgarije","bf":"Burkina Faso","bi":"Burundi","td":"Chad","ck":"Cook Eilannen","dk":"Denemarken","dj":"Djibouti","dm":"Dominica","do":"Dominikaanske Republiek","de":"D\u00fbtsl\u00e2n","at":"Eastenryk","eg":"Egypte","im":"Eial\u00e2n fan Man","ec":"Ekwador","gq":"Ekwatorial Guinea","sv":"El Salvador","er":"Eritrea","ee":"Estoonje","et":"Ethioopje","vi":"F.S. Virgin Eilannen","fk":"Falkl\u00e2n Eilannen (Malvinas)","fo":"Faroe Eilannen","gb":"Ferienigd Keninkryk","ae":"Ferienigde Arabiske Emiraten","us":"Ferienigde Steaten","um":"Ferienigde Steaten lytse eilannen","fj":"Fidzji","ph":"Filippijnen","fi":"Finl\u00e2n","fr":"Frankryk","gf":"Fr\u00e2nsk Guyana","pf":"Fr\u00e2nsk Polyneesje","tf":"Fr\u00e2nsk S\u00fadlike Territoria","ga":"Gabon","gm":"Gambia","ge":"Georgia","gh":"Ghana","gi":"Gibraltar","gd":"Grenada","gl":"Grienl\u00e2n","gr":"Grykel\u00e2n","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard Eil\u00e2n en McDonald Eilannen","hn":"Honduras","hk":"Hong Kong","hu":"Hungarije","ie":"Ierl\u00e2n","is":"Iisl\u00e2n","in":"India","id":"Indoneesje","iq":"Irak","ir":"Iran","il":"Israel","it":"Itaalje","ci":"Ivoarkust","jm":"Jamaika","jp":"Japan","ye":"Jemen","je":"Jersey","jo":"Jordaanje","ky":"Kaaiman Eilannen","kh":"Kambodjaa","cm":"Kameroen","ca":"Kanada","cv":"Kap Verde","qa":"Katar","kz":"Kazachstan","ke":"Kenya","ki":"Kiribati","kw":"Koeweit","cc":"Kokos (Keeling) Eilannen","co":"Kolombia","km":"Komoros","cg":"Kongo-Brazzaville","cd":"Kongo-Kinshasa","cr":"Kosta Rika","cx":"Krist Eil\u00e2n","hr":"Kroaasje","cu":"Kuba","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","ls":"Lesotho","lb":"Libanon","lr":"Liberia","ly":"Libi\u00eb","li":"Liechtenstein","lt":"Lithuaanje","lu":"Luksemburg","mg":"Madagaskar","mo":"Makao","mw":"Malawi","mv":"Malediven","my":"Maleisje","ml":"Mali","mt":"Malta","ma":"Marokko","mh":"Marshall Eilannen","mq":"Martiniek","mk":"Masedoonje, V.J.R.","mr":"Mauritaanje","mu":"Mauritius","yt":"Mayotte","mx":"Meksiko","fm":"Mikroneesje","mc":"Monako","mn":"Mongoolje","me":"Montenegro","ms":"Montserrat","mz":"Mozambiek","mm":"Myanmar","na":"Namibi\u00eb","nr":"Nauru","nl":"Nederl\u00e2n","an":"Nederl\u00e2nske Antillen","np":"Nepal","ne":"Nigeria","ng":"Nigeria","nc":"Nij Kaledoonje","nz":"Nij-Seel\u00e2n","ni":"Nikaragua","nu":"Niue","kp":"Noard-Korea","mp":"Noarske Mariana Eilannen","nf":"Norfolk Eil\u00e2n","no":"Norway","ps":"Occupied Palestinian Territory","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua Nij Gunea","py":"Paraguay","pe":"Peru","pn":"Pitcairn","pl":"Poalen","pt":"Portugal","pr":"Puerto Riko","md":"Republiek fan Moldaavje","re":"Reunion","ro":"Roemeenje","ru":"Rusl\u00e2n","rw":"Rwanda","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome en Prinsipe","sa":"Saudi-Arabi\u00eb","sn":"Senegal","rs":"Servje","sc":"Seysjellen","sl":"Sierra Leone","cl":"Sili","cn":"Sina","sg":"Singapore","bl":"Sint Bartholemeus","sh":"Sint Helena","kn":"Sint Kitts en Nevis","lc":"Sint Lucia","mf":"Sint Martin","cf":"Sintraal Afrikaanske Republiek","si":"Sloveenje","sk":"Slowakije","sb":"Solomon Islands","so":"Somaalje","es":"Spanje","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard en Jan Mayen","sz":"Swazil\u00e2n","se":"Sweden","ch":"Switserl\u00e2n","cy":"Syprus","sy":"Syri\u00eb","gs":"S\u00fad Georgia en de S\u00fad Sandwich Eilannen","kr":"S\u00fad-Korea","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thail\u00e2n","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad en Tobago","cz":"Tsjechyske Republiek","tn":"Tunesi\u00eb","tr":"Turkey","tm":"Turkmenistan","tc":"Turks en Kaikos Eilannen","tv":"Tuvalu","ug":"Uganda","ua":"Ukraine","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Wester Sahara","zm":"Zambia","zw":"Zimbabwe","za":"Zuid-Afrika","ax":"\u00c5land Eilannen"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"az":"Acerbaix\u00e1n","af":"Afganist\u00e1n","al":"Albania","de":"Alema\u00f1a","dz":"Alxeria","ad":"Andorra","ao":"Angola","ai":"Anguila","ag":"Antigua e Barbuda","an":"Antillas Neerlandesas ou Holandesas","aq":"Ant\u00e1rtida","sa":"Arabia Saud\u00ed","am":"Armenia","aw":"Aruba","ar":"Arxentina","au":"Australia","at":"Austria","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","bz":"Belize","bj":"Benin","bm":"Bermudas","by":"Bielorrusia","bo":"Bolivia","ba":"Bosnia-Hercegovina","bw":"Bostwana","br":"Brasil","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","bt":"But\u00e1n","be":"B\u00e9lxica","cv":"Cabo Verde","kh":"Cambodia","cm":"Camer\u00fan","ca":"Canad\u00e1","td":"Chad","cl":"Chile","cn":"China","cy":"Chipre","va":"Cidade do Vaticano","zw":"Cimbabue","co":"Colombia","km":"Comores","cg":"Congo-Brazzaville","kp":"Corea do Norte","kr":"Corea do Sur","cr":"Costa Rica","ci":"Costa do Marfil","hr":"Croacia","cu":"Cuba","dk":"Dinamarca","dj":"Djibuti","dm":"Dominica","ae":"E.A.U.","ec":"Ecuador","er":"Eritrea","sk":"Eslovaquia","si":"Eslovenia","es":"Espa\u00f1a","us":"Estados Unidos","ee":"Estonia","et":"Etiop\u00eda","eg":"Exipto","ru":"Federaci\u00f3n rusa","ph":"Filipinas","fi":"Finlandia","fj":"Fixi","fr":"Francia","ga":"Gab\u00f3n","gm":"Gambia","gh":"Gana","gd":"Granada","gr":"Grecia","gl":"Groenlandia","gp":"Guadalupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gq":"Guinea Ecuatorial","gw":"Guinea-Bissau","gy":"G\u00fciana","gf":"G\u00fciana Francesa","ht":"Hait\u00ed","hn":"Honduras","hk":"Hong Kong","hu":"Hungr\u00eda","ye":"Iemen","bv":"Illa Bouvet","cx":"Illa de Christmas","im":"Illa de Man","nf":"Illa de Norfolk","mf":"Illa de San Marti\u00f1o","tc":"Illas Caicos e Turcas","ky":"Illas Caim\u00e1n","cc":"Illas Cocos ou Keeling","ck":"Illas Cook","fo":"Illas Feroe","hm":"Illas Heard e McDonald","fk":"Illas Malvinas ou Falkland","mp":"Illas Marianas do Norte","mh":"Illas Marshall","pn":"Illas Pitcairn","sb":"Illas Salom\u00f3n","vi":"Illas Virxes americanas","vg":"Illas Virxes brit\u00e1nicas","ax":"Illas de \u00c5land","um":"Illas perif\u00e9ricas dos Estados Unidos","in":"India","id":"Indonesia","iq":"Iraq","ie":"Irlanda","ir":"Ir\u00e1n","is":"Islandia","il":"Israel","it":"Italia","je":"Jersey","kz":"Kazakhist\u00e1n","ke":"Kenya","kg":"Kirguizist\u00e1n","ki":"Kiribati","kw":"Kuwait","la":"Laosme","ls":"Lesotho","lv":"Letonia","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lituania","lu":"Luxemburgo","lb":"L\u00edbano","mo":"Macau","mg":"Madagascar","my":"Malaisia","mw":"Malawi","mv":"Maldivas","mt":"Malta","ml":"Mal\u00ed","ma":"Marrocos","mq":"Martinica","mu":"Mauricio","mr":"Mauritania","yt":"Mayotte","fm":"Micronesia","md":"Moldavia","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","mx":"M\u00e9xico","mc":"M\u00f3naco","na":"Namibia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","nu":"Niue","ng":"Nixeria","no":"Noruega","nc":"Nova Caledonia","nz":"Nova Zelandia","ne":"N\u00edxer","sv":"O Salvador","om":"Om\u00e1n","pw":"Palau","pa":"Panam\u00e1","pg":"Pap\u00faa-Nova Guinea","pk":"Paquist\u00e1n","py":"Paraguai","nl":"Pa\u00edses Baixos","pe":"Per\u00fa","pf":"Polinesia Francesa","pl":"Polonia","pr":"Porto Rico","pt":"Portugal","qa":"Qatar","gb":"Reino Unido","cf":"Rep\u00fablica Centroafricana","cz":"Rep\u00fablica Checa","cd":"Rep\u00fablica Democr\u00e1tica do Congo-Kinshasa","do":"Rep\u00fablica Dominicana","mk":"Rep\u00fablica de Macedonia","re":"Reuni\u00f3n","ro":"Roman\u00eda","rw":"Ruanda","pm":"Saint Pierre e Miquelon","ws":"Samoa","as":"Samoa americana","bl":"San Bartolomeo","kn":"San Cristovo-Nevis","sm":"San Marino","st":"San Tom\u00e9 e Pr\u00edncipe","vc":"San Vicente e as Granadinas","sh":"Santa Helena","lc":"Santa Luc\u00eda","sc":"Seicheles","sn":"Senegal","rs":"Serbia","sl":"Serra Leoa","sg":"Singapur","sy":"Siria","so":"Somalia","lk":"Sri Lanka","sz":"Suazilandia","sd":"Sud\u00e1n","se":"Suecia","sr":"Suriname","za":"Sur\u00e1frica","ch":"Su\u00edza","sj":"Svalbard e Jan Mayen","eh":"S\u00e1hara Occidental","th":"Tailandia","tw":"Taiw\u00e1n","tz":"Tanzania","tj":"Taxiquist\u00e1n","io":"Territorio Brit\u00e1nico do oc\u00e9ano \u00cdndico","ps":"Territorio palestino ocupado","tf":"Territorios Franceses do Sur","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad e Tobago","tn":"Tunisia","tm":"Turkmenist\u00e1n","tr":"Turqu\u00eda","tv":"Tuvalu","ua":"Ucra\u00edna","ug":"Uganda","uy":"Uruguai","uz":"Uzbequist\u00e1n","vu":"Vanuatu","ve":"Venezuela","vn":"Vietnam","wf":"Wallis e Futuna","jm":"Xamaica","jp":"Xap\u00f3n","ge":"Xeorxia","gs":"Xeorxia do Sur e Illas S\u00e1ndwich do Sur","gi":"Xibraltar","jo":"Xordania","zm":"Zambia"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","za":"Afrika Selatan","al":"Albania","dz":"Aljazair","us":"Amerika Serikat","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antartika","ag":"Antigua dan Barbuda","an":"Antilla Belanda","sa":"Arab Saudi","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","nl":"Belanda","by":"Belarusia","be":"Belgia","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia-Herzegovina","bw":"Botswana","br":"Brazil","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","td":"Chad","cl":"Chili","cn":"Cina","dk":"Denmark","dj":"Djibouti","dm":"Dominika","ec":"Ekuador","sv":"El Salvador","er":"Eritrea","ee":"Estonia","et":"Ethiopia","ru":"Federasi Rusia","fj":"Fiji","ph":"Filipina","fi":"Finlandia","ga":"Gabon","gm":"Gambia","ge":"Georgia","gs":"Georgia Selatan dan Kepulauan Sandwich Selatan","gh":"Ghana","gi":"Gibraltar","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gq":"Guinea Ekuatorial","gw":"Guinea-Bissau","gy":"Guyana","gf":"Guyana Prancis","ht":"Haiti","hn":"Honduras","hk":"Hong Kong","hu":"Hongaria","in":"India","id":"Indonesia","iq":"Irak","ir":"Iran","ie":"Irlandia","is":"Islandia","im":"Isle of Man","il":"Israel","it":"Italia","jm":"Jamaika","jp":"Jepang","de":"Jerman","je":"Jersey","nc":"Kaledonia Baru","kh":"Kamboja","cm":"Kamerun","ca":"Kanada","kz":"Kazakhstan","ke":"Kenya","bv":"Kepulauan Bouvet","ky":"Kepulauan Cayman","cx":"Kepulauan Christmas","cc":"Kepulauan Cocos (Keeling)","ck":"Kepulauan Cook","fk":"Kepulauan Falkland (Malvinas)","fo":"Kepulauan Faroe","hm":"Kepulauan Heard dan Kepulauan McDonald","mp":"Kepulauan Mariana Utara","mh":"Kepulauan Marshall","nf":"Kepulauan Norfolk","sb":"Kepulauan Solomon","vi":"Kepulauan Virgin (Amerika Serikat)","vg":"Kepulauan Virgin (British)","ax":"Kepulauan \u00c5land","gb":"Kerajaan Inggris","ki":"Kiribati","co":"Kolombia","km":"Komoro","cg":"Kongo-Brazzaville","cd":"Kongo-Kinshasa","kr":"Korea Selatan","kp":"Korea Utara","cr":"Kosta Rika","hr":"Kroasia","cu":"Kuba","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luksemburg","mg":"Madagaskar","mo":"Makao","mk":"Makedonia","mv":"Maladewa","mw":"Malawi","my":"Malaysia","ml":"Mali","mt":"Malta","ma":"Maroko","mq":"Martinik","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Meksiko","eg":"Mesir","fm":"Mikronesia","md":"Moldova","mc":"Monako","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambik","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","ne":"Niger","ng":"Nigeria","ni":"Nikaragua","nu":"Niue","no":"Norwegia","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Palestina","pa":"Panama","ci":"Pantai Gading","pg":"Papua Nugini","py":"Paraguay","pe":"Peru","pn":"Pitcairn","pl":"Polandia","pf":"Polinesia Prancis","pt":"Portugal","fr":"Prancis","pr":"Puerto Riko","qa":"Qatar","cf":"Republik Afrika Tengah","cz":"Republik Ceska","do":"Republik Dominika","re":"Reunion","ro":"Rumania","rw":"Rwanda","eh":"Sahara Barat","bl":"Saint Barth\u00e9lemy","kn":"Saint Kitts dan Nevis","mf":"Saint Martin","pm":"Saint Pierre dan Miquelon","vc":"Saint Vincent dan Grenadines","ws":"Samoa","as":"Samoa Amerika","sm":"San Marino","sh":"Santa Helena","lc":"Santa Lusia","st":"Sao Tome dan Principe","nz":"Selandia Baru","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapura","cy":"Siprus","sk":"Slovakia","si":"Slovenia","so":"Somalia","es":"Spanyol","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard dan Jan Mayen","sz":"Swaziland","se":"Swedia","ch":"Swiss","sy":"Syria","tw":"Taiwan","tj":"Tajikistan","cv":"Tanjung Verde","tz":"Tanzania","io":"Teritori Lautan Hindia (British)","tf":"Teritori Prancis Selatan","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad dan Tobago","tn":"Tunisia","tr":"Turki","tm":"Turkmenistan","tc":"Turks dan Kepulauan Caicos","tv":"Tuvalu","ug":"Uganda","ua":"Ukraina","ae":"Uni Emirat Arab","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatikan","ve":"Venezuela","vn":"Vietnam","wf":"Wallis dan Futuna","ye":"Yaman","jo":"Yordania","gr":"Yunani","zm":"Zambia","zw":"Zimbabwe"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albania","dz":"Algeria","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antartide","ag":"Antigua e Barbuda","an":"Antille Olandesi","sa":"Arabia Saudita","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrein","bd":"Bangladesh","bb":"Barbados","be":"Belgio","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","by":"Bielorussia","bo":"Bolivia","ba":"Bosnia Herzegovina","bw":"Botswana","br":"Brasile","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambogia","cm":"Camerun","ca":"Canada","cv":"Capo Verde","td":"Ciad","cl":"Cile","cn":"Cina","cy":"Cipro","va":"Citt\u00e0 del Vaticano","co":"Colombia","km":"Comore","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","cr":"Costa Rica","ci":"Costa d'Avorio","hr":"Croazia","cu":"Cuba","dk":"Danimarca","dm":"Dominica","ec":"Ecuador","eg":"Egitto","sv":"El Salvador","ae":"Emirati Arabi Uniti","er":"Eritrea","ee":"Estonia","et":"Etiopia","ru":"Federazione Russa","fj":"Fiji","ph":"Filippine","fi":"Finlandia","fr":"Francia","ga":"Gabon","gm":"Gambia","ge":"Georgia","gs":"Georgia del Sud e isole Sandwich meridionali","de":"Germania","gh":"Ghana","jm":"Giamaica","jp":"Giappone","gi":"Gibilterra","dj":"Gibuti","jo":"Giordania","gr":"Grecia","gd":"Grenada","gl":"Groenlandia","gp":"Guadalupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gf":"Guiana Francese","gn":"Guinea","gq":"Guinea Equatoriale","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hn":"Honduras","hk":"Hong Kong","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Irlanda","is":"Islanda","bv":"Isola Bouvet","hm":"Isola Heard e isole McDonald","nf":"Isola Norfolk","im":"Isola di Man","cx":"Isola di Natale","ky":"Isole Cayman","cc":"Isole Cocos (Keeling)","ck":"Isole Cook","fk":"Isole Falkland (Malvinas)","fo":"Isole Faroe","mp":"Isole Marianne Settentrionali","mh":"Isole Marshall","sb":"Isole Salomone","tc":"Isole Turks e Caicos","vg":"Isole Vergini Britanniche","vi":"Isole Vergini Statunitensi","um":"Isole minori esterne degli Stati Uniti","ax":"Isole \u00c5land","il":"Israele","it":"Italia","je":"Jersey","kz":"Kazakistan","ke":"Kenya","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","ls":"Lesotho","lv":"Lettonia","lb":"Libano","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lituania","lu":"Lussemburgo","mo":"Macao","mk":"Macedonia, prec. R.Y. di","mg":"Madagascar","mw":"Malawi","mv":"Maldive","my":"Malesia","ml":"Mali","mt":"Malta","ma":"Marocco","mq":"Martinica","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Messico","fm":"Micronesia","md":"Moldavia","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","kp":"Nord Corea","no":"Norvegia","nc":"Nuova Caledonia","nz":"Nuova Zelanda","nl":"Olanda","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua Nuova Guinea","py":"Paraguay","pe":"Per\u00f9","pn":"Pitcairn","pf":"Polinesia Francese","pl":"Polonia","pr":"Porto Rico","pt":"Portogallo","qa":"Qatar","gb":"Regno Unito","cz":"Repubblica Ceca","do":"Repubblica Dominicana","cf":"Repubblica dell'Africa Centrale","re":"Reunion","ro":"Romania","rw":"Ruanda","eh":"Sahara Occidentale","bl":"Saint Barth\u00e9lemy","kn":"Saint Kitts and Nevis","mf":"Saint Martin","pm":"Saint Pierre e Miquelon","ws":"Samoa","as":"Samoa Americana","sm":"San Marino","vc":"San Vincenzo e Grenadine","sh":"Sant'Elena","lc":"Santa Lucia","st":"Sao Tome e Principe","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sy":"Siria","sk":"Slovacchia","si":"Slovenia","so":"Somalia","es":"Spagna","lk":"Sri Lanka","us":"Stati Uniti","za":"Sud Africa","kr":"Sud Corea","sd":"Sudan","sr":"Suriname","sj":"Svalbard e Jan Mayen","se":"Svezia","ch":"Svizzera","sz":"Swaziland","tj":"Tagikistan","th":"Tailandia","tw":"Taiwan","tz":"Tanzania","tf":"Territori Francesi Meridionali","ps":"Territori Palestinesi Occupati","io":"Territorio Britannico dell'Oceano Indiano","tl":"Timor Est","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad e Tobago","tn":"Tunisia","tr":"Turchia","tm":"Turkmenistan","tv":"Tuvalu","ug":"Uganda","ua":"Ukraina","hu":"Ungheria","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","ve":"Venezuela","vn":"Vietnam","wf":"Wallis e Futuna","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos (Keeling) Islands","co":"Colombia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","ck":"Cook Islands","cr":"Costa Rica","hr":"Croatia","cu":"Cuba","cy":"Cyprus","cz":"Czech Republic","dk":"Denmark","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands (Malvinas)","fo":"Faroe Islands","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guiana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard Island and McDonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Ireland","im":"Isle of Man","il":"Israel","it":"Italy","ci":"Ivory Coast","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macao","mk":"Macedonia, F.Y.R. of","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nl":"Netherlands","an":"Netherlands Antilles","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","kp":"North Korea","mp":"Northern Mariana Islands","no":"Norway","ps":"Occupied Palestinian Territory","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russian Federation","rw":"Rwanda","bl":"Saint Barth\u00e9lemy","sh":"Saint Helena","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and the South Sandwich Islands","kr":"South Korea","es":"Spain","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syria","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks and Caicos Islands","tv":"Tuvalu","ae":"U.A.E.","vi":"U.S. Virgin Islands","ug":"Uganda","ua":"Ukraine","gb":"United Kingdom","us":"United States","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe","ax":"\u00c5land Islands"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afghanistan","al":"Albani\u00eb","dz":"Algerije","as":"Amerikaans-Samoa","vi":"Amerikaanse Maagdeneilanden","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua en Barbuda","ar":"Argentini\u00eb","am":"Armeni\u00eb","aw":"Aruba","au":"Australi\u00eb","az":"Azerbeidzjan","bs":"Bahama\u2019s","bh":"Bahrein","bd":"Bangladesh","bb":"Barbados","be":"Belgi\u00eb","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosni\u00eb en Herzegovina","bw":"Botswana","bv":"Bouvet","br":"Brazili\u00eb","io":"Brits Territorium in de Indische Oceaan","vg":"Britse Maagdeneilanden","bn":"Brunei","bg":"Bulgarije","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodja","ca":"Canada","ky":"Caymaneilanden","cf":"Centraal-Afrikaanse Republiek","cl":"Chili","cn":"China","cx":"Christmaseiland","cc":"Cocoseilanden","co":"Colombia","km":"Comoren","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","ck":"Cookeilanden","cr":"Costa Rica","cu":"Cuba","cy":"Cyprus","dk":"Denemarken","dj":"Djibouti","dm":"Dominica","do":"Dominicaanse Republiek","de":"Duitsland","ec":"Ecuador","eg":"Egypte","sv":"El Salvador","gq":"Equatoriaal-Guinea","er":"Eritrea","ee":"Estland","et":"Ethiopi\u00eb","fo":"Faer\u00f6er","fk":"Falklandeilanden","fj":"Fiji","ph":"Filippijnen","fi":"Finland","fr":"Frankrijk","pf":"Frans Polynesi\u00eb","gf":"Frans-Guyana","tf":"Franse Zuidelijke en Antarctische Gebieden","ga":"Gabon","gm":"Gambia","ge":"Georgi\u00eb","gh":"Ghana","gi":"Gibraltar","gd":"Grenada","gr":"Griekenland","gl":"Groenland","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gn":"Guinea","gw":"Guinee-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard en McDonaldeilanden","hn":"Honduras","hu":"Hongarije","hk":"Hongkong","is":"IJsland","ie":"Ierland","in":"India","id":"Indonesi\u00eb","iq":"Irak","ir":"Iran","il":"Isra\u00ebl","it":"Itali\u00eb","ci":"Ivoorkust","jm":"Jamaica","jp":"Japan","ye":"Jemen","je":"Jersey","jo":"Jordani\u00eb","cv":"Kaapverdi\u00eb","cm":"Kameroen","kz":"Kazachstan","ke":"Kenia","kg":"Kirgizi\u00eb","ki":"Kiribati","um":"Kleine afgelegen eilanden van de Verenigde Staten","kw":"Koeweit","hr":"Kroati\u00eb","la":"Laos","ls":"Lesotho","lv":"Letland","lb":"Libanon","lr":"Liberia","ly":"Libi\u00eb","li":"Liechtenstein","lt":"Litouwen","lu":"Luxemburg","mo":"Macau","mk":"Macedoni\u00eb","mg":"Madagascar","mw":"Malawi","mv":"Maldiven","my":"Maleisi\u00eb","ml":"Mali","mt":"Malta","im":"Man","ma":"Marokko","mh":"Marshalleilanden","mq":"Martinique","mr":"Mauritania","mu":"Mauritani\u00eb","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldavi\u00eb","mc":"Monaco","mn":"Mongoli\u00eb","me":"Montenegro","ms":"Montserrat","mz":"Mozambique","mm":"Myanmar","na":"Namibi\u00eb","nr":"Nauru","nl":"Nederland","an":"Nederlandse Antillen","np":"Nepal","ni":"Nicaragua","nc":"Nieuw-Caledoni\u00eb","nz":"Nieuw-Zeeland","ne":"Niger","ng":"Nigeria","nu":"Niue","kp":"Noord-Korea","mp":"Noordelijke Marianen","no":"Noorwegen","nf":"Norfolk","ug":"Oeganda","ua":"Oekra\u00efne","uz":"Oezbekistan","om":"Oman","tl":"Oost-Timor","at":"Oostenrijk","pk":"Pakistan","pw":"Palau","ps":"Palestijnse Gebieden","pa":"Panama","pg":"Papoea-Nieuw-Guinea","py":"Paraguay","pe":"Peru","pn":"Pitcairneilanden","pl":"Polen","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","ro":"Roemeni\u00eb","ru":"Rusland","rw":"Rwanda","re":"R\u00e9union","kn":"Saint Kitts en Nevis","lc":"Saint Lucia","mf":"Saint Martin","vc":"Saint Vincent en de Grenadines","pm":"Saint-Pierre en Miquelon","sb":"Salomonseilanden","ws":"Samoa","sm":"San Marino","st":"Sao Tome en Principe","sa":"Saoedi-Arabi\u00eb","sn":"Senegal","rs":"Servi\u00eb","sc":"Seychellen","sl":"Sierra Leone","sg":"Singapore","bl":"Sint-Bartholomeus","sh":"Sint-Helena","sk":"Slovakije","si":"Sloveni\u00eb","sd":"Soedan","so":"Somali\u00eb","es":"Spanje","sj":"Spitsbergen en Jan Mayen-eilanden","lk":"Sri Lanka","sr":"Suriname","sz":"Swaziland","sy":"Syri\u00eb","tj":"Tadzjikistan","tw":"Taiwan","tz":"Tanzania","th":"Thailand","tg":"Togo","tk":"Tokelau-eilanden","to":"Tonga","tt":"Trinidad en Tobago","td":"Tsjaad","cz":"Tsjechi\u00eb","tn":"Tunesi\u00eb","tr":"Turkije","tm":"Turkmenistan","tc":"Turks- en Caicoseilanden","tv":"Tuvalu","uy":"Uruguay","vu":"Vanuatu","va":"Vaticaanstad","ve":"Venezuela","gb":"Verenigd Koninkrijk","ae":"Verenigde Arabische Emiraten","us":"Verenigde Staten","vn":"Vietnam","wf":"Wallis en Futuna","eh":"Westelijke Sahara","by":"Wit-Rusland","zm":"Zambia","zw":"Zimbabwe","za":"Zuid-Afrika","gs":"Zuid-Georgi\u00eb en de Zuidelijke Sandwicheilanden","kr":"Zuid-Korea","se":"Zweden","ch":"Zwitserland","ax":"\u00c5landseilanden"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganistan","al":"Albania","dz":"Algieria","ad":"Andora","ao":"Angola","ai":"Anguilla","aq":"Antarktyda","ag":"Antigua i Barbuda","an":"Antyle Holenderskie","sa":"Arabia Saudyjska","ar":"Argentyna","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbejd\u017can","bs":"Bahamy","bh":"Bahrajn","bd":"Bangladesz","bb":"Barbados","be":"Belgia","bz":"Belize","bj":"Benin","bm":"Bermudy","bt":"Bhutan","by":"Bia\u0142oru\u015b","mm":"Birma","bo":"Boliwia","bw":"Botswana","ba":"Bo\u015bnia i Hercegowina","br":"Brazylia","bn":"Brunei","io":"Brytyjskie Terytorium Oceanu Indyjskiego","vg":"Brytyjskie Wyspy Dziewicze","bf":"Burkina Faso","bi":"Burundi","bg":"Bu\u0142garia","cl":"Chile","cn":"Chiny","hr":"Chorwacja","cy":"Cypr","td":"Czad","me":"Czarnog\u00f3ra","cz":"Czechy","um":"Dalekie Wyspy Mniejsze Stan\u00f3w Zjednoczonych","dk":"Dania","dm":"Dominika","do":"Dominikana","dj":"D\u017cibuti","eg":"Egipt","ec":"Ekwador","er":"Erytrea","ee":"Estonia","et":"Etiopia","fk":"Falklandy (Malwiny)","fj":"Fid\u017ci","ph":"Filipiny","fi":"Finlandia","fr":"Francja","tf":"Francuskie Terytoria Po\u0142udniowe","ga":"Gabon","gm":"Gambia","gs":"Georgia Po\u0142udniowa i Sandwich Po\u0142udniowy","gh":"Ghana","gi":"Gibraltar","gr":"Grecja","gd":"Grenada","gl":"Grenlandia","ge":"Gruzja","gu":"Guam","gg":"Guernsey","gy":"Gujana","gf":"Gujana Francuska","gp":"Gwadelupa","gt":"Gwatemala","gn":"Gwinea","gq":"Gwinea R\u00f3wnikowa","gw":"Gwinea-Bissau","ht":"Haiti","es":"Hiszpania","nl":"Holandia","hn":"Honduras","hk":"Hongkong","in":"Indie","id":"Indonezja","iq":"Irak","ir":"Iran","ie":"Irlandia","is":"Islandia","il":"Izrael","jm":"Jamajka","jp":"Japonia","ye":"Jemen","je":"Jersey","jo":"Jordania","ky":"Kajmany","kh":"Kambod\u017ca","cm":"Kamerun","ca":"Kanada","qa":"Katar","kz":"Kazachstan","ke":"Kenia","kg":"Kirgistan","ki":"Kiribati","co":"Kolumbia","km":"Komory","cg":"Kongo-Brazzaville","cd":"Kongo-Kinszasa","kr":"Korea Po\u0142udniowa","kp":"Korea P\u00f3\u0142nocna","cr":"Kostaryka","cu":"Kuba","kw":"Kuwejt","la":"Laos","ls":"Lesotho","lb":"Liban","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Litwa","lu":"Luksemburg","mk":"Macedonia","mg":"Madagaskar","yt":"Majotta","mo":"Makau","mw":"Malawi","mv":"Malediwy","my":"Malezja","ml":"Mali","mt":"Malta","mp":"Mariany P\u00f3\u0142nocne","ma":"Maroko","mq":"Martynika","mr":"Mauretania","mu":"Mauritius","mx":"Meksyk","fm":"Mikronezja","mc":"Monako","mn":"Mongolia","ms":"Montserrat","mz":"Mozambik","md":"Mo\u0142dawia","na":"Namibia","nr":"Nauru","np":"Nepal","de":"Niemcy","ne":"Niger","ng":"Nigeria","ni":"Nikaragua","nu":"Niue","no":"Norwegia","nc":"Nowa Kaledonia","nz":"Nowa Zelandia","ps":"Okupowane Terytoria Palesty\u0144skie","om":"Oman","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua-Nowa Gwinea","py":"Paragwaj","pe":"Peru","pn":"Pitcairn","pf":"Polinezja Francuska","pl":"Polska","pr":"Portoryko","pt":"Portugalia","za":"Republika Po\u0142udniowej Afryki","cf":"Republika \u015arodkowoafryka\u0144ska","re":"Reunion","ru":"Rosja","ro":"Rumunia","rw":"Rwanda","eh":"Sahara Zachodnia","kn":"Saint Kitts i Nevis","lc":"Saint Lucia","pm":"Saint Pierre i Miquelon","vc":"Saint Vincent i Grenadyny","bl":"Saint-Barth\u00e9lemy","mf":"Saint-Martin","sv":"Salwador","ws":"Samoa","as":"Samoa Ameryka\u0144skie","sm":"San Marino","sn":"Senegal","rs":"Serbia","sc":"Seszele","sl":"Sierra Leone","sg":"Singapur","so":"Somalia","lk":"Sri Lanka","us":"Stany Zjednoczone","sz":"Suazi","sd":"Sudan","sr":"Surinam","sj":"Svalbard i Jan Mayen","sy":"Syria","ch":"Szwajcaria","se":"Szwecja","sk":"S\u0142owacja","si":"S\u0142owenia","tj":"Tad\u017cykistan","th":"Tajlandia","tw":"Tajwan","tz":"Tanzania","tl":"Timor Wschodni","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trynidad i Tobago","tn":"Tunezja","tr":"Turcja","tm":"Turkmenistan","tc":"Turks i Caicos","tv":"Tuvalu","ug":"Uganda","ua":"Ukraina","uy":"Urugwaj","uz":"Uzbekistan","vu":"Vanuatu","wf":"Wallis i Futuna","va":"Watykan","ve":"Wenezuela","gb":"Wielka Brytania","vn":"Wietnam","ci":"Wybrze\u017ce Ko\u015bci S\u0142oniowej","bv":"Wyspa Bouveta","cx":"Wyspa Bo\u017cego Narodzenia","im":"Wyspa Man","nf":"Wyspa Norfolk","ax":"Wyspy Alandzkie","ck":"Wyspy Cooka","vi":"Wyspy Dziewicze Stan\u00f3w Zjednoczonych","hm":"Wyspy Heard i McDonalda","cc":"Wyspy Kokosowe","mh":"Wyspy Marshalla","fo":"Wyspy Owcze","sb":"Wyspy Salomona","cv":"Wyspy Zielonego Przyl\u0105dka","st":"Wyspy \u015awi\u0119tego Tomasza i Ksi\u0105\u017c\u0119ca","hu":"W\u0119gry","it":"W\u0142ochy","zm":"Zambia","zw":"Zimbabwe","ae":"Zjednoczone Emiraty Arabskie","lv":"\u0141otwa","sh":"\u015awi\u0119ta Helena"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afeganist\u00e3o","al":"Alb\u00e2nia","de":"Alemanha","ad":"Andorra","ao":"Angola","ai":"Anguila","an":"Antilhas Holandesas","aq":"Ant\u00e1rctica","ag":"Ant\u00edgua e Barbados","ar":"Argentina","dz":"Arg\u00e9lia","am":"Arm\u00e9nia","aw":"Aruba","sa":"Ar\u00e1bia Saudita","au":"Austr\u00e1lia","az":"Azerbeij\u00e3o","bs":"Bahamas","bh":"Bahrein","bd":"Bangladesh","bb":"Barbados","bz":"Belize","bj":"Benin","bm":"Bermuda","by":"Bielor\u00fassia","bo":"Bol\u00edvia","bw":"Botswana","br":"Brasil","bn":"Brunei","bg":"Bulg\u00e1ria","bf":"Burkina Faso","bi":"Burundi","bt":"But\u00e3o","be":"B\u00e9lgica","ba":"B\u00f3snia-Herzegovina","cv":"Cabo Verde","kh":"Cambodja","cm":"Camer\u00f5es","ca":"Canad\u00e1","qa":"Catar","td":"Chad","cl":"Chile","cn":"China","cy":"Chipre","va":"Cidade do Vaticano","co":"Col\u00f4mbia","km":"Comores","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","kp":"Coreia do Norte","kr":"Coreia do Sul","cr":"Costa Rica","ci":"Costa do Marfim","hr":"Cro\u00e1cia","cu":"Cuba","dk":"Dinamarca","dm":"Dominica","ae":"E.A.U.","eg":"Egipto","sv":"El Salvador","ec":"Equador","er":"Eritreia","sk":"Eslov\u00e1quia","si":"Eslov\u00e9nia","es":"Espanha","us":"Estados Unidos da Am\u00e9rica","ee":"Est\u00f3nia","et":"Eti\u00f3pia","ru":"Federa\u00e7\u00e3o Russa","ph":"Filipinas","fi":"Finl\u00e2ndia","tw":"Formosa","fr":"Fran\u00e7a","ga":"Gab\u00e3o","gh":"Gana","ge":"Ge\u00e9rgia","gi":"Gibraltar","gd":"Granada","gl":"Gronel\u00e2ndia","gr":"Gr\u00e9cia","gp":"Guadalupe","gt":"Guatemala","gg":"Guernsey","gy":"Guiana","gf":"Guiana Francesa","gn":"Guin\u00e9","gq":"Guin\u00e9 Equatorial","gw":"Guin\u00e9-Bissau","gu":"Gu\u00e3o","gm":"G\u00e2mbia","ht":"Haiti","nl":"Holanda","hn":"Honduras","hk":"Hong Kong","hu":"Hungria","bv":"Ilha Bouvet","im":"Ilha de Man","nf":"Ilha de Norfolk","cx":"Ilha do Natal","ax":"Ilhas Alanda","ky":"Ilhas Caim\u00e3o","ck":"Ilhas Cook","fo":"Ilhas Faro\u00e9","fj":"Ilhas Fiji","hm":"Ilhas Heard e McDonald","mp":"Ilhas Marianas do Norte","mh":"Ilhas Marshall","um":"Ilhas Pequenas dos Estados Unidos da Am\u00e9rica","sb":"Ilhas Salom\u00e3o","vg":"Ilhas Selvagens Brit\u00e2nicas","vi":"Ilhas Selvagens Norte Americanas","tc":"Ilhas Turks e Caicos","cc":"Ilhas de Cocos","gs":"Ilhas de South Georgia e South Sandwich","in":"India","id":"Indon\u00e9sia","iq":"Iraque","ie":"Irlanda","ir":"Ir\u00e3o","is":"Isl\u00e2ndia","il":"Israel","it":"It\u00e1lia","ye":"I\u00e9men","jm":"Jamaica","jp":"Jap\u00e3o","dj":"Jibouti","jo":"Jord\u00e2nia","je":"J\u00e9rsia","kz":"Kazaquist\u00e3o","ki":"Kiribati","kg":"Kirziquist\u00e3o","kw":"Kuwait","la":"Laos","ls":"Lesoto","lv":"Let\u00f3nia","lr":"Lib\u00e9ria","li":"Liechtenstein","lt":"Litu\u00e2nia","lu":"Luxemburgo","lb":"L\u00edbano","ly":"L\u00edbia","mo":"Macau","mg":"Madag\u00e1scar","mw":"Malaui","mv":"Maldivas","ml":"Mali","mt":"Malta","fk":"Malvinas","my":"Mal\u00e1sia","ma":"Marrocos","mq":"Martinica","mr":"Maurit\u00e2nia","mu":"Maur\u00edcias","yt":"Mayotte","fm":"Micron\u00e9sia","md":"Mold\u00e1via","mn":"Mong\u00f3lia","me":"Montenegro","ms":"Montserrate","mz":"Mo\u00e7ambique","mm":"Myanmar","mx":"M\u00e9xico","mc":"M\u00f3naco","na":"Nam\u00edbia","nr":"Nauru","np":"Nepal","ni":"Nicar\u00e1gua","ng":"Nig\u00e9ria","nu":"Niue","no":"Noruega","nc":"Nova Caled\u00f3nia","nz":"Nova Zel\u00e2ndia","ne":"N\u00edger","om":"Om\u00e3o","pw":"Palau","pa":"Panam\u00e1","pg":"Papua Nova Guin\u00e9","pk":"Paquist\u00e3o","py":"Paraguai","pe":"Peru","pn":"Pitcairn","pf":"Polin\u00e9sia Francesa","pl":"Pol\u00f3nia","pr":"Porto Rico","pt":"Portugal","ke":"Qu\u00e9nia","gb":"Reino Unido","cz":"Rep\u00fablica Checa","do":"Rep\u00fablica Dominicana","mk":"Rep\u00fablica da Maced\u00f3nia","cf":"Rep\u00fabloca Centro-Africana","re":"Reuni\u00e3o","ro":"Rom\u00e9nia","rw":"Ruanda","eh":"Saara Ocidental","bl":"Saint Barth\u00e9lemy","kn":"Saint Kitts e Nevis","mf":"Saint Martin","pm":"Saint Pierre e Miquelon","vc":"Saint Vincent e as Grenadines","ws":"Samoa","as":"Samoa Americana","sh":"Santa Helena","lc":"Santa Luzia","sc":"Seicheles","sn":"Senegal","rs":"Serbia","sl":"Serra Leoa","sg":"Singapora","so":"Som\u00e1lia","lk":"Sri Lanka","sd":"Sud\u00e3o","ch":"Sui\u00e7a","sr":"Suriname","se":"Su\u00e9cia","sj":"Svalbard e Jan Mayen","sz":"Swazil\u00e2ndia","sm":"S\u00e3o Marino","st":"S\u00e3o Tom\u00e9 e Pr\u00edncipe","sy":"S\u00edria","tj":"Tadjiquist\u00e3o","th":"Tail\u00e2ndia","tz":"Tanz\u00e2nia","io":"Territ\u00f3rio Brit\u00e2nico Oce\u00e2nico da India","ps":"Territ\u00f3rio Palestiniano Ocupado","tf":"Territ\u00f3rios Franceses do Sul","tl":"Timor-Leste","tg":"Togo","to":"Tonga","tk":"Toquelau","tt":"Trinidade e Tobago","tn":"Tun\u00edsia","tm":"Turqueminist\u00e3o","tr":"Turquia","tv":"Tuvalu","ua":"Ucr\u00e2nia","ug":"Uganda","uy":"Uruguai","uz":"Usbequist\u00e3o","vu":"Vanuatu","ve":"Venezuela","vn":"Vietname","wf":"Wallis e Futuna","zw":"Zimbabwe","zm":"Z\u00e2mbia","za":"\u00c1frica do Sul","at":"\u00c1ustria"}

Просмотреть файл

@ -0,0 +1 @@
{"af":"Afganistan","za":"Africa de Sud","al":"Albania","dz":"Algeria","ad":"Andora","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua \u0219i Barbuda","an":"Antilele olandeze","sa":"Arabia Saudit\u0103","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrein","bd":"Banglade\u0219","bb":"Barbados","by":"Belarus","be":"Belgia","bz":"Belize","bj":"Benin","bm":"Bermude","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia \u0219i Her\u021begovina","bw":"Botswana","br":"Brazilia","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodgia","cm":"Camerun","ca":"Canada","cv":"Capul Verde","cl":"Chile","cn":"China","td":"Ciad","cy":"Cipru","ci":"Coasta de Azur","co":"Columbia","km":"Comoros","cg":"Congo-Brazzaville","cd":"Congo-Kinshasa","kp":"Coreea de Nord","kr":"Coreea de Sud","cr":"Costa Rica","hr":"Croa\u021bia","cu":"Cuba","dk":"Danemarca","dj":"Djibouti","dm":"Dominica","ae":"E.A.U.","ec":"Ecuador","eg":"Egipt","ch":"Elve\u021bia","er":"Eritrea","ee":"Estonia","et":"Etiopia","fj":"Fiji","ph":"Filipine","fi":"Finlanda","fr":"Fran\u021ba","ga":"Gabon","gm":"Gambia","ge":"Georgia","gs":"Georgia de Sud \u0219i Insulele Sandwich de Sud","de":"Germania","gh":"Ghana","gi":"Gibraltar","gr":"Grecia","gd":"Grenada","gl":"Groenlanda","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gf":"Guiana francez\u0103","gq":"Guinea Ecuatorial\u0103","gn":"Guineea","gw":"Guineea-Bissau","gy":"Guyana","ht":"Haiti","hn":"Honduras","hk":"Hong Kong","in":"India","id":"Indonezia","bv":"Insula Bouvet","hm":"Insula Heard \u0219i Insulele McDonald","im":"Insula Man","nf":"Insula Norfolk","ky":"Insulele Cayman","cx":"Insulele Christmas","cc":"Insulele Cocos (Keeling)","ck":"Insulele Cook","fk":"Insulele Falkland (Malvine)","fo":"Insulele Feroe","mp":"Insulele Mariana de Nord","mh":"Insulele Marshall","sb":"Insulele Solomon","tc":"Insulele Turks \u0219i Caicos","vi":"Insulele Virgine Americane","vg":"Insulele Virgine Britanice","ax":"Insulele \u00c5land","jo":"Iordania","iq":"Irak","ir":"Iran","ie":"Irlanda","is":"Islanda","il":"Israel","it":"Italia","jm":"Jamaica","jp":"Japonia","je":"Jersey","kz":"Kazahstan","ke":"Kenia","ki":"Kiribati","kw":"Kuweit","kg":"K\u00e2rg\u00e2zstan","la":"Laos","ls":"Lesotho","lv":"Letonia","lb":"Liban","lr":"Liberia","ly":"Libia","li":"Liechtenstein","lt":"Lituania","lu":"Luxemburg","mk":"Macedonia (F.R.I.)","mg":"Madagascar","my":"Malaezia","mw":"Malawi","mv":"Maldive","ml":"Mali","mt":"Malta","gb":"Marea Britanie","ma":"Maroc","mq":"Martinica","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexic","fm":"Micronezia","mc":"Monaco","mo":"Monaco","mn":"Mongolia","ms":"Montserrat","mz":"Mozambic","me":"Muntenegru","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","no":"Norvegia","nc":"Noua Caledonie","nz":"Noua Zeeland\u0103","nl":"Olanda","om":"Oman","va":"Ora\u0219ul Vatican","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua Noua Guinee","py":"Paraguay","pe":"Peru","pn":"Pitcairn","pf":"Polinezia Francez\u0103","pl":"Polonia","pr":"Porto Rico","pt":"Portugalia","qa":"Qatar","cf":"Republica Centrafrican\u0103","do":"Republica Dominican\u0103","md":"Republica Moldova","cz":"Republica ceh\u0103","re":"Reunion","ro":"Rom\u00e2nia","ru":"Rusia","rw":"Rwanda","eh":"Sahara de vest","bl":"Saint Barth\u00e9lemy","kn":"Saint Kitts \u0219i Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre \u0219i Miquelon","vc":"Saint Vincent \u0219i Grenadine","sv":"Salvador","ws":"Samoa","as":"Samoa american\u0103","sm":"San Marino","st":"Sao Tome \u0219i Principe","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sh":"Sf\u00e2nta Elena","sl":"Sierra Leone","sg":"Singapore","sy":"Siria","sk":"Slovacia","si":"Slovenia","so":"Somalia","es":"Spania","lk":"Sri Lanka","us":"Statele Unite","sd":"Sudan","se":"Suedia","sr":"Surinam","sj":"Svalbard \u0219i Jan Mayen","sz":"Swaziland","th":"Tailanda","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","tf":"Teritoriile Franceze Sudice","ps":"Teritoriile Palestiniene Ocupate","io":"Teritoriul britanic din Oceanul Indian","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad \u0219i Tobago","tn":"Tunisia","tr":"Turcia","tm":"Turkmenistan","tv":"Tuvalu","ua":"Ucraina","ug":"Uganda","hu":"Ungaria","um":"United States Minor Outlying Islands","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","ve":"Venezuela","vn":"Vietnam","wf":"Wallis \u0219i Futuna","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"":"","af":"Afganistan","al":"Albanija","dz":"Al\u017eirija","as":"Ameri\u0161ka Samoa","vi":"Ameri\u0161ki devi\u0161ki otoki","um":"Ameri\u0161ki manj\u0161i zunanji otoki","ad":"Andora","ao":"Angola","ai":"Angvila","aq":"Antarktika","ag":"Antigva in Barbuda","ar":"Argentina","am":"Armenija","aw":"Aruba","au":"Avstralija","at":"Avstrija","az":"Azerbajd\u017ean","bs":"Bahami","bh":"Bahrajn","bd":"Banglade\u0161","bb":"Barbados","be":"Belgija","bz":"Belize","by":"Belorusija","bj":"Benin","bm":"Bermudi","bw":"Bocvana","bg":"Bolgarija","bo":"Bolivija","ba":"Bosna in Hercegovina","bv":"Bouvetov otok","cx":"Bo\u017ei\u010dni otoki","br":"Brazilija","vg":"Britanski devi\u0161ki otoki","io":"Britanski teritorij v Indijskem oceanu","bn":"Brunei Darussalam","bf":"Burkina Faso","bi":"Burundi","bt":"Butan","cy":"Ciper","ck":"Cookovi otoki","dk":"Danska","dm":"Dominika","do":"Dominikanska republika","dj":"D\u017eibuti","eg":"Egipt","ec":"Ekvador","gq":"Ekvatorialna Gvineja","er":"Eritreja","ee":"Estonija","et":"Etiopija","fk":"Falklandi (Malvinski otoki)","fo":"Ferski otoki","fj":"Fid\u017ei","ph":"Filipini","fi":"Finska","fr":"Francija","gf":"Francoska Gvajana","pf":"Francoska Polinezija","tf":"Francoske ju\u017ene in antarkti\u010dne de\u017eele","ga":"Gabon","gm":"Gambija","gh":"Gana","gi":"Gibraltar","gd":"Grenada","gl":"Grenlandija","ge":"Gruzija","gr":"Gr\u010dija","gp":"Guadeloupe","gu":"Guam","gg":"Guernsey","gy":"Gvajana","gt":"Gvatemala","gn":"Gvineja","gw":"Gvineja Bissau","ht":"Haiti","hn":"Honduras","hk":"Hong Kong","hr":"Hrva\u0161ka","in":"Indija","id":"Indonezija","iq":"Irak","ir":"Iran","ie":"Irska","is":"Islandija","it":"Italija","il":"Izrael","jm":"Jamajka","jp":"Japonska","ye":"Jemen","je":"Jersey","jo":"Jordanija","za":"Ju\u017ena Afrika","gs":"Ju\u017ena Georgia in Ju\u017eni Sandwichevi otoki","kr":"Ju\u017ena Koreja","ky":"Kajmanski otoki","kh":"Kambod\u017ea","cm":"Kamerun","ca":"Kanada","qa":"Katar","kz":"Kazahstan","ke":"Kenija","kg":"Kirgizistan","ki":"Kiribati","cn":"Kitajska","cc":"Kokosovi Otoki","co":"Kolumbija","km":"Komori","cd":"Kongo - Kin\u0161asa","cg":"Kongo-Brazzaville","cr":"Kostarika","cu":"Kuba","kw":"Kuvajt","la":"Laos","lv":"Latvija","ls":"Lesoto","lb":"Libanon","lr":"Liberija","ly":"Libija","li":"Lihten\u0161tajn","lt":"Litva","lu":"Luksemburg","mo":"Macao","mg":"Madagaskar","hu":"Mad\u017earska","mk":"Makedonija","mw":"Malavi","mv":"Maldivi","my":"Malezija","ml":"Mali","mt":"Malta","im":"Man","ma":"Maroko","mh":"Marshallovi otoki","mq":"Martinik","mu":"Mauritius","mr":"Mavretanija","yt":"Mayotte","mx":"Mehika","fm":"Mikronezija","mm":"Mjanmar","md":"Moldavija","mc":"Monako","mn":"Mongolija","ms":"Montserrat","mz":"Mozambik","na":"Namibija","de":"Nem\u010dija","np":"Nepal","ne":"Niger","ng":"Nigerija","ni":"Nikaragva","nu":"Niue","nl":"Nizozemska","an":"Nizozemski Antili","no":"Norve\u0161ka","nc":"Nova Kaledonija","nz":"Nova Zelandija","ps":"Okupirano palestinsko ozemlje","om":"Oman","hm":"Otok Heard in Oto\u010dje McDonald","nf":"Otok Norfolk","tc":"Otoki Turka in Caicosa","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua Nova Gvineja","py":"Paragvaj","pe":"Peru","pn":"Pitcairnovi otoki","pl":"Poljska","pr":"Portoriko","pt":"Portugalska","re":"Reunion","ro":"Romunija","rw":"Ruanda","ru":"Rusija","kn":"Saint Kitts and Nevis","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent in Grenadine","sv":"Salvador","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Savdska Arabija","sc":"Sej\u0161eli","sn":"Senegal","kp":"Severna Koreja","mp":"Severni Marianski otoki","sl":"Sierra Leone","sg":"Singapur","sy":"Sirija","ci":"Slonoko\u0161\u010dena obala","sk":"Slova\u0161ka","si":"Slovenija","sb":"Solomonovi otoki","so":"Somalija","rs":"Srbija","cf":"Srednjeafri\u0161ka republika","sd":"Sudan","sr":"Surinam","sj":"Svalbard in Jan Mayen","sz":"Svazi","sh":"Sveta Helena","lc":"Sveta Lucija","bl":"Sveti Bartolomej","mf":"Sveti Martin","tj":"Tad\u017eikistan","th":"Tajska","tw":"Tajvan","tz":"Tanzanija","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad","tn":"Tunizija","tm":"Turkmenistan","tv":"Tuvalu","tr":"Tu\u010dija","ug":"Uganda","ua":"Ukrajina","uy":"Urugvaj","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatikan","gb":"Velika Britanija","ve":"Venezuela","vn":"Vietnam","wf":"Wallis in Futuna","ae":"ZAE","eh":"Zahodna Sahara","zm":"Zambija","us":"Zdru\u017eene dr\u017eave Amerike","cv":"Zelenortski otoki","zw":"Zimbabve","nr":"nauru","ax":"\u00c5landski otoki","td":"\u010cad","cz":"\u010ce\u0161ka","cl":"\u010cile","me":"\u010crna Gora","es":"\u0160panija","lk":"\u0160ri Lanka","se":"\u0160vedska","ch":"\u0160vica"}

Просмотреть файл

@ -0,0 +1 @@
{"us":"ABD","um":"ABD Minor Outlying Adalar\u0131","vi":"ABD'nin Virjin Adalar\u0131","af":"Afganistan","ax":"Aland Adalar\u0131","de":"Almanya","as":"Amerika Samoas\u0131","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarktika","ag":"Antigua ve Barbuda","ar":"Arjantin","al":"Arnavutluk","aw":"Aruba","au":"Avustralya","at":"Avusturya","az":"Azerbaycan","ae":"BAE","bs":"Bahamalar","bh":"Bahreyn","bd":"Banglade\u015f","bb":"Barbados","eh":"Bat\u0131 Sahara","bz":"Belize","be":"Bel\u00e7ika","bj":"Benin","bm":"Bermuda","by":"Beyaz Rusya","gb":"Birle\u015fik Krall\u0131k","bo":"Bolivya","ba":"Bosna Hersek","bw":"Botsvana","bv":"Bouvet Adas\u0131","br":"Brezilya","io":"Britanya'n\u0131n Hint Okyanusu Topraklar\u0131","vg":"Britanya'n\u0131n Virjin Adalar\u0131","bn":"Brunei Sultanl\u0131\u011f\u0131","bg":"Bulgaristan","bf":"Burkina Faso","bi":"Burundi","bt":"Butan","cv":"Cape Verde","ky":"Cayman Adalar\u0131","gi":"Cebelitar\u0131k","dz":"Cezayir","cx":"Christmas Adas\u0131","dj":"Cibuti","cc":"Cocos (Keeling) Adalar\u0131","ck":"Cook Adalar\u0131","dk":"Danimarka","dm":"Dominik","do":"Dominik Cumhuriyeti","tl":"Do\u011fu Timor","ec":"Ekvador","gq":"Ekvatoral Gine","sv":"El Salvador","id":"Endonezya","er":"Eritre","am":"Ermenistan","ee":"Estonya","et":"Etiyopya","fk":"Falkland Adalar\u0131 (Malvinalar)","fo":"Faroe Adalar\u0131","ma":"Fas","fj":"Fiji","ci":"Fildi\u015fi Sahili","ph":"Filipinler","ps":"Filistin","fi":"Finlandiya","fr":"Fransa","tf":"Fransa'n\u0131n G\u00fcney Topraklar\u0131","gf":"Frans\u0131z Guyanas\u0131","pf":"Frans\u0131z Polinezyas\u0131","ga":"Gabon","gm":"Gambiya","gh":"Gana","gn":"Gine","gw":"Gine Bissau","gd":"Grenada","gl":"Gr\u00f6nland","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gy":"Guyana","za":"G\u00fcney Africa","gs":"G\u00fcney Georgia ve G\u00fcney Sandvi\u00e7 Adalar\u0131","kr":"G\u00fcney Kore","cy":"G\u00fcney K\u0131br\u0131s Rum Kesimi","ge":"G\u00fcrcistan","ht":"Haiti","hm":"Heard Adas\u0131 ve McDonald Adalar\u0131","in":"Hindistan","nl":"Hollanda","an":"Hollanda Antilleri","hn":"Honduras","hk":"Hong Kong","hr":"H\u0131rvatistan","iq":"Irak","jm":"Jamaika","jp":"Japonya","je":"Jersey","kh":"Kambo\u00e7ya","cm":"Kamerun","ca":"Kanada","me":"Karada\u011f","qa":"Katar","kz":"Kazakistan","ke":"Kenya","ki":"Kiribati","co":"Kolombiya","km":"Komolar","cg":"Kongo - Brazzaville","cd":"Kongo Kin\u015fasa","cr":"Kosta Rica","kw":"Kuveyt","kp":"Kuzey Kore","mp":"Kuzey Mariana Adalar\u0131","cu":"K\u00fcba","kg":"K\u0131rg\u0131zistan","la":"Laos","ls":"Lesotho","lv":"Letonya","lr":"Liberya","ly":"Libya","li":"Liechtenstein","lt":"Litvanya","lb":"L\u00fcbnan","lu":"L\u00fcksemburg","hu":"Macaristan","mo":"Macau","mg":"Madagaskar","mk":"Makedonya Cumhuriyeti","mw":"Malavi","mv":"Maldivler","my":"Malezya","ml":"Mali","mt":"Malta","im":"Man Adas\u0131","mh":"Marshall Adalar\u0131","mq":"Martinik","mu":"Mauritius","yt":"Mayotte","mx":"Meksika","fm":"Mikronezya","md":"Moldova","mc":"Monako","ms":"Montserrat","mr":"Moritanya","mz":"Mozambik","mn":"Mo\u011folistan","mm":"Myanmar","eg":"M\u0131s\u0131r","na":"Namibya","nr":"Nauru","np":"Nepal","ne":"Nijer","ng":"Nijerya","ni":"Nikaragua","nu":"Niue","nf":"Norfolk Adas\u0131","no":"Norve\u00e7","cf":"Orta Afrika Cumhuriyeti","pk":"Pakistan","pw":"Palau","pa":"Panama","pg":"Papua Yeni Gine","py":"Paraguay","pe":"Peru","pn":"Pitcairn","pl":"Polanya","pt":"Portekiz","pr":"Porto Riko","re":"Reunion","ro":"Romanya","rw":"Ruanda","ru":"Rusya Federasyonu","bl":"Saint Barth\u00e9lemy","sh":"Saint Helena","kn":"Saint Kitts ve Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre ve Miquelon","vc":"Saint Vincent ve Grenadineler","ws":"Samoa","sm":"San Marino","st":"Sao Tome ve Principe","sn":"Senegal","sc":"Sey\u015feller","sl":"Sierra Leone","sg":"Singapur","sk":"Slovakya","si":"Slovenya","sb":"Solomon Adalar\u0131","so":"Somali","lk":"Sri Lanka","sd":"Sudan","sr":"Surinam","sy":"Suriye","sa":"Suudi Arabistan","sj":"Svalbard ve Jan Mayen","sz":"Svaziland","rs":"S\u0131rbistan","tj":"Tacikistan","tz":"Tanzanya","th":"Tayland","tw":"Tayvan","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad Tobago","tn":"Tunus","tc":"Turks ve Caicos Adalar\u0131","tv":"Tuvalu","tr":"T\u00fcrkiye","tm":"T\u00fcrkmenistan","ug":"Uganda","ua":"Ukrayna","om":"Umman","uy":"Uruguay","vu":"Vanuatu","va":"Vatikan","ve":"Venezuela","vn":"Vietnam","wf":"Wallis ve Futuna","ye":"Yemen","nc":"Yeni Kaledonya","nz":"Yeni Zelanda","gr":"Yunanistan","zm":"Zambia","zw":"Zimbabve","td":"\u00c7ad","cz":"\u00c7ek Cumhuriyeti","cn":"\u00c7in","uz":"\u00d6zbekistan","jo":"\u00dcrd\u00fcn","ir":"\u0130ran","ie":"\u0130rlanda","es":"\u0130spanya","il":"\u0130srail","se":"\u0130sve\u00e7","ch":"\u0130svi\u00e7re","it":"\u0130talya","is":"\u0130zlanda","cl":"\u015eili"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"ast":{"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"es-CL":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"es-MX":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"gd":{"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"kk":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ku":{"3.5.16":[],"3.6.13":{"Windows":{"filesize":7.9},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"mn":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":[]},"or":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":8},"OS X":{"filesize":19},"Linux":{"filesize":9.8}}},"rm":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ta":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":8},"OS X":{"filesize":19},"Linux":{"filesize":9.8}}},"ta-LK":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.9},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}}}

Просмотреть файл

@ -0,0 +1 @@
{"1.0rc1":"2004-10-27","1.0rc2":"2004-11-03","1.5rc1":"2005-11-01","1.5rc2":"2005-11-10","1.5rc3":"2005-11-17","2.0b1":"2006-07-12","2.0b2":"2006-08-31","2.0rc1":"2006-09-26","2.0rc2":"2006-10-06","2.0rc3":"2007-10-16","3.0b1":"2007-11-19","3.0b2":"2007-12-18","3.0b3":"2008-02-12","3.0b4":"2008-03-10","3.0b5":"2008-04-02","3.0rc1":"2008-05-16","3.0rc2":"2008-06-03","3.1b1":"2008-08-14","3.1b2":"2008-12-08","3.1b3":"2009-03-12","3.5b4":"2009-04-27","3.5rc2":"2009-06-19","3.5rc3":"2009-06-24","3.6b1":"2009-10-30","3.6b2":"2009-11-10","3.6b3":"2009-11-17","3.6b4":"2009-11-26","3.6b5":"2009-12-17","3.6rc1":"2010-01-08","3.6rc2":"2010-01-17","3.6.3plugin1":"2010-04-08","3.6.4build1":"2010-04-20","3.6.4build3":"2010-05-04","3.6.4build4":"2010-05-14","3.6.4build5":"2010-05-26","3.6.4build6":"2010-05-28","3.6.4build7":"2010-06-14","3.6.7build1":"2010-07-02","4.0b1":"2010-07-06","4.0b2":"2010-07-27","4.0b3":"2010-08-11","4.0b4":"2010-08-24","4.0b5":"2010-09-07","4.0b6":"2010-09-14","4.0b7":"2010-11-10","4.0b8":"2010-12-22","4.0b9":"2011-01-14","4.0b10":"2011-01-25"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0":"2004-11-09","1.5":"2005-11-29","2.0":"2006-10-24","3.0":"2008-06-17","3.5":"2009-06-30","3.6":"2010-01-21"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0.1":"2005-02-24","1.0.2":"2005-03-23","1.0.3":"2005-04-15","1.0.4":"2005-05-11","1.0.5":"2005-07-12","1.0.6":"2005-07-19","1.0.7":"2005-09-20","1.0.8":"2006-04-13","1.5.0.1":"2006-02-01","1.5.0.2":"2006-04-13","1.5.0.3":"2006-05-02","1.5.0.4":"2006-06-01","1.5.0.5":"2006-07-26","1.5.0.6":"2006-08-02","1.5.0.7":"2006-09-14","1.5.0.8":"2006-11-07","1.5.0.9":"2006-12-19","1.5.0.10":"2007-02-23","1.5.0.11":"2007-03-20","1.5.0.12":"2007-05-30","2.0.0.1":"2006-12-19","2.0.0.2":"2007-02-23","2.0.0.3":"2007-03-20","2.0.0.4":"2007-05-30","2.0.0.5":"2007-07-17","2.0.0.6":"2007-07-30","2.0.0.7":"2007-09-18","2.0.0.8":"2007-10-18","2.0.0.9":"2007-11-01","2.0.0.10":"2007-11-26","2.0.0.11":"2007-11-30","2.0.0.12":"2008-02-07","2.0.0.13":"2008-03-25","2.0.0.14":"2008-04-16","2.0.0.15":"2008-07-01","2.0.0.16":"2008-07-15","2.0.0.17":"2008-09-23","2.0.0.18":"2008-11-12","2.0.0.19":"2008-12-16","2.0.0.20":"2008-12-18","3.0.1":"2008-07-16","3.0.2":"2008-09-23","3.0.3":"2008-09-26","3.0.4":"2008-11-12","3.0.5":"2008-12-16","3.0.6":"2009-02-03","3.0.7":"2009-03-04","3.0.8":"2009-03-27","3.0.9":"2009-04-21","3.0.10":"2009-04-27","3.0.11":"2009-06-11","3.0.12":"2009-07-21","3.0.13":"2009-08-03","3.0.14":"2009-09-09","3.0.15":"2009-10-27","3.0.16":"2009-12-15","3.0.17":"2010-01-05","3.0.18":"2010-02-17","3.0.19":"2010-03-30","3.5.1":"2009-07-17","3.5.2":"2009-08-03","3.5.3":"2009-09-09","3.5.4":"2009-10-27","3.5.5":"2009-11-05","3.5.6":"2009-12-15","3.5.7":"2010-01-05","3.5.8":"2010-02-17","3.5.9":"2010-03-30","3.5.10":"2010-06-22","3.5.11":"2010-07-20","3.5.12":"2010-09-07","3.5.13":"2010-09-15","3.5.14":"2010-10-19","3.5.15":"2010-10-27","3.6.16":"2010-12-09","3.6.2":"2010-03-22","3.6.3":"2010-04-01","3.6.4":"2010-06-22","3.6.6":"2010-06-26","3.6.7":"2010-07-20","3.6.8":"2010-07-23","3.6.9":"2010-09-07","3.6.10":"2010-09-15","3.6.11":"2010-10-19","3.6.12":"2010-10-27","3.6.13":"2010-12-09"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"LATEST_FIREFOX_VERSION":"3.6.13","LATEST_FIREFOX_DEVEL_VERSION":"4.0b10","LATEST_FIREFOX_RELEASED_DEVEL_VERSION":"4.0b10","LATEST_FIREFOX_OLDER_VERSION":"3.5.16"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1 @@
{"1.1b1":"2010-04-28","1.1rc1":"2010-06-16","4.0b1":"2010-10-06","4.0b2":"2010-11-04","4.0b3":"2010-12-22"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0":"2010-01-28","1.1":"2010-07-01"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0.1":"2010-04-13"}

Просмотреть файл

@ -0,0 +1 @@
[]

Просмотреть файл

@ -0,0 +1 @@
{"1.0rc1":"2004-12-01","1.5b1":"2005-09-09","1.5b2":"2005-10-07","1.5rc1":"2005-11-05","1.5rc2":"2005-12-21","2.0b1":"2006-12-12","2.0b2":"2007-01-23","2.0rc1":"2007-04-06","3.0a1":"2008-05-12","3.0a2":"2008-07-13","3.0a3":"2008-10-14","3.0b1":"2008-12-09","3.0b2":"2009-02-26","3.0b3":"2009-07-21","3.0b4":"2009-10-22","3.0rc1":"2009-11-24","3.0rc2":"2009-12-01","3.1a1":"2010-02-03","3.1b1":"2010-03-10","3.1rc1":"2010-05-27","3.1rc2":"2010-06-09"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0":"2004-12-07","1.5":"2006-01-11","2.0":"2007-04-18","3.0":"2009-12-08","3.1":"2010-06-24"}

Просмотреть файл

@ -0,0 +1 @@
{"1.0.2":"2005-03-21","1.0.5":"2005-07-13","1.0.6":"2005-07-19","1.0.7":"2005-09-29","1.0.8":"2006-04-21","1.5.0.2":"2006-04-21","1.5.0.4":"2006-06-01","1.5.0.5":"2006-07-27","1.5.0.7":"2006-09-14","1.5.0.8":"2006-11-08","1.5.0.9":"2006-12-19","1.5.0.10":"2007-03-01","1.5.0.12":"2007-05-30","1.5.0.13":"2007-08-23","2.0.0.4":"2007-06-14","2.0.0.5":"2007-07-19","2.0.0.6":"2007-08-01","2.0.0.9":"2007-11-14","2.0.0.12":"2008-02-26","2.0.0.14":"2008-05-01","2.0.0.16":"2008-07-23","2.0.0.17":"2008-09-25","2.0.0.18":"2008-11-19","2.0.0.19":"2008-12-30","2.0.0.21":"2009-03-18","2.0.0.22":"2009-06-22","2.0.0.23":"2009-08-20","2.0.0.24":"2010-03-16","3.0.1":"2010-01-20","3.0.2":"2010-02-25","3.0.3":"2010-03-01","3.0.4":"2010-03-30","3.0.5":"2010-06-17","3.0.6":"2010-07-20","3.0.7":"2010-09-07","3.0.8":"2010-09-16","3.0.9":"2010-10-19","3.0.10":"2010-10-27","3.1.1":"2010-07-20","3.1.2":"2010-08-05","3.1.3":"2010-09-07","3.1.4":"2010-09-16","3.1.5":"2010-10-19","3.1.6":"2010-10-27"}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше