From 4f6e124d5e1dcdd3a0e58c260502fac7739a3d4d Mon Sep 17 00:00:00 2001 From: Dave Lasley Date: Wed, 25 May 2016 09:24:59 -0700 Subject: [PATCH 1/8] [ADD] letsencrypt (#425) * [ADD] letsencrypt (#347) * [ADD] letsencrypt * [ADD] write bogus restart script for tests * [IMP] exclude library call from coveralls * [IMP] try moving the library import into nocover branch * [ADD] explain how to redirect the well known uri to the odoo instance * [ADD] example for apache * [FIX] cronjob should be noupdate * [FIX] community review * [FIX] flake8 * [DEL] unused imports * [UPD] chain cert * Multi-database support and other fixes (#2) [ADD] multi-database support and other fixes * [ADD] eggs necessary for letsencrypt * [IMP] readme * [ADD] ipv6 localhosts * [ADD] restrict reload command * Revert "[ADD] eggs necessary for letsencrypt" This reverts commit 642df6ba50c319dff3c2e546034c14329c2443e0. * [ADD] eggs necessary for letsencrypt Conflicts: requirements.txt * Migrate letsencrypt to v9 * Add AGPL target link to ReadMe in letsencrypt --- letsencrypt/README.rst | 166 ++++++++++++++++++++++ letsencrypt/__init__.py | 6 + letsencrypt/__openerp__.py | 31 ++++ letsencrypt/controllers/__init__.py | 4 + letsencrypt/controllers/main.py | 19 +++ letsencrypt/data/ir_config_parameter.xml | 10 ++ letsencrypt/data/ir_cron.xml | 14 ++ letsencrypt/hooks.py | 9 ++ letsencrypt/models/__init__.py | 4 + letsencrypt/models/letsencrypt.py | 171 +++++++++++++++++++++++ letsencrypt/static/description/icon.png | Bin 0 -> 2157 bytes letsencrypt/tests/__init__.py | 4 + letsencrypt/tests/test_letsencrypt.py | 14 ++ 13 files changed, 452 insertions(+) create mode 100644 letsencrypt/README.rst create mode 100644 letsencrypt/__init__.py create mode 100644 letsencrypt/__openerp__.py create mode 100644 letsencrypt/controllers/__init__.py create mode 100644 letsencrypt/controllers/main.py create mode 100644 letsencrypt/data/ir_config_parameter.xml create mode 100644 letsencrypt/data/ir_cron.xml create mode 100644 letsencrypt/hooks.py create mode 100644 letsencrypt/models/__init__.py create mode 100644 letsencrypt/models/letsencrypt.py create mode 100644 letsencrypt/static/description/icon.png create mode 100644 letsencrypt/tests/__init__.py create mode 100644 letsencrypt/tests/test_letsencrypt.py diff --git a/letsencrypt/README.rst b/letsencrypt/README.rst new file mode 100644 index 000000000..dfcd02acc --- /dev/null +++ b/letsencrypt/README.rst @@ -0,0 +1,166 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============================================= +Request SSL certificates from letsencrypt.org +============================================= + +This module was written to have your Odoo installation request SSL certificates +from https://letsencrypt.org automatically. + +Installation +============ + +After installation, this module generates a private key for your account at +letsencrypt.org automatically in ``$data_dir/letsencrypt/account.key``. If you +want or need to use your own account key, replace the file. + +For certificate requests to work, your site needs to be accessible via plain +HTTP, see below for configuration examples in case you force your clients to +the SSL version. + +After installation, trigger the cronjob `Update letsencrypt certificates` and +watch your log for messages. + +This addon depends on the ``openssl`` binary and the ``acme_tiny`` and ``IPy`` +python modules. + +For installing the OpenSSL binary you can use your distro package manager. +For Debian and Ubuntu, that would be: + + sudo apt-get install openssl + +For installing the ACME-Tiny python module, use the PIP package manager: + + sudo pip install acme-tiny + +For installing the IPy python module, use the PIP package manager: + + sudo pip install IPy + + +Configuration +============= + +This addons requests a certificate for the domain named in the configuration +parameter ``web.base.url`` - if this comes back as ``localhost`` or the like, +the module doesn't request anything. + +If you want your certificate to contain multiple alternative names, just add +them as configuration parameters ``letsencrypt.altname.N`` with ``N`` starting +from ``0``. The amount of domains that can be added are subject to `rate +limiting `_. + +Note that all those domains must be publicly reachable on port 80 via HTTP, and +they must have an entry for ``.well-known/acme-challenge`` pointing to your odoo +instance. + +Usage +===== + +The module sets up a cronjob that requests and renews certificates automatically. + +After the first run, you'll find a file called ``domain.crt`` in +``$datadir/letsencrypt``, configure your SSL proxy to use this file as certificate. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/149/8.0 + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +In depth configuration +====================== + +This module uses ``openssl`` to generate CSRs suitable to be submitted to +letsencrypt.org. In order to do this, it copies ``/etc/ssl/openssl.cnf`` to a +temporary and adapts it according to its needs (currently, that's just adding a +``[SAN]`` section if necessary). If you want the module to use another configuration +template, set config parameter ``letsencrypt.openssl.cnf``. + +After refreshing the certificate, the module attempts to run the content of +``letsencrypt.reload_command``, which is by default ``sudo service nginx reload``. +Change this to match your server's configuration. + +You'll also need a matching sudo configuration, like:: + + your_odoo_user ALL = NOPASSWD: /usr/sbin/service nginx reload + +Further, if you force users to https, you'll need something like for nginx:: + + if ($scheme = "http") { + set $redirect_https 1; + } + if ($request_uri ~ ^/.well-known/acme-challenge/) { + set $redirect_https 0; + } + if ($redirect_https) { + rewrite ^ https://$server_name$request_uri? permanent; + } + +and this for apache:: + + RewriteEngine On + RewriteCond %{HTTPS} !=on + RewriteCond %{REQUEST_URI} "!^/.well-known/" + RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] + +In case you need to redirect other nginx sites to your Odoo instance, declare +an upstream for your odoo instance and do something like:: + + location /.well-known { + proxy_pass http://yourodooupstream; + } + +If you're using a multi-database installation (with or without dbfilter option) +where /web/databse/selector returns a list of more than one database, then +you need to add ``letsencrypt`` addon to wide load addons list +(by default, only ``web`` addon), setting ``--load`` option. +For example, ``--load=web,letsencrypt`` + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + +Credits +======= + +Contributors +------------ + +* Holger Brunn +* Antonio Espinosa +* Dave Lasley + +ACME implementation +------------------- + +* https://github.com/diafygi/acme-tiny/blob/master/acme_tiny.py + +Icon +---- + +* https://helloworld.letsencrypt.org + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/letsencrypt/__init__.py b/letsencrypt/__init__.py new file mode 100644 index 000000000..5a561ec10 --- /dev/null +++ b/letsencrypt/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import models +from . import controllers +from .hooks import post_init_hook diff --git a/letsencrypt/__openerp__.py b/letsencrypt/__openerp__.py new file mode 100644 index 000000000..01457b807 --- /dev/null +++ b/letsencrypt/__openerp__.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Let's encrypt", + "version": "9.0.1.0.0", + "author": "Therp BV," + "Tecnativa," + "Odoo Community Association (OCA)", + "license": "AGPL-3", + "category": "Hidden/Dependency", + "summary": "Request SSL certificates from letsencrypt.org", + "depends": [ + 'base', + ], + "data": [ + "data/ir_config_parameter.xml", + "data/ir_cron.xml", + ], + "post_init_hook": 'post_init_hook', + "installable": True, + "external_dependencies": { + 'bin': [ + 'openssl', + ], + 'python': [ + 'acme_tiny', + 'IPy', + ], + }, +} diff --git a/letsencrypt/controllers/__init__.py b/letsencrypt/controllers/__init__.py new file mode 100644 index 000000000..b0d7e8a38 --- /dev/null +++ b/letsencrypt/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import main diff --git a/letsencrypt/controllers/main.py b/letsencrypt/controllers/main.py new file mode 100644 index 000000000..03b8c4d15 --- /dev/null +++ b/letsencrypt/controllers/main.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# © 2016 Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import os +from openerp import http +from openerp.http import request +from ..models.letsencrypt import get_challenge_dir + + +class Letsencrypt(http.Controller): + @http.route('/.well-known/acme-challenge/', auth='none') + def acme_challenge(self, filename): + try: + with file(os.path.join(get_challenge_dir(), filename)) as key: + return key.read() + except IOError: + pass + return request.not_found() diff --git a/letsencrypt/data/ir_config_parameter.xml b/letsencrypt/data/ir_config_parameter.xml new file mode 100644 index 000000000..eb3c3f54b --- /dev/null +++ b/letsencrypt/data/ir_config_parameter.xml @@ -0,0 +1,10 @@ + + + + + letsencrypt.reload_command + sudo /usr/sbin/service nginx reload + + + + diff --git a/letsencrypt/data/ir_cron.xml b/letsencrypt/data/ir_cron.xml new file mode 100644 index 000000000..1b43f8609 --- /dev/null +++ b/letsencrypt/data/ir_cron.xml @@ -0,0 +1,14 @@ + + + + + Update letsencrypt certificates + weeks + 11 + -1 + letsencrypt + cron + 2016-01-01 + + + diff --git a/letsencrypt/hooks.py b/letsencrypt/hooks.py new file mode 100644 index 000000000..3332fa23f --- /dev/null +++ b/letsencrypt/hooks.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from openerp import SUPERUSER_ID, api + + +def post_init_hook(cr, pool): + env = api.Environment(cr, SUPERUSER_ID, {}) + env['letsencrypt'].generate_account_key() diff --git a/letsencrypt/models/__init__.py b/letsencrypt/models/__init__.py new file mode 100644 index 000000000..c77cf9b6c --- /dev/null +++ b/letsencrypt/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import letsencrypt diff --git a/letsencrypt/models/letsencrypt.py b/letsencrypt/models/letsencrypt.py new file mode 100644 index 000000000..daa262bb1 --- /dev/null +++ b/letsencrypt/models/letsencrypt.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# © 2016 Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import os +import logging +import urllib2 +import urlparse +import subprocess +import tempfile +from openerp import _, api, models, exceptions +from openerp.tools import config + + +DEFAULT_KEY_LENGTH = 4096 +_logger = logging.getLogger(__name__) + + +def get_data_dir(): + return os.path.join(config.options.get('data_dir'), 'letsencrypt') + + +def get_challenge_dir(): + return os.path.join(get_data_dir(), 'acme-challenge') + + +class Letsencrypt(models.AbstractModel): + _name = 'letsencrypt' + _description = 'Abstract model providing functions for letsencrypt' + + @api.model + def call_cmdline(self, cmdline, loglevel=logging.INFO, + raise_on_result=True): + process = subprocess.Popen( + cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, stderr = process.communicate() + if stderr: + _logger.log(loglevel, stderr) + if stdout: + _logger.log(loglevel, stdout) + + if process.returncode: + raise exceptions.Warning( + _('Error calling %s: %d') % (cmdline[0], process.returncode), + ' '.join(cmdline), + ) + + return process.returncode + + @api.model + def generate_account_key(self): + data_dir = get_data_dir() + if not os.path.isdir(data_dir): + os.makedirs(data_dir) + account_key = os.path.join(data_dir, 'account.key') + if not os.path.isfile(account_key): + _logger.info('generating rsa account key') + self.call_cmdline([ + 'openssl', 'genrsa', '-out', account_key, + str(DEFAULT_KEY_LENGTH), + ]) + assert os.path.isfile(account_key), 'failed to create rsa key' + return account_key + + @api.model + def generate_domain_key(self, domain): + domain_key = os.path.join(get_data_dir(), '%s.key' % domain) + if not os.path.isfile(domain_key): + _logger.info('generating rsa domain key for %s', domain) + self.call_cmdline([ + 'openssl', 'genrsa', '-out', domain_key, + str(DEFAULT_KEY_LENGTH), + ]) + return domain_key + + @api.model + def validate_domain(self, domain): + local_domains = [ + 'localhost', 'localhost.localdomain', 'localhost6', + 'localhost6.localdomain6' + ] + + def _ip_is_private(address): + import IPy + try: + ip = IPy.IP(address) + except: + return False + return ip.iptype() == 'PRIVATE' + + if domain in local_domains or _ip_is_private(domain): + raise exceptions.Warning( + _("Let's encrypt doesn't work with private addresses " + "or local domains!")) + + @api.model + def generate_csr(self, domain): + domains = [domain] + i = 0 + while self.env['ir.config_parameter'].get_param( + 'letsencrypt.altname.%d' % i): + domains.append( + self.env['ir.config_parameter'] + .get_param('letsencrypt.altname.%d' % i) + ) + i += 1 + _logger.info('generating csr for %s', domain) + if len(domains) > 1: + _logger.info('with alternative subjects %s', ','.join(domains[1:])) + config = self.env['ir.config_parameter'].get_param( + 'letsencrypt.openssl.cnf', '/etc/ssl/openssl.cnf') + csr = os.path.join(get_data_dir(), '%s.csr' % domain) + with tempfile.NamedTemporaryFile() as cfg: + cfg.write(open(config).read()) + if len(domains) > 1: + cfg.write( + '\n[SAN]\nsubjectAltName=' + + ','.join(map(lambda x: 'DNS:%s' % x, domains)) + '\n') + cfg.file.flush() + cmdline = [ + 'openssl', 'req', '-new', + self.env['ir.config_parameter'].get_param( + 'letsencrypt.openssl.digest', '-sha256'), + '-key', self.generate_domain_key(domain), + '-subj', '/CN=%s' % domain, '-config', cfg.name, + '-out', csr, + ] + if len(domains) > 1: + cmdline.extend([ + '-reqexts', 'SAN', + ]) + self.call_cmdline(cmdline) + return csr + + @api.model + def cron(self): + domain = urlparse.urlparse( + self.env['ir.config_parameter'].get_param( + 'web.base.url', 'localhost')).netloc + self.validate_domain(domain) + account_key = self.generate_account_key() + csr = self.generate_csr(domain) + acme_challenge = get_challenge_dir() + if not os.path.isdir(acme_challenge): + os.makedirs(acme_challenge) + if self.env.context.get('letsencrypt_dry_run'): + crt_text = 'I\'m a test text' + else: # pragma: no cover + from acme_tiny import get_crt, DEFAULT_CA + crt_text = get_crt( + account_key, csr, acme_challenge, log=_logger, CA=DEFAULT_CA) + with open(os.path.join(get_data_dir(), '%s.crt' % domain), 'w')\ + as crt: + crt.write(crt_text) + chain_cert = urllib2.urlopen( + self.env['ir.config_parameter'].get_param( + 'letsencrypt.chain_certificate_address', + 'https://letsencrypt.org/certs/' + 'lets-encrypt-x3-cross-signed.pem') + ) + crt.write(chain_cert.read()) + chain_cert.close() + _logger.info('wrote %s', crt.name) + reload_cmd = self.env['ir.config_parameter'].get_param( + 'letsencrypt.reload_command', False) + if reload_cmd: + _logger.info('reloading webserver...') + self.call_cmdline(['sh', '-c', reload_cmd]) + else: + _logger.info('no command defined for reloading webserver, please ' + 'do it manually in order to apply new certificate') diff --git a/letsencrypt/static/description/icon.png b/letsencrypt/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6e022beb0480e7e51e3507b0d5b8a83c8e533b GIT binary patch literal 2157 zcmV-z2$J`SP)sZ}~N3j%@sJCV~r#o2WDGq-9o7W57k7tW0{_3MQfiCbbx0 zF>;C9*d|j6*$gfX*!EV!w(Q3r3(hDETZK-u44q5|xGCt20y2U1$Gzv-AH7RUxj)X~ zo^$U#?fXsoPv6sX-uL~y@AEwG^S12jWG$O24w;kol?hP1Ef$e+L(** zOW^a#U-ctABy~JtfaDv-7REA;w}ENHifnA=NCW$V*e)xu(_<_ZDPRn=$>P?aHY>P5 zgy|VdFET)k3=jjv$N(`wj0_MX1H=F^a;6e5Zldkn0z3d*47^T=^>QbF8Oa@|JD5yA zkD$y0`hX4&vQeVg1qGrpzJn4QGTSa8!F-LeLh5*WM8at0YWnysXQysvb1AccrG+(F z%8ydqrxaz2#@MX8yqSeX1EY;QvDibZJeqQsw({kI0nr_dPnxN8uvT!Cow|e1dfqd_ zM;V^`k>?cdoJ>>pN00r*cxLh| zU@h6VEDje8h(xgwe(GQ}&%owoZDWCF6Qqt4z%rm`Skcd=o}He-h;a#hyaL?rpqGJ)4Shr7jV=u&F>DEegL*Kii9LYIM--5XK3V z`Ch{CC3PYVyi1%p$;D!}seWUwal7|ZgcT01`Uf^uQqS{VKi-#ImMo!%2=xeSAWJGC z#21RnT*1^Vmpw;671F=~KkDFHa!~}8I)02&3!F|f8hf$%d$9l!L4o}lJnrL^u|Ssa ziEnktQ^axw%I|tnzwiO_C!3R@9+vAJ9td3$u5tUi_(9LB)V3=?v&`#F+lh;F5vQV!>^=t}^v zA-so855hFyYG8a0)vAyPe=by?6!wTt8FlD+!8nev0b!dg=HnD;mIVmw;k*u3JP6bl zgOjY54iRv7E_XkC^9Wx zr=wJ2aiOajZF7Jyucq7Xl?NQ--lp7 zQg8YOzD5T#odOx>5s(QP%4WH^Q$JRE6Oy$W5ncyZ9}<|MTPXFlZw7jQyfYx`(P1;2 z7cz{(=`QZnoz2NQ7#z>Jiay7rjsA9dgyTd0!yC?k*sKQL$?<^)2=j1;@(C_X$Ui;k zfPdvWdI6ZmQ%KIIP0k=Jm1XohT8Bs@N4167gt-g2%H=fu6s4OmtyxYcmb)0;Cq0<0 z$6bXGcIr@Ht|P8dZe|9HfVqf+W2S?OBfN>tc8PG%)xuEj=2KuZ#UZ7LlzdC-+2oI> zGVd4`nG6sE#K-^%ko--*S2ukVn>C;_K+4WuL93e_7K-HT*xfu+b@=nt20lO~MtI^z zc1PoWbeVtY_o}8QY<)akpro$5H}^ox-7`~Od?BJ6=s$5SFyD{pFXRi1%9Ya*`8|xR zSE7f^wV7O0d64(^?GJ_zu}Z!HJ|1!_3MO)6aGbj2w1pZB+5WWAL|G>6H8Ma95F-P` z05LK^3=ks&WRzxpO1f&tLEX&>=;H3aj2Q3Vyq7WO{bmA16|XU7n2GC=Yru{yF|Q#$Dn;NM4L z43MExE4w+`9gTy&V}RsCcHH4hGBVi!$xp3s$a>8+&Hw*&lL3+kHB)`xq|B2e@hAcO zKaD{Jaxr%JH_Tmmu1TtimN4i3jle<^W#w1b5)YmGLFT@b3qhKL+NfaXvLr?QMMFVu zl1VNaAVvm=0g^8tqUT0gHj@pILP@Eis%h|hCf78LLAX1}O$zu1m6W5}Mb)ZbpnL*a z2SxTR`OyUgfQcxpjSn$0KnxHg1H=F^GC+(BkWmgq?8M0LIY|Tvh#VUEW7$3w93Y(+ z>;d+SU>YY8o(hl;iQ1G{5#Xf}2;&IwEjl;7>x*&mx9(Ak>JxLYtxF;8MwP jPL=Ft|Hji8jSl?}T@X4bC?)d700000NkvXXu0mjfhQ{G5 literal 0 HcmV?d00001 diff --git a/letsencrypt/tests/__init__.py b/letsencrypt/tests/__init__.py new file mode 100644 index 000000000..69c38ee80 --- /dev/null +++ b/letsencrypt/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import test_letsencrypt diff --git a/letsencrypt/tests/test_letsencrypt.py b/letsencrypt/tests/test_letsencrypt.py new file mode 100644 index 000000000..c0dd72a2f --- /dev/null +++ b/letsencrypt/tests/test_letsencrypt.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from openerp.tests.common import TransactionCase + + +class TestLetsencrypt(TransactionCase): + def test_letsencrypt(self): + from ..hooks import post_init_hook + post_init_hook(self.cr, None) + self.env.ref('letsencrypt.config_parameter_reload').write({ + 'value': '', + }) + self.env['letsencrypt'].with_context(letsencrypt_dry_run=True).cron() From 932a2082c19366140cc89e66f64baa9cd626e07b Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Thu, 23 Jun 2016 08:48:44 +0200 Subject: [PATCH 2/8] [ADD] disable our cronjob for demo mode fixes #458 --- letsencrypt/__openerp__.py | 1 + letsencrypt/demo/ir_cron.xml | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 letsencrypt/demo/ir_cron.xml diff --git a/letsencrypt/__openerp__.py b/letsencrypt/__openerp__.py index 01457b807..626b17e12 100644 --- a/letsencrypt/__openerp__.py +++ b/letsencrypt/__openerp__.py @@ -16,6 +16,7 @@ "data": [ "data/ir_config_parameter.xml", "data/ir_cron.xml", + "demo/ir_cron.xml", ], "post_init_hook": 'post_init_hook', "installable": True, diff --git a/letsencrypt/demo/ir_cron.xml b/letsencrypt/demo/ir_cron.xml new file mode 100644 index 000000000..e4451aa59 --- /dev/null +++ b/letsencrypt/demo/ir_cron.xml @@ -0,0 +1,8 @@ + + + + + + + + From 36ead6b9356315ab411176947ab0fb5f836d9335 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Oct 2016 16:08:19 +0200 Subject: [PATCH 3/8] [MIG] Make modules uninstallable --- letsencrypt/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/letsencrypt/__openerp__.py b/letsencrypt/__openerp__.py index 626b17e12..95c6b4f96 100644 --- a/letsencrypt/__openerp__.py +++ b/letsencrypt/__openerp__.py @@ -19,7 +19,7 @@ "demo/ir_cron.xml", ], "post_init_hook": 'post_init_hook', - "installable": True, + 'installable': False, "external_dependencies": { 'bin': [ 'openssl', From 551d63e4fa91202e49138617da1bbb4fcb2b030e Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Oct 2016 16:08:27 +0200 Subject: [PATCH 4/8] [MIG] Rename manifest files --- letsencrypt/{__openerp__.py => __manifest__.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename letsencrypt/{__openerp__.py => __manifest__.py} (100%) diff --git a/letsencrypt/__openerp__.py b/letsencrypt/__manifest__.py similarity index 100% rename from letsencrypt/__openerp__.py rename to letsencrypt/__manifest__.py From 26514662423b528414f9c9263fbe242d91bcb641 Mon Sep 17 00:00:00 2001 From: Ronald Portier Date: Thu, 20 Apr 2017 17:25:11 +0200 Subject: [PATCH 5/8] [10.0][FIX] Make letsencrypt resilient for alternate name removal. (#757) * [FIX] Make letsencrypt resilient for alternate name removal. * [FIX] Do not crash when returning error in letsencrypt cmdline. * [FIX] Restore ordering by name for alternate domains in letsencrypt. Conflicts: letsencrypt/README.rst --- letsencrypt/README.rst | 1 + letsencrypt/models/letsencrypt.py | 27 ++++++++++++--------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/letsencrypt/README.rst b/letsencrypt/README.rst index dfcd02acc..864682eb5 100644 --- a/letsencrypt/README.rst +++ b/letsencrypt/README.rst @@ -139,6 +139,7 @@ Contributors * Holger Brunn * Antonio Espinosa * Dave Lasley +* Ronald Portier ACME implementation ------------------- diff --git a/letsencrypt/models/letsencrypt.py b/letsencrypt/models/letsencrypt.py index daa262bb1..225fc15ad 100644 --- a/letsencrypt/models/letsencrypt.py +++ b/letsencrypt/models/letsencrypt.py @@ -38,13 +38,10 @@ class Letsencrypt(models.AbstractModel): _logger.log(loglevel, stderr) if stdout: _logger.log(loglevel, stdout) - if process.returncode: raise exceptions.Warning( - _('Error calling %s: %d') % (cmdline[0], process.returncode), - ' '.join(cmdline), + _('Error calling %s: %d') % (cmdline[0], process.returncode) ) - return process.returncode @api.model @@ -96,19 +93,19 @@ class Letsencrypt(models.AbstractModel): @api.model def generate_csr(self, domain): domains = [domain] - i = 0 - while self.env['ir.config_parameter'].get_param( - 'letsencrypt.altname.%d' % i): - domains.append( - self.env['ir.config_parameter'] - .get_param('letsencrypt.altname.%d' % i) - ) - i += 1 + parameter_model = self.env['ir.config_parameter'] + altnames = parameter_model.search( + [('key', 'like', 'letsencrypt.altname.')], + order='key' + ) + for altname in altnames: + domains.append(altname.value) _logger.info('generating csr for %s', domain) if len(domains) > 1: _logger.info('with alternative subjects %s', ','.join(domains[1:])) - config = self.env['ir.config_parameter'].get_param( - 'letsencrypt.openssl.cnf', '/etc/ssl/openssl.cnf') + config = parameter_model.get_param( + 'letsencrypt.openssl.cnf', '/etc/ssl/openssl.cnf' + ) csr = os.path.join(get_data_dir(), '%s.csr' % domain) with tempfile.NamedTemporaryFile() as cfg: cfg.write(open(config).read()) @@ -119,7 +116,7 @@ class Letsencrypt(models.AbstractModel): cfg.file.flush() cmdline = [ 'openssl', 'req', '-new', - self.env['ir.config_parameter'].get_param( + parameter_model.get_param( 'letsencrypt.openssl.digest', '-sha256'), '-key', self.generate_domain_key(domain), '-subj', '/CN=%s' % domain, '-config', cfg.name, From a3435d7b0a135aec21b11f8b8cd728a500a162d2 Mon Sep 17 00:00:00 2001 From: Roberto Fichera Date: Fri, 19 May 2017 18:45:56 +0200 Subject: [PATCH 6/8] [10.0][MIG] Migrate letsencrypt --- letsencrypt/__manifest__.py | 4 ++-- letsencrypt/controllers/main.py | 4 ++-- letsencrypt/hooks.py | 2 +- letsencrypt/models/letsencrypt.py | 4 ++-- letsencrypt/tests/test_letsencrypt.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/letsencrypt/__manifest__.py b/letsencrypt/__manifest__.py index 95c6b4f96..60d0395d6 100644 --- a/letsencrypt/__manifest__.py +++ b/letsencrypt/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Let's encrypt", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "author": "Therp BV," "Tecnativa," "Odoo Community Association (OCA)", @@ -19,7 +19,7 @@ "demo/ir_cron.xml", ], "post_init_hook": 'post_init_hook', - 'installable': False, + 'installable': True, "external_dependencies": { 'bin': [ 'openssl', diff --git a/letsencrypt/controllers/main.py b/letsencrypt/controllers/main.py index 03b8c4d15..07df15d77 100644 --- a/letsencrypt/controllers/main.py +++ b/letsencrypt/controllers/main.py @@ -3,8 +3,8 @@ # © 2016 Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import os -from openerp import http -from openerp.http import request +from odoo import http +from odoo.http import request from ..models.letsencrypt import get_challenge_dir diff --git a/letsencrypt/hooks.py b/letsencrypt/hooks.py index 3332fa23f..9a5741c2a 100644 --- a/letsencrypt/hooks.py +++ b/letsencrypt/hooks.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import SUPERUSER_ID, api +from odoo import SUPERUSER_ID, api def post_init_hook(cr, pool): diff --git a/letsencrypt/models/letsencrypt.py b/letsencrypt/models/letsencrypt.py index 225fc15ad..085fdcd34 100644 --- a/letsencrypt/models/letsencrypt.py +++ b/letsencrypt/models/letsencrypt.py @@ -8,8 +8,8 @@ import urllib2 import urlparse import subprocess import tempfile -from openerp import _, api, models, exceptions -from openerp.tools import config +from odoo import _, api, models, exceptions +from odoo.tools import config DEFAULT_KEY_LENGTH = 4096 diff --git a/letsencrypt/tests/test_letsencrypt.py b/letsencrypt/tests/test_letsencrypt.py index c0dd72a2f..3f6002c11 100644 --- a/letsencrypt/tests/test_letsencrypt.py +++ b/letsencrypt/tests/test_letsencrypt.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp.tests.common import TransactionCase +from odoo.tests.common import TransactionCase class TestLetsencrypt(TransactionCase): From 3def8e967ba45ac753d1a8229af767d576f8da0c Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sun, 29 May 2016 10:44:37 -0400 Subject: [PATCH 7/8] OCA Transbot updated translations from Transifex --- letsencrypt/i18n/am.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/ar.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/bg.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/bs.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/ca.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/cs.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/da.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/de.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/el_GR.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/en_GB.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_AR.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_CL.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_CO.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_CR.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_DO.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_EC.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_ES.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_MX.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_PE.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_PY.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/es_VE.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/et.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/eu.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/fa.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/fi.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/fr.po | 54 ++++++++++++++++++++++++++++++++++++ letsencrypt/i18n/fr_CA.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/fr_CH.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/gl.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/gl_ES.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/he.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/hr.po | 52 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/hr_HR.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/hu.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/id.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/it.po | 52 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/ja.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/ko.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/lt.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/lt_LT.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/lv.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/mk.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/mn.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/nb.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/nb_NO.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/nl.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/nl_BE.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/nl_NL.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/pl.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/pt.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/pt_BR.po | 50 +++++++++++++++++++++++++++++++++ letsencrypt/i18n/pt_PT.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/ro.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/ru.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/sk.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/sl.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/sr.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/sr@latin.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/sv.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/th.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/tr.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/tr_TR.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/uk.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/vi.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/vi_VN.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/zh_CN.po | 51 ++++++++++++++++++++++++++++++++++ letsencrypt/i18n/zh_TW.po | 51 ++++++++++++++++++++++++++++++++++ 68 files changed, 3467 insertions(+) create mode 100644 letsencrypt/i18n/am.po create mode 100644 letsencrypt/i18n/ar.po create mode 100644 letsencrypt/i18n/bg.po create mode 100644 letsencrypt/i18n/bs.po create mode 100644 letsencrypt/i18n/ca.po create mode 100644 letsencrypt/i18n/cs.po create mode 100644 letsencrypt/i18n/da.po create mode 100644 letsencrypt/i18n/de.po create mode 100644 letsencrypt/i18n/el_GR.po create mode 100644 letsencrypt/i18n/en_GB.po create mode 100644 letsencrypt/i18n/es.po create mode 100644 letsencrypt/i18n/es_AR.po create mode 100644 letsencrypt/i18n/es_CL.po create mode 100644 letsencrypt/i18n/es_CO.po create mode 100644 letsencrypt/i18n/es_CR.po create mode 100644 letsencrypt/i18n/es_DO.po create mode 100644 letsencrypt/i18n/es_EC.po create mode 100644 letsencrypt/i18n/es_ES.po create mode 100644 letsencrypt/i18n/es_MX.po create mode 100644 letsencrypt/i18n/es_PE.po create mode 100644 letsencrypt/i18n/es_PY.po create mode 100644 letsencrypt/i18n/es_VE.po create mode 100644 letsencrypt/i18n/et.po create mode 100644 letsencrypt/i18n/eu.po create mode 100644 letsencrypt/i18n/fa.po create mode 100644 letsencrypt/i18n/fi.po create mode 100644 letsencrypt/i18n/fr.po create mode 100644 letsencrypt/i18n/fr_CA.po create mode 100644 letsencrypt/i18n/fr_CH.po create mode 100644 letsencrypt/i18n/gl.po create mode 100644 letsencrypt/i18n/gl_ES.po create mode 100644 letsencrypt/i18n/he.po create mode 100644 letsencrypt/i18n/hr.po create mode 100644 letsencrypt/i18n/hr_HR.po create mode 100644 letsencrypt/i18n/hu.po create mode 100644 letsencrypt/i18n/id.po create mode 100644 letsencrypt/i18n/it.po create mode 100644 letsencrypt/i18n/ja.po create mode 100644 letsencrypt/i18n/ko.po create mode 100644 letsencrypt/i18n/lt.po create mode 100644 letsencrypt/i18n/lt_LT.po create mode 100644 letsencrypt/i18n/lv.po create mode 100644 letsencrypt/i18n/mk.po create mode 100644 letsencrypt/i18n/mn.po create mode 100644 letsencrypt/i18n/nb.po create mode 100644 letsencrypt/i18n/nb_NO.po create mode 100644 letsencrypt/i18n/nl.po create mode 100644 letsencrypt/i18n/nl_BE.po create mode 100644 letsencrypt/i18n/nl_NL.po create mode 100644 letsencrypt/i18n/pl.po create mode 100644 letsencrypt/i18n/pt.po create mode 100644 letsencrypt/i18n/pt_BR.po create mode 100644 letsencrypt/i18n/pt_PT.po create mode 100644 letsencrypt/i18n/ro.po create mode 100644 letsencrypt/i18n/ru.po create mode 100644 letsencrypt/i18n/sk.po create mode 100644 letsencrypt/i18n/sl.po create mode 100644 letsencrypt/i18n/sr.po create mode 100644 letsencrypt/i18n/sr@latin.po create mode 100644 letsencrypt/i18n/sv.po create mode 100644 letsencrypt/i18n/th.po create mode 100644 letsencrypt/i18n/tr.po create mode 100644 letsencrypt/i18n/tr_TR.po create mode 100644 letsencrypt/i18n/uk.po create mode 100644 letsencrypt/i18n/vi.po create mode 100644 letsencrypt/i18n/vi_VN.po create mode 100644 letsencrypt/i18n/zh_CN.po create mode 100644 letsencrypt/i18n/zh_TW.po diff --git a/letsencrypt/i18n/am.po b/letsencrypt/i18n/am.po new file mode 100644 index 000000000..eed834f45 --- /dev/null +++ b/letsencrypt/i18n/am.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: Amharic (http://www.transifex.com/oca/OCA-server-tools-9-0/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/ar.po b/letsencrypt/i18n/ar.po new file mode 100644 index 000000000..617f2f191 --- /dev/null +++ b/letsencrypt/i18n/ar.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "اسم العرض" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "المعرف" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/bg.po b/letsencrypt/i18n/bg.po new file mode 100644 index 000000000..b009a1694 --- /dev/null +++ b/letsencrypt/i18n/bg.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Име за Показване" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Последно обновено на" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/bs.po b/letsencrypt/i18n/bs.po new file mode 100644 index 000000000..3c5782e40 --- /dev/null +++ b/letsencrypt/i18n/bs.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Prikaži naziv" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/ca.po b/letsencrypt/i18n/ca.po new file mode 100644 index 000000000..343ded45a --- /dev/null +++ b/letsencrypt/i18n/ca.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Veure el nom" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Darrera modificació el" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/cs.po b/letsencrypt/i18n/cs.po new file mode 100644 index 000000000..847db3afc --- /dev/null +++ b/letsencrypt/i18n/cs.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Zobrazovaný název" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Naposled upraveno" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/da.po b/letsencrypt/i18n/da.po new file mode 100644 index 000000000..4e7eed566 --- /dev/null +++ b/letsencrypt/i18n/da.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Vist navn" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "Id" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/de.po b/letsencrypt/i18n/de.po new file mode 100644 index 000000000..ad9df026a --- /dev/null +++ b/letsencrypt/i18n/de.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 02:43+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-9-0/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/el_GR.po b/letsencrypt/i18n/el_GR.po new file mode 100644 index 000000000..c3090a538 --- /dev/null +++ b/letsencrypt/i18n/el_GR.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: Greek (Greece) (http://www.transifex.com/oca/OCA-server-tools-9-0/language/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "Κωδικός" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/en_GB.po b/letsencrypt/i18n/en_GB.po new file mode 100644 index 000000000..2ef5ba3fe --- /dev/null +++ b/letsencrypt/i18n/en_GB.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/teams/23907/en_GB/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en_GB\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Display Name" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Last Modified on" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es.po b/letsencrypt/i18n/es.po new file mode 100644 index 000000000..b65f3f694 --- /dev/null +++ b/letsencrypt/i18n/es.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última actualización por" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_AR.po b/letsencrypt/i18n/es_AR.po new file mode 100644 index 000000000..65bb67a40 --- /dev/null +++ b/letsencrypt/i18n/es_AR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/teams/23907/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_CL.po b/letsencrypt/i18n/es_CL.po new file mode 100644 index 000000000..5e670713d --- /dev/null +++ b/letsencrypt/i18n/es_CL.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Chile) (https://www.transifex.com/oca/teams/23907/es_CL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID (identificación)" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_CO.po b/letsencrypt/i18n/es_CO.po new file mode 100644 index 000000000..c3495f19f --- /dev/null +++ b/letsencrypt/i18n/es_CO.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre Público" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_CR.po b/letsencrypt/i18n/es_CR.po new file mode 100644 index 000000000..c4b0424c3 --- /dev/null +++ b/letsencrypt/i18n/es_CR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/teams/23907/es_CR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_DO.po b/letsencrypt/i18n/es_DO.po new file mode 100644 index 000000000..d36920884 --- /dev/null +++ b/letsencrypt/i18n/es_DO.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/oca/teams/23907/es_DO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_DO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_EC.po b/letsencrypt/i18n/es_EC.po new file mode 100644 index 000000000..ae0f915cc --- /dev/null +++ b/letsencrypt/i18n/es_EC.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/es_EC/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_EC\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID (identificación)" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_ES.po b/letsencrypt/i18n/es_ES.po new file mode 100644 index 000000000..67072ba49 --- /dev/null +++ b/letsencrypt/i18n/es_ES.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_ES\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre para mostrar" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_MX.po b/letsencrypt/i18n/es_MX.po new file mode 100644 index 000000000..8c207e3a5 --- /dev/null +++ b/letsencrypt/i18n/es_MX.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre desplegado" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Ultima modificacion realizada" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_PE.po b/letsencrypt/i18n/es_PE.po new file mode 100644 index 000000000..7b29d4b23 --- /dev/null +++ b/letsencrypt/i18n/es_PE.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Peru) (https://www.transifex.com/oca/teams/23907/es_PE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_PE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nombre a Mostrar" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Ultima Modificación en" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_PY.po b/letsencrypt/i18n/es_PY.po new file mode 100644 index 000000000..94a7aaf1a --- /dev/null +++ b/letsencrypt/i18n/es_PY.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Paraguay) (https://www.transifex.com/oca/teams/23907/es_PY/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_PY\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/es_VE.po b/letsencrypt/i18n/es_VE.po new file mode 100644 index 000000000..7e81dacd7 --- /dev/null +++ b/letsencrypt/i18n/es_VE.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/teams/23907/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Mostrar nombre" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Modificada por última vez" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/et.po b/letsencrypt/i18n/et.po new file mode 100644 index 000000000..9787518c0 --- /dev/null +++ b/letsencrypt/i18n/et.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Näidatav nimi" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Viimati muudetud" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/eu.po b/letsencrypt/i18n/eu.po new file mode 100644 index 000000000..6385d58b5 --- /dev/null +++ b/letsencrypt/i18n/eu.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/fa.po b/letsencrypt/i18n/fa.po new file mode 100644 index 000000000..3a595f1ef --- /dev/null +++ b/letsencrypt/i18n/fa.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "نام نمایشی" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "شناسه" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "تاریخ آخرین به‌روزرسانی" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/fi.po b/letsencrypt/i18n/fi.po new file mode 100644 index 000000000..fac54fe59 --- /dev/null +++ b/letsencrypt/i18n/fi.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-09 10:34+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: Finnish (http://www.transifex.com/oca/OCA-server-tools-9-0/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nimi" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/fr.po b/letsencrypt/i18n/fr.po new file mode 100644 index 000000000..87a054ce5 --- /dev/null +++ b/letsencrypt/i18n/fr.po @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +# Quentin THEURET , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: Quentin THEURET , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "Modèle abstrait fournissant les fonctions pour letsencrypt" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "Erreur lors de l'appel %s : %d" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" +"Let's encrypt ne fonctionne pas avec des adresses privées ou des domaines " +"locaux !" diff --git a/letsencrypt/i18n/fr_CA.po b/letsencrypt/i18n/fr_CA.po new file mode 100644 index 000000000..962490758 --- /dev/null +++ b/letsencrypt/i18n/fr_CA.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/fr_CA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CA\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "Identifiant" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/fr_CH.po b/letsencrypt/i18n/fr_CH.po new file mode 100644 index 000000000..f43f08282 --- /dev/null +++ b/letsencrypt/i18n/fr_CH.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/gl.po b/letsencrypt/i18n/gl.po new file mode 100644 index 000000000..9f0553755 --- /dev/null +++ b/letsencrypt/i18n/gl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última modificación" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/gl_ES.po b/letsencrypt/i18n/gl_ES.po new file mode 100644 index 000000000..52180cec8 --- /dev/null +++ b/letsencrypt/i18n/gl_ES.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (Spain) (https://www.transifex.com/oca/teams/23907/gl_ES/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl_ES\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/he.po b/letsencrypt/i18n/he.po new file mode 100644 index 000000000..4a0b0c06b --- /dev/null +++ b/letsencrypt/i18n/he.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hebrew (https://www.transifex.com/oca/teams/23907/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "השם המוצג" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "מזהה" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "תאריך שינוי אחרון" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/hr.po b/letsencrypt/i18n/hr.po new file mode 100644 index 000000000..d20e92870 --- /dev/null +++ b/letsencrypt/i18n/hr.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 18:41+0000\n" +"PO-Revision-Date: 2018-03-02 18:41+0000\n" +"Last-Translator: Bole , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "Apstraktni model sa metodama za letsencrypt" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Naziv " + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "Greška u pozivu %s: %d" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zadnje modificirano" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "Let's encrypt ne radi sa privatnim adresama ili lokalnim domenama." diff --git a/letsencrypt/i18n/hr_HR.po b/letsencrypt/i18n/hr_HR.po new file mode 100644 index 000000000..0d36127a3 --- /dev/null +++ b/letsencrypt/i18n/hr_HR.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-09 12:31+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-server-tools-9-0/language/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zadnje modificirano" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/hu.po b/letsencrypt/i18n/hu.po new file mode 100644 index 000000000..6f402dd1d --- /dev/null +++ b/letsencrypt/i18n/hu.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Utolsó frissítés dátuma" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/id.po b/letsencrypt/i18n/id.po new file mode 100644 index 000000000..6768761ff --- /dev/null +++ b/letsencrypt/i18n/id.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Terakhir Dimodifikasi pada" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/it.po b/letsencrypt/i18n/it.po new file mode 100644 index 000000000..98f284d31 --- /dev/null +++ b/letsencrypt/i18n/it.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 02:25+0000\n" +"PO-Revision-Date: 2018-01-06 02:25+0000\n" +"Last-Translator: Paolo Valier , 2018\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "Modello astratto che fornisce funzioni per letsencrypt" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nome da visualizzare" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "Errore chiamando %s: %d" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "Let's encrypt non funziona con indirizzi privati o domini locali!" diff --git a/letsencrypt/i18n/ja.po b/letsencrypt/i18n/ja.po new file mode 100644 index 000000000..d95945434 --- /dev/null +++ b/letsencrypt/i18n/ja.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "表示名" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/ko.po b/letsencrypt/i18n/ko.po new file mode 100644 index 000000000..0074a455b --- /dev/null +++ b/letsencrypt/i18n/ko.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Korean (https://www.transifex.com/oca/teams/23907/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "표시 이름" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/lt.po b/letsencrypt/i18n/lt.po new file mode 100644 index 000000000..b0f042ab9 --- /dev/null +++ b/letsencrypt/i18n/lt.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Vaizduojamas pavadinimas" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/lt_LT.po b/letsencrypt/i18n/lt_LT.po new file mode 100644 index 000000000..e49e85f80 --- /dev/null +++ b/letsencrypt/i18n/lt_LT.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/teams/23907/lt_LT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt_LT\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/lv.po b/letsencrypt/i18n/lv.po new file mode 100644 index 000000000..0fe3e0a0e --- /dev/null +++ b/letsencrypt/i18n/lv.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/mk.po b/letsencrypt/i18n/mk.po new file mode 100644 index 000000000..86eaec700 --- /dev/null +++ b/letsencrypt/i18n/mk.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Прикажи име" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Последна промена на" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/mn.po b/letsencrypt/i18n/mn.po new file mode 100644 index 000000000..43016a84a --- /dev/null +++ b/letsencrypt/i18n/mn.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Дэлгэцийн Нэр" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/nb.po b/letsencrypt/i18n/nb.po new file mode 100644 index 000000000..b602a047e --- /dev/null +++ b/letsencrypt/i18n/nb.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Visnings navn" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Sist oppdatert " + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/nb_NO.po b/letsencrypt/i18n/nb_NO.po new file mode 100644 index 000000000..2cfa2ff90 --- /dev/null +++ b/letsencrypt/i18n/nb_NO.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb_NO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Sist endret den" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/nl.po b/letsencrypt/i18n/nl.po new file mode 100644 index 000000000..5aa027e8d --- /dev/null +++ b/letsencrypt/i18n/nl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Te tonen naam" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Laatst bijgewerkt op" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/nl_BE.po b/letsencrypt/i18n/nl_BE.po new file mode 100644 index 000000000..596879d3a --- /dev/null +++ b/letsencrypt/i18n/nl_BE.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/nl_BE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_BE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Laatst Aangepast op" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/nl_NL.po b/letsencrypt/i18n/nl_NL.po new file mode 100644 index 000000000..7ecf33da7 --- /dev/null +++ b/letsencrypt/i18n/nl_NL.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "weergavenaam" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Laatst gewijzigd op" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/pl.po b/letsencrypt/i18n/pl.po new file mode 100644 index 000000000..735f2110d --- /dev/null +++ b/letsencrypt/i18n/pl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Wyświetlana nazwa " + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Ostatnio modyfikowano" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/pt.po b/letsencrypt/i18n/pt.po new file mode 100644 index 000000000..552c81552 --- /dev/null +++ b/letsencrypt/i18n/pt.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nome" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última Modificação Em" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/pt_BR.po b/letsencrypt/i18n/pt_BR.po new file mode 100644 index 000000000..7864acbc8 --- /dev/null +++ b/letsencrypt/i18n/pt_BR.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-09 10:34+0000\n" +"PO-Revision-Date: 2016-05-25 16:43+0000\n" +"Last-Translator: <>\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-tools-9-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nome para Mostrar" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:44 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "Identificação" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última atualização em" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:93 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/pt_PT.po b/letsencrypt/i18n/pt_PT.po new file mode 100644 index 000000000..39fdd34d9 --- /dev/null +++ b/letsencrypt/i18n/pt_PT.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nome a Apresentar" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Última Modificação Em" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/ro.po b/letsencrypt/i18n/ro.po new file mode 100644 index 000000000..fe6cd0181 --- /dev/null +++ b/letsencrypt/i18n/ro.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Nume Afişat" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Ultima actualizare în" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/ru.po b/letsencrypt/i18n/ru.po new file mode 100644 index 000000000..7018c3dd2 --- /dev/null +++ b/letsencrypt/i18n/ru.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/sk.po b/letsencrypt/i18n/sk.po new file mode 100644 index 000000000..f5f504594 --- /dev/null +++ b/letsencrypt/i18n/sk.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Zobraziť meno" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Posledná modifikácia" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/sl.po b/letsencrypt/i18n/sl.po new file mode 100644 index 000000000..179a156b0 --- /dev/null +++ b/letsencrypt/i18n/sl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:10+0000\n" +"PO-Revision-Date: 2017-12-01 02:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Prikazni naziv" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/sr.po b/letsencrypt/i18n/sr.po new file mode 100644 index 000000000..e7294695d --- /dev/null +++ b/letsencrypt/i18n/sr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (https://www.transifex.com/oca/teams/23907/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/sr@latin.po b/letsencrypt/i18n/sr@latin.po new file mode 100644 index 000000000..f750837d1 --- /dev/null +++ b/letsencrypt/i18n/sr@latin.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/sr@latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr@latin\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Ime za prikaz" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Zadnja izmjena" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/sv.po b/letsencrypt/i18n/sv.po new file mode 100644 index 000000000..0e2caac41 --- /dev/null +++ b/letsencrypt/i18n/sv.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Visa namn" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/th.po b/letsencrypt/i18n/th.po new file mode 100644 index 000000000..b63d3d64a --- /dev/null +++ b/letsencrypt/i18n/th.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "ชื่อที่ใช้แสดง" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "รหัส" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/tr.po b/letsencrypt/i18n/tr.po new file mode 100644 index 000000000..4f20a31f4 --- /dev/null +++ b/letsencrypt/i18n/tr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Görünen İsim" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Son değişiklik" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/tr_TR.po b/letsencrypt/i18n/tr_TR.po new file mode 100644 index 000000000..5a1dbd80c --- /dev/null +++ b/letsencrypt/i18n/tr_TR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Görünen ad" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "Kimlik" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "En son güncelleme tarihi" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/uk.po b/letsencrypt/i18n/uk.po new file mode 100644 index 000000000..48459c47a --- /dev/null +++ b/letsencrypt/i18n/uk.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Ukrainian (https://www.transifex.com/oca/teams/23907/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Назва для відображення" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Остання модифікація" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/vi.po b/letsencrypt/i18n/vi.po new file mode 100644 index 000000000..afea7f10e --- /dev/null +++ b/letsencrypt/i18n/vi.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/vi_VN.po b/letsencrypt/i18n/vi_VN.po new file mode 100644 index 000000000..0333fc173 --- /dev/null +++ b/letsencrypt/i18n/vi_VN.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/teams/23907/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/zh_CN.po b/letsencrypt/i18n/zh_CN.po new file mode 100644 index 000000000..8d5b06879 --- /dev/null +++ b/letsencrypt/i18n/zh_CN.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "错误,调用%s: %d" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "ID" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "最后修改时间" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" diff --git a/letsencrypt/i18n/zh_TW.po b/letsencrypt/i18n/zh_TW.po new file mode 100644 index 000000000..220cd12c8 --- /dev/null +++ b/letsencrypt/i18n/zh_TW.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * letsencrypt +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:44+0000\n" +"PO-Revision-Date: 2017-08-01 02:44+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: letsencrypt +#: model:ir.model,name:letsencrypt.model_letsencrypt +msgid "Abstract model providing functions for letsencrypt" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:43 +#, python-format +msgid "Error calling %s: %d" +msgstr "" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt_id +msgid "ID" +msgstr "編號" + +#. module: letsencrypt +#: model:ir.model.fields,field_description:letsencrypt.field_letsencrypt___last_update +msgid "Last Modified on" +msgstr "最後修改:" + +#. module: letsencrypt +#: code:addons/letsencrypt/models/letsencrypt.py:90 +#, python-format +msgid "Let's encrypt doesn't work with private addresses or local domains!" +msgstr "" From af36a49add8c494da3962c02b4f5cf1679d47962 Mon Sep 17 00:00:00 2001 From: "Ignacio Ibeas - Acysos S.L" Date: Sun, 13 May 2018 12:08:30 +0200 Subject: [PATCH 8/8] [MIG] letsencrypt: migration to 11.0 --- letsencrypt/README.rst | 1 + letsencrypt/__init__.py | 1 - letsencrypt/__manifest__.py | 4 ++-- letsencrypt/controllers/__init__.py | 1 - letsencrypt/controllers/main.py | 4 ++-- letsencrypt/data/ir_config_parameter.xml | 1 - letsencrypt/data/ir_cron.xml | 8 ++++---- letsencrypt/hooks.py | 1 - letsencrypt/models/__init__.py | 1 - letsencrypt/models/letsencrypt.py | 20 ++++++++++---------- letsencrypt/tests/__init__.py | 1 - letsencrypt/tests/test_letsencrypt.py | 1 - requirements.txt | 2 ++ 13 files changed, 21 insertions(+), 25 deletions(-) diff --git a/letsencrypt/README.rst b/letsencrypt/README.rst index 864682eb5..b1b419bcd 100644 --- a/letsencrypt/README.rst +++ b/letsencrypt/README.rst @@ -140,6 +140,7 @@ Contributors * Antonio Espinosa * Dave Lasley * Ronald Portier +* Ignacio Ibeas ACME implementation ------------------- diff --git a/letsencrypt/__init__.py b/letsencrypt/__init__.py index 5a561ec10..a89dc31af 100644 --- a/letsencrypt/__init__.py +++ b/letsencrypt/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models diff --git a/letsencrypt/__manifest__.py b/letsencrypt/__manifest__.py index 60d0395d6..5c2984289 100644 --- a/letsencrypt/__manifest__.py +++ b/letsencrypt/__manifest__.py @@ -1,11 +1,11 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Let's encrypt", - "version": "10.0.1.0.0", + "version": "11.0.1.0.0", "author": "Therp BV," "Tecnativa," + "Acysos S.L," "Odoo Community Association (OCA)", "license": "AGPL-3", "category": "Hidden/Dependency", diff --git a/letsencrypt/controllers/__init__.py b/letsencrypt/controllers/__init__.py index b0d7e8a38..685eb0d71 100644 --- a/letsencrypt/controllers/__init__.py +++ b/letsencrypt/controllers/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import main diff --git a/letsencrypt/controllers/main.py b/letsencrypt/controllers/main.py index 07df15d77..9d9599117 100644 --- a/letsencrypt/controllers/main.py +++ b/letsencrypt/controllers/main.py @@ -1,6 +1,6 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # © 2016 Antonio Espinosa +# © 2018 Ignacio Ibeas # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import os from odoo import http @@ -12,7 +12,7 @@ class Letsencrypt(http.Controller): @http.route('/.well-known/acme-challenge/', auth='none') def acme_challenge(self, filename): try: - with file(os.path.join(get_challenge_dir(), filename)) as key: + with open(os.path.join(get_challenge_dir(), filename)) as key: return key.read() except IOError: pass diff --git a/letsencrypt/data/ir_config_parameter.xml b/letsencrypt/data/ir_config_parameter.xml index eb3c3f54b..13f91f2ed 100644 --- a/letsencrypt/data/ir_config_parameter.xml +++ b/letsencrypt/data/ir_config_parameter.xml @@ -4,7 +4,6 @@ letsencrypt.reload_command sudo /usr/sbin/service nginx reload - diff --git a/letsencrypt/data/ir_cron.xml b/letsencrypt/data/ir_cron.xml index 1b43f8609..f2f065cd9 100644 --- a/letsencrypt/data/ir_cron.xml +++ b/letsencrypt/data/ir_cron.xml @@ -3,12 +3,12 @@ Update letsencrypt certificates - weeks + + code + model.cron() 11 + weeks -1 - letsencrypt - cron - 2016-01-01 diff --git a/letsencrypt/hooks.py b/letsencrypt/hooks.py index 9a5741c2a..88ac2e889 100644 --- a/letsencrypt/hooks.py +++ b/letsencrypt/hooks.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import SUPERUSER_ID, api diff --git a/letsencrypt/models/__init__.py b/letsencrypt/models/__init__.py index c77cf9b6c..953f1c5d0 100644 --- a/letsencrypt/models/__init__.py +++ b/letsencrypt/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import letsencrypt diff --git a/letsencrypt/models/letsencrypt.py b/letsencrypt/models/letsencrypt.py index 085fdcd34..8899f135a 100644 --- a/letsencrypt/models/letsencrypt.py +++ b/letsencrypt/models/letsencrypt.py @@ -1,11 +1,11 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # © 2016 Antonio Espinosa +# © 2018 Ignacio Ibeas # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import os import logging -import urllib2 -import urlparse +import urllib.request +import urllib.parse import subprocess import tempfile from odoo import _, api, models, exceptions @@ -81,7 +81,7 @@ class Letsencrypt(models.AbstractModel): import IPy try: ip = IPy.IP(address) - except: + except Exception: return False return ip.iptype() == 'PRIVATE' @@ -107,12 +107,12 @@ class Letsencrypt(models.AbstractModel): 'letsencrypt.openssl.cnf', '/etc/ssl/openssl.cnf' ) csr = os.path.join(get_data_dir(), '%s.csr' % domain) - with tempfile.NamedTemporaryFile() as cfg: + with tempfile.NamedTemporaryFile(mode='wt') as cfg: cfg.write(open(config).read()) if len(domains) > 1: cfg.write( '\n[SAN]\nsubjectAltName=' + - ','.join(map(lambda x: 'DNS:%s' % x, domains)) + '\n') + ','.join(['DNS:%s' % x for x in domains]) + '\n') cfg.file.flush() cmdline = [ 'openssl', 'req', '-new', @@ -131,7 +131,7 @@ class Letsencrypt(models.AbstractModel): @api.model def cron(self): - domain = urlparse.urlparse( + domain = urllib.parse.urlparse( self.env['ir.config_parameter'].get_param( 'web.base.url', 'localhost')).netloc self.validate_domain(domain) @@ -149,16 +149,16 @@ class Letsencrypt(models.AbstractModel): with open(os.path.join(get_data_dir(), '%s.crt' % domain), 'w')\ as crt: crt.write(crt_text) - chain_cert = urllib2.urlopen( + chain_cert = urllib.request.urlopen( self.env['ir.config_parameter'].get_param( 'letsencrypt.chain_certificate_address', 'https://letsencrypt.org/certs/' 'lets-encrypt-x3-cross-signed.pem') ) - crt.write(chain_cert.read()) + crt.write(str(chain_cert.read())) chain_cert.close() _logger.info('wrote %s', crt.name) - reload_cmd = self.env['ir.config_parameter'].get_param( + reload_cmd = self.env['ir.config_parameter'].sudo().get_param( 'letsencrypt.reload_command', False) if reload_cmd: _logger.info('reloading webserver...') diff --git a/letsencrypt/tests/__init__.py b/letsencrypt/tests/__init__.py index 69c38ee80..c5eb768ca 100644 --- a/letsencrypt/tests/__init__.py +++ b/letsencrypt/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import test_letsencrypt diff --git a/letsencrypt/tests/test_letsencrypt.py b/letsencrypt/tests/test_letsencrypt.py index 3f6002c11..60616d9af 100644 --- a/letsencrypt/tests/test_letsencrypt.py +++ b/letsencrypt/tests/test_letsencrypt.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo.tests.common import TransactionCase diff --git a/requirements.txt b/requirements.txt index 0c7442de7..b4a2a42ce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ checksumdir raven pysftp +acme_tiny +IPy