Added support for OpenEMS Odoo Add-ons
Signed-off-by: Arila Barnes <axmsoftware@Arilas-MacBook-Air-2.local>
This commit is contained in:
parent
a25c36df57
commit
5594ca8d5d
@ -87,6 +87,7 @@ RUN chown odoo /etc/odoo/odoo.conf \
|
||||
&& chown -R odoo /mnt/extra-addons
|
||||
VOLUME ["/var/lib/odoo", "/mnt/extra-addons"]
|
||||
|
||||
COPY ./extra-addons /mnt/extra-addons
|
||||
# Expose Odoo services
|
||||
EXPOSE 8069 8071 8072
|
||||
|
||||
|
16
16.0/Odoo.config
Normal file
16
16.0/Odoo.config
Normal file
@ -0,0 +1,16 @@
|
||||
# Place in openems-backend/config.d/Metadata
|
||||
:org.apache.felix.configadmin.revision:=L"2"
|
||||
database="postgres"
|
||||
debugMode="ON"
|
||||
odooHost="localhost"
|
||||
odooPassword="admin"
|
||||
odooPort=I"8069"
|
||||
odooProtocol="HTTP"
|
||||
odooUid=I"2"
|
||||
pgConnectionPoolSize=I"40"
|
||||
pgHost="localhost"
|
||||
pgPassword="odoo"
|
||||
pgPort=I"5432"
|
||||
pgUser="odoo"
|
||||
poolSize=I"30"
|
||||
service.pid="Metadata.Odoo"
|
13
16.0/add-ons.sh
Normal file
13
16.0/add-ons.sh
Normal file
@ -0,0 +1,13 @@
|
||||
mkdir -p /workspace/odoo
|
||||
cd /workspace/odoo
|
||||
mkdir -p addons-available addons-enabled
|
||||
cd addons-available
|
||||
git clone --depth=1 -b 16.0 https://github.com/OCA/partner-contact
|
||||
git clone --depth=1 -b 16.0 https://github.com/OCA/web.git
|
||||
git clone --depth=1 -b 16.0 https://github.com/OpenEMS/odoo-openems.git
|
||||
cd ../addons-enabled
|
||||
ln -s ../addons-available/partner-contact/partner_firstname
|
||||
ln -s ../addons-available/web/web_m2x_options
|
||||
ln -s ../addons-available/odoo-openems/openems
|
||||
odoo -d prod --addons-path=/workspace/odoo/addons-enabled -i base,partner_firstname,web_m2x_options,stock,openems
|
||||
|
34
16.0/docker-compose.yml
Normal file
34
16.0/docker-compose.yml
Normal file
@ -0,0 +1,34 @@
|
||||
version: '3.1'
|
||||
services:
|
||||
web:
|
||||
image: odoo:16.0
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "8069:8069"
|
||||
volumes:
|
||||
- odoo-web-data:/var/lib/odoo
|
||||
- ./config:/etc/odoo
|
||||
- ./addons:/mnt/extra-addons
|
||||
environment:
|
||||
- PASSWORD_FILE=/run/secrets/postgresql_password
|
||||
secrets:
|
||||
- postgresql_password
|
||||
db:
|
||||
image: postgres:15
|
||||
environment:
|
||||
- POSTGRES_DB=postgres
|
||||
- POSTGRES_PASSWORD_FILE=/run/secrets/postgresql_password
|
||||
- POSTGRES_USER=odoo
|
||||
- PGDATA=/var/lib/postgresql/data/pgdata
|
||||
volumes:
|
||||
- odoo-db-data:/var/lib/postgresql/data/pgdata
|
||||
secrets:
|
||||
- postgresql_password
|
||||
volumes:
|
||||
odoo-web-data:
|
||||
odoo-db-data:
|
||||
|
||||
secrets:
|
||||
postgresql_password:
|
||||
file: odoo_pg_pass
|
3
16.0/extra-addons/openems/.gitignore
vendored
Normal file
3
16.0/extra-addons/openems/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
.swp
|
||||
.swo
|
||||
**/__pycache__
|
1
16.0/extra-addons/openems/__init__.py
Normal file
1
16.0/extra-addons/openems/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import controllers, models
|
40
16.0/extra-addons/openems/__manifest__.py
Normal file
40
16.0/extra-addons/openems/__manifest__.py
Normal file
@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "OpenEMS",
|
||||
"summary": "Everything related to OpenEMS (Open Energy Management System)",
|
||||
"version": "16.0.1.0.1",
|
||||
"author": "OpenEMS Association e.V.",
|
||||
"maintainer": "OpenEMS Association e.V.",
|
||||
"contributors": [
|
||||
"Stefan Feilmeier <stefan.feilmeier@fenecon.de>"
|
||||
"Maximilian Lang <maximilian.lang@fenecon.de>"
|
||||
],
|
||||
"website": "https://openems.io",
|
||||
"license": "AGPL-3",
|
||||
"category": "Specific Industry Applications",
|
||||
"depends": ["base", "web", "mail", "crm", "resource", "stock", "web_m2x_options", "partner_firstname"],
|
||||
"data": [
|
||||
"data/ir_config_parameter.xml",
|
||||
"data/res_partner_category.xml",
|
||||
"security/openems.xml",
|
||||
"security/ir.model.access.csv",
|
||||
"report/setup_protocol.xml",
|
||||
"views/device.xml",
|
||||
"views/partner.xml",
|
||||
"views/setup_protocol.xml",
|
||||
"views/user.xml",
|
||||
"views/stock_production_lot_views.xml",
|
||||
"mail/openems/alerting_offline.xml",
|
||||
"mail/openems/alerting_sum_state.xml",
|
||||
"mail/openems/setup_protocol_customer.xml",
|
||||
"mail/openems/setup_protocol_installer.xml",
|
||||
"mail/openems/user_registration.xml",
|
||||
],
|
||||
"demo": ["data/demo.xml"],
|
||||
"js": [],
|
||||
"css": [],
|
||||
"qweb": [],
|
||||
"images": [],
|
||||
"test": [],
|
||||
"installable": True,
|
||||
"application": True,
|
||||
}
|
1
16.0/extra-addons/openems/controllers/__init__.py
Normal file
1
16.0/extra-addons/openems/controllers/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import openems_backend, setup_protocol, user, alerting
|
86
16.0/extra-addons/openems/controllers/alerting.py
Normal file
86
16.0/extra-addons/openems/controllers/alerting.py
Normal file
@ -0,0 +1,86 @@
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
class SumState(Enum):
|
||||
FAULT = 0
|
||||
WARNING = 1
|
||||
|
||||
class Message:
|
||||
sentAt: datetime
|
||||
edgeId: str
|
||||
userIds: list[int]
|
||||
|
||||
def __init__(self, sentAt: datetime, edgeId: str, userIds: list[int]) -> None:
|
||||
self.sentAt = sentAt
|
||||
self.edgeId = edgeId
|
||||
self.userIds = userIds
|
||||
|
||||
class SumStateMessage(Message):
|
||||
state: SumState
|
||||
|
||||
def __init__(self, sentAt: datetime, edgeId: str, userIds: list[int], state: SumState) -> None:
|
||||
super().__init__(sentAt, edgeId, userIds)
|
||||
self.state = state
|
||||
|
||||
class Alerting(http.Controller):
|
||||
__logger = logging.getLogger("Alerting")
|
||||
|
||||
@http.route("/openems_backend/mail/alerting_sum_state", type="json", auth="user")
|
||||
def sum_state_alerting(self, sentAt: str, params: list[dict]):
|
||||
msgs = self.__get_sum_state_params(sentAt, params)
|
||||
update_func = lambda role, at: { role.write({"sum_state_last_notification": at})}
|
||||
|
||||
if len(msgs) == 0:
|
||||
self.__logger.error("Scheduled SumState-Alerting-Mail without any recipients!!!")
|
||||
|
||||
template = request.env.ref('openems.alerting_sum_state')
|
||||
for msg in msgs:
|
||||
self.__send_mails(template, msg, update_func)
|
||||
|
||||
return {}
|
||||
|
||||
@http.route("/openems_backend/mail/alerting_offline", type="json", auth="user")
|
||||
def offline_alerting(self, sentAt: str, params: list[dict]):
|
||||
msgs = self.__get_offline_params(sentAt, params)
|
||||
update_func = lambda role, at: { role.write({"offline_last_notification": at})}
|
||||
|
||||
template = request.env.ref("openems.alerting_offline")
|
||||
for msg in msgs:
|
||||
self.__send_mails(template, msg, update_func)
|
||||
|
||||
return {}
|
||||
|
||||
def __get_offline_params(self, sentAt, params) -> list[Message]:
|
||||
msgs = list()
|
||||
sent = datetime.strptime(sentAt, "%Y-%m-%d %H:%M:%S")
|
||||
for param in params:
|
||||
edgeId = param["edgeId"]
|
||||
recipients = param["recipients"]
|
||||
msgs.append(Message(sent, edgeId, recipients));
|
||||
return msgs
|
||||
|
||||
def __get_sum_state_params(self, sentAt, params) -> list[SumStateMessage]:
|
||||
msgs = list()
|
||||
sent = datetime.strptime(sentAt, "%Y-%m-%d %H:%M:%S")
|
||||
for param in params:
|
||||
edgeId = param["edgeId"]
|
||||
recipients = param["recipients"]
|
||||
state = param["state"]
|
||||
msgs.append(SumStateMessage(sent, edgeId, recipients, state));
|
||||
return msgs
|
||||
|
||||
def __send_mails(self, template, msg: Message, update_func):
|
||||
roles = http.request.env['openems.alerting'].search(
|
||||
[('user_id','in',msg.userIds),('device_id','=',msg.edgeId)]
|
||||
)
|
||||
|
||||
for role in roles:
|
||||
try:
|
||||
template.send_mail(res_id=role.id, force_send=True)
|
||||
update_func(role, msg.sentAt)
|
||||
except Exception as err:
|
||||
self.__logger.error("[" + str(err) + "] Unable to send template[" + str(template.name) +"] to edgeUser[user=" + str(role.id) + ", edge=" + str(msg.edgeId)+ "]")
|
5
16.0/extra-addons/openems/controllers/const.py
Normal file
5
16.0/extra-addons/openems/controllers/const.py
Normal file
@ -0,0 +1,5 @@
|
||||
from odoo.modules.module import get_module_resource
|
||||
|
||||
import base64
|
||||
|
||||
OPENEMS_LOGO_BASE64 = base64.b64encode(open(get_module_resource('openems', 'data', 'OpenEMS-Logo.jpg') , "rb").read())
|
276
16.0/extra-addons/openems/controllers/openems_backend.py
Normal file
276
16.0/extra-addons/openems/controllers/openems_backend.py
Normal file
@ -0,0 +1,276 @@
|
||||
from odoo import http
|
||||
|
||||
|
||||
class OpenemsBackend(http.Controller):
|
||||
@http.route("/openems_backend/info", auth="user", type="json")
|
||||
def index(self):
|
||||
# Get user
|
||||
user_id = http.request.env.context.get("uid")
|
||||
res_users = http.request.env["res.users"].sudo()
|
||||
user_rec = res_users.search_read(
|
||||
[("id", "=", user_id)],
|
||||
["login", "name", "groups_id", "global_role", "openems_language"],
|
||||
)[0]
|
||||
res_users.browse([user_id])
|
||||
|
||||
# Get res group model
|
||||
res_groups_model = http.request.env["res.groups"].sudo()
|
||||
|
||||
# Get Manager and Reader group
|
||||
manager_group = res_groups_model.env.ref("openems.group_openems_manager")
|
||||
reader_group = res_groups_model.env.ref("openems.group_openems_reader")
|
||||
|
||||
manager_group_id = manager_group["id"]
|
||||
reader_group_id = reader_group["id"]
|
||||
|
||||
# Get user attributes
|
||||
global_role = user_rec["global_role"]
|
||||
if manager_group_id in user_rec["groups_id"]:
|
||||
# Manager group
|
||||
global_role = "admin"
|
||||
|
||||
# return empty device (use pagination) list if user is manager or reader
|
||||
if manager_group_id in user_rec["groups_id"] or reader_group_id in user_rec["groups_id"]:
|
||||
return {
|
||||
"user": {
|
||||
"id": user_rec["id"],
|
||||
"login": user_rec["login"],
|
||||
"name": user_rec["name"],
|
||||
"global_role": global_role,
|
||||
"language": user_rec["openems_language"],
|
||||
"has_multiple_edges": True
|
||||
},
|
||||
"devices": [],
|
||||
}
|
||||
|
||||
# Get specific Device roles
|
||||
device_user_role_model = http.request.env["openems.device_user_role"]
|
||||
user_role_ids = device_user_role_model.search_read(
|
||||
[("user_id", "=", user_id)], ["id", "role"]
|
||||
)
|
||||
|
||||
# Get Devices
|
||||
device_model = http.request.env["openems.device"]
|
||||
devices = device_model.search_read(
|
||||
[], ["id", "name", "user_role_ids", "comment", "producttype",
|
||||
"lastmessage", "first_setup_protocol_date", "openems_sum_state_level"]
|
||||
)
|
||||
|
||||
devs = []
|
||||
for device_rec in devices:
|
||||
# Set user role per group
|
||||
role = "guest"
|
||||
if manager_group_id in user_rec["groups_id"]:
|
||||
# Manager group
|
||||
role = "admin"
|
||||
elif reader_group_id in user_rec["groups_id"]:
|
||||
# Reader group
|
||||
role = "guest"
|
||||
|
||||
# Set specific user role
|
||||
for device_role_id in device_rec["user_role_ids"]:
|
||||
for user_role_id in user_role_ids:
|
||||
if device_role_id == user_role_id["id"]:
|
||||
role = user_role_id["role"]
|
||||
|
||||
# Prepare result
|
||||
dev = {
|
||||
"id": device_rec["id"],
|
||||
"name": device_rec["name"],
|
||||
"comment": device_rec["comment"],
|
||||
"producttype": device_rec["producttype"],
|
||||
"role": role,
|
||||
"lastmessage": device_rec["lastmessage"],
|
||||
"openems_sum_state_level": device_rec["openems_sum_state_level"]
|
||||
}
|
||||
|
||||
if device_rec["first_setup_protocol_date"]:
|
||||
dev["first_setup_protocol_date"] = device_rec[
|
||||
"first_setup_protocol_date"
|
||||
]
|
||||
|
||||
devs.append(dev)
|
||||
|
||||
return {
|
||||
"user": {
|
||||
"id": user_rec["id"],
|
||||
"login": user_rec["login"],
|
||||
"name": user_rec["name"],
|
||||
"global_role": global_role,
|
||||
"language": user_rec["openems_language"],
|
||||
"has_multiple_edges": len(devs) > 1
|
||||
},
|
||||
"devices": devs,
|
||||
}
|
||||
|
||||
@http.route("/openems_backend/get_edge_with_role", auth="user", type="json")
|
||||
def get_edge_with_role(self, edge_id: str):
|
||||
user_id = http.request.env.context.get("uid")
|
||||
res_users = http.request.env["res.users"].sudo()
|
||||
user_rec = res_users.search_read(
|
||||
[("id", "=", user_id)],
|
||||
["login", "name", "groups_id"],
|
||||
)[0]
|
||||
|
||||
# Get res group model
|
||||
res_groups_model = http.request.env["res.groups"].sudo()
|
||||
|
||||
# Get Manager and Reader group
|
||||
manager_group = res_groups_model.env.ref("openems.group_openems_manager")
|
||||
reader_group = res_groups_model.env.ref("openems.group_openems_reader")
|
||||
|
||||
manager_group_id = manager_group["id"]
|
||||
reader_group_id = reader_group["id"]
|
||||
|
||||
# get devices for which the user has permissions
|
||||
device_model = http.request.env["openems.device"]
|
||||
devices = device_model.search_read(
|
||||
[("name", "=", edge_id)],
|
||||
["id", "name", "comment", "producttype", "lastmessage", "first_setup_protocol_date", "openems_sum_state_level"])
|
||||
|
||||
if len(devices) != 1:
|
||||
return {}
|
||||
|
||||
device = devices[0]
|
||||
|
||||
# Get specific Device roles
|
||||
device_user_role_model = http.request.env["openems.device_user_role"]
|
||||
device_user_roles = device_user_role_model.search_read(
|
||||
[("user_id", "=", user_id),
|
||||
("device_id", "=", device["id"])], ["id", "role"]
|
||||
)
|
||||
|
||||
# Set user role per group
|
||||
role = "guest"
|
||||
if manager_group_id in user_rec["groups_id"]:
|
||||
# Manager group
|
||||
role = "admin"
|
||||
elif reader_group_id in user_rec["groups_id"]:
|
||||
# Reader group
|
||||
role = "guest"
|
||||
|
||||
# Set specific user role
|
||||
if len(device_user_roles) > 0:
|
||||
role = device_user_roles[0]["role"]
|
||||
|
||||
dev = {
|
||||
"id": device["id"],
|
||||
"name": device["name"],
|
||||
"comment": device["comment"],
|
||||
"producttype": device["producttype"],
|
||||
"role": role,
|
||||
"lastmessage": device["lastmessage"],
|
||||
"openems_sum_state_level": device["openems_sum_state_level"]
|
||||
}
|
||||
if device["first_setup_protocol_date"]:
|
||||
dev["first_setup_protocol_date"] = device["first_setup_protocol_date"]
|
||||
|
||||
return dev
|
||||
|
||||
@http.route("/openems_backend/get_edges", auth="user", type="json")
|
||||
def get_edges(self, limit, page, query=None, searchParams=None):
|
||||
# Get user
|
||||
user_id = http.request.env.context.get("uid")
|
||||
res_users = http.request.env["res.users"].sudo()
|
||||
user_rec = res_users.search_read(
|
||||
[("id", "=", user_id)],
|
||||
["login", "name", "groups_id", "global_role"],
|
||||
)[0]
|
||||
|
||||
# Get res group model
|
||||
res_groups_model = http.request.env["res.groups"].sudo()
|
||||
|
||||
# Get Manager and Reader group
|
||||
manager_group = res_groups_model.env.ref("openems.group_openems_manager")
|
||||
reader_group = res_groups_model.env.ref("openems.group_openems_reader")
|
||||
|
||||
manager_group_id = manager_group["id"]
|
||||
reader_group_id = reader_group["id"]
|
||||
|
||||
# Get specific Device roles
|
||||
device_user_role_model = http.request.env["openems.device_user_role"]
|
||||
user_role_ids = device_user_role_model.search_read(
|
||||
[("user_id", "=", user_id)], ["id", "role"]
|
||||
)
|
||||
|
||||
domains = []
|
||||
logical_operators = []
|
||||
additional_domains = []
|
||||
if query:
|
||||
logical_operators.extend(['|', '|'])
|
||||
domains = [
|
||||
("name", "ilike", query),
|
||||
("comment", "ilike", query),
|
||||
("producttype", "ilike", query)]
|
||||
|
||||
if searchParams:
|
||||
if searchParams.get("producttype"):
|
||||
additional_domains.append(
|
||||
("producttype", "in", searchParams.get("producttype")))
|
||||
|
||||
if searchParams.get("sumState"):
|
||||
sum_states = list(map(lambda s: s.lower(), searchParams.get("sumState")))
|
||||
additional_domains.append(
|
||||
("openems_sum_state_level", "in", sum_states))
|
||||
|
||||
if "isOnline" in searchParams:
|
||||
additional_domains.append(
|
||||
("openems_is_connected", "=", searchParams.get("isOnline")))
|
||||
|
||||
if len(additional_domains) > 1:
|
||||
for _ in range(len(additional_domains) - 1):
|
||||
logical_operators.insert(0, '&')
|
||||
|
||||
# insert 'and' if both are not 'None'
|
||||
if query and searchParams:
|
||||
logical_operators.insert(0, '&')
|
||||
|
||||
domains.extend(additional_domains)
|
||||
logical_operators.extend(domains)
|
||||
|
||||
# Get Devices
|
||||
device_model = http.request.env["openems.device"]
|
||||
devices = device_model.search_read(
|
||||
logical_operators,
|
||||
["id", "name", "user_role_ids", "comment", "producttype",
|
||||
"lastmessage", "first_setup_protocol_date", "openems_sum_state_level"],
|
||||
limit=limit, offset=(page * limit)
|
||||
)
|
||||
devs = []
|
||||
for device_rec in devices:
|
||||
# Set user role per group
|
||||
role = "guest"
|
||||
if manager_group_id in user_rec["groups_id"]:
|
||||
# Manager group
|
||||
role = "admin"
|
||||
elif reader_group_id in user_rec["groups_id"]:
|
||||
# Reader group
|
||||
role = "guest"
|
||||
|
||||
# Set specific user role
|
||||
for device_role_id in device_rec["user_role_ids"]:
|
||||
for user_role_id in user_role_ids:
|
||||
if device_role_id == user_role_id["id"]:
|
||||
role = user_role_id["role"]
|
||||
|
||||
# Prepare result
|
||||
dev = {
|
||||
"id": device_rec["id"],
|
||||
"name": device_rec["name"],
|
||||
"comment": device_rec["comment"],
|
||||
"producttype": device_rec["producttype"],
|
||||
"role": role,
|
||||
"lastmessage": device_rec["lastmessage"],
|
||||
"openems_sum_state_level": device_rec["openems_sum_state_level"]
|
||||
}
|
||||
|
||||
if device_rec["first_setup_protocol_date"]:
|
||||
dev["first_setup_protocol_date"] = device_rec[
|
||||
"first_setup_protocol_date"
|
||||
]
|
||||
|
||||
devs.append(dev)
|
||||
|
||||
return {
|
||||
"devices": devs,
|
||||
}
|
142
16.0/extra-addons/openems/controllers/setup_protocol.py
Normal file
142
16.0/extra-addons/openems/controllers/setup_protocol.py
Normal file
@ -0,0 +1,142 @@
|
||||
import base64
|
||||
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
|
||||
class SetupProtocol(http.Controller):
|
||||
@http.route("/openems_backend/sendSetupProtocolEmail", type="json", auth="user")
|
||||
def index(self, setupProtocolId, edgeId):
|
||||
setup_protocol_model = request.env["openems.setup_protocol"]
|
||||
setup_protocol_record = setup_protocol_model.search_read(
|
||||
[("id", "=", setupProtocolId)]
|
||||
)
|
||||
if len(setup_protocol_record) != 1:
|
||||
raise ValueError("Setup protocol not found for id [" + edgeId + "]")
|
||||
|
||||
device_model = request.env["openems.device"]
|
||||
device_rec = device_model.search_read([("name", "=", edgeId)])
|
||||
if len(device_rec) != 1:
|
||||
raise ValueError("Device not found for id [" + edgeId + "]")
|
||||
|
||||
name = (
|
||||
"IBN-"
|
||||
+ edgeId
|
||||
+ "-"
|
||||
+ setup_protocol_record[0]["create_date"].strftime("%d.%m.%Y")
|
||||
+ ".pdf"
|
||||
)
|
||||
|
||||
data = request.env.ref(
|
||||
"openems.action_openems_setup_protocol_report"
|
||||
)._render_qweb_pdf([setupProtocolId])
|
||||
ibnPdf = request.env["ir.attachment"].create(
|
||||
{
|
||||
"res_model": "openems.device",
|
||||
"res_id": device_rec[0]["id"],
|
||||
"name": name,
|
||||
"store_fname": name,
|
||||
"datas": base64.b64encode(data[0]),
|
||||
}
|
||||
)
|
||||
|
||||
templates = self.getTemplates(device_rec[0]['oem'], ibnPdf)
|
||||
|
||||
templates['installer'].send_mail(setupProtocolId, force_send=True)
|
||||
templates['customer'].send_mail(setupProtocolId, force_send=True)
|
||||
|
||||
return {}
|
||||
|
||||
def getTemplates(self, oem: str, protocol):
|
||||
templates = {'customer': None, 'installer': None}
|
||||
|
||||
templates['customer'] = request.env.ref(
|
||||
"openems.setup_protocol_email_customer")
|
||||
templates['installer'] = request.env.ref(
|
||||
"openems.setup_protocol_email_installer")
|
||||
|
||||
logo = request.env.ref("openems.attachment_logo_openems")
|
||||
|
||||
templates['customer'].attachment_ids = [
|
||||
(6, 0, [protocol.id, logo.id])]
|
||||
templates['installer'].attachment_ids = [
|
||||
(6, 0, [protocol.id, logo.id])]
|
||||
|
||||
return templates
|
||||
|
||||
@http.route('/openems_backend/get_latest_setup_protocol', type='json', auth='user')
|
||||
def get_latest_setup_protocol(self, edge_name):
|
||||
# search for device
|
||||
device_model = request.env['openems.device']
|
||||
device = device_model.search([('name', '=', edge_name)])
|
||||
|
||||
response = dict()
|
||||
if not len(device.setup_protocol_ids) > 0:
|
||||
return response
|
||||
|
||||
latest_protocol = device.setup_protocol_ids[0]
|
||||
|
||||
# build customer object
|
||||
customer = latest_protocol.customer_id
|
||||
customer_values = dict({
|
||||
"firstname": customer['firstname'],
|
||||
"lastname": customer['lastname'],
|
||||
"email": customer['email'],
|
||||
"phone": customer['phone'],
|
||||
"address": {
|
||||
"street": customer['street'],
|
||||
"city": customer['city'],
|
||||
"zip": customer['zip'],
|
||||
"country": customer['country_id']['name']
|
||||
}
|
||||
})
|
||||
|
||||
# check company for customer
|
||||
customer_company = customer['commercial_company_name']
|
||||
if customer_company:
|
||||
customer_values.update({
|
||||
"company": {
|
||||
"name": customer['commercial_company_name']
|
||||
}
|
||||
})
|
||||
response.update({"customer": customer_values})
|
||||
|
||||
# check different location is available
|
||||
location = latest_protocol['different_location_id']
|
||||
if location:
|
||||
location_values = dict({
|
||||
"firstname": location['firstname'],
|
||||
"lastname": location['lastname'],
|
||||
"email": location['email'],
|
||||
"phone": location['phone'],
|
||||
"address": {
|
||||
"street": location['street'],
|
||||
"city": location['city'],
|
||||
"zip": location['zip'],
|
||||
"country": location['country_id']['name']
|
||||
}
|
||||
})
|
||||
|
||||
# check company for different location
|
||||
different_location_company = location['commercial_company_name']
|
||||
if different_location_company:
|
||||
location_values.update({
|
||||
"company": {
|
||||
"name": location['commercial_company_name']
|
||||
}
|
||||
})
|
||||
response.update({"location": location_values})
|
||||
|
||||
# build items object
|
||||
items = list()
|
||||
for item in latest_protocol.item_ids:
|
||||
items.append({
|
||||
"view": item['view'],
|
||||
"field": item['field'],
|
||||
"category": item['category'],
|
||||
"name": item['name'],
|
||||
"value": item['value']
|
||||
})
|
||||
response.update({"items": items})
|
||||
|
||||
return response
|
32
16.0/extra-addons/openems/controllers/user.py
Normal file
32
16.0/extra-addons/openems/controllers/user.py
Normal file
@ -0,0 +1,32 @@
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
class User(http.Controller):
|
||||
@http.route("/openems_backend/sendRegistrationEmail", type="json", auth="user")
|
||||
def index(self, userId, password=None, oem: str = ''):
|
||||
user_model = request.env["res.users"]
|
||||
user_record = user_model.search_read([("id", "=", userId)], ["partner_id"])
|
||||
if len(user_record) != 1:
|
||||
raise ValueError("User not found for id [" + userId + "]")
|
||||
|
||||
partner = user_record[0]
|
||||
partner_id = partner.get("partner_id")
|
||||
if partner_id is None:
|
||||
raise ValueError("User has no partner")
|
||||
|
||||
if password is None:
|
||||
password = "*****"
|
||||
# load template
|
||||
template = self.getTemplate(oem)
|
||||
# set mail values
|
||||
email_values = {
|
||||
'password': password
|
||||
}
|
||||
# send mail
|
||||
template.with_context(email_values).send_mail(
|
||||
res_id=partner_id[0], force_send=True)
|
||||
return {}
|
||||
|
||||
def getTemplate(self, oem: str):
|
||||
template = request.env.ref("openems.registration_email")
|
||||
return template
|
BIN
16.0/extra-addons/openems/data/OpenEMS-Logo.jpg
Normal file
BIN
16.0/extra-addons/openems/data/OpenEMS-Logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
12
16.0/extra-addons/openems/data/demo.xml
Normal file
12
16.0/extra-addons/openems/data/demo.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="openems_device_edge0" model="openems.device">
|
||||
<field name="name">edge0</field>
|
||||
<field name="comment">OpenEMS Edge #0</field>
|
||||
<field name="apikey">DEMO_API_KEY</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
9
16.0/extra-addons/openems/data/ir_config_parameter.xml
Normal file
9
16.0/extra-addons/openems/data/ir_config_parameter.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="config_edge_monitoring_url" model="ir.config_parameter">
|
||||
<field name="key">edge_monitoring_url</field>
|
||||
<field name="value">http://localhost:8082/device/</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
11
16.0/extra-addons/openems/data/res_partner_category.xml
Normal file
11
16.0/extra-addons/openems/data/res_partner_category.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="res_partner_category_created_via_ibn" model="res.partner.category">
|
||||
<field name="name">Created via IBN</field>
|
||||
</record>
|
||||
<record id="res_partner_category_customer" model="res.partner.category">
|
||||
<field name="name">Customer</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
1666
16.0/extra-addons/openems/i18n/de.po
Normal file
1666
16.0/extra-addons/openems/i18n/de.po
Normal file
File diff suppressed because it is too large
Load Diff
1666
16.0/extra-addons/openems/i18n/openems.pot
Normal file
1666
16.0/extra-addons/openems/i18n/openems.pot
Normal file
File diff suppressed because it is too large
Load Diff
275
16.0/extra-addons/openems/mail/openems/alerting_offline.xml
Normal file
275
16.0/extra-addons/openems/mail/openems/alerting_offline.xml
Normal file
@ -0,0 +1,275 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="alerting_offline" model="mail.template">
|
||||
<field name="name">E-Mail Offline-Alerting</field>
|
||||
<field name="model_id" ref="model_openems_alerting" />
|
||||
<field name="email_from"><![CDATA[OpenEMS Association e.V.<noreply@openems.io>]]></field>
|
||||
<field name="partner_to">{{object.user_id.partner_id.id}}</field>
|
||||
<field name="subject">OpenEMS Alert - Edge is offline</field>
|
||||
<field name="body_html"><![CDATA[
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<head>
|
||||
<title>OpenEMS Alert - Edge is offline</title>
|
||||
<!--[if !mso]><!-->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if mso]>
|
||||
<noscript>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
</noscript>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.mj-outlook-group-fix { width:100% !important; }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style media="screen and (min-width:480px)">
|
||||
.moz-text-html .mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:479px) {
|
||||
table.mj-full-width-mobile {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
td.mj-full-width-mobile {
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="word-spacing:normal;background-color:white;">
|
||||
<div style="background-color:white;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">
|
||||
<t t-if="object.user_id and object.user_id.firstname and object.user_id.lastname">
|
||||
<t t-out="object.user_id.firstname"></t>
|
||||
<t t-out="object.user_id.lastname"></t>,
|
||||
</t>
|
||||
<t t-elif="object.user_id and object.user_id.lastname"> Ms/Mr <t t-out="object.user_id.lastname"></t>, </t>
|
||||
<t t-else> Customer, </t>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Your OpenEMS Edge with number <strong t-out="object.device_id.name"></strong> is offline <t t-if="object.device_id.lastmessage"> since: </t>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">
|
||||
<t t-if="object.device_id.lastmessage">
|
||||
<t t-if="object.user_id.tz">
|
||||
<t t-out="format_datetime(object.device_id.lastmessage, tz=object.user_id.tz, dt_format='dd.MM.YYYY HH:mm:ss')"></t>
|
||||
<t t-out="(object.user_id.tz)"></t>
|
||||
</t>
|
||||
<t t-else>
|
||||
<t t-out="format_datetime(object.device_id.lastmessage, tz='UTC', dt_format='dd.MM.YYYY HH:mm:ss')"></t> (UTC)
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:helvetica;font-size:16px;line-height:22px;table-layout:auto;width:100%;border:none;">
|
||||
<tr>
|
||||
<th colspan="2" style="padding-top: 10px; text-align: left; border-bottom: 2px solid #ecedee;" align="left">Info</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>OpenEMS-Version</strong>
|
||||
</td>
|
||||
<td>
|
||||
<t t-if="object.device_id.openems_version">
|
||||
<t t-out="object.device_id.openems_version"></t>
|
||||
</t>
|
||||
<t t-else> UNKNOWN </t>
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if="object.device_id.oem or object.device_id.producttype">
|
||||
<td>
|
||||
<strong>Type</strong>
|
||||
</td>
|
||||
<td>
|
||||
<t t-if="object.device_id.oem">
|
||||
<t t-out="object.device_id.oem.upper()"></t>
|
||||
</t>
|
||||
<t t-if="object.device_id.producttype">
|
||||
<t t-out="object.device_id.producttype.capitalize()"></t>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Best Regards</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#e8ae6a;">OpenEMS Association e.V.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">If you do no longer wish to receive email notifications, you can disable the feature <a class="link" href="http://localhost:4200/device/${object.device_id.name}/settings/alerting" style="text-decoration: none; color: #e8ae6a;"> here </a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">This is an automatically generated message. Please do <strong>not</strong> reply to this message!</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:200px;">
|
||||
<img alt="OpenEMS Logo" src="openems/static/mail/OpenEMS-Logo.jpg" style="border:0;display:block;outline:none;text-decoration:none;height:auto;width:100%;font-size:16px;" width="200" height="auto">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
268
16.0/extra-addons/openems/mail/openems/alerting_sum_state.xml
Normal file
268
16.0/extra-addons/openems/mail/openems/alerting_sum_state.xml
Normal file
@ -0,0 +1,268 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="alerting_sum_state" model="mail.template">
|
||||
<field name="name">E-Mail SumState Alerting</field>
|
||||
<field name="model_id" ref="model_openems_alerting" />
|
||||
<field name="email_from"><![CDATA[OpenEMS Association e.V.<noreply@openems.io>]]></field>
|
||||
<field name="partner_to">{{object.user_id.partner_id.id}}</field>
|
||||
<field name="subject">OpenEMS Alert - Edge is in {{object.device_id.openems_sum_state_level}} State</field>
|
||||
<field name="body_html"><![CDATA[
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<head>
|
||||
<title>OpenEMS Alert - Edge is in fault</title>
|
||||
<!--[if !mso]><!-->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if mso]>
|
||||
<noscript>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
</noscript>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.mj-outlook-group-fix { width:100% !important; }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style media="screen and (min-width:480px)">
|
||||
.moz-text-html .mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:479px) {
|
||||
table.mj-full-width-mobile {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
td.mj-full-width-mobile {
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="word-spacing:normal;background-color:white;">
|
||||
<div style="background-color:white;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">
|
||||
<t t-if="object.user_id and object.user_id.firstname and object.user_id.lastname">
|
||||
<t t-out="object.user_id.firstname"></t>
|
||||
<t t-out="object.user_id.lastname"></t>,
|
||||
</t>
|
||||
<t t-elif="object.user_id and object.user_id.lastname"> Ms/Mr <t t-out="object.user_id.lastname"></t>, </t>
|
||||
<t t-else> Customer, </t>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Your OpenEMS Edge with number <strong t-out="object.device_id.name"></strong> is in a continuous <t t-if="object.device_id.openems_sum_state_level">
|
||||
<t t-set="sumstate" t-value="object.device_id.openems_sum_state_level.upper()">
|
||||
</t>
|
||||
<strong t-att-style="'color: red' if sumstate == 'FAULT' else 'color: yellow' if sumstate == 'WARNING' else ''" t-out="sumstate">
|
||||
</strong>
|
||||
</t>
|
||||
<t t-else>
|
||||
<strong>UNKNOWN</strong>
|
||||
</t> state!
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:helvetica;font-size:16px;line-height:22px;table-layout:auto;width:100%;border:none;">
|
||||
<tr>
|
||||
<th colspan="2" style="padding-top: 10px; text-align: left; border-bottom: 2px solid #ecedee;" align="left">Info</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>OpenEMS-Version</strong>
|
||||
</td>
|
||||
<td>
|
||||
<t t-if="object.device_id.openems_version">
|
||||
<t t-out="object.device_id.openems_version"></t>
|
||||
</t>
|
||||
<t t-else> UNKNOWN </t>
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if="object.device_id.oem or object.device_id.producttype">
|
||||
<td>
|
||||
<strong>Type</strong>
|
||||
</td>
|
||||
<td>
|
||||
<t t-if="object.device_id.oem">
|
||||
<t t-out="object.device_id.oem.upper()"></t>
|
||||
</t>
|
||||
<t t-if="object.device_id.producttype">
|
||||
<t t-out="object.device_id.producttype.capitalize()"></t>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Best Regards</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#e8ae6a;">OpenEMS Association e.V.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">If you do no longer wish to receive email notifications, you can disable the feature <a class="link" href="http://localhost:4200/device/${object.device_id.name}/settings/alerting" style="text-decoration: none; color: #e8ae6a;"> here </a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">This is an automatically generated message. Please do <strong>not</strong> reply to this message!</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:200px;">
|
||||
<img alt="OpenEMS Logo" src="openems/static/mail/OpenEMS-Logo.jpg" style="border:0;display:block;outline:none;text-decoration:none;height:auto;width:100%;font-size:16px;" width="200" height="auto">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #e8ae6a;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="setup_protocol_email_customer" model="mail.template">
|
||||
<field name="name">E-Mail setup protocol for customer</field>
|
||||
<field name="model_id" ref="model_openems_setup_protocol" />
|
||||
<field name="email_from"><![CDATA[OpenEMS Association e.V.<noreply@openems.io>]]></field>
|
||||
<field name="partner_to">{{object.customer_id.id}}</field>
|
||||
<field name="subject"
|
||||
>Your OpenEMS setup protocol for {{object.openems_device_id.name}}</field>
|
||||
<field name="auto_delete">false</field>
|
||||
<field name="body_html"><![CDATA[
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<head>
|
||||
<title> Your OpenEMS Edge setup protocol </title>
|
||||
<!--[if !mso]><!-->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if mso]>
|
||||
<noscript>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
</noscript>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.mj-outlook-group-fix { width:100% !important; }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style media="screen and (min-width:480px)">
|
||||
.moz-text-html .mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:480px) {
|
||||
table.mj-full-width-mobile {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
td.mj-full-width-mobile {
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="word-spacing:normal;">
|
||||
<div style>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">Welcome to OpenEMS,</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">please find your setup protocol for OpenEMS Edge attached.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">Best Regards</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:Lucida Handwriting;font-size:15px;line-height:1;text-align:left;color:#36aed1;">OpenEMS Association e.V.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
@ -0,0 +1,173 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="setup_protocol_email_installer" model="mail.template">
|
||||
<field name="name">E-Mail setup protocol for installer</field>
|
||||
<field name="model_id" ref="model_openems_setup_protocol" />
|
||||
<field name="email_from"><![CDATA[OpenEMS Association e.V.<noreply@openems.io>]]></field>
|
||||
<field name="partner_to">{{object.installer_id.id}}</field>
|
||||
<field name="subject"
|
||||
>Your OpenEMS setup protocol for {{object.openems_device_id.name}}</field>
|
||||
<field name="auto_delete">false</field>
|
||||
<field name="body_html"><![CDATA[
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<head>
|
||||
<title> OpenEMS setup protocol </title>
|
||||
<!--[if !mso]><!-->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if mso]>
|
||||
<noscript>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
</noscript>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.mj-outlook-group-fix { width:100% !important; }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style media="screen and (min-width:480px)">
|
||||
.moz-text-html .mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:480px) {
|
||||
table.mj-full-width-mobile {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
td.mj-full-width-mobile {
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="word-spacing:normal;">
|
||||
<div style>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">Dear <t t-out="object.installer_id.firstname or ''"></t>
|
||||
<t t-out="object.installer_id.lastname or ''"></t>,
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">please find the setup protocol for your customer <t t-out="object.customer_id.name"> attached.</t>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:'helvetica';font-size:16px;line-height:1;text-align:left;color:#222222;">Best Regards</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:Lucida Handwriting;font-size:15px;line-height:1;text-align:left;color:#36aed1;">OpenEMS Association e.V.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
197
16.0/extra-addons/openems/mail/openems/user_registration.xml
Normal file
197
16.0/extra-addons/openems/mail/openems/user_registration.xml
Normal file
@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="registration_email" model="mail.template">
|
||||
<field name="name">E-Mail Kunden Registrierung</field>
|
||||
<field name="model_id" ref="base.model_res_partner" />
|
||||
<field name="email_from"><![CDATA[OpenEMS Association e.V.<noreply@openems.io>]]></field>
|
||||
<field name="partner_to">{{object.id}}</field>
|
||||
<field name="subject">Registrierung erfolgreich</field>
|
||||
<field name="auto_delete">false</field>
|
||||
<field name="body_html"><![CDATA[
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<head>
|
||||
<title> Registrierung erfolgreich </title>
|
||||
<!--[if !mso]><!-->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if mso]>
|
||||
<noscript>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
</noscript>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.mj-outlook-group-fix { width:100% !important; }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style media="screen and (min-width:480px)">
|
||||
.moz-text-html .mj-column-per-100 {
|
||||
width: 100% !important;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:480px) {
|
||||
table.mj-full-width-mobile {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
td.mj-full-width-mobile {
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="word-spacing:normal;">
|
||||
<div style>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:800px;" width="800" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
|
||||
<div style="margin:0px auto;max-width:800px;">
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;">
|
||||
<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:800px;" ><![endif]-->
|
||||
<div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<p style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:100%;">
|
||||
</p>
|
||||
<!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 4px #36aed1;font-size:1px;margin:0px auto;width:750px;" role="presentation" width="750px" ><tr><td style="height:0;line-height:0;">
|
||||
</td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Guten Tag <t t-out="object.user_id.firstname or ''"></t>
|
||||
<t t-out="object.user_id.lastname or ''"></t>,
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Ihr Zugang zu OpenEMS UI wurde erstellt.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Sie können sich auf <a class="link" href="http://localhost:4200" target="_blank" style="text-decoration: none; color: #36aed1;">OpenEMS UI</a> einloggen, um auf das Online-Monitoring zuzugreifen.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:helvetica;font-size:16px;line-height:22px;table-layout:auto;width:100%;border:none;">
|
||||
<tr>
|
||||
<td colspan="2">Ihre Zugangsdaten:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail</td>
|
||||
<td><a style="text-decoration: none; color:black;">
|
||||
<t t-out="object.email"></t>
|
||||
</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Passwort</td>
|
||||
<td>
|
||||
<t t-out="ctx.get('password')"></t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:helvetica;font-size:16px;line-height:1;text-align:left;color:#000000;">Best Regards</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
||||
<div style="font-family:Lucida Handwriting;font-size:15px;line-height:1;text-align:left;color:#36aed1;">OpenEMS Association e.V.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]></td></tr></table><![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
@ -0,0 +1,9 @@
|
||||
def migrate(cr, version):
|
||||
cr.execute("""
|
||||
INSERT INTO openems_alerting (device_id, device_name, user_id, user_login, offline_delay, warning_delay, fault_delay, offline_last_notification)
|
||||
SELECT device_id, dev.name, user_id, usr.login, time_to_wait, 0, 0, last_notification
|
||||
FROM openems_alerting_migrate AS migrate
|
||||
LEFT JOIN openems_device AS dev ON dev.id = migrate.device_id
|
||||
LEFT JOIN res_users AS usr ON usr.id = migrate.user_id
|
||||
""")
|
||||
cr.execute('DROP TABLE openems_alerting_migrate')
|
@ -0,0 +1,7 @@
|
||||
def migrate(cr, version):
|
||||
cr.execute("""
|
||||
SELECT device_id, user_id, time_to_wait, last_notification
|
||||
INTO openems_alerting_migrate
|
||||
FROM openems_device_user_role
|
||||
WHERE time_to_wait > 0;
|
||||
""")
|
1
16.0/extra-addons/openems/models/__init__.py
Normal file
1
16.0/extra-addons/openems/models/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import device, partner, setup_protocol, user, stock_production_lot
|
321
16.0/extra-addons/openems/models/device.py
Normal file
321
16.0/extra-addons/openems/models/device.py
Normal file
@ -0,0 +1,321 @@
|
||||
from odoo import api, fields, models, exceptions, _
|
||||
from datetime import datetime
|
||||
from odoo.exceptions import ValidationError
|
||||
import random
|
||||
import re
|
||||
import string
|
||||
|
||||
class Device(models.Model):
|
||||
_name = "openems.device"
|
||||
_description = "OpenEMS Edge Device"
|
||||
_inherit = "mail.thread"
|
||||
_order = "name_number asc"
|
||||
_sql_constraints = [
|
||||
("unique_name", "unique(name)", "Name needs to be unique"),
|
||||
("unique_stock_production_lot_id", "unique(stock_production_lot_id)",
|
||||
"Serial number needs to be unique")
|
||||
]
|
||||
|
||||
name = fields.Char(required=True)
|
||||
active = fields.Boolean("Active", default=True, tracking=True)
|
||||
comment = fields.Char(tracking=True)
|
||||
internalnote = fields.Text("Internal note", tracking=True)
|
||||
tag_ids = fields.Many2many("openems.device_tag", string="Tags", tracking=True)
|
||||
monitoring_url = fields.Char(
|
||||
"Online-Monitoring", compute="_compute_monitoring_url", store=False
|
||||
)
|
||||
stock_production_lot_id = fields.Many2one("stock.lot")
|
||||
first_setup_protocol_date = fields.Datetime(
|
||||
"First Setup Protocol Date", compute="_compute_first_setup_protocol"
|
||||
)
|
||||
manual_setup_date = fields.Datetime("Manual Setup Date")
|
||||
|
||||
@api.depends("setup_protocol_ids", "manual_setup_date")
|
||||
def _compute_first_setup_protocol(self):
|
||||
for rec in self:
|
||||
if rec.manual_setup_date:
|
||||
rec.first_setup_protocol_date = rec.manual_setup_date
|
||||
elif len(rec.setup_protocol_ids) > 0:
|
||||
rec.first_setup_protocol_date = rec.setup_protocol_ids[
|
||||
(len(rec.setup_protocol_ids) - 1)
|
||||
]["create_date"]
|
||||
else:
|
||||
rec.first_setup_protocol_date = None
|
||||
|
||||
@api.depends("name")
|
||||
def _compute_monitoring_url(self):
|
||||
# Corrected the parameter key to 'edge_monitoring_url'
|
||||
base_url = self.env["ir.config_parameter"].sudo().get_param("edge_monitoring_url", default='#')
|
||||
for rec in self:
|
||||
if isinstance(rec.name, str) and rec.name:
|
||||
# Ensuring there is a '/' between base_url and rec.name if it's not already present
|
||||
separator = '' if base_url.endswith('/') else '/'
|
||||
rec.monitoring_url = base_url + separator + rec.name + "/live"
|
||||
else:
|
||||
rec.monitoring_url = base_url
|
||||
|
||||
producttype = fields.Selection(
|
||||
[
|
||||
("openems-edge", "OpenEMS Edge"),
|
||||
],
|
||||
"Product type",
|
||||
tracking=True,
|
||||
)
|
||||
emshardware = fields.Selection([], "EMS Hardware", tracking=True)
|
||||
oem = fields.Selection(
|
||||
[
|
||||
("openems", "OpenEMS"),
|
||||
],
|
||||
"OEM Branding",
|
||||
default="openems",
|
||||
)
|
||||
|
||||
# Settings
|
||||
openems_config = fields.Text("OpenEMS Config Full")
|
||||
openems_config_components = fields.Text("OpenEMS Config")
|
||||
openems_version = fields.Char("OpenEMS Version", tracking=True)
|
||||
|
||||
# Security
|
||||
setup_password = fields.Char(
|
||||
"Installation Key",
|
||||
help="Password for commissioning by the installer",
|
||||
)
|
||||
apikey = fields.Char("API-Key", required=True, tracking=True)
|
||||
|
||||
# 'openems_sum_state_level' is updated by OpenEMS Backend
|
||||
openems_sum_state_level = fields.Selection(
|
||||
[("ok", "Ok"), ("info", "Info"), ("warning", "Warning"), ("fault", "Fault")],
|
||||
"OpenEMS State",
|
||||
)
|
||||
# 'openems_is_connected' is updated by OpenEMS Backend
|
||||
openems_is_connected = fields.Boolean("OpenEMS Is connected")
|
||||
|
||||
# System Status
|
||||
lastmessage = fields.Datetime("Last message")
|
||||
lastupdate = fields.Datetime("Last data update")
|
||||
|
||||
# Verknüpfungen
|
||||
systemmessage_ids = fields.One2many(
|
||||
"openems.systemmessage", "device_id", string="System Messages"
|
||||
)
|
||||
user_role_ids = fields.One2many(
|
||||
"openems.device_user_role", "device_id", string="Roles", tracking=True
|
||||
)
|
||||
alerting_settings = fields.One2many(
|
||||
"openems.alerting", "device_id", string="Alerting", tracking=True
|
||||
)
|
||||
openems_config_update_ids = fields.One2many(
|
||||
"openems.openemsconfigupdate", "device_id", string="OpenEMS Config Updates"
|
||||
)
|
||||
setup_protocol_ids = fields.One2many(
|
||||
"openems.setup_protocol", "device_id", "Setup Protocols"
|
||||
)
|
||||
|
||||
# Helper fields
|
||||
name_number = fields.Integer(compute="_compute_name_number", store="True")
|
||||
|
||||
@api.depends("name")
|
||||
def _compute_name_number(self):
|
||||
for rec in self:
|
||||
rec.name_number = int(rec.name[4:]) if rec.name.startswith("edge") else -1
|
||||
|
||||
def _get_openems_state_number(self, string):
|
||||
state = 0
|
||||
if string == "info":
|
||||
state = 1
|
||||
elif string == "warning":
|
||||
state = 2
|
||||
elif string == "fault":
|
||||
state = 3
|
||||
return state
|
||||
|
||||
def write(self, vals):
|
||||
"""Prohibit to change name field after creation."""
|
||||
if 'name' in vals:
|
||||
for record in self:
|
||||
if record.id and record.name != vals['name']:
|
||||
self.env.cr.execute("""
|
||||
SELECT EXISTS (
|
||||
SELECT 1 FROM openems_device
|
||||
WHERE name = %s AND id != %s
|
||||
)
|
||||
""", (vals['name'], record.id))
|
||||
exists = self.env.cr.fetchone()[0]
|
||||
if exists:
|
||||
# This means there's already a device with the intended new name
|
||||
raise exceptions.UserError(
|
||||
"The name '{}' is already in use or does not follow the required pattern.".format(
|
||||
vals['name']))
|
||||
|
||||
# If you simply want to prevent name changes, the following UserError suffices
|
||||
raise exceptions.UserError("The name of the device cannot be changed after creation.")
|
||||
return super(Device, self).write(vals)
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
|
||||
# Generate setup password if not provided
|
||||
if 'setup_password' not in vals or not vals['setup_password']:
|
||||
vals['setup_password'] = self._generate_unique_setup_password()
|
||||
|
||||
# Generate API key if not provided
|
||||
if 'apikey' not in vals or not vals['apikey']:
|
||||
vals['apikey'] = self._generate_api_key()
|
||||
|
||||
return super(Device, self).create(vals)
|
||||
|
||||
def _generate_unique_setup_password(self):
|
||||
is_unique = False
|
||||
setup_password = ''
|
||||
while not is_unique:
|
||||
# Generate a random setup password
|
||||
raw_password = ''.join(random.choices(string.ascii_uppercase + string.digits, k=16))
|
||||
setup_password = '-'.join([raw_password[i:i + 4] for i in range(0, len(raw_password), 4)])
|
||||
# Check if the generated setup password already exists
|
||||
existing = self.search_count([('setup_password', '=', setup_password)])
|
||||
# If the password does not exist, it is unique, and we can exit the loop
|
||||
if existing == 0:
|
||||
is_unique = True
|
||||
return setup_password
|
||||
|
||||
def _generate_api_key(self):
|
||||
# Initialize a flag to indicate whether the generated key is unique
|
||||
is_unique = False
|
||||
api_key = ''
|
||||
while not is_unique:
|
||||
# Generate a random API key
|
||||
api_key = ''.join(random.choices(string.ascii_letters + string.digits, k=20))
|
||||
# Check if the generated API key already exists
|
||||
existing = self.search_count([('apikey', '=', api_key)])
|
||||
# If the key does not exist, it is unique, and we can exit the loop
|
||||
if existing == 0:
|
||||
is_unique = True
|
||||
return api_key
|
||||
|
||||
@api.onchange('setup_password')
|
||||
def _check_setup_password_format(self):
|
||||
for record in self:
|
||||
if not record.setup_password:
|
||||
continue
|
||||
if not re.match(r"^[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}$", record.setup_password):
|
||||
raise ValidationError("The device ID must be formatted as XXXX-XXXX-XXXX-XXXX")
|
||||
|
||||
@api.onchange('apikey')
|
||||
def _check_api_key_uniqueness(self):
|
||||
for record in self:
|
||||
if record.apikey:
|
||||
# Prepare the domain for searching duplicates
|
||||
domain = [('apikey', '=', record.apikey)]
|
||||
# If the record is already saved (has a valid database ID), exclude it from the search
|
||||
if record.id and isinstance(record.id, (int,)):
|
||||
domain.append(('id', '!=', record.id))
|
||||
# Check if any other records with the same API key exist
|
||||
existing = self.search_count(domain)
|
||||
# If there are duplicates, raise a ValidationError
|
||||
if existing:
|
||||
raise ValidationError(
|
||||
_("The API key already exists and must be unique. Please choose a different API key."))
|
||||
|
||||
|
||||
class DeviceTag(models.Model):
|
||||
_name = "openems.device_tag"
|
||||
_description = "OpenEMS Edge Device Tag"
|
||||
name = fields.Char(required=True)
|
||||
|
||||
|
||||
class DeviceUserRole(models.Model):
|
||||
_name = "openems.device_user_role"
|
||||
_description = "OpenEMS Edge Device User Role"
|
||||
_sql_constraints = [
|
||||
(
|
||||
"device_user_uniq",
|
||||
"unique(device_id, user_id)",
|
||||
"User already exists for this device.",
|
||||
),
|
||||
]
|
||||
device_id = fields.Many2one("openems.device", string="OpenEMS Edge")
|
||||
user_id = fields.Many2one("res.users", string="User")
|
||||
role = fields.Selection(
|
||||
[
|
||||
("admin", "Admin"),
|
||||
("installer", "Installer"),
|
||||
("owner", "Owner"),
|
||||
("guest", "Guest"),
|
||||
],
|
||||
default="guest",
|
||||
required=True,
|
||||
)
|
||||
|
||||
|
||||
class OpenemsConfigUpdate(models.Model):
|
||||
_name = "openems.openemsconfigupdate"
|
||||
_description = "OpenEMS Edge Device Configuration Update"
|
||||
_order = "create_date desc"
|
||||
|
||||
device_id = fields.Many2one("openems.device", string="OpenEMS Edge")
|
||||
teaser = fields.Text("Update Details Teaser")
|
||||
details = fields.Html("Update Details")
|
||||
|
||||
|
||||
class Systemmessage(models.Model):
|
||||
_name = "openems.systemmessage"
|
||||
_description = "OpenEMS Edge Systemmessage"
|
||||
_order = "create_date desc"
|
||||
|
||||
timestamp = fields.Datetime("Creation date")
|
||||
device_id = fields.Many2one("openems.device", string="OpenEMS Edge")
|
||||
text = fields.Text("Message")
|
||||
text_teaser = fields.Char(compute="_compute_text_teaser")
|
||||
|
||||
@api.depends("text")
|
||||
def _compute_text_teaser(self):
|
||||
for rec in self:
|
||||
# get up to 100 characters from first line
|
||||
rec.text_teaser = rec.text.splitlines()[0][0:100] if rec.text else False
|
||||
|
||||
class Alerting(models.Model):
|
||||
_name = "openems.alerting"
|
||||
_description = "OpenEMS Edge AlertingSettings"
|
||||
_sql_constraints = [
|
||||
(
|
||||
"device_user_uniq",
|
||||
"unique(device_id, user_id)",
|
||||
"User already has Alerting Settings.",
|
||||
),
|
||||
]
|
||||
|
||||
device_id = fields.Many2one("openems.device", string="OpenEMS Edge")
|
||||
user_id = fields.Many2one("res.users", string="User")
|
||||
|
||||
offline_delay = fields.Integer(string="Offline Notification", default=1440)
|
||||
warning_delay = fields.Integer(string="Warning Notification", default=1440)
|
||||
fault_delay = fields.Integer(string="Fault Notification", default=1440)
|
||||
|
||||
offline_last_notification = fields.Datetime(string="Last Offline notification sent")
|
||||
sum_state_last_notification = fields.Datetime(string="Last SumState notification sent")
|
||||
|
||||
device_name = fields.Text(compute="_compute_device_name", store="True")
|
||||
user_login = fields.Text(compute="_compute_user_login", store="True")
|
||||
|
||||
user_role = fields.Selection(
|
||||
[("admin", "Admin"), ("installer", "Installer"), ("owner", "Owner"), ("guest", "Guest"),],
|
||||
compute="_compute_user_role", store="False")
|
||||
|
||||
@api.depends("device_id")
|
||||
def _compute_device_name(self):
|
||||
for rec in self:
|
||||
rec.device_name = rec.device_id.name;
|
||||
|
||||
@api.depends("user_id")
|
||||
def _compute_user_login(self):
|
||||
for rec in self:
|
||||
rec.user_login = rec.user_id.login;
|
||||
|
||||
@api.depends("user_id", "device_id")
|
||||
def _compute_user_role(self):
|
||||
for rec in self:
|
||||
user_role: DeviceUserRole = rec.user_id.device_role_ids.search([('device_id','=',rec.device_id.id)])
|
||||
if user_role:
|
||||
return user_role.role
|
||||
else:
|
||||
return rec.user_id.global_role
|
12
16.0/extra-addons/openems/models/partner.py
Normal file
12
16.0/extra-addons/openems/models/partner.py
Normal file
@ -0,0 +1,12 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = "res.partner"
|
||||
|
||||
installer_setup_protocols_ids = fields.One2many(
|
||||
"openems.setup_protocol", "installer_id", "Installed OpenEMS Edge"
|
||||
)
|
||||
customer_setup_protocols_ids = fields.One2many(
|
||||
"openems.setup_protocol", "customer_id", "Owner of OpenEMS Edge"
|
||||
)
|
49
16.0/extra-addons/openems/models/setup_protocol.py
Normal file
49
16.0/extra-addons/openems/models/setup_protocol.py
Normal file
@ -0,0 +1,49 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class SetupProtocol(models.Model):
|
||||
_name = "openems.setup_protocol"
|
||||
_description = "OpenEMS Edge Setup Protocols (IBN)"
|
||||
_order = "create_date desc"
|
||||
|
||||
customer_id = fields.Many2one("res.partner", "Customer", required=True)
|
||||
different_location_id = fields.Many2one("res.partner", "Different Location")
|
||||
installer_id = fields.Many2one("res.partner", "Installer", required=True)
|
||||
device_id = fields.Many2one("openems.device", "OpenEMS Edge", required=True)
|
||||
productionlot_ids = fields.One2many(
|
||||
"openems.setup_protocol_production_lot", "setup_protocol_id", "Serial Numbers"
|
||||
)
|
||||
item_ids = fields.One2many(
|
||||
"openems.setup_protocol_item", "setup_protocol_id", "Entry Items"
|
||||
)
|
||||
|
||||
|
||||
class SetupProtocolProductionLot(models.Model):
|
||||
_name = "openems.setup_protocol_production_lot"
|
||||
_description = "OpenEMS Edge Setup Protocol Serial Number"
|
||||
_order = "setup_protocol_id, category, sequence asc"
|
||||
|
||||
sequence = fields.Integer("Sort")
|
||||
category = fields.Char("Category")
|
||||
name = fields.Char("Name")
|
||||
lot_id = fields.Many2one("stock.production.lot", "Serial Number")
|
||||
setup_protocol_id = fields.Many2one(
|
||||
"openems.setup_protocol", "Setup Protocol", ondelete="cascade"
|
||||
)
|
||||
|
||||
|
||||
class SetupProtocolItem(models.Model):
|
||||
_name = "openems.setup_protocol_item"
|
||||
_description = "OpenEMS Edge Setup Protocol Entry Item"
|
||||
_order = "setup_protocol_id, category, sequence asc"
|
||||
|
||||
sequence = fields.Integer("Sort")
|
||||
category = fields.Char("Category")
|
||||
name = fields.Char("Name")
|
||||
value = fields.Char("Value")
|
||||
setup_protocol_id = fields.Many2one(
|
||||
"openems.setup_protocol", "Setup Protocol", ondelete="cascade"
|
||||
)
|
||||
view = fields.Char("View Identifier")
|
||||
field = fields.Char("Field Identifier")
|
||||
|
23
16.0/extra-addons/openems/models/stock_production_lot.py
Normal file
23
16.0/extra-addons/openems/models/stock_production_lot.py
Normal file
@ -0,0 +1,23 @@
|
||||
from odoo import fields, models, api
|
||||
|
||||
|
||||
class ProductionLot(models.Model):
|
||||
_inherit = "stock.lot"
|
||||
|
||||
device_id = fields.Many2one(
|
||||
'openems.device', compute='compute_device_id', inverse='device_inverse')
|
||||
device_ids = fields.One2many('openems.device', 'stock_production_lot_id')
|
||||
|
||||
@api.depends('device_ids')
|
||||
def compute_device_id(self):
|
||||
if len(self.device_ids) > 0:
|
||||
self.device_id = self.device_ids[0]
|
||||
|
||||
def device_inverse(self):
|
||||
if len(self.device_ids) > 0:
|
||||
if len(self.device_id.stock_production_lot_id) > 0:
|
||||
raise ValueError("A serial number has already been assigned to the device")
|
||||
|
||||
device = self.env['openems.device'].browse(self.device_ids[0].id)
|
||||
device.stock_production_lot_id = False
|
||||
self.device_id.stock_production_lot_id = self
|
37
16.0/extra-addons/openems/models/user.py
Normal file
37
16.0/extra-addons/openems/models/user.py
Normal file
@ -0,0 +1,37 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = "res.users"
|
||||
|
||||
branding_partner_id = fields.Many2one("res.partner", string="Branding Partner")
|
||||
global_role = fields.Selection(
|
||||
[
|
||||
("admin", "Admin"),
|
||||
("installer", "Installer"),
|
||||
("owner", "Owner"),
|
||||
("guest", "Guest"),
|
||||
],
|
||||
default="guest",
|
||||
required=True,
|
||||
)
|
||||
device_role_ids = fields.One2many(
|
||||
"openems.device_user_role", "user_id", string="Roles"
|
||||
)
|
||||
alerting_settings = fields.One2many(
|
||||
"openems.alerting", "user_id", string="Alerting"
|
||||
)
|
||||
openems_language = fields.Selection(
|
||||
[
|
||||
("EN", "English"),
|
||||
("DE", "German"),
|
||||
("CZ", "Czech"),
|
||||
("NL", "Dutch"),
|
||||
("ES", "Spanish"),
|
||||
("FR", "French"),
|
||||
("HU", "Hungarian"),
|
||||
("JA", "Japanese"),
|
||||
],
|
||||
default="DE",
|
||||
required=True,
|
||||
)
|
311
16.0/extra-addons/openems/report/setup_protocol.xml
Normal file
311
16.0/extra-addons/openems/report/setup_protocol.xml
Normal file
@ -0,0 +1,311 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="openems.action_openems_setup_protocol_report" model="ir.actions.report">
|
||||
<field name="name">OpenEMS Setup Protocol</field>
|
||||
<field name="model">openems.setup_protocol</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">openems.report_openems_setup_protocol_template</field>
|
||||
<field name="print_report_name">('IBN-' + object.openems_device_id.name + '-' + object.create_date.strftime('%d.%m.%Y'))</field>
|
||||
</record>
|
||||
<template id="report_openems_setup_protocol_template">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="web.basic_layout">
|
||||
<div class="page">
|
||||
<style type="text/css" scoped="true">
|
||||
table,
|
||||
th,
|
||||
td {
|
||||
border: 1px solid rgb(217, 217, 217);
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: bold;
|
||||
background-color: rgb(242, 242, 242);
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Title -->
|
||||
<h1>Setup Protocol</h1>
|
||||
|
||||
<table class="table table-sm o_main_table">
|
||||
<tr>
|
||||
<td>Datum: </td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.create_date"
|
||||
t-options="{'widget': 'date'}"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Customer -->
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">Kontaktdaten Endkunde</th>
|
||||
</tr>
|
||||
<tr t-if="doc.customer_id.parent_id">
|
||||
<td>Firmenname</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.customer_id.commercial_company_name"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vor- Nachname</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.firstname" />
|
||||
<span t-field="doc.customer_id.lastname" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Straße / Hausnummer</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.street" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PLZ</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.zip" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ort</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.city" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Land</td>
|
||||
<td>
|
||||
<t t-esc="doc.customer_id.country_id.name" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail-Adresse</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.email" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefonnummer</td>
|
||||
<td>
|
||||
<span t-field="doc.customer_id.phone" />
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Different location -->
|
||||
<t t-if="doc.different_location_id">
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">Speicherstandort</th>
|
||||
</tr>
|
||||
<tr t-if="doc.different_location_id.parent_id">
|
||||
<td>Firmenname</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.commercial_company_name"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name Kontaktperson</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.firstname"
|
||||
/>
|
||||
<span
|
||||
t-field="doc.different_location_id.lastname"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Straße / Hausnummer</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.street"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PLZ</td>
|
||||
<td>
|
||||
<span t-field="doc.different_location_id.zip" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ort</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.city"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Land</td>
|
||||
<td>
|
||||
<t
|
||||
t-esc="doc.different_location_id.country_id.name"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail-Adresse</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.email"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefonnummer</td>
|
||||
<td>
|
||||
<span
|
||||
t-field="doc.different_location_id.phone"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<!-- Installer -->
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">Installateur</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Firmenname</td>
|
||||
<td>
|
||||
<t
|
||||
t-esc="doc.installer_id.commercial_company_name"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name Installateur</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.firstname" />
|
||||
<span t-field="doc.installer_id.lastname" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Straße / Hausnummer</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.street" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PLZ</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.zip" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ort</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.city" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Land</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.country_id.name" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail-Adresse</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.email" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefonnummer</td>
|
||||
<td>
|
||||
<span t-field="doc.installer_id.phone" />
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Setup protocol production lots -->
|
||||
<t t-set="lotCategory" t-value="null" />
|
||||
<t t-foreach="doc.productionlot_ids" t-as="lot">
|
||||
<t t-if="lotCategory != lot.category">
|
||||
<t t-set="lotCategory" t-value="lot.category" />
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">
|
||||
<t t-raw="lotCategory" />
|
||||
</th>
|
||||
</tr>
|
||||
</t>
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="lot.name" />
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="lot.lot_id.name" />
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<!-- Not found production lots -->
|
||||
<t t-set="itemCategory" t-value="null" />
|
||||
<t t-foreach="doc.item_ids" t-as="item">
|
||||
<t
|
||||
t-if="item.category == 'Seriennummern wurden im System nicht gefunden'"
|
||||
>
|
||||
<t t-if="itemCategory != item.category">
|
||||
<t
|
||||
t-set="itemCategory"
|
||||
t-value="item.category"
|
||||
/>
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">
|
||||
<t t-raw="itemCategory" />
|
||||
</th>
|
||||
</tr>
|
||||
</t>
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="item.name" />
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="item.value" />
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</t>
|
||||
<!-- Setup protocol items -->
|
||||
<t t-set="itemCategory" t-value="null" />
|
||||
<t t-foreach="doc.item_ids" t-as="item">
|
||||
<t
|
||||
t-if="item.category != 'Seriennummern wurden im System nicht gefunden'"
|
||||
>
|
||||
<t t-if="itemCategory != item.category">
|
||||
<t
|
||||
t-set="itemCategory"
|
||||
t-value="item.category"
|
||||
/>
|
||||
<tr>
|
||||
<th colspan="2" class="pt-5">
|
||||
<t t-raw="itemCategory" />
|
||||
</th>
|
||||
</tr>
|
||||
</t>
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="item.name" />
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="item.value" />
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</t>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="footer o_background_footer"
|
||||
style="line-height: 14px; font-size: 12px"
|
||||
>
|
||||
<div style="margin-bottom: 2mm">
|
||||
OpenEMS Association e.V.
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
31
16.0/extra-addons/openems/security/ir.model.access.csv
Normal file
31
16.0/extra-addons/openems/security/ir.model.access.csv
Normal file
@ -0,0 +1,31 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_openems_device_portal,access_openems_device_portal,openems.model_openems_device,base.group_portal,1,0,0,0
|
||||
access_openems_device_user,access_openems_device_user,openems.model_openems_device,base.group_user,1,0,0,0
|
||||
access_openems_device_manager,access_openems_device_manager,openems.model_openems_device,openems.group_openems_manager,1,1,1,0
|
||||
access_openems_device_tag_portal,access_openems_device_tag_portal,openems.model_openems_device_tag,base.group_portal,1,0,0,0
|
||||
access_openems_device_tag_user,access_openems_device_tag_user,openems.model_openems_device_tag,base.group_user,1,0,0,0
|
||||
access_openems_device_tag_manager,access_openems_device_tag_manager,openems.model_openems_device_tag,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_device_user_role_portal,access_openems_device_user_role_portal,openems.model_openems_device_user_role,base.group_portal,1,0,0,0
|
||||
access_openems_device_user_role_user,access_openems_device_user_role_user,openems.model_openems_device_user_role,base.group_user,1,0,0,0
|
||||
access_openems_device_user_role_manager,access_openems_device_user_role_manager,openems.model_openems_device_user_role,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_alerting_portal,access_openems_alerting_portal,openems.model_openems_alerting,base.group_portal,1,0,0,0
|
||||
access_openems_alerting_user,access_openems_alerting_user,openems.model_openems_alerting,base.group_user,1,0,0,0
|
||||
access_openems_alerting_manager,access_openems_alerting_manager,openems.model_openems_alerting,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_systemmessage_portal,access_openems_systemmessage_portal,openems.model_openems_systemmessage,base.group_portal,1,0,0,0
|
||||
access_openems_systemmessage_user,access_openems_systemmessage_user,openems.model_openems_systemmessage,base.group_user,1,0,0,0
|
||||
access_openems_systemmessage_manager,access_openems_systemmessage_manager,openems.model_openems_systemmessage,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_openemsconfigupdate_portal,access_openems_openemsconfigupdate_portal,openems.model_openems_openemsconfigupdate,base.group_portal,1,0,0,0
|
||||
access_openems_openemsconfigupdate_user,access_openems_openemsconfigupdate_user,openems.model_openems_openemsconfigupdate,base.group_user,1,0,0,0
|
||||
access_openems_openemsconfigupdate_manager,access_openems_openemsconfigupdate_manager,openems.model_openems_openemsconfigupdate,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_setup_protocol_portal,access_openems_setup_protocol_portal,openems.model_openems_setup_protocol,base.group_portal,1,0,0,0
|
||||
access_openems_setup_protocol_user,access_openems_setup_protocol_user,openems.model_openems_setup_protocol,base.group_user,1,0,0,0
|
||||
access_openems_setup_protocol_manager,access_openems_setup_protocol_manager,openems.model_openems_setup_protocol,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_setup_protocol_production_lot_portal,access_openems_setup_protocol_production_lot_portal,openems.model_openems_setup_protocol_production_lot,base.group_portal,1,0,0,0
|
||||
access_openems_setup_protocol_production_lot_user,access_openems_setup_protocol_production_lot_user,openems.model_openems_setup_protocol_production_lot,base.group_user,1,0,0,0
|
||||
access_openems_setup_protocol_production_lot_manager,access_openems_setup_protocol_production_lot_manager,openems.model_openems_setup_protocol_production_lot,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_setup_protocol_item_portal,access_openems_setup_protocol_item_portal,openems.model_openems_setup_protocol_item,base.group_portal,1,0,0,0
|
||||
access_openems_setup_protocol_item_user,access_openems_setup_protocol_item_user,openems.model_openems_setup_protocol_item,base.group_user,1,0,0,0
|
||||
access_openems_setup_protocol_item_manager,access_openems_setup_protocol_item_manager,openems.model_openems_setup_protocol_item,openems.group_openems_manager,1,1,1,1
|
||||
access_openems_production_lot_portal,access_openems_production_lot_portal,stock.model_stock_lot,base.group_portal,1,0,0,0
|
||||
access_openems_production_lot_user,access_openems_production_lot_user,stock.model_stock_lot,base.group_user,1,0,0,0
|
||||
access_openems_production_lot_manager,access_openems_production_lot_manager,stock.model_stock_lot,openems.group_openems_manager,1,0,0,0
|
|
54
16.0/extra-addons/openems/security/openems.xml
Normal file
54
16.0/extra-addons/openems/security/openems.xml
Normal file
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="module_category_openems" model="ir.module.category">
|
||||
<field name="name">OpenEMS</field>
|
||||
<field name="sequence">30</field>
|
||||
</record>
|
||||
|
||||
<record id="group_openems_reader" model="res.groups">
|
||||
<field name="name">Read access</field>
|
||||
<field
|
||||
name="comment"
|
||||
>Members of this group have reading access to all devices</field>
|
||||
<field name="category_id" ref="module_category_openems" />
|
||||
</record>
|
||||
|
||||
<record id="group_openems_manager" model="res.groups">
|
||||
<field name="name">Manager</field>
|
||||
<field name="comment">Members of this group can manage all devices</field>
|
||||
<field name="category_id" ref="module_category_openems" />
|
||||
<field name="implied_ids" eval="[(4, ref('group_openems_reader'))]" />
|
||||
<field
|
||||
name="users"
|
||||
eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="openems_website_devices_portal" model="ir.rule">
|
||||
<field
|
||||
name="name"
|
||||
>Website: Show only approved devices to Portal and User</field>
|
||||
<field name="model_id" ref="model_openems_device" />
|
||||
<field name="domain_force">['|', ('user_role_ids.user_id','in',[user.id]), ('alerting_settings.user_id','in',[user.id])]</field>
|
||||
<field
|
||||
name="groups"
|
||||
eval="[(4, ref('base.group_portal')), (4, ref('base.group_user'))]"
|
||||
/>
|
||||
<field name="perm_read" eval="True" />
|
||||
<field name="perm_write" eval="False" />
|
||||
<field name="perm_create" eval="False" />
|
||||
<field name="perm_unlink" eval="False" />
|
||||
</record>
|
||||
|
||||
<record id="openems_website_devices_reader" model="ir.rule">
|
||||
<field name="name">Website: Show all devices to readers group</field>
|
||||
<field name="model_id" ref="model_openems_device" />
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
<field name="groups" eval="[(4, ref('group_openems_reader'))]" />
|
||||
<field name="perm_read" eval="True" />
|
||||
<field name="perm_write" eval="False" />
|
||||
<field name="perm_create" eval="False" />
|
||||
<field name="perm_unlink" eval="False" />
|
||||
</record>
|
||||
|
||||
</odoo>
|
@ -0,0 +1,2 @@
|
||||
# addons listed in this file are ignored by
|
||||
# setuptools-odoo-make-default (one addon per line)
|
2
16.0/extra-addons/openems/setup/README
Normal file
2
16.0/extra-addons/openems/setup/README
Normal file
@ -0,0 +1,2 @@
|
||||
To learn more about this directory, please visit
|
||||
https://pypi.python.org/pypi/setuptools-odoo
|
BIN
16.0/extra-addons/openems/static/description/icon.png
Executable file
BIN
16.0/extra-addons/openems/static/description/icon.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
16.0/extra-addons/openems/static/mail/OpenEMS-Logo.jpg
Normal file
BIN
16.0/extra-addons/openems/static/mail/OpenEMS-Logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
320
16.0/extra-addons/openems/views/device.xml
Normal file
320
16.0/extra-addons/openems/views/device.xml
Normal file
@ -0,0 +1,320 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<!-- Device -->
|
||||
<record id="openems_device_tree" model="ir.ui.view">
|
||||
<field name="name">Device: Tree</field>
|
||||
<field name="model">openems.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree
|
||||
decoration-danger="openems_is_connected==True and openems_sum_state_level=='fault'"
|
||||
decoration-warning="openems_is_connected==True and openems_sum_state_level=='warning'"
|
||||
decoration-success="openems_is_connected==True"
|
||||
decoration-info="openems_is_connected==True and openems_sum_state_level=='info'"
|
||||
decoration-it="openems_is_connected!=True"
|
||||
>
|
||||
<field name="name" string="OpenEMS-Number" />
|
||||
<field name="comment" string="Description" />
|
||||
<field name="producttype" />
|
||||
<field name="openems_version" string="OE Version" />
|
||||
<field name="openems_is_connected" string="OE Connected" />
|
||||
<field name="lastmessage" />
|
||||
<field name="openems_sum_state_level" string="OE State" />
|
||||
<field name="internalnote" />
|
||||
<field name="tag_ids" widget="many2many_tags" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="device_search_view">
|
||||
<field name="name">Device: Search</field>
|
||||
<field name="model">openems.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="name" string="OpenEMS-Number" />
|
||||
<field name="comment" string="Description" />
|
||||
<field name="producttype" />
|
||||
<field name="internalnote" />
|
||||
<field name="tag_ids" />
|
||||
<field name="openems_config_components" />
|
||||
<field name="openems_sum_state_level" />
|
||||
<field name="oem" />
|
||||
<field name="openems_version" />
|
||||
<filter
|
||||
string="Archived"
|
||||
name="inactive"
|
||||
domain="[('active','=',False)]"
|
||||
/>
|
||||
<group>
|
||||
<filter
|
||||
name="group_by_openems_version"
|
||||
string="OpenEMS Version"
|
||||
context="{'group_by': 'openems_version'}"
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_device_form" model="ir.ui.view">
|
||||
<field name="name">Device: Form</field>
|
||||
<field name="model">openems.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="toggle_active"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-archive"
|
||||
>
|
||||
<field
|
||||
name="active"
|
||||
widget="boolean_button"
|
||||
options="{'terminology': 'archive'}"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<group>
|
||||
<label for="comment" />
|
||||
<h1>
|
||||
<field name="comment" nolabel="True" />
|
||||
</h1>
|
||||
<field name="name" readonly="1" />
|
||||
<field name="monitoring_url" widget="url" />
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="General">
|
||||
<group>
|
||||
<field name="internalnote" />
|
||||
<field name="tag_ids" widget="many2many_tags" />
|
||||
</group>
|
||||
<group string="Status">
|
||||
<field
|
||||
name="openems_is_connected"
|
||||
string="Is connected"
|
||||
/>
|
||||
<field
|
||||
name="openems_sum_state_level"
|
||||
string="Systemstatus"
|
||||
decoration-danger="openems_is_connected==True and openems_sum_state_level=='fault'"
|
||||
decoration-warning="openems_is_connected==True and openems_sum_state_level=='warning'"
|
||||
decoration-success="openems_is_connected==True"
|
||||
decoration-info="openems_is_connected==True and openems_sum_state_level=='info'"
|
||||
decoration-it="openems_is_connected!=True"
|
||||
/>
|
||||
<field name="openems_version" />
|
||||
<field
|
||||
name="lastmessage"
|
||||
readonly="True"
|
||||
nolabel="True"
|
||||
/>
|
||||
<field
|
||||
name="lastupdate"
|
||||
readonly="True"
|
||||
nolabel="True"
|
||||
/>
|
||||
<field name="first_setup_protocol_date" />
|
||||
<field name="manual_setup_date"/>
|
||||
</group>
|
||||
<group string="Hardware">
|
||||
<field name="producttype" />
|
||||
<field name="emshardware" />
|
||||
<field name="oem" />
|
||||
</group>
|
||||
<group string="Product">
|
||||
<field name="stock_production_lot_id"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Security">
|
||||
<group>
|
||||
<field
|
||||
name="user_role_ids"
|
||||
string="Access Role in Online-Monitoring"
|
||||
>
|
||||
<tree editable="bottom">
|
||||
<field name="user_id" />
|
||||
<field name="role" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group>
|
||||
<field name="apikey" />
|
||||
<field name="setup_password" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Installation">
|
||||
<group>
|
||||
<field
|
||||
name="setup_protocol_ids"
|
||||
string="Installation Log"
|
||||
>
|
||||
<tree>
|
||||
<field name="create_date" />
|
||||
<field name="installer_id" />
|
||||
<field name="customer_id" />
|
||||
<field name="different_location_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Configuration">
|
||||
<group>
|
||||
<field
|
||||
name="openems_config_components"
|
||||
readonly="True"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Configuration Updates">
|
||||
<group>
|
||||
<field
|
||||
name="openems_config_update_ids"
|
||||
readonly="True"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="System Messages">
|
||||
<field name="systemmessage_ids" readonly="True" />
|
||||
</page>
|
||||
<page string="Alerting">
|
||||
<group>
|
||||
<field
|
||||
name="alerting_settings"
|
||||
string="Alerting Settings"
|
||||
>
|
||||
<tree editable="bottom">
|
||||
<field name="user_id" />
|
||||
<field name="offline_delay" />
|
||||
<field name="warning_delay" />
|
||||
<field name="fault_delay" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field
|
||||
name="message_follower_ids"
|
||||
widget="mail_followers"
|
||||
groups="base.group_user"
|
||||
/>
|
||||
<field name="message_ids" widget="mail_thread" />
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_device_user_role_tree" model="ir.ui.view">
|
||||
<field name="name">Device DeviceUserRole: Tree</field>
|
||||
<field name="model">openems.device_user_role</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<field name="user_id" />
|
||||
<field name="role" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_openems_device" model="ir.actions.act_window">
|
||||
<field name="name">Devices</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">openems.device</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="device_search_view" />
|
||||
</record>
|
||||
|
||||
<!-- OpenEMS Configuration Updates -->
|
||||
<record id="action_openems_openemsconfigupdate" model="ir.actions.act_window">
|
||||
<field name="name">Device Configuration Updates</field>
|
||||
<field name="res_model">openems.openemsconfigupdate</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_openemsconfigupdate_tree" model="ir.ui.view">
|
||||
<field name="name">Device Configuration Updates: Tree</field>
|
||||
<field name="model">openems.openemsconfigupdate</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="OpenEMS Configuration Updates">
|
||||
<field name="create_date" />
|
||||
<field name="device_id" />
|
||||
<field name="teaser" string="Details" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_openemsconfigupdate_form" model="ir.ui.view">
|
||||
<field name="name">Device Configuration Updates: Form</field>
|
||||
<field name="model">openems.openemsconfigupdate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="device_id" readonly="True" />
|
||||
<field name="teaser" readonly="True" />
|
||||
<field name="details" readonly="True" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- System Message -->
|
||||
<record id="action_openems_systemmessage" model="ir.actions.act_window">
|
||||
<field name="name">Systemmessages</field>
|
||||
<field name="res_model">openems.systemmessage</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_systemmessage_tree" model="ir.ui.view">
|
||||
<field name="name">Device Systemmessage: Tree</field>
|
||||
<field name="model">openems.systemmessage</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Users">
|
||||
<field name="device_id" />
|
||||
<field name="timestamp" />
|
||||
<field name="text_teaser" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_systemmessage_form" model="ir.ui.view">
|
||||
<field name="name">Device Systemmessage: Form</field>
|
||||
<field name="model">openems.systemmessage</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="device_id" />
|
||||
<field name="timestamp" />
|
||||
<field name="text" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Menus -->
|
||||
<menuitem
|
||||
sequence="100"
|
||||
id="menu_openems"
|
||||
name="OpenEMS"
|
||||
web_icon="openems,static/description/icon.png"
|
||||
/>
|
||||
<menuitem id="menu_openems_content" parent="menu_openems" name="OpenEMS Edge" />
|
||||
<menuitem
|
||||
id="menu_openems_content_devices"
|
||||
parent="menu_openems_content"
|
||||
action="action_openems_device"
|
||||
/>
|
||||
<menuitem id="menu_openems_admin" parent="menu_openems" name="Administration" />
|
||||
<menuitem
|
||||
id="menu_openems_admin_systemmessages"
|
||||
parent="menu_openems_admin"
|
||||
action="action_openems_systemmessage"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_openems_admin_openemsconfigupdate"
|
||||
parent="menu_openems_admin"
|
||||
action="action_openems_openemsconfigupdate"
|
||||
/>
|
||||
</odoo>
|
28
16.0/extra-addons/openems/views/partner.xml
Normal file
28
16.0/extra-addons/openems/views/partner.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="res_partner_form" model="ir.ui.view">
|
||||
<field name="name">OpenEMS Partner: Form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="arch" type="xml">
|
||||
<notebook>
|
||||
<page string="Setup Protocols" name="setup_protocols">
|
||||
<group>
|
||||
<field name="installer_setup_protocols_ids">
|
||||
<tree>
|
||||
<field name="create_date" />
|
||||
<field name="device_id" />
|
||||
</tree>
|
||||
</field>
|
||||
<field name="customer_setup_protocols_ids">
|
||||
<tree>
|
||||
<field name="create_date" />
|
||||
<field name="device_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
82
16.0/extra-addons/openems/views/setup_protocol.xml
Normal file
82
16.0/extra-addons/openems/views/setup_protocol.xml
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="openems_setup_protocol_form" model="ir.ui.view">
|
||||
<field name="name">SetupProtocol: Form</field>
|
||||
<field name="model">openems.setup_protocol</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<button
|
||||
name="%(action_openems_setup_protocol_report)d"
|
||||
string="Print"
|
||||
type="action"
|
||||
icon="fa-print"
|
||||
/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="create_date" />
|
||||
<field name="device_id" />
|
||||
<field name="installer_id" />
|
||||
<field name="customer_id" />
|
||||
<field name="different_location_id" />
|
||||
<field name="productionlot_ids" />
|
||||
<field name="item_ids" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_setup_protocol_prodution_lot_tree" model="ir.ui.view">
|
||||
<field name="name">SetupProtocolProductionLot: Tree</field>
|
||||
<field name="model">openems.setup_protocol_production_lot</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="category" />
|
||||
<field name="name" />
|
||||
<field name="lot_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_setup_protocol_item_tree" model="ir.ui.view">
|
||||
<field name="name">SetupProtocolItem: Tree</field>
|
||||
<field name="model">openems.setup_protocol_item</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="category" />
|
||||
<field name="name" />
|
||||
<field name="value" />
|
||||
<field name="view" />
|
||||
<field name="field" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="openems_admin_setup_protocol_tree" model="ir.ui.view">
|
||||
<field name="name">SetupProtocol: Tree</field>
|
||||
<field name="model">openems.setup_protocol</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="create_date" />
|
||||
<field name="device_id" />
|
||||
<field name="installer_id" />
|
||||
<field name="customer_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_openems_admin_setup_protocol" model="ir.actions.act_window">
|
||||
<field name="name">Setup Protocols</field>
|
||||
<field name="res_model">openems.setup_protocol</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_openems_admin_setup_protocol"
|
||||
parent="menu_openems_admin"
|
||||
action="action_openems_admin_setup_protocol"
|
||||
/>
|
||||
</odoo>
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_production_lot_form" model="ir.ui.view">
|
||||
<field name="name">stock.production.lot.form</field>
|
||||
<field name="model">stock.lot</field>
|
||||
<field name="inherit_id" ref="stock.view_production_lot_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="ref" position="after">
|
||||
<field name="device_id" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
25
16.0/extra-addons/openems/views/user.xml
Normal file
25
16.0/extra-addons/openems/views/user.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="openems_users_form" model="ir.ui.view">
|
||||
<field name="name">Users: Form</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="inherit_id" ref="base.view_users_form" />
|
||||
<field name="arch" type="xml">
|
||||
<notebook>
|
||||
<page string="OpenEMS" name="openems">
|
||||
<group>
|
||||
<field name="branding_partner_id" />
|
||||
<field name="global_role" />
|
||||
<field name="openems_language" />
|
||||
<field name="device_role_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="device_id" />
|
||||
<field name="role" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
146
16.0/extra-addons/partner_firstname/README.rst
Normal file
146
16.0/extra-addons/partner_firstname/README.rst
Normal file
@ -0,0 +1,146 @@
|
||||
================================
|
||||
Partner first name and last name
|
||||
================================
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:79accd4524bae45962214d556c79b2a17ebbddff6ffb48fcb246f998340a88f4
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Beta
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/partner-contact/tree/16.0/partner_firstname
|
||||
:alt: OCA/partner-contact
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/partner-contact-16-0/partner-contact-16-0-partner_firstname
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&target_branch=16.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
This module was written to extend the functionality of contacts to support
|
||||
having separate last name and first name.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
You can configure some common name patterns for the inverse function
|
||||
in Settings > General settings:
|
||||
|
||||
* Lastname Firstname: For example 'Anderson Robert'
|
||||
* Lastname, Firstname: For example 'Anderson, Robert'
|
||||
* Firstname Lastname: For example 'Robert Anderson'
|
||||
|
||||
After applying the changes, you can recalculate all partners name clicking
|
||||
"Recalculate names" button. Note: This process could take so much time depending
|
||||
how many partners there are in database.
|
||||
|
||||
You can use *_get_inverse_name* method to get lastname and firstname from a simple string
|
||||
and also *_get_computed_name* to get a name form the lastname and firstname.
|
||||
These methods can be overridden to change the format specified above.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
The field *name* becomes a stored function field concatenating the *last name*
|
||||
and the *first name*. This avoids breaking compatibility with other modules.
|
||||
|
||||
Users should fulfill manually the separate fields for *last name* and *first
|
||||
name*, but in case you edit just the *name* field in some unexpected module,
|
||||
there is an inverse function that tries to split that automatically. It assumes
|
||||
that you write the *name* in format configured (*"Lastname Firstname"*, by default),
|
||||
but it could lead to wrong splitting (because it's just blindly trying to
|
||||
guess what you meant), so you better specify it manually.
|
||||
|
||||
For the same reason, after installing, previous names for contacts will stay in
|
||||
the *name* field, and the first time you edit any of them you will be asked to
|
||||
supply the *last name* and *first name* (just once per contact).
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
Patterns for the inverse function are configurable only at system level. Maybe
|
||||
this configuration could depend on partner language, country or company,
|
||||
as discussed at `this OCA issue <https://github.com/OCA/partner-contact/issues/210>`_
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/partner-contact/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_firstname%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
* Camptocamp
|
||||
* Grupo ESOC Ingeniería de Servicios
|
||||
* Tecnativa
|
||||
* LasLabs
|
||||
* ACSONE SA/NV
|
||||
* DynApps NV
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
|
||||
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
|
||||
* Vincent Renaville <vincent.renaville@camptocamp.com>
|
||||
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
|
||||
* Holger Brunn <hbrunn@terp.nl>
|
||||
* Jonathan Nemry <jonathan.nemry@acsone.eu>
|
||||
* Olivier Laurent <olivier.laurent@acsone.eu>
|
||||
* Sandy Carter <sandy.carter@savoirfairelinux.com>
|
||||
* Alexis de Lattre <alexis.delattre@akretion.fr>
|
||||
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
|
||||
* Hans Henrik Gabelgaard <hhg@gabelgaard.org>
|
||||
* Jairo Llopis <j.llopis@grupoesoc.es>
|
||||
* Adrien Peiffer <adrien.peiffer@acsone.eu>
|
||||
* Ronald Portier <ronald@therp.nl>
|
||||
* Sylvain Van Hoof
|
||||
* Pedro Baeza <pedro.baeza@serviciosbaeza.com>
|
||||
* Dave Lasley <dave@laslabs.com>
|
||||
* Graeme Gellatly <graeme@o4sb.com>
|
||||
* Laurent Mignon <laurent.mignon@acsone.eu>
|
||||
* Bjorn Billen <bjorn.billen@dynapps.be>
|
||||
* `Aion Tech <https://aiontech.company/>`_:
|
||||
|
||||
* Simone Rubino <simone.rubino@aion-tech.it>
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
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.
|
||||
|
||||
This module is part of the `OCA/partner-contact <https://github.com/OCA/partner-contact/tree/16.0/partner_firstname>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
2
16.0/extra-addons/partner_firstname/__init__.py
Normal file
2
16.0/extra-addons/partner_firstname/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from . import models
|
||||
from .hooks import post_init_hook
|
30
16.0/extra-addons/partner_firstname/__manifest__.py
Normal file
30
16.0/extra-addons/partner_firstname/__manifest__.py
Normal file
@ -0,0 +1,30 @@
|
||||
# Copyright 2013 Nicolas Bessi (Camptocamp SA)
|
||||
# Copyright 2014 Agile Business Group (<http://www.agilebg.com>)
|
||||
# Copyright 2015 Grupo ESOC (<http://www.grupoesoc.es>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
"name": "Partner first name and last name",
|
||||
"summary": "Split first name and last name for non company partners",
|
||||
"version": "16.0.1.0.3",
|
||||
"author": "Camptocamp, "
|
||||
"Grupo ESOC Ingeniería de Servicios, "
|
||||
"Tecnativa, "
|
||||
"LasLabs, "
|
||||
"ACSONE SA/NV, "
|
||||
"DynApps NV, "
|
||||
"Odoo Community Association (OCA)",
|
||||
"license": "AGPL-3",
|
||||
"maintainer": "Camptocamp, Acsone",
|
||||
"category": "Extra Tools",
|
||||
"website": "https://github.com/OCA/partner-contact",
|
||||
"depends": ["base_setup"],
|
||||
"post_init_hook": "post_init_hook",
|
||||
"data": [
|
||||
"views/base_config_view.xml",
|
||||
"views/res_partner.xml",
|
||||
"views/res_user.xml",
|
||||
],
|
||||
"auto_install": False,
|
||||
"installable": True,
|
||||
}
|
12
16.0/extra-addons/partner_firstname/exceptions.py
Normal file
12
16.0/extra-addons/partner_firstname/exceptions.py
Normal file
@ -0,0 +1,12 @@
|
||||
# Copyright 2014-2015 Grupo ESOC (<http://www.grupoesoc.es>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from odoo import _, exceptions
|
||||
|
||||
|
||||
class EmptyNamesError(exceptions.ValidationError):
|
||||
def __init__(self, record, value=None):
|
||||
value = value or _("No name is set.")
|
||||
self.record = record
|
||||
self._value = value
|
||||
self._name = _("Error(s) with partner %d's name.") % record.id
|
||||
self.args = (self._name, value)
|
9
16.0/extra-addons/partner_firstname/hooks.py
Normal file
9
16.0/extra-addons/partner_firstname/hooks.py
Normal file
@ -0,0 +1,9 @@
|
||||
# Copyright 2017 LasLabs Inc.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import SUPERUSER_ID, api
|
||||
|
||||
|
||||
def post_init_hook(cr, _):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
env["res.partner"]._install_partner_firstname()
|
130
16.0/extra-addons/partner_firstname/i18n/am.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/am.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n"
|
||||
"Language: am\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "ተባባሪ"
|
131
16.0/extra-addons/partner_firstname/i18n/ar.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/ar.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "الشريك"
|
130
16.0/extra-addons/partner_firstname/i18n/bg.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/bg.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-12-31 01:39+0000\n"
|
||||
"PO-Revision-Date: 2016-12-31 01:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
|
||||
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Партньор"
|
131
16.0/extra-addons/partner_firstname/i18n/bs.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/bs.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n"
|
||||
"Language: bs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
139
16.0/extra-addons/partner_firstname/i18n/ca.po
Normal file
139
16.0/extra-addons/partner_firstname/i18n/ca.po
Normal file
@ -0,0 +1,139 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2024-03-28 22:34+0000\n"
|
||||
"Last-Translator: Eugeni Chafer <eugeni@chafer.cat>\n"
|
||||
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (còpia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (còpia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Paràmetres de configuració"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Los contactos requieren un nombre."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Error(es) con el nombre del socio %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Cognoms"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "No hi ha cap nom definit."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Ordre per compondre el nom complet del soci"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Ordre de noms del contacte"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "L'ordre dels noms dels contacte ha canviat"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Recalcular els noms"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Torna a calcular els noms de tots els contactes. Aquest procés podria trigar "
|
||||
"molt de temps si hi ha més de 10.000 contactes actius"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Ordre de noms de socis"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Usuaris"
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
130
16.0/extra-addons/partner_firstname/i18n/cs.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/cs.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Společník"
|
135
16.0/extra-addons/partner_firstname/i18n/da.po
Normal file
135
16.0/extra-addons/partner_firstname/i18n/da.po
Normal file
@ -0,0 +1,135 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# Antonio Trueba, 2016
|
||||
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
|
||||
# Erwin van der Ploeg <erwin@odooexperts.nl>, 2016
|
||||
# Paolo Valier, 2016
|
||||
# Rudolf Schnapka <schnapkar@golive-saar.de>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: partner-contact (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-14 11:14+0000\n"
|
||||
"PO-Revision-Date: 2016-04-05 10:01+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/oca/OCA-partner-contact-9-0/"
|
||||
"language/da/)\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
136
16.0/extra-addons/partner_firstname/i18n/de.po
Normal file
136
16.0/extra-addons/partner_firstname/i18n/de.po
Normal file
@ -0,0 +1,136 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2022-11-04 14:44+0000\n"
|
||||
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
|
||||
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.14.1\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (Kopie)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (Kopie)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfigurationseinstellungen"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Kontakte erfordern einen Namen."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Fehler beim Namen des Partners %d ."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Es ist kein Name eingetragen."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Reihenfolge den vollen Namen des Partners zusammenzustellen"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Reihenfolge der Namensbestandteile"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Die Reihenfolge der Namensbestandteile wurde geändert."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Namen neu ermitteln"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Namen für alle Partner neu bestimmen. Dieser Prozess kann sehr viel Zeit in "
|
||||
"Anspruch nehmen, wenn es mehr als 10.000 aktive Partner gibt"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Reihenfolge Partner-Namensbestandteile"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Anwender"
|
131
16.0/extra-addons/partner_firstname/i18n/el_GR.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/el_GR.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
|
||||
"el_GR/)\n"
|
||||
"Language: el_GR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Συνεργάτης"
|
131
16.0/extra-addons/partner_firstname/i18n/en_GB.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/en_GB.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/"
|
||||
"teams/23907/en_GB/)\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
136
16.0/extra-addons/partner_firstname/i18n/es.po
Normal file
136
16.0/extra-addons/partner_firstname/i18n/es.po
Normal file
@ -0,0 +1,136 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2023-08-31 08:13+0000\n"
|
||||
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (copiar)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (copiar)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Ajustes de Configuración"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Los contactos requieren un nombre."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Errores con el nombre de la empresa %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Apellido"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "No se ha establecido ningún nombre."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Orden para generar el nombre completo"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Orden de los nombres de los socios"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Se ha cambiado el Orden de los Nombres"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Recalcular nombres"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Recalcular todos los nombres. Este proceso puede tardar si se tienen más de "
|
||||
"10.000 personas asociadas"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Orden de los nombres"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Usuarios"
|
131
16.0/extra-addons/partner_firstname/i18n/es_CR.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/es_CR.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/"
|
||||
"teams/23907/es_CR/)\n"
|
||||
"Language: es_CR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
131
16.0/extra-addons/partner_firstname/i18n/es_EC.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/es_EC.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/"
|
||||
"es_EC/)\n"
|
||||
"Language: es_EC\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
131
16.0/extra-addons/partner_firstname/i18n/es_MX.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/es_MX.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
|
||||
"es_MX/)\n"
|
||||
"Language: es_MX\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
131
16.0/extra-addons/partner_firstname/i18n/es_VE.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/es_VE.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/"
|
||||
"teams/23907/es_VE/)\n"
|
||||
"Language: es_VE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
130
16.0/extra-addons/partner_firstname/i18n/et.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/et.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n"
|
||||
"Language: et\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
130
16.0/extra-addons/partner_firstname/i18n/eu.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/eu.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Kidea"
|
130
16.0/extra-addons/partner_firstname/i18n/fi.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/fi.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-12-21 03:40+0000\n"
|
||||
"PO-Revision-Date: 2016-12-21 03:40+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
|
||||
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Kumppani"
|
138
16.0/extra-addons/partner_firstname/i18n/fr.po
Normal file
138
16.0/extra-addons/partner_firstname/i18n/fr.po
Normal file
@ -0,0 +1,138 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
# Nicolas JEUDY <njeudy@panda-chi.io>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2024-02-23 12:38+0000\n"
|
||||
"Last-Translator: Vincent Hatakeyama <vincent+github@hatakeyama.fr>\n"
|
||||
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (copie)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (copie)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Paramètres de configuration"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Le nom est obligatoire sur les contacts."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Erreur(s) avec le nom du contact ID %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Prénom"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Nom de famille"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Aucun nom spécifié."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Ordre de composition du nom complet"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Ordre pour le nom des partenaires"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Ordre pour le nom des partenaires modifié"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Recalculer les noms"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Recalcul du nom de tous les partenaires. Ce traitement peut prendre "
|
||||
"plusieurs minutes, voir d'avantage s'il y a plus de 10 000 partenaires "
|
||||
"actifs."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Ordre des noms et prénoms des partenaires"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Utilisateurs"
|
131
16.0/extra-addons/partner_firstname/i18n/fr_CA.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/fr_CA.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/"
|
||||
"fr_CA/)\n"
|
||||
"Language: fr_CA\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partenaire"
|
131
16.0/extra-addons/partner_firstname/i18n/fr_CH.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/fr_CH.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
|
||||
"teams/23907/fr_CH/)\n"
|
||||
"Language: fr_CH\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partenaire"
|
130
16.0/extra-addons/partner_firstname/i18n/gl.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/gl.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Empresa"
|
132
16.0/extra-addons/partner_firstname/i18n/hr.po
Normal file
132
16.0/extra-addons/partner_firstname/i18n/hr.po
Normal file
@ -0,0 +1,132 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-12-31 01:39+0000\n"
|
||||
"PO-Revision-Date: 2023-01-05 17:45+0000\n"
|
||||
"Last-Translator: Bole <bole@dajmi5.com>\n"
|
||||
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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"
|
||||
"X-Generator: Weblate 4.14.1\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (kopija)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (kopija)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Postavke"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Kontakt mora imati naziv."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Greška(e) sa nazivom partnera %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Ime"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Prezime"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Naziv nije postavljen."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Redosljed sastavljanja punog naziva partnera"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Redosljed naziva partnera"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Redosljed naziva partnera je promijenjen"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Preračunaj nazive"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Korisnik"
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
132
16.0/extra-addons/partner_firstname/i18n/hr_HR.po
Normal file
132
16.0/extra-addons/partner_firstname/i18n/hr_HR.po
Normal file
@ -0,0 +1,132 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
|
||||
"hr_HR/)\n"
|
||||
"Language: hr_HR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Kontakti moraju imati naziv."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Greška(e) u nazivu partnera %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Ime"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Prezime"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Ime nije unešeno."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Korisnici"
|
138
16.0/extra-addons/partner_firstname/i18n/hu.po
Normal file
138
16.0/extra-addons/partner_firstname/i18n/hu.po
Normal file
@ -0,0 +1,138 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2020-01-23 22:13+0000\n"
|
||||
"Last-Translator: Tamás Dombos <tdombos@gmail.com>\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.10\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (másolat)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (másolat)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfigurációs beállítások"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Kapcsolat"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "A kapcsolat nevének megadása kötelező."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "A %d partner neve hibás."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Utónév"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Családnév"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Név"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Nincs megadva név."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "A partner teljes nevének összeállításához használt sorrend"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Partner nevének sorrendje"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Partner név sorrend megváltozott"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Nevek újragenerálása"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Összes partner nevének újragenerálása. Sok partner esetén ez sok időbe telhet"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Partner név sorrend"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Felhasználók"
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
136
16.0/extra-addons/partner_firstname/i18n/it.po
Normal file
136
16.0/extra-addons/partner_firstname/i18n/it.po
Normal file
@ -0,0 +1,136 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2024-04-19 07:12+0000\n"
|
||||
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
||||
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (copia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (copia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr "%s (copia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr "(copia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Impostazioni configurazione"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contatto"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "I contatti richiedono un nome."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Errore/i con il nome del partner %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Cognome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Nome non impostato."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Ordinamento per comporre il nome completo del partner"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Ordinamento nome partner"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Ordinamento nome partner modificato"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Ricalcola nome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Ricalcola il nome per tutti i partner. Se sono presenti più di 10.000 "
|
||||
"partner attivi questo processo potrebbe durare molto tempo"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Utente"
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Ordinamento nome del partner"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Utenti"
|
130
16.0/extra-addons/partner_firstname/i18n/ja.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/ja.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "パートナ"
|
131
16.0/extra-addons/partner_firstname/i18n/lt.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/lt.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n"
|
||||
"Language: lt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partneris"
|
131
16.0/extra-addons/partner_firstname/i18n/lv.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/lv.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n"
|
||||
"Language: lv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
|
||||
"2);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partneris"
|
130
16.0/extra-addons/partner_firstname/i18n/mk.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/mk.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n"
|
||||
"Language: mk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Партнер"
|
130
16.0/extra-addons/partner_firstname/i18n/mn.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/mn.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n"
|
||||
"Language: mn\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Харилцагч"
|
131
16.0/extra-addons/partner_firstname/i18n/nb.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/nb.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/"
|
||||
"nb/)\n"
|
||||
"Language: nb\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
131
16.0/extra-addons/partner_firstname/i18n/nb_NO.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/nb_NO.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/"
|
||||
"teams/23907/nb_NO/)\n"
|
||||
"Language: nb_NO\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
130
16.0/extra-addons/partner_firstname/i18n/nl.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/nl.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Een naam in verplicht bij een contact"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Fout(en) met relatie %d's naam"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Voornaam"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Achternaam"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Er is geen naam ingesteld"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Gebruikers"
|
131
16.0/extra-addons/partner_firstname/i18n/nl_BE.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/nl_BE.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/"
|
||||
"nl_BE/)\n"
|
||||
"Language: nl_BE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Relatie"
|
138
16.0/extra-addons/partner_firstname/i18n/nl_NL.po
Normal file
138
16.0/extra-addons/partner_firstname/i18n/nl_NL.po
Normal file
@ -0,0 +1,138 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-22 03:38+0000\n"
|
||||
"PO-Revision-Date: 2017-11-22 03:38+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
|
||||
"teams/23907/nl_NL/)\n"
|
||||
"Language: nl_NL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
#, fuzzy
|
||||
msgid "Config Settings"
|
||||
msgstr "res.config.settings"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Relaties moeten een naam hebben"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Fout(en) met de naam van relatie %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Voornaam"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Achternaam"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Geen naam ingesteld."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Volgorde om volledige naam van relatie samen te stellen"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
#, fuzzy
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Relatienaam volgorde"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Hersorteer namen"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"Hersorteer de namen van alle relaties. Dit proces kan zeer veel tijd kosten "
|
||||
"indien er meer dan 10.000 actieve relaties zijn."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Relatienaam volgorde"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Gebruikers"
|
124
16.0/extra-addons/partner_firstname/i18n/partner_firstname.pot
Normal file
124
16.0/extra-addons/partner_firstname/i18n/partner_firstname.pot
Normal file
@ -0,0 +1,124 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \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"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
132
16.0/extra-addons/partner_firstname/i18n/pl.po
Normal file
132
16.0/extra-addons/partner_firstname/i18n/pl.po
Normal file
@ -0,0 +1,132 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
130
16.0/extra-addons/partner_firstname/i18n/pt.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/pt.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# Tiago Baptista <tiago@baptista.net>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-14 03:37+0000\n"
|
||||
"PO-Revision-Date: 2016-11-14 03:37+0000\n"
|
||||
"Last-Translator: Tiago Baptista <tiago@baptista.net>, 2016\n"
|
||||
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Parceiro"
|
138
16.0/extra-addons/partner_firstname/i18n/pt_BR.po
Normal file
138
16.0/extra-addons/partner_firstname/i18n/pt_BR.po
Normal file
@ -0,0 +1,138 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-22 03:38+0000\n"
|
||||
"PO-Revision-Date: 2024-05-22 02:58+0000\n"
|
||||
"Last-Translator: Rodrigo Macedo <sottomaiormacedotec@users.noreply."
|
||||
"translation.odoo-community.org>\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
|
||||
"23907/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr "%(login)s (cópia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr "%(name)s (cópia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr "%s (cópia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr "(cópia)"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Definições de configuração"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contato"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Os contatos requerem um nome."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Erro(s) com o nome do parceiro %d."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Sobrenome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "O nome não foi setado."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr "Ordem para compor o nome completo do parceiro"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr "Ordem do Nome dos Parceiros"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr "Ordem dos nomes dos parceiros alterada"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr "Recalcular nomes"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
"O processo de recálculo dos nomes de todos os parceiros, pode levar muito "
|
||||
"tempo se houver mais de 10.000 parceiros ativos"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Usuário"
|
||||
|
||||
#~ msgid "Partner names order"
|
||||
#~ msgstr "Ordem do nome dos parceiros"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Usuários"
|
131
16.0/extra-addons/partner_firstname/i18n/pt_PT.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/pt_PT.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# Tiago Baptista <tiago@baptista.net>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-01-20 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-01-20 18:18+0000\n"
|
||||
"Last-Translator: Tiago Baptista <tiago@baptista.net>, 2017\n"
|
||||
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
|
||||
"teams/23907/pt_PT/)\n"
|
||||
"Language: pt_PT\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Parceiro"
|
131
16.0/extra-addons/partner_firstname/i18n/ro.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/ro.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
|
||||
"2:1));\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partener"
|
132
16.0/extra-addons/partner_firstname/i18n/ru.po
Normal file
132
16.0/extra-addons/partner_firstname/i18n/ru.po
Normal file
@ -0,0 +1,132 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Контрагент"
|
130
16.0/extra-addons/partner_firstname/i18n/sk.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/sk.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
131
16.0/extra-addons/partner_firstname/i18n/sl.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/sl.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
|
||||
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
|
||||
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Stik"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr "Za stike je potrebno ime."
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr "Napaka(e) pri nazivu partnerja %d's ."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr "Lastno ime"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr "Priimek"
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr "Ime ni nastavljeno."
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Uporabniki"
|
132
16.0/extra-addons/partner_firstname/i18n/sr@latin.po
Normal file
132
16.0/extra-addons/partner_firstname/i18n/sr@latin.po
Normal file
@ -0,0 +1,132 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/"
|
||||
"sr@latin/)\n"
|
||||
"Language: sr@latin\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \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: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Partner"
|
130
16.0/extra-addons/partner_firstname/i18n/sv.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/sv.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Företag"
|
130
16.0/extra-addons/partner_firstname/i18n/th.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/th.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n"
|
||||
"Language: th\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "พาร์ทเนอร์"
|
130
16.0/extra-addons/partner_firstname/i18n/tr.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/tr.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "İş Ortağı"
|
131
16.0/extra-addons/partner_firstname/i18n/tr_TR.po
Normal file
131
16.0/extra-addons/partner_firstname/i18n/tr_TR.po
Normal file
@ -0,0 +1,131 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
|
||||
"tr_TR/)\n"
|
||||
"Language: tr_TR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Ortak"
|
130
16.0/extra-addons/partner_firstname/i18n/vi.po
Normal file
130
16.0/extra-addons/partner_firstname/i18n/vi.po
Normal file
@ -0,0 +1,130 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * partner_firstname
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-10 03:39+0000\n"
|
||||
"PO-Revision-Date: 2017-03-10 03:39+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n"
|
||||
"Language: vi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(login)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_users.py:0
|
||||
#, python-format
|
||||
msgid "%(name)s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "(copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
|
||||
msgid "Contacts require a name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "Error(s) with partner %d's name."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__firstname
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__lastname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__lastname
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#. odoo-python
|
||||
#: code:addons/partner_firstname/exceptions.py:0
|
||||
#, python-format
|
||||
msgid "No name is set."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
|
||||
msgid "Order to compose partner fullname"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Partner Names Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
|
||||
msgid "Partner Names Order Changed"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid "Recalculate names"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
|
||||
msgid ""
|
||||
"Recalculate names for all partners. This process could take so much time if "
|
||||
"there are more than 10,000 active partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_firstname
|
||||
#: model:ir.model,name:partner_firstname.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Partner"
|
||||
#~ msgstr "Đối tác"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user