Added support for OpenEMS Odoo Add-ons

Signed-off-by: Arila Barnes <axmsoftware@Arilas-MacBook-Air-2.local>
This commit is contained in:
Arila Barnes 2024-07-30 09:30:39 -07:00
parent a25c36df57
commit 5594ca8d5d
162 changed files with 19084 additions and 0 deletions

View File

@ -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
View 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
View 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
View 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
View File

@ -0,0 +1,3 @@
.swp
.swo
**/__pycache__

View File

@ -0,0 +1 @@
from . import controllers, models

View 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,
}

View File

@ -0,0 +1 @@
from . import openems_backend, setup_protocol, user, alerting

View 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)+ "]")

View 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())

View 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,
}

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

View 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>

View 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>

View 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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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;"> &nbsp;
</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;"> &nbsp;
</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>

View 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;"> &nbsp;
</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;"> &nbsp;
</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>

View File

@ -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;"> &nbsp;
</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>

View File

@ -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;"> &nbsp;
</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>

View 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;"> &nbsp;
</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>

View File

@ -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')

View File

@ -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;
""")

View File

@ -0,0 +1 @@
from . import device, partner, setup_protocol, user, stock_production_lot

View 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

View 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"
)

View 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")

View 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

View 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,
)

View 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>

View 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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_openems_device_portal access_openems_device_portal openems.model_openems_device base.group_portal 1 0 0 0
3 access_openems_device_user access_openems_device_user openems.model_openems_device base.group_user 1 0 0 0
4 access_openems_device_manager access_openems_device_manager openems.model_openems_device openems.group_openems_manager 1 1 1 0
5 access_openems_device_tag_portal access_openems_device_tag_portal openems.model_openems_device_tag base.group_portal 1 0 0 0
6 access_openems_device_tag_user access_openems_device_tag_user openems.model_openems_device_tag base.group_user 1 0 0 0
7 access_openems_device_tag_manager access_openems_device_tag_manager openems.model_openems_device_tag openems.group_openems_manager 1 1 1 1
8 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
9 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
10 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
11 access_openems_alerting_portal access_openems_alerting_portal openems.model_openems_alerting base.group_portal 1 0 0 0
12 access_openems_alerting_user access_openems_alerting_user openems.model_openems_alerting base.group_user 1 0 0 0
13 access_openems_alerting_manager access_openems_alerting_manager openems.model_openems_alerting openems.group_openems_manager 1 1 1 1
14 access_openems_systemmessage_portal access_openems_systemmessage_portal openems.model_openems_systemmessage base.group_portal 1 0 0 0
15 access_openems_systemmessage_user access_openems_systemmessage_user openems.model_openems_systemmessage base.group_user 1 0 0 0
16 access_openems_systemmessage_manager access_openems_systemmessage_manager openems.model_openems_systemmessage openems.group_openems_manager 1 1 1 1
17 access_openems_openemsconfigupdate_portal access_openems_openemsconfigupdate_portal openems.model_openems_openemsconfigupdate base.group_portal 1 0 0 0
18 access_openems_openemsconfigupdate_user access_openems_openemsconfigupdate_user openems.model_openems_openemsconfigupdate base.group_user 1 0 0 0
19 access_openems_openemsconfigupdate_manager access_openems_openemsconfigupdate_manager openems.model_openems_openemsconfigupdate openems.group_openems_manager 1 1 1 1
20 access_openems_setup_protocol_portal access_openems_setup_protocol_portal openems.model_openems_setup_protocol base.group_portal 1 0 0 0
21 access_openems_setup_protocol_user access_openems_setup_protocol_user openems.model_openems_setup_protocol base.group_user 1 0 0 0
22 access_openems_setup_protocol_manager access_openems_setup_protocol_manager openems.model_openems_setup_protocol openems.group_openems_manager 1 1 1 1
23 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
24 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
25 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
26 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
27 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
28 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
29 access_openems_production_lot_portal access_openems_production_lot_portal stock.model_stock_lot base.group_portal 1 0 0 0
30 access_openems_production_lot_user access_openems_production_lot_user stock.model_stock_lot base.group_user 1 0 0 0
31 access_openems_production_lot_manager access_openems_production_lot_manager stock.model_stock_lot openems.group_openems_manager 1 0 0 0

View 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>

View File

@ -0,0 +1,2 @@
# addons listed in this file are ignored by
# setuptools-odoo-make-default (one addon per line)

View File

@ -0,0 +1,2 @@
To learn more about this directory, please visit
https://pypi.python.org/pypi/setuptools-odoo

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

View 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>

View 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>

View 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>

View File

@ -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>

View 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>

View 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.

View File

@ -0,0 +1,2 @@
from . import models
from .hooks import post_init_hook

View 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,
}

View 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)

View 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()

View 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 "ተባባሪ"

View 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 "الشريك"

View 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 "Партньор"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 "Συνεργάτης"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 10000 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 "パートナ"

View 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"

View 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"

View 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 "Партнер"

View 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 "Харилцагч"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 ""

View 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"

View 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"

View 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"

View 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"

View 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"

View 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 "Контрагент"

View 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"

View 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"

View 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"

View 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"

View 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 "พาร์ทเนอร์"

View 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ğı"

View 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"

View 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