Browse Source

Merge remote-tracking branch 'upstream/7.0' into 7.0-advanced_filters

pull/83/head
Holger Brunn 10 years ago
parent
commit
a9cf11b70e
  1. 203
      web_advanced_filters/i18n/de.po
  2. 27
      web_advanced_search_wildcard/i18n/de.po
  3. 25
      web_color/i18n/de.po
  4. 21
      web_color/i18n/web_color.pot
  5. 13
      web_export_view/i18n/de.po
  6. 20
      web_pytz/__init__.py
  7. 77
      web_pytz/__openerp__.py
  8. 16
      web_pytz/i18n/web_pytz.pot
  9. 6
      web_pytz/static/lib/moment-timezone.min.js
  10. 7
      web_pytz/static/lib/moment.min.js
  11. BIN
      web_pytz/static/src/img/icon.png
  12. 113
      web_pytz/static/src/js/web_pytz.js
  13. 63
      web_pytz/static/test/web_pytz.js
  14. 37
      web_translate_dialog/i18n/de.po

203
web_advanced_filters/i18n/de.po

@ -0,0 +1,203 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * web_advanced_filters
#
# Rudolf Schnapka <schnapkar@golive-saar.de>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-29 10:55+0000\n"
"PO-Revision-Date: 2015-01-04 14:05+0100\n"
"Last-Translator: Rudolf Schnapka <schnapkar@golive-saar.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Language: de\n"
"X-Generator: Lokalize 1.5\n"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Save filter"
msgstr "Filter sichern"
#. module: web_advanced_filters
#: selection:ir.filters.combine.with.existing,action:0
msgid "Union"
msgstr "Verbund"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Add the result of following filters"
msgstr "Die Ergebnisse der folgenden Filter hinzufügen"
#. module: web_advanced_filters
#: view:ir.filters:0
#: view:ir.filters.combine.with.existing:0
msgid "Save"
msgstr "Speichern"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Freeze filter"
msgstr "Filter einfrieren"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:94
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:114
#, python-format
msgid "Remove from existing selection"
msgstr "Aus aktueller Auswahl entfernen"
#. module: web_advanced_filters
#: code:addons/web_advanced_filters/model/ir_filters.py:131
#, python-format
msgid "Testing %s"
msgstr "Teste %s"
#. module: web_advanced_filters
#: view:ir.filters:0
#: view:ir.filters.combine.with.existing:0
msgid "or"
msgstr "oder"
#. module: web_advanced_filters
#: field:ir.filters,complement_filter_ids:0
msgid "Remove result of filters"
msgstr "Ergebnis der Filter entfernen"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:86
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:106
#, python-format
msgid "To existing selection"
msgstr "Zu bestehender Auswahl"
#. module: web_advanced_filters
#: view:ir.filters.combine.with.existing:0
msgid "Combine with existing filter"
msgstr "Mit bestehendem Filter kombinieren"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid ""
"Have this filter contain extly the records it currently contains, with no "
"changes in the future. Be careful, you can't undo this operation!"
msgstr ""
"Diesem Filter genau die aktuellen Datensätze, künftig unveränderlich, "
"zuordnen. Vorsicht, dieser Vorgang kann nicht rückgängig gemacht werden!"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:32
#, python-format
msgid "Advanced filters"
msgstr "Fortgeschrittene Filter"
#. module: web_advanced_filters
#: field:ir.filters,active:0
msgid "Active"
msgstr "Aktiv"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:74
#, python-format
msgid "Marked records"
msgstr "Markierte Datensätze"
#. module: web_advanced_filters
#: field:ir.filters,is_frozen:0
msgid "Frozen"
msgstr "Eingefroren"
#. module: web_advanced_filters
#: field:ir.filters.combine.with.existing,filter_id:0
msgid "Filter"
msgstr "Filter"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Test filter"
msgstr "Filtertest"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:78
#, python-format
msgid "To new selection"
msgstr "Zu neuer Auswahl"
#. module: web_advanced_filters
#: field:ir.filters,domain_this:0
msgid "This filter's own domain"
msgstr "Dieses Filters eigene Domäne (Abgrenzung)"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Remove the result of following filters"
msgstr "Das Ergebnis des folgenden Filters entfernen"
#. module: web_advanced_filters
#: field:ir.filters.combine.with.existing,context:0
msgid "Context"
msgstr "Kontext"
#. module: web_advanced_filters
#: field:ir.filters.combine.with.existing,action:0
msgid "Action"
msgstr "Aktion"
#. module: web_advanced_filters
#: field:ir.filters.combine.with.existing,model:0
msgid "Model"
msgstr "Modell"
#. module: web_advanced_filters
#: field:ir.filters.combine.with.existing,domain:0
msgid "Domain"
msgstr "Domäne"
#. module: web_advanced_filters
#: field:ir.filters,union_filter_ids:0
msgid "Add result of filters"
msgstr "Ergebnis von Filtern hinzufügen"
#. module: web_advanced_filters
#: model:ir.model,name:web_advanced_filters.model_ir_filters_combine_with_existing
msgid "Combine a selection with an existing filter"
msgstr "Eine Auswahl mit bestehendem Filter kombinieren"
#. module: web_advanced_filters
#: view:ir.filters:0
msgid "Are you sure? You can't undo this operation!"
msgstr "Sind Sie sicher? Sie können diesen Vorgang nicht mehr rückgängig machen!"
#. module: web_advanced_filters
#: model:ir.model,name:web_advanced_filters.model_ir_filters
msgid "Filters"
msgstr "Filter"
#. module: web_advanced_filters
#: view:ir.filters:0
#: view:ir.filters.combine.with.existing:0
msgid "Cancel"
msgstr "Abbrechen"
#. module: web_advanced_filters
#. openerp-web
#: code:addons/web_advanced_filters/static/src/js/web_advanced_filters.js:102
#, python-format
msgid "Whole selection"
msgstr "Gesamte Auswahl"
#. module: web_advanced_filters
#: selection:ir.filters.combine.with.existing,action:0
msgid "Complement"
msgstr "Ergänzung"

27
web_advanced_search_wildcard/i18n/de.po

@ -1,6 +1,27 @@
#. module: web
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
#
# Rudolf Schnapka <schnapkar@golive-saar.de>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-15 09:11+0000\n"
"PO-Revision-Date: 2015-01-04 14:07+0100\n"
"Last-Translator: Rudolf Schnapka <schnapkar@golive-saar.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"Language: de\n"
"X-Generator: Lokalize 1.5\n"
#. module: web_advanced_search_wildcard
#. openerp-web #. openerp-web
#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:3
#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:4
#, python-format #, python-format
msgid "matches" msgid "matches"
msgstr "entspricht"
msgstr "gleicht"

25
web_color/i18n/de.po

@ -0,0 +1,25 @@
msgid ""
msgstr ""
"Project-Id-Version: Openerp Version 7.0\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: <rs@techno-flex.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"Language: DE\n"
"X-Poedit-Basepath: ~/git\n"
"X-Poedit-SearchPath-0: ~/git\n"
"X-Poedit-SearchPath-1: ~/git-oca-rs\n"
# French (Canada) translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# Etienne Beaudry Auger <etienne.b.auger@savoirfairelinux.com>, 2012.
#
#. openerp-web
#: addons/web_color/static/src/xml/lib.xml
msgid "Select color"
msgstr "Farbe auswählen"

21
web_color/i18n/web_color.pot

@ -0,0 +1,21 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
# French (Canada) translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# Etienne Beaudry Auger <etienne.b.auger@savoirfairelinux.com>, 2012.
#
#. openerp-web
#: addons/web_color/static/src/xml/lib.xml
msgid "Select color"
msgstr ""

13
web_export_view/i18n/de.po

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n" "Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-21 11:59+0000\n" "POT-Creation-Date: 2013-10-21 11:59+0000\n"
"PO-Revision-Date: 2013-12-07 17:21+0000\n"
"Last-Translator: Nicolas JEUDY <njeudy@tuxservices.com>\n"
"PO-Revision-Date: 2015-01-04 14:46+0100\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-06-28 06:02+0000\n" "X-Launchpad-Export-Date: 2014-06-28 06:02+0000\n"
"X-Generator: Launchpad (build 17077)\n"
"X-Generator: Poedit 1.5.4\n"
"Language: de\n"
#. module: web_export_view #. module: web_export_view
#. openerp-web #. openerp-web
#: code:addons/web_export_view/static/xml/web_advanced_export.xml:7 #: code:addons/web_export_view/static/xml/web_advanced_export.xml:7
#, python-format #, python-format
msgid "Export Current View" msgid "Export Current View"
msgstr "Aktuelle Liste exportieren"
msgstr "Aktuelle Ansicht exportieren"
#. module: web_export_view #. module: web_export_view
#. openerp-web #. openerp-web
@ -34,11 +35,11 @@ msgstr "Excel"
#: code:addons/web_export_view/static/src/js/web_advanced_export.js:81 #: code:addons/web_export_view/static/src/js/web_advanced_export.js:81
#, python-format #, python-format
msgid "True" msgid "True"
msgstr ""
msgstr "Wahr"
#. module: web_export_view #. module: web_export_view
#. openerp-web #. openerp-web
#: code:addons/web_export_view/static/src/js/web_advanced_export.js:84 #: code:addons/web_export_view/static/src/js/web_advanced_export.js:84
#, python-format #, python-format
msgid "False" msgid "False"
msgstr ""
msgstr "Falsch"

20
web_pytz/__init__.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

77
web_pytz/__openerp__.py

@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
"name": "pytz support for filter domains",
"version": "1.0",
"author": "Therp BV",
"license": "AGPL-3",
"complexity": "normal",
"description": """
Introduction
------------
This module allows complex timezone operations in domains mimicing python's
pytz. The heavy lifting is done by http://momentjs.com/timezone.
It is meant to allow correct filters for 'Today', 'Yesterday' etc.
In addition to implementing a subset of `pytz.tzinfo` and
`datetime.astimezone`, there's a shortcut called `utc_today()` which returns
the beginning of the day in the current user's time zone translated to UTC,
this is equivalent to::
pytz.timezone(tz).localize(datetime.datetime.now().replace(hour=0, minute=0,
second=0)).astimezone(pytz.utc)
in python.
Usage
-----
Depend on this module and use filters like::
[('write_date', '>=', utc_today().strftime('%Y-%m-%d %H:%M:%S'))]
which displays records changed in the user's conception of today.""",
"category": "Dependency",
"depends": [
'web',
],
"data": [
],
"js": [
'static/src/js/web_pytz.js',
'static/lib/moment.min.js',
'static/lib/moment-timezone.min.js',
],
"css": [
],
"qweb": [
],
"test": [
'static/test/web_pytz.js',
],
"auto_install": False,
"installable": True,
"application": False,
"external_dependencies": {
'python': [],
},
}

16
web_pytz/i18n/web_pytz.pot

@ -0,0 +1,16 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-11-03 08:58+0000\n"
"PO-Revision-Date: 2014-11-03 08:58+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

6
web_pytz/static/lib/moment-timezone.min.js
File diff suppressed because it is too large
View File

7
web_pytz/static/lib/moment.min.js
File diff suppressed because it is too large
View File

BIN
web_pytz/static/src/img/icon.png

After

Width: 80  |  Height: 80  |  Size: 7.8 KiB

113
web_pytz/static/src/js/web_pytz.js

@ -0,0 +1,113 @@
//-*- coding: utf-8 -*-
//############################################################################
//
// OpenERP, Open Source Management Solution
// This module copyright (C) 2014 Therp BV (<http://therp.nl>).
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
//############################################################################
openerp.web_pytz = function(instance)
{
var original_pyeval_context = instance.web.pyeval.context;
var tzinfo = py.type('tzinfo', null, {
tzname: function()
{
var args = py.PY_parseArgs(arguments, 'dst');
return py.str.fromJSON(this.zone.name);
},
localize: function()
{
var args = py.PY_parseArgs(arguments, 'dst'),
result = py.PY_call(
args.dst.__class__,
[
py.float.fromJSON(args.dst.year),
py.float.fromJSON(args.dst.month),
py.float.fromJSON(args.dst.day),
py.float.fromJSON(args.dst.hour),
py.float.fromJSON(args.dst.minute),
py.float.fromJSON(args.dst.second),
py.float.fromJSON(args.dst.microsecond),
]);
result.tzinfo = this;
return result;
},
});
var pytz = py.PY_call(py.object);
pytz.timezone = py.PY_def.fromJSON(function()
{
var args = py.PY_parseArgs(arguments, 'tz_name'),
tz = moment.tz.zone(args.tz_name.toJSON()),
result = py.PY_call(tzinfo);
result.zone = tz;
return result;
});
pytz.utc = py.PY_call(
py.PY_getAttr(pytz, 'timezone'), [py.str.fromJSON('UTC')]);
function astimezone()
{
var args = py.PY_parseArgs(arguments, 'tzinfo');
// TODO: check that we only do this with localized dts
var d = moment.tz(
{
year: this.year,
month: this.month - 1,
day: this.day,
hour: this.hour,
minute: this.minute,
second: this.second,
},
this.tzinfo.zone.name)
.tz(args.tzinfo.zone.name);
return py.PY_call(
this.__class__,
[d.year(), d.month() + 1, d.date(), d.hour(), d.minute(),
d.second()]);
};
instance.web.pyeval.context = function ()
{
var ctx = original_pyeval_context();
ctx.datetime.datetime.astimezone = astimezone;
return _.extend(
ctx,
{
pytz: pytz,
utc_today: function(args, kwargs)
{
var timezone = py.PY_call(
py.PY_getAttr(pytz, 'timezone'),
[py.str.fromJSON(
ctx.tz || (args.length ? args[0] : 'UTC'))]),
now = py.PY_call(
py.PY_getAttr(ctx.datetime.datetime, 'now')),
localized = py.PY_call(
py.PY_getAttr(timezone, 'localize'),
[now]);
localized.hour = 0;
localized.minute = 0;
localized.second = 0;
localized.millisecond = 0;
return py.PY_call(
py.PY_getAttr(localized, 'astimezone'),
[py.PY_getAttr(pytz, 'utc')]);
}
});
}
}

63
web_pytz/static/test/web_pytz.js

@ -0,0 +1,63 @@
//-*- coding: utf-8 -*-
//############################################################################
//
// OpenERP, Open Source Management Solution
// This module copyright (C) 2014 Therp BV (<http://therp.nl>).
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
//############################################################################
openerp.testing.section(
'timezones',
{dependencies: ['web.coresetup', 'web.pyeval']},
function(test)
{
test('basic', function(instance)
{
openerp.web_pytz(instance);
var eval = function(expression, context)
{
var result_domain = instance.web.pyeval.eval(
'domain', "[['a', '=', " + expression + "]]",
context || {}, {});
return result_domain[0][2];
}
var result;
result = eval(
"pytz.timezone('Europe/Amsterdam').localize(datetime.datetime(2014, 10, 6, 0, 0, 0)).astimezone(pytz.timezone('utc')).strftime('%Y-%m-%d %H:%M:%S')");
ok(result == '2014-10-05 22:00:00', 'day start in Amsterdam, summer');
result = eval(
"pytz.timezone('Europe/Amsterdam').localize(datetime.datetime(2014, 12, 6, 0, 0, 0)).astimezone(pytz.timezone('utc')).strftime('%Y-%m-%d %H:%M:%S')");
ok(result == '2014-12-05 23:00:00', 'day start in Amsterdam, winter');
result = eval(
"pytz.timezone('America/Toronto').localize(datetime.datetime(2014, 10, 6, 0, 0, 0)).astimezone(pytz.utc).strftime('%Y-%m-%d %H:%M:%S')");
ok(result == '2014-10-06 04:00:00', 'day start in Torronto');
result = eval(
"pytz.timezone('Asia/Shanghai').localize(datetime.datetime(2014, 10, 6, 0, 0, 0)).astimezone(pytz.utc).strftime('%Y-%m-%d %H:%M:%S')");
ok(result == '2014-10-05 16:00:00', 'day start in Shanghai');
_.each(['Europe/Amsterdam', 'America/Toronto', 'Asia/Shanghai'], function(tz)
{
result = eval("utc_today().strftime('%Y-%m-%d %H:%M:%S')", {tz: tz});
var now = moment();
ok(result == moment.tz([now.year(), now.month(), now.date()], tz).hour(0).utc().format('YYYY-MM-DD HH:mm:ss'), _.str.sprintf('day start with shortcut in %s', tz));
});
});
});

37
web_translate_dialog/i18n/de.po

@ -0,0 +1,37 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-12-09 07:15+0000\n"
"PO-Revision-Date: 2015-01-04 14:48+0100\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"Language: de\n"
#. module: web_translate_dialog
#. openerp-web
#: code:addons/web_translate_dialog/static/src/js/web_translate_dialog.js:15
#, python-format
msgid "Translate"
msgstr "Übersetzen"
#. module: web_translate_dialog
#. openerp-web
#: code:addons/web_translate_dialog/static/src/js/web_translate_dialog.js:37
#, python-format
msgid "Translations"
msgstr "Übersetzungen"
#. module: web_translate_dialog
#. openerp-web
#: code:addons/web_translate_dialog/static/src/xml/base.xml:7
#, python-format
msgid "Field"
msgstr "Feld"
Loading…
Cancel
Save