Commit 701f54a7 authored by matejcik's avatar matejcik

Merge branch 'master' into group-acl

parents bda745b3 8b8449f2
......@@ -25,6 +25,7 @@ Released on ? 2015.
* Improved support for XLIFF files.
* Extended list of options for import_project.
* Improved targeting for whiteboard messages.
* Support for automatic translation across projects.
weblate 2.4
-----------
......
......@@ -22,4 +22,4 @@ import os
VIRTENV = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
VIRTUALENV = os.path.join(VIRTENV, 'bin/activate_this.py')
execfile(VIRTUALENV, dict(__file__=VIRTUALENV))
exec(open(VIRTUALENV).read(), dict(__file__=VIRTUALENV))
......@@ -28,8 +28,8 @@ sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'openshift'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'weblate.settings_openshift'
execfile(os.path.join(
exec(open(os.path.join(
os.environ['OPENSHIFT_REPO_DIR'], 'openshift', 'virtualenv.py'
))
)).read())
application = get_wsgi_application()
......@@ -22,9 +22,9 @@
import os
from string import Template
execfile(os.path.join(
exec(open(os.path.join(
os.environ['OPENSHIFT_REPO_DIR'], 'openshift', 'virtualenv.py'
))
)).read())
def application(environ, start_response):
......
......@@ -7,9 +7,6 @@
# pygtk.require().
#init-hook=
# Profiled execution.
profile=no
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=migrations,settings.py,settings_openshift.py,settings_test.py,settings_test_mysql.py,settings_test_postgresql.py,settings_test_sqlite.py,.git,test-repos,repos,settings_test_nose.py
......@@ -43,14 +40,12 @@ load-plugins=pylint_django
# W0142 Used * or * magic* Used when a function or method is called using *args or **kwargs to dispatch arguments.
# W0613 Unused argument %r Used when a function or method argument is not used.
# R0201 Method could be a function
# E1101 does not work well on metaclasses like Django models or Mechanize browser
# E1103 does not work with WSGIRequest or file objects
# W0703 Catching too general exception Exception
# R0921,R0922 Is raised when abstract classes are used in different module
# E1002 Produces lot of false positives with Django 1.5
# R0401(cyclic-import) we have too many of them
# C0411(wrong-import-order) should be probably fixed
disable=C0111,I0011,W0142,W0613,W0703,R0201,E1103,E1101,R0401,R0921,R0922,E1002,C0411
# W0122(exec-used) exec is used in openshift
disable=C0111,I0011,W0142,W0613,W0703,R0201,E1103,R0401,R0921,R0922,W0122
[REPORTS]
......@@ -75,10 +70,6 @@ reports=no
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Add a comment according to your evaluation note. This is used by the global
# evaluation report (RP0004).
comment=no
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
......@@ -99,10 +90,6 @@ ignored-modules=six.moves
# (useful for classes with attributes dynamically set).
ignored-classes=SQLObject
# When zope mode is activated, add a predefined set of Zope acquired attributes
# to generated-members.
zope=no
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed. Python regular
# expressions are accepted.
......@@ -126,7 +113,7 @@ additional-builtins=
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=80
max-line-length=79
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
......@@ -172,9 +159,6 @@ ignore-imports=no
[BASIC]
# Required attributes for module, separated by a comma
required-attributes=
# List of builtins function names that should not be used, separated by a comma
bad-functions=map,filter,apply,input,file
......@@ -321,10 +305,6 @@ max-public-methods=110
[CLASSES]
# List of interface methods to ignore, separated by a comma. This is used for
# instance to not check methods defines in Zope's Interface base class.
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
......
......@@ -19,10 +19,11 @@
#
from django.contrib import admin
from weblate.accounts.models import Profile, VerifiedEmail
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from weblate.accounts.models import Profile, VerifiedEmail
class ProfileAdmin(admin.ModelAdmin):
list_display = [
......
......@@ -20,12 +20,6 @@
import sys
from weblate.appsettings import ANONYMOUS_USER_NAME
from weblate.trans.util import report_error
import social.backends.email
from social.exceptions import AuthMissingParameter
from django.contrib.auth.models import User
from django.contrib import messages
from django.shortcuts import redirect
......@@ -33,9 +27,14 @@ from django.core.urlresolvers import reverse
from django.db.models.signals import pre_save
from django.dispatch.dispatcher import receiver
from django.utils.translation import ugettext as _
from django.contrib.auth.backends import ModelBackend
import social.backends.email
from social.exceptions import AuthMissingParameter
from weblate.appsettings import ANONYMOUS_USER_NAME
from weblate.trans.util import report_error
class EmailAuth(social.backends.email.EmailAuth):
"""Social auth handler to better report errors."""
......
......@@ -23,8 +23,10 @@ from __future__ import unicode_literals
import sys
import hashlib
import os.path
from six.moves.urllib.request import Request, urlopen
from six.moves.urllib.parse import urlencode
from django.core.cache import caches, InvalidCacheBackendError
from django.utils.html import escape
from django.utils.safestring import mark_safe
......@@ -32,17 +34,17 @@ from django.utils.translation import pgettext
from django.core.urlresolvers import reverse
from django.conf import settings
from weblate import USER_AGENT
from weblate.logger import LOGGER
from weblate import appsettings
from weblate.trans.util import report_error
try:
import libravatar # pylint: disable=import-error
HAS_LIBRAVATAR = True
except ImportError:
HAS_LIBRAVATAR = False
from weblate import USER_AGENT
from weblate.logger import LOGGER
from weblate import appsettings
from weblate.trans.util import report_error
def avatar_for_email(email, size=80):
"""
......
......@@ -22,14 +22,15 @@ Simple mathematical captcha.
"""
from __future__ import unicode_literals
from django.conf import settings
import hashlib
import binascii
import time
from random import randint, choice
import ast
import binascii
import hashlib
import operator
from random import randint, choice
import time
from django.conf import settings
TIMEDELTA = 600
......
......@@ -29,18 +29,18 @@ from django.contrib.auth.models import User
from django.utils.encoding import force_text
from crispy_forms.helper import FormHelper
from weblate.accounts.models import Profile, VerifiedEmail
from weblate.accounts.captcha import MathCaptcha
from weblate.lang.models import Language
from weblate.trans.models import Project
from weblate.logger import LOGGER
try:
import pyuca # pylint: disable=import-error
HAS_PYUCA = True
except ImportError:
HAS_PYUCA = False
from weblate.accounts.models import Profile, VerifiedEmail
from weblate.accounts.captcha import MathCaptcha
from weblate.lang.models import Language
from weblate.trans.models import Project
from weblate.logger import LOGGER
def remove_accents(input_str):
"""
......
......@@ -18,9 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from optparse import make_option
from django.core.management.base import BaseCommand, CommandError
from django.contrib.sites.models import Site
from optparse import make_option
class Command(BaseCommand):
......
......@@ -18,11 +18,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
from optparse import make_option
import string
import random
import string
from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
class Command(BaseCommand):
......
......@@ -18,9 +18,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import json
from django.core.management.base import BaseCommand, CommandError
from weblate.accounts.models import Profile
import json
class Command(BaseCommand):
......
......@@ -18,12 +18,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import json
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
from weblate.accounts.models import Profile
from weblate.lang.models import Language
from weblate.trans.models import Project
import json
class Command(BaseCommand):
......
......@@ -19,11 +19,13 @@
#
from __future__ import unicode_literals
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
from optparse import make_option
import json
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
class Command(BaseCommand):
help = 'imports users from JSON dump of database'
......
......@@ -18,8 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from django.core.management.base import BaseCommand
from optparse import make_option
from django.core.management.base import BaseCommand
from weblate.accounts.models import create_groups, move_users
......
......@@ -30,6 +30,7 @@ from django.conf import settings
from django.contrib.auth.signals import user_logged_in
from django.db.models.signals import post_save, post_migrate
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import python_2_unicode_compatible, force_text
from django.contrib.auth.models import Group, User, Permission
from django.utils import translation as django_translation
from django.template.loader import render_to_string
......@@ -286,7 +287,7 @@ def get_notification_email(language, email, notification,
headers['References'] = references
try:
if info is None:
info = translation_obj.__unicode__()
info = force_text(translation_obj)
LOGGER.info(
'sending notification %s on %s to %s',
notification,
......@@ -375,6 +376,7 @@ def send_notification_email(language, email, notification,
send_mails([email])
@python_2_unicode_compatible
class VerifiedEmail(models.Model):
'''
Storage for verified emails from auth backends.
......@@ -382,7 +384,7 @@ class VerifiedEmail(models.Model):
social = models.ForeignKey(UserSocialAuth)
email = models.EmailField(max_length=254)
def __unicode__(self):
def __str__(self):
return '{0} - {1}'.format(
self.social.user.username,
self.email
......@@ -455,6 +457,7 @@ class ProfileManager(models.Manager):
return self.filter(subscribe_merge_failure=True, subscriptions=project)
@python_2_unicode_compatible
class Profile(models.Model):
'''
User profiles storage.
......@@ -540,7 +543,7 @@ class Profile(models.Model):
objects = ProfileManager()
def __unicode__(self):
def __str__(self):
return self.user.username
def get_user_display(self):
......
......@@ -19,13 +19,15 @@
#
from __future__ import unicode_literals
import json
from django.shortcuts import redirect
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from six.moves.urllib.request import Request, urlopen
import json
from social.pipeline.partial import partial
from social.exceptions import (
......
......@@ -18,10 +18,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from social.strategies.django_strategy import DjangoStrategy
from importlib import import_module
from django.conf import settings
from social.strategies.django_strategy import DjangoStrategy
class WeblateStrategy(DjangoStrategy):
def __init__(self, storage, request=None, tpl=None):
......
......@@ -22,8 +22,10 @@
Tests for user handling.
"""
from django.test import TestCase
from unittest import SkipTest
from django.test import TestCase
import weblate.accounts.forms
......
......@@ -22,9 +22,11 @@
Tests for user handling.
"""
import json
import httpretty
from six.moves.urllib.parse import parse_qs, urlparse
import json
from django.test import TestCase
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
......
......@@ -19,6 +19,7 @@
#
from __future__ import unicode_literals
from django.shortcuts import render, get_object_or_404, redirect
from django.views.decorators.cache import cache_page
from django.http import HttpResponse
......@@ -38,14 +39,14 @@ from django.core.urlresolvers import reverse
from six.moves.urllib.parse import urlencode
from weblate.accounts.forms import (
RegistrationForm, PasswordForm, PasswordChangeForm, EmailForm, ResetForm,
LoginForm, HostingForm, CaptchaRegistrationForm
)
from social.backends.utils import load_backends
from social.apps.django_app.utils import BACKENDS
from social.apps.django_app.views import complete
from weblate.accounts.forms import (
RegistrationForm, PasswordForm, PasswordChangeForm, EmailForm, ResetForm,
LoginForm, HostingForm, CaptchaRegistrationForm
)
from weblate.logger import LOGGER
from weblate.accounts.avatar import get_avatar_image, get_fallback_avatar_url
from weblate.accounts.models import set_lang, remove_user, Profile
......
......@@ -18,8 +18,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from django.conf import settings
import os
from django.conf import settings
def get_script_name(name):
......
......@@ -19,17 +19,20 @@
#
from __future__ import unicode_literals
from datetime import timedelta
from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import python_2_unicode_compatible
from django.utils import timezone
from datetime import timedelta
from weblate.trans.models import Project, SubProject, Change
from weblate.lang.models import Language
@python_2_unicode_compatible
class Plan(models.Model):
name = models.CharField(max_length=100, unique=True)
price = models.IntegerField(default=0)
......@@ -46,17 +49,18 @@ class Plan(models.Model):
class Meta(object):
ordering = ['price']
def __unicode__(self):
def __str__(self):
return self.name
@python_2_unicode_compatible
class Billing(models.Model):
plan = models.ForeignKey(Plan)
user = models.OneToOneField(User)
projects = models.ManyToManyField(Project, blank=True)
trial = models.BooleanField(default=False)
def __unicode__(self):
def __str__(self):
return '{0} ({1})'.format(self.user, self.plan)
def count_changes(self, interval):
......
......@@ -18,8 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from django.core.management.base import BaseCommand
from optparse import make_option
from django.core.management.base import BaseCommand
from weblate.lang.models import Language
......
......@@ -19,9 +19,10 @@
#
from __future__ import unicode_literals
from django.db import models, transaction
from django.db.utils import OperationalError
from django.utils.encoding import force_text
from django.utils.encoding import python_2_unicode_compatible, force_text
from django.utils.translation import ugettext as _, ugettext_lazy
from django.utils.safestring import mark_safe
from django.dispatch import receiver
......@@ -343,6 +344,7 @@ def setup_lang(sender, **kwargs):
Language.objects.setup(False)
@python_2_unicode_compatible
class Language(models.Model, PercentMixin):
PLURAL_CHOICES = (
(data.PLURAL_NONE, 'None'),
......@@ -387,7 +389,7 @@ class Language(models.Model, PercentMixin):
super(Language, self).__init__(*args, **kwargs)
self._percents = None
def __unicode__(self):
def __str__(self):
if self.show_language_code:
return '{0} ({1})'.format(
_(self.name), self.code
......
This diff is collapsed.
......@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2015-05-12 15:53+0200\n"
"Last-Translator: Sevdimali İsa <sevdimaliisayev@mail.ru>\n"
"Language-Team: Azerbaijani <https://hosted.weblate.org/projects/weblate/"
"master/az/>\n"
"PO-Revision-Date: 2016-01-14 15:07+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Azerbaijani "
"<https://hosted.weblate.org/projects/weblate/master/az/>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.3-dev\n"
"X-Generator: Weblate 2.5-dev\n"
#: weblate/accounts/auth.py:47
msgid ""
......@@ -1208,10 +1208,9 @@ msgid "Your translations"
msgstr "Tərcümələriniz"
#: weblate/html/base.html:110
#, fuzzy
#| msgid "Registration"
msgid "Administration"
msgstr "Qeydiyyatdan keç"
msgstr "Administrasiya"
#: weblate/html/base.html:112
msgid "Logout"
......@@ -3151,10 +3150,9 @@ msgid "Loading…"
msgstr "Yüklənir…"
#: weblate/html/project.html:159
#, fuzzy
#| msgid "User"
msgid "Users"
msgstr "İstifadəçi"
msgstr "İstifadəçilər"
#: weblate/html/project.html:173
msgid "Owner"
......
......@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2014-10-10 17:28+0200\n"
"PO-Revision-Date: 2016-01-14 15:07+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Breton <https://hosted.weblate.org/projects/weblate/bootstrap/"
"br/>\n"
"Language-Team: Breton "
"<https://hosted.weblate.org/projects/weblate/master/br/>\n"
"Language: br\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 1.10-dev\n"
"X-Generator: Weblate 2.5-dev\n"
#: weblate/accounts/auth.py:47
msgid ""
......@@ -792,10 +792,9 @@ msgstr "Enrollañ"
#: weblate/html/accounts/profile.html:228
#: weblate/html/accounts/profile.html:273
#: weblate/html/accounts/profile.html:326
#, fuzzy
#| msgid "Subscriptions"
msgid "Description"
msgstr "Koumanantoù"
msgstr "Deskrivadur"
#: weblate/html/accounts/profile.html:49
msgid ""
......@@ -1133,7 +1132,7 @@ msgstr ""
#: weblate/html/admin/ssh.html:28 weblate/html/subproject.html.py:164
#: weblate/html/subproject.html:179
msgid "Generate"
msgstr ""
msgstr "Genel"
#: weblate/html/admin/ssh.html:34
msgid "Known host keys"
......@@ -1450,10 +1449,9 @@ msgid "Words"
msgstr "Gerioù"
#: weblate/html/dictionary.html:15
#, fuzzy
#| msgid "Browse changes"
msgid "Browse"
msgstr "Furchal er c'hemmoù"
msgstr "Furchal"
#: weblate/html/dictionary.html:17
msgid "Add new word"
......@@ -2596,7 +2594,7 @@ msgstr ""
#: weblate/html/js/git-status.html:153
msgid "Reset"
msgstr ""
msgstr "Adderaouekaat"
#: weblate/html/js/git-status.html:156
msgid "Reset all changes in the local repository"
......
......@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2015-10-08 15:03+0200\n"
"Last-Translator: Joan Montané <joan@montane.cat>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/weblate/master/"
"ca/>\n"
"PO-Revision-Date: 2016-01-14 15:07+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Catalan "
"<https://hosted.weblate.org/projects/weblate/master/ca/>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
......@@ -2494,7 +2494,7 @@ msgstr ""
#: weblate/html/js/git-status.html:153
msgid "Reset"
msgstr ""
msgstr "Reinicia"
#: weblate/html/js/git-status.html:156
msgid "Reset all changes in the local repository"
......@@ -2823,7 +2823,7 @@ msgstr "hi ha cadenes noves a traduir sobre %(translation)s al %(site_title)s."
#: weblate/html/mail/new_comment.html:28 weblate/html/mail/new_comment.txt:9
#: weblate/html/unit-context.html.py:8
msgid "Comment:"
msgstr ""
msgstr "Comentari:"
#: weblate/html/mail/new_comment_subject.txt:3
#, python-format
......@@ -3608,7 +3608,7 @@ msgstr ""
#: weblate/html/translation.html:305
msgid "Total"
msgstr ""
msgstr "Total"
#: weblate/html/translation.html:317
msgid "Fuzzy"
......@@ -4607,7 +4607,7 @@ msgstr ""
#: weblate/trans/models/advertisement.py:110
msgid "Text"
msgstr ""
msgstr "Text"
#: weblate/trans/models/advertisement.py:112
msgid "Depending on placement, HTML can be allowed."
......
This diff is collapsed.
......@@ -3,25 +3,26 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"PO-Revision-Date: 2016-01-14 15:11+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Esperanto "
"<https://hosted.weblate.org/projects/weblate/javascript/eo/>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.5-dev\n"
#. Translators: Verb for copy operation
#: weblate/static/loader-bootstrap.js:183
msgid "Copy"
msgstr ""
msgstr "Kopii"
#: weblate/static/loader-bootstrap.js:202
#, javascript-format
......@@ -47,31 +48,31 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:699
#: weblate/static/loader-bootstrap.js:701
msgid "Sunday"
msgstr ""
msgstr "dimanĉo"
#: weblate/static/loader-bootstrap.js:699
msgid "Monday"
msgstr ""
msgstr "lundo"
#: weblate/static/loader-bootstrap.js:699
msgid "Tuesday"
msgstr ""
msgstr "mardo"
#: weblate/static/loader-bootstrap.js:700
msgid "Wednesday"
msgstr ""
msgstr "merkredo"
#: weblate/static/loader-bootstrap.js:700
msgid "Thursday"
msgstr ""
msgstr "ĵaŭdo"
#: weblate/static/loader-bootstrap.js:700
msgid "Friday"
msgstr ""
msgstr "vendredo"
#: weblate/static/loader-bootstrap.js:701
msgid "Saturday"
msgstr ""
msgstr "sabato"
#: weblate/static/loader-bootstrap.js:704
#: weblate/static/loader-bootstrap.js:711
......@@ -147,51 +148,51 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:724
msgid "January"
msgstr ""
msgstr "januaro"
#: weblate/static/loader-bootstrap.js:724
msgid "February"
msgstr ""
msgstr "februaro"
#: weblate/static/loader-bootstrap.js:724
msgid "March"
msgstr ""
msgstr "marto"
#: weblate/static/loader-bootstrap.js:725
msgid "April"
msgstr ""
msgstr "aprilo"
#: weblate/static/loader-bootstrap.js:725
msgid "May"
msgstr ""
msgstr "majo"
#: weblate/static/loader-bootstrap.js:725
msgid "June"
msgstr ""
msgstr "junio"
#: weblate/static/loader-bootstrap.js:725
msgid "July"
msgstr ""
msgstr "julio"
#: weblate/static/loader-bootstrap.js:726
msgid "August"
msgstr ""
msgstr "aŭgusto"
#: weblate/static/loader-bootstrap.js:726
msgid "September"
msgstr ""
msgstr "septembro"
#: weblate/static/loader-bootstrap.js:726
msgid "October"
msgstr ""
msgstr "oktobro"
#: weblate/static/loader-bootstrap.js:727
msgid "November"
msgstr ""
msgstr "novembro"
#: weblate/static/loader-bootstrap.js:727
msgid "December"
msgstr ""
msgstr "decembro"
#: weblate/static/loader-bootstrap.js:730
msgctxt "Short name of month"
......@@ -255,8 +256,8 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:743
msgid "Today"
msgstr ""
msgstr "hodiaŭ"
#: weblate/static/loader-bootstrap.js:744
msgid "Clear"
msgstr ""
msgstr "Vakigi"
......@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2014-12-24 16:19+0200\n"
"Last-Translator: Robin van der Vliet <info@robinvandervliet.nl>\n"
"Language-Team: Frisian <https://hosted.weblate.org/projects/weblate/master/"
"fy/>\n"
"PO-Revision-Date: 2016-01-14 15:07+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Frisian "
"<https://hosted.weblate.org/projects/weblate/master/fy/>\n"
"Language: fy\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.2-dev\n"
"X-Generator: Weblate 2.5-dev\n"
#: weblate/accounts/auth.py:47
msgid ""
......@@ -313,7 +313,7 @@ msgstr ""
#: weblate/accounts/views.py:523 weblate/html/accounts/password.html.py:13
#: weblate/html/accounts/profile.html:186
msgid "Change password"
msgstr ""
msgstr "Wachtwurd wizigjen"
#: weblate/accounts/views.py:537
msgid "Can not reset password, email authentication is disabled!"
......@@ -689,7 +689,7 @@ msgstr "Lisinsjes"
#: weblate/html/js/detail.html.py:57 weblate/html/js/detail.html:69
#: weblate/html/translate.html.py:118 weblate/html/translate.html:299
msgid "Save"
msgstr ""
msgstr "Bewarje"
#: weblate/html/accounts/profile.html:46 weblate/html/accounts/profile.html:77
#: weblate/html/accounts/profile.html:120
......@@ -934,7 +934,7 @@ msgstr "Prestaasjesrapport"
#: weblate/html/admin/performance.html:10 weblate/html/admin/report.html:8
#: weblate/html/admin/ssh.html.py:9
msgid "Home"
msgstr ""
msgstr "Startside"
#: weblate/html/admin/performance.html:10
msgid "Performance"
......@@ -989,7 +989,7 @@ msgstr ""
#: weblate/html/admin/ssh.html:28 weblate/html/subproject.html.py:164
#: weblate/html/subproject.html:179
msgid "Generate"
msgstr ""
msgstr "Generearje"
#: weblate/html/admin/ssh.html:34
msgid "Known host keys"
......@@ -1019,7 +1019,7 @@ msgstr ""
#: weblate/html/admin/ssh.html:61
msgid "Host:"
msgstr ""
msgstr "Host:"
#: weblate/html/admin/ssh.html:63
msgid "Port:"
......@@ -1027,7 +1027,7 @@ msgstr "Poarte:"
#: weblate/html/admin/ssh.html:65
msgid "Submit"
msgstr ""
msgstr "Ferstjoere"
#: weblate/html/admin/ssh.html:68
msgid "More information"
......@@ -1079,10 +1079,9 @@ msgid "Your translations"
msgstr "Jo oersettings"
#: weblate/html/base.html:110
#, fuzzy
#| msgid "Registration"
msgid "Administration"
msgstr "Registraasje"
msgstr "Administraasje"
#: weblate/html/base.html:112
msgid "Logout"
......@@ -1216,7 +1215,7 @@ msgstr ""
#: weblate/html/data.html:65
msgid "Download"
msgstr ""
msgstr "Download"
#: weblate/html/data.html:90 weblate/html/data.html.py:96
msgid "Hook"
......@@ -1257,7 +1256,7 @@ msgstr "Wurden"
#: weblate/html/dictionary.html:15
msgid "Browse"
msgstr ""
msgstr "Ferkenne"
#: weblate/html/dictionary.html:17
msgid "Add new word"
......@@ -1629,7 +1628,7 @@ msgstr "Esperanto"
#: weblate/html/i18n.html:72
msgid "Estonian"
msgstr ""
msgstr "Estysk"
#: weblate/html/i18n.html:73
msgid "Faroese"
......@@ -2372,7 +2371,7 @@ msgstr ""
#: weblate/html/js/git-status.html:153
msgid "Reset"
msgstr ""
msgstr "Ferfarskje"
#: weblate/html/js/git-status.html:156
msgid "Reset all changes in the local repository"
......@@ -3449,7 +3448,7 @@ msgstr "Prosint"
#: weblate/html/translation.html:305
msgid "Total"
msgstr ""
msgstr "Totaal"
#: weblate/html/translation.html:317
msgid "Fuzzy"
......@@ -4162,7 +4161,7 @@ msgstr "E-mail auteur"
#: weblate/trans/forms.py:422
msgid "Query"
msgstr ""
msgstr "Query"
#: weblate/trans/forms.py:427
msgid "Search type"
......@@ -4170,7 +4169,7 @@ msgstr ""
#: weblate/trans/forms.py:430
msgid "Fulltext"
msgstr ""
msgstr "Folsleine tekst"
#: weblate/trans/forms.py:431
msgid "Exact match"
......
......@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: Weblate 1.2\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2015-11-11 09:38+0000\n"
"PO-Revision-Date: 2016-01-14 15:07+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/weblate/master/"
"gl/>\n"
"Language-Team: Galician "
"<https://hosted.weblate.org/projects/weblate/master/gl/>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
......@@ -739,10 +739,9 @@ msgstr "Gardar"
#: weblate/html/accounts/profile.html:228
#: weblate/html/accounts/profile.html:273
#: weblate/html/accounts/profile.html:326
#, fuzzy
#| msgid "Subscriptions"
msgid "Description"
msgstr "Subscricións"
msgstr "Descrición"
#: weblate/html/accounts/profile.html:49
msgid ""
......@@ -897,7 +896,7 @@ msgstr "Proxecto"
#: weblate/html/accounts/profile.html:301
msgid "License"
msgstr ""
msgstr "Licen"
#: weblate/html/accounts/profile.html:328
msgid ""
......@@ -1024,7 +1023,7 @@ msgstr "Confirmación do novo contrasinal"
#: weblate/html/admin/performance.html:47
msgid "Name"
msgstr ""
msgstr "Nome"
#: weblate/html/admin/report.html:17
#, python-format
......@@ -1056,7 +1055,7 @@ msgstr ""
#: weblate/html/admin/ssh.html:28 weblate/html/subproject.html.py:164
#: weblate/html/subproject.html:179
msgid "Generate"
msgstr ""
msgstr "Xerar"
#: weblate/html/admin/ssh.html:34
msgid "Known host keys"
......@@ -1089,18 +1088,17 @@ msgid ""
msgstr ""
#: weblate/html/admin/ssh.html:61
#, fuzzy
#| msgid "Last name"
msgid "Host:"
msgstr "Segundo apelido"
msgstr "Servidor:"
#: weblate/html/admin/ssh.html:63
msgid "Port:"
msgstr ""
msgstr "Porto:"
#: weblate/html/admin/ssh.html:65
msgid "Submit"
msgstr ""
msgstr "Enviar"
#: weblate/html/admin/ssh.html:68
#, fuzzy
......@@ -1175,10 +1173,9 @@ msgid "Your translations"
msgstr "As súas traducións"
#: weblate/html/base.html:110
#, fuzzy
#| msgid "Registration"
msgid "Administration"
msgstr "Rexistro"
msgstr "Administración"
#: weblate/html/base.html:112
msgid "Logout"
......@@ -1367,9 +1364,8 @@ msgid "Words"
msgstr "Palabras"
#: weblate/html/dictionary.html:15
#, fuzzy
msgid "Browse"
msgstr "Cambios recentes"
msgstr "Visualizar"
#: weblate/html/dictionary.html:17
msgid "Add new word"
......@@ -1390,7 +1386,7 @@ msgstr "Importar o corrector"
#: weblate/html/project.html:25 weblate/html/subproject.html.py:29
#: weblate/html/translate.html:163 weblate/html/translation.html.py:28
msgid "History"
msgstr ""
msgstr "Historial"
#: weblate/html/dictionary.html:38 weblate/html/search.html.py:20
#: weblate/html/source-review.html:22 weblate/html/translate.html.py:101
......@@ -2156,7 +2152,7 @@ msgstr "Croata"
#: weblate/html/i18n.html:167
msgid "Simplified Chinese"
msgstr ""
msgstr "Chinés simplificado"
#: weblate/html/i18n.html:168
msgid "Sindhi"
......@@ -2239,10 +2235,9 @@ msgid "Tigrinya"
msgstr "Tigriña"
#: weblate/html/i18n.html:188
#, fuzzy
#| msgid "dictionaries"
msgid "Traditional Chinese"
msgstr "correctores"
msgstr "Chinés tradicional"
#: weblate/html/i18n.html:189
msgid "Tsonga"
......@@ -2580,9 +2575,8 @@ msgstr "Evitar calquera cambio no repositorio"
#: weblate/html/language.html:15 weblate/html/project.html.py:24
#: weblate/html/subproject.html:28 weblate/html/translation.html.py:26
#, fuzzy
msgid "Overview"
msgstr "Revisar"
msgstr "Vista xeral"
#: weblate/html/language.html:18 weblate/html/project.html.py:115
msgid "Glossaries"
......@@ -2954,9 +2948,8 @@ msgstr ""
#: weblate/html/mail/new_comment.html:28 weblate/html/mail/new_comment.txt:9
#: weblate/html/unit-context.html.py:8
#, fuzzy
msgid "Comment:"
msgstr "Comentarios"
msgstr "Comentario:"
#: weblate/html/mail/new_comment_subject.txt:3
#, fuzzy, python-format
......@@ -3231,15 +3224,13 @@ msgstr "Cambios recentes"
#: weblate/html/project.html:148 weblate/html/subproject.html.py:147
#: weblate/html/translate.html:256 weblate/html/translation.html.py:219
#: weblate/trans/forms.py:95
#, fuzzy
msgid "Loading…"
msgstr "Cargando…"
msgstr "A cargar…"
#: weblate/html/project.html:159
#, fuzzy
#| msgid "User"
msgid "Users"
msgstr "Usuario"
msgstr "Usuarios"
#: weblate/html/project.html:173
msgid "Owner"
......@@ -3328,9 +3319,8 @@ msgid "Priority"
msgstr ""
#: weblate/html/source-review.html:43
#, fuzzy
msgid "Comment"
msgstr "Comentarios"
msgstr "Comentario"
#: weblate/html/source-review.html:60
#, fuzzy
......@@ -3864,7 +3854,7 @@ msgstr ""
#: weblate/html/translation.html:305
msgid "Total"
msgstr ""
msgstr "Total"
#: weblate/html/translation.html:317
#, fuzzy
......@@ -4660,7 +4650,7 @@ msgstr "Buscar"
#: weblate/trans/forms.py:430
msgid "Fulltext"
msgstr ""
msgstr "Texto completo"
#: weblate/trans/forms.py:431
msgid "Exact match"
......@@ -4980,7 +4970,7 @@ msgstr ""
#: weblate/trans/models/advertisement.py:110
msgid "Text"
msgstr ""
msgstr "Texto"
#: weblate/trans/models/advertisement.py:112
msgid "Depending on placement, HTML can be allowed."
......
This diff is collapsed.
......@@ -3,24 +3,26 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"PO-Revision-Date: 2016-01-14 15:11+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Armenian "
"<https://hosted.weblate.org/projects/weblate/javascript/hy/>\n"
"Language: hy\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 2.5-dev\n"
#. Translators: Verb for copy operation
#: weblate/static/loader-bootstrap.js:183
msgid "Copy"
msgstr ""
msgstr "Պատճենել"
#: weblate/static/loader-bootstrap.js:202
#, javascript-format
......@@ -46,31 +48,31 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:699
#: weblate/static/loader-bootstrap.js:701
msgid "Sunday"
msgstr ""
msgstr "Կիրակի"
#: weblate/static/loader-bootstrap.js:699
msgid "Monday"
msgstr ""
msgstr "Երկուշաբթի"
#: weblate/static/loader-bootstrap.js:699
msgid "Tuesday"
msgstr ""
msgstr "Երեքշաբթի"
#: weblate/static/loader-bootstrap.js:700
msgid "Wednesday"
msgstr ""
msgstr "Չորեքշաբթի"
#: weblate/static/loader-bootstrap.js:700
msgid "Thursday"
msgstr ""
msgstr "Հինգշաբթի"
#: weblate/static/loader-bootstrap.js:700
msgid "Friday"
msgstr ""
msgstr "Ուրբաթ"
#: weblate/static/loader-bootstrap.js:701
msgid "Saturday"
msgstr ""
msgstr "Շաբաթ"
#: weblate/static/loader-bootstrap.js:704
#: weblate/static/loader-bootstrap.js:711
......@@ -146,51 +148,51 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:724
msgid "January"
msgstr ""
msgstr "Հունվարի"
#: weblate/static/loader-bootstrap.js:724
msgid "February"
msgstr ""
msgstr "Փետրվարի"
#: weblate/static/loader-bootstrap.js:724
msgid "March"
msgstr ""
msgstr "Մարտի"
#: weblate/static/loader-bootstrap.js:725
msgid "April"
msgstr ""
msgstr "Ապրիլի"
#: weblate/static/loader-bootstrap.js:725
msgid "May"
msgstr ""
msgstr "Մայիսի"
#: weblate/static/loader-bootstrap.js:725
msgid "June"
msgstr ""
msgstr "Հունիսի"
#: weblate/static/loader-bootstrap.js:725
msgid "July"
msgstr ""
msgstr "Հուլիսի"
#: weblate/static/loader-bootstrap.js:726
msgid "August"
msgstr ""
msgstr "Օգոստոսի"
#: weblate/static/loader-bootstrap.js:726
msgid "September"
msgstr ""
msgstr "Սեպտեմբերի"
#: weblate/static/loader-bootstrap.js:726
msgid "October"
msgstr ""
msgstr "Հոկտեմբերի"
#: weblate/static/loader-bootstrap.js:727
msgid "November"
msgstr ""
msgstr "Նոյեմբերի"
#: weblate/static/loader-bootstrap.js:727
msgid "December"
msgstr ""
msgstr "Դեկտեմբերի"
#: weblate/static/loader-bootstrap.js:730
msgctxt "Short name of month"
......@@ -254,8 +256,8 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:743
msgid "Today"
msgstr ""
msgstr "Այսօր"
#: weblate/static/loader-bootstrap.js:744
msgid "Clear"
msgstr ""
msgstr "Մաքրել"
This diff is collapsed.
This diff is collapsed.
......@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Weblate 1.2\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: 2016-01-07 00:52+0000\n"
"PO-Revision-Date: 2016-01-09 00:49+0000\n"
"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
"Language-Team: Portuguese "
"<https://hosted.weblate.org/projects/weblate/master/pt/>\n"
......@@ -31,7 +31,6 @@ msgid "None"
msgstr "Nenhum"
#: weblate/accounts/forms.py:86
#, fuzzy
#| msgid ""
#| "Username may contain only letters, numbers and following characters: @ . "
#| "+ - _"
......@@ -39,8 +38,8 @@ msgid ""
"Username may only contain letters, numbers or the following characters: @ . "
"+ - _"
msgstr ""
"O nome de utilizador pode apenas conter letras, números e os seguintes "
"caracteres: @ . + - _"
"O nome de utilizador apenas pode ser constituido por letras, números e as "
"seguintes letras: @ . + - _"
#: weblate/accounts/forms.py:92 weblate/html/project.html.py:164
msgid "Username"
......@@ -56,12 +55,9 @@ msgid "E-mail"
msgstr "Endereço de correio electrónico"
#: weblate/accounts/forms.py:238
#, fuzzy
#| msgid "You can add another emails on Authentication tab."
msgid "You can add another email address on the Authentication tab."
msgstr ""
"Pode adicionar mais endereços de correio electrónico no separador "
"Autenticação."
msgstr "Pode adicionar outro endereço de e-mail no separador Autenticação."
#: weblate/accounts/forms.py:265 weblate/accounts/forms.py:343
#: weblate/html/project.html:165
......@@ -104,12 +100,12 @@ msgid ""
msgstr "Este e-mail já está em uso. Por favor, forneça um e-mail diferente."
#: weblate/accounts/forms.py:384
#, fuzzy, python-format
#, python-format
#| msgid "What is %s?"
msgctxt ""
"Question for a mathematics-based CAPTCHA, the %s is an arithmetic problem"
msgid "What is %s?"
msgstr "O que é %s?"
msgstr "Quanto é %s?"
#: weblate/accounts/forms.py:395
msgid "Please check your math and try again."
......@@ -223,10 +219,9 @@ msgid "Hide completed translations on dashboard"
msgstr "Não mostrar as traduções completadas no painel"
#: weblate/accounts/models.py:487
#, fuzzy
#| msgid "Review of translations since %s"
msgid "Show secondary translations in zen mode"
msgstr "Revisão das traduções desde %s"
msgstr "Mostrar traduções secundárias no modo zen"
#: weblate/accounts/models.py:491
msgid "Hide source if there is secondary language"
......@@ -265,10 +260,9 @@ msgid "Notification on new language request"
msgstr "Notificar sobre novo pedido de idioma"
#: weblate/accounts/pipeline.py:125
#, fuzzy
#| msgid "Registration date"
msgid "New registrations are disabled!"
msgstr "Data de Registo"
msgstr "Não são possíveis novos registos!"
#: weblate/accounts/views.py:90 weblate/accounts/views.py:441
msgid "User registration"
......@@ -283,7 +277,6 @@ msgid "Message has been sent to administrator."
msgstr "A mensagem foi enviada para o administrador."
#: weblate/accounts/views.py:133
#, fuzzy
#| msgid "You can not change demo account on the demo server."
msgid "You cannot change demo account on the demo server."
msgstr "Não pode mudar o perfil demo no servidor demo."
......@@ -359,28 +352,24 @@ msgid "Changes in last quarter"
msgstr ""
#: weblate/billing/models.py:72
#, fuzzy
#| msgid "Activity in last year"
msgid "Changes in last year"
msgstr "Atividade no último ano"
msgstr "Alterações no último ano"
#: weblate/billing/models.py:80 weblate/trans/admin.py:46
#, fuzzy
#| msgid "Status of repositories"
msgid "VCS repositories"
msgstr "Estado dos repositórios"
msgstr "Repositórios VCS"
#: weblate/billing/models.py:86 weblate/trans/admin.py:50
#, fuzzy
#| msgid "Source string:"
msgid "Source strings"
msgstr "Cadeia original:"
msgstr "Cadeias fonte"
#: weblate/billing/models.py:92 weblate/trans/admin.py:54
#, fuzzy
#| msgid "Source"
msgid "Source words"
msgstr "Original"
msgstr "Palavras fonte"
#: weblate/billing/models.py:98 weblate/html/accounts/profile.html.py:21
#: weblate/html/accounts/profile.html:35 weblate/html/language.html.py:6
......@@ -398,10 +387,9 @@ msgid "You don't have privileges to display this page."
msgstr "Não tem permissão para visualizar esta página."
#: weblate/html/403.html:14
#, fuzzy
#| msgid "Donate to Weblate"
msgid "Login to Weblate"
msgstr "Doar para o Weblate"
msgstr "Iniciar sessão no Weblate"
#: weblate/html/403.html:20 weblate/html/404.html.py:15
msgid ""
......@@ -419,10 +407,9 @@ msgid "The page you are looking for was not found."
msgstr "A página que procura não foi encontrada."
#: weblate/html/500.html:5 weblate/trans/views/basic.py:371
#, fuzzy
#| msgid "Server Error"
msgid "Internal Server Error"
msgstr "Erro do servidor"
msgstr "Erro interno de servidor"
#: weblate/html/500.html:9
msgid "Server Error"
......@@ -471,10 +458,9 @@ msgstr ""
"suportar financeiramente."
#: weblate/html/about.html:25
#, fuzzy
#| msgid "Flattr Weblate!"
msgid "Fund Weblate!"
msgstr "Flattr Weblate!"
msgstr "Ajudar o Weblate!"
#: weblate/html/about.html:26 weblate/html/footer.html.py:9
msgid "Donate to Weblate!"
......@@ -512,10 +498,9 @@ msgid "Ask for project hosting"
msgstr "Pedir alojamento para um projeto"
#: weblate/html/about.html:47
#, fuzzy
#| msgid "Missing plurals"
msgid "View hosting plans"
msgstr "Faltam os plurais"
msgstr "Ver planos de alojamento"
#: weblate/html/about.html:48 weblate/html/accounts/hosting.html.py:53
msgid "Contact us for commercial hosting"
......@@ -649,8 +634,9 @@ msgid ""
"Translated content has to be released under <a href=\"http://en.wikipedia."
"org/wiki/Free_software_license\">free license</a>."
msgstr ""
"O conteúdo traduzido tem que ser disponibilizado sob um <a href=\"http://pt."
"wikipedia.org/wiki/Licença_de_software_livre\">licença de software livre</a>."
"O conteúdo traduzido tem que ser disponibilizado nos termos de uma <a href=\""
"http://en.wikipedia.org/wiki/Free_software_license\">licença de softare "
"livre</a>."
#: weblate/html/accounts/hosting.html:37
msgid ""
......@@ -986,10 +972,9 @@ msgid "Recent changes"
msgstr "Modificações recentes"
#: weblate/html/accounts/user.html:47
#, fuzzy
#| msgid "Browse changes"
msgid "Browse all changes for user"
msgstr "Ver as alterações"
msgstr "Explorar todas as alterações do utilizador"
#: weblate/html/activity-tab.html:5
msgid "Activity in last 30 days"
......@@ -1159,24 +1144,18 @@ msgstr ""
"href=\"%(url)s\">a nossa documentação</a> para saber como melhorar."
#: weblate/html/base.html:57
#, fuzzy
#| msgid ""
#| "This Weblate instance hosts translations for various free software "
#| "projects."
msgid "Hosted Weblate, the place to translate your software project."
msgstr ""
"Esta instância do Weblate hospeda traduções de vários projetos de software "
"livre."
msgstr "Hosted Weblate, o local para traduzir o seu software."
#: weblate/html/base.html:59
#, fuzzy
#| msgid ""
#| "This Weblate instance hosts translations for various free software "
#| "projects."
msgid "This site runs Weblate for translating various software projects."
msgstr ""
"Esta instância do Weblate hospeda traduções de vários projetos de software "
"livre."
msgstr "Este sítio web utiliza o Weblate para traduzir diversos projetos."
#: weblate/html/base.html:74
msgid "Toggle navigation"
......@@ -1191,10 +1170,9 @@ msgid "Your translations"
msgstr "As suas traduções"
#: weblate/html/base.html:110
#, fuzzy
#| msgid "Registration"
msgid "Administration"
msgstr "Registo"
msgstr "Administração"
#: weblate/html/base.html:112
msgid "Logout"
......@@ -1465,10 +1443,9 @@ msgid "TermBase eXchange (TBX)"
msgstr "TermBase eXchange (TBX)"
#: weblate/html/dictionary.html:109
#, fuzzy
#| msgid "Browse changes"
msgid "Browse all glossary changes"
msgstr "Ver as alterações"
msgstr "Navegar nas alterações de glossário"
#: weblate/html/edit_dictionary.html:7
msgid "dictionaries"
......@@ -3662,7 +3639,7 @@ msgstr "Esta tradução está bloqueada neste momento."
#: weblate/html/translation.html:269
msgid "Review"
msgstr "Rever"
msgstr "Revisão"
#: weblate/html/translation.html:271
msgid "Review translations touched by other users."
......@@ -4879,7 +4856,7 @@ msgstr "A página principal do projecto de tradução."
#: weblate/trans/models/project.py:91
msgid "Mailing list"
msgstr "Lista de endereços de correio electrónico"
msgstr "Lista de correio"
#: weblate/trans/models/project.py:94
msgid "Mailing list for translators."
......
This diff is collapsed.
This diff is collapsed.
......@@ -3,25 +3,26 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"PO-Revision-Date: 2016-01-14 15:11+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Thai "
"<https://hosted.weblate.org/projects/weblate/javascript/th/>\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2.5-dev\n"
#. Translators: Verb for copy operation
#: weblate/static/loader-bootstrap.js:183
msgid "Copy"
msgstr ""
msgstr "คัดลอก"
#: weblate/static/loader-bootstrap.js:202
#, javascript-format
......@@ -47,31 +48,31 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:699
#: weblate/static/loader-bootstrap.js:701
msgid "Sunday"
msgstr ""
msgstr "อาทิตย์"
#: weblate/static/loader-bootstrap.js:699
msgid "Monday"
msgstr ""
msgstr "วันจันทร์"
#: weblate/static/loader-bootstrap.js:699
msgid "Tuesday"
msgstr ""
msgstr "วันอังคาร"
#: weblate/static/loader-bootstrap.js:700
msgid "Wednesday"
msgstr ""
msgstr "วันพุธ"
#: weblate/static/loader-bootstrap.js:700
msgid "Thursday"
msgstr ""
msgstr "วันพฤหัสบดี"
#: weblate/static/loader-bootstrap.js:700
msgid "Friday"
msgstr ""
msgstr "วันศุกร์"
#: weblate/static/loader-bootstrap.js:701
msgid "Saturday"
msgstr ""
msgstr "วันเสาร์"
#: weblate/static/loader-bootstrap.js:704
#: weblate/static/loader-bootstrap.js:711
......@@ -147,51 +148,51 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:724
msgid "January"
msgstr ""
msgstr "มกราคม"
#: weblate/static/loader-bootstrap.js:724
msgid "February"
msgstr ""
msgstr "กุมภาพันธ์"
#: weblate/static/loader-bootstrap.js:724
msgid "March"
msgstr ""
msgstr "มีนาคม"
#: weblate/static/loader-bootstrap.js:725
msgid "April"
msgstr ""
msgstr "เมษายน"
#: weblate/static/loader-bootstrap.js:725
msgid "May"
msgstr ""
msgstr "พฤษภาคม"
#: weblate/static/loader-bootstrap.js:725
msgid "June"
msgstr ""
msgstr "มิถุนายน"
#: weblate/static/loader-bootstrap.js:725
msgid "July"
msgstr ""
msgstr "กรกฎาคม"
#: weblate/static/loader-bootstrap.js:726
msgid "August"
msgstr ""
msgstr "สิงหาคม"
#: weblate/static/loader-bootstrap.js:726
msgid "September"
msgstr ""
msgstr "กันยายน"
#: weblate/static/loader-bootstrap.js:726
msgid "October"
msgstr ""
msgstr "ตุลาคม"
#: weblate/static/loader-bootstrap.js:727
msgid "November"
msgstr ""
msgstr "พฤศจิกายน"
#: weblate/static/loader-bootstrap.js:727
msgid "December"
msgstr ""
msgstr "ธันวาคม"
#: weblate/static/loader-bootstrap.js:730
msgctxt "Short name of month"
......@@ -255,8 +256,8 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:743
msgid "Today"
msgstr ""
msgstr "วันนี้"
#: weblate/static/loader-bootstrap.js:744
msgid "Clear"
msgstr ""
msgstr "ล้าง"
This diff is collapsed.
......@@ -3,25 +3,26 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: weblate@lists.cihar.com\n"
"POT-Creation-Date: 2015-12-22 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"PO-Revision-Date: 2016-01-14 15:11+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Vietnamese "
"<https://hosted.weblate.org/projects/weblate/javascript/vi/>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2.5-dev\n"
#. Translators: Verb for copy operation
#: weblate/static/loader-bootstrap.js:183
msgid "Copy"
msgstr ""
msgstr "Chép"
#: weblate/static/loader-bootstrap.js:202
#, javascript-format
......@@ -47,31 +48,31 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:699
#: weblate/static/loader-bootstrap.js:701
msgid "Sunday"
msgstr ""
msgstr "Chủ nhật"
#: weblate/static/loader-bootstrap.js:699
msgid "Monday"
msgstr ""
msgstr "Thứ hai"
#: weblate/static/loader-bootstrap.js:699
msgid "Tuesday"
msgstr ""
msgstr "Thứ ba"
#: weblate/static/loader-bootstrap.js:700
msgid "Wednesday"
msgstr ""
msgstr "Thứ tư"
#: weblate/static/loader-bootstrap.js:700
msgid "Thursday"
msgstr ""
msgstr "Thứ năm"
#: weblate/static/loader-bootstrap.js:700
msgid "Friday"
msgstr ""
msgstr "Thứ sáu"
#: weblate/static/loader-bootstrap.js:701
msgid "Saturday"
msgstr ""
msgstr "Thứ bảy"
#: weblate/static/loader-bootstrap.js:704
#: weblate/static/loader-bootstrap.js:711
......@@ -147,51 +148,51 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:724
msgid "January"
msgstr ""
msgstr "Tháng giêng"
#: weblate/static/loader-bootstrap.js:724
msgid "February"
msgstr ""
msgstr "Tháng hai"
#: weblate/static/loader-bootstrap.js:724
msgid "March"
msgstr ""
msgstr "Tháng ba"
#: weblate/static/loader-bootstrap.js:725
msgid "April"
msgstr ""
msgstr "Tháng tư"
#: weblate/static/loader-bootstrap.js:725
msgid "May"
msgstr ""
msgstr "Tháng năm"
#: weblate/static/loader-bootstrap.js:725
msgid "June"
msgstr ""
msgstr "Tháng sáu"
#: weblate/static/loader-bootstrap.js:725
msgid "July"
msgstr ""
msgstr "Tháng bảy"
#: weblate/static/loader-bootstrap.js:726
msgid "August"
msgstr ""
msgstr "Tháng tám"
#: weblate/static/loader-bootstrap.js:726
msgid "September"
msgstr ""
msgstr "Tháng chín"
#: weblate/static/loader-bootstrap.js:726
msgid "October"
msgstr ""
msgstr "Tháng mười"
#: weblate/static/loader-bootstrap.js:727
msgid "November"
msgstr ""
msgstr "Tháng mười một"
#: weblate/static/loader-bootstrap.js:727
msgid "December"
msgstr ""
msgstr "Tháng mười hai"
#: weblate/static/loader-bootstrap.js:730
msgctxt "Short name of month"
......@@ -255,8 +256,8 @@ msgstr ""
#: weblate/static/loader-bootstrap.js:743
msgid "Today"
msgstr ""
msgstr "Hôm nay"
#: weblate/static/loader-bootstrap.js:744
msgid "Clear"
msgstr ""
msgstr "Xóa sạch"
......@@ -20,12 +20,12 @@
from __future__ import print_function, unicode_literals
import importlib
import sys
# For some reasons, this fails in PyLint sometimes...
# pylint: disable=E0611,F0401
from distutils.version import LooseVersion
from weblate.trans.vcs import GitRepository, HgRepository
import importlib
import sys
def get_version_module(module, name, url, optional=False):
......
......@@ -19,9 +19,9 @@
#
from __future__ import unicode_literals
import django
import os
from logging.handlers import SysLogHandler
import django
#
# Safety check for running with too old Django version
......@@ -100,6 +100,7 @@ LANGUAGES = (
('he', 'עברית'),
('hu', 'Magyar'),
('id', 'Indonesia'),
('it', 'Italiano'),
('ja', '日本語'),
('ko', '한국어'),
('ksh', 'Kölsch'),
......
......@@ -19,7 +19,7 @@
#
from __future__ import unicode_literals
from weblate.trans.models import SubProject, IndexUpdate
from django.contrib.sites.models import Site
from django.shortcuts import render
from django.contrib.admin.views.decorators import staff_member_required
......@@ -27,6 +27,8 @@ from django.contrib import admin
from django.utils.translation import ugettext as _
from django.conf import settings
import django
from weblate.trans.models import SubProject, IndexUpdate
from weblate import settings_example
from weblate import appsettings
from weblate.accounts.avatar import HAS_LIBRAVATAR
......
......@@ -19,9 +19,11 @@
#
from __future__ import unicode_literals
from weblate.trans.autofixes.base import AutoFix
from django.utils.translation import ugettext_lazy as _
from weblate.trans.autofixes.base import AutoFix
class ReplaceTrailingDotsWithEllipsis(AutoFix):
'''
......
......@@ -19,11 +19,14 @@
#
from __future__ import unicode_literals
import re
from django.utils.translation import ugettext_lazy as _
from weblate.trans.checks.base import (
TargetCheck, TargetCheckWithFlag, CountingCheck
)
import re
class BeginNewlineCheck(TargetCheck):
......
......@@ -18,9 +18,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import re
from django.utils.translation import ugettext_lazy as _
from weblate.trans.checks.base import TargetCheck
import re
PYTHON_PRINTF_MATCH = re.compile(
r'''
......
......@@ -18,9 +18,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from django.utils.translation import ugettext_lazy as _
from xml.etree import cElementTree
import re
from django.utils.translation import ugettext_lazy as _
from weblate.trans.checks.base import TargetCheck
BBCODE_MATCH = re.compile(
......
......@@ -19,14 +19,17 @@
#
from __future__ import unicode_literals
import re
from django.utils.translation import ugettext_lazy as _
from weblate.trans.checks.base import TargetCheck
from weblate.trans.checks.format import (
PYTHON_PRINTF_MATCH, PHP_PRINTF_MATCH, C_PRINTF_MATCH,
PYTHON_BRACE_MATCH,
)
from weblate.trans.checks.data import SAME_BLACKLIST
import re
# Email address to ignore
EMAIL_RE = re.compile(
......@@ -60,8 +63,8 @@ TEMPLATE_RE = re.compile(r'{[a-z_-]+}|@[A-Z_]@')
RST_MATCH = re.compile(r'(?::ref:`[^`]+`|``[^`]+``)')
SPLIT_RE = re.compile(
ur'(?:\&(?:nbsp|rsaquo|lt|gt|amp|ldquo|rdquo|times|quot);|' +
ur'[() ,.^`"\'\\/_<>!?;:|{}*^@%#&~=+\r\n✓—…\[\]0-9-])+'
r'(?:\&(?:nbsp|rsaquo|lt|gt|amp|ldquo|rdquo|times|quot);|' +
r'[() ,.^`"\'\\/_<>!?;:|{}*^@%#&~=+\r\n✓—…\[\]0-9-])+'
)
# Docbook tags to ignore
......
......@@ -19,10 +19,13 @@
#
from __future__ import unicode_literals
import re
from django.utils.translation import ugettext_lazy as _
from weblate.trans.checks.base import SourceCheck
from weblate.trans.models.unitdata import Check
import re
# Matches (s) not followed by alphanumeric chars or at the end
PLURAL_MATCH = re.compile(r'\(s\)(\W|\Z)')
......
......@@ -18,9 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from datetime import datetime
import weblate
from weblate import appsettings
from datetime import datetime
from weblate.trans.site import get_site_url
from weblate.trans.models.project import Project
from weblate.trans.models.translation import Translation
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment