Documents preview, binary field widget, menu control center changes
This commit is contained in:
parent
d362ef87aa
commit
bfd7890cbc
|
|
@ -1 +1 @@
|
|||
from . import models
|
||||
from . import controllers, models
|
||||
|
|
@ -10,10 +10,12 @@
|
|||
'category': 'Tools',
|
||||
'author': 'PRANAY',
|
||||
'website': 'https://ftprotech.in',
|
||||
'depends': ['base','hr'],
|
||||
'depends': ['base','hr','web','one2many_search_widget'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'data/data.xml',
|
||||
'views/masters.xml',
|
||||
'views/login.xml',
|
||||
'views/menu_access_control_views.xml',
|
||||
],
|
||||
# 'assets': {
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
from . import main
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
from odoo import http, _
|
||||
from odoo.http import request
|
||||
from odoo.addons.web.controllers.home import Home
|
||||
import werkzeug
|
||||
|
||||
|
||||
class CustomMasterLogin(Home):
|
||||
|
||||
@http.route()
|
||||
def web_login(self, *args, **kw):
|
||||
# Call the original Odoo login
|
||||
master_selected = kw.get('master_select')
|
||||
|
||||
response = super(CustomMasterLogin, self).web_login(*args, **kw)
|
||||
|
||||
# We only modify the QWeb response (GET request)
|
||||
if response.is_qweb:
|
||||
# load your masters
|
||||
masters = request.env['master.control'].sudo().search([])
|
||||
response.qcontext['masters'] = masters
|
||||
|
||||
# After successful login
|
||||
if request.session.uid and master_selected:
|
||||
request.session['active_master'] = master_selected
|
||||
|
||||
return response
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
from . import masters
|
||||
from . import models
|
||||
from . import menu
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
from odoo import models, fields, _
|
||||
|
||||
class MasterControl(models.Model):
|
||||
_name = 'master.control'
|
||||
_description = 'Master Control'
|
||||
|
||||
sequence = fields.Integer()
|
||||
name = fields.Char(string='Master Name', required=True)
|
||||
code = fields.Char(string='Code', required=True)
|
||||
default_show = fields.Boolean(default=True)
|
||||
access_group_ids = fields.One2many('group.access.line','master_control_id',string='Roles')
|
||||
|
||||
|
||||
def action_generate_groups(self):
|
||||
"""Generate category → groups list"""
|
||||
for rec in self:
|
||||
|
||||
# Clear old groups
|
||||
rec.access_group_ids.unlink()
|
||||
|
||||
groups = self.env['res.groups'].sudo().search([],order='category_id')
|
||||
show_group = True if rec.default_show else False
|
||||
print(show_group)
|
||||
for grp in groups:
|
||||
self.env['group.access.line'].create({
|
||||
'master_control_id': rec.id,
|
||||
'group_id': grp.id,
|
||||
'show_group': show_group,
|
||||
})
|
||||
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'display_notification',
|
||||
'params': {
|
||||
'title': _('Success'),
|
||||
'message': _('Groups generated successfully!'),
|
||||
'type': 'success',
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------
|
||||
# UPDATE GROUPS (Detect new groups)
|
||||
# -----------------------------------------
|
||||
def action_update_groups(self):
|
||||
for rec in self:
|
||||
created_count = 0
|
||||
|
||||
existing_ids = set(rec.access_group_ids.mapped('group_id.id'))
|
||||
|
||||
categories = self.env['ir.module.category'].search([])
|
||||
|
||||
for category in categories:
|
||||
groups = self.env['res.groups'].search([
|
||||
('category_id', '=', category.id)
|
||||
])
|
||||
|
||||
for grp in groups:
|
||||
# create only missing group
|
||||
if grp.id not in existing_ids:
|
||||
rec.access_group_ids.create({
|
||||
'master_control_id': rec.id,
|
||||
'category_id': category.id,
|
||||
'group_id': grp.id,
|
||||
'show_group': True if rec.default_show else False,
|
||||
})
|
||||
created_count += 1
|
||||
existing_ids.add(grp.id)
|
||||
|
||||
if created_count:
|
||||
message = f"Added {created_count} new groups."
|
||||
msg_type = "success"
|
||||
else:
|
||||
message = "No new groups found."
|
||||
msg_type = "info"
|
||||
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'display_notification',
|
||||
'params': {
|
||||
'title': _('Group Update'),
|
||||
'message': _(message),
|
||||
'type': msg_type,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class GroupsAccessLine(models.Model):
|
||||
_name = 'group.access.line'
|
||||
_description = 'Group Access Line'
|
||||
_rec_name = 'group_id'
|
||||
|
||||
category_id = fields.Many2one('ir.module.category', related='group_id.category_id')
|
||||
group_id = fields.Many2one('res.groups', string="Role")
|
||||
show_group = fields.Boolean(string="Show", default=True)
|
||||
master_control_id = fields.Many2one('master.control')
|
||||
|
|
@ -17,7 +17,10 @@ class IrUiMenu(models.Model):
|
|||
|
||||
group_ids = set(self.env.user._get_group_ids())
|
||||
if not debug:
|
||||
hide_menus_list = self.env['menu.access.control'].sudo().search([('user_ids','ilike',self.env.user.id)]).access_menu_line_ids.filtered(lambda menu: not(menu.is_main_menu)).menu_id.ids
|
||||
parent_menus = self.env['menu.access.control'].sudo().search([('user_ids','ilike',self.env.user.id)]).access_menu_line_ids.filtered(lambda menu: not(menu.is_main_menu)).menu_id.ids
|
||||
sub_menus = self.env['menu.access.control'].sudo().search([('user_ids','ilike',self.env.user.id)]).access_sub_menu_line_ids.filtered(lambda menu: not(menu.is_main_menu)).menu_id.ids
|
||||
|
||||
hide_menus_list = list(set(parent_menus + sub_menus))
|
||||
|
||||
menus = menus.filtered(lambda menu: (menu.id not in hide_menus_list))
|
||||
group_ids = group_ids - {
|
||||
|
|
|
|||
|
|
@ -37,61 +37,124 @@ class MenuAccessControl(models.Model):
|
|||
|
||||
access_menu_line_ids = fields.One2many(
|
||||
'menu.access.line', 'access_control_id',
|
||||
string="Accessible Menus"
|
||||
string="Accessible Menus", domain=[('menu_id.parent_id','=',False)]
|
||||
)
|
||||
|
||||
access_sub_menu_line_ids = fields.One2many('menu.access.line', 'access_control_id',
|
||||
string="Accessible Menus", domain=[('menu_id.parent_id','!=',False)]
|
||||
)
|
||||
|
||||
def _get_all_submenus(self, menu):
|
||||
"""Returns all submenus recursively for a given menu."""
|
||||
submenus = self.env['ir.ui.menu'].search([('parent_id', '=', menu.id), ('active', '=', True)])
|
||||
all_subs = submenus
|
||||
for sm in submenus:
|
||||
all_subs |= self._get_all_submenus(sm)
|
||||
return all_subs
|
||||
|
||||
def action_generate_menus(self):
|
||||
"""Button to fetch active top-level menus and populate access lines."""
|
||||
menu_lines = []
|
||||
active_menus = self.env['ir.ui.menu'].search([
|
||||
('parent_id', '=', False), # top-level menus
|
||||
('active', '=', True)
|
||||
])
|
||||
for menu in active_menus:
|
||||
menu_lines.append((0, 0, {
|
||||
'menu_id': menu.id,
|
||||
'is_main_menu': True
|
||||
}))
|
||||
self.access_menu_line_ids = menu_lines
|
||||
"""
|
||||
Generate main menus and all submenus (recursive),
|
||||
and set access_line_id for every submenu.
|
||||
"""
|
||||
for rec in self:
|
||||
|
||||
def action_update_menus(self):
|
||||
"""Button to add new top-level menus that are not already in the list."""
|
||||
for record in self:
|
||||
# Get existing menu IDs in the current record
|
||||
existing_menu_ids = record.access_menu_line_ids.mapped('menu_id').ids
|
||||
# clear old menus
|
||||
rec.access_menu_line_ids.unlink()
|
||||
rec.access_sub_menu_line_ids.unlink()
|
||||
|
||||
# Find new top-level menus that are not in existing_menu_ids
|
||||
new_menus = self.env['ir.ui.menu'].search([
|
||||
active_menus = self.env['ir.ui.menu'].search([
|
||||
('parent_id', '=', False),
|
||||
('active', '=', True),
|
||||
('id', 'not in', existing_menu_ids)
|
||||
('active', '=', True)
|
||||
])
|
||||
|
||||
# Create new lines for the new menus
|
||||
new_lines = []
|
||||
for menu in new_menus:
|
||||
new_lines.append((0, 0, {
|
||||
'menu_id': menu.id,
|
||||
'is_main_menu': True # Default to True as requested
|
||||
}))
|
||||
for menu in active_menus:
|
||||
|
||||
if new_lines:
|
||||
record.write({
|
||||
'access_menu_line_ids': new_lines
|
||||
# 1️⃣ Create main menu line
|
||||
main_line = self.env['menu.access.line'].create({
|
||||
'access_control_id': rec.id,
|
||||
'menu_id': menu.id,
|
||||
'is_main_menu': True,
|
||||
})
|
||||
# Show success message
|
||||
|
||||
# 2️⃣ Fetch all recursive submenus
|
||||
submenus = self._get_all_submenus(menu)
|
||||
|
||||
# 3️⃣ Create submenu lines with correct parent
|
||||
for sm in submenus:
|
||||
self.env['menu.access.line'].create({
|
||||
'access_control_id': rec.id,
|
||||
'menu_id': sm.id,
|
||||
'is_main_menu': True,
|
||||
'access_line_id': main_line.id, # important
|
||||
})
|
||||
|
||||
def action_update_menus(self):
|
||||
line = self.env['menu.access.line']
|
||||
menu = self.env['ir.ui.menu']
|
||||
|
||||
for rec in self:
|
||||
created_count = 0
|
||||
|
||||
# All existing menu IDs across BOTH One2manys
|
||||
existing_menu_ids = set(
|
||||
rec.access_menu_line_ids.mapped('menu_id.id') +
|
||||
rec.access_sub_menu_line_ids.mapped('menu_id.id')
|
||||
)
|
||||
|
||||
# ---------- Step 1: Ensure all top-level menus exist ----------
|
||||
top_menus = menu.search([
|
||||
('parent_id', '=', False),
|
||||
('active', '=', True),
|
||||
])
|
||||
|
||||
for menu in top_menus:
|
||||
|
||||
# Create missing MAIN MENU
|
||||
main_line = line.search([
|
||||
('access_control_id', '=', rec.id),
|
||||
('menu_id', '=', menu.id),
|
||||
('access_line_id', '=', False)
|
||||
], limit=1)
|
||||
|
||||
if not main_line:
|
||||
main_line = line.create({
|
||||
'access_control_id': rec.id,
|
||||
'menu_id': menu.id,
|
||||
'is_main_menu': True,
|
||||
})
|
||||
created_count += 1
|
||||
existing_menu_ids.add(menu.id)
|
||||
|
||||
# ---------- Step 2: Ensure all SUBMENUS exist ----------
|
||||
submenus = rec._get_all_submenus(menu)
|
||||
|
||||
for sm in submenus:
|
||||
|
||||
# If submenu is missing → create it
|
||||
if sm.id not in existing_menu_ids:
|
||||
line.create({
|
||||
'access_control_id': rec.id,
|
||||
'menu_id': sm.id,
|
||||
'is_main_menu': True,
|
||||
'access_line_id': main_line.id,
|
||||
})
|
||||
created_count += 1
|
||||
existing_menu_ids.add(sm.id)
|
||||
|
||||
# ---------- Notification ----------
|
||||
if created_count:
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'display_notification',
|
||||
'params': {
|
||||
'title': _('Success'),
|
||||
'message': _('Added %s new menu(s)') % len(new_menus),
|
||||
'message': _('Added %s new menu(s) (including submenus)') % created_count,
|
||||
'type': 'success',
|
||||
'sticky': False,
|
||||
}
|
||||
}
|
||||
else:
|
||||
# Show info message if no new menus found
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'display_notification',
|
||||
|
|
@ -103,6 +166,7 @@ class MenuAccessControl(models.Model):
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class MenuAccessLine(models.Model):
|
||||
_name = 'menu.access.line'
|
||||
_description = 'Menu Access Line'
|
||||
|
|
@ -111,3 +175,29 @@ class MenuAccessLine(models.Model):
|
|||
access_control_id = fields.Many2one('menu.access.control', ondelete='cascade')
|
||||
menu_id = fields.Many2one('ir.ui.menu', string="Menu")
|
||||
is_main_menu = fields.Boolean(string="Is Main Menu", default=True)
|
||||
parent_menu = fields.Many2one('ir.ui.menu',related='menu_id.parent_id')
|
||||
access_line_id = fields.Many2one('menu.access.line')
|
||||
control_unit = fields.Many2one(
|
||||
'menu.control.units',
|
||||
related='access_control_id.control_unit',
|
||||
store=True
|
||||
)
|
||||
|
||||
def open_submenus_popup_view(self):
|
||||
self.ensure_one()
|
||||
|
||||
return {
|
||||
"name": _("Sub Menus"),
|
||||
"type": "ir.actions.act_window",
|
||||
"res_model": "menu.access.line",
|
||||
"view_mode": "list,form",
|
||||
"views": [
|
||||
(self.env.ref("menu_control_center.view_submenu_line_list").id, "list"),
|
||||
],
|
||||
"target": "new",
|
||||
"domain": [("access_line_id", "=", self.id)],
|
||||
"context": {"default_access_line_id": self.id},
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_menu_access_control,access.menu.access.control,model_menu_access_control,hr.group_hr_manager,1,1,1,1
|
||||
access_menu_access_line,access.menu.access.line,model_menu_access_line,hr.group_hr_manager,1,1,1,1
|
||||
access_menu_control_units,access.menu.control.units,model_menu_control_units,hr.group_hr_manager,1,1,1,1
|
||||
access_menu_control_units,access.menu.control.units,model_menu_control_units,hr.group_hr_manager,1,1,1,1
|
||||
access_master_control_public,master.control.public,model_master_control,base.group_public,1,0,0,0
|
||||
access_master_control_hr,master.control.hr,model_master_control,hr.group_hr_manager,1,1,1,1
|
||||
group_access_line_access,group_access_line_access,model_group_access_line,,1,1,1,1
|
||||
|
|
|
|||
|
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<template id="login_master_inherit" inherit_id="web.login">
|
||||
<xpath expr="//form" position="inside">
|
||||
<div class="form-group mt-2">
|
||||
<label>Select Module</label>
|
||||
<select name="master_select" class="form-control">
|
||||
<t t-foreach="masters" t-as="m">
|
||||
<option t-att-value="m.code">
|
||||
<t t-esc="m.name"/>
|
||||
</option>
|
||||
</t>
|
||||
</select>
|
||||
</div>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
|
||||
<record id="view_master_control_list" model="ir.ui.view">
|
||||
<field name="name">master.control.list</field>
|
||||
<field name="model">master.control</field>
|
||||
<field name="arch" type="xml">
|
||||
<list>
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_master_control_form" model="ir.ui.view">
|
||||
<field name="name">master.control.form</field>
|
||||
<field name="model">master.control</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<header>
|
||||
<button name="action_generate_groups"
|
||||
type="object"
|
||||
string="Generate Groups"
|
||||
class="btn-primary"/>
|
||||
|
||||
<button name="action_update_groups"
|
||||
type="object"
|
||||
string="Update Groups"
|
||||
class="btn-secondary"/>
|
||||
</header>
|
||||
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="default_show" help="Upon Generating this value be placed in Show Option"/>
|
||||
</group>
|
||||
|
||||
<notebook>
|
||||
<page string="Roles">
|
||||
<field name="access_group_ids" widget="one2many_search">
|
||||
<list editable="bottom">
|
||||
<field name="category_id"/>
|
||||
<field name="group_id"/>
|
||||
<field name="show_group"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_master_module_control" model="ir.actions.act_window">
|
||||
<field name="name">Master Control</field>
|
||||
<field name="res_model">master.control</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem id="master_module_access_root"
|
||||
name="Masters"
|
||||
parent="base.menu_custom"
|
||||
sequence="9"/>
|
||||
|
||||
<menuitem id="master_module_control_units"
|
||||
name="Login Masters"
|
||||
parent="master_module_access_root"
|
||||
action="action_master_module_control"
|
||||
sequence="19"/>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
|
@ -1,5 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_submenu_line_list" model="ir.ui.view">
|
||||
<field name="name">menu.access.line.submenu.list</field>
|
||||
<field name="model">menu.access.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<list editable="bottom" create="0">
|
||||
<field name="menu_id" readonly="1" force_save="1"/>
|
||||
<field name="parent_menu"/>
|
||||
<field name="is_main_menu" string="Show Menu"/>
|
||||
<field name="access_line_id" optional="hide" readonly="1" force_save="1"/>
|
||||
<field name="control_unit" optional="hide" readonly="1"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_submenus_popup" model="ir.actions.act_window">
|
||||
<field name="name">Sub Menus</field>
|
||||
<field name="res_model">menu.access.line</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="view_menu_control_units_list" model="ir.ui.view">
|
||||
<field name="name">menu.control.units.list</field>
|
||||
<field name="model">menu.control.units</field>
|
||||
|
|
@ -71,12 +92,29 @@
|
|||
</div>
|
||||
</div>
|
||||
</group>
|
||||
<field name="access_menu_line_ids">
|
||||
<list editable="bottom">
|
||||
<field name="menu_id"/>
|
||||
<field name="is_main_menu"/>
|
||||
</list>
|
||||
</field>
|
||||
<notebook>
|
||||
<page name="main_menus" string="Menus">
|
||||
<field name="access_menu_line_ids">
|
||||
<list editable="bottom">
|
||||
<field name="menu_id"/>
|
||||
<field name="is_main_menu"/>
|
||||
<button name="open_submenus_popup_view" string="Sub Menus" type="object"
|
||||
class="btn-primary"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page name="sub_menus" string="Sub Menus">
|
||||
<field name="access_sub_menu_line_ids">
|
||||
<list create="0" default_group_by="parent_menu">
|
||||
<field name="menu_id" readonly="1" force_save="1"/>
|
||||
<field name="parent_menu"/>
|
||||
<field name="is_main_menu" string="Show Menu"/>
|
||||
<field name="access_line_id" optional="hide" readonly="1" force_save="1"/>
|
||||
<field name="control_unit" optional="hide" readonly="1"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
from . import controllers
|
||||
from . import models
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# pylint: disable=pointless-statement
|
||||
{
|
||||
"name": "ONLYOFFICE",
|
||||
"summary": "Edit and collaborate on office files within Odoo Documents.",
|
||||
"description": "The ONLYOFFICE app allows users to edit and collaborate on office files within Odoo Documents using ONLYOFFICE Docs. You can work with text documents, spreadsheets, and presentations, co-author documents in real time using two co-editing modes (Fast and Strict), Track Changes, comments, and built-in chat.", # noqa: E501
|
||||
"author": "ONLYOFFICE",
|
||||
"website": "https://github.com/ONLYOFFICE/onlyoffice_odoo",
|
||||
"category": "Productivity",
|
||||
"version": "5.3.0",
|
||||
"depends": ["base", "mail"],
|
||||
"external_dependencies": {"python": ["pyjwt"]},
|
||||
# always loaded
|
||||
"data": [
|
||||
"views/templates.xml",
|
||||
"views/res_config_settings_views.xml",
|
||||
],
|
||||
"license": "LGPL-3",
|
||||
"support": "support@onlyoffice.com",
|
||||
"images": [
|
||||
"static/description/main_screenshot.png",
|
||||
"static/description/document.png",
|
||||
"static/description/sales_section.png",
|
||||
"static/description/discuss_section.png",
|
||||
"static/description/settings.png",
|
||||
],
|
||||
"installable": True,
|
||||
"application": True,
|
||||
"assets": {
|
||||
"web.assets_backend": [
|
||||
"onlyoffice_odoo/static/src/actions/*",
|
||||
"onlyoffice_odoo/static/src/components/*/*.xml",
|
||||
"onlyoffice_odoo/static/src/models/*.js",
|
||||
"onlyoffice_odoo/static/src/views/**/*",
|
||||
"onlyoffice_odoo/static/src/css/*",
|
||||
],
|
||||
},
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
from . import controllers
|
||||
|
|
@ -0,0 +1,654 @@
|
|||
#
|
||||
# (c) Copyright Ascensio System SIA 2024
|
||||
#
|
||||
|
||||
import base64
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import string
|
||||
import time
|
||||
from mimetypes import guess_type
|
||||
from urllib.request import urlopen
|
||||
|
||||
import markupsafe
|
||||
import requests
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from odoo import _, fields, http
|
||||
from odoo.exceptions import AccessError, UserError
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.addons.onlyoffice_odoo.utils import config_utils, file_utils, jwt_utils, url_utils
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
_mobile_regex = r"android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino" # noqa: E501
|
||||
|
||||
|
||||
def onlyoffice_urlopen(url, timeout=120, context=None):
|
||||
url = url_utils.replace_public_url_to_internal(request.env, url)
|
||||
cert_verify_disabled = config_utils.get_certificate_verify_disabled(request.env)
|
||||
|
||||
if cert_verify_disabled and url.startswith("https://"):
|
||||
import ssl
|
||||
|
||||
context = context or ssl._create_unverified_context()
|
||||
|
||||
return urlopen(url, timeout=timeout, context=context)
|
||||
|
||||
|
||||
def onlyoffice_request(url, method, opts=None):
|
||||
_logger.info("External request: %s %s", method.upper(), url)
|
||||
url = url_utils.replace_public_url_to_internal(request.env, url)
|
||||
cert_verify_disabled = config_utils.get_certificate_verify_disabled(request.env)
|
||||
if opts is None:
|
||||
opts = {}
|
||||
|
||||
if url.startswith("https://") and cert_verify_disabled and "verify" not in opts:
|
||||
opts["verify"] = False
|
||||
|
||||
if "timeout" not in opts and "timeout" not in url:
|
||||
opts["timeout"] = 120
|
||||
|
||||
try:
|
||||
if method.lower() == "post":
|
||||
response = requests.post(url, **opts)
|
||||
else:
|
||||
response = requests.get(url, **opts)
|
||||
|
||||
_logger.info("External request completed: %s %s - status: %s", method.upper(), url, response.status_code)
|
||||
response.raise_for_status()
|
||||
return response
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
error_details = {
|
||||
"error_type": type(e).__name__,
|
||||
"url": url,
|
||||
"method": method.upper(),
|
||||
"request_options": opts,
|
||||
"original_error": str(e),
|
||||
}
|
||||
|
||||
_logger.error("ONLYOFFICE request failed: %s", error_details)
|
||||
raise requests.exceptions.RequestException(
|
||||
f"ONLYOFFICE request failed to {method.upper()} {url}: {str(e)}"
|
||||
) from e
|
||||
|
||||
except Exception as e:
|
||||
error_details = {
|
||||
"error_type": type(e).__name__,
|
||||
"url": url,
|
||||
"method": method.upper(),
|
||||
"request_options": opts,
|
||||
"original_error": str(e),
|
||||
}
|
||||
|
||||
_logger.error("Unexpected error in ONLYOFFICE request: %s", error_details)
|
||||
raise requests.exceptions.RequestException(
|
||||
f"Unexpected error in ONLYOFFICE request to {method.upper()} {url}: {str(e)}"
|
||||
) from e
|
||||
|
||||
|
||||
class Onlyoffice_Connector(http.Controller):
|
||||
@http.route("/onlyoffice/editor/get_config", auth="user", methods=["POST"], type="json", csrf=False)
|
||||
def get_config(self, document_id=None, attachment_id=None, access_token=None):
|
||||
_logger.info("POST /onlyoffice/editor/get_config - document: %s, attachment: %s", document_id, attachment_id)
|
||||
document = None
|
||||
if document_id:
|
||||
document = request.env["documents.document"].browse(int(document_id))
|
||||
attachment_id = document.attachment_id.id
|
||||
|
||||
attachment = self.get_attachment(attachment_id)
|
||||
if not attachment:
|
||||
_logger.warning("POST /onlyoffice/editor/get_config - attachment not found: %s", attachment_id)
|
||||
return request.not_found()
|
||||
|
||||
attachment.validate_access(access_token)
|
||||
|
||||
if attachment.res_model == "documents.document" and not document:
|
||||
document = request.env["documents.document"].browse(int(attachment.res_id))
|
||||
|
||||
if document:
|
||||
self._check_document_access(document)
|
||||
|
||||
data = attachment.read(["id", "checksum", "public", "name", "access_token"])[0]
|
||||
filename = data["name"]
|
||||
|
||||
can_read = attachment.check_access_rights("read", raise_exception=False) and file_utils.can_view(filename)
|
||||
|
||||
if not can_read:
|
||||
_logger.warning("POST /onlyoffice/editor/get_config - no read access: %s", attachment_id)
|
||||
raise Exception("cant read")
|
||||
|
||||
can_write = attachment.check_access_rights("write", raise_exception=False) and file_utils.can_edit(filename)
|
||||
|
||||
config = self.prepare_editor_values(attachment, access_token, can_write)
|
||||
_logger.info("POST /onlyoffice/editor/get_config - success: %s", attachment_id)
|
||||
return config
|
||||
|
||||
@http.route("/onlyoffice/file/content/test.txt", auth="public")
|
||||
def get_test_file(self):
|
||||
_logger.info("GET /onlyoffice/file/content/test.txt")
|
||||
content = "test"
|
||||
headers = [
|
||||
("Content-Length", len(content)),
|
||||
("Content-Type", "text/plain"),
|
||||
("Content-Disposition", "attachment; filename=test.txt"),
|
||||
]
|
||||
response = request.make_response(content, headers)
|
||||
return response
|
||||
|
||||
@http.route("/onlyoffice/file/content/<int:attachment_id>", auth="public")
|
||||
def get_file_content(self, attachment_id, oo_security_token=None, access_token=None):
|
||||
_logger.info("GET /onlyoffice/file/content/%s", attachment_id)
|
||||
attachment = self.get_attachment(attachment_id, self.get_user_from_token(oo_security_token))
|
||||
if not attachment:
|
||||
_logger.warning("GET /onlyoffice/file/content/%s - attachment not found", attachment_id)
|
||||
return request.not_found()
|
||||
|
||||
attachment.validate_access(access_token)
|
||||
attachment.has_access("read")
|
||||
|
||||
if jwt_utils.is_jwt_enabled(request.env):
|
||||
token = request.httprequest.headers.get(config_utils.get_jwt_header(request.env))
|
||||
if token:
|
||||
token = token[len("Bearer ") :]
|
||||
|
||||
if not token:
|
||||
_logger.warning("GET /onlyoffice/file/content/%s - JWT token missing", attachment_id)
|
||||
raise Exception("expected JWT")
|
||||
|
||||
jwt_utils.decode_token(request.env, token)
|
||||
|
||||
stream = request.env["ir.binary"]._get_stream_from(attachment, "datas", None, "name", None)
|
||||
|
||||
send_file_kwargs = {"as_attachment": True, "max_age": None}
|
||||
|
||||
_logger.info("GET /onlyoffice/file/content/%s - success", attachment_id)
|
||||
return stream.get_response(**send_file_kwargs)
|
||||
|
||||
@http.route("/onlyoffice/editor/<int:attachment_id>", auth="public", type="http", website=True)
|
||||
def render_editor(self, attachment_id, access_token=None):
|
||||
_logger.info("GET /onlyoffice/editor/%s", attachment_id)
|
||||
attachment = self.get_attachment(attachment_id)
|
||||
if not attachment:
|
||||
_logger.warning("GET /onlyoffice/editor/%s - attachment not found", attachment_id)
|
||||
return request.not_found()
|
||||
|
||||
attachment.validate_access(access_token)
|
||||
|
||||
if attachment.res_model == "documents.document":
|
||||
document = request.env["documents.document"].browse(int(attachment.res_id))
|
||||
self._check_document_access(document)
|
||||
|
||||
data = attachment.read(["id", "checksum", "public", "name", "access_token"])[0]
|
||||
filename = data["name"]
|
||||
|
||||
can_read = attachment.has_access("read") and file_utils.can_view(filename)
|
||||
can_write = attachment.has_access("write") and file_utils.can_edit(filename)
|
||||
|
||||
if not can_read:
|
||||
_logger.warning("GET /onlyoffice/editor/%s - no read access", attachment_id)
|
||||
raise Exception("cant read")
|
||||
|
||||
_logger.info("GET /onlyoffice/editor/%s - success", attachment_id)
|
||||
return request.render(
|
||||
"onlyoffice_odoo.onlyoffice_editor", self.prepare_editor_values(attachment, access_token, can_write)
|
||||
)
|
||||
|
||||
@http.route(
|
||||
"/onlyoffice/editor/callback/<int:attachment_id>", auth="public", methods=["POST"], type="http", csrf=False
|
||||
)
|
||||
def editor_callback(self, attachment_id, oo_security_token=None, access_token=None):
|
||||
_logger.info("POST /onlyoffice/editor/callback/%s", attachment_id)
|
||||
response_json = {"error": 0}
|
||||
|
||||
try:
|
||||
body = request.get_json_data()
|
||||
user = self.get_user_from_token(oo_security_token)
|
||||
attachment = self.get_attachment(attachment_id, user)
|
||||
if not attachment:
|
||||
_logger.warning("POST /onlyoffice/editor/callback/%s - attachment not found", attachment_id)
|
||||
raise Exception("attachment not found")
|
||||
|
||||
attachment.validate_access(access_token)
|
||||
attachment.has_access("write")
|
||||
|
||||
if jwt_utils.is_jwt_enabled(request.env):
|
||||
token = body.get("token")
|
||||
|
||||
if not token:
|
||||
token = request.httprequest.headers.get(config_utils.get_jwt_header(request.env))
|
||||
if token:
|
||||
token = token[len("Bearer ") :]
|
||||
|
||||
if not token:
|
||||
_logger.warning("POST /onlyoffice/editor/callback/%s - JWT token missing", attachment_id)
|
||||
raise Exception("expected JWT")
|
||||
|
||||
body = jwt_utils.decode_token(request.env, token)
|
||||
if body.get("payload"):
|
||||
body = body["payload"]
|
||||
|
||||
status = body["status"]
|
||||
_logger.info("POST /onlyoffice/editor/callback/%s - status: %s", attachment_id, status)
|
||||
|
||||
if (status == 2) | (status == 3): # mustsave, corrupted
|
||||
file_url = url_utils.replace_public_url_to_internal(request.env, body.get("url"))
|
||||
datas = onlyoffice_urlopen(file_url).read()
|
||||
if attachment.res_model == "documents.document":
|
||||
datas = base64.encodebytes(datas)
|
||||
document = request.env["documents.document"].browse(int(attachment.res_id))
|
||||
document.with_user(user).write(
|
||||
{
|
||||
"name": attachment.name,
|
||||
"datas": datas,
|
||||
"mimetype": guess_type(file_url)[0],
|
||||
}
|
||||
)
|
||||
|
||||
attachment_version = attachment.oo_attachment_version
|
||||
attachment.write({"oo_attachment_version": attachment_version + 1})
|
||||
document.sudo().message_post(body=_("Document edited by %(user)s", user=user.name))
|
||||
|
||||
previous_attachments = (
|
||||
request.env["ir.attachment"]
|
||||
.sudo()
|
||||
.search(
|
||||
[
|
||||
("res_model", "=", "documents.document"),
|
||||
("res_id", "=", document.id),
|
||||
("oo_attachment_version", "=", attachment_version),
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
)
|
||||
name = attachment.name
|
||||
filename, ext = os.path.splitext(attachment.name)
|
||||
name = f"{filename} ({attachment_version}){ext}"
|
||||
previous_attachments.sudo().write({"name": name})
|
||||
else:
|
||||
attachment.write({"raw": datas, "mimetype": guess_type(file_url)[0]})
|
||||
|
||||
_logger.info("POST /onlyoffice/editor/callback/%s - file saved successfully", attachment_id)
|
||||
|
||||
except Exception as ex:
|
||||
_logger.error("POST /onlyoffice/editor/callback/%s - error: %s", attachment_id, str(ex))
|
||||
response_json["error"] = 1
|
||||
response_json["message"] = http.serialize_exception(ex)
|
||||
|
||||
return request.make_response(
|
||||
data=json.dumps(response_json),
|
||||
status=500 if response_json["error"] == 1 else 200,
|
||||
headers=[("Content-Type", "application/json")],
|
||||
)
|
||||
|
||||
def prepare_editor_values(self, attachment, access_token, can_write):
|
||||
_logger.info("prepare_editor_values - attachment: %s", attachment.id)
|
||||
data = attachment.read(["id", "checksum", "public", "name", "access_token"])[0]
|
||||
key = str(data["id"]) + str(data["checksum"])
|
||||
docserver_url = config_utils.get_doc_server_public_url(request.env)
|
||||
odoo_url = config_utils.get_base_or_odoo_url(request.env)
|
||||
|
||||
filename = self.filter_xss(data["name"])
|
||||
|
||||
security_token = jwt_utils.encode_payload(
|
||||
request.env, {"id": request.env.user.id}, config_utils.get_internal_jwt_secret(request.env)
|
||||
)
|
||||
security_token = security_token.decode("utf-8") if isinstance(security_token, bytes) else security_token
|
||||
access_token = access_token.decode("utf-8") if isinstance(access_token, bytes) else access_token
|
||||
path_part = (
|
||||
str(data["id"])
|
||||
+ "?oo_security_token="
|
||||
+ security_token
|
||||
+ ("&access_token=" + access_token if access_token else "")
|
||||
+ "&shardkey="
|
||||
+ key
|
||||
)
|
||||
|
||||
document_type = file_utils.get_file_type(filename)
|
||||
|
||||
is_mobile = bool(re.search(_mobile_regex, request.httprequest.headers.get("User-Agent"), re.IGNORECASE))
|
||||
|
||||
root_config = {
|
||||
"width": "100%",
|
||||
"height": "100%",
|
||||
"type": "mobile" if is_mobile else "desktop",
|
||||
"documentType": document_type,
|
||||
"document": {
|
||||
"title": filename,
|
||||
"url": odoo_url + "onlyoffice/file/content/" + path_part,
|
||||
"fileType": file_utils.get_file_ext(filename),
|
||||
"key": key,
|
||||
"permissions": {},
|
||||
},
|
||||
"editorConfig": {
|
||||
"lang": request.env.user.lang,
|
||||
"user": {"id": str(request.env.user.id), "name": request.env.user.name},
|
||||
"customization": {},
|
||||
},
|
||||
}
|
||||
|
||||
if can_write:
|
||||
root_config["editorConfig"]["callbackUrl"] = odoo_url + "onlyoffice/editor/callback/" + path_part
|
||||
|
||||
if attachment.res_model != "documents.document":
|
||||
root_config["editorConfig"]["mode"] = "edit" if can_write else "view"
|
||||
root_config["document"]["permissions"]["edit"] = can_write
|
||||
elif attachment.res_model == "documents.document":
|
||||
root_config = self.get_documents_permissions(attachment, can_write, root_config)
|
||||
|
||||
if jwt_utils.is_jwt_enabled(request.env):
|
||||
root_config["token"] = jwt_utils.encode_payload(request.env, root_config)
|
||||
|
||||
_logger.info("prepare_editor_values - success: %s", attachment.id)
|
||||
return {
|
||||
"docTitle": filename,
|
||||
"docIcon": f"/onlyoffice_odoo/static/description/editor_icons/{document_type}.ico",
|
||||
"docApiJS": docserver_url + "web-apps/apps/api/documents/api.js",
|
||||
"editorConfig": markupsafe.Markup(json.dumps(root_config)),
|
||||
}
|
||||
|
||||
def get_documents_permissions(self, attachment, can_write, root_config): # noqa: C901
|
||||
_logger.info("get_documents_permissions - attachment: %s", attachment.id)
|
||||
role = None
|
||||
document = request.env["documents.document"].browse(int(attachment.res_id))
|
||||
|
||||
now = fields.Datetime.now()
|
||||
document_access_id = document.access_ids.filtered(lambda a: a.partner_id == request.env.user.partner_id)
|
||||
expired_timer = False
|
||||
if document_access_id and document_access_id.exists():
|
||||
if document_access_id.expiration_date:
|
||||
expired_timer = document_access_id.expiration_date < now
|
||||
|
||||
if document.attachment_id.id != attachment.id: # history files
|
||||
root_config["editorConfig"]["mode"] = "view"
|
||||
root_config["document"]["permissions"]["edit"] = False
|
||||
return root_config
|
||||
|
||||
if document.owner_id.id == request.env.user.id: # owner
|
||||
if can_write:
|
||||
role = "edit"
|
||||
else:
|
||||
role = "view"
|
||||
else:
|
||||
access_user = request.env["onlyoffice.odoo.documents.access.user"].search(
|
||||
[("document_id", "=", document.id), ("user_id", "=", request.env.user.partner_id.id)], limit=1
|
||||
)
|
||||
if access_user and not expired_timer:
|
||||
if access_user.role == "none":
|
||||
raise AccessError(_("User has no read access rights to open this document"))
|
||||
elif access_user.role == "edit" and can_write:
|
||||
role = "edit"
|
||||
else:
|
||||
role = access_user.role
|
||||
if not role:
|
||||
access = request.env["onlyoffice.odoo.documents.access"].search(
|
||||
[("document_id", "=", document.id)], limit=1
|
||||
)
|
||||
if access:
|
||||
if access.internal_users == "none":
|
||||
raise AccessError(_("User has no read access rights to open this document"))
|
||||
elif access.internal_users == "edit" and can_write:
|
||||
role = "edit"
|
||||
else:
|
||||
role = access.internal_users
|
||||
else:
|
||||
role = "view" # default role for internal users
|
||||
|
||||
if not role:
|
||||
raise AccessError(_("User has no read access rights to open this document"))
|
||||
elif role == "view":
|
||||
root_config["editorConfig"]["mode"] = "view"
|
||||
root_config["document"]["permissions"]["edit"] = False
|
||||
elif role == "commenter":
|
||||
root_config["editorConfig"]["mode"] = "edit"
|
||||
root_config["document"]["permissions"]["edit"] = False
|
||||
root_config["document"]["permissions"]["comment"] = True
|
||||
elif role == "reviewer":
|
||||
root_config["editorConfig"]["mode"] = "edit"
|
||||
root_config["document"]["permissions"]["edit"] = False
|
||||
root_config["document"]["permissions"]["review"] = True
|
||||
elif role == "edit":
|
||||
root_config["editorConfig"]["mode"] = "edit"
|
||||
root_config["document"]["permissions"]["edit"] = True
|
||||
elif role == "form_filling":
|
||||
root_config["editorConfig"]["mode"] = "edit"
|
||||
root_config["document"]["permissions"]["edit"] = False
|
||||
root_config["document"]["permissions"]["fillForms"] = True
|
||||
elif role == "custom_filter":
|
||||
root_config["editorConfig"]["mode"] = "edit"
|
||||
root_config["document"]["permissions"]["edit"] = True
|
||||
root_config["document"]["permissions"]["modifyFilter"] = False
|
||||
|
||||
_logger.info("get_documents_permissions - role: %s", role)
|
||||
return root_config
|
||||
|
||||
def get_attachment(self, attachment_id, user=None):
|
||||
IrAttachment = request.env["ir.attachment"]
|
||||
if user:
|
||||
IrAttachment = IrAttachment.with_user(user)
|
||||
try:
|
||||
attachment = IrAttachment.browse([attachment_id]).exists().ensure_one()
|
||||
_logger.debug("get_attachment - found: %s", attachment_id)
|
||||
return attachment
|
||||
except Exception:
|
||||
_logger.debug("get_attachment - not found: %s", attachment_id)
|
||||
return None
|
||||
|
||||
def get_user_from_token(self, token):
|
||||
_logger.info("get_user_from_token")
|
||||
if not token:
|
||||
raise Exception("missing security token")
|
||||
|
||||
user_id = jwt_utils.decode_token(request.env, token, config_utils.get_internal_jwt_secret(request.env))["id"]
|
||||
user = request.env["res.users"].sudo().browse(user_id).exists().ensure_one()
|
||||
_logger.info("get_user_from_token - user: %s", user.name)
|
||||
return user
|
||||
|
||||
def filter_xss(self, text):
|
||||
allowed_symbols = set(string.digits + " _-,.:@+")
|
||||
text = "".join(char for char in text if char.isalpha() or char in allowed_symbols)
|
||||
return text
|
||||
|
||||
def _check_document_access(self, document):
|
||||
if document.is_locked and document.lock_uid.id != request.env.user.id:
|
||||
_logger.error("Document is locked by another user")
|
||||
raise Forbidden()
|
||||
try:
|
||||
document.check_access_rule("read")
|
||||
except AccessError as e:
|
||||
_logger.error("User has no read access rights to open this document")
|
||||
raise Forbidden() from e
|
||||
|
||||
@http.route("/onlyoffice/preview", type="http", auth="user")
|
||||
def preview(self, url, title):
|
||||
_logger.info("GET /onlyoffice/preview - url: %s, title: %s", url, title)
|
||||
docserver_url = config_utils.get_doc_server_public_url(request.env)
|
||||
odoo_url = config_utils.get_base_or_odoo_url(request.env)
|
||||
|
||||
if url and url.startswith("/onlyoffice/file/content/"):
|
||||
internal_jwt_secret = config_utils.get_internal_jwt_secret(request.env)
|
||||
user_id = request.env.user.id
|
||||
security_token = jwt_utils.encode_payload(request.env, {"id": user_id}, internal_jwt_secret)
|
||||
security_token = security_token.decode("utf-8") if isinstance(security_token, bytes) else security_token
|
||||
url = url + "?oo_security_token=" + security_token
|
||||
|
||||
if url and not url.startswith(("http://", "https://")):
|
||||
url = odoo_url.rstrip("/") + "/" + url.lstrip("/")
|
||||
|
||||
document_type = file_utils.get_file_type(title)
|
||||
key = str(int(time.time() * 1000))
|
||||
|
||||
root_config = {
|
||||
"width": "100%",
|
||||
"height": "100%",
|
||||
"type": "embedded",
|
||||
"documentType": document_type,
|
||||
"document": {
|
||||
"title": self.filter_xss(title),
|
||||
"url": url,
|
||||
"fileType": file_utils.get_file_ext(title),
|
||||
"key": key,
|
||||
"permissions": {"edit": False},
|
||||
},
|
||||
"editorConfig": {
|
||||
"mode": "view",
|
||||
"lang": request.env.user.lang,
|
||||
"user": {"id": str(request.env.user.id), "name": request.env.user.name},
|
||||
"customization": {},
|
||||
},
|
||||
}
|
||||
|
||||
if jwt_utils.is_jwt_enabled(request.env):
|
||||
root_config["token"] = jwt_utils.encode_payload(request.env, root_config)
|
||||
|
||||
_logger.info("GET /onlyoffice/preview - success")
|
||||
return request.render(
|
||||
"onlyoffice_odoo.onlyoffice_editor",
|
||||
{
|
||||
"docTitle": title,
|
||||
"docIcon": f"/onlyoffice_odoo/static/description/editor_icons/{document_type}.ico",
|
||||
"docApiJS": docserver_url + "web-apps/apps/api/documents/api.js",
|
||||
"editorConfig": markupsafe.Markup(json.dumps(root_config)),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
class OnlyOfficeOFormsDocumentsController(http.Controller):
|
||||
CMSOFORMS_URL = "https://cmsoforms.onlyoffice.com/api"
|
||||
OFORMS_URL = "https://oforms.onlyoffice.com/dashboard/api"
|
||||
TIMEOUT = 20 # seconds
|
||||
|
||||
def _make_api_request(self, url, endpoint, params=None, method="GET", data=None, files=None):
|
||||
url = f"{url}/{endpoint}"
|
||||
try:
|
||||
if method == "GET":
|
||||
response = requests.get(url, params=params, timeout=self.TIMEOUT)
|
||||
elif method == "POST":
|
||||
response = requests.post(url, data=data, files=files, timeout=self.TIMEOUT)
|
||||
else:
|
||||
raise ValueError(f"Unsupported HTTP method: {method}")
|
||||
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
_logger.error(f"API request failed to {url}: {str(e)}")
|
||||
raise UserError(f"Failed to connect to Forms API: {str(e)}") from e
|
||||
|
||||
@http.route("/onlyoffice/oforms/locales", type="json", auth="user")
|
||||
def get_oform_locales(self):
|
||||
url = self.OFORMS_URL
|
||||
endpoint = "i18n/locales"
|
||||
response = self._make_api_request(url, endpoint)
|
||||
locales = response if isinstance(response, list) else []
|
||||
return {
|
||||
"data": [
|
||||
{
|
||||
"code": locale.get("code"),
|
||||
"name": locale.get("name", locale.get("code")),
|
||||
}
|
||||
for locale in locales
|
||||
]
|
||||
}
|
||||
|
||||
@http.route("/onlyoffice/oforms/category-types", type="json", auth="user")
|
||||
def get_category_types(self, locale="en"):
|
||||
url = self.OFORMS_URL
|
||||
endpoint = "menu-translations"
|
||||
params = {"populate": "*", "locale": locale}
|
||||
response = self._make_api_request(url, endpoint, params=params)
|
||||
|
||||
categories = []
|
||||
for item in response.get("data", []):
|
||||
attrs = item.get("attributes", {})
|
||||
localized_name = next(
|
||||
(
|
||||
loc["attributes"]["name"]
|
||||
for loc in attrs.get("localizations", {}).get("data", [])
|
||||
if loc["attributes"]["locale"] == locale
|
||||
),
|
||||
None,
|
||||
) or attrs.get("name", "")
|
||||
|
||||
categories.append(
|
||||
{
|
||||
"id": item["id"],
|
||||
"categoryId": attrs.get("categoryId"),
|
||||
"name": localized_name,
|
||||
"type": attrs.get("categoryTitle"),
|
||||
}
|
||||
)
|
||||
|
||||
return {"data": categories}
|
||||
|
||||
@http.route("/onlyoffice/oforms/subcategories", type="json", auth="user")
|
||||
def get_subcategories(self, category_type, locale="en"):
|
||||
url = self.OFORMS_URL
|
||||
endpoint_map = {"categorie": "categories", "type": "types", "compilation": "compilations"}
|
||||
|
||||
if category_type not in endpoint_map:
|
||||
return {"data": []}
|
||||
|
||||
endpoint = f"{endpoint_map[category_type]}"
|
||||
params = {"populate": "*", "locale": locale}
|
||||
response = self._make_api_request(url, endpoint, params=params)
|
||||
|
||||
subcategories = []
|
||||
for item in response.get("data", []):
|
||||
attrs = item.get("attributes", {})
|
||||
localized_name = next(
|
||||
(
|
||||
loc["attributes"][category_type]
|
||||
for loc in attrs.get("localizations", {}).get("data", [])
|
||||
if loc["attributes"]["locale"] == locale
|
||||
),
|
||||
None,
|
||||
) or attrs.get(category_type, "")
|
||||
|
||||
subcategories.append(
|
||||
{
|
||||
"id": item["id"],
|
||||
"name": localized_name,
|
||||
"category_type": endpoint_map[category_type],
|
||||
}
|
||||
)
|
||||
|
||||
return {"data": subcategories}
|
||||
|
||||
@http.route("/onlyoffice/oforms", type="json", auth="user")
|
||||
def get_oforms(self, params=None, **kwargs):
|
||||
url = self.CMSOFORMS_URL
|
||||
if params is None:
|
||||
params = {}
|
||||
|
||||
api_params = {
|
||||
"fields[0]": "name_form",
|
||||
"fields[1]": "updatedAt",
|
||||
"fields[2]": "description_card",
|
||||
"fields[3]": "template_desc",
|
||||
"filters[form_exts][ext][$eq]": params.get("type", "pdf"),
|
||||
"locale": params.get("locale", "en"),
|
||||
"pagination[page]": params.get("pagination[page]", 1),
|
||||
"pagination[pageSize]": params.get("pagination[pageSize]", 12),
|
||||
"populate[card_prewiew][fields][0]": "url",
|
||||
"populate[template_image][fields][0]": "formats",
|
||||
"populate[file_oform][fields][0]": "url",
|
||||
"populate[file_oform][fields][1]": "name",
|
||||
"populate[file_oform][fields][2]": "ext",
|
||||
"populate[file_oform][filters][url][$endsWith]": "." + params.get("type", "pdf"),
|
||||
}
|
||||
|
||||
if "filters[name_form][$containsi]" in params:
|
||||
api_params["filters[name_form][$containsi]"] = params["filters[name_form][$containsi]"]
|
||||
|
||||
if "filters[categories][$eq]" in params:
|
||||
api_params["filters[categories][id][$eq]"] = params["filters[categories][$eq]"]
|
||||
elif "filters[types][$eq]" in params:
|
||||
api_params["filters[types][id][$eq]"] = params["filters[types][$eq]"]
|
||||
elif "filters[compilations][$eq]" in params:
|
||||
api_params["filters[compilations][id][$eq]"] = params["filters[compilations][$eq]"]
|
||||
|
||||
response = self._make_api_request(url, "oforms", params=api_params)
|
||||
return response
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
Prerequisites
|
||||
=============
|
||||
|
||||
To be able to work with office files within Odoo, you will need an instance of ONLYOFFICE Docs. You can install the `self-hosted version`_ of the editors (free Community build or scalable Enterprise version), or opt for `ONLYOFFICE Docs`_ Cloud which doesn't require downloading and installation.
|
||||
|
||||
ONLYOFFICE app configuration
|
||||
============================
|
||||
|
||||
After the app installation, adjust its settings within your Odoo (*Home menu -> Settings -> ONLYOFFICE*).
|
||||
In the **Document Server Url**, specify the URL of the installed ONLYOFFICE Docs or the address of ONLYOFFICE Docs Cloud.
|
||||
|
||||
**Document Server JWT Secret**: JWT is enabled by default and the secret key is generated automatically to restrict the access to ONLYOFFICE Docs. if you want to specify your own secret key in this field, also specify the same secret key in the ONLYOFFICE Docs `config file`_ to enable the validation.
|
||||
|
||||
**Document Server JWT Header**: Standard JWT header used in ONLYOFFICE is Authorization. In case this header is in conflict with your setup, you can change the header to the custom one.
|
||||
|
||||
In case your network configuration doesn't allow requests between the servers via public addresses, specify the ONLYOFFICE Docs address for internal requests from the Odoo server and vice versa.
|
||||
|
||||
If you would like the editors to open in the same tab instead of a new one, check the corresponding setting "Open file in the same tab".
|
||||
|
||||
.. image:: settings.png
|
||||
:width: 800
|
||||
|
||||
|
||||
Contact us
|
||||
==========
|
||||
|
||||
If you have any questions or suggestions regarding the ONLYOFFICE app for Odoo, please let us know at https://forum.onlyoffice.com
|
||||
|
||||
.. _self-hosted version: https://www.onlyoffice.com/download-docs.aspx
|
||||
.. _ONLYOFFICE Docs: https://www.onlyoffice.com/docs-registration.aspx
|
||||
.. _config file: https://api.onlyoffice.com/docs/docs-api/additional-api/signature/
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
|
|
@ -0,0 +1,368 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Mehr erfahren"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Funktion vorschlagen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Zum Demoserver von ONLYOFFICE Docs verbinden\">\n"
|
||||
" Zum Demoserver von ONLYOFFICE Docs verbinden\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Dies ist ein öffentlicher Testserver, bitte verwenden Sie ihn nicht für private sensible Daten. Der Server wird für einen Zeitraum von 30 Tagen verfügbar sein.\">\n"
|
||||
" Dies ist ein öffentlicher Testserver, bitte verwenden Sie ihn nicht für private sensible Daten.\n"
|
||||
" Der Server wird für einen Zeitraum von 30 Tagen verfügbar sein.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "Info"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Kategorien"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfigurationseinstellungen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Zum Demoserver von ONLYOFFICE Docs verbinden"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Erstellt von"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Zertifikatsüberprüfung deaktivieren"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Dokument"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "Innere URL von Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "JWT-Header von Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "JWT-Geheimschlüssel von Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "Öffentliche URL von Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Dokumentvorlagen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Fehler beim Laden der Formulare"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "Kategorien konnten nicht geladen werden"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "Formulare konnten nicht geladen werden"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Formular"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "JETZT ERHALTEN"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Allgemeine Einstellungen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Interner JWT-Geheimschlüssel"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "JWT-Header"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zuletzt aktualisiert von"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zuletzt aktualisiert am"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Formulare werden geladen..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "Keine Formulare gefunden"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "ONLYOFFICE Docs-Adresse"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "ONLYOFFICE Docs-Adresse für interne Anfragen vom Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "ONLYOFFICE Docs Geheimschlüssel"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "ONLYOFFICE Docs-Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "Für ONLYOFFICE Templates benötigen Sie einen ordnungsgemäß lizenzierten Document Server, der mit Odoo verbunden ist. Kontaktieren Sie das Sales-Team unter sales@onlyoffice.com, um die entsprechende Lizenz zu erwerben."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE kann nicht erreicht werden. Bitte kontaktieren Sie den Administrator."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "ONLYOFFICE-Logo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "Odoo-URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Datei im selben Tab öffnen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "In ONLYOFFICE öffnen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Präsentation"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Suchen..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Dokument auswählen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Serveradresse für interne Anfragen von ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Kalkulationstabelle"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "Der 30-tägige Testzeitraum ist vorbei. Sie können sich nicht mehr mit dem Demo-Server von ONLYOFFICE Docs verbinden"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "Diese App ermöglicht das Erstellen, Bearbeiten und gemeinsame Bearbeiten von ausfüllbaren Formularen, Office-Dateien und angehängten Dokumenten in Odoo mithilfe von ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Versuchen Sie, Ihre Suche oder Filter zu ändern"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "Benutzer hat keine Leserechte zum Öffnen dieses Dokuments"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Alle Vorlagen anzeigen"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "Willkommen bei ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,361 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Más información"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Sugerir una función"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Conectarse al servidor demo de ONLYOFFICE Docs\">\n"
|
||||
" Conectarse al servidor demo de ONLYOFFICE Docs\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Este es un servidor público de prueba, por favor no lo utilice para datos privados. El servidor estará disponible durante un período de 30 días.\">\n"
|
||||
" Este es un servidor público de prueba, por favor no lo utilice para datos privados.\n"
|
||||
" El servidor estará disponible durante un período de 30 días.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "Acerca de"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Atrás"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Categorías"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Parámetros de configuración"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Conectarse al servidor demo de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Desactivar la verificación de certificados"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Mostrar nombre"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "URL interna del Servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "Encabezado JWT del Servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Secreto JWT del Servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "URL pública del Servidor de Documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Plantillas de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Error al cargar los formularios"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "No se han podido cargar las categorías"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "No se han podido cargar los formularios"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Formulario"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "OBTENER AHORA"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Ajustes generales"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Secreto JWT interno"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "Encabezado JWT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización por"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Loading forms..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "No se han encontrado formularios"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "Dirección de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "Dirección de ONLYOFFICE Docs para solicitudes internas desde el servidor"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "Clave secreta de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "Servidor de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "ONLYOFFICE Templates requiere un servidor de documentos con la licencia adecuada conectado a Odoo. Para obtener la licencia adecuada, póngase en contacto con el departamento de ventas a través de sales@onlyoffice.com."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE no puede ser alcanzado. Por favor, póngase en contacto con el administrador."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "Logo de ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "URL de Odoo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Abrir archivo en la misma pestaña"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "Abrir en ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Presentación"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Búsqueda..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Seleccionar documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Dirección del servidor para solicitudes internas de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Ajustes"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Hoja de cálculo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "El período de prueba de 30 días ha terminado, ya no se puede conectar al servidor de ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "Esta aplicación permite crear, editar y colaborar en formularios rellenables, archivos ofimáticos y documentos adjuntos en Odoo utilizando ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Intente cambiar su búsqueda o filtros"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "El usuario no tiene derechos de acceso de lectura para abrir este documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Ver todas las plantillas"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "¡Bienvenido/a a ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> En savoir plus"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Suggérer une fonctionnalité"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Connexion au serveur de démonstration ONLYOFFICE Docs\">\n"
|
||||
" Connexion au serveur de démonstration ONLYOFFICE Docs\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Il s'agit d'un serveur de test public, veuillez ne pas l'utiliser pour des données sensibles privées. Le serveur sera disponible pendant une période de 30 jours.\">\n"
|
||||
" Il s'agit d'un serveur de test public, veuillez ne pas l'utiliser pour des données sensibles privées.\n"
|
||||
" Le serveur sera disponible pendant une période de 30 jours.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Catégories"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Paramètres de configuration"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Connexion au serveur de démonstration ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Désactiver la vérification du certificat"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Afficher le nom"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Document texte"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "URL interne de Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "En-tête JWT du Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Secret JWT du Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "URL public de Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Modèles de documents"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Erreur lors du chargement des formulaires"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "Échec du chargement des catégories"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "Échec du chargement des formulaires"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Formulaire"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "OBTENIR MAINTENANT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Paramètres généraux"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Secret JWT interne"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "En-tête JWT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Chargement des formulaires..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "Aucun formulaire trouvé"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "Adresse ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "Adresse ONLYOFFICE Docs pour les requêtes internes depuis le serveur"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "Clé secrète ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "Serveur ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "ONLYOFFICE Templates nécessite un serveur de documents correctement licencié et connecté à Odoo. Contactez le service des ventes à sales@onlyoffice.com pour obtenir la licence appropriée."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE n'est pas joignable. Veuillez contacter l'administrateur."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "Logo ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "URL de Odoo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Ouvrir le fichier dans le même onglet"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "Ouvrir dans ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Présentation"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Recherche..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Sélectionner un document"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Adresse du serveur pour les requêtes internes depuis ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Feuille de calcul"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "La période de test de 30 jours est terminée, vous ne pouvez plus vous connecter à la démo ONLYOFFICE Serveur Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "Cette application permet de créer, modifier et coéditer des formulaires à remplir, des fichiers bureautiques et des documents joints dans Odoo à l'aide d'ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Essayez de modifier votre recherche ou vos filtres"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "L'utilisateur n'a pas les droits d'accès en lecture pour ouvrir ce document"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Voir tous les modèles"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "Bienvenue dans ONLYOFFICE !"
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Scopri di più"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Suggerisci una funzione"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Connessione al server demo ONLYOFFICE Docs\">\n"
|
||||
" Connessione al server demo ONLYOFFICE Docs\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Questo è un server di test pubblico, si prega di non usarlo per dati privati e sensibili. Il server sarà disponibile per un periodo di 30 giorni.\">\n"
|
||||
" Questo è un server di test pubblico, si prega di non usarlo per dati privati e sensibili.\n"
|
||||
" Il server sarà disponibile per un periodo di 30 giorni.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "Informazioni"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Categorie"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Impostazioni di configurazione"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Connessione al server demo ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Crea"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creato da"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creato il"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Disabilita verifica certificato"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visualizza nome"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "URL interno del server dei documenti"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "Intestazione JWT del Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Segreto JWT del Document Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "URL pubblico del server dei documenti"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Modelli di documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Errore durante il caricamento dei moduli"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "Impossibile caricare le categorie"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "Impossibile caricare i moduli"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Modulo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "OTTIENI ORA"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Impostazioni generali"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Segreto JWT interno"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "Intestazione JWT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Lingua"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ultimo aggiornamento effettuato da"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Ultimo aggiornamento effettuato il"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Caricamento moduli..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "Nessun modulo trovato"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "Indirizzo di ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "Indirizzo di ONLYOFFICE Docs per richieste interne dal server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "Chiave segreta di ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "Server ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "ONLYOFFICE Templates richiede un Document Server con licenza valida collegato a Odoo. Contatta il reparto vendite all’indirizzo sales@onlyoffice.com per ottenere una licenza adeguata."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE non può essere raggiunto. Si prega di contattare l'amministratore."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "Logo di ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "URL di Odoo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Apri il file nella stessa scheda"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "Aprire in ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Presentazione"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Cerca..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Seleziona documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Indirizzo del server per richieste interne da ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Impostazioni"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Foglio di calcolo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "Il periodo di prova di 30 giorni è terminato, non puoi più connetterti alla demo ONLYOFFICE Docs Server"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "Questa app consente di creare, modificare e collaborare su moduli compilabili, file office e documenti allegati in Odoo usando ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Prova a cambiare la ricerca o i filtri"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "L’utente non ha i diritti di lettura per aprire questo documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Visualizza tutti i modelli"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "Benvenuto in ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,379 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> 詳細を見る"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> 機能を提案"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"ONLYOFFICE Docsのデモサーバーへの接続\">\n"
|
||||
" ONLYOFFICE Docsのデモサーバーへの接続\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"このサーバーは公開テストサーバーですので、個人の機密データには使用しないでください。このサーバーは30日間利用可能です。\">\n"
|
||||
" このサーバーは公開テストサーバーですので、個人の機密データには使用しないでください。このサーバーは30日間利用可能です。\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "概要"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "戻る"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "カテゴリ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Common settings"
|
||||
msgstr "共通設定"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "構成の設定"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "ONLYOFFICE Docsのデモサーバーへの接続"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "作成"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "作成者"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "作成日"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "証明書検証を無効化"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "表示名"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "ドキュメント"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "ドキュメントサーバ内部URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "Document ServerのJWTヘッダー"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Document ServerのJWTシクレット"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "ドキュメントサーバ公開URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "ドキュメントテンプレート"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "フォームの読み込みエラー"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "カテゴリの読み込みに失敗しました"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "フォームの読み込みに失敗しました"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "フォーム"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "今すぐ入手"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "一般設定"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "内部JWTシクレット"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "JWTヘッダー"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "言語"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最終更新したユーザー"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "最終更新日"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "フォームを読み込み中..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "フォームが見つかりません"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "ONLYOFFICE Docsアドレス"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "サーバーからの内部リクエスト用ONLYOFFICE Docsアドレス"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "ONLYOFFICE Docsシークレットキー"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "ONLYOFFICE Docsサーバ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "ONLYOFFICEテンプレートを使用するには、Odooと接続された適切なライセンスを持つドキュメントサーバーが必要です。ライセンスを取得するには、sales@onlyoffice.comまでお問い合わせください。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICEにアクセスできません。管理者にご連絡ください。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "ONLYOFFICEロゴ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "Odoo URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Only use when accessing Document Server with a self-signed certificate"
|
||||
msgstr "自己署名証明書使用時のみ有効"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "同じタブでファイルを開く"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "ONLYOFFICEで開く"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr "その他"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "プレゼンテーション"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "検索..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "ドキュメントを選択"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "ONLYOFFICE Docsからの内部リクエスト用サーバーアドレス"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "スプレッドシート"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "30日間のテスト期間が終了し、ONLYOFFICE Docsのデモサーバーに接続できなくなりました"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr ""
|
||||
"このアプリを使用すると、Odoo内でONLYOFFICE Docsを使って、入力可能なフォームや"
|
||||
"オフィスファイル、添付ドキュメントを作成・編集・共同編集できます。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "検索条件やフィルターを変更してみてください"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "種類"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "ユーザーにはこのドキュメントを開く権限がありません"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "すべてのテンプレートを見る"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "ONLYOFFICEへようこそ!"
|
||||
|
|
@ -0,0 +1,367 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Saiba mais"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Sugerir um recurso"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Conecte-se ao servidor de demonstração do ONLYOFFICE Docs\">\n"
|
||||
" Conecte-se ao servidor de demonstração do ONLYOFFICE Docs\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Este é um servidor de teste público, por favor, não o use para dados confidenciais. O servidor estará disponível durante um período de 30 dias.\">\n"
|
||||
" Este é um servidor de teste público, por favor, não o use para dados confidenciais. O servidor estará disponível durante um período de 30 dias.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "Sobre"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Categorias"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Configurações de configuração"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Conecte-se ao servidor de demonstração do ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Criado por"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Criado em"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Desativar verificação de certificado"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome de exibição"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "URL interno do servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "Cabeçalho JWT do servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Segredo JWT do servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "URL pública do servidor de documentos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Modelos de documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Erro ao carregar formulários"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "Falha ao carregar categorias"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "Falha ao carregar formulários"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Formulário"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "OBTENHA AGORA"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Configurações gerais"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Segredo JWT Interno"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "Cabeçalho JWT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última atualização por"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última atualização em"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Carregando formulários..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "Nenhum formulário encontrado"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "Endereço do ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "Endereço do ONLYOFFICE Docs para solicitações internas do servidor"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "Chave secreta do ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "Servidor ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "Os Modelos do ONLYOFFICE requerem um Servidor de Documentos devidamente licenciado e conectado ao Odoo. Entre em contato com o departamento de vendas pelo e-mail sales@onlyoffice.com para adquirir a licença adequada."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE não pode ser alcançado. Entre em contato com o administrador."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "Logotipo ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "URL Odoo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Abra o arquivo na mesma aba."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "Abrir no ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Apresentação"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Pesquisar..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Selecionar documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Endereço do servidor para solicitações internas do ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Planilha"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "O período de teste de 30 dias acabou, você não pode mais se conectar ao ONLYOFFICE de demonstração Servidor Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "Este aplicativo permite criar, editar e colaborar em formulários preenchíveis, arquivos do Office e documentos anexados no Odoo usando o ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Tente alterar sua pesquisa ou filtros"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "O usuário não tem direitos de acesso de leitura para abrir este documento"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Ver todos os modelos"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "Bem-vindo ao ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,375 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Подробнее"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> Предложить функцию"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Подключиться к демо-серверу ONLYOFFICE Docs\">\n"
|
||||
" Подключиться к демо-серверу ONLYOFFICE Docs\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"Это общедоступный тестовый сервер, не используйте его для конфиденциальных данных. Сервер будет доступен в течение 30-дневного периода.\">\n"
|
||||
" Это общедоступный тестовый сервер, не используйте его для конфиденциальных данных.\n"
|
||||
" Сервер будет доступен в течение 30-дневного периода.\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "О проекте"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "Группы"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Настройки конфигурации"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "Подключиться к демо-серверу ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "Создать"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Создано"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Дата создания"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "Отключить проверку сертификата"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Отображаемое имя"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "Документ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "Внутренний URL сервера документов"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "Заголовок JWT сервера документов"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "Секретный JWT ключ сервера документов"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "Публичный URL сервера документов"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "Шаблоны документов"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "Ошибка загрузки форм"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "Не удалось загрузить категории"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "Не удалось загрузить формы"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "Форма"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "ПОЛУЧИТЬ СЕЙЧАС"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "Основные настройки"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "Внутренний секретный JWT ключ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "Заголовок JWT"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Последнее обновление"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Дата последнего обновления"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "Загрузка форм..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "Формы не найдены"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "Адрес ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "Адрес ONLYOFFICE Docs для внутренних запросов от сервера"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "Секретный ключ ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "Сервер ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr ""
|
||||
"Для шаблонов ONLYOFFICE требуется надлежащим образом лицензированный сервер документов, подключенный "
|
||||
"к Odoo. Чтобы получить соответствующую лицензию, свяжитесь с отделом продаж по адресу "
|
||||
"sales@onlyoffice.com."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE недоступен. Пожалуйста, свяжитесь с администратором."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "Логотип ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "URL Odoo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "Открыть файл в той же вкладке"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "Открыть в ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "Презентация"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "Поиск..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "Выбрать документ"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "Адрес сервера для внутренних запросов от ONLYOFFICE Docs"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "Электронная таблица"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr ""
|
||||
"30-дневный тестовый период закончился, вы больше не можете подключиться к демо-серверу ONLYOFFICE"
|
||||
" Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr ""
|
||||
"Это приложение позволяет создавать, редактировать заполняемые формы, офисные файлы и вложенные документы "
|
||||
"и совместно работать над ними в Odoo с помощью ONLYOFFICE Docs."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "Попробуйте изменить параметры поиска или фильтры"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "Тип"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "У пользователя нет прав на чтение этого документа"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "Посмотреть все шаблоны"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "Добро пожаловать в ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,367 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * onlyoffice_odoo
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20250520\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-11-12 16:18+0000\n"
|
||||
"PO-Revision-Date: 2025-11-12 16:18+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Learn more"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> 了解更多"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "<i class=\"fa fa-arrow-right\"/> Suggest a feature"
|
||||
msgstr "<i class=\"fa fa-arrow-right\"/> 建议功能"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"Connect to demo ONLYOFFICE Docs server\">\n"
|
||||
" Connect to demo ONLYOFFICE Docs server\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"连接到 ONLYOFFICE 文档服务器演示版\">\n"
|
||||
" 连接到 ONLYOFFICE 文档服务器演示版\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"<span searchabletext=\"This is a public test server, please do not use it for private sensitive data. The server will be available during a 30-day period.\">\n"
|
||||
" This is a public test server, please do not use it for private sensitive data.\n"
|
||||
" The server will be available during a 30-day period.\n"
|
||||
" </span>"
|
||||
msgstr ""
|
||||
"<span searchabletext=\"这是公共测试服务器,请勿用于私人敏感 数据。服务器将在 30 天内可用。\">\n"
|
||||
" 这是公共测试服务器,请勿用于私人敏感 数据。服务器将在 30 天内可用。\n"
|
||||
" </span>"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "About"
|
||||
msgstr "关于"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Back"
|
||||
msgstr "返回"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Categories"
|
||||
msgstr "分类"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "配置设置"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_demo
|
||||
msgid "Connect to demo ONLYOFFICE Docs server"
|
||||
msgstr "连接到 ONLYOFFICE 文档服务器演示版"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Create"
|
||||
msgstr "创建"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "创建者"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__create_date
|
||||
msgid "Created on"
|
||||
msgstr "创建于"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_disable_certificate
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Disable certificate verification"
|
||||
msgstr "禁用证书验证"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "显示名称"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Document"
|
||||
msgstr "文档"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_inner_url
|
||||
msgid "Document Server Inner URL"
|
||||
msgstr "文档服务器内部 URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_header
|
||||
msgid "Document Server JWT Header"
|
||||
msgstr "文档服务器 JWT 头"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_jwt_secret
|
||||
msgid "Document Server JWT Secret"
|
||||
msgstr "文档服务器 JWT 秘密"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_public_url
|
||||
msgid "Document Server Public URL"
|
||||
msgstr "文档服务器公共 URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "Document edited by %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Document templates"
|
||||
msgstr "文档模板"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Error loading forms"
|
||||
msgstr "加载表单时出错"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load categories"
|
||||
msgstr "加载分类失败"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.js:0
|
||||
msgid "Failed to load forms"
|
||||
msgstr "加载表单失败"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Form"
|
||||
msgstr "表单"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "GET NOW"
|
||||
msgstr "立即获取"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "General Settings"
|
||||
msgstr "一般设置"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__internal_jwt_secret
|
||||
msgid "Internal JWT Secret"
|
||||
msgstr "内部 JWT 秘密"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "JWT Header"
|
||||
msgstr "JWT 头部"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Language"
|
||||
msgstr "语言"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "上次更新者"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_onlyoffice_odoo__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "上次更新日期"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Loading forms..."
|
||||
msgstr "正在加载表单..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "No forms found"
|
||||
msgstr "未找到表单"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model,name:onlyoffice_odoo.model_onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE"
|
||||
msgstr "ONLYOFFICE"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address"
|
||||
msgstr "ONLYOFFICE 文档地址"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs address for internal requests from the server"
|
||||
msgstr "ONLYOFFICE 文档服务器内部请求地址"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "ONLYOFFICE Docs secret key"
|
||||
msgstr "ONLYOFFICE 文档密钥"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid "ONLYOFFICE Docs server"
|
||||
msgstr "ONLYOFFICE 文档服务器"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"ONLYOFFICE Templates requires a properly licensed Document Server connected "
|
||||
"with Odoo. Contact sales at sales@onlyoffice.com to acquire the proper "
|
||||
"license."
|
||||
msgstr "ONLYOFFICE 模板需通过具有正确授权的文档服务器与 Odoo 连接。请邮件联系 sales@onlyoffice.com 获取相应授权许可。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE cannot be reached. Please contact admin."
|
||||
msgstr "ONLYOFFICE 无法访问,请联系管理员。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/actions/documents_action.xml:0
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.onlyoffice_editor
|
||||
msgid "ONLYOFFICE logo"
|
||||
msgstr "ONLYOFFICE logo"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__doc_server_odoo_url
|
||||
msgid "Odoo URL"
|
||||
msgstr "Odoo URL"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.model.fields,field_description:onlyoffice_odoo.field_res_config_settings__same_tab
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Open file in the same tab"
|
||||
msgstr "在同一标签页中打开文件"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/components/attachment_card_onlyoffice/attachment_card_onlyoffice.xml:0
|
||||
msgid "Open in ONLYOFFICE"
|
||||
msgstr "用 ONLYOFFICE 打开"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Presentation"
|
||||
msgstr "演示文稿"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Search..."
|
||||
msgstr "搜索..."
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Select document"
|
||||
msgstr "选择文档"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Server address for internal requests from ONLYOFFICE Docs"
|
||||
msgstr "ONLYOFFICE 文档内部请求的服务器地址"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model:ir.actions.act_window,name:onlyoffice_odoo.action_onlyoffice_config_settings
|
||||
msgid "Settings"
|
||||
msgstr "设置"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Spreadsheet"
|
||||
msgstr "电子表格"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/models/attachment_card_onlyoffice.js:0
|
||||
msgid ""
|
||||
"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE"
|
||||
" Docs server"
|
||||
msgstr "30 天测试期结束后,您将无法再访问 ONLYOFFICE文档服务器演示版"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid ""
|
||||
"This app enables creating, editing, and collaborating on fillable forms, "
|
||||
"office files, and attached documents in Odoo using ONLYOFFICE Docs."
|
||||
msgstr "此应用可在 Odoo 中通过 ONLYOFFICE 文档创建、编辑和协作处理可填写表单、办公文件及附件。"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Try changing your search or filters"
|
||||
msgstr "请尝试更改搜索条件或筛选项"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "Type"
|
||||
msgstr "类型"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-python
|
||||
#: code:addons/onlyoffice_odoo/controllers/controllers.py:0
|
||||
msgid "User has no read access rights to open this document"
|
||||
msgstr "用户没有查看权限,无法打开此文档"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#. odoo-javascript
|
||||
#: code:addons/onlyoffice_odoo/static/src/views/form_gallery/form_gallery.xml:0
|
||||
msgid "View all templates"
|
||||
msgstr "查看所有模板"
|
||||
|
||||
#. module: onlyoffice_odoo
|
||||
#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo.res_config_settings_view_form
|
||||
msgid "Welcome to ONLYOFFICE!"
|
||||
msgstr "欢迎使用 ONLYOFFICE!"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
from . import res_config_settings
|
||||
from . import onlyoffice_odoo
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
import json
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
from odoo.addons.onlyoffice_odoo.utils import config_constants
|
||||
|
||||
|
||||
class OnlyOfficeTemplate(models.Model):
|
||||
_name = "onlyoffice.odoo"
|
||||
_description = "ONLYOFFICE"
|
||||
|
||||
@api.model
|
||||
def get_demo(self):
|
||||
mode = self.env["ir.config_parameter"].sudo().get_param(config_constants.DOC_SERVER_DEMO)
|
||||
date = self.env["ir.config_parameter"].sudo().get_param(config_constants.DOC_SERVER_DEMO_DATE)
|
||||
return json.dumps({"mode": mode, "date": date})
|
||||
|
||||
@api.model
|
||||
def get_same_tab(self):
|
||||
same_tab = self.env["ir.config_parameter"].sudo().get_param(config_constants.SAME_TAB)
|
||||
return json.dumps({"same_tab": same_tab})
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
#
|
||||
# (c) Copyright Ascensio System SIA 2024
|
||||
#
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
from odoo.addons.onlyoffice_odoo.utils import config_utils, validation_utils
|
||||
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = "res.config.settings"
|
||||
|
||||
doc_server_public_url = fields.Char("Document Server Public URL")
|
||||
doc_server_odoo_url = fields.Char("Odoo URL")
|
||||
doc_server_inner_url = fields.Char("Document Server Inner URL")
|
||||
doc_server_jwt_secret = fields.Char("Document Server JWT Secret")
|
||||
doc_server_jwt_header = fields.Char("Document Server JWT Header")
|
||||
doc_server_demo = fields.Boolean("Connect to demo ONLYOFFICE Docs server")
|
||||
doc_server_disable_certificate = fields.Boolean("Disable certificate verification")
|
||||
same_tab = fields.Boolean("Open file in the same tab")
|
||||
|
||||
internal_jwt_secret = fields.Char("Internal JWT Secret")
|
||||
|
||||
@api.onchange("doc_server_public_url")
|
||||
def onchange_doc_server_public_url(self):
|
||||
if self.doc_server_public_url and not validation_utils.valid_url(self.doc_server_public_url):
|
||||
return {"warning": {"title": "Warning", "message": "Incorrect Document Server URL"}}
|
||||
|
||||
@api.model
|
||||
def save_config_values(self):
|
||||
if validation_utils.valid_url(self.doc_server_public_url):
|
||||
config_utils.set_doc_server_public_url(self.env, self.doc_server_public_url)
|
||||
if validation_utils.valid_url(self.doc_server_odoo_url):
|
||||
config_utils.set_doc_server_odoo_url(self.env, self.doc_server_odoo_url)
|
||||
if validation_utils.valid_url(self.doc_server_inner_url):
|
||||
config_utils.set_doc_server_inner_url(self.env, self.doc_server_inner_url)
|
||||
config_utils.set_jwt_secret(self.env, self.doc_server_jwt_secret)
|
||||
config_utils.set_jwt_header(self.env, self.doc_server_jwt_header)
|
||||
config_utils.set_demo(self.env, self.doc_server_demo)
|
||||
config_utils.set_certificate_verify_disabled(self.env, self.doc_server_disable_certificate)
|
||||
config_utils.set_same_tab(self.env, self.same_tab)
|
||||
|
||||
def set_values(self):
|
||||
res = super().set_values()
|
||||
|
||||
current_demo_state = config_utils.get_demo(self.env)
|
||||
current_public_url = config_utils.get_doc_server_public_url(self.env)
|
||||
current_odoo_url = config_utils.get_base_or_odoo_url(self.env)
|
||||
current_inner_url = config_utils.get_doc_server_inner_url(self.env)
|
||||
current_jwt_secret = config_utils.get_jwt_secret(self.env)
|
||||
current_jwt_header = config_utils.get_jwt_header(self.env)
|
||||
current_disable_certificate = config_utils.get_certificate_verify_disabled(self.env)
|
||||
|
||||
current_same_tab = config_utils.get_same_tab(self.env)
|
||||
|
||||
settings_changed = (
|
||||
self.doc_server_public_url != current_public_url
|
||||
or self.doc_server_odoo_url != current_odoo_url
|
||||
or self.doc_server_inner_url != current_inner_url
|
||||
or self.doc_server_jwt_secret != current_jwt_secret
|
||||
or self.doc_server_jwt_header != current_jwt_header
|
||||
or self.doc_server_demo != current_demo_state
|
||||
or self.doc_server_disable_certificate != current_disable_certificate
|
||||
or self.same_tab != current_same_tab
|
||||
)
|
||||
|
||||
if settings_changed:
|
||||
if not current_demo_state and not self.doc_server_demo:
|
||||
validation_utils.settings_validation(self)
|
||||
self.save_config_values()
|
||||
|
||||
return res
|
||||
|
||||
def get_values(self):
|
||||
res = super().get_values()
|
||||
|
||||
doc_server_public_url = config_utils.get_doc_server_public_url(self.env)
|
||||
doc_server_odoo_url = config_utils.get_base_or_odoo_url(self.env)
|
||||
doc_server_inner_url = config_utils.get_doc_server_inner_url(self.env)
|
||||
doc_server_jwt_secret = config_utils.get_jwt_secret(self.env)
|
||||
doc_server_jwt_header = config_utils.get_jwt_header(self.env)
|
||||
doc_server_demo = config_utils.get_demo(self.env)
|
||||
doc_server_disable_certificate = config_utils.get_certificate_verify_disabled(self.env)
|
||||
same_tab = config_utils.get_same_tab(self.env)
|
||||
|
||||
res.update(
|
||||
doc_server_public_url=doc_server_public_url,
|
||||
doc_server_odoo_url=doc_server_odoo_url,
|
||||
doc_server_inner_url=doc_server_inner_url,
|
||||
doc_server_jwt_secret=doc_server_jwt_secret,
|
||||
doc_server_jwt_header=doc_server_jwt_header,
|
||||
doc_server_demo=doc_server_demo,
|
||||
doc_server_disable_certificate=doc_server_disable_certificate,
|
||||
same_tab=same_tab,
|
||||
)
|
||||
|
||||
return res
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[build-system]
|
||||
requires = ["whool"]
|
||||
build-backend = "whool.buildapi"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# Authors
|
||||
|
||||
* Ascensio System SIA: <integration@onlyoffice.com>
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
# Change Log
|
||||
|
||||
- comment for docm, docx, dotm, dotx, odt, ott, rtf, ods, ots, xlsb, xlsm, xlsx, xltm, xltx, odp, otp, potm, potx, ppsm, ppsx, pptm, pptx, pdf
|
||||
- gdoc, gsheet, gslide
|
||||
- encrypt for docm, docx, dotm, dotx, odt, ott, ods, ots, xlsb, xlsm, xlsx, xltm, xltx, odp, otp, potm, potx, ppsm, ppsx, pptm, pptx, pdf
|
||||
- customfilter for csv, ods, ots, xlsb, xlsm, xlsx, xltm, xltx
|
||||
- review for docm, docx, dotm, dotx, odt, ott, rtf
|
||||
|
||||
## 3.1.0
|
||||
- converting slide type to txt extension
|
||||
- hml format
|
||||
- added image extensions heic, heif, webp
|
||||
|
||||
## 3.0.0
|
||||
- diagram documentType for vsdx, vssx, vstx, vsdm, vssm, vstm
|
||||
- view odg, md
|
||||
- edit xlsb
|
||||
|
||||
## 2.1.0
|
||||
- hwp, hwpx formats
|
||||
- pages, numbers, key formats
|
||||
|
||||
## 2.0.0
|
||||
- pdf documentType for djvu, docxf, oform, oxps, pdf, xps
|
||||
- fb2 additional mime
|
||||
|
||||
## 1.1.0
|
||||
- filling pdf
|
||||
- conversion formats for txt, csv
|
||||
- formats for auto conversion
|
||||
|
||||
## 1.0.0
|
||||
- formats for viewing, editing and lossy editing
|
||||
- formats for conversions
|
||||
- mime-types of formats
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
## Overview
|
||||
|
||||
This repository contains the list of file formats (electronic documents, forms, spreadsheets, presentations) supported by ONLYOFFICE editors and describes the properties of each file format type.
|
||||
|
||||
The repository is used in:
|
||||
* [Document Server integration example](https://github.com/ONLYOFFICE/document-server-integration)
|
||||
* [ONLYOFFICE addon for Plone](https://github.com/ONLYOFFICE/onlyoffice-plone)
|
||||
* [ONLYOFFICE app for Box](https://github.com/ONLYOFFICE/onlyoffice-box)
|
||||
* [ONLYOFFICE app for Confluence Cloud](https://github.com/ONLYOFFICE/onlyoffice-confluence-cloud)
|
||||
* [ONLYOFFICE app for Dropbox](https://github.com/ONLYOFFICE/onlyoffice-dropbox)
|
||||
* [ONLYOFFICE app for Mattermost](https://github.com/ONLYOFFICE/onlyoffice-mattermost)
|
||||
* [ONLYOFFICE app for Miro](https://github.com/ONLYOFFICE/onlyoffice-miro)
|
||||
* [ONLYOFFICE app for Nextcloud](https://github.com/ONLYOFFICE/onlyoffice-nextcloud)
|
||||
* [ONLYOFFICE app for Odoo](https://github.com/ONLYOFFICE/onlyoffice_odoo)
|
||||
* [ONLYOFFICE app for ownCloud](https://github.com/ONLYOFFICE/onlyoffice-owncloud)
|
||||
* [ONLYOFFICE app for Slack](https://github.com/ONLYOFFICE/onlyoffice-slack)
|
||||
* [ONLYOFFICE bot for Telegram](https://github.com/ONLYOFFICE/onlyoffice-telegram)
|
||||
* [ONLYOFFICE DocSpace](https://github.com/ONLYOFFICE/DocSpace)
|
||||
* [ONLYOFFICE Docs Integration Java SDK](https://github.com/ONLYOFFICE/docs-integration-sdk-java)
|
||||
* [ONLYOFFICE Docs Integration PHP SDK](https://github.com/ONLYOFFICE/docs-integration-sdk-php)
|
||||
* [ONLYOFFICE extension for Directus](https://github.com/ONLYOFFICE/onlyoffice-directus)
|
||||
* [ONLYOFFICE module for HumHub](https://github.com/ONLYOFFICE/onlyoffice-humhub)
|
||||
* [ONLYOFFICE plugin for Redmine](https://github.com/ONLYOFFICE/onlyoffice-redmine)
|
||||
* [ONLYOFFICE plugin for WordPress](https://github.com/ONLYOFFICE/onlyoffice-wordpress)
|
||||
|
||||
## Project info
|
||||
|
||||
ONLYOFFICE Docs (Document Server): [github.com/ONLYOFFICE/DocumentServer](https://github.com/ONLYOFFICE/DocumentServer)
|
||||
|
||||
Official website: [www.onlyoffice.com](https://www.onlyoffice.com/)
|
||||
|
||||
## Supported formats
|
||||
|
||||
**For viewing:**
|
||||
|
||||
* **WORD**: DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, GDOC, HML, HTM, HTML, HWP, HWPX, MD, MHT, MHTML, ODT, OTT, PAGES, RTF, STW, SXW, TXT, WPS, WPT, XML
|
||||
* **CELL**: CSV, ET, ETT, FODS, GSHEET, NUMBERS, ODS, OTS, SXC, XLS, XLSM, XLSX, XLT, XLTM, XLTX
|
||||
* **SLIDE**: DPS, DPT, FODP, GSLIDE, KEY, ODG, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX, SXI
|
||||
* **PDF**: DJVU, DOCXF, OFORM, OXPS, PDF, XPS
|
||||
* **DIAGRAM**: VSDM, VSDX, VSSM, VSSX, VSTM, VSTX
|
||||
|
||||
**For editing:**
|
||||
|
||||
* **WORD**: DOCM, DOCX, DOTM, DOTX
|
||||
* **CELL**: XLSB, XLSM, XLSX, XLTM, XLTX
|
||||
* **SLIDE**: POTM, POTX, PPSM, PPSX, PPTM, PPTX
|
||||
* **PDF**: PDF
|
||||
|
||||
**For editing with possible loss of information:**
|
||||
|
||||
* **WORD**: EPUB, FB2, HTML, ODT, OTT, RTF, TXT
|
||||
* **CELL**: CSV
|
||||
* **SLIDE**: ODP, OTP
|
||||
|
||||
**For editing with custom filter:**
|
||||
|
||||
* **CELL**: CSV, ODS, OTS, XLSB, XLSM, XLSX, XLTM, XLTX
|
||||
|
||||
**For reviewing:**
|
||||
|
||||
* **WORD**: DOCM, DOCX, DOTM, DOTX, ODT, OTT, RTF
|
||||
|
||||
**For commenting:**
|
||||
|
||||
* **WORD**: DOCM, DOCX, DOTM, DOTX, ODT, OTT, RTF
|
||||
* **CELL**: ODS, OTS, XLSB, XLSM, XLSX, XLTM, XLTX
|
||||
* **SLIDE**: ODP, OTP, POTM, POTX, PPSM, PPSX, PPTM, PPTX
|
||||
* **PDF**: PDF
|
||||
|
||||
**For filling:**
|
||||
|
||||
* **PDF**: PDF
|
||||
|
||||
**For encrypting:**
|
||||
|
||||
* **WORD**: DOCM, DOCX, DOTM, DOTX, ODT, OTT
|
||||
* **CELL**: ODS, OTS, XLSB, XLSM, XLSX, XLTM, XLTX
|
||||
* **SLIDE**: ODP, OTP, POTM, POTX, PPSM, PPSX, PPTM, PPTX
|
||||
* **PDF**: PDF
|
||||
|
||||
**For converting to Office Open XML formats:**
|
||||
|
||||
* **WORD**: DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, HML, HTM, HTML, HWP, HWPX, MD, MHT, MHTML, ODT, OTT, PAGES, RTF, STW, SXW, TXT, WPS, WPT, XML
|
||||
* **CELL**: CSV, ET, ETT, FODS, NUMBERS, ODS, OTS, SXC, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX
|
||||
* **SLIDE**: DPS, DPT, FODP, KEY, ODG, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX, SXI
|
||||
* **PDF**: DOCXF, OXPS, PDF, XPS
|
||||
|
|
@ -0,0 +1,597 @@
|
|||
[
|
||||
{
|
||||
"name": "doc",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/msword"]
|
||||
},
|
||||
{
|
||||
"name": "docm",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-word.document.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "docx",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]
|
||||
},
|
||||
{
|
||||
"name": "dot",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/msword"]
|
||||
},
|
||||
{
|
||||
"name": "dotm",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-word.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "dotx",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]
|
||||
},
|
||||
{
|
||||
"name": "epub",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert":["docx", "bmp", "docm", "dotm", "dotx", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/epub+zip"]
|
||||
},
|
||||
{
|
||||
"name": "fb2",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/fb2+xml", "application/x-fictionbook+xml"]
|
||||
},
|
||||
{
|
||||
"name": "fodt",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gdoc",
|
||||
"type": "word",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.document"]
|
||||
},
|
||||
{
|
||||
"name": "hml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["multipart/related"]
|
||||
},
|
||||
{
|
||||
"name": "htm",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/html"]
|
||||
},
|
||||
{
|
||||
"name": "html",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/html"]
|
||||
},
|
||||
{
|
||||
"name": "hwp",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/x-hwp"]
|
||||
},
|
||||
{
|
||||
"name": "hwpx",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/x-hwpx"]
|
||||
},
|
||||
{
|
||||
"name": "md",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/markdown"]
|
||||
},
|
||||
{
|
||||
"name": "mht",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["message/rfc822"]
|
||||
},
|
||||
{
|
||||
"name": "mhtml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["message/rfc822"]
|
||||
},
|
||||
{
|
||||
"name": "odt",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text"]
|
||||
},
|
||||
{
|
||||
"name": "ott",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text-template"]
|
||||
},
|
||||
{
|
||||
"name": "pages",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.apple.pages", "application/x-iwork-pages-sffpages"]
|
||||
},
|
||||
{
|
||||
"name": "rtf",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "txt"],
|
||||
"mime": ["application/rtf", "text/rtf"]
|
||||
},
|
||||
{
|
||||
"name": "stw",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.writer.template"]
|
||||
},
|
||||
{
|
||||
"name": "sxw",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.writer"]
|
||||
},
|
||||
{
|
||||
"name": "txt",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf"],
|
||||
"mime": ["text/plain"]
|
||||
},
|
||||
{
|
||||
"name": "wps",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-works"]
|
||||
},
|
||||
{
|
||||
"name": "wpt",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "xml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "xlsx", "bmp", "csv", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "ods", "odt", "ots", "ott", "pdf", "pdfa", "png", "rtf", "txt", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/xml", "text/xml"]
|
||||
},
|
||||
{
|
||||
"name": "csv",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "customfilter"],
|
||||
"convert": ["xlsx", "bmp", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["text/csv", "application/csv", "text/x-comma-separated-values", "text/x-csv"]
|
||||
},
|
||||
{
|
||||
"name": "et",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "ett",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "fods",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gsheet",
|
||||
"type": "word",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.spreadsheet"]
|
||||
},
|
||||
{
|
||||
"name": "numbers",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.apple.numbers", "application/x-iwork-numbers-sffnumbers"]
|
||||
},
|
||||
{
|
||||
"name": "ods",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet"]
|
||||
},
|
||||
{
|
||||
"name": "ots",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet-template"]
|
||||
},
|
||||
{
|
||||
"name": "sxc",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.sun.xml.calc"]
|
||||
},
|
||||
{
|
||||
"name": "xls",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel"]
|
||||
},
|
||||
{
|
||||
"name": "xlsb",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "xlsm",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.sheet.macroenabled.12", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
|
||||
},
|
||||
{
|
||||
"name": "xlsx",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
|
||||
},
|
||||
{
|
||||
"name": "xlt",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel"]
|
||||
},
|
||||
{
|
||||
"name": "xltm",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "xltx",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]
|
||||
},
|
||||
{
|
||||
"name": "dps",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "dpt",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "fodp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gslides",
|
||||
"type": "word",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.apple.keynote", "application/x-iwork-keynote-sffkey"]
|
||||
},
|
||||
{
|
||||
"name": "odg",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentationapplication/vnd.oasis.opendocument.graphics", "application/x-vnd.oasis.opendocument.graphics"]
|
||||
},
|
||||
{
|
||||
"name": "odp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "otp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation-template"]
|
||||
},
|
||||
{
|
||||
"name": "pot",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "potm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "potx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.template"]
|
||||
},
|
||||
{
|
||||
"name": "pps",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "ppsm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "ppsx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]
|
||||
},
|
||||
{
|
||||
"name": "ppt",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "pptm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "pptx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "sxi",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.impress"]
|
||||
},
|
||||
{
|
||||
"name": "djvu",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["image/vnd.djvu"]
|
||||
},
|
||||
{
|
||||
"name": "docxf",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf"]
|
||||
},
|
||||
{
|
||||
"name": "oform",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["pdf"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform"]
|
||||
},
|
||||
{
|
||||
"name": "oxps",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/oxps"]
|
||||
},
|
||||
{
|
||||
"name": "pdf",
|
||||
"type": "pdf",
|
||||
"actions": ["view", "edit", "comment", "fill", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/pdf", "application/acrobat", "application/nappdf", "application/x-pdf", "image/pdf"]
|
||||
},
|
||||
{
|
||||
"name": "xps",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-xpsdocument", "application/xps"]
|
||||
},
|
||||
{
|
||||
"name": "vsdx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.drawing, application/vnd.visio2013", "application/vnd.visio"]
|
||||
},
|
||||
{
|
||||
"name": "vsdm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.drawing.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vssm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.stencil.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vssx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.stencil"]
|
||||
},
|
||||
{
|
||||
"name": "vstm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.template.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vstx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.template"]
|
||||
},
|
||||
{
|
||||
"name": "bmp",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/bmp"]
|
||||
},
|
||||
{
|
||||
"name": "gif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/gif"]
|
||||
},
|
||||
{
|
||||
"name": "heiс",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/heiс"]
|
||||
},
|
||||
{
|
||||
"name": "heif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/heif"]
|
||||
},
|
||||
{
|
||||
"name": "jpg",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/jpeg"]
|
||||
},
|
||||
{
|
||||
"name": "pdfa",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["application/pdf", "application/acrobat", "application/nappdf", "application/x-pdf", "image/pdf"]
|
||||
},
|
||||
{
|
||||
"name": "png",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/png"]
|
||||
},
|
||||
{
|
||||
"name": "tif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/tif", "image/x-tif", "application/tif", "application/x-tif"]
|
||||
},
|
||||
{
|
||||
"name": "tiff",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/tiff", "image/x-tiff", "application/tiff", "application/x-tiff"]
|
||||
},
|
||||
{
|
||||
"name": "webp",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/webp"]
|
||||
},
|
||||
{
|
||||
"name": "zip",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["application/zip"]
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# Authors
|
||||
|
||||
* Ascensio System SIA: <integration@onlyoffice.com>
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
## Overview
|
||||
|
||||
Template files used to create new documents and documents with sample content in:
|
||||
|
||||
- [ONLYOFFICE app for Nextcloud](https://github.com/ONLYOFFICE/onlyoffice-nextcloud)
|
||||
- [ONLYOFFICE app for Odoo](https://github.com/onlyoffice/onlyoffice-odoo)
|
||||
- [ONLYOFFICE app for ownCloud](https://github.com/onlyoffice/onlyoffice-owncloud)
|
||||
- [ONLYOFFICE app for Pipedrive](https://github.com/onlyoffice/onlyoffice-pipedrive)
|
||||
- [ONLYOFFICE addon for Plone](https://github.com/onlyoffice/onlyoffice-plone)
|
||||
- [ONLYOFFICE Docs Integration PHP SDK](https://github.com/ONLYOFFICE/docs-integration-sdk-php)
|
||||
- [ONLYOFFICE DocSpace app for Zoom](https://github.com/onlyoffice/onlyoffice-docspace-zoom)
|
||||
- [ONLYOFFICE module for HumHub](https://github.com/ONLYOFFICE/onlyoffice-humhub)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue